

LD  r0 , [r1]
; Type 1
ADD R1, r1, r2
ADD R5, R3, R6, ROR
ADD R5, R3, R6, ASR
ADD R5, R3, R6, RRC

ADC R1, r1, r2
SUB R1, r1, r2
SBC R1, r1, r2
AND R1, r1, r2
OR R1, r1, r2

; Type 2
ADDS R1, R1, #10
ADC R1, R1, #10
SUB R1, R1, #10
SBC R1, R1, #10
AND R1, R1, #10
OR R1, R1, #10

; Psuedo 
MOV R1, R1,
CMP R1, R1,
TST R1, R1, ROR
MOV R1, #10
CMP R1, #10
TST R1, #10 
NOP 
NEG R1, R1

; mem 
LD R0, [R1]
ST R0, [R1]
LD R1, [R2, #10]
ST R1, [R2, #10]
LD R0, [R1,r2]
ST R0, [R1,r2]
LD R0, [R1,r2, ROR]
ST R0, [R1,r2, ROR]

LD r1, test_label 
ST r1, test_label 
LD r1, [R2, test_label]
ST r1, [R2, test_label]
LD r1, test_label
ST r1, test_label

ALIGN 
test_label DEFW 10
label DEFW 10

bal label ; Always
b label ; Always (alternative)
bra label ; Always (alternative)
bnv label ; Never (uninteresting)
bhi label ; HIgher
bls label ; Lower or Same
bcc label ; Carry Clear
bcs label ; Carry Set
bne label ; Not Equal
beq label ; EQual
bvc label ; oVerflow Clear
bvs label ; oVerflow Set
bpl label ; PLus (positive)
bmi label ; MInus (negative)
bge label ; Greater or Equal
blt label ; Less Than
bgt label ; Greater Than
ble label ; Less or Equal
ble label_after
ble label_after_after

label_after DEFW 120

ORG 256
label_after_after DEFW 120

MOV R4, R5