微机原理课件第6讲(电子ok).ppt

微机原理课件第6讲(电子ok)

②AND逻辑与指令 AND逻辑与指令 (Logical AND) 格式 AND dst,src。 src可以是立即数。 功能 dst ← dst∧src,执行完后影响标志位。主要用于使操作数的某些位保留(和“1”相与),而使某些位清除(和“0”相与)。 操作数要求 ①可以是8位或16位寄存器、存储器,不能同时为men。 ②对于存储器操作,需指明是字还是字节。 ③OR逻辑或指令 OR逻辑或指令 (Logical OR) 格式 OR dst,src。src可以是立即数。 功能 dst ← dst∨src,执行完后影响标志位。主要用于使操作数的某些位保留(和“0”相或),而使某些位置1(和“0”相或)。 操作数要求 ①可以是8位或16位寄存器、存储器,不能同时为men。 ②对于存储器操作,需指明是字还是字节。 AND,OR,NOT举例 举例 MOV AL, 35H; AL=0011,0101B AND AL, 0FH ; ∧ 0000,1111B,得AL=05H OR AL,70H ; ∨ 0111,0000B,得AL=75H NOT AL; 取反得1000,1010B ,即AL=8AH ④XOR异或指令 XOR异或指令 (Exclusive OR) 格式 XOR dst,src。 src可以是立即数。 功能 dst ← dst⊕src,执行完后影响标志位。主要用于使操作数的某些位保留(和“0”相异或),而使某些位取反(和“1”相异或)。 操作数要求 ①可以是8位或16位reg、men,不能同时为men。 ②对于存储器操作,需指明是字还是字节。 ⑤TEST测试指令 TEST测试指令 (Test) 格式 TEST dst,src。 src可以是立即数。 功能 dst∧src,执行完后影响标志位。但是与完后的结果不回送。主要用于对某些位数据的检测,编程时,其后往往紧跟条件转移指令。 操作数要求 ①可以是8位或16位寄存器、存储器,不能同时为men。 ②对于存储器操作,需指明是字还是字节。 逻辑运算指令总结 除了NOT指令外,其他指令都影响状态标志位。这些指令将根据各自逻辑运算的结果影响SF、ZF和PF状态标志位,同时将CF和OF置“0”,但AF的值不确定。 算术逻辑移位指令 命令 含义 时钟数 SHL/SAL 逻辑/算术左移 2~20+EA+4*位 SHR 逻辑右移 2~20+EA+4*位 SAR 算术右移 2~20+EA+4*位 ①SHL/SAL逻辑算术左移指令 SHL/SAL逻辑算术左移指令 (Shift Logic/Arithmetic Left) 格式 SHL/SAL dst,1/CL。 功能 将寄存器或存储器中的目的操作数的各位左移,每移一次,最低有效位LSB补0,而最高有效位MSB进入标志位CF。 MSB LSB …… 0 CF ①SHL/SAL逻辑算术左移指令 举例 MOV AH,06H ;AH=06H SAL AH,1 ;将AH的内容左移1次,AH= MOV CL,03H SHL DI,CL ;将DI的内容左移3次 SAL BYTE PTR[BX] ;将内存单元的字节左移1位 左移一次,相当于乘以2,仅移位一次时,可以直接用立即数表示,否则,移位次数必须送入CL中。 ②SHR逻辑右移指令 SHR逻辑右移指令 (Shift Logic Right) 格式 SHR dst,1/CL。 功能 各位进行右移。每移一次,低位进入CF,最高位补0。 MSB LSB …… 0 CF ②SHR逻辑右移指令 说明 若目的操作数为无符号数,每右移一次,目的操作数除以2,余数被丢掉。 举例 用右移的方法作除法133/8=16…5。 解: MOV AL,1000 0101B ;AL=133 MOV CL,03H ;CL=移位次数 SHR AL,CL ;右移3次 指令执行后,AL=10H=16,余数5被丢失。标志位CF、AF不定。 ③SAR算术右移指令 SAR算术右移指令 (Shift Arithmetic Right) 格式 SAR dst,1/CL。 功能

文档评论(0)

1亿VIP精品文档

相关文档