From a63eba62ae9faffea51ba618b0d20f132c23c452 Mon Sep 17 00:00:00 2001 From: Jacques Comeaux Date: Fri, 26 Jan 2024 17:58:33 -0600 Subject: Improve assembler sketch --- assembler/notes | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 assembler/notes (limited to 'assembler/notes') diff --git a/assembler/notes b/assembler/notes new file mode 100644 index 0000000..6206eff --- /dev/null +++ b/assembler/notes @@ -0,0 +1,35 @@ +Clobber +R0: arg1, uart result +R1: arg2 +R2: +R3: shift_amount +------------- +Save +R4: octal result, register result +R5: word under construction +R6: parse instructions +R8: +R9: end_char + +1yyyxxxx Imm yyy = shift amount xxxx = bit-width +00000001 Brackets +0011yyyy Reg yyyy = shift amount +0100yyyy Reg + +MOVS 0x 00 00 88 38 +ADDS 0x 00 00 88 38 +SUBS 0x 00 00 88 38 +CMP 0x 00 00 33 30 +ANDS 0x 00 00 33 30 +ORRS 0x 00 00 33 30 +TST 0x 00 00 33 30 +LSLS 0x 00 E5 33 30 +LSRS 0x 00 E5 33 30 +RORS 0x 00 00 33 30 +LDR 0x E5 33 01 30 +LDRB 0x 36 33 01 30 +STR 0x E5 33 01 30 +STRB 0x 36 33 01 30 +B 0x 00 00 00 88 +B 0x 00 00 00 8B +BX 0x 00 00 00 43 -- cgit v1.2.3