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 | 
