第十章 call和ret指令


这章主要学习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

课后检测点

第十章 检测点

posted @ 2019-06-02 17:59  CoDeleven  阅读(428)  评论(0编辑  收藏  举报