2.2.3 逻辑指令课件

2.2.3 逻辑指令课件

ID:1221644

大小:466.50 KB

页数:82页

时间:2017-11-08

2.2.3 逻辑指令课件_第1页
2.2.3 逻辑指令课件_第2页
2.2.3 逻辑指令课件_第3页
2.2.3 逻辑指令课件_第4页
2.2.3 逻辑指令课件_第5页
资源描述:

《2.2.3 逻辑指令课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.2.3逻辑指令逻辑运算指令(位操作指令)AND逻辑与指令格式:ANDDST,SRC;操作:(DST)←(DST)∧(SRC)OR逻辑或指令格式:ORDST,SRC;操作:(DST)←(DST)∨(SRC)NOT逻辑非指令格式:NOTOPR;操作:(OPR)←(OPR)XOR异或指令格式:XORDST,SRC;操作:(DST)←(DST)∨(SRC)TEST测试指令指令格式:TESTOPR1,OPR2;操作:(OPR1)∧(OPR2);结果不保存,只根据其特征设置条件码1说明:对标志位的影响:

2、NOT不影响标志位,其它4种指令将使CF和OF为0,AF位无定义,而SF,ZF和PF则根据运算结果设置。例:(1)要求将AL中0,1两位屏蔽ANDAL,11111100B(2)要求将BL中第5位置1ORBL,00100000B(3)要求将AX中0,1位取反XORAX,00000011B(4)检测AL中D0位是否为1,若为1,转向T1处执行;TESTAL,00000001HJNZT1…T1:…2移位指令SHL逻辑左移指令指令格式:SHLOPR,CNT执行操作:OPR可以是除立即数以外的任何寻址方式

3、,移位次数由CNT决定(CNT可以是1或CL).说明:对条件码的影响是,CF位根据指令规定设置,OF只有当CNT=1时才有效,在移位后最高有效位的值发生变化(0变1或1变0)时OF置1,否则OF置0;0CFOPR3其它移位指令SALOPR,CNT;算术左移指令(同SHL)SHROPR,CNT;逻辑右移指令SAROPR,CNT;算术右移指令ROLOPR,CNT;循环左移指令ROROPR,CNT;循环右移指令RCLOPR,CNT;带进位循环左移指令RCROPR,CNT;带进位循环右移指令CFOPRC

4、FOPRCFOPRCFOPR0CFOPRCFOPR4例:MOVCL,5SARWORDPTR[DI],CL;执行前(DS)=0F800H,(DI)=180AH,(0F980A)=0064H;则执行后(0F980A)=0003H,CF=0(2)MOVCL,2;执行前(SI)=1450HSHLSI,CL;执行后(SI)=5140H,CF=0F800HDS180AHDI64H00HF980AHSAR03H00H5(3)如(AX)=0012H,(BX)=0034H,要求将它们装配在一起形成(AX)=123

5、4H.MOVCL,8ROLAX,CL;(AX)=1200HADDAX,BX;(AX)=1200H+0034H=1234H62.2.4串处理指令串指令:(数组操作)MOVS串传送(传输一个字/字节:目的串←源串)CMPS串比较(比较一个字/字节:目的串与源串)SCAS串扫描(扫描一个字/字节:在串中)LODS从串取STOS存入串与上述基本指令配合使用的前缀指令:REP重复REPE/REPZ相等/为0则重复REPNE/REPNZ不相等/不为0则重复7REP重复串指令指令格式:REP串指令执行操作:如

6、:MOVCX,传送次数;REPMOVSBMOVS,STOS(CX)=0?(CX)←(CX)-1串指令NY8MOVS串传送指令指令格式:MOVSDST,SRC;在操作数中要表明字/字节操作MOVSB(字节);字节传送MOVSW(字);字传送执行操作:(1)ES:(DI)←DS:(SI)(2)字节操作:(SI)←(SI)±1,(DI)←(DI)±1(3)字操作:(SI)←(SI)±2,(DI)←(DI)±2说明:A.该指令不影响条件码。B.该指令可以把由(SI)指向的DS段中的1个字/字节→由(DI

7、)指向的ES段中的1个字/字节中,同时根据DF值及数据格式(字/字节)对(SI)和(DI)进行修改。DF=0时用+,DF=1时用-921H23H25HDSSI00H02H04HESDI21H23H25HDSSI00H23H04HESDIDF=0时:执行MOVSB低地址高地址低地址高地址21H23H25HDSSI00H23H04HESDI低地址高地址DF=1时:执行MOVSB10MOVS指令与REP联用,则可将数据段中整串数据→附加段中,但执行前要做准备工作,步骤如下:例:将DS段中17个字符送到

8、ES段中。DATAREASEGMENTMESS1DB‘personalcomputer$’DATAREAENDSEXTRASEGMENTMESS2DB17DUP(?);为MESS2分配17个BYTE,初值未知EXTRAENDS(SI)←DS中源串首/末地址(DI)←ES中目的串首/末地址(CX)←数据串长度设置DF=0/1REPMOVS/SB/SW11;--------------------定义代码段--------------------------------CODESEGMENTASSU

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。