http://bitsavers.trailing-edge.com/components/intel/8048/9800270D_MCS-48_Family_Users_Manual_Jul78.pdf 0000 04 09 JMP 0009H ; Reset vector 0002 00 NOP 0003 04 03 JMP 0003H ; Interrupt vector 0005 00 NOP 0006 00 NOP 0007 24 23 JMP 0123H ; Timer / Counter ; Initialise 0009 27 CLR A 000A A8 MOV R0,A 000B A9 MOV R1,A 000C AA MOV R2,A ; Main loop 000D FA MOV A,R2 000E 03 FD ADD A,#FDH 0010 C6 26 JZ 0026H 0012 17 INC A 0013 C6 2A JZ 002AH 0015 17 INC A 0016 C6 2F JZ 002FH 0018 17 INC A 0019 96 34 JNZ 0034H 001B F8 MOV A,R0 001C A3 MOVP A,@A 001D 69 ADD A,R1 001E A9 MOV R1,A 001F 18 INC R0 0020 F8 MOV A,R0 0021 96 0D JNZ 000DH 0023 1A INC R2 0024 04 0D JMP 000DH 0026 F8 MOV A,R0 0027 E3 MOVP3 A,@A 0028 04 1D JMP 001DH 002A F8 MOV A,R0 002B 54 00 CALL 0200H 002D 04 1D JMP 001DH 002F F8 MOV A,R0 0030 34 00 CALL 0100H 0032 04 1D JMP 001DH 0034 F9 MOV A,R1 0035 96 CB JNZ 00CBH 0037 B8 3F MOV R0,#3FH 0039 23 A5 MOV A,#A5H 003B A0 MOV @R0,A 003C E8 39 DJNZ R0,0039H 003E B8 02 MOV R0,#02H 0040 F0 MOV A,@R0 0041 D9 XRL A,R1 0042 A0 MOV @R0,A 0043 96 CB JNZ 00CBH 0045 18 INC R0 0046 F8 MOV A,R0 0047 03 C0 ADD A,#C0H 0049 96 40 JNZ 0040H 004B 34 1C CALL 011CH 004D B8 1C MOV R0,#1CH 004F F0 MOV A,@R0 0050 96 4D JNZ 004DH 0052 BD 00 MOV R5,#00H 0054 34 C8 CALL 01C8H 0056 34 02 CALL 0102H 0058 B8 1C MOV R0,#1CH 005A F0 MOV A,@R0 005B 96 5A JNZ 005AH 005D BD F8 MOV R5,#F8H 005F 34 C8 CALL 01C8H 0061 B8 1D MOV R0,#1DH 0063 23 39 MOV A,#39H 0065 A0 MOV @R0,A 0066 34 35 CALL 0135H 0068 B8 20 MOV R0,#20H 006A F0 MOV A,@R0 006B 96 75 JNZ 0075H 006D 18 INC R0 006E F8 MOV A,R0 006F D3 38 XRL A,#38H 0071 96 6A JNZ 006AH 0073 85 CLR F0 0074 95 CPL F0 0075 B8 1D MOV R0,#1DH 0077 F0 MOV A,@R0 0078 D3 39 XRL A,#39H 007A C6 B9 JZ 00B9H 007C B8 39 MOV R0,#39H 007E B9 38 MOV R1,#38H 0080 F0 MOV A,@R0 0081 F7 RLC A 0082 F6 B3 JC 00B3H 0084 34 AB CALL 01ABH 0086 34 BA CALL 01BAH 0088 B8 39 MOV R0,#39H 008A B9 39 MOV R1,#39H 008C 19 INC R1 008D F1 MOV A,@R1 008E A0 MOV @R0,A 008F 18 INC R0 0090 19 INC R1 0091 F9 MOV A,R1 0092 D3 40 XRL A,#40H 0094 96 8D JNZ 008DH 0096 B0 00 MOV @R0,#00H 0098 B8 1D MOV R0,#1DH 009A F0 MOV A,@R0 009B 07 DEC A 009C A0 MOV @R0,A 009D 34 C8 CALL 01C8H 009F 34 02 CALL 0102H 00A1 B8 1C MOV R0,#1CH 00A3 F0 MOV A,@R0 00A4 96 A3 JNZ 00A3H 00A6 FE MOV A,R6 00A7 AD MOV R5,A 00A8 34 C8 CALL 01C8H 00AA 34 02 CALL 0102H 00AC B8 1C MOV R0,#1CH 00AE F0 MOV A,@R0 00AF 96 AE JNZ 00AEH 00B1 04 66 JMP 0066H 00B3 34 BA CALL 01BAH 00B5 34 AB CALL 01ABH 00B7 04 88 JMP 0088H 00B9 B6 C4 JF0 00C4H 00BB 34 0D CALL 010DH 00BD B8 1C MOV R0,#1CH 00BF F0 MOV A,@R0 00C0 96 BD JNZ 00BDH 00C2 04 B1 JMP 00B1H 00C4 B8 38 MOV R0,#38H 00C6 B0 00 MOV @R0,#00H 00C8 85 CLR F0 00C9 04 BB JMP 00BBH 00CB 34 1C CALL 011CH 00CD B8 1C MOV R0,#1CH 00CF F0 MOV A,@R0 00D0 96 CD JNZ 00CDH 00D2 BD 00 MOV R5,#00H 00D4 34 C8 CALL 01C8H 00D6 34 02 CALL 0102H 00D8 B8 1C MOV R0,#1CH 00DA F0 MOV A,@R0 00DB 96 DA JNZ 00DAH 00DD BD FF MOV R5,#FFH 00DF 34 C8 CALL 01C8H 00E1 15 DIS I 00E2 04 E1 JMP 00E1H 00E4 FF .. 00FF FF 0100 A3 MOVP A,@A 0101 93 RETR 0102 23 F4 MOV A,#F4H 0104 62 MOV T,A 0105 23 01 MOV A,#01H 0107 B8 1C MOV R0,#1CH 0109 A0 MOV @R0,A 010A 55 STRT T 010B 25 EN TCNTI 010C 83 RET 010D 23 DF MOV A,#DFH 010F 62 MOV T,A 0110 24 05 JMP 0105H 0112 23 CA MOV A,#CAH 0114 62 MOV T,A 0115 24 05 JMP 0105H 0117 23 93 MOV A,#93H 0119 62 MOV T,A 011A 24 05 JMP 0105H 011C 23 00 MOV A,#00H 011E 62 MOV T,A 011F 23 32 MOV A,#32H 0121 24 07 JMP 0107H ; Timer / Counter vector 0123 D5 SEL RB1 0124 AB MOV R3,A 0125 FC MOV A,R4 0126 07 DEC A 0127 AC MOV R4,A 0128 C6 32 JZ 0132H 012A 23 00 MOV A,#00H 012C 62 MOV T,A 012D 55 STRT T 012E 25 EN TCNTI 012F FB MOV A,R3 0130 C5 SEL RB0 0131 93 RETR 0132 65 STOP TCNT 0133 24 2F JMP 012FH 0135 27 CLR A 0136 AB MOV R3,A 0137 AF MOV R7,A 0138 B9 20 MOV R1,#20H 013A B8 1D MOV R0,#1DH 013C F0 MOV A,@R0 013D AA MOV R2,A 013E FF MOV A,R7 013F 3A OUTL P2,A 0140 00 NOP 0141 09 IN A,P1 0142 AC MOV R4,A 0143 00 NOP 0144 09 IN A,P1 0145 DC XRL A,R4 0146 96 3E JNZ 013EH 0148 FC MOV A,R4 0149 FC MOV A,R4 014A 37 CPL A 014B AC MOV R4,A 014C F1 MOV A,@R1 014D AD MOV R5,A 014E FA MOV A,R2 014F D3 40 XRL A,#40H 0151 C6 6C JZ 016CH 0153 FC MOV A,R4 0154 67 RRC A 0155 AC MOV R4,A 0156 E6 8A JNC 018AH 0158 FD MOV A,R5 0159 53 03 ANL A,#03H 015B D3 02 XRL A,#02H 015D C6 6C JZ 016CH 015F FD MOV A,R5 0160 17 INC A 0161 AD MOV R5,A 0162 53 03 ANL A,#03H 0164 D3 02 XRL A,#02H 0166 96 6C JNZ 016CH 0168 23 80 MOV A,#80H 016A 34 9D CALL 019DH 016C FD MOV A,R5 016D 77 RR A 016E 77 RR A 016F AD MOV R5,A 0170 1B INC R3 0171 FB MOV A,R3 0172 53 03 ANL A,#03H 0174 96 4E JNZ 014EH 0176 FD MOV A,R5 0177 A1 MOV @R1,A 0178 19 INC R1 0179 F9 MOV A,R1 017A 67 RRC A 017B F6 4C JC 014CH 017D FF MOV A,R7 017E 03 10 ADD A,#10H 0180 AF MOV R7,A 0181 03 40 ADD A,#40H 0183 E6 3E JNC 013EH 0185 B8 1D MOV R0,#1DH 0187 FA MOV A,R2 0188 A0 MOV @R0,A 0189 83 RET 018A FD MOV A,R5 018B 32 92 JB1 0192H 018D 53 FC ANL A,#FCH 018F AD MOV R5,A 0190 24 6C JMP 016CH 0192 12 97 JB0 0197H 0194 1D INC R5 0195 24 6C JMP 016CH 0197 27 CLR A 0198 34 9D CALL 019DH 019A FD MOV A,R5 019B 24 8D JMP 018DH 019D 4B ORL A,R3 019E AE MOV R6,A 019F FF MOV A,R7 01A0 67 RRC A 01A1 53 78 ANL A,#78H 01A3 4E ORL A,R6 01A4 AE MOV R6,A 01A5 FA MOV A,R2 01A6 A8 MOV R0,A 01A7 FE MOV A,R6 01A8 A0 MOV @R0,A 01A9 1A INC R2 01AA 83 RET 01AB F0 MOV A,@R0 01AC 53 7F ANL A,#7FH 01AE AF MOV R7,A 01AF 03 FA ADD A,#FAH 01B1 F6 B9 JC 01B9H 01B3 FF MOV A,R7 01B4 E3 MOVP3 A,@A 01B5 AF MOV R7,A 01B6 F1 MOV A,@R1 01B7 DF XRL A,R7 01B8 A1 MOV @R1,A 01B9 83 RET 01BA F1 MOV A,@R1 01BB 67 RRC A 01BC AA MOV R2,A 01BD F0 MOV A,@R0 01BE AB MOV R3,A 01BF F7 RLC A 01C0 FA MOV A,R2 01C1 F7 RLC A 01C2 AD MOV R5,A 01C3 FB MOV A,R3 01C4 43 80 ORL A,#80H 01C6 AE MOV R6,A 01C7 83 RET 01C8 BF 08 MOV R7,#08H 01CA B9 01 MOV R1,#01H 01CC BA 02 MOV R2,#02H 01CE BB 03 MOV R3,#03H 01D0 F9 MOV A,R1 01D1 02 OUTL BUS,A 01D2 FD MOV A,R5 01D3 AC MOV R4,A 01D4 FB MOV A,R3 01D5 02 OUTL BUS,A 01D6 FC MOV A,R4 01D7 67 RRC A 01D8 AC MOV R4,A 01D9 E6 DD JNC 01DDH 01DB FA MOV A,R2 01DC 02 OUTL BUS,A 01DD 00 NOP 01DE 00 NOP 01DF 00 NOP 01E0 FB MOV A,R3 01E1 02 OUTL BUS,A 01E2 00 NOP 01E3 00 NOP 01E4 00 NOP 01E5 F9 MOV A,R1 01E6 02 OUTL BUS,A 01E7 B8 05 MOV R0,#05H 01E9 E8 E9 DJNZ R0,01E9H 01EB EF D4 DJNZ R7,01D4H 01ED 27 CLR A 01EE 02 OUTL BUS,A 01EF 83 RET 01F0 FF ... 01FF FF 0200 A3 MOVP A,@A 0201 93 RETR 0202 FF ... 02FF FF 0300 02 OUTL BUS,A 0301 08 INS A,BUS 0302 20 XCH A,@R0 0303 04 40 JMP 0040H 0305 10 31 0307 FF .. 03FF FF