AND、XOR和 OR都是按位运算(bitwise operations)指令,也就是说对于这些逻辑运算指令,其操作数的每一个对应位都是独立运算的,例如:MVI A, OFhMVI B, 55hAND A, B
保存到累加器的结果将会是05h。假如我们把3条指令换作OR,则最终的结果将会是5Fh;
如果换作XOR,则结果又变成了5Ah。CMP(Compare,比较)指令同 SUB指令类似,也是把两个数相减,不同之处在于
它并不在累加器中保存计算结果,计算的目的是为了设置标志位。这个标志位的值可以
告诉我们两个操作数之间的大小关系。例如,我们考虑下面的指令:MVI B, 25hCMP A, B
指令执行后,累加器A中的值并没有变化。改变的是标志位的值,如果A中的值等于25h,则零标志位ZF置1;如果A中的值小于25h,则进位标志位CF置1。
同样的,也可以对立即数进行这8种算术逻辑操作。
例如,可以用下面的这条指令来替代上面列出的两条指令:CPI A, 25h
下面是两种特别的8080指令。
编码——隐匿在计算机软硬件背后的语言
288