0x0000 02 00 2d LJMP START ? 0x0003 02 01 1c LJMP 011c ? 0x0006 00 NOP ? 0x0007 00 NOP ? 0x0008 00 NOP ? 0x0009 00 NOP ? 0x000a 00 NOP ? 0x000b 02 01 b2 LJMP 01b2 ? 0x000e 00 NOP ? 0x000f 00 NOP ? 0x0010 00 NOP ? 0x0011 00 NOP ? 0x0012 00 NOP ? 0x0013 02 01 ab LJMP 01ab ? 0x0016 00 NOP ? 0x0017 00 NOP ? 0x0018 00 NOP ? 0x0019 00 NOP ? 0x001a 00 NOP ? 0x001b 02 01 b2 LJMP 01b2 ? 0x001e 00 NOP ? 0x001f 00 NOP ? 0x0020 00 NOP ? 0x0021 00 NOP 0x0022 00 NOP 0x0023 02 01 58 LJMP 0158 ? 0x0026 00 NOP ? 0x0027 00 NOP ? 0x0028 00 NOP ? 0x0029 00 NOP ? 0x002a 00 NOP START: ? 0x002b 80 fe SJMP 002b 0x002d 75 81 20 MOV SP,#20 0x0030 12 01 79 LCALL INIT 0x0033 12 01 50 LCALL GETCHAR 0x0036 b4 11 fa CJNE A,#11,0033 ; Wait for 0x33 0x0039 74 21 MOV A,#21 0x003b 12 01 48 LCALL PUTCHAR ; Output 0x21 0x003e 02 00 50 LJMP 0050 0x0041 30 04 0c JNB 20.4,0050 0x0044 c2 04 CLR 20.4 0x0046 74 34 MOV A,#34 0x0048 12 01 48 LCALL PUTCHAR 0x004b 74 0d MOV A,#0d 0x004d 12 01 48 LCALL PUTCHAR 0x0050 12 02 14 LCALL 0214 0x0053 10 03 eb JBC 20.3,0041 0x0056 b4 94 03 CJNE A,#94,005c 0x0059 02 01 01 LJMP 0101 ? 0x005c b4 d4 03 CJNE A,#d4,0062 ? 0x005f 02 01 06 LJMP 0106 ? 0x0062 b4 aa 02 CJNE A,#aa,0067 ? 0x0065 80 da SJMP 0041 ? 0x0067 b4 a0 20 CJNE A,#a0,008a ? 0x006a 02 00 6d LJMP 006d ? 0x006d 12 02 14 LCALL 0214 ? 0x0070 10 03 ce JBC 20.3,0041 ? 0x0073 f8 MOV R0,A ? 0x0074 b4 94 03 CJNE A,#94,007a ? 0x0077 02 01 01 LJMP 0101 ? 0x007a b4 d4 03 CJNE A,#d4,0080 ? 0x007d 02 01 06 LJMP 0106 ? 0x0080 b4 aa 02 CJNE A,#aa,0085 ? 0x0083 80 cb SJMP 0050 ? 0x0085 b4 a0 02 CJNE A,#a0,008a ? 0x0088 80 e3 SJMP 006d ? 0x008a 30 e6 30 JNB ACC.6,00bd ? 0x008d 12 02 14 LCALL 0214 ? 0x0090 10 03 ae JBC 20.3,0041 ? 0x0093 f9 MOV R1,A ? 0x0094 b4 94 03 CJNE A,#94,009a ? 0x0097 02 01 01 LJMP 0101 ? 0x009a b4 d4 03 CJNE A,#d4,00a0 ? 0x009d 02 01 06 LJMP 0106 ? 0x00a0 b4 aa 02 CJNE A,#aa,00a5 ? 0x00a3 80 9c SJMP 0041 ? 0x00a5 b4 a0 02 CJNE A,#a0,00aa ? 0x00a8 80 c3 SJMP 006d ? 0x00aa 30 e6 10 JNB ACC.6,00bd ? 0x00ad b5 00 bd CJNE A,00,006d ? 0x00b0 74 31 MOV A,#31 ? 0x00b2 12 01 48 LCALL PUTCHAR ? 0x00b5 e9 MOV A,R1 ? 0x00b6 12 01 48 LCALL PUTCHAR ? 0x00b9 d2 04 SETB 20.4 ? 0x00bb 80 b0 SJMP 006d ? 0x00bd 12 02 14 LCALL 0214 ? 0x00c0 b4 36 03 CJNE A,#36,00c6 ? 0x00c3 02 00 41 LJMP 0041 ? 0x00c6 10 03 35 JBC 20.3,00fe ? 0x00c9 b5 00 a1 CJNE A,00,006d ? 0x00cc 12 02 14 LCALL 0214 ? 0x00cf b4 36 03 CJNE A,#36,00d5 ? 0x00d2 02 00 41 LJMP 0041 ? 0x00d5 10 03 26 JBC 20.3,00fe ? 0x00d8 b5 00 92 CJNE A,00,006d ? 0x00db 74 32 MOV A,#32 ? 0x00dd 12 01 48 LCALL PUTCHAR ? 0x00e0 e8 MOV A,R0 ? 0x00e1 12 01 48 LCALL PUTCHAR ? 0x00e4 d2 04 SETB 20.4 ? 0x00e6 7b 10 MOV R3,#10 ? 0x00e8 dc 05 DJNZ R4,00ef ? 0x00ea db 03 DJNZ R3,00ef ? 0x00ec 02 00 fe LJMP 00fe ? 0x00ef 12 02 14 LCALL 0214 ? 0x00f2 b4 36 03 CJNE A,#36,00f8 ? 0x00f5 02 00 41 LJMP 0041 ? 0x00f8 10 03 03 JBC 20.3,00fe ? 0x00fb b4 aa ea CJNE A,#aa,00e8 ? 0x00fe 02 00 41 LJMP 0041 0x0101 78 00 MOV R0,#00 0x0103 02 01 08 LJMP 0108 ? 0x0106 78 80 MOV R0,#80 0x0108 12 02 14 LCALL 0214 0x010b 10 03 0b JBC 20.3,0119 0x010e f9 MOV R1,A 0x010f 74 33 MOV A,#33 0x0111 12 01 48 LCALL PUTCHAR 0x0114 e8 MOV A,R0 0x0115 49 ORL A,R1 0x0116 12 01 48 LCALL PUTCHAR 0x0119 02 00 41 LJMP 0041 ? 0x011c 32 RETI ? 0x011d 32 RETI ? PUTHEX 0x011e c0 e0 PUSH ACC ? 0x0120 c4 SWAP A ? 0x0121 54 0f ANL A,#0f ? 0x0123 c3 CLR C ? 0x0124 94 0a SUBB A,#0a ? 0x0126 50 05 JNC 012d ? 0x0128 24 3a ADD A,#3a ? 0x012a 02 01 2f LJMP 012f ? 0x012d 24 41 ADD A,#41 ? 0x012f 12 01 48 LCALL PUTCHAR ? 0x0132 d0 e0 POP ACC ? 0x0134 54 0f ANL A,#0f ? 0x0136 54 0f ANL A,#0f ? 0x0138 c3 CLR C ? 0x0139 94 0a SUBB A,#0a ? 0x013b 50 05 JNC 0142 ? 0x013d 24 3a ADD A,#3a ? 0x013f 02 01 44 LJMP 0144 ? 0x0142 24 41 ADD A,#41 ? 0x0144 12 01 48 LCALL PUTCHAR ? 0x0147 22 RET PUTCHAR: 0x0148 30 99 fd JNB TI,PUTCHAR 0x014b c2 99 CLR TI 0x014d f5 99 MOV SBUF,A 0x014f 22 RET GETCHAR: 0x0150 30 98 fd JNB RI,GETCHAR 0x0153 c2 98 CLR RI 0x0155 e5 99 MOV A,SBUF 0x0157 22 RET 0x0158 c0 d0 PUSH PSW 0x015a c0 e0 PUSH ACC 0x015c 30 99 03 JNB TI,0162 0x015f 02 01 62 LJMP 0162 0x0162 d0 e0 POP ACC 0x0164 d0 d0 POP PSW 0x0166 32 RETI ? PUTSTR: 0x0167 d0 83 POP DPH ? 0x0169 d0 82 POP DPL ? 0x016b e4 CLR A ? 0x016c 93 MOVC A,@A+DPTR ? 0x016d b4 ff 03 CJNE A,#ff,0173 ? 0x0170 74 01 MOV A,#01 ? 0x0172 73 JMP @A+DPTR ? 0x0173 12 01 48 LCALL PUTCHAR ? 0x0176 a3 INC DPTR ? 0x0177 80 f2 SJMP 016b INIT: 0x0179 75 89 00 MOV TMOD,#00 0x017c 75 88 00 MOV TCON,#00 0x017f 75 c8 34 MOV T2CON,#34 0x0182 75 98 72 MOV SCON,#72 0x0185 75 8c ec MOV TH0,#ec 0x0188 75 8a 15 MOV TL0,#15 0x018b 75 8d 55 MOV TH1,#55 0x018e 75 8b 15 MOV TL1,#15 0x0191 75 ca bf MOV RCAP2L,#bf 0x0194 75 cb ff MOV RCAP2H,#ff 0x0197 c2 ad CLR ET2 0x0199 c2 ac CLR ES 0x019b c2 ab CLR ET1 0x019d d2 aa SETB EX1 0x019f d2 a9 SETB ET0 0x01a1 c2 a8 CLR EX0 0x01a3 d2 af SETB EA 0x01a5 75 08 0a MOV 08,#0a 0x01a8 c2 00 CLR 20.0 0x01aa 22 RET ? 0x01ab c2 aa CLR EX1 ? 0x01ad d2 8c SETB TR0 ? 0x01af d2 a9 SETB ET0 ? 0x01b1 32 RETI ? 0x01b2 d2 b6 SETB P3.6 ? 0x01b4 c0 d0 PUSH PSW ? 0x01b6 c0 e0 PUSH ACC ? 0x01b8 e5 08 MOV A,08 ; Load counter ? 0x01ba b4 01 18 CJNE A,#01,01d5 ; Final bit ? ? 0x01bd e5 09 MOV A,09 ; Load value ? 0x01bf 20 d0 08 JB P,01ca ? 0x01c2 30 b3 0b JNB P3.3,01d0 ; 20.1 = last bit ? ? 0x01c5 c2 01 CLR 20.1 ; Reset counter ? 0x01c7 02 02 05 LJMP 0205 ; ? 0x01ca 20 b3 03 JB P3.3,01d0 ? 0x01cd 02 02 05 LJMP 0205 ? 0x01d0 d2 01 SETB 20.1 ? 0x01d2 02 02 05 LJMP 0205 ? 0x01d5 b4 00 25 CJNE A,#00,01fd ; If not zero, dec cntr ? 0x01d8 20 b3 05 JB P3.3,01e0 ; 20.2 = P3.3 ? 0x01db d2 02 SETB 20.2 ; Write it into 20.2 ? 0x01dd 02 01 e2 LJMP 01e2 ? 0x01e0 c2 02 CLR 20.2 ? 0x01e2 75 08 0a MOV 08,#0a ; CNTR = 10 ? 0x01e5 85 09 0a MOV 0a,09 ; Save result into REG0A ? 0x01e8 d2 00 SETB 20.0 ; Set bit 20.0 ? 0x01ea d2 aa SETB EX1 ? 0x01ec c2 8c CLR TR0 ? 0x01ee c2 a9 CLR ET0 ? 0x01f0 75 8c ec MOV TH0,#ec ? 0x01f3 75 8a 15 MOV TL0,#15 ? 0x01f6 c2 b6 CLR P3.6 ; Clear 3.6 ? 0x01f8 d0 e0 POP ACC ? 0x01fa d0 d0 POP PSW ? 0x01fc 32 RETI ? 0x01fd e5 09 MOV A,09 ; Sample P3.3 into REG09 ? 0x01ff c3 CLR C ? 0x0200 72 b3 ORL C,P3.3 ? 0x0202 13 RRC A ? 0x0203 f5 09 MOV 09,A ? 0x0205 75 8c d6 MOV TH0,#d6 ; Restart counter ? 0x0208 75 8a 18 MOV TL0,#18 ? 0x020b 15 08 DEC 08 ; Decrement BIT COUNTER ? 0x020d c2 b6 CLR P3.6 ? 0x020f d0 e0 POP ACC ? 0x0211 d0 d0 POP PSW ? 0x0213 32 RETI 0x0214 c0 00 PUSH 00 0x0216 c0 01 PUSH 01 0x0218 a8 00 MOV R0,00 0x021a a9 80 MOV R1,P0 ; ????? 0x021c d8 07 DJNZ R0,0225 0x021e d9 05 DJNZ R1,0225 0x0220 d2 03 SETB 20.3 0x0222 02 02 32 LJMP 0232 ? 0x0225 30 00 f4 JNB 20.0,021c ? 0x0228 c2 00 CLR 20.0 ? 0x022a 20 01 ef JB 20.1,021c ? 0x022d 20 02 ec JB 20.2,021c ? 0x0230 e5 0a MOV A,0a 0x0232 c2 b6 CLR P3.6 0x0234 d0 01 POP 01 0x0236 d0 00 POP 00 0x0238 22 RET ? 0x0239 90 02 3e MOV DPTR,#023e ? 0x023c 93 MOVC A,@A+DPTR ? 0x023d 22 RET