第十章 call和ret指令
这章主要学习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, 100
mov bl, 10
mul bl ;结果AX中保存1000(注意是10进制)
; 16位乘法
mov ax, 1000
mov bx, 2000
mul bx ;结果AX中保存8480H,DX中保存001EH
课后检测点
如果我的文章对您有用,请扫码领个红包支持一下~
![](https://blog-1252749790.cos.ap-shanghai.myqcloud.com/%E8%B5%9A%E8%B5%8F%E9%87%91.png)