Counter

Used Exports

BUILTINS: INTEGER LED

MODULE* Counter;
.MODULE Counter (KEY 00000000, VERSION 0, SIZE 000000B0)
.DATA CH
.FIXUP T 0H
VARa x, y, z: INTEGER;
0000n(E7000007): B 7 [0008H]
0001a(00000000): MOV R0, R0, R0
0002a(00000000): MOV R0, R0, R0
0003a(00000000): MOV R0, R0, R0
0004a(00000000): MOV R0, R0, R0
0005a(00000000): MOV R0, R0, R0
0006a(00000000): MOV R0, R0, R0
0007a(00000000): MOV R0, R0, R0
BEGINb LED(1);c z := 0;d
0008b .PROC 0
0008b .ENTRYPOINT
0008b(4D000000): MOV SB, R0, 0H
0009b(5E00FFC0): MOV SP, R0, FFFFFFC0H
000Ac(40000001): MOV R0, R0, 1H
000Bc(5100FFC4): MOV R1, R0, FFFFFFC4H
000Cc(A0100000): STR R0, R1, 0H
000Dd(40000000): MOV R0, R0, 0H
000Ed(A0D00008): STR R0, SB, 8H
REPEAT LED(z);e x := 1000;f
000Fe(80D00008): LDR R0, SB, 8H
0010e(5100FFC4): MOV R1, R0, FFFFFFC4H
0011e(A0100000): STR R0, R1, 0H
0012f(400003E8): MOV R0, R0, 3E8H
0013f(A0D00000): STR R0, SB, 0H
REPEAT y := 1000;g
0014g(400003E8): MOV R0, R0, 3E8H
0015g(A0D00004): STR R0, SB, 4H
REPEAT y := y-1 UNTILh y = 0;i
0016h(80D00004): LDR R0, SB, 4H
0017h(40090001): SUB R0, R0, 1H
0018h(A0D00004): STR R0, SB, 4H
0019i(80D00004): LDR R0, SB, 4H
001Ai(E9FFFFFB): BNE -5 [0016H]
x := x-1
UNTILj x = 0;k
001Bj(80D00000): LDR R0, SB, 0H
001Cj(40090001): SUB R0, R0, 1H
001Dj(A0D00000): STR R0, SB, 0H
001Ek(80D00000): LDR R0, SB, 0H
001Fk(E9FFFFF4): BNE -12 [0014H]
z := z+1
UNTILl FALSE
0020l(80D00008): LDR R0, SB, 8H
0021l(40080001): ADD R0, R0, 1H
0022l(A0D00008): STR R0, SB, 8H
ENDm Counter.n
0023m(E7FFFFEB): B -21 [000FH]
0024n(40000000): MOV R0, R0, 0H
0025n(C7000000): B R0