- 1、本文档共119页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 微机CPU的指令系统
Assembly Language Programming 一、指令格式(P60) 二、数据传送指令(P61) 使用 DEBUG 跟踪程序运行(1) 三、算术运算指令(P67) 使用 DEBUG 跟踪程序运行(2) 程序设计举例2: 四、逻辑运算指令(P72) 五、移位操作指令(P74) 使用 DEBUG 跟踪程序(3) 六、比较运算指令CMP(P79) 七、循环指令 (P80) 八、十进制调整指令(P94) 九、转移指令 (P84) 十、字符串操作指令 (P89) 程序设计举例4:串操作指令 习题讲解 3、 ASCII乘法调整指令AAM (P95) 格式: AAM 功能:将(AL)÷10 ,(AH)←商,(AL)←余数 例:7×9 MOV AL,07H MOV BL,09H MUL BL ; (AX)=7H*9H=3FH=63D AAM ;调整, (AH)=63/10=6, (AL)=63%10=3 例、两位十进制非压缩BCD编码AX=0407H,1位十进制非压缩BCD编码BL=08H,求AX/BL。 4、 ASCII除法调整指令AAD (P96) 格式: AAD 功能:除法运算前,先调整被除数AX内容,使: (AL)=(AL)+(AH)*10D ,(AH)=0 即把非压缩型十进制数变成二进制数 MOV AX, 0407H MOV BL, 08H AAD ; (AL)=07H+04H*10D=47D, (AH)=0 DIV BL ; 商(AL)=47/8=5, 余数(AH)=47%8=7 5、加法的十进制调整指令DAA (P96) 格式: DAA 功能:如果AL寄存器中低4位大于9或有辅助进位(AF)=1, 则(AL)=(AL)+6,且使(AF)=1; 如果(AL)=0A0H或(CF)=1, 则(AL)=(AL)+60H,且使(CF)=1。 例1:压缩BCD码的加法运算。 MOV AL,68H ;(AL)=68H,表示压缩BCD码68 MOV BL,28H ;(BL)=28H,表示压缩BCD码28 ADD AL,BL ;二进制加法:(AL)=68H+28H=90H DAA ;十进制调整:(AL)=96H ;实现压缩BCD码加法:68+28=96 0110 0101B=65H + 0010 0110B=26H ————————— 0111 1011B 压缩BCD码的加法运算 65H+26H=91的过程: 0111 1011B + 0000 0110B=06H ————————— 1001 0001B=91H 低位9 加06H 0110 1000B=68H + 0010 1000B=28H ————————— 1001 0000B 压缩BCD码的加法运算 68H+28H=96的过程: 1001 0000B + 0000 0110B=06H ————————— 1001 0110B=96H 因为AF=1 加06H 加6修正的原因:如果AF=1,说明有进位(已经溢出);同样,如果大于9,说明已经溢出(BCD编码小于9) 解答: MOV DX,1234H MOV BX,3099H MOV AL,BL ;低位字节 ADD AL,DL DAA MOV CL,AL ;保存低位字节 MOV AL,BH ;高位字节 ADC AL,DH DAA MOV CH,AL ;保存高位字节 例2:编写程序段,完成1234+3099的操作。 6、减法的十进制调整指令DAS (P97) 格式: DAS 功能:如果(AF)=1或AL寄存器中低4位大于9, 则(AL)=(AL)-6且(AF)=1; 如果(AL)=0A0H或(CF)=1, 则(AL)=(AL)-60H且(CF)=1。 例1:压缩BCD码的减法运算。 MOV AL,61H ;(AL)=61H,表示压缩BCD码61 MOV BL,28H ;(BL)=28H,表示压缩BCD码28 SUB AL,BL ;二进制减法:(AL)=61H-28H=39H DAS ;十进制调整:(AL)=33H ;实现压缩BCD码减法:61-28=33 0110 0101B=65H -0010 0110B=26H ————————— 0011 1111B 压缩BCD码
文档评论(0)