DEPTH=8192;
|
DEPTH=8192;
|
WIDTH=16;
|
WIDTH=16;
|
ADDRESS_RADIX=HEX;
|
ADDRESS_RADIX=HEX;
|
DATA_RADIX=BIN;
|
DATA_RADIX=BIN;
|
|
|
CONTENT
|
CONTENT
|
BEGIN
|
BEGIN
|
|
|
% Assembly output %
|
% Assembly output %
|
0: 1010000010000000; % ldil r0, lo(8) %
|
0: 1010000010000000; % ldil r0, lo(8) %
|
1: 1011000000000000; % ldih r0, hi(8) %
|
1: 1011000000000000; % ldih r0, hi(8) %
|
2: 1010000000000001; % ldil r1, lo(8192) %
|
2: 1010000000000001; % ldil r1, lo(8192) %
|
3: 1011001000000001; % ldih r1, hi(8192) %
|
3: 1011001000000001; % ldih r1, hi(8192) %
|
4: 1100000000000010; % ldib r2, 0 %
|
4: 1100000000000010; % ldib r2, 0 %
|
5: 1110000000010011; % __init_data_loop__: load r3, r1 %
|
5: 1110000000010011; % __init_data_loop__: load r3, r1 %
|
6: 1110000100100011; % store r3, r2 %
|
6: 1110000100100011; % store r3, r2 %
|
7: 1101011000100001; % addi r1, 2 %
|
7: 1101011000100001; % addi r1, 2 %
|
8: 1101011000100010; % addi r2, 2 %
|
8: 1101011000100010; % addi r2, 2 %
|
9: 1101010100100000; % cmp r0, r2 %
|
9: 1101010100100000; % cmp r0, r2 %
|
a: 1111001011111011; % brnz __init_data_loop__ %
|
a: 1111001011111011; % brnz __init_data_loop__ %
|
b: 1100011110100000; % ldib r0, 0x7a %
|
b: 1100011110100000; % ldib r0, 0x7a %
|
c: 1111110100000000; % stvec r0, 0 %
|
c: 1111110100000000; % stvec r0, 0 %
|
d: 1100011110110000; % ldib r0, 0x7b %
|
d: 1100011110110000; % ldib r0, 0x7b %
|
e: 1111110100010000; % stvec r0, 1 %
|
e: 1111110100010000; % stvec r0, 1 %
|
f: 1100011111000000; % ldib r0, 0x7c %
|
f: 1100011111000000; % ldib r0, 0x7c %
|
10: 1111110100100000; % stvec r0, 2 %
|
10: 1111110100100000; % stvec r0, 2 %
|
11: 1100011111010000; % ldib r0, 0x7d %
|
11: 1100011111010000; % ldib r0, 0x7d %
|
12: 1111110100110000; % stvec r0, 3 %
|
12: 1111110100110000; % stvec r0, 3 %
|
13: 1100011111100000; % ldib r0, 0x7e %
|
13: 1100011111100000; % ldib r0, 0x7e %
|
14: 1111110101000000; % stvec r0, 4 %
|
14: 1111110101000000; % stvec r0, 4 %
|
15: 1100000000011111; % ldib r15, 1 %
|
15: 1100000000011111; % ldib r15, 1 %
|
16: 1100000010100101; % ldib r5, 10 %
|
16: 1100000010100101; % ldib r5, 10 %
|
17: 1010000010000001; % ldil r1, lo(stack) %
|
17: 1010000010000001; % ldil r1, lo(stack) %
|
18: 1011000000000001; % ldih r1, hi(stack) %
|
18: 1011000000000001; % ldih r1, hi(stack) %
|
19: 1010010001110010; % ldil r2, lo(factorial) %
|
19: 1010010001110010; % ldil r2, lo(factorial) %
|
1a: 1011000000000010; % ldih r2, hi(factorial) %
|
1a: 1011000000000010; % ldih r2, hi(factorial) %
|
1b: 1100001100000110; % ldib r6, 0x30 %
|
1b: 1100001100000110; % ldib r6, 0x30 %
|
1c: 1100000010100111; % ldib r7, 10 %
|
1c: 1100000010100111; % ldib r7, 10 %
|
1d: 1010000000001000; % ldil r8, lo(iobuf) %
|
1d: 1010000000001000; % ldil r8, lo(iobuf) %
|
1e: 1011000000001000; % ldih r8, hi(iobuf) %
|
1e: 1011000000001000; % ldih r8, hi(iobuf) %
|
1f: 1010001100101001; % ldil r9, lo(convert) %
|
1f: 1010001100101001; % ldil r9, lo(convert) %
|
20: 1011000000001001; % ldih r9, hi(convert) %
|
20: 1011000000001001; % ldih r9, hi(convert) %
|
21: 1100111110001100; % ldib r12, -8 %
|
21: 1100111110001100; % ldib r12, -8 %
|
22: 1100000001001011; % ldib r11, (1 << 2) %
|
22: 1100000001001011; % ldib r11, (1 << 2) %
|
23: 1110000111001011; % store r11, r12 %
|
23: 1110000111001011; % store r11, r12 %
|
24: 1010001111011100; % ldil r12, lo(isr) %
|
24: 1010001111011100; % ldil r12, lo(isr) %
|
25: 1011000000001100; % ldih r12, hi(isr) %
|
25: 1011000000001100; % ldih r12, hi(isr) %
|
26: 1111110100111100; % stvec r12, 3 %
|
26: 1111110100111100; % stvec r12, 3 %
|
27: 1100111110101100; % ldib r12, -6 %
|
27: 1100111110101100; % ldib r12, -6 %
|
28: 1101000011110000; % loop: mov r0, r15 %
|
28: 1101000011110000; % loop: mov r0, r15 %
|
29: 1110100000100011; % call r2, r3 %
|
29: 1110100000100011; % call r2, r3 %
|
2a: 1110100010010011; % call r9, r3 %
|
2a: 1110100010010011; % call r9, r3 %
|
2b: 1111111011101101; % wait: getfl r13 %
|
2b: 1111111011101101; % wait: getfl r13 %
|
2c: 1101111101001101; % btest r13, 4 %
|
2c: 1101111101001101; % btest r13, 4 %
|
2d: 1111001011111110; % brnz wait %
|
2d: 1111001011111110; % brnz wait %
|
2e: 1101011000011111; % addi r15, 1 %
|
2e: 1101011000011111; % addi r15, 1 %
|
2f: 1101010101011111; % cmp r15, r5 %
|
2f: 1101010101011111; % cmp r15, r5 %
|
30: 1111001011111000; % brnz loop %
|
30: 1111001011111000; % brnz loop %
|
31: 1111000000000000; % exit: br exit %
|
31: 1111000000000000; % exit: br exit %
|
32: 1101011000101000; % convert: addi r8, 2 %
|
32: 1101011000101000; % convert: addi r8, 2 %
|
33: 1101000001001010; % mov r10, r4 %
|
33: 1101000001001010; % mov r10, r4 %
|
34: 1101001001111010; % umod r10, r7, r10 %
|
34: 1101001001111010; % umod r10, r7, r10 %
|
35: 0000101001101010; % add r10, r6, r10 %
|
35: 0000101001101010; % add r10, r6, r10 %
|
36: 1110010110001010; % storel r10, r8 %
|
36: 1110010110001010; % storel r10, r8 %
|
37: 1101011000011000; % addi r8, 1 %
|
37: 1101011000011000; % addi r8, 1 %
|
38: 1001010001110100; % udiv r4, r7, r4 %
|
38: 1001010001110100; % udiv r4, r7, r4 %
|
39: 1101011100000100; % cmpi r4, 0 %
|
39: 1101011100000100; % cmpi r4, 0 %
|
3a: 1111001011111001; % brnz convert_loop %
|
3a: 1111001011111001; % brnz convert_loop %
|
3b: 1111111111110010; % sei %
|
3b: 1111111111110010; % sei %
|
3c: 1111111000000011; % jmp r3 %
|
3c: 1111111000000011; % jmp r3 %
|
3d: 1101011100001000; % isr: cmpi r8, iobuf %
|
3d: 1101011100001000; % isr: cmpi r8, iobuf %
|
3e: 1111000100000101; % brz written %
|
3e: 1111000100000101; % brz written %
|
3f: 1101011011111000; % addi r8, -1 %
|
3f: 1101011011111000; % addi r8, -1 %
|
40: 1110010010001010; % loadb r10, r8 %
|
40: 1110010010001010; % loadb r10, r8 %
|
41: 1110000111001010; % store r10, r12 %
|
41: 1110000111001010; % store r10, r12 %
|
42: 1111111111110000; % reti %
|
42: 1111111111110000; % reti %
|
43: 1111111100001010; % written: getshfl r10 %
|
43: 1111111100001010; % written: getshfl r10 %
|
44: 1101111001001010; % bclr r10, 4 %
|
44: 1101111001001010; % bclr r10, 4 %
|
45: 1111111100011010; % setshfl r10 %
|
45: 1111111100011010; % setshfl r10 %
|
46: 1111111111110000; % reti %
|
46: 1111111111110000; % reti %
|
47: 1101011100010000; % factorial: cmpi r0, 1 %
|
47: 1101011100010000; % factorial: cmpi r0, 1 %
|
48: 1111011100001101; % brule fact_leaf %
|
48: 1111011100001101; % brule fact_leaf %
|
49: 1110000100010000; % store r0, r1 %
|
49: 1110000100010000; % store r0, r1 %
|
4a: 1101011000100001; % addi r1, 2 %
|
4a: 1101011000100001; % addi r1, 2 %
|
4b: 1110000100010011; % store r3, r1 %
|
4b: 1110000100010011; % store r3, r1 %
|
4c: 1101011000100001; % addi r1, 2 %
|
4c: 1101011000100001; % addi r1, 2 %
|
4d: 1101011011110000; % addi r0, -1 %
|
4d: 1101011011110000; % addi r0, -1 %
|
4e: 1110100000100011; % call r2, r3 %
|
4e: 1110100000100011; % call r2, r3 %
|
4f: 1101011011100001; % addi r1, -2 %
|
4f: 1101011011100001; % addi r1, -2 %
|
50: 1110000000010011; % load r3, r1 %
|
50: 1110000000010011; % load r3, r1 %
|
51: 1101011011100001; % addi r1, -2 %
|
51: 1101011011100001; % addi r1, -2 %
|
52: 1110000000010000; % load r0, r1 %
|
52: 1110000000010000; % load r0, r1 %
|
53: 0111010001000000; % mul r0, r4, r4 %
|
53: 0111010001000000; % mul r0, r4, r4 %
|
54: 1111111000000011; % jmp r3 %
|
54: 1111111000000011; % jmp r3 %
|
55: 1100000000010100; % fact_leaf: ldib r4, 1 %
|
55: 1100000000010100; % fact_leaf: ldib r4, 1 %
|
56: 1111111000000011; % jmp r3 %
|
56: 1111111000000011; % jmp r3 %
|
|
|
[ 57..1fff]: 1111111111111111; % Filler %
|
[ 57..1fff]: 1111111111111111; % Filler %
|
|
|
END;
|
END;
|
|
|