[理学]第03章 汇编基础.ppt

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

(2)SAR(Shift Arithmetic Right)算术右移 格式:SAR 目的操作数,移位次数 目的操作数:8/16位寄存器/存储器; 移位次数:常数1或寄存器CL。 功能:将目的操作数向右移动指定的位数,目的操作数的低位移 入CF,高位用原符号位填充。 例: MOV AL, -15 SHR AL, 1;(AL)= -8,相当于AL←(AL)÷2,CF=1 说明:对于有符号数,每右移一次等于被2除 循环移位指令把操作数的最高位和最低位首尾连接起来移位。 3. 循环移位指令 (1)ROL(Rotate Left)循环左移 格式:ROL 目的操作数,移位次数 目的操作数:8/16位寄存器/存储器; 移位次数:常数1或寄存器CL。 功能:将目的操作数向左移动指定的位数,移出的高位顺序移 入低位,最后移出的位同时进入CF。 MOV AL, 85H ROL AL, 1 ;(AL)=0BH,CF=1 MOV AX, 138BH ROL AX, 4 ;使用286以上指令集,(AX) = 38B1H (2)ROR(Rotate Right)循环右移 格式:ROR 目的操作数,移位次数 目的操作数:8/16位寄存器/存储器; 移位次数:常数1或寄存器CL。 功能:将目的操作数向右移动指定的位数,移出的低位顺序移入 高位,最后移出的位进入CF。 说明:右移后,CF保留最后移出的那一位。 (3)RCL(Rotate Through Carry Left)带进位循环左移 格式:RCL 目的操作数,移位次数 目的操作数:8/16位寄存器/存储器; 移位次数:常数1或寄存器CL。 功能:将目的操作数和CF联合起来向左循环移动指定的位数, 最后移出的位进入CF。 说明:左移后,CF保留最后移出的那一位。 SHL AX, 1 ;AX左移一位,最高位在CF中 RCL DX, 1 ;DX左移一位,CF进入DX最低位 [例3-13] 把DX、AX中的32位无符号数左移一位 (4)RCR(Rotate Through Carry Right)带进位循环右移 格式:RCR 目的操作数,移位次数 目的操作数:8/16位寄存器/存储器; 移位次数:常数1或寄存器CL。 功能:将目的操作数和CF联合起来向右循环移动指定的位数, 最后移出的位进入CF。 说明:右移后,CF保留最后移出的那一位。 这一组指令用来设置FLAGS寄存器中的CF,DF,IF标志位。 3.5.2 标志处理指令 设置为1(称为置位:Set); 设置为0(称为复位:Reset,或者,清除:Clear); 取反(求补:Complement)。 对于一个标志位的操作有三种: CLC ;CF ← 0 STC ;CF ← 1 CMC ;CF ← CLD ;DF ← 0,在字符串指令中使用 STD ;DF ← 1,在字符串指令中使用 CLI ;IF ← 0,关闭对可屏蔽中断的响应,简称“关中断” STI ;IF ← 1,允许对可屏蔽中断的响应,简称“开中断” 标志处理指令 (1)?NOP(No Operation)空操作 格式:NOP 功能:NOP指令不做任何事情,仅仅是占用一个字节、耗费1 个指令执行时间。某些设备的工作速度较慢时,可以在 二次操作之间插入若干NOP指令。 说明:NOP指令不影响标志位。 3.5.3 处理器控制指令 (2) HLT(Halt)暂停 格式:HLT 功能:HLT指令使CPU进入暂停状态,CPU不做任何事情, 直到系统复位或者接收到中断请求信号。处理完中断 后,CPU执行HLT的下一条指令。 说明:HLT指令主要用于等待中断发生,它的执行不影响标 志位。 习题3 3.1 如果用24b储存一个无符号数,这个数的范围是什么?如果储 存的是一个补码表示的有符号数,那么这个数的范围又是什么? 3.2 用8位补码完成下列运算,用十进制“真值”的格式给出运算结 果,并指出运算后CF、OF、ZF、SF、PF标志位的状态。 (1)127+126 (2)126-127 (3)-100-120 (4)-100-(-120) 3.3 把二进制代码1001011101011000分别“看作”是: (1)二进制无符号数 (2)二进制补码 (3)压缩BCD码 (4)非压缩BCD码 哪一种情况下它代表的“值”最大? 格式:XOR 目的操作数,源操作数 功能:将目的操作数和源操作数进行逻辑异或运算。 逻辑异或规则: 0 0=0,0 1=1,1 0=1,1 1=0 也可以归纳为: 0 X=X,1 X= ,X X= 0,X = 1 说明:使用XOR指令

文档评论(0)

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

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

1亿VIP精品文档

相关文档