組合語言 call 指令

2021-10-09 09:21:14 字數 444 閱讀 2167

call指令經常跟ret指令配合使用,因此cpu執行call指令,進行兩步操作:

將當前的 ip 或 cs和ip 壓入棧中;

轉移(jmp)。

call指令不能實現短轉移,除此之外,call指令實現轉移的方法和 jmp 指令的原理相同。

call 標號(近轉移)

cpu執行此種格式的call指令時,相當於進行 push ip jmp near ptr 標號

call far ptr 標號(段間轉移)

cpu執行此種格式的call指令時,相當於進行:push cs,push ip jmp far ptr 標號

call 16位暫存器

cpu執行此種格式的call指令時,相當於進行: push ip jmp 16位暫存器

call word ptr 記憶體單元位址

組合語言 CALL 和RET指令

call和ret指令都是轉移指令,它們都修改ip,但同時修改cs和ip。ret指令用棧中的資料,修改ip的內容,從而實現近轉移。retf指令用棧中的資料,修改cs和ip的內容,從而實現遠轉移。cpu執行ret指令時,進行下面兩步操作 ip ss 16 sp sp sp 2 cpu執行retf指令時,...

組合語言 call和ret指令

call和ret指令都是轉移指令,它們都修改ip,或同時修改cs和ip。它們經常被共同用來實現子程式的設計。ret指令用棧中的資料,修改ip的內容,從而實現近轉移 retf指令用棧中的資料,修改cs和ip的內容,從而實現遠轉移 cpu執行ret指令時,進行下面兩步操作 cpu執行retf指令時,進行...

組合語言之call和ret指令

ret指令用棧中的資料,修改ip的內容,從而實現近轉移 retf指令用棧中的資料,修改cs和ip的內容,從而實現遠轉移 cpu在執行ret指令時,進行下面兩步操作 ip ss 16 sp sp sp 2使用組合語言表示就是 pop ipassume cs code stack segment db ...