- 47
- 0
- 约3.85千字
- 约 3页
- 2017-06-21 发布于河南
- 举报
80X86汇编语言程序设计 第二章⑥.8086 8088指令系统(三)乘除运算指令
80X86汇编语言程序设计
第二章 8086/8088寻址方式和指令系统
(三)乘除运算指令
乘除运算指令分为无符号数运算和有符号数运算指令,这点与加减法运算指令不同。乘除运算指令对标志位的影响有些特别。
1.乘法指令
在乘法指令中,一个操作数总是隐含在寄存器AL(8位数相乘)或者AX(16位数相乘)中,另一个操作数可以采用除立即数方式以外的任一种寻址方式。
(1)无符号数乘法指令MUL(MULtiply)
格式:MUL OPRD
在乘法指令里,目的操作数必须是累加器。两个8位数相乘得到的是16位乘积存放在AX中,两个16位数相乘得到的是32位乘积存放在DX、AX中,DX存放高位字,AX存放低位字。如果乘积结果的高半部分(字节相乘时为AH,在字相乘时为DX)不等于零,则标志CF=1,OF=1,否则CF=0,OF=0。所以如果CF=1和OF=1表示在AH或DX中含有结果的有效数。该指令对其他标志位无定义。
(2)有符号数乘法指令IMUL(slgnedMULtiply)
格式:IMUL OPRD
这条指令把被乘数和乘数均作为有符号数,此外与指令MUL完全类似。如果乘积结果的高半部分(字节相乘时为AH,在字相乘时为DX)不是低半部分的符号扩展,则标志CF=1,OF=1;否则否则CF=0,OF=0。所以如果CF=1和OF=1表示在AH或DX中含有结果的有效数。该指令对其他标志位无定
原创力文档

文档评论(0)