I’m having trouble getting this subroutine I’m writing to work. Basically, I am trying to have a subroutine where I would set R0
to a value in some array (R3)
with an offset of R1
.
R0_ORIGINAL .FILL 0
R1_ORIGINAL .FILL 0
R2_ORIGINAL .FILL 0
R3_ORIGINAL .FILL 0
LOAD
ST R0, R0_ORIGINAL
ST R1, R1_ORIGINAL
ST R2, R2_ORIGINAL
ST R3, R3_ORIGINAL
AND R0, R0, #0
ADD R0, R0, R2
BRz SKIP
AND R3, R3, #0
LD R3, FIFTY
ADD R1, R1, R3
SKIP AND R3, R3, #0
LEA R3, CIPHER_ARRAY
STR R0, R3, R1
LD R0, R0_ORIGINAL
LD R1, R1_ORIGINAL
LD R2, R2_ORIGINAL
LD R3, R3_ORIGINAL
RET
CIPHER_ARRAY .BLKW #100
FIFTY .FILL #50
This is the line I’m trying to get to work :
STR R0, R3, R1
It gives me the error :
Expected 6 bit signed number, but found ‘R1’ instead.