- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
pentium指令系统之逻辑运算及移位指令
三、逻辑运算和移位指令
(一)逻辑运算指令
1、AND(Logical and ) 逻辑“与”指令
2、 TEST(Test or non-destructive logical and ) 测试指令
3、OR(Lgical inclusive or ) 逻辑“或”指令
4、XOR(Logical exclusive or) 逻辑“异或”指令
5、NOT(Logical not ) 逻辑“非”指令
特点:
逻辑运算是按位操作,操作数应该是位串而不是数。
影响条件码: (NOT指令除外,其他指令同)
SF ZF PF
;1、AND(Logical and )逻辑“与”指令
格式:AND dest, src ;B/W,(dest)?(dest ∧ (src)
src: 立即数、寄存器、存储器。
dest: 寄存器、存储器。
执行操作:按位进行“与”运算。
操作类型举例: AND AL, 0FH ;寄存器 ∧ 立即数
AND CX, DI ; 寄存器 ∧ 寄存器
AND SI, MEM_NAME ; 寄存器 ∧ 存储器
AND ALPHA [DI], AX ; 存储器 ∧ 寄存器
AND word ptr [BX][SI], 0FFFEH ; 存储器 ∧ 立即数; “与”指令的用途:
对一个数据的指定位清0
将指定位与“0” 相与。
例: 若(AL)=43H
AND AL, 0FH ; (AL)=03H, (AL)0~3不变;
;(AL)4~7=00H,屏蔽高4位。 ;“与”指令应用举例:
例1:将英文小写字母ASCII转换成大写。
小写英文字母ASCII为:‘a’~’z’? 61H~7AH
大写英文字母ASCII为:‘A’~’Z’ ?41H~5AH
程序: MOV AL, ’z’ ;
AND AL,0DFH ;
例2:判断键盘按下的字符是不是‘Y’?
MOV AH, 7
INT 21H ;键入无回显,(AL)=输入键的字符码
AND AL, 0DFH
CMP AL, ‘Y’
JE YES
…
YES: …
…;2、 TEST(Test or non_destructive logical and )测试指令
格式: TEST dest , src;(dest)∧(src)
src: 立即数、寄存器、存储器。
dest: 寄存器、存储器。
执行操作: 二个操作数相与的结果不存入目的,只影响标志位。
操作类型举例:
TEST BH, 7 ; 寄存器 ∧ 立即数
TEST SI , BP ;寄存器 ∧ 寄存器
TEST DI ,TABLE[BX] ; 寄存器 ∧ 存储器
TEST [SI],CH ;存储器 ∧ 寄存器
TEST word ptr [BX][DI], 6ACEH ;存储器 ∧ 立即数;例:判断A单元中数据的奇偶性
设: (A )= 0AEH
程序:MOV AL,A ;(AL)=0AEH
TEST AL,01H
JZ EVEN ; 结果=0为偶数转EVEN …
奇数处理
…
EVEN:偶数处理
检测(AL)的最低位是否为0,若为0转EVEN;3、OR(Lgical inclusive or )逻辑“或”指令
格式:OR dset, src;(dset)←(dset) (src)
dest: 寄存器、存储器。
src: 立即数、寄存器、存储器。
执行操作: 进行按位“或”运算
用途:
将操作数的指定位置1。
操作类型举例:
OR BL,0F6H ; 寄存器
文档评论(0)