【笨鸟先飞 汇编挖坑】第十天

模块化程序设计

call跳出 ret 返回

call ret指令

ret:

返回到栈中存放地址

  • ret:修改IP内容
  • retf:修改csip的内容

call:

依据位移进行转移的 call 指令

  • (sp)=(sp)-2
    ((ss)*16+(sp))=(ip)
  • (ip)=(ip)+16位位移

转移的目的地址在指令中的call指令

  • (ip)=(ip)-2
    ((ss)*16+(sp))=(cs)
    (sp)=(sp)-2
    ((ss)*16+(sp))=(ip)
  • (cs)=标号所在段的段地址
    (ip)=标号在段中的偏移地址
    转移地址在寄存器中的call指令
  • (sp)=(sp)-2
    ((ss)*16+(sp))=(ip)
    (ip)=(16位 reg)

转移地址在内存中的call指令

  • call word ptr 内存单元地址
  • call dword ptr 内存单元地址

callret的配合使用

~

mul指令

类似于除法 div

  • 两个相乘的数:要么都是8位,要么16位
    如果都是8位,一个默认放在 AL 中,另外放在8位reg或者内存字节单位中;如果是16位,一个默认在AX中,另一位放在16位reg或者内存字节单位
  • 结果:如果是 8 位乘法,结果默认放在AX中;如果是 16 位乘法,结果高位默认在DX中存放,低位在AX中放
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值