Files
emuz80go/ld_r_a_test.go

21 lines
548 B
Go

package z80
import "testing"
// Clarify semantics of LD R,A (ED 4F): R should become exactly A (all 8 bits).
// This guards against accidental attempts to preserve R7 here.
func TestED_LD_R_A_CopiesAllBits(t *testing.T) {
cpu, mem, _ := testCPU()
// Arrange: set A with a top bit pattern and verify R=A after ED 4F.
loadProgram(cpu, mem, 0x0000,
0x3E, 0x81, // LD A,81h
0xED, 0x4F, // LD R,A
)
cpu.R = 0x00
mustStep(t, cpu) // LD A,81
mustStep(t, cpu) // LD R,A
if cpu.R != 0x81 {
t.Errorf("LD R,A: got R=%02X want 81", cpu.R)
}
}