x 指令系统 第2部分
1 指令系统 第2部分
三、逻辑运算和移位类 与 或 逻辑运算非 异或 逻辑移位 移位操作非循环移位算术移位 循环移位「不带进位位的移位 带进位位的移位大
2 三、逻辑运算和移位类 逻辑运算 移位操作 与 或 非 异或 非循环移位 循环移位 逻辑移位 算术移位 不带进位位的移位 带进位位的移位
1.逻辑运算 逻辑运算指令对操作数的要求大多与 MoV指令相同。“非”运算指令要求操 作数不能是立即数; ●除“非”运算指令外,其余指令的执行 都会使标志位OF=CF=0
3 1.逻辑运算 ⚫ 逻辑运算指令对操作数的要求大多与 MOV指令相同。“非”运算指令要求操 作数不能是立即数; ⚫ 除“非”运算指令外,其余指令的执行 都会使标志位OF=CF=0
与”指令 格式: AND OPRD1,OPRD2 操作:两操作数相“与”,结果送目标 地址
4 “与”指令: ⚫ 格式: AND OPRD1,OPRD2 ⚫ 操作: 两操作数相“与”,结果送目标 地址
与”指令的应用 ●实现两操作数相与的运算; ●使目标操作数的某些位不变,某些位清 零 在操作数不变的情况下使CF和OF清零 实现手段:
5 “与”指令的应用 ⚫ 实现两操作数相与的运算; ⚫ 使目标操作数的某些位不变,某些位清 零; ⚫ 在操作数不变的情况下使CF和OF清零。 ⚫ 实现手段:
与”指令应用例 e AND BL, [BX ● AND AL,0FH o AND AX, AX
6 “与”指令应用例 ⚫ AND BL,[BX] ⚫ AND AL,0FH ⚫ AND AX,AX
或”运算指令 格式: OR OPRD1,OPRD2 ●操作:两操作数相“或”,结果送目标 地 址
7 “或”运算指令 ⚫ 格式: OR OPRD1,OPRD2 ⚫ 操作: 两操作数相“或”,结果送目标 地 址
“或”指令的应用 实现两操作数相“或”的运算 ●使某些位不变,某些位置“1” 在不改变操作数的情况下使OF=CF=0
8 “或”指令的应用 ⚫ 实现两操作数相“或”的运算; ⚫ 使某些位不变,某些位置“1” ⚫ 在不改变操作数的情况下使OF=CF=0
“或”指令的应用例 OR AX, [DI] OR AL, AL ●ORcL,0FH JPE GOON ●ORAX,AX OR AL, 80H GOON 将一个二进制 偶校验转移 数9变为字符 (PF=1)
9 “或”指令的应用例 ⚫ OR AX,[DI] ⚫ OR CL,0FH ⚫ OR AX,AX OR AL,AL JPE GOON OR AL,80H GOON:…. 偶校验转移 (PF=1) 将一个二进制 数9变为字符 ‘9’ ?
非”运算指令 ●格式: NOT OPRD ●操作:操作数按位取反再送回原地址 ●指令中的操作数不能是立即数 指令的执行对标志位无影响 例: NOT BYTE PTR[BX]
10 “非”运算指令 ⚫ 格式:NOT OPRD ⚫ 操作:操作数按位取反再送回原地址 ⚫ 指令中的操作数不能是立即数 ⚫ 指令的执行对标志位无影响 ⚫ 例:NOT BYTE PTR[BX]