文档详情

微机原理与 3-3指令系统Ⅲ算术下 .ppt

发布:2017-10-01约6.49千字共39页下载文档
文本预览下载声明
微机原理与接口技术 第3章 指令系统 Ⅲ 第二部分 8086/8088指令系统 二. 算术运算指令[下] (Arithmetic) (一)加法指令(Arithmetic) (二)减法指令(Subtraction) (三)乘法指令(Multiplication) 1、MUL 2、IMUL (四)除法指令(Division) (五)扩展指令 (六)BCD码指令 1、无符号数乘法指令MUL 格式:MUL src 功能:字节乘法 (AX)←(src)×(AL) 字乘法 (DX:AX)←(src)×(AX) 操作步骤①(src)×(AL)或者(src)×(AX ) ②积送入(AX)或者(DX:AX) ③置FR中CF、OF标志位 注解: (1)能完成8位、16位乘法运算。被乘数都是隐含操作数,乘数在指令中显式地写出来。CPU会根据乘数是8位还是16位操作数,来自动选用被乘数:AL、AX。 (2)操作数:通用寄存器、存储器,不能是立即数。 (3)影响标志寄存器CF和OF (AF、PF、ZF、SF无定义) 字节乘:若乘积高8位AH≠0,则CF=1,OF=1; 若乘积高8位AH= 0,则CF=0,OF=0; 字 乘:若乘积高16位DX≠0,则CF=1,OF=1; 若乘积高16位DX=0,则CF=0,OF=0; 例:MUL BX ;(DX:AX)←(AX)×(BX) MUL BYTE PTR [SI] ;(AX)←(AL)×(DS:[SI]) 下面的指令是否正确 ? MUL [SI] MUL 2[DI] MUL [BX],[SI] MUL 20H MUL AX ANSWERA: ×类型不明确 ×类型不明确 ×单操作数指令 ×不为立即数 √ 2、带符号数乘法指令IMUL 格式: IMUL src 功能:(AX)←(AL)×(src)(字节乘法) (DX:AX)←(AX)×(src)(字乘法) 如: MOV AX,0001H MOV AL,01H MOV BX,0811H MOV BL,11H IMUL BX IMUL BL 注解: (1)IMUL R; 8位: (AX) ? (R)?(AL) ; 16位:(DX:AX) ? (R)?(AX) IMUL M; 8位: (AX) ? (M)?(AL); 16位:(DX:AX) ? (M)?(AX) (2)影响FR中CF和OF(AF、PF、ZF、SF无定义)。 若结果AH或DX包含有效值,不只是低半部分的符号扩展,则OF=1、CF=1;否则OF=0、CF=0 。 (3)MUL与IMUL唯一区别在于:数据的最高位是作为“数值”参与运算,还是作为“符号位”参与运算 例1:计算(254)×17=4318 的程序。 MOV AL,0FEH ;(AL)=0FEH ,无符号数254 MOV CL,11H ;(CL)=11H MUL CL ;(AX)=10DEH,即:4318 运算过程为: 1111 1110 ×0001 0001 1111 1110 + 1111 1110    0001 0000 1101 1110 1 0 D E H 例2:计算(-2)×17=-34 的程序。 MOV AL,0FEH ;(AL)=0FEH ,是-2的补码 MOV CL,11H ;(CL)=11H IMUL CL ;(AX)=FFDEH,即:-34的
显示全部
相似文档