I'm trying to figure out how the Auxiliary Carry flag on the 8080 is affected by logical instructions.
Reading the Intel 8080 manual, it seems that logical instructions do not affect AC:
The Auxiliary Carry bit will be affected by all addition, subtraction, increment, decrement, and compare instructions.
This is repeated in the detailed descriptions of the logical instructions themselves, like this for ORA
:
Condition bits affected: Carry, zero, sign, parity
However, this test program does the following:
ORA A ;RE-SET AUXILIARY CARRY
In addition, this opcode table and this encoding table both list the A
flag as affected by logical instructions.
So I assume they're affected, but that this is undocumented behavior. Can anyone shed any light on the proper behavior here?