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

正文內(nèi)容

微型計(jì)算機(jī)系統(tǒng)與接口:ch(9)(編輯修改稿)

2024-11-14 14:49 本頁面
 

【文章內(nèi)容簡介】 …… 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) 通過地址表傳送參數(shù)地址 (d) 利用堆棧傳送參數(shù)或參數(shù)地址 (4) 子程序的參數(shù)傳送 32 例 1:累加數(shù)組中的元素 ( 通過地址表傳送參數(shù)地址 ) data segment ary dw 10,20,30,40,50,60,70,80,90,100 count dw 10 sum dw ? table dw 3 dup (?) 。 地址表 data ends code segment main proc far assume cs:code, ds:data push ds sub ax, ax push ax mov ax, data mov ds, ax mov table, offset ary mov table+2, offset count mov table+4, offset sum mov bx, offset table call proadd ret main endp 33 proadd proc near push ax push cx push si push di mov si, [bx] mov di, [bx+2] mov cx, [di] mov di, [bx+4] xor ax, ax next: add ax, [si] add si, 2 loop next mov [di],ax pop di pop si pop cx pop ax ret proadd endp code ends end main 30d 40d 50d 60d 70d 80d 90d 100d 10d ary? 20d 10d count? sum? table? 0000 0014 0016 0018 0000 0014 0016 ?(bx) (si) (di) 550d 34 例 2:累加數(shù)組中的元素( 通過堆棧傳送參數(shù)地址 ) data segment ary dw 10,20,30,40,50,60,70,80,90,100 count dw 10 sum dw ? data ends stack segment dw 100 dup (?) tos label word stack ends 35 code1 segment main proc far assume cs:code1, ds:data, ss:stack start: mov ax, stack mov ss, ax mov sp, offset tos mov ax, data mov ds, ax mov bx, offset ary push bx mov bx, offset count push bx mov bx, offset sum push bx call far ptr proadd mov ax, 4c00h int 21h main endp code1 ends 36 code2 segment assume cs:code2 proadd proc far push bp mov bp, sp push ax push cx push si push di mov si,[bp+0ah] mov di,[bp+8] mov cx,[di] mov di,[bp+6] code2 ends end start xor ax, ax next: add ax, [si] add si, 2 loop next mov [di],ax pop di pop si pop cx pop ax pop bp ret 6 proadd endp (ip) (cs) sum count array ? (di) (si) (cx) (ax) (sp)? (bp)? (bp) (bp)+0ah? (bp)+8? (bp)+6? tos 37 子程序的嵌套: 主程序 子程序 A 子程序 B 遞歸子程序: n! = n ( n 1 ) ( n 2 ) …1 3! = 3 2 1= 6 (5) 子程序的嵌套與遞歸調(diào)用 …… call proc_A …… proc_A …… call proc_B …… Call proc_A ret proc_B …… ret 38 fact proc near push ax push bp mov bp, sp mov ax, [bp+6] cmp ax, 0 jne fact1 inc ax jmp exit fact1: dec ax push ax call fact pop ax mul word ptr[bp+6] exit: mov [bp+6], ax pop bp pop ax ret fact endp 例 3. 計(jì)算 n! mov bx, n_v push bx call fact pop result 主程序: ? (BP) (AX) (IP) 0 (BP) (AX) (IP) 1 (BP) (AX) (IP) 2 (BP) (AX) (IP) 3 ? ? ? 39 ? 宏 匯編 ? 宏匯編偽操作 ? 建立宏指令庫 40 ( 1) 宏匯編 宏 : 源程序中一段有獨(dú)立功能的程序代碼。 宏指令 : 用戶自定義的指令。在編程時(shí),將多次 使用的功能用一條宏指令來代替。 匯編語言程序 指令 偽指令 ( 偽操作 ) 宏指令 41 優(yōu): 模塊化 省內(nèi)存 缺: 開銷大 宏定義: Q macro x,y … endm 主程序: … Q a, b … Q c, d … Q e, f … 目標(biāo)程序: …
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1