ImageVerifierCode 换一换
格式:PPT , 页数:34 ,大小:256.50KB ,
资源ID:9417238      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9417238.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微原-第3章5.ppt)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

微原-第3章5.ppt

1、本教案内容,第3章 8086CPU指令系统汇编语言指令8086指令分类数据与转移地址的寻址方式数据传送类指令算术运算类指令逻辑运算类指令移位类指令标志位操作指令,转移指令循环控制指令子程序调用返回指令中断调用返回指令字符串操作指令I/O输入输出指令其它指令宏指令,5条逻辑运算类指令书写格式与完成的功能如下表所示。,3.6 逻辑运算类指令,指令的运算都是按位进行的。NOT指令是将操作数的各位取反,其它指令是两个操作数的对应位实行相应的逻辑运算。指令可以有字节操作,也可以有字操作。,3.6 逻辑运算类指令,指令执行后对标志位的影响情况:除NOT指令对标志位不产生影响外,其余指令将使CF、OF置0,

2、并以正常规则设置SF、ZF和PF的状态。,3.6 逻辑运算类指令,3.6 逻辑运算类指令,1.逻辑与指令(AND)格式:AND DST,SRC;(DST)(DST)(SRC),并置各标志位AND完成将DST、SRC的内容进行相与操作,其结果保存在DST中,并设置PSW中的标志位。指令中的DST可以取通用寄存器、存储单元,SRC可以取通用寄存器、存储单元和立即数,但DST和RSC不能同时为存储单元。,(“And”byte or word),3.6 逻辑运算类指令,例3.20 求两个操作数的逻辑与。解:设VAR1为字型变量,则有:ANDAX,BX;(AX)(AX)(BX)ANDAL,156;(AL

3、)(AL)1001 1100B(156=1001 1100B)ANDVAR1,78AAH;(VAR1)(VAR1)78AAHANDCX,SI;(CX)(CX)((SI)),3.6 逻辑运算类指令,2.逻辑测试指令(TEST)格式:TEST DST,SRC;(DST)(SRC),并置各标志位说明:TEST为逻辑测试指令,它与AND指令非常类似,完成将DST、SRC的内容进行相与操作,其结果不保存,并设置PSW中的标志位。指令中的DST和SRC的说明等同于AND指令。,(“Test”byte or word),3.6 逻辑运算类指令,例3.21 求两个操作数的逻辑测试。解:设VAR1为字型变量,则

4、有:TESTAL,156;(AL)1001 1100B(156=1001 1100B)TESTVAR1,78AAH;(VAR1)78AAHTESTAX,BX;(AX)(BX)TESTCX,SI;(CX)((SI)),3.6 逻辑运算类指令,3.逻辑或指令(OR)格式:OR DST,SRC;(DST)(DST)(SRC),并置各标志位说明:OR为逻辑或指令,它完成将DST、SRC的内容进行相或操作,其结果保存在DST中,并设置PSW中的标志位。指令中的DST和SRC的说明等同于AND指令。,(“Inclusive or”byte or word),3.6 逻辑运算类指令,例3.22 求两个操作数

5、的逻辑或。解:设VAR2为字节型变量,则有:ORAL,0110 0001B;(AL)(AL)0110 0001B ORVAR2,0FH;(VAR2)(VAR2)0FHORAX,BX;(AX)(AX)(BX)ORBX,DI;(BX)(BX)((DI)),3.6 逻辑运算类指令,4.逻辑异或指令(XOR)格式:XOR DST,SRC;(DST)(DST)(SRC),并置各标志位说明:XOR为逻辑异或指令,它完成将DST、SRC的内容进行异或操作,其结果保存在DST中,并设置PSW中的标志位。指令中的DST和SRC的说明等同于AND指令。,“Exclusive or”byte or word,例3.

6、23 求两个操作数的逻辑异或。解:设VAR2为字节型变量,则有:XORAL,0110 0001B;(AL)(AL)0110 0001B XORVAR2,0FH;(VAR2)(VAR2)0FHXORAX,BX;(AX)(AX)(BX)XORBX,DI;(BX)(BX)((DI)),3.6 逻辑运算类指令,3.6 逻辑运算类指令,5.逻辑非指令(NOT)格式:NOT DST;(DST)说明:NOT为逻辑非指令,它完成将DST的内容进行按位取反的操作,其结果保存在DST中,但NOT指令不影响PSW中的标志位。指令中的DST可以取通用寄存器和存储单元。,(“Not”byte or word),例3.2

