--------------------------------------------- OSHONSOFT Z80 ASSEMBLER LISTING Line Addr Opcode Label Instruction --------------------------------------------- 0001 0000 ORG 100h ;Line modified by ASM preprocessor (ORG correction): ORG 100h 0002 0100 0003 0100 START: 0004 0100 0005 0100 CD 70 01 CALL FULL_CYCLE 0006 0103 0007 0103 SETUP_OUTPUTS: 0008 0103 0009 0103 ;DESCRIPTION BINARY HEX LOCATION 0010 0103 0011 0103 ;NS GREEN - EW RED 001100 Ch 0x0100 0012 0103 3E 0C LD A, 0Ch 0013 0105 32 01 00 LD (0001h), A 0014 0108 0015 0108 ;NS YELLA - EW RED 001010 Ah 0x0101 0016 0108 3E 0A LD A, 0Ah 0017 010A 32 01 01 LD (0101h), A 0018 010D 0019 010D ;NS RED - EW RED 001001 9h 0x0102 0020 010D 3E 09 LD A, 09h 0021 010F 32 01 02 LD (0201h), A 0022 0112 0023 0112 ;NS RED - EW GREEN 100001 21h 0x0103 0024 0112 3E 21 LD A, 021h 0025 0114 32 01 03 LD (0301h), A 0026 0117 0027 0117 ;NS RED - EW YELLA 010001 11h 0x0104 0028 0117 3E 11 LD A, 011h 0029 0119 32 01 04 LD (0401h),A 0030 011C 0031 011C NSG_EWR: 0032 011C 3A 01 00 LD A, (0001h) 0033 011F D3 05 OUT (5), A 0034 0121 C9 RET 0035 0122 0036 0122 NSY_EWR: 0037 0122 3A 01 01 LD A, (0101h) 0038 0125 D3 05 OUT (5), A 0039 0127 C9 RET 0040 0128 0041 0128 NSR_EWR: 0042 0128 3A 01 02 LD A, (0201h) 0043 012B D3 05 OUT (5), A 0044 012D C9 RET 0045 012E 0046 012E NSR_EWG: 0047 012E 3A 01 03 LD A, (0301h) 0048 0131 D3 05 OUT (5), A 0049 0133 C9 RET 0050 0134 0051 0134 NSR_EWY: 0052 0134 3A 01 04 LD A, (0401h) 0053 0137 D3 05 OUT (5), A 0054 0139 C9 RET 0055 013A 0056 013A SET_TIMER_25: 0057 013A 16 19 LD D, 19h 0058 013C C9 RET 0059 013D 0060 013D TIMER_25: 0061 013D CD 5A 01 CALL SETUP_ONE_SEC 0062 0140 CD 5E 01 CALL ONE_SEC 0063 0143 AF XOR A 0064 0144 15 DEC D 0065 0145 82 ADD A, D 0066 0146 C2 3D 01 JP NZ, TIMER_25 0067 0149 C9 RET 0068 014A 0069 014A SET_TIMER_5: 0070 014A 16 05 LD D, 5h 0071 014C C9 RET 0072 014D 0073 014D TIMER_5: 0074 014D CD 5A 01 CALL SETUP_ONE_SEC 0075 0150 CD 5E 01 CALL ONE_SEC 0076 0153 AF XOR A 0077 0154 15 DEC D 0078 0155 82 ADD A, D 0079 0156 C2 4D 01 JP NZ, TIMER_5 0080 0159 C9 RET 0081 015A 0082 015A SETUP_ONE_SEC: 0083 015A 01 E8 03 LD BC, 03E8h 0084 015D C9 RET 0085 015E 0086 015E ONE_SEC: 0087 015E CD 6C 01 CALL MILLISEC 0088 0161 AF XOR A 0089 0162 0B DEC BC 0090 0163 80 ADD A, B 0091 0164 C2 5E 01 JP NZ, ONE_SEC 0092 0167 81 ADD A, C 0093 0168 C2 5E 01 JP NZ, ONE_SEC 0094 016B C9 RET 0095 016C 0096 016C MILLISEC: 0097 016C ;N555 TIMER SET TO 1KHZ 0098 016C ;WIRED TO INT PIN 0099 016C ;ACTIVE LOW 0100 016C FB EI 0101 016D 76 HALT 0102 016E F3 DI 0103 016F C9 RET 0104 0170 0105 0170 FULL_CYCLE: 0106 0170 0107 0170 26 00 LD H, 0h 0108 0172 0109 0172 ;PID 0x0 0110 0172 CD 03 01 CALL SETUP_OUTPUTS 0111 0175 24 INC H 0112 0176 0113 0176 ;PID 0x1 0114 0176 CD 3A 01 CALL SET_TIMER_25 0115 0179 CD 1C 01 CALL NSG_EWR 0116 017C CD 3D 01 CALL TIMER_25 0117 017F 24 INC H 0118 0180 0119 0180 ;PID 0x2 0120 0180 CD 4A 01 CALL SET_TIMER_5 0121 0183 CD 22 01 CALL NSY_EWR 0122 0186 CD 4D 01 CALL TIMER_5 0123 0189 24 INC H 0124 018A 0125 018A ;PID 0x3 0126 018A CD 4A 01 CALL SET_TIMER_5 0127 018D CD 28 01 CALL NSR_EWR 0128 0190 CD 4D 01 CALL TIMER_5 0129 0193 24 INC H 0130 0194 0131 0194 ;PID 0x4 0132 0194 CD 3A 01 CALL SET_TIMER_25 0133 0197 CD 2E 01 CALL NSR_EWG 0134 019A CD 3D 01 CALL TIMER_25 0135 019D 24 INC H 0136 019E 0137 019E ;PID 0x5 0138 019E CD 4A 01 CALL SET_TIMER_5 0139 01A1 CD 34 01 CALL NSR_EWY 0140 01A4 CD 4D 01 CALL TIMER_5 0141 01A7 24 INC H 0142 01A8 0143 01A8 ;PID 0x6 0144 01A8 CD 4A 01 CALL SET_TIMER_5 0145 01AB CD 28 01 CALL NSR_EWR 0146 01AE CD 4D 01 CALL TIMER_5 0147 01B1 24 INC H 0148 01B2 0149 01B2 ;PID 0x7 0150 01B2 C3 70 01 JP FULL_CYCLE 0151 01B5 0152 01B5 ;.end Number of errors = 0