“异或”运算指令 ●格式: XOR OPRD1,OPRD2 操作:两操作数相“异或”,结果送目 标 地址 ●两操作数自身相异或,结果 XOR AX, AX
11 “异或”运算指令 ⚫ 格式: XOR OPRD1,OPRD2 ⚫ 操作: 两操作数相“异或”,结果送目 标 地址 ⚫ 两操作数自身相异或,结果 XOR AX,AX
测试”指令 格式: TEST OPRD1,OPRD2 ●操作:执行“与”运算,但运算的结果 不 送回目标地址。 应用:常用于测试某些位的状态
12 “测试”指令 ⚫ 格式: TEST OPRD1,OPRD2 ⚫ 操作: 执行“与”运算,但运算的结果 不 送回目标地址。 ⚫ 应用:常用于测试某些位的状态
测试”指令例 ●从地址为38F0H的端口中读入一个字节数, 如果该数的bt位为1,则可从38FEH端口 将DATA为首地址的一个字输出,否则就不 能进行数据传送。 编写相应的程序段
13 “测试”指令例 ⚫ 从地址为38F0H的端口中读入一个字节数, 如果该数的bit1位为1,则可从38FEH端口 将DATA为首地址的一个字输出,否则就不 能进行数据传送。 编写相应的程序段
测试”指令例 开始 测试bt位状态 取待输出数的 偏移地址 Bitl=1? 取输入口地址 取输出口地址 读入状态字 输出一个字 大
14 “测试”指令例 开 始 取待输出数的 偏移地址 读入状态字 测试bit1位状态 Bit1=1? 取输入口地址 取输出口地址 输出一个字 N Y
测试”指令例 LEA SI, DATA MOV DX 38FOH WATT: N 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