目录
这章主要学习call 和 ret两个指令,前者的作用相当于现在高级语言的方法调用,后者相当于高级语言的方法返回
call指令
call指令分为了 根据偏移量转移 和 根据目的地转移 两种格式
根据偏移量转移
- call (16位寄存器)
- call 标号
- call word ptr (内存单元地址)
根据目的地转移
- call far ptr 标号
- call dword ptr (内存单元地址)
差异
- 根据偏移量转移的仅保存IP,且转移范围是 -32768~32767
- 根据目的地转移的会保存CS和IP
相同点
- 都是先进行IP或 CS和IP 保存再跳转
mul指令
mul指令分为了 8位乘法 以及 16位乘法
8位乘法
默认AL保存一个 8位数,另一个数保存在 8位reg 或 内存字节单元中,结果保存在AX寄存器里
16位乘法
默认AX保存一个 16位数,另一个数保存在 16位reg 或 内存字单元中,结果高位保存到DX里,低位保存到AX里
示例
; 8位乘法mov al, 100mov bl, 10mul bl ;结果AX中保存1000(注意是10进制); 16位乘法mov ax, 1000mov bx, 2000mul bx ;结果AX中保存8480H,DX中保存001EH