7、4 求操作数的逻辑非。解:设VAR1为字型变量,则有:NOTAL;(AL)NOTVAR1;(VAR1),3.6 逻辑运算类指令,3.6 逻辑运算类指令,逻辑运算指令可以方便地对寄存器和存储单元中的数据进行逻辑操作。利用逻辑运算指令可通过适当选用源操作数的代码,使目的操作数的某些位进行清零、置位及取反操作,例如:,3.6 逻辑运算类指令,OR OL,03H;将CL的位0,1置1,其余位不变AND AL,0F5H;将AL的位1,位3清零XOR AH,0FH;将AH的低4位取反,高4位不变TEST AL,02H;测试AL的位1是否为0,JZ ZER1;若为0则转移到ZER1XOR AX,AX;AX清

8、0AND AL,5FH;将AL中字母的ASCII码变换成“大写”字母的ASCII码OR AL,20H;将AL中字母的ASCII码变换成“小写”字母的ASCII码,3.6 逻辑运算类指令,作业:10 13,3.7 移位类指令,在8086指令系统中,移位类指令有:逻辑右移SHR算术右移SAR逻辑/算术左移SHL/SAL循环右移ROR循环左移ROL带进位循环右移RCR带进位循环左移RCL,3.7 移位类指令,共同特点:正常影响PSW的SF、PF、ZF、CF和OF标志位,其中CF表示指令所移出的一位,OF1表示移位前后符号位发生了变化。移位类指令具有相同的指令格式 SHR DST,CNT,3.7 移位

9、类指令,DST可以取通用寄存器和存储单元,CNT为移位次数,它只有两种取值:CNT=1,表示指令移1位;CNT=CL,表示移位次数由CL的内容决定。在逻辑右移指令中,在最高位填入0;在算术右移指令中,在最高位填入符号位(即最高位);在逻辑/算术左移指令中,在最低位填入0;在循环右移指令中,在最高位填入其最低位的值,形成循环移位;在循环左移指令中,在最低位填入其最高位的值;在带进位循环右移和左移指令中,将DST和CF看成整体进行循环位操作。,1.移位指令,逻辑移位,左移 SHL DST,CNT,右移 SHR DST,CNT,D7 D1 D0,移位次数,3.7 移位类指令,右移1位操作相当于将DS

10、T除以2;左移1位操作相当于将DST乘以2。,例.,SHR AX,1;将AX的内容右移1位,最;高位补0SHL AL,CL;将AL的内容左移CL中指;定的次数,且每次移位;最低位补0,3.7 移位类指令,SHL DAT1SI,CL;将内存某单元的;内容左移CL中所;中指定的次数SHR BL,2 当移位次数1时,必 须用CL提供移位次数,3.7 移位类指令,算术移位,左移 SAL DST,CNT,右移 SAR DST,CNT,0,CF,DST,DST,CF,3.7 移位类指令,2.循环移位指令,不带CF的循环移位,左移 ROL DST,CNT,右移 ROR DST,CNT,3.7 移位类指令,带

11、CF的循环移位,左移 RCL DST,CNT,右移 RCR DST,CNT,3.7 移位类指令,例1.若(BL)=01110010B,(CL)=3,CF=1,则CPU执行:RCR BL,CL 指令后,,(BL)=10101110B=0AEH,3.7 移位类指令,0 1 1 1 0 0 1 0,1,D7 D6 D5 D4 D3 D2 D1 D0,1 0 1 1 1 0 0 1,0,D7 D6 D5 D4 D3 D2 D1 D0,0 1 0 1 1 1 0 0,1,D7 D6 D5 D4 D3 D2 D1 D0,1 0 1 0 1 1 1 0,0,D7 D6 D5 D4 D3 D2 D1 D0,一

12、次,二次,三次,例2.编程序实现5*10运算。(不能用MUL指令),5*10=5*(2+8)=5*2+5*8,算法:,3.7 移位类指令,MOV AL,05HSHL AL,1;(AL)=5*2MOV BL,AL;(BL)=5*2MOV CL,2SHL AL,CL;(AL)=5*8ADD AL,BL;(AL)=5*10,3.7 移位类指令,3.7 移位类指令,例3.28 将一个字(AX)的内容除2,并进行四舍五入操作。解:对(AX)右移1位等效于(AX)2,四舍五入操作可以表述成:当原(AX)最低位(即移出的1位)为1时,在结果中加1。因此可以编写出程序段:SHR AX,1 ADC AX,0,3.7 移位类指令,另外,四舍五入操作还可以表述成:其中方括号表示取整运算,这样可以在移位之前的最低位加上1,然后进行右移1位的操作。因此可以编写出程序段:INC AX SHR AX,1,3.8 标志位操作指令,作业:12 14 16 17,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2