pentium指令系统之逻辑运算和移位指令

pentium指令系统之逻辑运算和移位指令

ID:36316432

大小:503.31 KB

页数:52页

时间:2019-05-09

pentium指令系统之逻辑运算和移位指令_第1页
pentium指令系统之逻辑运算和移位指令_第2页
pentium指令系统之逻辑运算和移位指令_第3页
pentium指令系统之逻辑运算和移位指令_第4页
pentium指令系统之逻辑运算和移位指令_第5页
资源描述:

《pentium指令系统之逻辑运算和移位指令》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、三、逻辑运算和移位指令(一)逻辑运算指令1、AND(Logicaland)逻辑“与”指令2、TEST(Testornon-destructivelogicaland)测试指令3、OR(Lgicalinclusiveor)逻辑“或”指令4、XOR(Logicalexclusiveor)逻辑“异或”指令5、NOT(Logicalnot)逻辑“非”指令特点:逻辑运算是按位操作,操作数应该是位串而不是数。影响条件码:(NOT指令除外,其他指令同)SFZFPF1、AND(Logicaland)逻辑“与”指令格式:ANDdest,src;B/

2、W,(dest)(dest∧(src)src:立即数、寄存器、存储器。dest:寄存器、存储器。执行操作:按位进行“与”运算。操作类型举例:ANDAL,0FH;寄存器∧立即数ANDCX,DI;寄存器∧寄存器ANDSI,MEM_NAME;寄存器∧存储器ANDALPHA[DI],AX;存储器∧寄存器ANDwordptr[BX][SI],0FFFEH;存储器∧立即数“与”指令的用途:对一个数据的指定位清0将指定位与“0”相与。例:若(AL)=43HANDAL,0FH;(AL)=03H,(AL)0~3不变;;(AL)4~7=00H,屏蔽

3、高4位。“与”指令应用举例:例1:将英文小写字母ASCII转换成大写。小写英文字母ASCII为:‘a’~’z’61H~7AH大写英文字母ASCII为:‘A’~’Z’41H~5AH程序:MOVAL,’z’;ANDAL,0DFH;例2:判断键盘按下的字符是不是‘Y’?MOVAH,7INT21H;键入无回显,(AL)=输入键的字符码ANDAL,0DFHCMPAL,‘Y’JEYES…YES:……01100001010000011101111161H41HDFH2、TEST(Testornon_destructivelogicaland

4、)测试指令格式:TESTdest,src;(dest)∧(src)src:立即数、寄存器、存储器。dest:寄存器、存储器。执行操作:二个操作数相与的结果不存入目的,只影响标志位。操作类型举例:TESTBH,7;寄存器∧立即数TESTSI,BP;寄存器∧寄存器TESTDI,TABLE[BX];寄存器∧存储器TEST[SI],CH;存储器∧寄存器TESTwordptr[BX][DI],6ACEH;存储器∧立即数例:判断A单元中数据的奇偶性设:(A)=0AEH程序:MOVAL,A;(AL)=0AEHTESTAL,01HJZEVEN;结

5、果=0为偶数转EVEN…奇数处理…EVEN:偶数处理检测(AL)的最低位是否为0,若为0转EVEN用途:常常用来检测指定位是1/0,但又不希望改变原有的操作数的情况下,常在此指令后边加一条条件转移指令。3、OR(Lgicalinclusiveor)逻辑“或”指令格式:ORdset,src;(dset)←(dset)(src)dest:寄存器、存储器。src:立即数、寄存器、存储器。执行操作:进行按位“或”运算用途:将操作数的指定位置1。操作类型举例:ORBL,0F6H;寄存器立即数ORAH,BL;寄存器寄存器ORCL,BETA[B

6、X][DI];寄存器存储器ORGAMMA[SI],DX;存储器寄存器ORBYTEPTRMEM_BYTE,80H;存储器立即数∧∧∧∧∧∧4、XOR(Logicalexclusiveor)逻辑“异或”指令格式:XORdset,src;B/W(dset)(dset)(src)dest:寄存器、存储器。src:立即数、寄存器、存储器。执行的操作:对指令的两个操作数进行按位“异或”运算。操作类型举例:XORDI,23F6HH;寄存器立即数XORSI,DX;寄存器寄存器XORCL,BUFFER;寄存器存储器XORMEM[BX],A

7、X;存储器寄存器XORbyteptrTABLE[BP][SI],3DH;存储器立即数用途:a对某些特定位求反,某些特定位与“1”其余位保持不变,保持不变与“0”。b初始化时将某个寄存器清0应用举例:例1:将(AL)中的第1、3、5、7位求反0、2、4、6位保持不变。MOVAL,0FHXORAL,0AAH例2:比较三条AX清“0”指令:XORAX,AX;清AX,清CF,2个字节,3个T。SUBAX,AX;清AX,清CF,2个字节,3个T。MOVAX,0;清AX,不影响标志位,3个字节,4个T。XOR清“0”指令在多字节累加程

8、序中十分有用。例3:将存放在TABLE开始的100个字节的16进制数进行累加,和存于SUM+1、SUM单元。程序:100个字节的16进制数进行累加。LEABX,TABLEMOVCL,100XORAX,AXLOOPER:ADDAL,[BX]JNCGO

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

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

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