清华大学计算机硬件技术基础Chapter23.ppt

  1. 1、本文档共62页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BCD码( Binary Coded Decimal ) 用二进制编码表示十进制数。 常用8421 BCD码, 与十进制数码对应关系: 例 48的BCD码为 ( 0100 1000)BCD 根据在内存的存放形式,分压缩BCD码和非压缩 BCD码 1) 压缩BCD码 一字节存放2个BCD码。 如 2148 的压缩BCD码为: ( 0010 0001 0100 1000 )压缩BCD 在内存中占2字节 2) 非压缩 BCD码 一字节存放1个BCD码。 如 2148 的非压缩BCD码为: () 非压缩BCD 在内存中占4字节 当数据用压缩或非压缩BCD码表示时, 为使运算的结果仍为BCD码表示,需对结果进行调整。 十进制运算 = 二进制运算 + 十进制调整 例 (0000 1000 ) 压缩BCD + (0000 1001) 压缩BCD = (0001 0111 ) 压缩BCD 计算机计算过程 看作压缩BCD 0000 1000 08 + 0000 1001 09 0001 0001 11 二进制运算 十进制调整 + 0000 0110 0001 0111 17 1. 加法运算指令 ADD、ADC为双操作数指令 INC为单操作数指令 除INC指令不影响CF外,6个状态标志均据结果设置 ADC带进位加法,实现字以上运算 CFA1H 1100 1111 1010 0001 + 62A0H + 0110 0010 1010 0000 111 1 1 1 1111 1 3241H 0011 0010 0100 0001 例1 编程完成 CFA1H + 62A0H (做过的随堂作业) MOV DX,0CFA1H ADD DX,62A0H 执行后: (DX)=3241H CF=1,OF=0,SF=0, ZF=0 (注意CF和OF的判断方法) 三组指令执行后的结果均为: (AL)=0FDH, CF=0, OF=0, SF=1, ZF=0 MOV AL, 0F1H ADD AL, 0CH MOV AL, 241 ADD AL, 12 MOV AL, -15 ADD AL, 12 第一章中的例题 F1 H + 0C H FD H 二进制 运 算 241 + 12 253 看 作 无符号数 (-15) + 12 (-3) 看 作 带符号数 B0 F1 04 0C 、、、 、、、 第一条 指 令 第二条 指 令 三组机器码相同: 对加、减运算,CPU计算时不区分无符号数、带符号数 例2 INC AL   执行前 (AL)= FFH 执行后: (AL)=00H CF=不变,OF=0,ZF=1,SF=0 FFH + 01H 11 00H 01FFH + 0001H 11 0200H 例3 value 是一个字变量  OFFSET value = 1000H  (DS)=2000H,(21000H)=01FFH value FF 21000H 01 执行前 value 00 21000H 02 执行后 执行后:   (21000H)=0200H CF=不变,OF=0,ZF=0,SF=0 注意是内存单元内容加1,而非地址加1 INC value 或写成: INC [value] 例4 将buffer为首的4个字节内存内容相加,存放在AL

文档评论(0)

187****5045 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档