第十章 call和ret指令

2022-09-19 07:51:09 字數 913 閱讀 3267

目錄mul指令

課後檢測點

這章主要學習callret兩個指令,前者的作用相當於現在高階語言的方法呼叫,後者相當於高階語言的方法返回

call指令分為了根據偏移量轉移根據目的地轉移兩種格式

call (16位暫存器)

call 標號

call word ptr (記憶體單元位址)

call far ptr 標號

call dword ptr (記憶體單元位址)

根據偏移量轉移的僅儲存ip,且轉移範圍是-32768~32767

根據目的地轉移的會儲存cs和ip

都是先進行ipcs和ip儲存再跳轉

mul指令分為了8位乘法以及16位乘法

預設al儲存乙個8位數,另乙個數儲存在8位reg 或 記憶體位元組單元中,結果儲存在ax暫存器裡

預設ax儲存乙個16位數,另乙個數儲存在16位reg 或 記憶體字單元中,結果高位儲存到dx裡,低位儲存到ax裡

; 8位乘法

mov al, 100

mov bl, 10

mul bl ;結果ax中儲存1000(注意是10進製)

; 16位乘法

mov ax, 1000

mov bx, 2000

mul bx ;結果ax中儲存8480h,dx中儲存001eh

第十章 檢測點

彙編學習筆記 第十章 CALL和RET指令

call和ret指令都是轉移指令,它們都修改cs和ip。經常被共同用於實現子程式的設計。這一章,我們講解call和ret指令的原理 retf指令用棧中的資料,修改cs和ip的內容,從而實現遠轉移 cpu執行call指令時,進行兩步操作 call指令不能實現短轉移,除此之外,call與jmp類似。接下...

《組合語言》第十章 CALL和RET指令

第10章 call和ret指令 ret指令用棧中的資料,修改ip的內容,從而實現近轉移。retf指令用棧中的資料,修改cs和ip內容,從而實現遠轉移。cpu執行ret指令時,進行下面兩步操作 ip ss 16 sp sp sp 2 這是將棧頂的資料存入ip,然後將該資料進行出棧操作。cpu執行ret...

組合語言第十章call和ret指令

ret 指令用棧中的資料,替換掉ip裡的內容,從而實現近轉移。retf 指令則是修改cs和ip的內容實現遠轉移 return far ret指令 ip ss 16 sp sp sp 2 retf指令 ip ss 16 sp call指令兩個步驟 將當前的ip或ip和cs壓入棧中 sp sp 2 ss...