第十章 call和ret指令

博客主要介绍了call和ret指令,call指令相当于高级语言的方法调用,分为根据偏移量转移和根据目的地转移两种格式,还说明了二者差异与相同点;同时介绍了mul指令,分为8位乘法和16位乘法,并说明了运算规则。

这章主要学习callret两个指令,前者的作用相当于现在高级语言的方法调用,后者相当于高级语言的方法返回

call指令

call指令分为了 根据偏移量转移根据目的地转移 两种格式

根据偏移量转移

  1. call (16位寄存器)
  2. call 标号
  3. call word ptr (内存单元地址)

根据目的地转移

  1. call far ptr 标号
  2. call dword ptr (内存单元地址)

差异

  1. 根据偏移量转移的仅保存IP,且转移范围是 -32768~32767
  2. 根据目的地转移的会保存CS和IP

相同点

  1. 都是先进行IPCS和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://www.cnblogs.com/codeleven/p/10963684.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值