- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术算术运算指令 3-6
乘法指令对CF/OF的影响: 0 乘积的高一半为零 1 否则 MUL指令: CF/OF = 0 乘积的高一半是低一半的符号扩展 1 否则 IMUL指令: CF/OF = 例:(AL) = A5H(-5BH的补码),(BL) = 11H (1) MUL BL ; (AX) ? (AL)×(BL) ; A5×11= 0AF5 ; (AX) = 0AF5H CF=OF=1 (2) IMUL BL ; (AX) ? (AL)×(BL) ; A5×11 ? -5B×11=-060B ? F9F5(补) ; (AX) = F9F5H CF=OF=1 1、加法指令 2、减法指令 3、乘法指令 4、除法指令 5、十进制调整指令 无符号数除法 有符号数除法 除法指令 二 算术运算指令 进行除法时:16位/8位→8位商,8位余数 32位/16位→16位商,16位余数 对被除数、商及余数存放有如下规定: 被除数 商 余数 16位/8位 AX AL AH 字节操作 32位/16位 DX:AX AX DX 字操作 4.1 除法指令——无符号数的除法指令 格式: DIV SRC 操作:字节操作 (AL) ? (AX) / (SRC) 的商 (AH) ? (AX) / (SRC) 的余数 字操作 (AX) ? (DX, AX) / (SRC) 的商 (DX) ? (DX, AX) / (SRC) 的余数 例: DIV CL DIV WORD PTR[BX] 4.2 除法指令——有符号数的除法指令 格式: IDIV SRC 操作与DIV类似。商及余数均为有符号数,且余数符号总是与被除数符号相同。 注意: 对于DIV/IDIV指令 AX(DX:AX)为隐含的被除数寄存器。 AL(AX)为隐含的商寄存器。 AH(DX)为隐含的余数寄存器。 SRC不能为立即数。 对所有标志位均无定义。 关于除法操作中的字长扩展问题 除法运算要求被除数字长是除数字长的两倍,若不满足则需对被除数进行扩展,否则产生错误。 1)无符号数除法扩展,只需将AH或DX清零即可。 2)有符号数而言,则是符号位的扩展。可使用符号 扩展指令CBW和CWD。 格式:CBW 功能:将AL中的符号位扩展到AH中,即当AL80H,执行CBW后,AH=0; AL=80H时,执行CBW指令后,AH=FFH。 注意:不影响标志位 4.3 扩展指令 格式:CWD 功能:将AX中的符号位扩展到DX中,即当AX8000H,执行CWD后,DX=0; AX=8000H时,执行CWD指令后,DX=FFFFH。 注意:不影响标志位 例题:二进制四则混合算术运算 试计算: AX (V-(X*Y+Z-540))/X 之商 DX 余数 (X ,Y ,Z ,V 均为有符号字变量) MOV AX, X; IMUL Y; MOV CX, AX; MOV BX, DX; MOV AX, Z; CWD ADD CX, AX; ADC BX, DX; 将符号扩展后的Z加到 BX:CX中的乘积中去 X*Y,结果在DX:AX中 将乘积存在BX:CX中 SUB CX, 540; SBB BX, 0; MOV AX, V; CWD; SUB AX, CX; SBB DX, BX; IDIV X; 从BX:CX中减去540 从符号扩展后的V中减去(BX:CX)并 除以X,商在AX中,余数在DX中。 二 算术运算指令 1 加法指令 2 减法指令 3 乘法指令 4 除法指令 5 十进制调整指令 十进制调整指令 组合BCD码的加法十进制调整指令DAA 组合BCD码
文档评论(0)