freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微型計(jì)算機(jī)系統(tǒng)與接口:ch(9)-文庫(kù)吧資料

2024-10-24 14:49本頁(yè)面
  

【正文】 mov ax, data 1 mov ds, ax 1 mov es, ax 53 ( 3) 建立宏指令庫(kù) macro1 MACRO [啞元表 ] …… ENDM macro2 MACRO [啞元表 ] …… ENDM …… macroN MACRO [啞元表 ] …… ENDM EDIT include …… macro1 [實(shí)元表 ] …… macro2 [實(shí)元表 ] …… macroN [實(shí)元表 ] …… purge macroN EDIT MACRO . MAC 調(diào)用宏庫(kù): 54 ● 鍵盤(pán) I/O ● 顯示器 I/O 二、使用鍵盤(pán)和顯示器 55 子程序調(diào)用 主程序 …… CALL SUBP …… 子程序 …… …… RET DOS/BIOS調(diào)用 源程序 …… INT n …… DOS/BIOS 例行程序 …… …… IRET 實(shí)現(xiàn)機(jī)制不同 56 例: DOS調(diào)用:鍵盤(pán)輸入,顯示輸出 MOV AH, 01 。 .SALL : 在 LST清單中不列出任何宏展開(kāi)后的 語(yǔ)句 ?!? ENDM 宏調(diào)用 : STRG 25- 1 STRG % 25 - 1 宏展開(kāi): 1 DB ‘25- 1’ 1 DB ‘24’ 50 宏定義: msg macro count,string msgamp。xyz’ endm 宏調(diào)用: msg ary,1,wang …… msg ary,2,zhang 宏展開(kāi): 1 ary1 db ‘HELLO ’ …… 1 ary2 db ‘HELLO ’ 49 例:定義宏指令 STRG,實(shí)現(xiàn)存儲(chǔ)字符串的功能 宏定義: STRG MACRO STRING DB ‘a(chǎn)mp。cond lab endm 宏定義: 宏調(diào)用: leap z, there …… leap nz, here 宏展開(kāi): 1 jz there …… 1 jnz here 48 宏定義: msg macro lab,num,xyz labamp。 % 表達(dá)式 匯編程序?qū)?%后面的表達(dá)式轉(zhuǎn)換為數(shù)字,并在展開(kāi)期間用這個(gè)數(shù)取代啞元。 注釋 宏展開(kāi)時(shí), 。 符號(hào) 2 宏展開(kāi)時(shí) ,合并前后兩個(gè)符號(hào)形成一個(gè)符號(hào) 。 。 宏定義體 ENDM 宏調(diào)用: (必須先定義后調(diào)用) macro_name [實(shí)元表 ] 。 匯編語(yǔ)言程序 指令 偽指令 ( 偽操作 ) 宏指令 41 優(yōu): 模塊化 省內(nèi)存 缺: 開(kāi)銷(xiāo)大 宏定義: Q macro x,y … endm 主程序: … Q a, b … Q c, d … Q e, f … 目標(biāo)程序: … … … … … … 優(yōu): 參數(shù)傳送簡(jiǎn)單,執(zhí)行效率高 缺: 占用內(nèi)存空間大 主程序: … CALL … CALL … CALL … 子程序: … … … RET 42 宏展開(kāi): 匯編程序把 宏調(diào)用 展開(kāi) 宏定義體 復(fù)制到宏指令位置 ,實(shí)參代虛參 LOCAL中的標(biāo)號(hào) ??0000~ ??ffff 宏定義: macro_name MACRO [啞元表 ] 。 宏指令 : 用戶自定義的指令。(si)2 loop L continue: …… routine1: …… routine2: …… 26 ? 過(guò)程定義偽操作 ? 子程序的調(diào)用與返回 ? 保存與恢復(fù)寄存器 ? 子程序的參數(shù)傳送 ? 子程序的嵌套與遞歸 27 (1) 過(guò)程定義偽操作 過(guò)程名 PROC NEAR ( FAR ) 過(guò)程名 ENDP ( 1) NEAR屬性:調(diào)用程序和子程序在同一代碼段中 ( 段內(nèi)調(diào)用 ) ( 2) FAR屬性:調(diào)用程序和子程序不在同一代碼段中 ( 段間調(diào)用 ) . . . 28 code segment main proc far …… call subr1 …… ret main endp subr1 proc near …… ret subr1 endp code ends segx segment subt proc far …… ret subt endp …… call subt …… segx ends segy segment …… call far ptr subt …… segy ends 29 子程序調(diào)用: 隱含使用堆棧保存返回地址 call near ptr subp (1) 保存返回地址 (2) 轉(zhuǎn)子程序 call far ptr subp (1) 保存返回地址 (2) 轉(zhuǎn)子程序 子程序返回: ret (2) 子程序的調(diào)用與返回 (SP)→ (IP) (IP) (CS) (SP)→ 30 (3) 保存與恢復(fù)寄存器 subt proc far push ax push bx push cx push dx …… …… pop dx pop cx pop bx pop ax ret subt endp 31 (a) 利用寄存器傳送參數(shù) (b) 利用存儲(chǔ)器傳送參數(shù) (c) 通過(guò)地址表傳送參數(shù)地址 (d) 利用堆棧傳送參數(shù)或參數(shù)地址 (4) 子程序的參數(shù)傳送 32 例 1:累加數(shù)組中的元素 ( 通過(guò)地址表傳送參數(shù)地址 ) data segment ary dw 10,20,30,40,50,60,70,80,90,100 count dw 10 sum dw ? table dw 3 dup (?) 。邏輯左移 jnc sub1 jmp word ptr [bx][si] 。邏輯右移 jnc add1 jmp branch_table[si] 。邏輯右移 jnc add1 jmp word ptr[bx] 。個(gè)數(shù) mov high_idx, bx mov bx, di mid: mov cx, low_idx mov dx, high_idx cmp cx, dx ja no_match add cx, dx shr cx, 1 mov si, cx shl si, 1 22 例 3. 根據(jù) AL 寄存器中哪一位為 1( 從低位到高位 ) , 把程序轉(zhuǎn)移到 8 個(gè)不同的程序分支 branch_table dw routine1 dw routine2 dw routine3 dw routine4 dw routine5 dw r
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1