博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十章 call和ret指令
阅读量:5334 次
发布时间:2019-06-15

本文共 608 字,大约阅读时间需要 2 分钟。

目录

这章主要学习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, 100mov bl, 10mul bl  ;结果AX中保存1000(注意是10进制); 16位乘法mov ax, 1000mov bx, 2000mul bx  ;结果AX中保存8480H,DX中保存001EH

课后检测点

转载于:https://www.cnblogs.com/codeleven/p/10963684.html

你可能感兴趣的文章
python中numpy.r_和numpy.c_
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>
函数之匿名函数
查看>>
shell习题第16题:查用户
查看>>
Redis常用命令
查看>>
2018.11.06 bzoj1040: [ZJOI2008]骑士(树形dp)
查看>>
2019.02.15 bzoj5210: 最大连通子块和(链分治+ddp)
查看>>
redis cluster 集群资料
查看>>
微软职位内部推荐-Sr. SE - Office incubation
查看>>
微软职位内部推荐-SOFTWARE ENGINEER II
查看>>
centos系统python2.7更新到3.5
查看>>
C#类与结构体究竟谁快——各种函数调用模式速度评测
查看>>
我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
查看>>
poj 题目分类
查看>>
windows 安装yaml支持和pytest支持等
查看>>
读书笔记:季羡林关于如何做研究学问的心得
查看>>
面向对象的优点
查看>>
套接口和I/O通信
查看>>