汇编的除法和乘法
2015-09-26 13:34
851 查看
无符号数除法指令 DIV(DIVision)
格式: DIV OPRD
----
功能: 实现两个无符号二进制数除法运算.
----
说明: 1. 其中OPRD为任一个通用寄存器或存储器操作数.
----
2. 字节相除,被除数在AX中;字相除,被除数在DX,AX中,除数在OPRD中.
字节除法: (AL)<--(AX)/OPRD,(AH)<--(AX)MOD OPRD
字除法: (AX)<--(DX)(AX)/OPRD,(DX)<--(DX)(AX) MOD OPRD
无符号数乘法指令 MUL(MULtiply)
格式: MUL OPRD
----
功能: 乘法操作.
----
说明: 1. OPRD为通用寄存器或存储器操作数.
----
2. OPRD为源操作数,即作乘数.目的操作数是隐含的,即被乘数总是指定为累加器AX 或AL的内容.
格式: DIV OPRD
----
功能: 实现两个无符号二进制数除法运算.
----
说明: 1. 其中OPRD为任一个通用寄存器或存储器操作数.
----
2. 字节相除,被除数在AX中;字相除,被除数在DX,AX中,除数在OPRD中.
字节除法: (AL)<--(AX)/OPRD,(AH)<--(AX)MOD OPRD
字除法: (AX)<--(DX)(AX)/OPRD,(DX)<--(DX)(AX) MOD OPRD
3. 示例: DIV BETA [BX] DIV CX;商在AX中,余数在DX中 DIV BL;商在AL中,余数在AH中 4. 当除法的商产生溢出时,例如字节除法的商大于0FFH,字除法的商大于0FFFFH将 置溢出标志位OF=1,并产生一个类型0溢出中断. 5. 本指令不产生有效的标志位。
无符号数乘法指令 MUL(MULtiply)
格式: MUL OPRD
----
功能: 乘法操作.
----
说明: 1. OPRD为通用寄存器或存储器操作数.
----
2. OPRD为源操作数,即作乘数.目的操作数是隐含的,即被乘数总是指定为累加器AX 或AL的内容.
3. 16位乘法时,AX中为被乘数.8位乘法时,AL为被乘数.当16位乘法时,32位的乘积 存于DX及AX中;8位乘法的16位乘积存于AX中. 4. 操作过程: 字节相乘:(AX)<--(AL)*OPRD,当结果的高位字节(AH)不等于0时,则 CF=1、OF=1.字相乘: (DX)(AX)<--(AX)*OPRD,当(DX)不等0时,则CF=1、OF=1 5. 示例 1: MUL BETA[BX] MUL DI MUL BYTE PTR ALFA 示例 2: 设在W1和W2字单元中各有一个16位数,若求其乘积并存于W3开始的字单 元中,可用以下指令组实现: MOV AX,W1 MUL W2 MOV W3,AX MOV W3+2,DX
相关文章推荐
- java基本数据类型之整数型取值范围速算方法
- Machine Learning笔记(三) 多变量线性回归
- oracle性能优化四——数据库系统优化之linux下的tora监控
- 时间类
- JavaScript高级程序设计之基本概念之相等操作符第3.5.8讲笔记
- 找书——基础学习和深入学习
- Jdbc 批处理
- Swift - 九宫格图片缩放总结样例
- java中TCP之TCP实现
- 图像处理中的数学原理详解(已发布的部分链接整理)
- win10系统滚回到win8.1系统后磁贴应用出现异常打不开的解决方法
- JavaScript高级程序设计之基本概念之相等操作符第3.5.7讲笔记
- java线程池newCachedThreadPool
- 设置centos 7 开机不载入图形界面
- 异常总结--org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException错误
- 尘误解
- java中TCP之TCP实现
- oracle客户端和pl/sql的斗争
- 抽象语法树是什么?
- 【Java】java作用域public ,private ,protected 及不写时的区别