URL
https://opencores.org/ocsvn/c16/c16/trunk
Subversion Repositories c16
[/] [c16/] [trunk/] [loader.lst] - Rev 26
Compare with Previous | Blame | View Log
IN_RX_DATA = 0
IN_STATUS = 1
MEMTOP = 8192
OUT_TX_DATA = 0
RELOC_SRC = 488
0000: F8 0018 MOVE #reloc_rr, RR
0003: 4F MOVE RR, SP
0004: FC 2000 MOVE #MEMTOP, LL
reloc:
0007: 08 MOVE (SP)+, RR
0008: 6E MOVE -(RR), -(LL)
0009: 0E MOVE RR, -(SP)
000A: 24 001A SHI RR, #start
000D: 03 0007 JMP RRNZ, reloc
0010: F8 1E32 MOVE #stack, RR
0013: 4F MOVE RR, SP
0014: 05 1EF0 CALL Cmain
halt:
0017: 00 HALT
reloc_rr:
0018: 01E8 .WORD RELOC_SRC
start:
stack:
Cgetchr:
L2_loop_1:
L2_cont_1:
1E32: 2E 01 IN (IN_STATUS), RU
1E34: 11 01 AND RR, #1
1E36: 3D LNOT RR
1E37: 03 1E32 JMP RRNZ, L2_loop_1
L2_brk_2:
1E3A: 2E 00 IN (IN_RX_DATA), RU
1E3C: 07 RET
Cputchr:
L3_loop_3:
L3_cont_3:
1E3D: 2E 01 IN (IN_STATUS), RU
1E3F: 11 02 AND RR, #2
1E41: 03 1E3D JMP RRNZ, L3_loop_3
L3_brk_4:
1E44: 65 02 MOVE 2(SP), RU
1E46: 2F 00 OUT R, (OUT_TX_DATA)
1E48: 07 RET
Cprint_string:
1E49: 02 1E59 JMP L4_cont_5
L4_loop_5:
1E4C: 61 02 MOVE 2(SP), RR
1E4E: A1 ADD RR, #1
1E4F: 5D 02 MOVE RR, 2(SP)
1E51: B1 SUB RR, #1
1E52: 47 MOVE (RR), RS
1E53: 0F MOVE R, -(SP)
1E54: 05 1E3D CALL Cputchr
1E57: 2B 01 ADD SP, #1
L4_cont_5:
1E59: 61 02 MOVE 2(SP), RR
1E5B: 47 MOVE (RR), RS
1E5C: 03 1E4C JMP RRNZ, L4_loop_5
L4_brk_6:
1E5F: 07 RET
Cget_nibble:
1E60: 05 1E32 CALL Cgetchr
1E63: 0F MOVE R, -(SP)
1E64: 65 00 MOVE 0(SP), RU
1E66: 29 30 SLO RR, #48
1E68: 04 1E71 JMP RRZ, L5_endif_7
1E6B: F8 00FF MOVE #255, RR
1E6E: 2B 01 ADD SP, #1
1E70: 07 RET
L5_endif_7:
1E71: 65 00 MOVE 0(SP), RU
1E73: 27 39 SLS RR, #57
1E75: 04 1E7F JMP RRZ, L5_endif_8
1E78: 65 00 MOVE 0(SP), RU
1E7A: F7 30 SUB RR, #48
1E7C: 2B 01 ADD SP, #1
1E7E: 07 RET
L5_endif_8:
1E7F: 65 00 MOVE 0(SP), RU
1E81: 29 41 SLO RR, #65
1E83: 04 1E8C JMP RRZ, L5_endif_9
1E86: F8 00FF MOVE #255, RR
1E89: 2B 01 ADD SP, #1
1E8B: 07 RET
L5_endif_9:
1E8C: 65 00 MOVE 0(SP), RU
1E8E: 27 46 SLS RR, #70
1E90: 04 1E9A JMP RRZ, L5_endif_10
1E93: 65 00 MOVE 0(SP), RU
1E95: F7 37 SUB RR, #55
1E97: 2B 01 ADD SP, #1
1E99: 07 RET
L5_endif_10:
1E9A: 65 00 MOVE 0(SP), RU
1E9C: 29 61 SLO RR, #97
1E9E: 04 1EA7 JMP RRZ, L5_endif_11
1EA1: F8 00FF MOVE #255, RR
1EA4: 2B 01 ADD SP, #1
1EA6: 07 RET
L5_endif_11:
1EA7: 65 00 MOVE 0(SP), RU
1EA9: 27 66 SLS RR, #102
1EAB: 04 1EB5 JMP RRZ, L5_endif_12
1EAE: 65 00 MOVE 0(SP), RU
1EB0: F7 57 SUB RR, #87
1EB2: 2B 01 ADD SP, #1
1EB4: 07 RET
L5_endif_12:
1EB5: F8 00FF MOVE #255, RR
1EB8: 2B 01 ADD SP, #1
1EBA: 07 RET
1EBB: 2B 01 ADD SP, #1
1EBD: 07 RET
Cget_byte:
1EBE: 05 1E60 CALL Cget_nibble
1EC1: 0F MOVE R, -(SP)
1EC2: 2D CLRB -(SP)
1EC3: 65 01 MOVE 1(SP), RU
1EC5: 18 00FF SNE RR, #255
1EC8: 04 1EE3 JMP RRZ, L6_endif_13
1ECB: 05 1E60 CALL Cget_nibble
1ECE: 5F 00 MOVE R, 0(SP)
1ED0: 65 00 MOVE 0(SP), RU
1ED2: 18 00FF SNE RR, #255
1ED5: 04 1EE3 JMP RRZ, L6_endif_14
1ED8: 65 01 MOVE 1(SP), RU
1EDA: 52 04 LSL RR, #4
1EDC: 43 MOVE RR, LL
1EDD: 65 00 MOVE 0(SP), RU
1EDF: 31 OR LL, RR
1EE0: 2B 02 ADD SP, #2
1EE2: 07 RET
L6_endif_14:
L6_endif_13:
1EE3: F8 1FC7 MOVE #Cstr_5, RR
1EE6: 0E MOVE RR, -(SP)
1EE7: 05 1E49 CALL Cprint_string
1EEA: 2B 02 ADD SP, #2
1EEC: 00 HALT
1EED: 2B 02 ADD SP, #2
1EEF: 07 RET
Cmain:
1EF0: 2D CLRB -(SP)
1EF1: 2C CLRW -(SP)
1EF2: 2D CLRB -(SP)
1EF3: 2D CLRB -(SP)
1EF4: 2D CLRB -(SP)
1EF5: 2D CLRB -(SP)
L7_loop_15:
1EF6: F8 1FDA MOVE #Cstr_7, RR
1EF9: 0E MOVE RR, -(SP)
1EFA: 05 1E49 CALL Cprint_string
1EFD: 2B 02 ADD SP, #2
L7_loop_17:
L7_loop_19:
L7_cont_19:
1EFF: 05 1E32 CALL Cgetchr
1F02: 5F 00 MOVE R, 0(SP)
1F04: 19 3A SNE RR, #58
1F06: 03 1EFF JMP RRNZ, L7_loop_19
L7_brk_20:
1F09: C0 MOVE #0, RR
1F0A: 5F 02 MOVE R, 2(SP)
1F0C: 05 1EBE CALL Cget_byte
1F0F: 5F 00 MOVE R, 0(SP)
1F11: 65 02 MOVE 2(SP), RU
1F13: 43 MOVE RR, LL
1F14: 65 00 MOVE 0(SP), RU
1F16: 58 ADD LL, RR
1F17: 5F 02 MOVE R, 2(SP)
1F19: 65 00 MOVE 0(SP), RU
1F1B: 5F 06 MOVE R, 6(SP)
1F1D: 05 1EBE CALL Cget_byte
1F20: 5F 00 MOVE R, 0(SP)
1F22: 65 02 MOVE 2(SP), RU
1F24: 43 MOVE RR, LL
1F25: 65 00 MOVE 0(SP), RU
1F27: 58 ADD LL, RR
1F28: 5F 02 MOVE R, 2(SP)
1F2A: 65 00 MOVE 0(SP), RU
1F2C: 52 08 LSL RR, #8
1F2E: 5D 04 MOVE RR, 4(SP)
1F30: 05 1EBE CALL Cget_byte
1F33: 5F 00 MOVE R, 0(SP)
1F35: 65 02 MOVE 2(SP), RU
1F37: 43 MOVE RR, LL
1F38: 65 00 MOVE 0(SP), RU
1F3A: 58 ADD LL, RR
1F3B: 5F 02 MOVE R, 2(SP)
1F3D: 61 04 MOVE 4(SP), RR
1F3F: 43 MOVE RR, LL
1F40: 65 00 MOVE 0(SP), RU
1F42: 31 OR LL, RR
1F43: 5D 04 MOVE RR, 4(SP)
1F45: 05 1EBE CALL Cget_byte
1F48: 5F 00 MOVE R, 0(SP)
1F4A: 65 02 MOVE 2(SP), RU
1F4C: 43 MOVE RR, LL
1F4D: 65 00 MOVE 0(SP), RU
1F4F: 58 ADD LL, RR
1F50: 5F 02 MOVE R, 2(SP)
1F52: 65 00 MOVE 0(SP), RU
1F54: 5F 03 MOVE R, 3(SP)
1F56: C0 MOVE #0, RR
1F57: 5F 01 MOVE R, 1(SP)
1F59: 02 1F7C JMP L7_tst_21
L7_loop_21:
1F5C: 05 1EBE CALL Cget_byte
1F5F: 5F 00 MOVE R, 0(SP)
1F61: 65 00 MOVE 0(SP), RU
1F63: 0F MOVE R, -(SP)
1F64: 65 02 MOVE 2(SP), RU
1F66: 0E MOVE RR, -(SP)
1F67: 61 07 MOVE 7(SP), RR
1F69: 0B MOVE (SP)+, LL
1F6A: 58 ADD LL, RR
1F6B: 43 MOVE RR, LL
1F6C: 09 MOVE (SP)+, RS
1F6D: 45 MOVE R, (LL)
1F6E: 65 02 MOVE 2(SP), RU
1F70: 43 MOVE RR, LL
1F71: 65 00 MOVE 0(SP), RU
1F73: 58 ADD LL, RR
1F74: 5F 02 MOVE R, 2(SP)
L7_cont_21:
1F76: 65 01 MOVE 1(SP), RU
1F78: A1 ADD RR, #1
1F79: 5F 01 MOVE R, 1(SP)
1F7B: B1 SUB RR, #1
L7_tst_21:
1F7C: 65 01 MOVE 1(SP), RU
1F7E: 43 MOVE RR, LL
1F7F: 65 06 MOVE 6(SP), RU
1F81: 3C SLO LL, RR
1F82: 03 1F5C JMP RRNZ, L7_loop_21
L7_brk_22:
1F85: 05 1EBE CALL Cget_byte
1F88: 5F 00 MOVE R, 0(SP)
1F8A: 65 02 MOVE 2(SP), RU
1F8C: 43 MOVE RR, LL
1F8D: 65 00 MOVE 0(SP), RU
1F8F: 58 ADD LL, RR
1F90: 5F 02 MOVE R, 2(SP)
1F92: 65 02 MOVE 2(SP), RU
1F94: 04 1F9A JMP RRZ, L7_endif_23
1F97: 02 1FB8 JMP L7_brk_18
L7_endif_23:
1F9A: F9 2E MOVE #46, RR
1F9C: 0F MOVE R, -(SP)
1F9D: 05 1E3D CALL Cputchr
1FA0: 2B 01 ADD SP, #1
1FA2: 65 03 MOVE 3(SP), RU
1FA4: 17 01 SEQ RR, #1
1FA6: 04 1FB5 JMP RRZ, L7_endif_24
1FA9: F8 1FE4 MOVE #Cstr_8, RR
1FAC: 0E MOVE RR, -(SP)
1FAD: 05 1E49 CALL Cprint_string
1FB0: 2B 02 ADD SP, #2
1FB2: 61 04 MOVE 4(SP), RR
1FB4: 06 CALL RR
L7_endif_24:
L7_cont_17:
1FB5: 02 1EFF JMP L7_loop_17
L7_brk_18:
1FB8: F8 1FEE MOVE #Cstr_9, RR
1FBB: 0E MOVE RR, -(SP)
1FBC: 05 1E49 CALL Cprint_string
1FBF: 2B 02 ADD SP, #2
L7_cont_15:
1FC1: 02 1EF6 JMP L7_loop_15
L7_brk_16:
1FC4: 2B 07 ADD SP, #7
1FC6: 07 RET
Cstr_5:
1FC7: 0D .BYTE 13
1FC8: 0A .BYTE 10
1FC9: 45 .BYTE 69
1FCA: 52 .BYTE 82
1FCB: 52 .BYTE 82
1FCC: 4F .BYTE 79
1FCD: 52 .BYTE 82
1FCE: 3A .BYTE 58
1FCF: 20 .BYTE 32
1FD0: 6E .BYTE 110
1FD1: 6F .BYTE 111
1FD2: 74 .BYTE 116
1FD3: 20 .BYTE 32
1FD4: 68 .BYTE 104
1FD5: 65 .BYTE 101
1FD6: 78 .BYTE 120
1FD7: 0D .BYTE 13
1FD8: 0A .BYTE 10
1FD9: 00 .BYTE 0
Cstr_7:
1FDA: 0D .BYTE 13
1FDB: 0A .BYTE 10
1FDC: 4C .BYTE 76
1FDD: 4F .BYTE 79
1FDE: 41 .BYTE 65
1FDF: 44 .BYTE 68
1FE0: 20 .BYTE 32
1FE1: 3E .BYTE 62
1FE2: 20 .BYTE 32
1FE3: 00 .BYTE 0
Cstr_8:
1FE4: 0D .BYTE 13
1FE5: 0A .BYTE 10
1FE6: 44 .BYTE 68
1FE7: 4F .BYTE 79
1FE8: 4E .BYTE 78
1FE9: 45 .BYTE 69
1FEA: 2E .BYTE 46
1FEB: 0D .BYTE 13
1FEC: 0A .BYTE 10
1FED: 00 .BYTE 0
Cstr_9:
1FEE: 0D .BYTE 13
1FEF: 0A .BYTE 10
1FF0: 43 .BYTE 67
1FF1: 48 .BYTE 72
1FF2: 45 .BYTE 69
1FF3: 43 .BYTE 67
1FF4: 4B .BYTE 75
1FF5: 53 .BYTE 83
1FF6: 55 .BYTE 85
1FF7: 4D .BYTE 77
1FF8: 20 .BYTE 32
1FF9: 45 .BYTE 69
1FFA: 52 .BYTE 82
1FFB: 52 .BYTE 82
1FFC: 4F .BYTE 79
1FFD: 52 .BYTE 82
1FFE: 2E .BYTE 46
1FFF: 00 .BYTE 0
Cend_text: