OpenCores
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:

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.