异或”运算指令 ■格式: XOR OPRD1,oPRD2 ■操作:两操作数相“异或”,结果送目标 地址 两操作数自身相异或,结果 XOR AXAX
11 “异或”运算指令 ◼ 格式: XOR OPRD1,OPRD2 ◼ 操作: 两操作数相“异或”,结果送目标 地址 ◼ 两操作数自身相异或,结果 XOR AX,AX
N测试”指令 格式: TEST OPRD1,OPRD2 ■操作:执行“与”运算,但运算的结果不 送回目标地址。 应用:常用于测试某些位的状态
12 “测试”指令 ◼ 格式: TEST OPRD1,OPRD2 ◼ 操作: 执行“与”运算,但运算的结果不 送回目标地址。 ◼ 应用: 常用于测试某些位的状态
N测试”指令例 ■从地址为38F0H的端口中读入一个字节数, 如果该数的b1位为1,则可从38FEH端口 将DATA为首地址的一个字输出,否则就不 能进行数据传送。 编写相应的程序段。 13
13 “测试”指令例 ◼ 从地址为38F0H的端口中读入一个字节数, 如果该数的bit1位为1,则可从38FEH端口 将DATA为首地址的一个字输出,否则就不 能进行数据传送。 编写相应的程序段
N测试”指令例 开始 测试bit位状态 取待输出数的 偏移地址 Bit1=1? 取输入口地址 取输出口地址 读入状态字 输出一个字 14
14 “测试”指令例 开 始 取待输出数的 偏移地址 读入状态字 测试bit1位状态 Bit1=1? 取输入口地址 取输出口地址 输出一个字 N Y
N测试”指令例 LEA SI, DATA MOV DX, 38FOH WATT: IN AL, DX TEST AL, 02H JZ WATT ;zF=1转移 Mov DX, 38FEH MOV AX,[s工] OUT DX, AX
15 “测试”指令例 LEA SI,DATA MOV DX,38F0H WATT:IN AL,DX TEST AL,02H JZ WATT ;ZF=1转移 MOV DX,38FEH MOV AX,[SI] OUT DX,AX