.CODE
.ADDR x0000
MAIN
CONST R2, #32
HICONST R2, #64
ADD R3, R2, #5
FOR_LOOP
CMP R2, R3
BRzp END_FOR_LOOP
JSR SUB_FACTORIAL
ADD R2, R2, #1
JMP FOR_LOOP
END_FOR_LOOP
JMP END
.ADDR x0010
SUB_FACTORIAL
LDR R0, R2, #0
CMPI R0, #0
BRnp END_IF1
CONST R1, #1
JMP END_SUB_FACTORIAL
END_IF1
BRp END_IF2
CONST R1, #511
JMP END_SUB_FACTORIAL
END_IF2
CMPI R0, #7
BRnz END_IF3
CONST R1, #511
JMP END_SUB_FACTORIAL
END_IF3
ADD R1, R0, #0
LOOP
CMPI R0, #1
BRnz END_SUB_FACTORIAL
ADD R0, R0, #-1
MUL R1, R1, R0
JMP LOOP
END_SUB_FACTORIAL
STR R1, R2, #0
JMPR R7
END
NOP
.DATA
.ADDR x4020
VALUES
.FILL x0006
.FILL x0005
.FILL x0008
.FILL x000A
.FILL xFFFB