diff options
author | Jacques Comeaux <jacquesrcomeaux@protonmail.com> | 2024-05-19 13:52:10 -0500 |
---|---|---|
committer | Jacques Comeaux <jacquesrcomeaux@protonmail.com> | 2024-05-19 13:52:10 -0500 |
commit | c96ba2b2678e4b92e7969c683d4cb3f1648af813 (patch) | |
tree | 38d8eef4cdc62a3ab508b4884a44657b22b9fbf7 /string.s | |
parent | a63eba62ae9faffea51ba618b0d20f132c23c452 (diff) |
Rework assembler for simplified instruction set
- Remove commas and brackets from syntax
- Rename opcodes for unambiguous instruction encodings
- Redesign parse instruction encoding
- Implement opcode parser
- Add bit-width restriction to octal parser
Diffstat (limited to 'string.s')
-rw-r--r-- | string.s | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/string.s b/string.s new file mode 100644 index 0000000..0ed7ca3 --- /dev/null +++ b/string.s @@ -0,0 +1,16 @@ +// R0 : string1 address +// R1 : string2 address +// Result in R0 +string_compare: + MOVS R4, 0 +loop: + LDRB R2, [R0, R4] + LDRB R3, [R1, R4] + CMP R2, R3 + BNE done + CMP R2, 0 + BEQ done + ADDS R4, 1 + B loop +done: + BX LR |