From cbad8aabbc82efbe7a49572a2da74224ae9c9f85 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Sun, 1 Dec 2019 17:40:41 -0500 Subject: Added the ability to disable the prefix byte. Any instructions that either have a register size of 8 bits, use implied addressing, or branch can save a byte by disabling the prefix byte. It does this by checking if the first three bits are all set to 1. If true, then it will treat it as a prefix byte, otherwise, it will treat it as an opcode. --- test/test-no-prefix.s | 8 ++++++++ test/test.s | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test/test-no-prefix.s (limited to 'test') diff --git a/test/test-no-prefix.s b/test/test-no-prefix.s new file mode 100644 index 0000000..3c9c6a9 --- /dev/null +++ b/test/test-no-prefix.s @@ -0,0 +1,8 @@ +cps +lda #$10 +rol #$1 +jmp $3 +;viewmem +;q +done + diff --git a/test/test.s b/test/test.s index 3e8a7f2..7c36579 100644 --- a/test/test.s +++ b/test/test.s @@ -5,7 +5,7 @@ cps ; Clear the processor status register. lda.w #$1000 ; Load 0x1000 into the accumulator. rol #$1 ; Then rotate the accumulator left by 1 bit. -jmp $8006 ; And then loop. +jmp $8005 ; And then loop. .org $FFC0 ; Reset vector. .qword $8000 -- cgit v1.2.3-13-gbd6f