指令
ret
形式:ret
说明:栈顶出栈到IP指令
retf
形式:retf
说明:先将栈顶出栈到IP,再将栈顶出栈到CS指令·call·
形式 | 说明 | 类型 |
---|---|---|
call 标号 | 将call指令后的IP压栈,再将IP指向标号处 | 段内近转移 |
call far 标号 | 分别将call指令后的CS、IP压栈,再CS:IP指向标号处 | 段间转移 |
call reg | (IP) = (reg) | 段内近转移 |
call word ptr 内存单元地址 | (IP) = (内存单元地址) | 段内近转移 |
call dword ptr 内存单元地址 | (IP) = (内存单元地址), (CS) = (内存单元地址+2) | 段间转移 |
-
call
和ret
的配合使用函数assume cs:code, ds:data, ss:stack data segment *** data ends stack segment *** stack ends code segment *** call s **** s: push 相关寄存器 *** pop 相关寄存器 ret
-
指令
mul
形式:mul reg 或者 mul 内存单元
说明:- 都是8位, 一个默认放在AL中,另一个为8位reg或者字节单元,结果存在AX中
- 都是16位,一个默认放在AX中,另一个为16位reg或者字单元,结果的高位存在DX,低位存在AX中