




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章 第2章 2 4算术运算类指令 算术运算类指令用来执行二进制的算术运算 加减乘除 这类指令会根据运算结果影响状态标志 有时要利用某些标志才能得到正确的结果 使用他们时请留心有关状态标志重点掌握加法指令 ADD ADC INC减法指令 SUB SBB DEC CMP NEG 第2章 2 4 1加法和减法指令 加法指令 ADD ADC和INC减法指令 SUB SBB DEC NEG和CMP他们分别执行字或字节的加法和减法运算 除INC和DEC不影响CF标志外 其他按定义影响全部状态标志位操作数组合 运算指令助记符reg imm reg mem运算指令助记符mem imm reg 第2章 1 加和减指令 ADDdest src 加法 dest dest src ADD指令使目的操作数加上源操作数 和的结果送到目的操作数SUBdest src 减法 dest dest src SUB指令使目的操作数减去源操作数 差的结果送到目的操作数 第2章 例题2 7加法 movax 7348h AX 7348Haddal 27h AL 48H 27H 6FH AX 736FH OF 0 SF 0 ZF 0 PF 1 CF 0addax 3fffh AX 736FH 3FFFH B36EH OF 1 SF 1 ZF 0 PF 0 CF 0 第2章 例题2 7减法 subah 0f0h AH B3H F0H C3H AX C36EH OF 0 SF 1 ZF 0 PF 1 CF 1movwordptr 200h 0ef00h 200H EF00H 标志不变sub 200h ax 200H EF00H C36EH 2B92H OF 0 SF 0 ZF 0 PF 0 CF 0subsi si SI 0 OF 0 SF 0 ZF 1 PF 1 CF 0 第2章 2 带进位加和减指令 ADCdest src 加法 dest dest src CF ADC指令除完成ADD加法运算外 还要加上进位CF 结果送到目的操作数SBBdest src 减法 dest dest src CF SBB指令除完成SUB减法运算外 还要减去借位CF 结果送到目的操作数 第2章 例2 8无符号双字加法和减法 movax 7856h AX 7856Hmovdx 8234h DX 8234Haddax 8998h AX 01EEH CF 1adcdx 1234h DX 9469H CF 0subax 4491h AX BD5DH CF 1sbbdx 8000h DX 1468H CF 0 DX AX 82347856H 12348998H 80004491H 1468BD5DH 第2章 3 比较指令CMP compare CMPdest src 做减法运算 dest src CMP指令将目的操作数减去源操作数 但差值不回送目的操作数比较指令通过减法运算影响状态标志 用于比较两个操作数的大小关系 cmpax bxcmpal 100 第2章 4 增量和减量指令 INCreg mem 增量 加1 reg mem reg mem 1DECreg mem 减量 减1 reg mem reg mem 1INC指令和DEC指令是单操作数指令与加法和减法指令实现的加1和减1不同的是 INC和DEC不影响CF标志 incsi si si 1decbyteptr si si si 1 第2章 5 求补指令NEG negative NEGreg mem reg mem 0 reg memNEG指令对操作数执行求补运算 即用零减去操作数 然后结果返回操作数求补运算也可以表达成 将操作数按位取反后加1NEG指令对标志的影响与用零作减法的SUB指令一样NEG指令也是一个单操作数指令 第2章 例题2 9求补运算 movax 0ff64hnegal AL 0 64H 9CH AX FF9CH OF 0 SF 1 ZF 0 PF 1 CF 1subal 9dh AL 9CH 9DH FFH AX FFFFH OF 0 SF 1 ZF 0 PF 1 CF 1negax AX 0 FFFFH 0001H OF 0 SF 0 ZF 0 PF 0 CF 1decal AL 01H 1 0 AX 0000H OF 0 SF 0 ZF 1 PF 1 CF 1negax AX 0 0 0 OF 0 SF 0 ZF 1 PF 1 CF 0 第2章 2 4 2符号扩展指令 符号扩展是指用一个操作数的符号位 最高位 形成另一个操作数 后一个操作数的高位是全0 正数 或全1 负数 符号扩展虽然使数据位数加长 但数据大小并没有改变 扩展的高部分仅是低部分的符号扩展符号扩展指令有两条 用来将字节转换为字 字转换为双字CBW AL符号扩展成AXCWD AX符号扩展成DX 第2章 例题2 10符号扩展 moval 64h AL 64H 机器数 表示10进制数100 真值 cbw 将符号0扩展 AX 0064H 仍然表示100movax 0ff00h AX FF00H 表示有符号10进制数 256cwd 将符号位 1 扩展 DX AX FFFFFF00H 仍然表示 256 第2章 2 4 3乘法和除法指令 乘法指令分无符号和有符号乘法指令MULreg mem 无符号乘法IMULreg mem 有符号乘法除法指令分无符号和有符号除法指令DIVreg mem 无符号除法IDIVreg mem 有符号除法 第2章 2 4 4十进制调整指令 十进制数调整指令对二进制运算的结果进行十进制调整 以得到十进制的运算结果 以此实现十进制BCD码运算8088指令系统支持两种BCD码调整运算压缩BCD码就是通常的8421码 它用4个二进制位表示一个十进制位 一个字节可以表示两个十进制位 即00 99非压缩BCD码用8个二进制位表示一个十进制位 只用低4个二进制位表示一个十进制位0 9 高4位任意 通常默认为0 第2章 编码的比较 真值 十进制 864二进制编码08H40H压缩BCD码08H64H非压缩BCD码08H0604HASCII码38H3634H 压缩BCD码加减法调整指令DAADAS非压缩BCD码加减乘除法调整指令AAAAASAAMAAD 第2章 2 5位操作类指令 位操作类指令以二进制位为基本单位进行数据的操作当需要对字节或字数据中的各个二进制位操作时 可以考虑采用位操作类指令注意这些指令对标志位的影响1 逻辑运算指令ANDORXORNOTTEST2 移位指令SHLSHRSAR3 循环移位指令ROLRORRCLRCR 第2章 2 5 1逻辑运算指令 双操作数逻辑指令AND OR XOR和TEST设置CF OF 0 根据结果设置SF ZF和PF状态 而对AF未定义 它们的操作数组合与ADD SUB等一样 运算指令助记符reg imm reg mem运算指令助记符mem imm reg单操作数逻辑指令NOT不影响标志位 操作数与INC DEC和NEG一样 NOTreg mem 第2章 逻辑与指令AND 对两个操作数执行逻辑与运算 结果送目的操作数 ANDdest src dest dest src 只有相 与 的两位都是1 结果才是1 否则 与 的结果为0 第2章 逻辑或指令OR 对两个操作数执行逻辑或运算 结果送目的操作数 ORdest src dest dest src 只要相 或 的两位有一位是1 结果就是1 否则 结果为0 第2章 逻辑异或指令XOR 对两个操作数执行逻辑异或运算 结果送目的操作数 XORdest src dest dest src 只有相 异或 的两位不相同 结果才是1 否则 结果为0 第2章 测试指令TEST 对两个操作数执行逻辑与运算 结果并不送目的操作数 仅按AND指令影响标志 TESTdest src dest src AND与TEST指令的关系 同SUB与CMP指令的关系一样 第2章 逻辑非指令NOT 对一个操作数执行逻辑非运算 NOTreg mem reg mem reg mem 按位取反 原来是 0 的位变为 1 原来是 1 的位变为 0 第2章 例2 13逻辑运算 moval 75h AL 75Handal 32h AL 30H CF OF 0 SF 0 ZF 0 PF 1oral 71h AL 71H CF OF 0 SF 0 ZF 0 PF 1xoral 0f1h AL 80H CF OF 0 SF 1 ZF 0 PF 0notal AL 7FH 标志不变 第2章 例2 14逻辑运算指令的应用 大小写字母的转换 andbl 11011111b BL中D5清0 其余位不变 小写转大写orbl 00100000b BL中D5置1 其余位不变 大写转小写xorbl 00100000b BL中D5求反 其余位不变 大小写互转 AND指令可用于复位某些位 同0相与 不影响其他位 OR指令可用于置位某些位 同1相或 不影响其他位 XOR指令可用于求反某些位 同1相异或 不影响其他位 第2章 2 5 2移位指令 将操作数移动一位或多位 分成逻辑移位和算术移位 分别具有左移或右移操作移位指令的第一个操作数是指定的被移位的操作数 可以是寄存器或存储单元 后一个操作数表示移位位数 该操作数为1 表示移动一位该操作数为CL CL寄存器值表示移位位数 移位位数大于1只能CL表示 按照移入的位设置进位标志CF 根据移位后的结果影响SF ZF PF 第2章 逻辑左移指令SHL SHLreg mem 1 CL reg mem左移1或CL位 最低位补0 最高位进入CF 演示 第2章 逻辑右移指令SHR SHRreg mem 1 CL reg mem右移1 CL位 最高位补0 最低位进入CF 演示 第2章 算术左移指令SAL SALreg mem 1 CL 与SHL是同一条指令 演示 第2章 算术右移指令SAR SARreg mem 1 CL reg mem右移1 CL位 最高位不变 最低位进入CF 演示 第2章 例2 16将AL寄存器中的无符号数乘以10 xorah ah 实现AH 0 同时使CF 0shlax 1 AX 2 ALmovbx ax BX AX 2 ALshlax 1 AX 4 ALshlax 1 AX 8 ALaddax bx AX 8 AL 2 AL 10 AL 逻辑左移一位相当于无符号数乘以2逻辑右移一位相当于无符号数除以2 第2章 2 5 3循环移位指令 循环移位指令类似移位指令 但要将从一端移出的位返回到另一端形成循环 分为 ROLreg mem 1 CL 不带进位循环左移RORreg mem 1 CL 不带进位循环右移RCLreg mem 1 CL 带进位循环左移RCRreg mem 1 CL 带进位循环右移循环移位指令的操作数形式与移位指令相同 按指令功能设置进位标志CF 但不影响SF ZF PF AF标志 演示 演示 演示 演示 第2章 32位数据移
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代防诈骗知识培训内容课件
- 浙江平阳中学2026届化学高二上期中综合测试试题含解析
- 现代服务基础知识培训课件
- 2026届辽宁省葫芦岛市辽宁实验中学东戴河分校高一化学第一学期期末学业水平测试试题含解析
- 现代常见汉字字音课件
- 2025年教师资格证考试(中学科目二)教育知识与能力重点难点突破试卷
- 2025年小学数学毕业升学考试易错题型高效训练模拟试卷
- 现代农业操作课件
- 研究生求极限题目及答案
- 2026届北京市昌平区新学道临川学校高二化学第一学期期中质量跟踪监视试题含解析
- 医院药品支付管理办法
- 学平险介绍课件
- 2025年院感知识理论考试题库及答案
- 从2025年河南中考语文试卷中分析阅读理解如何提分
- 《智能建筑供配电与照明》课件(上)
- 公共打印区域管理办法
- 2025至2030中国电子束灭菌服务行业项目调研及市场前景预测评估报告
- 模锻工艺培训课件
- 土石方工程计量计价课件
- 血液透析导管感染
- 第27课 中国特色社会主义的开创与发展 课件 中外历史纲要(上)
评论
0/150
提交评论