diff --git a/app/src/test/java/android/emu6502/AssemblerTest.java b/app/src/test/java/android/emu6502/AssemblerTest.java index 0acee5f..05eba1d 100644 --- a/app/src/test/java/android/emu6502/AssemblerTest.java +++ b/app/src/test/java/android/emu6502/AssemblerTest.java @@ -1,9 +1,9 @@ package android.emu6502; -import com.google.common.collect.ImmutableList; - import android.emu6502.instructions.Symbols; +import com.google.common.collect.ImmutableList; + import org.junit.Before; import org.junit.Test; @@ -127,4 +127,14 @@ public class AssemblerTest { assembler.assembleCode(lines); assertThat(assembler.hexdump(), equalTo("0600: A9 03 4C 08 06 00 00 00 8D 00 02")); } + + @Test public void testSymbols() { + List lines = ImmutableList.of( + "define sysRandom $fe ; an adress", + "define a_dozen $0c ; a constant", + "LDA sysRandom ; equivalent to \"LDA $fe\"", + "LDX #a_dozen ; equivalent to \"LDX #$0c\""); + assembler.assembleCode(lines); + assertThat(assembler.hexdump(), equalTo("0600: A5 FE A2 0C")); + } } diff --git a/app/src/test/java/android/emu6502/CPUTest.java b/app/src/test/java/android/emu6502/CPUTest.java index a1fb5e0..3d1d992 100644 --- a/app/src/test/java/android/emu6502/CPUTest.java +++ b/app/src/test/java/android/emu6502/CPUTest.java @@ -126,4 +126,18 @@ public class CPUTest { assertThat(cpu.getPC(), equalTo(0x0613)); assertThat(cpu.flags(), equalTo("00110011")); } + + @Test public void testSymbols() { + List lines = ImmutableList.of( + "define a_dozen $0c ; a constant", + "LDX #a_dozen ; equivalent to \"LDX #$0c\""); + assembler.assembleCode(lines); + cpu.execute(); + assertThat(cpu.getA(), equalTo(0x00)); + assertThat(cpu.getX(), equalTo(0x0C)); + assertThat(cpu.getY(), equalTo(0x00)); + assertThat(cpu.getSP(), equalTo(0xFF)); + assertThat(cpu.getPC(), equalTo(0x0603)); + assertThat(cpu.flags(), equalTo("00110000")); + } }