A8(的算术类指令加减法x).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
A8(的算术类指令加减法x)

1. 了解算术类指令的作用 2. 掌握算术类指令的格式及使用 3. 学会应用 复习 算术运算类指令 无符号数 带符号数 带符号数 加法指令 ADD (不带进位的加法指令) 实例 加法指令注意事项 标志寄存器的设置 例题 程序举例 例题: ADC (带进位的加法指令) 程序例题 INC (加1指令) 实例 小结 SUB (不带借位的减法指令) 实例 减法指令注意事项 例题 程序举例 例题: SBB (带借位的减法指令) 程序例题 DEC (减1指令) 实例 NEG指令(求补-求相反数) NEG指令 十进制数(BCD码)运算指令 十进制数(BCD码)运算指令 实例 实例 实例 压缩型BCD码加法调整指令DAA 实例 减法实例 压缩型BCD码减法调整指令DAS 非压缩型BCD码加法调整指令AAA AAA指令实例 AAA指令实例 非压缩型BCD码减法调整指令AAS AAS指令实例 AAS指令实例 小结 作业 1. DEC AL 2. DEC CX 3. DEC [BX] 注意: 只能为能用寄存器或存储器操作数,不能为立即数,也不能是段寄存器(段寄存器不能参加任何运算) ? 指令格式: NEG DEC   DEC既为目的操作数又为源操作数 ? 执行操作: 0-(DEC)?DEC 指令格式: NEG DEC 例子:NEG BL NEG AX NEG Byte Ptr[BP+SI] NEG Word Ptr[DI+20] 目的操作数可以是寄存器或存储器操作数,可以 对8位或16位的数求补。 BCD码,称二-十进制代码,亦称二进码十进数。是一种二进制的数字编码形式表示十进制数。这种编码形式利用了四个位元来储存一个十进制的数码,使二进制和十进制之间的转换得以快捷的进行。 BCD码有两类: 压缩型BCD码 非压缩型BCD码 运算指令: 专用指令 用二进制指令,然后用专门指令调整 63H 压缩型BCD码 0110 0011 一个字节存放两位十进制数的BCD码 非压缩型BCD码 0000 0110 0000 0011 一个字节存放一位十进制数的BCD码 34+23=57 0011 0100 + 0010 0011 0101 0111 不需要调整 2. 48+29=77 0100 1000 + 0010 1001 0111 0001 + 0000 0110 0111 0111 需要调整 AF=1, 3. 57+46=103 0101 0111 + 0100 0110 1001 1101 + 0000 0110 1010 0011 + 0110 0000 1 0000 0011 中间结果 AF=0,但低4位9,加06H 高4位9,加60H ? 指令格式: DAA ? 该指令不带操作数,但是隐含给出的,隐含寄存器操作数 为AL。 ? 操作: 1. 先进行普通的加法操作。 2. 然后执行DAA。 如果AF=1或AL的低4位9,则AL加06H,并将AF置1; 如果CF=1或AL的高4位9,则AL加60H,并将CF置1。 ? 只影响CF,AF标志。 17+18=35 MOV AL,17 MOV BL,18 ADD AL,BL DAA 0001 0111 0001 1000 + 0010 1111 低4位 F9则加06H 0000 0110 + 0011 0101 AF=1,CF=0 33-18=15 MOV AL,33 MOV BL,18 SUB AL,BL DAS 0011 0011 0001 1000 - 0001 1011 (AF=1)低4位 B9则减06H 0000 0110 - 0001 0101 AF=1,CF=0 ? 指令格式: DAS ? 该指令不带操作数,但是隐含给出的,隐含寄存器操 作数为AL。 ? 操作: 1. 先进行普通的减法操作。 2. 然后执行DAS。 如果AF=1或AL的低4位9,则AL减06H,并将AF置1; 如果CF=1或AL的高4位9,则AL减60H,并将CF置1。 ? 只影响CF,AF标志。 ? 指令格式: AAA ? 该指令中的操作数是隐含给出的,隐含寄存器操作 为AL和AH寄存器,最后得到的结果,个位放在AL 中,十位放在AH中。 ? 操作: 1. 先进行普通的加法操作。 2. 如果AL的低4位9,并且AF=0,转4;

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档