下载此文档

汇编语言2-2.ppt


文档分类:IT计算机 | 页数:约91页 举报非法文档有奖
1/91
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/91 下载此文档
文档列表 文档介绍
教学提示
在正确理解每条指令的功能基础上,可以阅读和编写有实际意义的程序段
多多阅读程序段
位操作类指令
位操作类指令以二进制位为基本单位进行数据的操作;这是一类常用的指令,都应该特别掌握
注意这些指令对标志位的影响
1、逻辑运算指令
AND OR XOR NOT TEST
2、移位指令
SHL SHR SAR
3、循环移位指令
ROL ROR RCL RCR
逻辑与指令AND
对两个操作数执行逻辑与运算,结果送到目的操作数
AND指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义
AND reg,imm/reg/mem ;reg←reg∧imm/reg/mem
AND mem,imm/reg ;mem←mem∧imm/reg
只有相“与”的两位都是1,结果才是1;否则,“与”的结果为0
AND
逻辑或指令OR
对两个操作数执行逻辑或运算,结果送到目的操作数
OR指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义
OR reg,imm/reg/mem ;reg←reg∨imm/reg/mem
OR mem,imm/reg ;mem←mem∨imm/reg
只要相“或”的两位有一位是1,结果就是1;否则,结果为0
OR
逻辑异或指令XOR
对两个操作数执行逻辑异或运算,结果送到目的操作数
XOR指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义
XOR reg,imm/reg/mem ;reg←reg⊕imm/reg/mem
XOR mem,imm/reg ;mem←mem⊕imm/reg
只有相“异或”的两位不相同,结果才是1;否则,结果为0
XOR
逻辑非指令NOT
对一个操作数执行逻辑非运算
NOT指令是一个单操作数指令
NOT指令不影响标志位
NOT reg/mem ;reg/mem←~reg/mem
按位取反,原来是“0”的位变为“1”;原来是“1”的位变为“0”
NOT
例题:逻辑运算
mov al,45h ;逻辑与 al=01h
and al,31h ;CF=OF=0,SF=0、ZF=0、PF=0
mov al,45h ;逻辑或 al=75h
or al,31h ;CF=OF=0,SF=0、ZF=0、PF=0
mov al,45h ;逻辑异或 al=74h
xor al,31h ;CF=OF=0,SF=0、ZF=0、PF=1
mov al,45h ;逻辑非 al=0bah
not al ;标志不变
例题:逻辑指令应用
;AND指令可用于复位某些位(同0相与),不影响其他位:将BL中D3和D0位清0,其他位不变
and bl,11110110B
;OR指令可用于置位某些位(同1相或),不影响其他位:将BL中D3和D0位置1,其他位不变
or bl, 00001001B
;XOR指令可用于求反某些位(同1相异或),不影响其他位:将BL中D3和D0位求反,其他不变
xor bl, 00001001B
测试指令TEST
对两个操作数执行逻辑与运算,结果不回送到目的操作数
AND指令设置CF = OF = 0,根据结果设置SF、ZF和PF状态,而对AF未定义
TEST reg,imm/reg/mem ;reg∧imm/reg/mem
TEST mem,imm/reg ;mem∧imm/reg
只有相“与”的两位都是1,结果才是1;否则,“与”的结果为0
TEST
:测试为0或1
test al,01h ;测试AL的最低位D0
jnz there ;标志ZF=0,即D0=1
;则程序转移到there
... ;否则ZF=1,即D0=0,顺序执行
there: ...
TEST指令通常用于检测一些条件是否满足,但又不希望改变原操作数的情况
TEST

汇编语言2-2 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数91
  • 收藏数0 收藏
  • 顶次数0
  • 上传人szh187166
  • 文件大小0 KB
  • 时间2015-10-26