- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
【例】 设AL=25H,BL=37H,问执行下列指令后,AL=? CF=? ADD AL,BL DAA 0010 0101 +0011 0111 0101 1100 大于9 +06H 修正 0101 1100 +0000 0110 0110 0010 =62BCD 故:AL=62BCD, CF=0 【例】CPU执行下列指令后,问AL=? CF=? MOV AL,68H ADD AL,89H DAA 0110 1000 +1000 1001 1111 0001 AF=1 +06H +60H 修正 1111 0001 +0110 0110 1 0101 0111 =1 57BCD 故:AL=57BCD, CF=1 大于9 CF=1 【例】设AX和BX中存放着两个4位的压缩型BCD码,求两数之和,并将和放在AX中(一个16位的寄存器中可以存放一个4位的BCD码)。 MOV AX, 4567H MOV BX, 3758H ADD AL,BL ;低字节相加 DAA ;低字节调整 MOV CL,AL ;空出AL MOV AL,AH ADC AL,BH ;高字节相加 DAA ;高字节调整 MOV AH,AL MOV AL,CL 16、加法的非压缩BCD码调整指令 AAA 格式:AAA 功能:对AL中的非压缩BCD码加法结果进行调整。 说明:必须紧跟在ADD/ADC指令之后出现。 AL低4位 >9 AF=1 AL←AL+06H AH←AH+1 AL←AL AND 0FH AF=CF=1 调 整 算 法 否则 AL←AL AND 0FH AF=CF=0 AL/AH为隐含操作数,且AL为非压缩BCD码 AF和CF标志受影响,其余标志位不受影响 1 2 8086CPU的指令格式 8086CPU的指令系统 3 8086CPU的寻址方式 第三章 指令系统 指令系统 指令分类 数据传送指令 算术运算指令 逻辑运算与移位指令 串操作指令 控制转移指令 处理机控制指令 算术运算指令(20条) 实现加法、减法、乘法、除法运算,包括无符号数和有符号数的8位和16位二进制运算以及无符号数的BCD码运算和BCD码调整 大部分指令影响标志寄存器中的状态标志位 分类 功能 助记符格式 操作 状态标志位 O S Z A P C 加法 (3条) 加法 带进位加 加1 ADD d,s ADC d,s INC d d←d+s d←d+s+CF d←d+1 ↑↑↑↑↑↑ ↑↑↑↑↑↑ ↑↑↑↑↑- 减法 (5条) 减法 带借位减 减1 取补 比较 SUB d,s SBB d,s DEC d NEG d CMP d,s d←d-s d←d-s-CF d←d-1 d←0-d d-s只影响标志位 ↑↑↑↑↑↑ ↑↑↑↑↑↑ ↑↑↑↑↑- ↑↑↑↑↑ 1 ↑↑↑↑↑↑ 乘法 (2条) 无符号数乘法 有符号数乘法 MUL s IMUL s AX←AL× s(字节运算),DX:AX←AX× s(字运算) 同MUL,但操作数可带符号 ↑××××↑ ↑××××↑ 除法 (2条) 无符号数除法 有符号数除法 DIV s IDIV s AH:AL←AX/s(字节运算),AL放商,AH放余数 DX:AX←DX:AX/s(字运算),AX放商,DX放余数 同DIV,但操作数可带符号 ×××××× ×××××× 符号扩展 (2条) 字节扩展为字 字扩展为双字 CBW CWD AX←(扩展)AL DX:AX←(扩展)AX ------ ------ BCD码调整 (6条) 加法压缩BCD调整 加法非压缩BCD调整 减法压缩BCD调整 减法非压缩BCD调整 乘法非压缩BCD调整 除法非压缩BCD调整 DAA AAA DAS AAS AAM AAD 将AL内容转换成两位压缩的BCD码 将AL内容转换成一位非压缩的BCD码 将AL内容转换成两位压缩的BCD码 将AL内容转换成一位非压缩的BCD码 将AX内容转换成两位非压缩的BCD码 将AX中两位非压缩的BCD码调整成二进制数 ×↑↑↑↑↑ ×××↑×↑ ×↑↑↑↑↑ ×××↑×↑ ×↑↑×↑× ×↑↑×↑× 加法指令 1、不带进位加法指令ADD 格式:ADD d,s 功能: (d) ?(d) + (s) 说明:将目的操作数d与源操作数s相加结果送回d中 内 存 立即数 AH,AL BH,BL CH,CL DH,DL AX,BX CX,DX SI,DI BP,SP 【例】700+500=? MOV AX,700 MOV BX,500 ADD AX,
文档评论(0)