code:0000 ; code:0000 ; +-------------------------------------------------------------------------+ code:0000 ; | This file has been generated by The Interactive Disassembler (IDA) | code:0000 ; | Copyright (c) 2010 by Hex-Rays, <support@hex-rays.com> | code:0000 ; | License info: xx-xxxx-xxxx-xx | code:0000 ; | xxxxxx | code:0000 ; +-------------------------------------------------------------------------+ code:0000 ; code:0000 ; Input MD5 : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx code:0000 code:0000 ; File Name : EC.rom code:0000 ; Format : Binary file code:0000 ; Base Address: 0000h Range: 0000h - 10000h Loaded length: 10000h code:0000 code:0000 ; Processor: AT89S8252 [RAM=256 ROM=0 EPROM=0 EEPROM=0] code:0000 ; Processor: 8051 code:0000 ; Target assembler: 8051 Cross-Assembler by MetaLink Corporation code:0000 code:0000 ; =========================================================================== code:0000 code:0000 ; Segment type: Pure code code:0000 ;.segment code code:0000 CSEG code:0000 code:0000 ; =============== S U B R O U T I N E ======================================= code:0000 code:0000 ; RESET code:0000 ; Attributes: thunk code:0000 code:0000 ; public RESET code:0000 RESET: ; CODE XREF: code:0220j code:0000 ; code_314+4Dj code:0000 000 ljmp start ; Long Jump code:0000 code:0000 ; End of function RESET code:0000 code:0003 code:0003 ; =============== S U B R O U T I N E ======================================= code:0003 code:0003 ; External interrupt 0 code:0003 ; Attributes: thunk code:0003 code:0003 ; public IE0 code:0003 IE0: code:0003 000 ljmp external_interrupt_0_handler ; Long Jump code:0003 code:0003 ; End of function IE0 code:0003 code:0003 ; --------------------------------------------------------------------------- code:0006 code_6: db 22h, 22h, 22h, 22h, 22h code:000B code:000B ; =============== S U B R O U T I N E ======================================= code:000B code:000B ; Timer 0 interrupt code:000B ; Attributes: thunk code:000B code:000B ; public TF0 code:000B TF0: code:000B 000 ljmp timer_0_interrupt_handler ; Long Jump code:000B code:000B ; End of function TF0 code:000B code:000E code:000E ; =============== S U B R O U T I N E ======================================= code:000E code:000E code:000E external_interrupt_0_handler: ; CODE XREF: IE0j code:000E 000 clr IE.7 ; Interrupt Enable Register 0 code:0010 000 setb IE.7 ; Interrupt Enable Register 0 code:0012 000 reti ; Return from Interrupt code:0012 code:0012 ; End of function external_interrupt_0_handler code:0012 code:0013 code:0013 ; =============== S U B R O U T I N E ======================================= code:0013 code:0013 ; External interrupt 1 code:0013 ; Attributes: thunk code:0013 code:0013 ; public IE1 code:0013 IE1: ; CODE XREF: code_314+35j code:0013 000 ljmp external_interrupt_1_handler ; Long Jump code:0013 code:0013 ; End of function IE1 code:0013 code:0016 code:0016 ; =============== S U B R O U T I N E ======================================= code:0016 code:0016 code:0016 exit_point_0: ; CODE XREF: code:022Cp code:0016 ; code:code_23Ej code:0016 000 ret ; Return from subroutine code:0016 code:0016 ; End of function exit_point_0 code:0016 code:0017 code:0017 ; =============== S U B R O U T I N E ======================================= code:0017 code:0017 code:0017 exit_point_1: ; CODE XREF: code_200+8p code:0017 000 ret ; Return from subroutine code:0017 code:0017 ; End of function exit_point_1 code:0017 code:0018 code:0018 ; =============== S U B R O U T I N E ======================================= code:0018 code:0018 code:0018 exit_point_2: code:0018 000 ret ; Return from subroutine code:0018 code:0018 ; End of function exit_point_2 code:0018 code:0019 code:0019 ; =============== S U B R O U T I N E ======================================= code:0019 code:0019 code:0019 exit_point_3: ; CODE XREF: interact_host_PM_CH1+24p code:0019 000 ret ; Return from subroutine code:0019 code:0019 ; End of function exit_point_3 code:0019 code:001A code:001A ; =============== S U B R O U T I N E ======================================= code:001A code:001A code:001A exit_point_4: ; CODE XREF: read_CMD_from_PM_CH2+24p code:001A 000 ret ; Return from subroutine code:001A code:001A ; End of function exit_point_4 code:001A code:001B code:001B ; =============== S U B R O U T I N E ======================================= code:001B code:001B ; Timer 1 interrupt code:001B ; Attributes: thunk code:001B code:001B ; public TF1 code:001B TF1: code:001B 000 ljmp timer_1_interrupt_handler ; Long Jump code:001B code:001B ; End of function TF1 code:001B code:001B ; --------------------------------------------------------------------------- code:001E code_1E: db 0FFh, 0FFh, 0FFh, 0FFh, 0FFh ; CODE XREF: start+13p code:001E ; start+23p code:0023 code:0023 ; =============== S U B R O U T I N E ======================================= code:0023 code:0023 ; Serial port interrupt code:0023 ; Attributes: thunk code:0023 code:0023 ; public RI_TI code:0023 RI_TI: code:0023 000 ljmp serial_port_interrupt_handler ; Long Jump code:0023 code:0023 ; End of function RI_TI code:0023 code:0023 ; --------------------------------------------------------------------------- code:0026 db 0FFh, 0FFh, 0FFh, 0FFh, 0FFh code:002B code:002B ; =============== S U B R O U T I N E ======================================= code:002B code:002B ; Timer 2 interrupt code:002B ; Attributes: thunk code:002B code:002B ; public TF2_EXF2 code:002B TF2_EXF2: code:002B 000 ljmp timer_2_interrupt_handler ; Long Jump code:002B code:002B ; End of function TF2_EXF2 code:002B code:002E code:002E ; =============== S U B R O U T I N E ======================================= code:002E code:002E code:002E start: ; CODE XREF: RESETj code:002E 000 mov R0, #0FEh ; '¦' ; uint8_t i = 254; code:0030 000 clr A ; uint8_t a = 0; code:0030 code:0031 code:0031 erase_loop: ; CODE XREF: start+4j code:0031 000 mov @R0, A ; while (i > 0) code:0031 ; { code:0031 ; write_byte_to(i, a); // Internal RAM clearing by zero code:0032 000 djnz R0, erase_loop ; i--; code:0032 ; } code:0032 code:0034 000 mov SP, #PSW ; Stack Pointer code:0037 000 mov DPTR, #SMFI_FPCFG ; dptr = SMFI_FPCFG; // Flash Programming Configuration Register code:003A 000 mov A, #111111b ; a = 00111111b; code:003C 000 movx @DPTR, A ; write_byte_to(dptr, a); code:003C code:003D code:003D code_3D: ; CODE XREF: start:code_4Dj code:003D 000 ljmp code_7D ; Long Jump code:003D code:0040 ; --------------------------------------------------------------------------- code:0040 000 nop ; No operation code:0041 000 acall code_1E+4 ; Absolute Call code:0041 code:0043 000 rlc A ; Rotate Acc left through Carry code:0044 000 orl A, #1010101b ; Logical OR (op1 |= op2) code:0046 000 xrl A, @R0 ; Exclusive OR (op1 ^= op2) code:0047 000 mov @R1, #88h ; 'ê' ; Move (Op1 <- Op2) code:0049 000 subb A, R1 ; Subtract Second Operand from Acc with Borrow code:004A 000 mov R2, FSR_BB ; Move (Op1 <- Op2) code:004C 000 xch A, R4 ; Exchange Operands code:004C code:004D code:004D code_4D: ; CODE XREF: start+2Fj code:004D 000 djnz R5, code_3D ; Decrement Operand and JNZ code:004D code:004F 000 mov R7, A ; Move (Op1 <- Op2) code:0050 000 nop ; No operation code:0051 000 acall code_1E+4 ; Absolute Call code:0051 code:0053 000 rlc A ; Rotate Acc left through Carry code:0054 000 orl A, #1010101b ; Logical OR (op1 |= op2) code:0056 000 xrl A, @R0 ; Exclusive OR (op1 ^= op2) code:0057 000 mov @R1, #88h ; 'ê' ; Move (Op1 <- Op2) code:0059 000 subb A, R1 ; Subtract Second Operand from Acc with Borrow code:005A 000 mov R2, FSR_BB ; Move (Op1 <- Op2) code:005C 000 xch A, R4 ; Exchange Operands code:005D 000 djnz R5, code_4D ; Decrement Operand and JNZ code:005D code:005F 000 mov R7, A ; Move (Op1 <- Op2) code:005F code:005F ; --------------------------------------------------------------------------- code:0060 000 Copyright: db 'ITE Tech. Inc. ' code:0070 ; --------------------------------------------------------------------------- code:0070 code:0070 code_70: ; CODE XREF: code:code_60Fp code:0070 000 mov A, R7 ; Move (Op1 <- Op2) code:0071 000 mov DPTR, #79h ; 'y' ; Move (Op1 <- Op2) code:0074 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:0075 000 mov DPTR, #100h ; Move (Op1 <- Op2) code:0078 000 jmp @A+DPTR ; Jump indirect relative to Data Pointer code:0078 code:0078 ; --------------------------------------------------------------------------- code:0079 000 db 0Ah, 1Ch, 2Eh, 40h code:007D ; --------------------------------------------------------------------------- code:007D code:007D code_7D: ; CODE XREF: start:code_3Dj code:007D 000 mov SP, #PSW ; Stack Pointer code:007D code:0080 code:0080 code_80: ; CODE XREF: code:0229p code:0080 000 clr IE.7 ; Interrupt Enable Register 0 code:0082 000 mov TMOD, #10001b ; set Timer 0 and Timer 1 to 16-bit mode code:0085 000 clr TCON.4 ; reset Timers code:0087 000 clr TCON.5 ; { code:0089 000 clr TCON.6 ; _ code:008B 000 clr TCON.7 ; } code:008D 000 lcall code_D7 ; Long Subroutine Call code:008D code:0090 000 mov DPTR, #0 ; Move (Op1 <- Op2) code:0093 000 mov A, #1 ; Move (Op1 <- Op2) code:0095 000 movx @DPTR, A ; Move from/to external RAM code:0096 000 mov DPTR, #1 ; Move (Op1 <- Op2) code:0099 000 mov A, #0B1h ; '¦' ; Move (Op1 <- Op2) code:009B 000 movx @DPTR, A ; Move from/to external RAM code:009C 000 mov DPTR, #2 ; Move (Op1 <- Op2) code:009F 000 mov A, #11h ; Move (Op1 <- Op2) code:00A1 000 movx @DPTR, A ; Move from/to external RAM code:00A2 000 mov DPTR, #3 ; Move (Op1 <- Op2) code:00A5 000 mov A, #34h ; '4' ; Move (Op1 <- Op2) code:00A7 000 movx @DPTR, A ; Move from/to external RAM code:00A8 000 mov DPTR, #5 ; Move (Op1 <- Op2) code:00AB 000 mov A, #0B1h ; '¦' ; Move (Op1 <- Op2) code:00AD 000 movx @DPTR, A ; Move from/to external RAM code:00AE 000 mov DPTR, #21Ah ; Move (Op1 <- Op2) code:00B1 000 clr A ; Clear Operand (0) code:00B2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:00B3 000 mov R6, A ; Move (Op1 <- Op2) code:00B4 000 mov A, #1 ; Move (Op1 <- Op2) code:00B6 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:00B7 000 mov R2, RAM_6 ; Move (Op1 <- Op2) code:00B9 000 mov R1, A ; Move (Op1 <- Op2) code:00BA 000 lcall jump_to_addr ; jump_to_addr(R1 : - low adress byte, R2 - high adress byte); code:00BA code:00BD 000 lcall read_GPIO_port_E ; Long Subroutine Call code:00BD code:00C0 000 jnc code_C8 ; Jump if Carry is clear code:00C0 code:00C2 000 lcall code_17D ; Long Subroutine Call code:00C2 code:00C5 000 lcall code_200 ; Long Subroutine Call code:00C5 code:00C8 code:00C8 code_C8: ; CODE XREF: start+92j code:00C8 000 mov DPTR, #21Ah ; Move (Op1 <- Op2) code:00CB 000 clr A ; Clear Operand (0) code:00CC 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:00CD 000 mov R6, A ; Move (Op1 <- Op2) code:00CE 000 mov A, #1 ; Move (Op1 <- Op2) code:00D0 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:00D1 000 mov R2, RAM_6 ; Move (Op1 <- Op2) code:00D3 000 mov R1, A ; Move (Op1 <- Op2) code:00D4 000 ljmp jump_to_addr ; jump_to_addr(R1 : - low adress byte, R2 - high adress byte); code:00D4 code:00D4 ; End of function start code:00D4 code:00D7 code:00D7 ; =============== S U B R O U T I N E ======================================= code:00D7 code:00D7 code:00D7 code_D7: ; CODE XREF: start+5Fp code:00D7 000 mov R7, #20h ; ' ' ; Move (Op1 <- Op2) code:00D9 code:00D9 code_D9: ; Move (Op1 <- Op2) code:00D9 000 mov DPTR, #0 code:00D9 code:00DC code:00DC code_DC: ; CODE XREF: code_D7+10j code:00DC 000 mov R4, DP0H ; Data Pointer High Byte code:00DE 000 clr C ; Clear Operand (0) code:00DF 000 mov A, R4 ; Move (Op1 <- Op2) code:00DF code:00E0 code:00E0 code_E0: ; CODE XREF: ROM:487Fp code:00E0 ; ROM:488Ap code:00E0 000 subb A, #10h ; Subtract Second Operand from Acc with Borrow code:00E2 000 jnc code_E9 ; Jump if Carry is clear code:00E2 code:00E4 code:00E4 code_E4: ; DATA XREF: code:0148o code:00E4 000 clr A ; Clear Operand (0) code:00E5 000 movx @DPTR, A ; Move from/to external RAM code:00E6 000 inc DPTR ; Increment Operand code:00E7 000 sjmp code_DC ; Short jump code:00E7 code:00E9 ; --------------------------------------------------------------------------- code:00E9 code:00E9 code_E9: ; CODE XREF: code_D7+Bj code:00E9 ; code_D7+1Dj code:00E9 000 mov A, R7 ; Move (Op1 <- Op2) code:00EA 000 clr C ; Clear Operand (0) code:00EB 000 subb A, #0D0h ; '-' ; Subtract Second Operand from Acc with Borrow code:00ED 000 jnc code_F6 ; Jump if Carry is clear code:00ED code:00EF 000 mov R0, RAM_7 ; Move (Op1 <- Op2) code:00F1 000 clr A ; Clear Operand (0) code:00F2 000 mov @R0, A ; Move (Op1 <- Op2) code:00F3 000 inc R7 ; Increment Operand code:00F4 000 sjmp code_E9 ; Short jump code:00F4 code:00F6 ; --------------------------------------------------------------------------- code:00F6 code:00F6 code_F6: ; CODE XREF: code_D7+16j code:00F6 000 ret ; Return from subroutine code:00F6 code:00F6 ; End of function code_D7 code:00F6 code:00F7 code:00F7 ; =============== S U B R O U T I N E ======================================= code:00F7 code:00F7 code:00F7 timer_2_interrupt_handler: ; CODE XREF: TF2_EXF2j code:00F7 000 clr IE.7 ; Interrupt Enable Register 0 code:00F9 000 clr T2CON.7 ; Timer 2 Control code:00FB 000 setb IE.7 ; Interrupt Enable Register 0 code:00FD 000 reti ; Return from Interrupt code:00FD code:00FD ; End of function timer_2_interrupt_handler code:00FD code:00FD ; --------------------------------------------------------------------------- code:00FE db 0FFh code:00FF code_FF: db 0FFh ; DATA XREF: code:0149o code:0100 db 0C0h code:0101 db 8 code:0102 db 74h code:0103 db 1 code:0104 code:0104 ; =============== S U B R O U T I N E ======================================= code:0104 code:0104 code:0104 code_104: ; CODE XREF: code:0265j code:0104 000 push ACC ; Accumulator code:0106 001 push DP0L ; Data Pointer Low Byte code:0108 002 push DP0H ; Data Pointer High Byte code:010A 003 mov RAM_8, #0Ah ; Move (Op1 <- Op2) code:010D 003 clr P1.0 ; Port 1 code:010F 003 clr P1.1 ; Port 1 code:0111 003 ret ; Return from subroutine code:0111 code:0111 ; End of function code_104 code:0111 code:0112 code:0112 ; =============== S U B R O U T I N E ======================================= code:0112 code:0112 code:0112 code_112: code:0112 000 push RAM_8 ; Push from Direct RAM to Stack code:0114 001 mov A, #1 ; Move (Op1 <- Op2) code:0116 001 push ACC ; Accumulator code:0118 002 push DP0L ; Data Pointer Low Byte code:011A 003 push DP0H ; Data Pointer High Byte code:011C 004 mov RAM_8, #1Ch ; Move (Op1 <- Op2) code:011F 004 clr P1.0 ; Port 1 code:0121 004 clr P1.1 ; Port 1 code:0123 004 ret ; Return from subroutine code:0123 code:0123 ; End of function code_112 code:0123 code:0124 code:0124 ; =============== S U B R O U T I N E ======================================= code:0124 code:0124 code:0124 code_124: code:0124 000 push RAM_8 ; Push from Direct RAM to Stack code:0126 001 mov A, #1 ; Move (Op1 <- Op2) code:0128 001 push ACC ; Accumulator code:012A 002 push DP0L ; Data Pointer Low Byte code:012C 003 push DP0H ; Data Pointer High Byte code:012E 004 mov RAM_8, #2Eh ; '.' ; Move (Op1 <- Op2) code:0131 004 setb P1.0 ; Port 1 code:0133 004 clr P1.1 ; Port 1 code:0135 004 ret ; Return from subroutine code:0135 code:0135 ; End of function code_124 code:0135 code:0136 ; --------------------------------------------------------------------------- code:0136 push RAM_8 ; Push from Direct RAM to Stack code:0138 mov A, #1 ; Move (Op1 <- Op2) code:013A push ACC ; Accumulator code:013C push DP0L ; Data Pointer Low Byte code:013E push DP0H ; Data Pointer High Byte code:013E code:0140 code:0140 ; =============== S U B R O U T I N E ======================================= code:0140 code:0140 code:0140 code_140: ; CODE XREF: code:code_2A1p code:0140 000 mov RAM_8, #40h ; '@' ; Move (Op1 <- Op2) code:0143 000 clr P1.0 ; Port 1 code:0145 000 setb P1.1 ; Port 1 code:0147 000 ret ; Return from subroutine code:0147 code:0147 ; End of function code_140 code:0147 code:0147 ; --------------------------------------------------------------------------- code:0148 db code_E4 code:0149 db code_FF code:014A code:014A ; =============== S U B R O U T I N E ======================================= code:014A code:014A code:014A code_14A: ; CODE XREF: code_14A+2Fj code:014A 000 mov B, #3 ; B Register code:014D 000 mov A, R7 ; Move (Op1 <- Op2) code:014E 000 mul AB ; Multiply Acc by B code:014F 000 add A, #1Eh ; Add Second Operand to Acc code:0151 000 mov DP0L, A ; Data Pointer Low Byte code:0153 000 mov A, B ; B Register code:0155 000 addc A, #2 ; Add Second Operand to Acc with carry code:0157 000 mov DP0H, A ; Data Pointer High Byte code:0159 000 clr A ; Clear Operand (0) code:015A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:015B 000 mov R6, A ; Move (Op1 <- Op2) code:015C 000 mov B, #3 ; B Register code:015F 000 mov A, R7 ; Move (Op1 <- Op2) code:0160 000 mul AB ; Multiply Acc by B code:0161 000 add A, #1Ch ; Add Second Operand to Acc code:0163 000 mov DP0L, A ; Data Pointer Low Byte code:0165 000 mov A, B ; B Register code:0167 000 addc A, #2 ; Add Second Operand to Acc with carry code:0169 000 mov DP0H, A ; Data Pointer High Byte code:016B 000 clr A ; Clear Operand (0) code:016C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:016D 000 mov R4, A ; Move (Op1 <- Op2) code:016E 000 mov A, #1 ; Move (Op1 <- Op2) code:0170 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:0171 000 mov DP0L, A ; Data Pointer Low Byte code:0173 000 mov DP0H, R4 ; Data Pointer High Byte code:0175 000 mov A, R6 ; Move (Op1 <- Op2) code:0176 000 movx @DPTR, A ; Move from/to external RAM code:0177 000 inc R7 ; Increment Operand code:0178 000 mov A, R7 ; Move (Op1 <- Op2) code:0179 000 cjne A, #62h, code_14A ; 'b' ; Compare Operands and JNE code:0179 code:017C 000 ret ; Return from subroutine code:017C code:017C ; End of function code_14A code:017C code:017D code:017D ; =============== S U B R O U T I N E ======================================= code:017D code:017D code:017D code_17D: ; CODE XREF: start+94p code:017D 000 clr A ; Clear Operand (0) code:017E 000 mov R7, A ; Move (Op1 <- Op2) code:017E code:017F code:017F code_17F: ; CODE XREF: code_17D+2Fj code:017F 000 mov A, R7 ; Move (Op1 <- Op2) code:0180 000 mov B, #3 ; B Register code:0183 000 mul AB ; Multiply Acc by B code:0184 000 add A, #44h ; 'D' ; Add Second Operand to Acc code:0186 000 mov DP0L, A ; Data Pointer Low Byte code:0188 000 clr A ; Clear Operand (0) code:0189 000 addc A, #3 ; Add Second Operand to Acc with carry code:018B 000 mov DP0H, A ; Data Pointer High Byte code:018D 000 clr A ; Clear Operand (0) code:018E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:018F 000 mov R6, A ; Move (Op1 <- Op2) code:0190 000 mov A, R7 ; Move (Op1 <- Op2) code:0191 000 mov B, #3 ; B Register code:0194 000 mul AB ; Multiply Acc by B code:0195 000 add A, #42h ; 'B' ; Add Second Operand to Acc code:0197 000 mov DP0L, A ; Data Pointer Low Byte code:0199 000 clr A ; Clear Operand (0) code:019A 000 addc A, #3 ; Add Second Operand to Acc with carry code:019C 000 mov DP0H, A ; Data Pointer High Byte code:019E 000 clr A ; Clear Operand (0) code:019F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:01A0 000 mov R4, A ; Move (Op1 <- Op2) code:01A1 000 mov A, #1 ; Move (Op1 <- Op2) code:01A3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:01A4 000 mov DP0L, A ; Data Pointer Low Byte code:01A6 000 mov DP0H, R4 ; Data Pointer High Byte code:01A8 000 mov A, R6 ; Move (Op1 <- Op2) code:01A9 000 movx @DPTR, A ; Move from/to external RAM code:01AA 000 inc R7 ; Increment Operand code:01AB 000 mov A, R7 ; Move (Op1 <- Op2) code:01AC 000 cjne A, #0Bh, code_17F ; Compare Operands and JNE code:01AC code:01AF 000 ret ; Return from subroutine code:01AF code:01AF ; End of function code_17D code:01AF code:01B0 code:01B0 ; =============== S U B R O U T I N E ======================================= code:01B0 code:01B0 ; timer_1_start(R7) code:01B0 code:01B0 timer_1_start: ; CODE XREF: timer_1_start+15j code:01B0 000 mov A, R7 ; Move (Op1 <- Op2) code:01B1 000 jz return ; Jump if Acc is zero code:01B1 code:01B3 000 mov TH1, #11111101b ; Timer 1 High Byte code:01B6 000 clr A ; Clear Operand (0) code:01B7 000 mov TL1, A ; Timer 1 Low Byte code:01B9 000 setb TCON.6 ; start_timer_1 code:01BB 000 clr TCON.7 ; Timer Control Register code:01BB code:01BD code:01BD timer_1_wait_loop: ; CODE XREF: timer_1_start:timer_1_wait_loopj code:01BD 000 jnb TCON.7, timer_1_wait_loop ; Timer Control Register code:01BD code:01C0 000 clr TCON.7 ; Timer Control Register code:01C2 000 clr TCON.6 ; Timer Control Register code:01C4 000 dec R7 ; Decrement Operand code:01C5 000 sjmp timer_1_start ; timer_1_start(R7) code:01C5 code:01C7 ; --------------------------------------------------------------------------- code:01C7 code:01C7 return: ; CODE XREF: timer_1_start+1j code:01C7 000 ret ; Return from subroutine code:01C7 code:01C7 ; End of function timer_1_start code:01C7 code:01C8 code:01C8 ; =============== S U B R O U T I N E ======================================= code:01C8 code:01C8 code:01C8 set_timer_16bit_disable: ; CODE XREF: code_200+5p code:01C8 000 mov TMOD, #10001b ; set Timer 1 and Timer 0 to 16-bit mode code:01CB 000 clr TCON.4 ; disable timers 0 and 1 code:01CD 000 clr TCON.5 ; Timer Control Register code:01CF 000 clr TCON.6 ; Timer Control Register code:01D1 000 clr TCON.7 ; Timer Control Register code:01D3 000 ret ; Return from subroutine code:01D3 code:01D3 ; End of function set_timer_16bit_disable code:01D3 code:01D4 code:01D4 ; =============== S U B R O U T I N E ======================================= code:01D4 code:01D4 code:01D4 interact_host_PM_CH1: code:01D4 code:01D4 ; FUNCTION CHUNK AT ROM:0896 SIZE 00000010 BYTES code:01D4 code:01D4 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status code:01D7 000 movx A, @DPTR ; Move from/to external RAM code:01D8 000 jnb ACC.1, return ; Accumulator code:01D8 code:01DB 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status code:01DE 000 movx A, @DPTR ; Move from/to external RAM code:01DF 000 jnb ACC.3, receive_DATA ; jump if 3 bit is "0" - this is a DATA code:01DF code:01E2 code:01E2 receive_CMD: ; Host Interface PM Channel 1 Data In Port code:01E2 000 mov DPTR, #PMC_PM1DI code:01E5 000 movx A, @DPTR ; Move from/to external RAM code:01E6 000 mov RAM_63, A ; Move (Op1 <- Op2) code:01E8 000 clr A ; Clear Operand (0) code:01E9 000 mov RAM_64, A ; Move (Op1 <- Op2) code:01EB 000 ljmp check_CMD ; Long Jump code:01EB code:01EE ; --------------------------------------------------------------------------- code:01EE code:01EE receive_DATA: ; CODE XREF: interact_host_PM_CH1+Bj code:01EE 000 mov DPTR, #PMC_PM1DI ; Host Interface PM Channel 1 Data In Port code:01F1 000 movx A, @DPTR ; Move from/to external RAM code:01F2 000 mov RAM_65, A ; Move (Op1 <- Op2) code:01F4 000 mov A, RAM_64 ; CMD in RAM_63, DATA in RAM_65, flag in RAM_64 code:01F6 000 jz return ; Jump if Acc is zero code:01F6 code:01F8 000 lcall exit_point_3 ; Long Subroutine Call code:01F8 code:01FB code:01FB return: ; CODE XREF: interact_host_PM_CH1+4j code:01FB ; interact_host_PM_CH1+22j code:01FB 000 ret ; Return from subroutine code:01FB code:01FB ; End of function interact_host_PM_CH1 code:01FB code:01FB ; --------------------------------------------------------------------------- code:01FC db 0FFh, 0FFh, 0FFh, 0FFh code:0200 code:0200 ; =============== S U B R O U T I N E ======================================= code:0200 code:0200 code:0200 code_200: ; CODE XREF: start+97p code:0200 ; code_314:code_319p code:0200 000 mov SP, #PSW ; Stack Pointer code:0203 000 clr IE.7 ; Interrupt Enable Register 0 code:0205 000 lcall set_timer_16bit_disable ; Long Subroutine Call code:0205 code:0208 000 lcall exit_point_1 ; Long Subroutine Call code:0208 code:020B 000 mov DPTR, #606h ; Move (Op1 <- Op2) code:020E 000 clr A ; Clear Operand (0) code:020F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:0210 000 mov R6, A ; Move (Op1 <- Op2) code:0210 code:0211 code:0211 code_211: ; CODE XREF: code_314:code_353j code:0211 000 mov A, #1 ; Move (Op1 <- Op2) code:0213 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:0214 code:0214 code_214: ; CODE XREF: code_314+3Cj code:0214 000 mov R2, RAM_6 ; Move (Op1 <- Op2) code:0216 000 mov R1, A ; Move (Op1 <- Op2) code:0217 000 ljmp jump_to_addr ; jump_to_addr(R1 : - low adress byte, R2 - high adress byte); code:0217 code:0217 ; End of function code_200 code:0217 code:021A ; --------------------------------------------------------------------------- code:021A jbc RAM_20.0, code_233 ; Jump if Bit is set & clear Bit code:021A code:021D nop ; No operation code:021E inc @R0 ; Increment Operand code:021F dec @R0 ; Decrement Operand code:0220 ajmp RESET ; RESET code:0220 code:0222 ; --------------------------------------------------------------------------- code:0222 dec @R0 ; Decrement Operand code:0223 acall code_2FF+1 ; Absolute Call code:0223 code:0225 dec @R0 ; Decrement Operand code:0226 jbc RAM_20.0, code_23E+1 ; Jump if Bit is set & clear Bit code:0226 code:0229 acall code_80 ; Absolute Call code:0229 code:022B dec @R0 ; Decrement Operand code:022C lcall exit_point_0 ; Long Subroutine Call code:022C code:022F rrc A ; Rotate Acc right through Carry code:0230 jc code_248 ; Jump if Carry is set code:0230 code:0232 dec A ; Decrement Operand code:0232 code:0233 code:0233 code_233: ; CODE XREF: code:021Aj code:0233 jc code_24B ; Jump if Carry is set code:0233 code:0235 dec RAM_40 ; Decrement Operand code:0237 dec @R0 ; Decrement Operand code:0238 dec @R0 ; Decrement Operand code:0239 jc code_251 ; Jump if Carry is set code:0239 code:023B dec @R1 ; Decrement Operand code:023C jc code_254 ; Jump if Carry is set code:023C code:023E code:023E code_23E: ; CODE XREF: code:0226j code:023E ; code_314-37j code:023E ljmp exit_point_0 ; Long Jump code:023E code:0241 ; --------------------------------------------------------------------------- code:0241 code:0241 code_241: ; Logical OR (op1 |= op2) code:0241 orl C, RAM_2C.0 code:0243 dec @R0 ; Decrement Operand code:0244 dec R0 ; Decrement Operand code:0245 sjmp code_25D ; Short jump code:0245 code:0247 ; --------------------------------------------------------------------------- code:0247 dec R1 ; Decrement Operand code:0247 code:0248 code:0248 code_248: ; CODE XREF: code:0230j code:0248 sjmp code_260 ; Short jump code:0248 code:024A ; --------------------------------------------------------------------------- code:024A dec R2 ; Decrement Operand code:024A code:024B code:024B code_24B: ; CODE XREF: code:code_233j code:024B sjmp code_262+1 ; Short jump code:024B code:024D ; --------------------------------------------------------------------------- code:024D dec R3 ; Decrement Operand code:024E inc A ; Increment Operand code:024F dec @R0 ; Decrement Operand code:0250 dec R4 ; Decrement Operand code:0250 code:0251 code:0251 code_251: ; CODE XREF: code:0239j code:0251 inc A ; Increment Operand code:0252 dec @R0 ; Decrement Operand code:0253 dec R5 ; Decrement Operand code:0253 code:0254 code:0254 code_254: ; CODE XREF: code:023Cj code:0254 jc code_26C ; Jump if Carry is set code:0254 code:0256 dec R6 ; Decrement Operand code:0257 jc code_26F ; Jump if Carry is set code:0257 code:0259 dec R7 ; Decrement Operand code:025A sjmp code_272 ; Short jump code:025A code:025C ; --------------------------------------------------------------------------- code:025C rr A ; Rotate Acc right code:025C code:025D code:025D code_25D: ; CODE XREF: code:0245j code:025D nop ; No operation code:025E dec @R0 ; Decrement Operand code:025F jmp @A+DPTR ; Jump indirect relative to Data Pointer code:025F code:0260 ; --------------------------------------------------------------------------- code:0260 code:0260 code_260: ; CODE XREF: code:code_248j code:0260 nop ; No operation code:0261 dec @R0 ; Decrement Operand code:0262 code:0262 code_262: ; CODE XREF: code:code_24Bj code:0262 jb P0.0, code_27B ; Port 0 code:0262 code:0265 ajmp code_104 ; Absolute Jump code:0265 code:0267 ; --------------------------------------------------------------------------- code:0267 dec @R0 ; Decrement Operand code:0268 ret ; Return from subroutine code:0268 code:0269 ; --------------------------------------------------------------------------- code:0269 inc A ; Increment Operand code:026A dec @R0 ; Decrement Operand code:026B rl A ; Rotate Acc left code:026B code:026C code:026C code_26C: ; CODE XREF: code:code_254j code:026C sjmp code_284 ; Short jump code:026C code:026C ; --------------------------------------------------------------------------- code:026E db 24h code:026F ; --------------------------------------------------------------------------- code:026F code:026F code_26F: ; CODE XREF: code:0257j code:026F sjmp code_287 ; Short jump code:026F code:026F ; --------------------------------------------------------------------------- code:0271 db 25h code:0272 ; --------------------------------------------------------------------------- code:0272 code:0272 code_272: ; CODE XREF: code:025Aj code:0272 sjmp code_28A ; Short jump code:0272 code:0274 ; --------------------------------------------------------------------------- code:0274 add A, @R0 ; Add Second Operand to Acc code:0275 sjmp code_28D ; Short jump code:0275 code:0277 ; --------------------------------------------------------------------------- code:0277 add A, @R1 ; Add Second Operand to Acc code:0278 jc code_290 ; Jump if Carry is set code:0278 code:027A inc A ; Increment Operand code:027A code:027B code:027B code_27B: ; CODE XREF: code:code_262j code:027B jnb RAM_22.6, code_2F2 ; Jump if Bit is clear code:027B code:027E dec R0 ; Decrement Operand code:027F dec @R0 ; Decrement Operand code:0280 add A, R0 ; Add Second Operand to Acc code:0281 sjmp code_299 ; Short jump code:0281 code:0283 ; --------------------------------------------------------------------------- code:0283 add A, R1 ; Add Second Operand to Acc code:0283 code:0284 code:0284 code_284: ; CODE XREF: code:code_26Cj code:0284 sjmp code_29B+1 ; Short jump code:0284 code:0286 ; --------------------------------------------------------------------------- code:0286 add A, R2 ; Add Second Operand to Acc code:0286 code:0287 code:0287 code_287: ; CODE XREF: code:code_26Fj code:0287 nop ; No operation code:0288 dec @R0 ; Decrement Operand code:0289 add A, R3 ; Add Second Operand to Acc code:0289 code:028A code:028A code_28A: ; CODE XREF: code:code_272j code:028A jc code_2A1+1 ; Jump if Carry is set code:028A code:028C add A, R4 ; Add Second Operand to Acc code:028C code:028D code:028D code_28D: ; CODE XREF: code:0275j code:028D jc code_2A5 ; Jump if Carry is set code:028D code:028F add A, R5 ; Add Second Operand to Acc code:028F code:0290 code:0290 code_290: ; CODE XREF: code:0278j code:0290 jc code_2A8 ; Jump if Carry is set code:0290 code:0292 add A, R6 ; Add Second Operand to Acc code:0293 sjmp code_2AA+1 ; Short jump code:0293 code:0293 ; --------------------------------------------------------------------------- code:0295 db 2Fh, 80h, 16h, 5 code:0299 ; --------------------------------------------------------------------------- code:0299 code:0299 code_299: ; CODE XREF: code:0281j code:0299 nop ; No operation code:029A dec @R0 ; Decrement Operand code:029B code:029B code_29B: ; CODE XREF: code:code_284j code:029B mov RAM_0, #16h ; Move (Op1 <- Op2) code:029E jnb P0.0, code_2B7 ; Port 0 code:029E code:02A1 code:02A1 code_2A1: ; CODE XREF: code:code_28Aj code:02A1 acall code_140 ; Absolute Call code:02A1 code:02A3 dec @R0 ; Decrement Operand code:02A4 reti ; Return from Interrupt code:02A4 code:02A5 ; --------------------------------------------------------------------------- code:02A5 code:02A5 code_2A5: ; CODE XREF: code:code_28Dj code:02A5 sjmp code_2BD ; Short jump code:02A5 code:02A7 ; --------------------------------------------------------------------------- code:02A7 rlc A ; Rotate Acc left through Carry code:02A7 code:02A8 code:02A8 code_2A8: ; CODE XREF: code:code_290j code:02A8 nop ; No operation code:02A9 dec @R0 ; Decrement Operand code:02AA code:02AA code_2AA: ; CODE XREF: code:0293j code:02AA addc A, #80h ; 'Ç' ; Add Second Operand to Acc with carry code:02AC dec @R0 ; Decrement Operand code:02AD addc A, P0 ; Port 0 code:02AF dec @R0 ; Decrement Operand code:02B0 addc A, @R0 ; Add Second Operand to Acc with carry code:02B1 sjmp code_2C9 ; Short jump code:02B1 code:02B3 ; --------------------------------------------------------------------------- code:02B3 addc A, @R1 ; Add Second Operand to Acc with carry code:02B4 jc code_2CC ; Jump if Carry is set code:02B4 code:02B6 inc @R0 ; Increment Operand code:02B6 code:02B7 code:02B7 code_2B7: ; CODE XREF: code:029Ej code:02B7 nop ; No operation code:02B8 dec @R0 ; Decrement Operand code:02B9 mov @R0, #0 ; Move (Op1 <- Op2) code:02BB dec @R0 ; Decrement Operand code:02BC addc A, R0 ; Add Second Operand to Acc with carry code:02BC code:02BD code:02BD code_2BD: ; CODE XREF: code:code_2A5j code:02BD sjmp code_2D5 ; Short jump code:02BD code:02BD ; --------------------------------------------------------------------------- code:02BF db 39h, 80h, 16h, 3Ah, 80h, 16h, 3Bh, 80h, 16h, 3Ch code:02C9 ; --------------------------------------------------------------------------- code:02C9 code:02C9 code_2C9: ; CODE XREF: code:02B1j code:02C9 inc A ; Increment Operand code:02CA dec @R0 ; Decrement Operand code:02CB addc A, R5 ; Add Second Operand to Acc with carry code:02CB code:02CC ; START OF FUNCTION CHUNK FOR code_314 code:02CC code:02CC code_2CC: ; CODE XREF: code:02B4j code:02CC ; code_314+31j code:02CC 000 inc A ; Increment Operand code:02CD 000 dec @R0 ; Decrement Operand code:02CE 000 addc A, R6 ; Add Second Operand to Acc with carry code:02CF 000 jc code_2E7 ; Jump if Carry is set code:02CF code:02D1 000 addc A, R7 ; Add Second Operand to Acc with carry code:02D2 000 jc code_2E9+1 ; Jump if Carry is set code:02D2 code:02D4 000 inc @R1 ; Increment Operand code:02D4 code:02D5 code:02D5 code_2D5: ; CODE XREF: code:code_2BDj code:02D5 000 nop ; No operation code:02D6 000 dec @R0 ; Decrement Operand code:02D7 000 mov @R1, #0 ; Move (Op1 <- Op2) code:02D9 000 dec @R0 ; Decrement Operand code:02DA 000 jc code_31C ; Jump if Carry is set code:02DA code:02DC 000 dec @R0 ; Decrement Operand code:02DD 000 ajmp code_23E+2 ; Absolute Jump code:02DD code:02DD ; END OF FUNCTION CHUNK FOR code_314 code:02DD ; --------------------------------------------------------------------------- code:02DF db 16h, 42h, 80h, 16h, 43h, 0, 16h, 44h code:02E7 ; --------------------------------------------------------------------------- code:02E7 ; START OF FUNCTION CHUNK FOR code_314 code:02E7 code:02E7 code_2E7: ; CODE XREF: code_314-45j code:02E7 000 nop ; No operation code:02E8 000 dec @R0 ; Decrement Operand code:02E9 code:02E9 code_2E9: ; CODE XREF: code_314-42j code:02E9 000 orl A, RAM_0 ; Logical OR (op1 |= op2) code:02EB 000 dec @R0 ; Decrement Operand code:02EC 000 orl A, @R0 ; Logical OR (op1 |= op2) code:02ED 000 sjmp code_305 ; Short jump code:02ED code:02ED ; END OF FUNCTION CHUNK FOR code_314 code:02EF ; --------------------------------------------------------------------------- code:02EF orl A, @R1 ; Logical OR (op1 |= op2) code:02F0 nop ; No operation code:02F1 dec @R0 ; Decrement Operand code:02F1 code:02F2 code:02F2 code_2F2: ; CODE XREF: code:code_27Bj code:02F2 inc R0 ; Increment Operand code:02F3 nop ; No operation code:02F4 dec @R0 ; Decrement Operand code:02F5 mov R0, #0 ; Move (Op1 <- Op2) code:02F7 dec @R0 ; Decrement Operand code:02F8 orl A, R0 ; Logical OR (op1 |= op2) code:02F9 nop ; No operation code:02FA dec @R0 ; Decrement Operand code:02FB orl A, R1 ; Logical OR (op1 |= op2) code:02FC jc code_314 ; Jump if Carry is set code:02FC code:02FE orl A, R2 ; Logical OR (op1 |= op2) code:02FF code:02FF code_2FF: ; CODE XREF: code:0223p code:02FF jc code_316+1 ; Jump if Carry is set code:02FF code:0301 orl A, R3 ; Logical OR (op1 |= op2) code:0302 jc code_319+1 ; Jump if Carry is set code:0302 code:0304 orl A, R4 ; Logical OR (op1 |= op2) code:0304 code:0305 ; START OF FUNCTION CHUNK FOR code_314 code:0305 code:0305 code_305: ; CODE XREF: code_314-27j code:0305 000 jc code_31C+1 ; Jump if Carry is set code:0305 code:0307 000 orl A, R5 ; Logical OR (op1 |= op2) code:0308 000 sjmp code_31F+1 ; Short jump code:0308 code:0308 ; END OF FUNCTION CHUNK FOR code_314 code:0308 ; --------------------------------------------------------------------------- code:030A db 4Eh, 80h, 16h, 4Fh, 80h, 16h, 9, 0, 16h, 79h code:0314 code:0314 ; =============== S U B R O U T I N E ======================================= code:0314 code:0314 code:0314 code_314: ; CODE XREF: code:02FCj code:0314 code:0314 ; FUNCTION CHUNK AT code:02CC SIZE 00000013 BYTES code:0314 ; FUNCTION CHUNK AT code:02E7 SIZE 00000008 BYTES code:0314 ; FUNCTION CHUNK AT code:0305 SIZE 00000005 BYTES code:0314 code:0314 000 nop ; No operation code:0315 000 dec @R0 ; Decrement Operand code:0316 code:0316 code_316: ; CODE XREF: code:code_2FFj code:0316 000 jnc code_318 ; Jump if Carry is clear code:0318 code:0318 code_318: ; Decrement Operand code:0318 000 dec @R0 code:0319 code:0319 code_319: ; CODE XREF: code:0302j code:0319 000 acall code_200 ; Absolute Call code:0319 code:031B 000 dec @R0 ; Decrement Operand code:031B code:031C code:031C code_31C: ; CODE XREF: code_314-3Aj code:031C ; code_314:code_305j code:031C 000 anl P0, A ; Port 0 code:031E 000 dec @R0 ; Decrement Operand code:031F code:031F code_31F: ; CODE XREF: code_314-Cj code:031F 000 anl P0, #10110b ; Port 0 code:0322 000 anl A, #10000000b ; Logical AND (op1 &= op2) code:0324 000 dec @R0 ; Decrement Operand code:0325 000 anl A, P0 ; Port 0 code:0327 000 dec @R0 ; Decrement Operand code:0328 000 anl A, @R0 ; Logical AND (op1 &= op2) code:0329 000 sjmp code_341 ; Short jump code:0329 code:032B ; --------------------------------------------------------------------------- code:032B 000 anl A, @R1 ; Logical AND (op1 &= op2) code:032C 000 sjmp code_344 ; Short jump code:032C code:032E ; --------------------------------------------------------------------------- code:032E 000 inc R2 ; Increment Operand code:032F 000 nop ; No operation code:0330 000 dec @R0 ; Decrement Operand code:0331 000 anl A, R0 ; Logical AND (op1 &= op2) code:0332 000 nop ; No operation code:0333 000 dec @R0 ; Decrement Operand code:0334 000 anl A, R1 ; Logical AND (op1 &= op2) code:0335 000 nop ; No operation code:0336 000 dec @R0 ; Decrement Operand code:0337 000 anl A, R2 ; Logical AND (op1 &= op2) code:0338 000 nop ; No operation code:0339 000 dec @R0 ; Decrement Operand code:033A 000 anl A, R3 ; Logical AND (op1 &= op2) code:033B 000 jc code_353 ; Jump if Carry is set code:033B code:033D 000 anl A, R4 ; Logical AND (op1 &= op2) code:033E 000 sjmp code_356 ; Short jump code:033E code:0340 ; --------------------------------------------------------------------------- code:0340 000 anl A, R5 ; Logical AND (op1 &= op2) code:0340 code:0341 code:0341 code_341: ; CODE XREF: code_314+15j code:0341 000 sjmp set_PNPCFG_EC_acess_only ; Short jump code:0341 code:0343 ; --------------------------------------------------------------------------- code:0343 000 inc R2 ; Increment Operand code:0343 code:0344 code:0344 code_344: ; CODE XREF: code_314+18j code:0344 000 nop ; No operation code:0345 000 jb RAM_20.6, code_2CC ; Jump if Bit is set code:0345 code:0348 000 rrc A ; Rotate Acc right through Carry code:0349 000 ljmp IE1 ; External interrupt 1 code:0349 code:034C ; --------------------------------------------------------------------------- code:034C 000 nop ; No operation code:034D 000 orl A, R1 ; Logical OR (op1 |= op2) code:034E 000 dec RAM_6 ; Decrement Operand code:0350 000 ajmp code_214+1 ; Absolute Jump code:0350 code:0352 ; --------------------------------------------------------------------------- code:0352 000 dec @R0 ; Decrement Operand code:0352 code:0353 code:0353 code_353: ; CODE XREF: code_314+27j code:0353 000 ajmp code_211 ; Absolute Jump code:0353 code:0355 ; --------------------------------------------------------------------------- code:0355 000 inc @R1 ; Increment Operand code:0355 code:0356 code:0356 code_356: ; CODE XREF: code_314+2Aj code:0356 000 rr A ; Rotate Acc right code:0357 000 dec R5 ; Decrement Operand code:0358 000 ljmp code_51C+1 ; Long Jump code:0358 code:035B ; --------------------------------------------------------------------------- code:035B 000 inc RAM_4 ; Increment Operand code:035D 000 dec R2 ; Decrement Operand code:035E 000 nop ; No operation code:035F 000 inc R7 ; Increment Operand code:0360 000 dec R2 ; Decrement Operand code:0361 000 ajmp RESET ; RESET code:0361 code:0363 ; --------------------------------------------------------------------------- code:0363 code:0363 set_PNPCFG_EC_acess_only: ; CODE XREF: code_314:code_341j code:0363 000 mov DPTR, #EC2I_LSIOHA ; Lock Super I/O Host Access code:0366 000 movx A, @DPTR ; Move from/to external RAM code:0367 000 orl A, #1 ; lock PNPCFG Registers Host Access (LKCFG) code:0369 000 movx @DPTR, A ; Move from/to external RAM code:036A 000 mov DPTR, #EC2I_IBMAE ; EC to I-Bus Modules Access Enable code:036D 000 movx A, @DPTR ; Move from/to external RAM code:036E 000 orl A, #1 ; enable EC Access to PNPCFG registers code:036E ; code:0370 000 movx @DPTR, A ; Move from/to external RAM code:0371 000 inc DPTR ; I-Bus Control Register (IBCTL) code:0372 000 movx A, @DPTR ; Move from/to external RAM code:0373 000 orl A, #1 ; EC access to the IB bus is enabled. code:0373 ; The module to be accessed is selected in the IBMAE register. code:0373 ; code:0375 000 movx @DPTR, A ; Move from/to external RAM code:0376 000 clr A ; Clear Operand (0) code:0377 000 mov R7, A ; Move (Op1 <- Op2) code:0378 000 mov R4, #6 ; Move (Op1 <- Op2) code:037A 000 mov R5, #8 ; Move (Op1 <- Op2) code:037A code:037C code:037C read_write_cycle_start: ; CODE XREF: code_314+A0j code:037C 000 mov DPTR, #EC2I_IHIOA ; Indirect Host I/O Address code:037F 000 clr A ; Clear Operand (0) code:0380 000 movx @DPTR, A ; set Host I/O offset to 0 code:0381 000 mov DP0L, R5 ; Data Pointer Low Byte code:0383 000 mov DP0H, R4 ; DPTR = (R4:R5) // init value = 0x68 code:0385 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:0386 000 mov DPTR, #EC2I_IHD ; Indirect Host Data code:0389 000 movx @DPTR, A ; Move from/to external RAM code:0389 code:038A code:038A code_38A: ; CODE XREF: code_314+7Aj code:038A 000 mov DPTR, #EC2I_IBCTL ; bit number - description code:038A ; code:038A ; 2 R EC Write to IB (CWIB) code:038A ; 0: No write operation is detected. code:038A ; 1: when write data to the IHD register. It is cleared when the write to the IB is code:038A ; completed. code:038A ; 1 R/W EC Read from IB (CRIB) code:038A ; Set 1 to begin a read from the IB; the read operation is based on the setting in code:038A ; IBMAE register. A write of 0 to this bit is ignored. This bit is cleared when the code:038A ; read operation is completed and represents the data in IHD register is code:038A ; available. code:038A ; 0 R/W EC to IB Access Enabled (CSAE) code:038A ; 0: EC access to the IB bus is disabled (default). code:038A ; 1: EC access to the IB bus is enabled. The module to be accessed is code:038A ; selected in the IBMAE register. code:038A ; code:038D 000 movx A, @DPTR ; Move from/to external RAM code:038E 000 jb ACC.2, code_38A ; Accumulator code:038E code:0391 000 inc R5 ; Increment Operand code:0392 000 cjne R5, #0, code_396 ; Compare Operands and JNE code:0392 code:0395 000 inc R4 ; Increment Operand code:0395 code:0396 code:0396 code_396: ; CODE XREF: code_314+7Ej code:0396 000 mov DPTR, #EC2I_IHIOA ; Indirect Host I/O Address code:0399 000 mov A, #1 ; Move (Op1 <- Op2) code:039B 000 movx @DPTR, A ; Move from/to external RAM code:039C 000 mov DP0L, R5 ; Data Pointer Low Byte code:039E 000 mov DP0H, R4 ; Data Pointer High Byte code:03A0 000 clr A ; Clear Operand (0) code:03A1 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:03A2 000 mov DPTR, #EC2I_IHD ; Indirect Host Data code:03A5 000 movx @DPTR, A ; Move from/to external RAM code:03A5 code:03A6 code:03A6 code_3A6: ; CODE XREF: code_314+96j code:03A6 000 mov DPTR, #EC2I_IBCTL ; I-Bus Control code:03A9 000 movx A, @DPTR ; Move from/to external RAM code:03AA 000 jb ACC.2, code_3A6 ; Accumulator code:03AA code:03AD 000 inc R5 ; Increment Operand code:03AE 000 cjne R5, #0, read_write_cycle_end ; Compare Operands and JNE code:03AE code:03B1 000 inc R4 ; Increment Operand code:03B1 code:03B2 code:03B2 read_write_cycle_end: ; CODE XREF: code_314+9Aj code:03B2 000 inc R7 ; Increment Operand code:03B3 000 mov A, R7 ; Move (Op1 <- Op2) code:03B4 000 cjne A, #0Ch, read_write_cycle_start ; Compare Operands and JNE code:03B4 code:03B7 000 mov DPTR, #EC2I_LSIOHA ; Lock Super I/O Host Access code:03BA 000 movx A, @DPTR ; Move from/to external RAM code:03BB 000 anl A, #11111110b ; unlock PNPCFG Registers Host Access (LKCFG) code:03BD 000 movx @DPTR, A ; Move from/to external RAM code:03BE 000 mov DPTR, #EC2I_IBMAE ; EC to I-Bus Modules Access Enable code:03C1 000 movx A, @DPTR ; Move from/to external RAM code:03C2 000 anl A, #11111110b ; disable EC Access to PNPCFG registers code:03C4 000 movx @DPTR, A ; Move from/to external RAM code:03C5 000 inc DPTR ; I-Bus Control Register (IBCTL) code:03C6 000 movx A, @DPTR ; Move from/to external RAM code:03C7 000 anl A, #11111110b ; EC access to the IB bus is disabled. code:03C9 000 movx @DPTR, A ; Move from/to external RAM code:03CA 000 ret ; Return from subroutine code:03CA code:03CA ; End of function code_314 code:03CA code:03CB code:03CB ; =============== S U B R O U T I N E ======================================= code:03CB code:03CB code:03CB code_3CB: code:03CB 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register code:03CE 000 mov A, #0FAh ; '·' ; Move (Op1 <- Op2) code:03D0 000 movx @DPTR, A ; Move from/to external RAM code:03D0 code:03D1 code:03D1 code_3D1: ; CODE XREF: code_3CB+Aj code:03D1 ; code_3CB+11j ... code:03D1 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register code:03D4 000 movx A, @DPTR ; Move from/to external RAM code:03D5 000 jnb ACC.1, code_3D1 ; Accumulator code:03D5 code:03D8 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register code:03DB 000 movx A, @DPTR ; Move from/to external RAM code:03DC 000 jnb ACC.3, code_3D1 ; Accumulator code:03DC code:03DF 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register code:03E2 000 movx A, @DPTR ; Move from/to external RAM code:03E3 000 mov R7, A ; Move (Op1 <- Op2) code:03E4 000 cjne A, #0FFh, code_3E9 ; Compare Operands and JNE code:03E4 code:03E7 000 sjmp code_412 ; Short jump code:03E7 code:03E9 ; --------------------------------------------------------------------------- code:03E9 code:03E9 code_3E9: ; CODE XREF: code_3CB+19j code:03E9 000 mov A, R7 ; Move (Op1 <- Op2) code:03EA 000 cjne A, #0FEh, code_3EF ; '¦' ; Compare Operands and JNE code:03EA code:03ED 000 sjmp code_412 ; Short jump code:03ED code:03EF ; --------------------------------------------------------------------------- code:03EF code:03EF code_3EF: ; CODE XREF: code_3CB+1Fj code:03EF 000 mov A, R7 ; Move (Op1 <- Op2) code:03F0 000 cjne A, #0B6h, code_3F5 ; '¦' ; Compare Operands and JNE code:03F0 code:03F3 000 sjmp code_412 ; Short jump code:03F3 code:03F5 ; --------------------------------------------------------------------------- code:03F5 code:03F5 code_3F5: ; CODE XREF: code_3CB+25j code:03F5 000 mov A, R7 ; Move (Op1 <- Op2) code:03F6 000 cjne A, #0D7h, code_408 ; '+' ; Compare Operands and JNE code:03F6 code:03F9 000 mov DPTR, #SMFI_SMECCS ; dptr = SMFI_SMECCS; code:03FC 000 movx A, @DPTR ; a = read_byte_from(dptr); code:03FD 000 anl A, #0DFh ; a &= 11011111b; code:03FD ; // Mask with this: code:03FD ; // Host Semaphore Interrupt = enabled code:03FD ; // Host Semaphore Write Enable = enabled code:03FD ; // Host Write Allow = disabled code:03FD ; code:03FD ; // 6.3.4.5, p 73 of Reference Manual code:03FF 000 movx @DPTR, A ; Move from/to external RAM code:0400 000 nop ; No operation code:0401 000 nop ; No operation code:0402 000 movx A, @DPTR ; Move from/to external RAM code:0403 000 orl A, #20h ; Logical OR (op1 |= op2) code:0405 000 movx @DPTR, A ; Move from/to external RAM code:0406 000 sjmp code_3D1 ; Short jump code:0406 code:0408 ; --------------------------------------------------------------------------- code:0408 code:0408 code_408: ; CODE XREF: code_3CB+2Bj code:0408 000 mov A, R7 ; Move (Op1 <- Op2) code:0409 000 cjne A, #0FEh, code_40E ; '¦' ; Compare Operands and JNE code:0409 code:040C 000 sjmp code_412 ; Short jump code:040C code:040E ; --------------------------------------------------------------------------- code:040E code:040E code_40E: ; CODE XREF: code_3CB+3Ej code:040E 000 mov A, R7 ; Move (Op1 <- Op2) code:040F 000 cjne A, #0FFh, code_41A ; Compare Operands and JNE code:040F code:0412 code:0412 code_412: ; CODE XREF: code_3CB+1Cj code:0412 ; code_3CB+22j ... code:0412 000 mov DPTR, #0Ch ; Move (Op1 <- Op2) code:0415 000 mov A, #33h ; '3' ; Move (Op1 <- Op2) code:0417 000 movx @DPTR, A ; Move from/to external RAM code:0418 000 sjmp code_45B ; Short jump code:0418 code:041A ; --------------------------------------------------------------------------- code:041A code:041A code_41A: ; CODE XREF: code_3CB+44j code:041A 000 mov A, R7 ; Move (Op1 <- Op2) code:041B 000 xrl A, #0B5h ; Exclusive OR (op1 ^= op2) code:041D 000 jnz code_435 ; Jump if Acc is not zero code:041D code:041F code:041F code_41F: ; CODE XREF: code_3CB+58j code:041F 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register code:0422 000 movx A, @DPTR ; Move from/to external RAM code:0423 000 jnb ACC.1, code_41F ; Accumulator code:0423 code:0426 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register code:0429 000 movx A, @DPTR ; Move from/to external RAM code:042A 000 mov R7, A ; Move (Op1 <- Op2) code:042B 000 add A, #0C0h ; '+' ; Add Second Operand to Acc code:042D 000 mov R0, A ; Move (Op1 <- Op2) code:042E 000 mov A, @R0 ; Move (Op1 <- Op2) code:042F 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register code:0432 000 movx @DPTR, A ; Move from/to external RAM code:0433 000 sjmp code_3D1 ; Short jump code:0433 code:0435 ; --------------------------------------------------------------------------- code:0435 code:0435 code_435: ; CODE XREF: code_3CB+52j code:0435 000 mov A, R7 ; Move (Op1 <- Op2) code:0436 000 xrl A, #0B6h ; Exclusive OR (op1 ^= op2) code:0438 000 jnz code_3D1 ; Jump if Acc is not zero code:0438 code:043A code:043A code_43A: ; CODE XREF: code_3CB+73j code:043A 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register code:043D 000 movx A, @DPTR ; Move from/to external RAM code:043E 000 jnb ACC.1, code_43A ; Accumulator code:043E code:0441 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register code:0444 000 movx A, @DPTR ; Move from/to external RAM code:0445 000 mov R7, A ; Move (Op1 <- Op2) code:0445 code:0446 code:0446 code_446: ; CODE XREF: code_3CB+7Fj code:0446 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register code:0449 000 movx A, @DPTR ; Move from/to external RAM code:044A 000 jnb ACC.1, code_446 ; Accumulator code:044A code:044D 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register code:0450 000 movx A, @DPTR ; Move from/to external RAM code:0451 000 mov R6, A ; Move (Op1 <- Op2) code:0452 000 mov A, #0C0h ; '+' ; Move (Op1 <- Op2) code:0454 000 add A, R7 ; Add Second Operand to Acc code:0455 000 mov R0, A ; Move (Op1 <- Op2) code:0456 000 mov @R0, RAM_6 ; Move (Op1 <- Op2) code:0458 000 ljmp code_3D1 ; Long Jump code:0458 code:045B ; --------------------------------------------------------------------------- code:045B code:045B code_45B: ; CODE XREF: code_3CB+4Dj code:045B 000 mov DPTR, #SMFI_SMECCS ; Shared Memory EC Control and Status code:045E 000 movx A, @DPTR ; Move from/to external RAM code:045F 000 anl A, #0DFh ; Logical AND (op1 &= op2) code:0461 000 movx @DPTR, A ; Move from/to external RAM code:0462 000 nop ; No operation code:0463 000 nop ; No operation code:0464 000 ret ; Return from subroutine code:0464 code:0464 ; End of function code_3CB code:0464 code:0465 ; --------------------------------------------------------------------------- code:0465 ; START OF FUNCTION CHUNK FOR ROM_854 code:0465 code:0465 code_465: ; CODE XREF: ROM_854+19j code:0465 000 mov DPTR, #SMFI_SMECCS ; Shared Memory EC Control and Status code:0468 000 movx A, @DPTR ; Move from/to external RAM code:0469 000 orl A, #100000b ; Host Write Allow (HOSTWA) code:0469 ; 1: The SMFI can generate write transactions on M-bus. code:0469 ; The read performance on M-bus will be very poor for code:0469 ; Host LPC if this bit is set. code:0469 ; code:046B 000 movx @DPTR, A ; Move from/to external RAM code:046C == DISABLE FLASH WRITE PROTECT == code:046C 000 mov DPTR, #SMFI_SMECOWPR0 ; disable_write_protect code:046C ; { code:046C ; dptr = 0x1029; code:046F 000 clr A ; A = 00000000b; code:0470 000 movx @DPTR, A ; Move from/to external RAM code:0471 000 inc DPTR ; dptr = 0x102A; code:0472 000 movx @DPTR, A ; Move from/to external RAM code:0473 000 inc DPTR ; dptr = 0x102B; code:0474 000 movx @DPTR, A ; Move from/to external RAM code:0475 000 inc DPTR ; dptr = 0x102C; code:0476 000 movx @DPTR, A ; Move from/to external RAM code:0477 000 inc DPTR ; dptr = 0x102D; code:0478 000 movx @DPTR, A ; Move from/to external RAM code:0479 000 inc DPTR ; dptr = 0x102E; code:047A 000 movx @DPTR, A ; } // end of disable_write_protect code:047A == END DISABLE FLASH WRITE PROTECT == code:047B 000 mov DPTR, #1015h ; UNDOCUMENTED!!! code:047E 000 movx @DPTR, A ; Move from/to external RAM code:047F 000 inc DPTR ; dptr = 0x1016 code:0480 000 movx @DPTR, A ; Move from/to external RAM code:0481 000 inc DPTR ; dptr = 0x1017 code:0482 000 movx @DPTR, A ; Move from/to external RAM code:0483 000 inc DPTR ; dptr = 0x1018 code:0484 000 movx @DPTR, A ; Move from/to external RAM code:0485 == DISABLE FLASH READ PROTECT == code:0485 000 mov DPTR, #SMFI_SMECORPR0 ; disable_read_protect code:0485 ; { code:0485 ; dptr = 0x1023; code:0488 000 movx @DPTR, A ; Move from/to external RAM code:0489 000 inc DPTR ; Increment Operand code:048A 000 movx @DPTR, A ; Move from/to external RAM code:048B 000 inc DPTR ; Increment Operand code:048C 000 movx @DPTR, A ; Move from/to external RAM code:048D 000 inc DPTR ; Increment Operand code:048E 000 movx @DPTR, A ; Move from/to external RAM code:048F 000 inc DPTR ; Increment Operand code:0490 000 movx @DPTR, A ; Move from/to external RAM code:0491 000 inc DPTR ; Increment Operand code:0492 000 movx @DPTR, A ; } // end of disable_read_protect code:0492 == END DISABLE FLASH READ PROTECT == code:0493 000 mov DPTR, #1011h ; UNDOCUMENTED!!! code:0496 000 movx @DPTR, A ; Move from/to external RAM code:0497 000 inc DPTR ; Increment Operand code:0498 000 movx @DPTR, A ; Move from/to external RAM code:0499 000 inc DPTR ; Increment Operand code:049A 000 movx @DPTR, A ; Move from/to external RAM code:049B 000 inc DPTR ; Increment Operand code:049C 000 movx @DPTR, A ; Move from/to external RAM code:049D 000 mov R7, A ; Move (Op1 <- Op2) code:049E 000 mov R6, #5 ; Move (Op1 <- Op2) code:04A0 000 mov R4, #3 ; Move (Op1 <- Op2) code:04A2 000 mov R5, #0CBh ; '-' ; Move (Op1 <- Op2) code:04A4 000 mov RAM_30, A ; Move (Op1 <- Op2) code:04A4 code:04A6 code:04A6 code_4A6: ; CODE XREF: ROM_854-395j code:04A6 000 mov DP0L, R5 ; Data Pointer Low Byte code:04A8 000 mov DP0H, R4 ; Data Pointer High Byte code:04AA 000 clr A ; Clear Operand (0) code:04AB 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:04AC 000 mov DP0L, R7 ; Data Pointer Low Byte code:04AE 000 mov DP0H, R6 ; Data Pointer High Byte code:04B0 000 movx @DPTR, A ; Move from/to external RAM code:04B1 000 inc R7 ; Increment Operand code:04B2 000 cjne R7, #0, code_4B6 ; Compare Operands and JNE code:04B2 code:04B5 000 inc R6 ; Increment Operand code:04B5 code:04B6 code:04B6 code_4B6: ; CODE XREF: ROM_854-3A2j code:04B6 000 inc R5 ; Increment Operand code:04B7 000 cjne R5, #0, code_4BB ; Compare Operands and JNE code:04B7 code:04BA 000 inc R4 ; Increment Operand code:04BA code:04BB code:04BB code_4BB: ; CODE XREF: ROM_854-39Dj code:04BB 000 inc RAM_30 ; Increment Operand code:04BD 000 mov A, RAM_30 ; Move (Op1 <- Op2) code:04BF 000 cjne A, #0FFh, code_4A6 ; Compare Operands and JNE code:04BF code:04C2 000 mov DPTR, #DAC_DACDAT1 ; DAC Data Channel 1 code:04C5 000 mov A, #0FFh ; Move (Op1 <- Op2) code:04C7 000 movx @DPTR, A ; Move from/to external RAM code:04C8 000 inc DPTR ; Increment Operand code:04C9 000 movx @DPTR, A ; Move from/to external RAM code:04CA 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register code:04CD 000 movx A, @DPTR ; Move from/to external RAM code:04CE 000 anl A, #0FEh ; Logical AND (op1 &= op2) code:04D0 000 movx @DPTR, A ; Move from/to external RAM code:04D1 000 clr IE.7 ; Interrupt Enable Register 0 code:04D3 000 mov DPTR, #SMFI_FBCFG ; set acess to EC code space code:04D3 ; { code:04D3 ; code:04D6 000 movx A, @DPTR ; Move from/to external RAM code:04D7 000 orl A, #10000000b ; Logical OR (op1 |= op2) code:04D9 000 movx @DPTR, A ; } code:04D9 ; code:04DA 000 mov DPTR, #var_1_0 ; Move (Op1 <- Op2) code:04DD 000 clr A ; Clear Operand (0) code:04DE 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:04DF 000 mov R6, A ; Move (Op1 <- Op2) code:04E0 000 mov A, #1 ; Move (Op1 <- Op2) code:04E2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:04E3 000 mov R2, RAM_6 ; Move (Op1 <- Op2) code:04E5 000 mov R1, A ; Move (Op1 <- Op2) code:04E6 000 lcall jump_to_addr ; jump_to_addr(R1 : - low adress byte, R2 - high adress byte); code:04E6 code:04E9 000 mov DPTR, #SMFI_FBCFG ; FBIU Configuration code:04EC 000 movx A, @DPTR ; Move from/to external RAM code:04ED 000 anl A, #1111111b ; Logical AND (op1 &= op2) code:04EF 000 movx @DPTR, A ; Move from/to external RAM code:04F0 000 ret ; Return from subroutine code:04F0 code:04F0 ; END OF FUNCTION CHUNK FOR ROM_854 code:04F1 code:04F1 ; =============== S U B R O U T I N E ======================================= code:04F1 code:04F1 code:04F1 code_4F1: code:04F1 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register code:04F4 000 movx A, @DPTR ; Move from/to external RAM code:04F5 000 jnb ACC.1, return ; Accumulator code:04F5 code:04F8 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register code:04FB 000 movx A, @DPTR ; Move from/to external RAM code:04FC 000 jnb ACC.3, code_536 ; Accumulator code:04FC code:04FF 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register code:0502 000 movx A, @DPTR ; Move from/to external RAM code:0503 000 mov RAM_60, A ; Move (Op1 <- Op2) code:0505 000 clr A ; Clear Operand (0) code:0506 000 mov RAM_61, A ; Move (Op1 <- Op2) code:0508 000 mov R7, #64h ; 'd' ; Move (Op1 <- Op2) code:050A 000 lcall code_5B9 ; Long Subroutine Call code:050A code:050D 000 mov R7, RAM_60 ; Move (Op1 <- Op2) code:050F 000 lcall code_5B9 ; Long Subroutine Call code:050F code:0512 000 mov A, RAM_60 ; Move (Op1 <- Op2) code:0514 000 add A, #56h ; 'V' ; Add Second Operand to Acc code:0516 000 jz code_528 ; Jump if Acc is zero code:0516 code:0518 000 add A, #0D8h ; '+' ; Add Second Operand to Acc code:051A 000 jz code_530 ; Jump if Acc is zero code:051A code:051C code:051C code_51C: ; CODE XREF: code_314+44j code:051C 000 add A, #0B2h ; '¦' ; Add Second Operand to Acc code:051E 000 jnz code_533 ; Jump if Acc is not zero code:051E code:0520 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register code:0523 000 mov A, #3 ; Move (Op1 <- Op2) code:0525 000 movx @DPTR, A ; Move from/to external RAM code:0526 000 sjmp code_533 ; Short jump code:0526 code:0528 ; --------------------------------------------------------------------------- code:0528 code:0528 code_528: ; CODE XREF: code_4F1+25j code:0528 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register code:052B 000 mov A, #55h ; 'U' ; Move (Op1 <- Op2) code:052D 000 movx @DPTR, A ; Move from/to external RAM code:052E 000 sjmp code_533 ; Short jump code:052E code:0530 ; --------------------------------------------------------------------------- code:0530 code:0530 code_530: ; CODE XREF: code_4F1+29j code:0530 000 mov RAM_61, #1 ; Move (Op1 <- Op2) code:0530 code:0533 code:0533 code_533: ; CODE XREF: code_4F1+2Dj code:0533 ; code_4F1+35j ... code:0533 000 ljmp ROM_854 ; Long Jump code:0533 code:0536 ; --------------------------------------------------------------------------- code:0536 code:0536 code_536: ; CODE XREF: code_4F1+Bj code:0536 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register code:0539 000 movx A, @DPTR ; Move from/to external RAM code:053A 000 mov RAM_62, A ; Move (Op1 <- Op2) code:053C 000 mov A, RAM_61 ; Move (Op1 <- Op2) code:053E 000 jz code_54F ; Jump if Acc is zero code:053E code:0540 000 mov A, RAM_60 ; Move (Op1 <- Op2) code:0542 000 add A, #2Eh ; '.' ; Add Second Operand to Acc code:0544 000 jnz code_54C ; Jump if Acc is not zero code:0544 code:0546 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register code:0549 000 mov A, RAM_62 ; Move (Op1 <- Op2) code:054B 000 movx @DPTR, A ; Move from/to external RAM code:054B code:054C code:054C code_54C: ; CODE XREF: code_4F1+53j code:054C 000 ljmp ROM_884 ; Long Jump code:054C code:054F ; --------------------------------------------------------------------------- code:054F code:054F code_54F: ; CODE XREF: code_4F1+4Dj code:054F 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register code:0552 000 mov A, #0FAh ; '·' ; Move (Op1 <- Op2) code:0554 000 movx @DPTR, A ; Move from/to external RAM code:0554 code:0555 code:0555 return: ; CODE XREF: code_4F1+4j code:0555 000 ret ; Return from subroutine code:0555 code:0555 ; End of function code_4F1 code:0555 code:0556 code:0556 ; =============== S U B R O U T I N E ======================================= code:0556 code:0556 code:0556 code_556: ; CODE XREF: ROM_854+22p code:0556 ; ROM_854+27p ... code:0556 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register code:0559 000 mov A, R7 ; Move (Op1 <- Op2) code:055A 000 movx @DPTR, A ; Move from/to external RAM code:055B 000 mov DPTR, #6 ; Move (Op1 <- Op2) code:055E 000 mov A, #8 ; Move (Op1 <- Op2) code:0560 000 movx @DPTR, A ; Move from/to external RAM code:0561 000 inc DPTR ; Increment Operand code:0562 000 clr A ; Clear Operand (0) code:0563 000 movx @DPTR, A ; Move from/to external RAM code:0563 code:0564 code:0564 code_564: ; CODE XREF: code_556+2Ej code:0564 ; code_556+38j code:0564 000 mov DPTR, #6 ; Move (Op1 <- Op2) code:0567 000 movx A, @DPTR ; Move from/to external RAM code:0568 000 jnz code_56C ; Jump if Acc is not zero code:0568 code:056A 000 inc DPTR ; Increment Operand code:056B 000 movx A, @DPTR ; Move from/to external RAM code:056B code:056C code:056C code_56C: ; CODE XREF: code_556+12j code:056C 000 jz return ; Jump if Acc is zero code:056C code:056E 000 mov DPTR, #7 ; Move (Op1 <- Op2) code:0571 000 movx A, @DPTR ; Move from/to external RAM code:0572 000 add A, #0FFh ; Add Second Operand to Acc code:0574 000 movx @DPTR, A ; Move from/to external RAM code:0575 000 mov DPTR, #6 ; Move (Op1 <- Op2) code:0578 000 movx A, @DPTR ; Move from/to external RAM code:0579 000 addc A, #0FFh ; Add Second Operand to Acc with carry code:057B 000 movx @DPTR, A ; Move from/to external RAM code:057C 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register code:057F 000 movx A, @DPTR ; Move from/to external RAM code:0580 000 jnb ACC.0, code_587 ; Accumulator code:0580 code:0583 000 movx A, @DPTR ; Move from/to external RAM code:0584 000 jnb ACC.1, code_564 ; Accumulator code:0584 code:0587 code:0587 code_587: ; CODE XREF: code_556+2Aj code:0587 000 clr A ; Clear Operand (0) code:0588 000 mov DPTR, #6 ; Move (Op1 <- Op2) code:058B 000 movx @DPTR, A ; Move from/to external RAM code:058C 000 inc DPTR ; Increment Operand code:058D 000 movx @DPTR, A ; Move from/to external RAM code:058E 000 sjmp code_564 ; Short jump code:058E code:0590 ; --------------------------------------------------------------------------- code:0590 code:0590 return: ; CODE XREF: code_556:code_56Cj code:0590 000 ret ; Return from subroutine code:0590 code:0590 ; End of function code_556 code:0590 code:0591 code:0591 ; =============== S U B R O U T I N E ======================================= code:0591 code:0591 code:0591 read_CMD_from_PM_CH2: code:0591 000 mov DPTR, #PMC_PM2STS ; Host Interface PM Channel 2 Status code:0594 000 movx A, @DPTR ; Move from/to external RAM code:0595 000 jnb ACC.1, return ; Accumulator code:0595 code:0598 000 mov DPTR, #PMC_PM2STS ; Host Interface PM Channel 2 Status code:059B 000 movx A, @DPTR ; Move from/to external RAM code:059C 000 jnb ACC.3, read_without_checking ; Accumulator code:059C code:059F 000 mov DPTR, #PMC_PM2DI ; Host Interface PM Channel 2 Data In Port code:05A2 000 movx A, @DPTR ; Move from/to external RAM code:05A3 000 mov RAM_67, A ; Move (Op1 <- Op2) code:05A5 000 clr A ; Clear Operand (0) code:05A6 000 mov RAM_68, A ; Move (Op1 <- Op2) code:05A8 000 ljmp parse_CMD_and_print_PM_CH2 ; Long Jump code:05A8 code:05AB ; --------------------------------------------------------------------------- code:05AB code:05AB read_without_checking: ; CODE XREF: read_CMD_from_PM_CH2+Bj code:05AB 000 mov DPTR, #PMC_PM2DI ; Host Interface PM Channel 2 Data In Port code:05AE 000 movx A, @DPTR ; Move from/to external RAM code:05AF 000 mov RAM_69, A ; Move (Op1 <- Op2) code:05B1 000 mov A, RAM_68 ; Move (Op1 <- Op2) code:05B3 000 jz return ; Jump if Acc is zero code:05B3 code:05B5 000 lcall exit_point_4 ; Long Subroutine Call code:05B5 code:05B8 code:05B8 return: ; CODE XREF: read_CMD_from_PM_CH2+4j code:05B8 ; read_CMD_from_PM_CH2+22j code:05B8 000 ret ; Return from subroutine code:05B8 code:05B8 ; End of function read_CMD_from_PM_CH2 code:05B8 code:05B9 code:05B9 ; =============== S U B R O U T I N E ======================================= code:05B9 code:05B9 code:05B9 code_5B9: ; CODE XREF: code_4F1+19p code:05B9 ; code_4F1+1Ep code:05B9 000 mov R5, #0FFh ; Move (Op1 <- Op2) code:05BB 000 mov R4, #0Dh ; Move (Op1 <- Op2) code:05BD 000 mov DP0L, R5 ; Data Pointer Low Byte code:05BF 000 mov DP0H, R4 ; Data Pointer High Byte code:05C1 000 movx A, @DPTR ; Move from/to external RAM code:05C2 000 mov R1, A ; Move (Op1 <- Op2) code:05C3 000 movx A, @DPTR ; Move from/to external RAM code:05C4 000 inc A ; Increment Operand code:05C5 000 movx @DPTR, A ; Move from/to external RAM code:05C6 000 movx A, @DPTR ; Move from/to external RAM code:05C7 000 cjne A, #0FFh, code_5F6 ; Compare Operands and JNE code:05C7 code:05CA 000 clr A ; Clear Operand (0) code:05CB 000 movx @DPTR, A ; Move from/to external RAM code:05CC 000 mov DPTR, #8 ; Move (Op1 <- Op2) code:05CF 000 mov A, #0Dh ; Move (Op1 <- Op2) code:05D1 000 movx @DPTR, A ; Move from/to external RAM code:05D2 000 inc DPTR ; Increment Operand code:05D3 000 clr A ; Clear Operand (0) code:05D4 000 movx @DPTR, A ; Move from/to external RAM code:05D5 000 mov R6, A ; Move (Op1 <- Op2) code:05D5 code:05D6 code:05D6 code_5D6: ; CODE XREF: code_5B9+3Aj code:05D6 000 mov DPTR, #8 ; Move (Op1 <- Op2) code:05D9 000 movx A, @DPTR ; Move from/to external RAM code:05DA 000 mov R2, A ; Move (Op1 <- Op2) code:05DB 000 inc DPTR ; Increment Operand code:05DC 000 movx A, @DPTR ; Move from/to external RAM code:05DD 000 mov DP0L, A ; Data Pointer Low Byte code:05DF 000 mov DP0H, R2 ; Data Pointer High Byte code:05E1 000 clr A ; Clear Operand (0) code:05E2 000 movx @DPTR, A ; Move from/to external RAM code:05E3 000 mov DPTR, #9 ; Move (Op1 <- Op2) code:05E6 000 movx A, @DPTR ; Move from/to external RAM code:05E7 000 inc A ; Increment Operand code:05E8 000 movx @DPTR, A ; Move from/to external RAM code:05E9 000 jnz code_5F1 ; Jump if Acc is not zero code:05E9 code:05EB 000 mov DPTR, #8 ; Move (Op1 <- Op2) code:05EE 000 movx A, @DPTR ; Move from/to external RAM code:05EF 000 inc A ; Increment Operand code:05F0 000 movx @DPTR, A ; Move from/to external RAM code:05F0 code:05F1 code:05F1 code_5F1: ; CODE XREF: code_5B9+30j code:05F1 000 inc R6 ; Increment Operand code:05F2 000 mov A, R6 ; Move (Op1 <- Op2) code:05F3 000 cjne A, #0FFh, code_5D6 ; Compare Operands and JNE code:05F3 code:05F6 code:05F6 code_5F6: ; CODE XREF: code_5B9+Ej code:05F6 000 mov R6, RAM_1 ; Move (Op1 <- Op2) code:05F8 000 mov A, R1 ; Move (Op1 <- Op2) code:05F9 000 add A, #0 ; Add Second Operand to Acc code:05FB 000 mov R5, A ; Move (Op1 <- Op2) code:05FC 000 clr A ; Clear Operand (0) code:05FD 000 addc A, #0Dh ; Add Second Operand to Acc with carry code:05FF 000 mov DP0L, R5 ; Data Pointer Low Byte code:0601 000 mov DP0H, A ; Data Pointer High Byte code:0603 000 mov A, R7 ; Move (Op1 <- Op2) code:0604 000 movx @DPTR, A ; Move from/to external RAM code:0605 000 ret ; Return from subroutine code:0605 code:0605 ; End of function code_5B9 code:0605 code:0606 ; --------------------------------------------------------------------------- code:0606 jbc RAM_20.0, code_60F+1 ; Jump if Bit is set & clear Bit code:0606 code:0609 inc @R0 ; Increment Operand code:060A jnz code_60C+1 ; Jump if Acc is not zero code:060A code:060C code:060C code_60C: ; CODE XREF: code:060Aj code:060C jnb RAM_20.1, code_615+1 ; Jump if Bit is clear code:060C code:060F code:060F code_60F: ; CODE XREF: code:0606j code:060F acall code_70 ; Absolute Call code:060F code:0611 nop ; No operation code:0612 code:0612 code_612: ; CODE XREF: code:code_61Cj code:0612 jnb RAM_20.1, code_61C ; Jump if Bit is clear code:0612 code:0615 code:0615 code_615: ; CODE XREF: code:code_60Cj code:0615 lcall ROM_6FFF+1 ; Long Subroutine Call code:0615 code:0618 jnb RAM_20.1, code_622 ; Jump if Bit is clear code:0618 code:061B inc R7 ; Increment Operand code:061B code:061C code:061C code_61C: ; CODE XREF: code:code_612j code:061C jnb RAM_20.1, code_612+1 ; Jump if Bit is clear code:061C code:061F inc R1 ; Increment Operand code:061F code:0620 code:0620 var_1_0: ; DATA XREF: ROM_854-37Ao code:0620 mov R5, A ; Move (Op1 <- Op2) code:0621 nop ; No operation code:0621 code:0622 code:0622 ; =============== S U B R O U T I N E ======================================= code:0622 code:0622 code:0622 code_622: ; CODE XREF: code:0618j code:0622 000 push PSW ; Program Status Word code:0624 001 mov PSW, #10h ; Program Status Word code:0627 001 mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 code:062A 001 movx A, @DPTR ; Move from/to external RAM code:062B 001 anl A, #11100011b ; Logical AND (op1 &= op2) code:062D 001 movx @DPTR, A ; Move from/to external RAM code:062E 001 mov DPTR, #INTC_ISR2 ; Interrupt Status Register 2 code:0631 001 movx A, @DPTR ; Move from/to external RAM code:0632 001 orl A, #11100b ; Logical OR (op1 |= op2) code:0634 001 movx @DPTR, A ; Move from/to external RAM code:0635 001 clr A ; Clear Operand (0) code:0636 001 mov DPTR, #88h ; 'ê' ; Move (Op1 <- Op2) code:0639 001 movx @DPTR, A ; Move from/to external RAM code:063A 001 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) code:063C 001 mov A, @R0 ; Move (Op1 <- Op2) code:063D 001 orl A, #100000b ; Logical OR (op1 |= op2) code:063F 001 mov @R0, A ; Move (Op1 <- Op2) code:0640 001 mov DPTR, #PS2_PSSTS1 ; PS/2 Status Register 1 code:0643 001 movx A, @DPTR ; Move from/to external RAM code:0644 001 jnb ACC.3, code_64D ; Accumulator code:0644 code:0647 001 setb RAM_28.4 ; Set Direct Bit code:0649 001 clr RAM_2A.0 ; Clear Operand (0) code:064B 001 setb RAM_26.4 ; Set Direct Bit code:064B code:064D code:064D code_64D: ; CODE XREF: code_622+22j code:064D 001 pop PSW ; Program Status Word code:064F 000 ret ; Return from subroutine code:064F code:064F ; End of function code_622 code:064F code:0650 code:0650 ; =============== S U B R O U T I N E ======================================= code:0650 code:0650 code:0650 code_650: code:0650 000 push PSW ; Program Status Word code:0652 001 mov PSW, #10h ; Program Status Word code:0655 001 mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 code:0658 001 movx A, @DPTR ; Move from/to external RAM code:0659 001 anl A, #11100011b ; Logical AND (op1 &= op2) code:065B 001 movx @DPTR, A ; Move from/to external RAM code:065C 001 mov DPTR, #INTC_ISR2 ; Interrupt Status Register 2 code:065F 001 movx A, @DPTR ; Move from/to external RAM code:0660 001 orl A, #11100b ; Logical OR (op1 |= op2) code:0662 001 movx @DPTR, A ; Move from/to external RAM code:0663 001 clr A ; Clear Operand (0) code:0664 001 mov DPTR, #98h ; 'ÿ' ; Move (Op1 <- Op2) code:0667 001 movx @DPTR, A ; Move from/to external RAM code:0668 001 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) code:066A 001 mov A, @R0 ; Move (Op1 <- Op2) code:066B 001 orl A, #100000b ; Logical OR (op1 |= op2) code:066D 001 mov @R0, A ; Move (Op1 <- Op2) code:066E 001 mov DPTR, #PS2_PSSTS2 ; PS/2 Status Register 2 code:0671 001 movx A, @DPTR ; Move from/to external RAM code:0672 001 jnb ACC.3, return ; Accumulator code:0672 code:0675 001 setb RAM_28.5 ; Set Direct Bit code:0677 001 clr RAM_2A.0 ; Clear Operand (0) code:0679 001 setb RAM_26.4 ; Set Direct Bit code:0679 code:067B code:067B return: ; CODE XREF: code_650+22j code:067B 001 pop PSW ; Program Status Word code:067D 000 ret ; Return from subroutine code:067D code:067D ; End of function code_650 code:067D code:067E code:067E ; =============== S U B R O U T I N E ======================================= code:067E code:067E code:067E code_67E: code:067E 000 push PSW ; Program Status Word code:0680 001 mov PSW, #10h ; Program Status Word code:0683 001 mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 code:0686 001 movx A, @DPTR ; Move from/to external RAM code:0687 001 anl A, #11100011b ; Logical AND (op1 &= op2) code:0689 001 movx @DPTR, A ; Move from/to external RAM code:068A 001 mov DPTR, #INTC_ISR2 ; Interrupt Status Register 2 code:068D 001 movx A, @DPTR ; Move from/to external RAM code:068E 001 orl A, #11100b ; Logical OR (op1 |= op2) code:0690 001 movx @DPTR, A ; Move from/to external RAM code:0691 001 clr A ; Clear Operand (0) code:0692 001 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) code:0695 001 movx @DPTR, A ; Move from/to external RAM code:0696 001 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) code:0698 001 mov A, @R0 ; Move (Op1 <- Op2) code:0699 001 orl A, #100000b ; Logical OR (op1 |= op2) code:069B 001 mov @R0, A ; Move (Op1 <- Op2) code:069C 001 mov DPTR, #PS2_PSSTS3 ; PS/2 Status Register 3 code:069F 001 movx A, @DPTR ; Move from/to external RAM code:06A0 001 jnb ACC.3, code_6A9 ; Accumulator code:06A0 code:06A3 001 setb RAM_28.6 ; Set Direct Bit code:06A5 001 clr RAM_2A.0 ; Clear Operand (0) code:06A7 001 setb RAM_26.4 ; Set Direct Bit code:06A7 code:06A9 code:06A9 code_6A9: ; CODE XREF: code_67E+22j code:06A9 001 pop PSW ; Program Status Word code:06AB 000 ret ; Return from subroutine code:06AB code:06AB ; End of function code_67E code:06AB code:06AC code:06AC ; =============== S U B R O U T I N E ======================================= code:06AC code:06AC code:06AC code_6AC: code:06AC 000 push PSW ; Program Status Word code:06AE 001 mov PSW, #10h ; Program Status Word code:06B1 001 mov R0, #0BCh ; '+' ; Move (Op1 <- Op2) code:06B3 001 mov A, @R0 ; Move (Op1 <- Op2) code:06B4 001 orl A, #10000000b ; Logical OR (op1 |= op2) code:06B6 001 mov @R0, A ; Move (Op1 <- Op2) code:06B7 001 mov DPTR, #INTC_IER3 ; Interrupt Enable Register 3 code:06BA 001 movx A, @DPTR ; Move from/to external RAM code:06BB 001 anl A, #11111110b ; Logical AND (op1 &= op2) code:06BD 001 movx @DPTR, A ; Move from/to external RAM code:06BE 001 mov DPTR, #INTC_ISR3 ; Interrupt Status Register 3 code:06C1 001 movx A, @DPTR ; Move from/to external RAM code:06C2 001 orl A, #1 ; Logical OR (op1 |= op2) code:06C4 001 movx @DPTR, A ; Move from/to external RAM code:06C5 001 setb RAM_26.0 ; Set Direct Bit code:06C7 001 pop PSW ; Program Status Word code:06C9 000 ret ; Return from subroutine code:06C9 code:06C9 ; End of function code_6AC code:06C9 code:06CA code:06CA ; =============== S U B R O U T I N E ======================================= code:06CA code:06CA code:06CA code_6CA: code:06CA 000 mov DPTR, #PMC_PM2STS ; Host Interface PM Channel 2 Status code:06CD 000 movx A, @DPTR ; Move from/to external RAM code:06CE 000 jnb ACC.1, code_6D5 ; Accumulator code:06CE code:06D1 000 setb RAM_27.0 ; Set Direct Bit code:06D3 000 sjmp code_6D7 ; Short jump code:06D3 code:06D5 ; --------------------------------------------------------------------------- code:06D5 code:06D5 code_6D5: ; CODE XREF: code_6CA+4j code:06D5 000 setb RAM_26.5 ; Set Direct Bit code:06D5 code:06D7 code:06D7 code_6D7: ; CODE XREF: code_6CA+9j code:06D7 000 mov DPTR, #INTC_IER3 ; Interrupt Enable Register 3 code:06DA 000 movx A, @DPTR ; Move from/to external RAM code:06DB 000 anl A, #11111101b ; Logical AND (op1 &= op2) code:06DD 000 movx @DPTR, A ; Move from/to external RAM code:06DE 000 mov DPTR, #INTC_ISR3 ; Interrupt Status Register 3 code:06E1 000 movx A, @DPTR ; Move from/to external RAM code:06E2 000 orl A, #10b ; Logical OR (op1 |= op2) code:06E4 000 movx @DPTR, A ; Move from/to external RAM code:06E5 000 ret ; Return from subroutine code:06E5 code:06E5 ; End of function code_6CA code:06E5 code:06E6 code:06E6 ; =============== S U B R O U T I N E ======================================= code:06E6 code:06E6 code:06E6 code_6E6: code:06E6 000 mov DPTR, #INTC_IER1 ; Interrupt Enable Register 1 code:06E9 000 movx A, @DPTR ; Move from/to external RAM code:06EA 000 anl A, #1111111b ; Logical AND (op1 &= op2) code:06EC 000 movx @DPTR, A ; Move from/to external RAM code:06ED 000 mov DPTR, #INTC_ISR1 ; Interrupt Status Register 1 code:06F0 000 movx A, @DPTR ; Move from/to external RAM code:06F1 000 orl A, #10000000b ; Logical OR (op1 |= op2) code:06F3 000 movx @DPTR, A ; Move from/to external RAM code:06F4 000 setb RAM_27.1 ; Set Direct Bit code:06F6 000 ret ; Return from subroutine code:06F6 code:06F6 ; End of function code_6E6 code:06F6 code:06F7 code:06F7 ; =============== S U B R O U T I N E ======================================= code:06F7 code:06F7 code:06F7 code_6F7: code:06F7 000 setb RAM_27.7 ; Set Direct Bit code:06F9 000 mov DPTR, #INTC_IER3 ; Interrupt Enable Register 3 code:06FC 000 movx A, @DPTR ; Move from/to external RAM code:06FD 000 anl A, #11101111b ; Logical AND (op1 &= op2) code:06FF 000 movx @DPTR, A ; Move from/to external RAM code:0700 000 mov DPTR, #INTC_ISR3 ; Interrupt Status Register 3 code:0703 000 movx A, @DPTR ; Move from/to external RAM code:0704 000 orl A, #10000b ; Logical OR (op1 |= op2) code:0706 000 movx @DPTR, A ; Move from/to external RAM code:0707 000 ret ; Return from subroutine code:0707 code:0707 ; End of function code_6F7 code:0707 code:0708 code:0708 ; =============== S U B R O U T I N E ======================================= code:0708 code:0708 code:0708 code_708: code:0708 000 setb RAM_26.7 ; Set Direct Bit code:070A 000 mov DPTR, #INTC_IER1 ; Interrupt Enable Register 1 code:070D 000 movx A, @DPTR ; Move from/to external RAM code:070E 000 anl A, #11110111b ; Logical AND (op1 &= op2) code:0710 000 movx @DPTR, A ; Move from/to external RAM code:0711 000 movx A, @DPTR ; Move from/to external RAM code:0712 000 anl A, #11110111b ; Logical AND (op1 &= op2) code:0714 000 movx @DPTR, A ; Move from/to external RAM code:0715 000 mov DPTR, #INTC_ISR1 ; Interrupt Status Register 1 code:0718 000 movx A, @DPTR ; Move from/to external RAM code:0719 000 orl A, #1000b ; Logical OR (op1 |= op2) code:071B 000 movx @DPTR, A ; Move from/to external RAM code:071C 000 ret ; Return from subroutine code:071C code:071C ; End of function code_708 code:071C code:071D code:071D ; =============== S U B R O U T I N E ======================================= code:071D code:071D code:071D code_71D: code:071D 000 mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 code:0720 000 movx A, @DPTR ; Move from/to external RAM code:0721 000 anl A, #11111101b ; Logical AND (op1 &= op2) code:0723 000 movx @DPTR, A ; Move from/to external RAM code:0724 000 mov DPTR, #INTC_ISR2 ; Interrupt Status Register 2 code:0727 000 movx A, @DPTR ; Move from/to external RAM code:0728 000 orl A, #10b ; Logical OR (op1 |= op2) code:072A 000 movx @DPTR, A ; Move from/to external RAM code:072B 000 setb RAM_27.5 ; Set Direct Bit code:072D 000 mov DPTR, #53Ch ; Move (Op1 <- Op2) code:0730 000 movx A, @DPTR ; Move from/to external RAM code:0731 000 inc A ; Increment Operand code:0732 000 movx @DPTR, A ; Move from/to external RAM code:0733 000 ret ; Return from subroutine code:0733 code:0733 ; End of function code_71D code:0733 code:0734 code:0734 ; =============== S U B R O U T I N E ======================================= code:0734 code:0734 code:0734 timer_0_interrupt_handler: ; CODE XREF: TF0j code:0734 000 clr IE.7 ; Interrupt Enable Register 0 code:0736 000 push ACC ; Accumulator code:0738 001 push PSW ; Program Status Word code:073A 002 mov PSW, #10h ; Program Status Word code:073D 002 mov TH0, #0FDh ; '²' ; Timer 0 High Byte code:0740 002 mov TL0, #0 ; Timer 0 Low Byte code:0743 002 clr TCON.5 ; Timer Control Register code:0745 002 mov R0, #0AFh ; '»' ; Move (Op1 <- Op2) code:0747 002 inc @R0 ; Increment Operand code:0748 002 mov R0, #39h ; '9' ; Move (Op1 <- Op2) code:074A 002 mov A, @R0 ; Move (Op1 <- Op2) code:074B 002 mov R7, A ; Move (Op1 <- Op2) code:074C 002 swap A ; Swap nibbles of Acc code:074D 002 rrc A ; Rotate Acc right through Carry code:074E 002 anl A, #7 ; Logical AND (op1 &= op2) code:0750 002 jnb ACC.0, code_759 ; Accumulator code:0750 code:0753 002 mov A, @R0 ; Move (Op1 <- Op2) code:0754 002 anl A, #0DFh ; Logical AND (op1 &= op2) code:0756 002 mov @R0, A ; Move (Op1 <- Op2) code:0757 002 setb RAM_26.3 ; Set Direct Bit code:0757 code:0759 code:0759 code_759: ; CODE XREF: timer_0_interrupt_handler+1Cj code:0759 002 mov R0, #0AFh ; '»' ; Move (Op1 <- Op2) code:075B 002 mov A, @R0 ; Move (Op1 <- Op2) code:075C 002 cjne A, #5, code_76A ; Compare Operands and JNE code:075C code:075F 002 mov @R0, #0 ; Move (Op1 <- Op2) code:0761 002 jb RAM_26.6, code_76A ; Jump if Bit is set code:0761 code:0764 002 setb RAM_26.6 ; Set Direct Bit code:0766 002 setb RAM_27.3 ; Set Direct Bit code:0768 002 setb RAM_27.4 ; Set Direct Bit code:0768 code:076A code:076A code_76A: ; CODE XREF: timer_0_interrupt_handler+28j code:076A ; timer_0_interrupt_handler+2Dj code:076A 002 pop PSW ; Program Status Word code:076C 001 pop ACC ; Accumulator code:076E 000 setb IE.7 ; Interrupt Enable Register 0 code:0770 000 reti ; Return from Interrupt code:0770 code:0770 ; End of function timer_0_interrupt_handler code:0770 code:0771 code:0771 ; =============== S U B R O U T I N E ======================================= code:0771 code:0771 code:0771 external_interrupt_1_handler: ; CODE XREF: IE1j code:0771 000 clr IE.7 ; Interrupt Enable Register 0 code:0773 000 push ACC ; Accumulator code:0775 001 push B ; B Register code:0777 002 push DP0H ; Data Pointer High Byte code:0779 003 push DP0L ; Data Pointer Low Byte code:077B 004 push PSW ; Program Status Word code:077D 005 mov PSW, #10h ; Program Status Word code:0780 005 mov DPTR, #INTC_IVECT ; Interrupt Vector Register code:0783 005 movx A, @DPTR ; Move from/to external RAM code:0784 005 add A, #0F0h ; '=' ; Add Second Operand to Acc code:0786 005 anl A, #1Fh ; Logical AND (op1 &= op2) code:0788 005 add A, ACC ; Accumulator code:078A 005 add A, #0EBh ; 'd' ; Add Second Operand to Acc code:078C 005 mov DP0L, A ; Data Pointer Low Byte code:078E 005 clr A ; Clear Operand (0) code:078F 005 addc A, #7 ; Add Second Operand to Acc with carry code:0791 005 mov DP0H, A ; Data Pointer High Byte code:0793 005 clr A ; Clear Operand (0) code:0794 005 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:0795 005 mov R6, A ; Move (Op1 <- Op2) code:0796 005 mov A, #1 ; Move (Op1 <- Op2) code:0798 005 movc A, @A+DPTR ; Move code byte relative to second op to Acc code:0799 005 xch A, R2 ; Exchange Operands code:079A 005 mov A, R6 ; Move (Op1 <- Op2) code:079B 005 xch A, R2 ; Exchange Operands code:079C 005 mov R1, A ; Move (Op1 <- Op2) code:079D 005 lcall jump_to_addr ; jump_to_addr(R1 : - low adress byte, R2 - high adress byte); code:079D code:07A0 005 pop PSW ; Program Status Word code:07A2 004 pop DP0L ; Data Pointer Low Byte code:07A4 003 pop DP0H ; Data Pointer High Byte code:07A6 002 pop B ; B Register code:07A8 001 pop ACC ; Accumulator code:07AA 000 setb IE.7 ; Interrupt Enable Register 0 code:07AC 000 reti ; Return from Interrupt code:07AC code:07AC ; End of function external_interrupt_1_handler code:07AC code:07AD code:07AD ; =============== S U B R O U T I N E ======================================= code:07AD code:07AD code:07AD timer_1_interrupt_handler: ; CODE XREF: TF1j code:07AD 000 clr IE.7 ; Interrupt Enable Register 0 code:07AF 000 push ACC ; Accumulator code:07B1 001 push PSW ; Program Status Word code:07B3 002 mov PSW, #10h ; Program Status Word code:07B6 002 clr TCON.6 ; Timer Control Register code:07B8 002 mov R7, RAM_3F ; Move (Op1 <- Op2) code:07BA 002 mov A, R7 ; Move (Op1 <- Op2) code:07BB 002 swap A ; Swap nibbles of Acc code:07BC 002 anl A, #1111b ; Logical AND (op1 &= op2) code:07BE 002 jnb ACC.0, code_7D4 ; Accumulator code:07BE code:07C1 002 setb RAM_26.2 ; Set Direct Bit code:07C3 002 mov R7, RAM_3F ; Move (Op1 <- Op2) code:07C5 002 mov A, R7 ; Move (Op1 <- Op2) code:07C6 002 anl A, #11101111b ; Logical AND (op1 &= op2) code:07C8 002 mov RAM_3F, A ; Move (Op1 <- Op2) code:07CA 002 mov TL1, #8Ch ; 'î' ; Timer 1 Low Byte code:07CD 002 mov TH1, #0FFh ; Timer 1 High Byte code:07D0 002 clr TCON.7 ; Timer Control Register code:07D2 002 setb TCON.6 ; Timer Control Register code:07D2 code:07D4 code:07D4 code_7D4: ; CODE XREF: timer_1_interrupt_handler+11j code:07D4 002 pop PSW ; Program Status Word code:07D6 001 pop ACC ; Accumulator code:07D8 000 setb IE.7 ; Interrupt Enable Register 0 code:07DA 000 reti ; Return from Interrupt code:07DA code:07DA ; End of function timer_1_interrupt_handler code:07DA code:07DB code:07DB ; =============== S U B R O U T I N E ======================================= code:07DB code:07DB code:07DB serial_port_interrupt_handler: ; CODE XREF: RI_TIj code:07DB 000 clr IE.7 ; Interrupt Enable Register 0 code:07DD 000 jnb SCON.1, code_7E4 ; Serial Port Control code:07DD code:07E0 000 clr SCON.1 ; Serial Port Control code:07E2 000 sjmp code_7E8 ; Short jump code:07E2 code:07E4 ; --------------------------------------------------------------------------- code:07E4 code:07E4 code_7E4: ; CODE XREF: serial_port_interrupt_handler+2j code:07E4 000 clr SCON.0 ; Serial Port Control code:07E6 000 setb RAM_27.6 ; Set Direct Bit code:07E6 code:07E8 code:07E8 code_7E8: ; CODE XREF: serial_port_interrupt_handler+7j code:07E8 000 setb IE.7 ; Interrupt Enable Register 0 code:07EA 000 reti ; Return from Interrupt code:07EA code:07EA ; End of function serial_port_interrupt_handler code:07EA code:07EA ; --------------------------------------------------------------------------- code:07EB db 0 code:07EC db 0Ah code:07ED db 0 code:07EE db 0Ah code:07EF db 0 code:07F0 db 0Ah code:07F1 db 0 code:07F2 db 0Ah code:07F3 db 0 code:07F4 db 0Ah code:07F5 db 0 code:07F6 db 0Ah code:07F7 db 0 code:07F8 db 0Ah code:07F9 db 0 code:07FA db 0Ah code:07FB db 0 code:07FC db 7 code:07FD db 0 code:07FE db 8 code:07FF db 0 code:07FF ; end of 'code' code:07FF ROM:0800 ; =========================================================================== ROM:0800 ROM:0800 ; Segment type: Pure code ROM:0800 ;.segment ROM ROM:0800 CSEG ROM:0800 ; org 800h ROM:0800 db 9 ROM:0801 db 7 ROM:0802 db 8 ROM:0803 db 0 ROM:0804 db 0Ah ROM:0805 db 0 ROM:0806 db 0Ah ROM:0807 db 0 ROM:0808 db 0Ah ROM:0809 db 6 ROM:080A db 0E6h ROM:080B db 0 ROM:080C db 0Ah ROM:080D db 7 ROM:080E db 1Dh ROM:080F db 6 ROM:0810 db 7Eh ROM:0811 db 6 ROM:0812 db 50h ROM:0813 db 6 ROM:0814 db 22h ROM:0815 db 0 ROM:0816 db 0Ah ROM:0817 db 0 ROM:0818 db 0Ah ROM:0819 db 0 ROM:081A db 0Ah ROM:081B db 6 ROM:081C db 0ACh ROM:081D db 6 ROM:081E db 0CAh ROM:081F db 0 ROM:0820 db 0Ah ROM:0821 db 0 ROM:0822 db 0Ah ROM:0823 db 6 ROM:0824 db 0F7h ROM:0825 db 0 ROM:0826 db 0Ah ROM:0827 db 0 ROM:0828 db 0Ah ROM:0829 db 0 ROM:082A db 0Ah ROM:082B ROM:082B ; =============== S U B R O U T I N E ======================================= ROM:082B ROM:082B ROM:082B read_GPIO_port_E: ; CODE XREF: start+8Fp ROM:082B 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:082E 000 movx A, @DPTR ; Move from/to external RAM ROM:082F 000 swap A ; Swap nibbles of Acc ROM:0830 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:0832 000 jb ACC.0, return ; Accumulator ROM:0832 ROM:0835 000 setb C ; Set Direct Bit ROM:0836 000 ret ; Return from subroutine ROM:0836 ROM:0837 ; --------------------------------------------------------------------------- ROM:0837 ROM:0837 return: ; CODE XREF: read_GPIO_port_E+7j ROM:0837 000 clr C ; Clear Operand (0) ROM:0838 000 ret ; Return from subroutine ROM:0838 ROM:0838 ; End of function read_GPIO_port_E ROM:0838 ROM:0839 ROM:0839 ; =============== S U B R O U T I N E ======================================= ROM:0839 ROM:0839 ROM:0839 set_PDII_status_0: ROM:0839 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:083C 000 movx A, @DPTR ; Move from/to external RAM ROM:083D 000 anl A, #11111011b ; Programming Data II (PDII) ROM:083D ; The function is the same as the PD3-0. ROM:083F 000 movx @DPTR, A ; Move from/to external RAM ROM:0840 000 ret ; Return from subroutine ROM:0840 ROM:0840 ; End of function set_PDII_status_0 ROM:0840 ROM:0841 ROM:0841 ; =============== S U B R O U T I N E ======================================= ROM:0841 ROM:0841 ROM:0841 some_configure_flash: ROM:0841 000 mov DPTR, #SWUC_SWCTL2 ; dptr = SWUC_SWCTL2; // SWUC Control Status 2 register ROM:0844 000 clr A ; a = 0; ROM:0845 000 movx @DPTR, A ; write_byte_to(dptr, a); // write of 0 ignored?? but clear status ROM:0846 000 mov DPTR, #SMFI_FMSSR ; dptr = SMFI_FMSSR; // Flash memory Size Select Register ROM:0849 000 mov A, #0Fh ; a = 0x0F; //set flash memory size to??? this value not equal to datasheet for 2Mb ROM:084B 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:084C 000 mov DPTR, #SMFI_FPCFG ; dptr = SMFI_FPCFG; // Flash Programming Configuration Register ROM:084F 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:0850 000 orl A, #10000b ; a |= 00010000b; //Set 4 bit for 1. Dont equal datasheet value! ROM:0852 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:0853 000 ret ; return; ROM:0853 ROM:0853 ; End of function some_configure_flash ROM:0853 ROM:0854 ROM:0854 ; =============== S U B R O U T I N E ======================================= ROM:0854 ROM:0854 ROM:0854 ROM_854: ; CODE XREF: code_4F1:code_533j ROM:0854 ROM:0854 ; FUNCTION CHUNK AT code:0465 SIZE 0000008C BYTES ROM:0854 ROM:0854 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:0856 000 add A, #7Eh ; '~' ; Add Second Operand to Acc ROM:0858 000 jz ROM_870 ; Jump if Acc is zero ROM:0858 ROM:085A 000 add A, #0FBh ; 'v' ; Add Second Operand to Acc ROM:085C 000 jz ROM_870 ; Jump if Acc is zero ROM:085C ROM:085E 000 dec A ; Decrement Operand ROM:085F 000 jz ROM_870 ; Jump if Acc is zero ROM:085F ROM:0861 000 add A, #0D3h ; '+' ; Add Second Operand to Acc ROM:0863 000 jz ROM_870 ; Jump if Acc is zero ROM:0863 ROM:0865 000 add A, #0DEh ; '¦' ; Add Second Operand to Acc ROM:0867 000 jz ROM_874 ; Jump if Acc is zero ROM:0867 ROM:0869 000 add A, #23h ; '#' ; Add Second Operand to Acc ROM:086B 000 jnz ROM_883 ; Jump if Acc is not zero ROM:086B ROM:086D 000 ljmp code_465 ; Long Jump ROM:086D ROM:0870 ; --------------------------------------------------------------------------- ROM:0870 ROM:0870 ROM_870: ; CODE XREF: ROM_854+4j ROM:0870 ; ROM_854+8j ... ROM:0870 000 mov RAM_61, #1 ; Move (Op1 <- Op2) ROM:0873 000 ret ; Return from subroutine ROM:0873 ROM:0874 ; --------------------------------------------------------------------------- ROM:0874 ROM:0874 ROM_874: ; CODE XREF: ROM_854+13j ROM:0874 000 mov R7, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:0876 000 lcall code_556 ; Long Subroutine Call ROM:0876 ROM:0879 000 mov R7, #76h ; 'v' ; Move (Op1 <- Op2) ROM:087B 000 lcall code_556 ; Long Subroutine Call ROM:087B ROM:087E 000 mov R7, #54h ; 'T' ; Move (Op1 <- Op2) ROM:0880 000 lcall code_556 ; Long Subroutine Call ROM:0880 ROM:0883 ROM:0883 ROM_883: ; CODE XREF: ROM_854+17j ROM:0883 000 ret ; Return from subroutine ROM:0883 ROM:0883 ; End of function ROM_854 ROM:0883 ROM:0884 ROM:0884 ; =============== S U B R O U T I N E ======================================= ROM:0884 ROM:0884 ROM:0884 ROM_884: ; CODE XREF: code_4F1:code_54Cj ROM:0884 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:0886 000 add A, #4Bh ; 'K' ; Add Second Operand to Acc ROM:0888 000 jnz ROM_895 ; Jump if Acc is not zero ROM:0888 ROM:088A 000 mov R7, RAM_62 ; Move (Op1 <- Op2) ROM:088C 000 mov A, #0C0h ; '+' ; Move (Op1 <- Op2) ROM:088E 000 add A, R7 ; Add Second Operand to Acc ROM:088F 000 mov R0, A ; Move (Op1 <- Op2) ROM:0890 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:0891 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register ROM:0894 000 movx @DPTR, A ; Move from/to external RAM ROM:0894 ROM:0895 ROM:0895 ROM_895: ; CODE XREF: ROM_884+4j ROM:0895 000 ret ; Return from subroutine ROM:0895 ROM:0895 ; End of function ROM_884 ROM:0895 ROM:0896 ; --------------------------------------------------------------------------- ROM:0896 ; START OF FUNCTION CHUNK FOR interact_host_PM_CH1 ROM:0896 ROM:0896 check_CMD: ; CODE XREF: interact_host_PM_CH1+17j ROM:0896 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:0898 000 add A, #0C8h ; '+' ; Add Second Operand to Acc ROM:089A 000 jz return_zero ; jump if RAM_63 = 0x38 ROM:089A ROM:089C 000 add A, #2 ; Add Second Operand to Acc ROM:089E 000 jnz return_exit ; jump if RAM_63 <> 0x36 ROM:089E ROM:08A0 ROM:08A0 return_zero: ; CODE XREF: interact_host_PM_CH1+6C6j ROM:08A0 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:08A3 000 clr A ; Clear Operand (0) ROM:08A4 000 movx @DPTR, A ; Move from/to external RAM ROM:08A4 ROM:08A5 ROM:08A5 return_exit: ; CODE XREF: interact_host_PM_CH1+6CAj ROM:08A5 000 ret ; Return from subroutine ROM:08A5 ROM:08A5 ; END OF FUNCTION CHUNK FOR interact_host_PM_CH1 ROM:08A6 ROM:08A6 ; =============== S U B R O U T I N E ======================================= ROM:08A6 ROM:08A6 ROM:08A6 parse_CMD_and_print_PM_CH2: ; CODE XREF: read_CMD_from_PM_CH2+17j ROM:08A6 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:08A8 000 add A, #0C8h ; '+' ; Add Second Operand to Acc ROM:08AA 000 jz return_zero ; jump if RAM67 = 0x38 ROM:08AA ROM:08AC 000 add A, #2 ; Add Second Operand to Acc ROM:08AE 000 jnz return ; jump if RAM67 <> 0x36 ROM:08AE ROM:08B0 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:08B3 000 mov A, #83h ; 'â' ; Move (Op1 <- Op2) ROM:08B5 000 movx @DPTR, A ; write 0x83 to PM Channel 2 Data Out port ROM:08B6 000 ret ; Return from subroutine ROM:08B6 ROM:08B7 ; --------------------------------------------------------------------------- ROM:08B7 ROM:08B7 return_zero: ; CODE XREF: parse_CMD_and_print_PM_CH2+4j ROM:08B7 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:08BA 000 clr A ; Clear Operand (0) ROM:08BB 000 movx @DPTR, A ; Move from/to external RAM ROM:08BB ROM:08BC ROM:08BC return: ; CODE XREF: parse_CMD_and_print_PM_CH2+8j ROM:08BC 000 ret ; Return from subroutine ROM:08BC ROM:08BC ; End of function parse_CMD_and_print_PM_CH2 ROM:08BC ROM:08BD ROM:08BD ; =============== S U B R O U T I N E ======================================= ROM:08BD ROM:08BD ; jump_to_addr(R1 : - low adress byte, R2 - high adress byte); ROM:08BD ; Attributes: static ROM:08BD ROM:08BD jump_to_addr: ; CODE XREF: start+8Cp ROM:08BD ; start+A6j ... ROM:08BD 000 mov DP0H, R2 ; Data Pointer High Byte ROM:08BF 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:08C1 000 clr A ; Clear Operand (0) ROM:08C2 000 jmp @A+DPTR ; Jump indirect relative to Data Pointer ROM:08C2 ROM:08C2 ; End of function jump_to_addr ROM:08C2 ROM:08C2 ; --------------------------------------------------------------------------- ROM:08C3 zero_hole: db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:08C3 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:1000 ROM:1000 ; =============== S U B R O U T I N E ======================================= ROM:1000 ROM:1000 ROM:1000 ROM_1000: ROM:1000 000 mov SP, #PSW ; Stack Pointer ROM:1003 000 mov DPTR, #SMFI_FPCFG ; Flash Programming Configuration Register ROM:1006 000 mov A, #3Fh ; '?' ; Move (Op1 <- Op2) ROM:1008 000 movx @DPTR, A ; Move from/to external RAM ROM:1009 000 lcall ROM_4A0A ; Long Subroutine Call ROM:1009 ROM:100C 000 ljmp ROM_104A ; Long Jump ROM:100C ROM:100F ; --------------------------------------------------------------------------- ROM:100F ROM:100F ROM_100F: ; CODE XREF: ROM_1000+51j ROM:100F 000 ljmp ROM_108F ; Long Jump ROM:100F ROM:1012 ; --------------------------------------------------------------------------- ROM:1012 ROM:1012 ROM_1012: ; CODE XREF: ROM_1000+68j ROM:1012 000 clr A ; Clear Operand (0) ROM:1013 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1014 000 inc DPTR ; Increment Operand ROM:1015 000 mov R0, A ; Move (Op1 <- Op2) ROM:1015 ROM:1016 ROM:1016 ROM_1016: ; CODE XREF: ROM_1000+20j ROM:1016 000 clr A ; Clear Operand (0) ROM:1017 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1018 000 inc DPTR ; Increment Operand ROM:1019 000 jc ROM_101E ; Jump if Carry is set ROM:1019 ROM:101B 000 mov @R0, A ; Move (Op1 <- Op2) ROM:101C 000 sjmp ROM_101F ; Short jump ROM:101C ROM:101E ; --------------------------------------------------------------------------- ROM:101E ROM:101E ROM_101E: ; CODE XREF: ROM_1000+19j ROM:101E 000 movx @R0, A ; Move from/to external RAM ROM:101E ROM:101F ROM:101F ROM_101F: ; CODE XREF: ROM_1000+1Cj ROM:101F 000 inc R0 ; Increment Operand ROM:1020 000 djnz R7, ROM_1016 ; Decrement Operand and JNZ ROM:1020 ROM:1022 000 sjmp ROM_104D ; Short jump ROM:1022 ROM:1024 ; --------------------------------------------------------------------------- ROM:1024 ROM:1024 ROM_1024: ; CODE XREF: ROM_1000+3Ej ROM:1024 ; ROM_1000+6Aj ROM:1024 000 clr A ; Clear Operand (0) ROM:1025 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1026 000 inc DPTR ; Increment Operand ROM:1027 000 mov R0, A ; Move (Op1 <- Op2) ROM:1028 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:102A 000 add A, #0Ch ; Add Second Operand to Acc ROM:102C 000 xch A, R0 ; Exchange Operands ROM:102D 000 clr C ; Clear Operand (0) ROM:102E 000 rlc A ; Rotate Acc left through Carry ROM:102F 000 swap A ; Swap nibbles of Acc ROM:1030 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:1032 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:1034 000 xch A, R0 ; Exchange Operands ROM:1035 000 movc A, @A+PC ; Move code byte relative to second op to Acc ROM:1036 000 jc ROM_103C ; Jump if Carry is set ROM:1036 ROM:1038 000 cpl A ; Complement Operand ROM:1039 000 anl A, @R0 ; Logical AND (op1 &= op2) ROM:103A 000 sjmp ROM_103D ; Short jump ROM:103A ROM:103C ; --------------------------------------------------------------------------- ROM:103C ROM:103C ROM_103C: ; CODE XREF: ROM_1000+36j ROM:103C 000 orl A, @R0 ; Logical OR (op1 |= op2) ROM:103C ROM:103D ROM:103D ROM_103D: ; CODE XREF: ROM_1000+3Aj ROM:103D 000 mov @R0, A ; Move (Op1 <- Op2) ROM:103E 000 djnz R7, ROM_1024 ; Decrement Operand and JNZ ROM:103E ROM:1040 000 sjmp ROM_104D ; Short jump ROM:1040 ROM:1040 ; --------------------------------------------------------------------------- ROM:1042 000 db 1, 2, 4, 8, 10h, 20h, 40h, 80h ROM:104A ; --------------------------------------------------------------------------- ROM:104A ROM:104A ROM_104A: ; CODE XREF: ROM_1000+Cj ROM:104A 000 mov DPTR, #0B34Fh ; Move (Op1 <- Op2) ROM:104A ROM:104D ROM:104D ROM_104D: ; CODE XREF: ROM_1000+22j ROM:104D ; ROM_1000+40j ... ROM:104D 000 clr A ; Clear Operand (0) ROM:104E 000 mov R6, #1 ; Move (Op1 <- Op2) ROM:1050 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1051 000 jz ROM_100F ; Jump if Acc is zero ROM:1051 ROM:1053 000 inc DPTR ; Increment Operand ROM:1054 000 mov R7, A ; Move (Op1 <- Op2) ROM:1055 000 anl A, #3Fh ; Logical AND (op1 &= op2) ROM:1057 000 jnb ACC.5, ROM_1063 ; Accumulator ROM:1057 ROM:105A 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:105C 000 mov R6, A ; Move (Op1 <- Op2) ROM:105D 000 clr A ; Clear Operand (0) ROM:105E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:105F 000 inc DPTR ; Increment Operand ROM:1060 000 jz ROM_1063 ; Jump if Acc is zero ROM:1060 ROM:1062 000 inc R6 ; Increment Operand ROM:1062 ROM:1063 ROM:1063 ROM_1063: ; CODE XREF: ROM_1000+57j ROM:1063 ; ROM_1000+60j ROM:1063 000 xch A, R7 ; Exchange Operands ROM:1064 000 anl A, #0C0h ; Logical AND (op1 &= op2) ROM:1066 000 add A, ACC ; Accumulator ROM:1068 000 jz ROM_1012 ; Jump if Acc is zero ROM:1068 ROM:106A 000 jc ROM_1024 ; Jump if Carry is set ROM:106A ROM:106C 000 clr A ; Clear Operand (0) ROM:106D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:106E 000 inc DPTR ; Increment Operand ROM:106F 000 mov R2, A ; Move (Op1 <- Op2) ROM:1070 000 clr A ; Clear Operand (0) ROM:1071 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1072 000 inc DPTR ; Increment Operand ROM:1073 000 mov R0, A ; Move (Op1 <- Op2) ROM:1073 ROM:1074 ROM:1074 ROM_1074: ; CODE XREF: ROM_1000+89j ROM:1074 ; ROM_1000+8Bj ROM:1074 000 clr A ; Clear Operand (0) ROM:1075 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1076 000 inc DPTR ; Increment Operand ROM:1077 000 xch A, R0 ; Exchange Operands ROM:1078 000 xch A, DP0L ; Data Pointer Low Byte ROM:107A 000 xch A, R0 ; Exchange Operands ROM:107B 000 xch A, R2 ; Exchange Operands ROM:107C 000 xch A, DP0H ; Data Pointer High Byte ROM:107E 000 xch A, R2 ; Exchange Operands ROM:107F 000 movx @DPTR, A ; Move from/to external RAM ROM:1080 000 inc DPTR ; Increment Operand ROM:1081 000 xch A, R0 ; Exchange Operands ROM:1082 000 xch A, DP0L ; Data Pointer Low Byte ROM:1084 000 xch A, R0 ; Exchange Operands ROM:1085 000 xch A, R2 ; Exchange Operands ROM:1086 000 xch A, DP0H ; Data Pointer High Byte ROM:1088 000 xch A, R2 ; Exchange Operands ROM:1089 000 djnz R7, ROM_1074 ; Decrement Operand and JNZ ROM:1089 ROM:108B 000 djnz R6, ROM_1074 ; Decrement Operand and JNZ ROM:108B ROM:108D 000 sjmp ROM_104D ; Short jump ROM:108D ROM:108D ; End of function ROM_1000 ROM:108D ROM:108F ROM:108F ; =============== S U B R O U T I N E ======================================= ROM:108F ROM:108F ROM:108F ROM_108F: ; CODE XREF: ROM_1000:ROM_100Fj ROM:108F ; ROM_4E13+9Bj ... ROM:108F 000 mov SP, #PSW ; Stack Pointer ROM:1092 000 mov DPTR, #0Ch ; Move (Op1 <- Op2) ROM:1095 000 movx A, @DPTR ; Move from/to external RAM ROM:1096 000 xrl A, #110011b ; Exclusive OR (op1 ^= op2) ROM:1098 000 jnz ROM_10B9 ; Jump if Acc is not zero ROM:1098 ROM:109A 000 mov R0, #38h ; '8' ; Move (Op1 <- Op2) ROM:109C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:109D 000 jnb ACC.0, ROM_10B9 ; Accumulator ROM:109D ROM:10A0 000 mov DPTR, #SMFI_FBCFG ; FBIU Configuration ROM:10A3 000 movx A, @DPTR ; Move from/to external RAM ROM:10A4 000 anl A, #1111111b ; Logical AND (op1 &= op2) ROM:10A6 000 movx @DPTR, A ; Move from/to external RAM ROM:10A7 000 setb IE.7 ; Interrupt Enable Register 0 ROM:10A9 000 lcall ROM_4C18 ; Long Subroutine Call ROM:10A9 ROM:10AC 000 lcall set_timers ; Long Subroutine Call ROM:10AC ROM:10AF 000 lcall magic_words ; Long Subroutine Call ROM:10AF ROM:10B2 000 clr A ; Clear Operand (0) ROM:10B3 000 mov DPTR, #0Ch ; Move (Op1 <- Op2) ROM:10B6 000 movx @DPTR, A ; Move from/to external RAM ROM:10B7 000 sjmp ROM_10DC ; Short jump ROM:10B7 ROM:10B9 ; --------------------------------------------------------------------------- ROM:10B9 ROM:10B9 ROM_10B9: ; CODE XREF: ROM_108F+9j ROM:10B9 ; ROM_108F+Ej ROM:10B9 000 mov DPTR, #SMFI_FBCFG ; FBIU Configuration ROM:10BC 000 movx A, @DPTR ; Move from/to external RAM ROM:10BD 000 anl A, #1111111b ; Scratch SRAM No. 0, whose size is 2K bytes, is mapped into ROM:10BD ; F800h-FFFFh in code space and overrides the settings in ROM:10BD ; SCAR0H/SCAR0M/SCAR0L register. ROM:10BD ; ROM:10BD ; Set BADDR to 10; ROM:10BF 000 movx @DPTR, A ; Move from/to external RAM ROM:10C0 000 setb IE.7 ; Interrupt Enable Register 0 ROM:10C2 000 clr A ; Clear Operand (0) ROM:10C3 000 mov DPTR, #0Ch ; Move (Op1 <- Op2) ROM:10C6 000 movx @DPTR, A ; write "0" to 0xC ROM:10C7 000 mov DPTR, #SMFI_FPCFG ; Flash Programming Configuration Register ROM:10CA 000 mov A, #111111b ; Move (Op1 <- Op2) ROM:10CC 000 movx @DPTR, A ; Move from/to external RAM ROM:10CD 000 mov DPTR, #SMFI_FMSSR ; Flash Memory Size Select Register ROM:10D0 000 mov A, #11111b ; set flash memory size to 2048Kb. ROM:10D2 000 movx @DPTR, A ; Move from/to external RAM ROM:10D3 000 lcall write_prepare ; Long Subroutine Call ROM:10D3 ROM:10D6 000 lcall ROM_49EE ; Long Subroutine Call ROM:10D6 ROM:10D9 000 lcall ROM_630B ; Long Subroutine Call ROM:10D9 ROM:10DC ROM:10DC ROM_10DC: ; CODE XREF: ROM_108F+28j ROM:10DC ; ROM_108F+69j ROM:10DC 000 lcall ROM_1148 ; Long Subroutine Call ROM:10DC ROM:10DF 000 lcall ROM_1137 ; Long Subroutine Call ROM:10DF ROM:10E2 000 nop ; No operation ROM:10E3 000 nop ; No operation ROM:10E4 000 lcall ROM_10FA ; Long Subroutine Call ROM:10E4 ROM:10E7 000 jnc ROM_10F4 ; Jump if Carry is clear ROM:10E7 ROM:10E9 000 mov PCON, #1 ; Power Control Register ROM:10EC 000 nop ; No operation ROM:10ED 000 nop ; No operation ROM:10EE 000 nop ; No operation ROM:10EF 000 nop ; No operation ROM:10F0 000 nop ; No operation ROM:10F1 000 nop ; No operation ROM:10F2 000 nop ; No operation ROM:10F3 000 nop ; No operation ROM:10F3 ROM:10F4 ROM:10F4 ROM_10F4: ; CODE XREF: ROM_108F+58j ROM:10F4 000 setb RAM_27.2 ; Set Direct Bit ROM:10F6 000 setb RAM_26.1 ; Set Direct Bit ROM:10F8 000 sjmp ROM_10DC ; Short jump ROM:10F8 ROM:10F8 ; End of function ROM_108F ROM:10F8 ROM:10FA ROM:10FA ; =============== S U B R O U T I N E ======================================= ROM:10FA ROM:10FA ROM:10FA ROM_10FA: ; CODE XREF: ROM_108F+55p ROM:10FA 000 lcall nullsub_5 ; Long Subroutine Call ROM:10FA ROM:10FD 000 mov A, RAM_26 ; Move (Op1 <- Op2) ROM:10FF 000 setb C ; Set Direct Bit ROM:1100 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:1102 000 jnc ROM_110A ; Jump if Carry is clear ROM:1102 ROM:1104 000 mov A, RAM_27 ; Move (Op1 <- Op2) ROM:1106 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:1108 000 jc ROM_110C ; Jump if Carry is set ROM:1108 ROM:110A ROM:110A ROM_110A: ; CODE XREF: ROM_10FA+8j ROM:110A 000 clr C ; Clear Operand (0) ROM:110B 000 ret ; Return from subroutine ROM:110B ROM:110C ; --------------------------------------------------------------------------- ROM:110C ROM:110C ROM_110C: ; CODE XREF: ROM_10FA+Ej ROM:110C 000 mov R0, #38h ; '8' ; Move (Op1 <- Op2) ROM:110E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:110F 000 jb ACC.0, ROM_1114 ; Accumulator ROM:110F ROM:1112 000 setb C ; Set Direct Bit ROM:1113 000 ret ; Return from subroutine ROM:1113 ROM:1114 ; --------------------------------------------------------------------------- ROM:1114 ROM:1114 ROM_1114: ; CODE XREF: ROM_10FA+15j ROM:1114 000 mov DPTR, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:1117 000 movx A, @DPTR ; Move from/to external RAM ROM:1118 000 clr C ; Clear Operand (0) ROM:1119 000 subb A, #64h ; 'd' ; Subtract Second Operand from Acc with Borrow ROM:111B 000 jnc ROM_111F ; Jump if Carry is clear ROM:111B ROM:111D 000 clr C ; Clear Operand (0) ROM:111E 000 ret ; Return from subroutine ROM:111E ROM:111F ; --------------------------------------------------------------------------- ROM:111F ROM:111F ROM_111F: ; CODE XREF: ROM_10FA+21j ROM:111F 000 mov DPTR, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:1122 000 movx A, @DPTR ; Move from/to external RAM ROM:1123 000 clr C ; Clear Operand (0) ROM:1124 000 subb A, #64h ; 'd' ; Subtract Second Operand from Acc with Borrow ROM:1126 000 jnc ROM_112A ; Jump if Carry is clear ROM:1126 ROM:1128 000 clr C ; Clear Operand (0) ROM:1129 000 ret ; Return from subroutine ROM:1129 ROM:112A ; --------------------------------------------------------------------------- ROM:112A ROM:112A ROM_112A: ; CODE XREF: ROM_10FA+2Cj ROM:112A 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:112D 000 movx A, @DPTR ; Move from/to external RAM ROM:112E 000 clr C ; Clear Operand (0) ROM:112F 000 subb A, #64h ; 'd' ; Subtract Second Operand from Acc with Borrow ROM:1131 000 jnc ROM_1135 ; Jump if Carry is clear ROM:1131 ROM:1133 000 clr C ; Clear Operand (0) ROM:1134 000 ret ; Return from subroutine ROM:1134 ROM:1135 ; --------------------------------------------------------------------------- ROM:1135 ROM:1135 ROM_1135: ; CODE XREF: ROM_10FA+37j ROM:1135 000 setb C ; Set Direct Bit ROM:1136 000 ret ; Return from subroutine ROM:1136 ROM:1136 ; End of function ROM_10FA ROM:1136 ROM:1137 ROM:1137 ; =============== S U B R O U T I N E ======================================= ROM:1137 ROM:1137 ROM:1137 ROM_1137: ; CODE XREF: ROM_108F+50p ROM:1137 000 setb IE.7 ; Interrupt Enable Register 0 ROM:1139 000 mov DPTR, #INTC_IER3 ; Interrupt Enable Register 3 ROM:113C 000 movx A, @DPTR ; Move from/to external RAM ROM:113D 000 orl A, #11b ; Logical OR (op1 |= op2) ROM:113F 000 movx @DPTR, A ; Move from/to external RAM ROM:1140 000 mov DPTR, #INTC_IER1 ; Interrupt Enable Register 1 ROM:1143 000 movx A, @DPTR ; Move from/to external RAM ROM:1144 000 orl A, #10000000b ; Logical OR (op1 |= op2) ROM:1146 000 movx @DPTR, A ; Move from/to external RAM ROM:1147 000 ret ; Return from subroutine ROM:1147 ROM:1147 ; End of function ROM_1137 ROM:1147 ROM:1148 ROM:1148 ; =============== S U B R O U T I N E ======================================= ROM:1148 ROM:1148 ROM:1148 ROM_1148: ; CODE XREF: ROM_108F:ROM_10DCp ROM:1148 000 ljmp ROM_11CE ; Long Jump ROM:1148 ROM:114B ; --------------------------------------------------------------------------- ROM:114B ROM:114B ROM_114B: ; CODE XREF: ROM_1148+90j ROM:114B 000 mov A, RAM_37 ; Move (Op1 <- Op2) ROM:114D 000 orl A, RAM_36 ; Logical OR (op1 |= op2) ROM:114F 000 jnz ROM_1154 ; Jump if Acc is not zero ROM:114F ROM:1151 000 ljmp return ; Long Jump ROM:1151 ROM:1154 ; --------------------------------------------------------------------------- ROM:1154 ROM:1154 ROM_1154: ; CODE XREF: ROM_1148+7j ROM:1154 000 lcall ROM_29AE+1 ; Long Subroutine Call ROM:1154 ROM:1157 000 clr A ; Clear Operand (0) ROM:1158 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:1158 ROM:115A ROM:115A ROM_115A: ; CODE XREF: ROM_1148+24j ROM:115A 000 mov A, RAM_37 ; Move (Op1 <- Op2) ROM:115C 000 jb ACC.0, ROM_116E ; Accumulator ROM:115C ROM:115F 000 mov A, RAM_36 ; Move (Op1 <- Op2) ROM:1161 000 clr C ; Clear Operand (0) ROM:1162 000 rrc A ; Rotate Acc right through Carry ROM:1163 000 mov RAM_36, A ; Move (Op1 <- Op2) ROM:1165 000 mov A, RAM_37 ; Move (Op1 <- Op2) ROM:1167 000 rrc A ; Rotate Acc right through Carry ROM:1168 000 mov RAM_37, A ; Move (Op1 <- Op2) ROM:116A 000 inc RAM_30 ; Increment Operand ROM:116C 000 sjmp ROM_115A ; Short jump ROM:116C ROM:116E ; --------------------------------------------------------------------------- ROM:116E ROM:116E ROM_116E: ; CODE XREF: ROM_1148+14j ROM:116E 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:1170 000 clr C ; Clear Operand (0) ROM:1171 000 subb A, #8 ; Subtract Second Operand from Acc with Borrow ROM:1173 000 jnc ROM_118A ; Jump if Carry is clear ROM:1173 ROM:1175 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:1177 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:1179 000 mov R7, A ; Move (Op1 <- Op2) ROM:117A 000 mov A, #1 ; Move (Op1 <- Op2) ROM:117C 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:117E 000 inc R0 ; Increment Operand ROM:117F 000 sjmp ROM_1183 ; Short jump ROM:117F ROM:1181 ; --------------------------------------------------------------------------- ROM:1181 ROM:1181 ROM_1181: ; CODE XREF: ROM_1148:ROM_1183j ROM:1181 000 clr C ; Clear Operand (0) ROM:1182 000 rlc A ; Rotate Acc left through Carry ROM:1182 ROM:1183 ROM:1183 ROM_1183: ; CODE XREF: ROM_1148+37j ROM:1183 000 djnz R0, ROM_1181 ; Decrement Operand and JNZ ROM:1183 ROM:1185 000 cpl A ; Complement Operand ROM:1186 000 anl RAM_26, A ; Logical AND (op1 &= op2) ROM:1188 000 sjmp ROM_11A0 ; Short jump ROM:1188 ROM:118A ; --------------------------------------------------------------------------- ROM:118A ROM:118A ROM_118A: ; CODE XREF: ROM_1148+2Bj ROM:118A 000 lcall ROM_29AE+1 ; Long Subroutine Call ROM:118A ROM:118D 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:118F 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:1191 000 mov R7, A ; Move (Op1 <- Op2) ROM:1192 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1194 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:1196 000 inc R0 ; Increment Operand ROM:1197 000 sjmp ROM_119B ; Short jump ROM:1197 ROM:1199 ; --------------------------------------------------------------------------- ROM:1199 ROM:1199 ROM_1199: ; CODE XREF: ROM_1148:ROM_119Bj ROM:1199 000 clr C ; Clear Operand (0) ROM:119A 000 rlc A ; Rotate Acc left through Carry ROM:119A ROM:119B ROM:119B ROM_119B: ; CODE XREF: ROM_1148+4Fj ROM:119B 000 djnz R0, ROM_1199 ; Decrement Operand and JNZ ROM:119B ROM:119D 000 cpl A ; Complement Operand ROM:119E 000 anl RAM_27, A ; Logical AND (op1 &= op2) ROM:119E ROM:11A0 ROM:11A0 ROM_11A0: ; CODE XREF: ROM_1148+40j ROM:11A0 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:11A2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:11A3 000 add A, ACC ; Accumulator ROM:11A5 000 add A, #9Bh ; '¢' ; Add Second Operand to Acc ROM:11A7 000 mov DP0L, A ; Data Pointer Low Byte ROM:11A9 000 clr A ; Clear Operand (0) ROM:11AA 000 addc A, #12h ; Add Second Operand to Acc with carry ROM:11AC 000 mov DP0H, A ; Data Pointer High Byte ROM:11AE 000 clr A ; Clear Operand (0) ROM:11AF 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:11B0 000 mov R6, A ; Move (Op1 <- Op2) ROM:11B1 000 mov A, #1 ; Move (Op1 <- Op2) ROM:11B3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:11B4 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:11B6 000 mov R1, A ; Move (Op1 <- Op2) ROM:11B7 000 lcall jump_to_R2R1 ; jump to pair R2:R1 ROM:11B7 ROM:11BA 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:11BD 000 movx A, @DPTR ; Move from/to external RAM ROM:11BE 000 jnb ACC.1, ROM_11C5 ; Accumulator ROM:11BE ROM:11C1 000 setb RAM_26.5 ; Set Direct Bit ROM:11C3 000 sjmp ROM_11CE ; Short jump ROM:11C3 ROM:11C5 ; --------------------------------------------------------------------------- ROM:11C5 ROM:11C5 ROM_11C5: ; CODE XREF: ROM_1148+76j ROM:11C5 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:11C8 000 movx A, @DPTR ; Move from/to external RAM ROM:11C9 000 jnb ACC.1, ROM_11CE ; Accumulator ROM:11C9 ROM:11CC 000 setb RAM_26.0 ; Set Direct Bit ROM:11CC ROM:11CE ROM:11CE ROM_11CE: ; CODE XREF: ROM_1148j ROM:11CE ; ROM_1148+7Bj ... ROM:11CE 000 mov R7, RAM_27 ; Move (Op1 <- Op2) ROM:11D0 000 mov A, R7 ; Move (Op1 <- Op2) ROM:11D1 000 mov R5, RAM_26 ; Move (Op1 <- Op2) ROM:11D3 000 mov RAM_36, A ; Move (Op1 <- Op2) ROM:11D5 000 mov A, R5 ; Move (Op1 <- Op2) ROM:11D6 000 mov RAM_37, A ; Move (Op1 <- Op2) ROM:11D8 000 ljmp ROM_114B ; Long Jump ROM:11D8 ROM:11DB ; --------------------------------------------------------------------------- ROM:11DB ROM:11DB return: ; CODE XREF: ROM_1148+9j ROM:11DB 000 ret ; Return from subroutine ROM:11DB ROM:11DB ; End of function ROM_1148 ROM:11DB ROM:11DC ; --------------------------------------------------------------------------- ROM:11DC mov R0, #0BCh ; '+' ; Move (Op1 <- Op2) ROM:11DE mov A, @R0 ; Move (Op1 <- Op2) ROM:11DF anl A, #7Fh ; Logical AND (op1 &= op2) ROM:11E1 mov @R0, A ; Move (Op1 <- Op2) ROM:11E2 ret ; Return from subroutine ROM:11E2 ROM:11E3 ; --------------------------------------------------------------------------- ROM:11E3 ljmp ROM_A69D ; Long Jump ROM:11E3 ROM:11E6 ROM:11E6 ; =============== S U B R O U T I N E ======================================= ROM:11E6 ROM:11E6 ROM:11E6 ROM_11E6: ; CODE XREF: ROM_18F8+1Fp ROM:11E6 ; ROM:1B6Ep ... ROM:11E6 000 mov R5, #0FFh ; Move (Op1 <- Op2) ROM:11E8 000 mov R4, #0Dh ; Move (Op1 <- Op2) ROM:11EA 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:11EC 000 mov DP0H, R4 ; Data Pointer High Byte ROM:11EE 000 movx A, @DPTR ; Move from/to external RAM ROM:11EF 000 mov R1, A ; Move (Op1 <- Op2) ROM:11F0 000 movx A, @DPTR ; Move from/to external RAM ROM:11F1 000 inc A ; Increment Operand ROM:11F2 000 movx @DPTR, A ; Move from/to external RAM ROM:11F3 000 movx A, @DPTR ; Move from/to external RAM ROM:11F4 000 cjne A, #0FFh, ROM_1223 ; Compare Operands and JNE ROM:11F4 ROM:11F7 000 clr A ; Clear Operand (0) ROM:11F8 000 movx @DPTR, A ; Move from/to external RAM ROM:11F9 000 mov DPTR, #620h ; Move (Op1 <- Op2) ROM:11FC 000 mov A, #0Dh ; Move (Op1 <- Op2) ROM:11FE 000 movx @DPTR, A ; Move from/to external RAM ROM:11FF 000 inc DPTR ; Increment Operand ROM:1200 000 clr A ; Clear Operand (0) ROM:1201 000 movx @DPTR, A ; Move from/to external RAM ROM:1202 000 mov R6, A ; Move (Op1 <- Op2) ROM:1202 ROM:1203 ROM:1203 ROM_1203: ; CODE XREF: ROM_11E6+3Aj ROM:1203 000 mov DPTR, #620h ; Move (Op1 <- Op2) ROM:1206 000 movx A, @DPTR ; Move from/to external RAM ROM:1207 000 mov R2, A ; Move (Op1 <- Op2) ROM:1208 000 inc DPTR ; Increment Operand ROM:1209 000 movx A, @DPTR ; Move from/to external RAM ROM:120A 000 mov DP0L, A ; Data Pointer Low Byte ROM:120C 000 mov DP0H, R2 ; Data Pointer High Byte ROM:120E 000 clr A ; Clear Operand (0) ROM:120F 000 movx @DPTR, A ; Move from/to external RAM ROM:1210 000 mov DPTR, #621h ; Move (Op1 <- Op2) ROM:1213 000 movx A, @DPTR ; Move from/to external RAM ROM:1214 000 inc A ; Increment Operand ROM:1215 000 movx @DPTR, A ; Move from/to external RAM ROM:1216 000 jnz ROM_121E ; Jump if Acc is not zero ROM:1216 ROM:1218 000 mov DPTR, #620h ; Move (Op1 <- Op2) ROM:121B 000 movx A, @DPTR ; Move from/to external RAM ROM:121C 000 inc A ; Increment Operand ROM:121D 000 movx @DPTR, A ; Move from/to external RAM ROM:121D ROM:121E ROM:121E ROM_121E: ; CODE XREF: ROM_11E6+30j ROM:121E 000 inc R6 ; Increment Operand ROM:121F 000 mov A, R6 ; Move (Op1 <- Op2) ROM:1220 000 cjne A, #0FFh, ROM_1203 ; Compare Operands and JNE ROM:1220 ROM:1223 ROM:1223 ROM_1223: ; CODE XREF: ROM_11E6+Ej ROM:1223 000 mov R6, RAM_1 ; Move (Op1 <- Op2) ROM:1225 000 mov A, R1 ; Move (Op1 <- Op2) ROM:1226 000 add A, #0 ; Add Second Operand to Acc ROM:1228 000 mov R5, A ; Move (Op1 <- Op2) ROM:1229 000 clr A ; Clear Operand (0) ROM:122A 000 addc A, #0Dh ; Add Second Operand to Acc with carry ROM:122C 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:122E 000 mov DP0H, A ; Data Pointer High Byte ROM:122E ROM:1230 ROM:1230 ROM_1230: ; CODE XREF: ROM:36B2j ROM:1230 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1231 000 movx @DPTR, A ; Move from/to external RAM ROM:1231 ROM:1232 ROM:1232 ROM_1232: ; CODE XREF: ROM:36B7j ROM:1232 000 ret ; Return from subroutine ROM:1232 ROM:1232 ; End of function ROM_11E6 ROM:1232 ROM:1233 ROM:1233 ; =============== S U B R O U T I N E ======================================= ROM:1233 ROM:1233 ROM:1233 ROM_1233: ROM:1233 000 mov DPTR, #622h ; Move (Op1 <- Op2) ROM:1236 000 mov A, R3 ; Move (Op1 <- Op2) ROM:1237 000 movx @DPTR, A ; Move from/to external RAM ROM:1238 000 inc DPTR ; Increment Operand ROM:1239 000 mov A, R2 ; Move (Op1 <- Op2) ROM:123A 000 movx @DPTR, A ; Move from/to external RAM ROM:123B 000 inc DPTR ; Increment Operand ROM:123C 000 mov A, R1 ; Move (Op1 <- Op2) ROM:123D 000 movx @DPTR, A ; Move from/to external RAM ROM:123E 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:1240 000 mov @R0, #0Dh ; Move (Op1 <- Op2) ROM:1242 000 inc R0 ; Increment Operand ROM:1243 000 mov @R0, #1 ; Move (Op1 <- Op2) ROM:1245 000 clr A ; Clear Operand (0) ROM:1246 000 mov DPTR, #625h ; Move (Op1 <- Op2) ROM:1249 000 movx @DPTR, A ; Move from/to external RAM ROM:1249 ROM:124A ROM:124A ROM_124A: ; CODE XREF: ROM_1233+52j ROM:124A 000 mov DPTR, #625h ; Move (Op1 <- Op2) ROM:124D 000 movx A, @DPTR ; Move from/to external RAM ROM:124E 000 mov R7, A ; Move (Op1 <- Op2) ROM:124F 000 clr C ; Clear Operand (0) ROM:1250 000 subb A, #0Fh ; Subtract Second Operand from Acc with Borrow ROM:1252 000 jnc ROM_1287 ; Jump if Carry is clear ROM:1252 ROM:1254 000 mov DPTR, #622h ; Move (Op1 <- Op2) ROM:1257 000 movx A, @DPTR ; Move from/to external RAM ROM:1258 000 mov R3, A ; Move (Op1 <- Op2) ROM:1259 000 inc DPTR ; Increment Operand ROM:125A 000 movx A, @DPTR ; Move from/to external RAM ROM:125B 000 mov R2, A ; Move (Op1 <- Op2) ROM:125C 000 inc DPTR ; Increment Operand ROM:125D 000 movx A, @DPTR ; Move from/to external RAM ROM:125E 000 mov R1, A ; Move (Op1 <- Op2) ROM:125F 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:1261 000 mov DP0H, #0 ; Data Pointer High Byte ROM:1264 000 lcall ROM_B5A1 ; Long Subroutine Call ROM:1264 ROM:1267 000 mov R7, A ; Move (Op1 <- Op2) ROM:1268 000 mov DPTR, #625h ; Move (Op1 <- Op2) ROM:126B 000 movx A, @DPTR ; Move from/to external RAM ROM:126C 000 mov R6, A ; Move (Op1 <- Op2) ROM:126D 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:126F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1270 000 mov R4, A ; Move (Op1 <- Op2) ROM:1271 000 inc R0 ; Increment Operand ROM:1272 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1273 000 mov DP0H, R4 ; Data Pointer High Byte ROM:1275 000 add A, R6 ; Add Second Operand to Acc ROM:1276 000 mov DP0L, A ; Data Pointer Low Byte ROM:1278 000 clr A ; Clear Operand (0) ROM:1279 000 addc A, DP0H ; Data Pointer High Byte ROM:127B 000 mov DP0H, A ; Data Pointer High Byte ROM:127D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:127E 000 movx @DPTR, A ; Move from/to external RAM ROM:127F 000 mov DPTR, #625h ; Move (Op1 <- Op2) ROM:1282 000 movx A, @DPTR ; Move from/to external RAM ROM:1283 000 inc A ; Increment Operand ROM:1284 000 movx @DPTR, A ; Move from/to external RAM ROM:1285 000 sjmp ROM_124A ; Short jump ROM:1285 ROM:1287 ; --------------------------------------------------------------------------- ROM:1287 ROM:1287 ROM_1287: ; CODE XREF: ROM_1233+1Fj ROM:1287 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:1289 000 mov @R0, #0Dh ; Move (Op1 <- Op2) ROM:128B 000 inc R0 ; Increment Operand ROM:128C 000 mov @R0, #0 ; Move (Op1 <- Op2) ROM:128E 000 dec R0 ; Decrement Operand ROM:128F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1290 000 mov R6, A ; Move (Op1 <- Op2) ROM:1291 000 inc R0 ; Increment Operand ROM:1292 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1293 000 mov DP0L, A ; Data Pointer Low Byte ROM:1295 000 mov DP0H, R6 ; Data Pointer High Byte ROM:1297 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:1299 000 movx @DPTR, A ; Move from/to external RAM ROM:129A 000 ret ; Return from subroutine ROM:129A ROM:129A ; End of function ROM_1233 ROM:129A ROM:129A ; --------------------------------------------------------------------------- ROM:129B db 28h ROM:129C db 61h ROM:129D db 11h ROM:129E db 0DCh, 12h, 0BBh, 13h, 3Ch, 29h, 0ACh, 18h, 0A6h, 62h ROM:129E db 0B3h, 3Eh, 0A7h, 6Eh, 0CFh, 96h, 27h, 2Bh, 19h, 4Dh ROM:129E db 5Bh, 62h, 0A7h, 62h, 0A9h, 98h, 0C3h, 11h, 0E3h, 90h ROM:129E db 0, 68h, 0E0h, 4, 0F0h, 12h, 4Ch, 0B8h, 90h, 13h, 4 ROM:129E db 0E0h, 20h, 0E0h, 70h, 0E0h, 20h, 0E1h, 6Ch, 90h, 0 ROM:129E db 7Ch, 0E0h, 0D3h, 94h, 0, 40h, 8, 12h, 15h, 12h, 12h ROM:129E db 14h, 62h, 80h, 1Ch, 90h, 0, 7Eh, 0E0h, 0D3h, 94h, 0 ROM:129E db 40h, 1Ah, 12h, 16h, 0A4h, 90h, 6, 26h, 0EFh, 0F0h, 12h ROM:129E db 16h, 79h, 90h, 6, 26h, 0E0h, 0FDh, 12h, 15h, 3Dh, 90h ROM:129E db 0, 67h, 0E0h, 4, 0F0h, 22h, 78h, 0BCh, 0E6h, 0FFh, 0C4h ROM:129E db 13h, 13h, 13h, 54h, 1, 20h, 0E0h, 2Bh, 12h ROM:1311 ROM:1311 ; =============== S U B R O U T I N E ======================================= ROM:1311 ROM:1311 ROM:1311 ROM_1311: ROM:1311 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:1312 000 acall ROM_1690 ; Absolute Call ROM:1312 ROM:1314 000 inc @R0 ; Increment Operand ROM:1315 000 add A, @R0 ; Add Second Operand to Acc ROM:1316 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1317 000 movx @DPTR, A ; Move from/to external RAM ROM:1318 000 clr RAM_22.2 ; Clear Operand (0) ROM:131A 000 movx A, @DPTR ; Move from/to external RAM ROM:131B 000 mov R7, A ; Move (Op1 <- Op2) ROM:131C 000 cjne A, #0FFh, ROM_1327 ; Compare Operands and JNE ROM:131C ROM:131F 000 mov R6, RAM_3F ; Move (Op1 <- Op2) ROM:1321 000 mov A, R6 ; Move (Op1 <- Op2) ROM:1322 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:1324 000 mov RAM_3F, A ; Move (Op1 <- Op2) ROM:1326 000 ret ; Return from subroutine ROM:1326 ROM:1327 ; --------------------------------------------------------------------------- ROM:1327 ROM:1327 ROM_1327: ; CODE XREF: ROM_1311+Bj ROM:1327 000 mov C, RAM_29.7 ; Move (Op1 <- Op2) ROM:1329 000 clr A ; Clear Operand (0) ROM:132A 000 rlc A ; Rotate Acc left through Carry ROM:132B 000 mov DPTR, #627h ; Move (Op1 <- Op2) ROM:132E 000 movx @DPTR, A ; Move from/to external RAM ROM:132F 000 clr RAM_29.7 ; Clear Operand (0) ROM:1331 000 movx A, @DPTR ; Move from/to external RAM ROM:1332 000 mov R5, A ; Move (Op1 <- Op2) ROM:1333 000 lcall ROM_176A ; Long Subroutine Call ROM:1333 ROM:1336 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1337 000 jz return ; Jump if Acc is zero ROM:1337 ROM:1339 000 setb RAM_29.7 ; Set Direct Bit ROM:1339 ROM:133B ROM:133B return: ; CODE XREF: ROM_1311+26j ROM:133B 000 ret ; Return from subroutine ROM:133B ROM:133B ; End of function ROM_1311 ROM:133B ROM:133C ROM:133C ; =============== S U B R O U T I N E ======================================= ROM:133C ROM:133C ROM:133C ROM_133C: ROM:133C 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:133F 000 movx A, @DPTR ; Move from/to external RAM ROM:1340 000 jb ACC.0, return ; Accumulator ROM:1340 ROM:1343 000 movx A, @DPTR ; Move from/to external RAM ROM:1344 000 jb ACC.1, return ; Accumulator ROM:1344 ROM:1347 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:134A 000 movx A, @DPTR ; Move from/to external RAM ROM:134B 000 setb C ; Set Direct Bit ROM:134C 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:134E 000 jc ROM_1358 ; Jump if Carry is set ROM:134E ROM:1350 000 lcall ROM_1512 ; Long Subroutine Call ROM:1350 ROM:1353 000 lcall ROM_1462 ; Long Subroutine Call ROM:1353 ROM:1356 000 sjmp ROM_1374 ; Short jump ROM:1356 ROM:1358 ; --------------------------------------------------------------------------- ROM:1358 ROM:1358 ROM_1358: ; CODE XREF: ROM_133C+12j ROM:1358 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:135B 000 movx A, @DPTR ; Move from/to external RAM ROM:135C 000 setb C ; Set Direct Bit ROM:135D 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:135F 000 jc ROM_137B ; Jump if Carry is set ROM:135F ROM:1361 000 lcall ROM_16A4 ; Long Subroutine Call ROM:1361 ROM:1364 000 mov DPTR, #628h ; Move (Op1 <- Op2) ROM:1367 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1368 000 movx @DPTR, A ; Move from/to external RAM ROM:1369 000 lcall ROM_1679 ; Long Subroutine Call ROM:1369 ROM:136C 000 mov DPTR, #628h ; Move (Op1 <- Op2) ROM:136F 000 movx A, @DPTR ; Move from/to external RAM ROM:1370 000 mov R5, A ; Move (Op1 <- Op2) ROM:1371 000 lcall ROM_153D ; Long Subroutine Call ROM:1371 ROM:1374 ROM:1374 ROM_1374: ; CODE XREF: ROM_133C+1Aj ROM:1374 000 mov DPTR, #67h ; 'g' ; Move (Op1 <- Op2) ROM:1377 000 movx A, @DPTR ; Move from/to external RAM ROM:1378 000 inc A ; Increment Operand ROM:1379 000 movx @DPTR, A ; Move from/to external RAM ROM:137A 000 ret ; Return from subroutine ROM:137A ROM:137B ; --------------------------------------------------------------------------- ROM:137B ROM:137B ROM_137B: ; CODE XREF: ROM_133C+23j ROM:137B 000 lcall stop_timer_2 ; Long Subroutine Call ROM:137B ROM:137E 000 mov R0, #9Ah ; 'Ü' ; Move (Op1 <- Op2) ROM:1380 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1381 000 jnz ROM_1385 ; Jump if Acc is not zero ROM:1381 ROM:1383 000 mov @R0, #1 ; Move (Op1 <- Op2) ROM:1383 ROM:1385 ROM:1385 ROM_1385: ; CODE XREF: ROM_133C+45j ROM:1385 000 mov R0, #9Ah ; 'Ü' ; Move (Op1 <- Op2) ROM:1387 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1388 000 cjne A, #1, ROM_138D ; Compare Operands and JNE ROM:1388 ROM:138B 000 mov @R0, #2 ; Move (Op1 <- Op2) ROM:138B ROM:138D ROM:138D ROM_138D: ; CODE XREF: ROM_133C+4Cj ROM:138D 000 mov R0, #9Ah ; 'Ü' ; Move (Op1 <- Op2) ROM:138F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1390 000 cjne A, #2, ROM_13A0 ; Compare Operands and JNE ROM:1390 ROM:1393 000 lcall ROM_13C3 ; Long Subroutine Call ROM:1393 ROM:1396 000 jnc ROM_13A0 ; Jump if Carry is clear ROM:1396 ROM:1398 000 mov DPTR, #0ACh ; '¼' ; Move (Op1 <- Op2) ROM:139B 000 movx A, @DPTR ; Move from/to external RAM ROM:139C 000 inc A ; Increment Operand ROM:139D 000 movx @DPTR, A ; Move from/to external RAM ROM:139E 000 sjmp ROM_13B8 ; Short jump ROM:139E ROM:13A0 ; --------------------------------------------------------------------------- ROM:13A0 ROM:13A0 ROM_13A0: ; CODE XREF: ROM_133C+54j ROM:13A0 ; ROM_133C+5Aj ROM:13A0 000 clr A ; Clear Operand (0) ROM:13A1 000 mov R0, #9Ah ; 'Ü' ; Move (Op1 <- Op2) ROM:13A3 000 mov @R0, A ; Move (Op1 <- Op2) ROM:13A4 000 mov R7, A ; Move (Op1 <- Op2) ROM:13A5 000 lcall ROM_32F3 ; Long Subroutine Call ROM:13A5 ROM:13A8 000 jc ROM_13B8 ; Jump if Carry is set ROM:13A8 ROM:13AA 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:13AC 000 lcall ROM_32F3 ; Long Subroutine Call ROM:13AC ROM:13AF 000 jc ROM_13B8 ; Jump if Carry is set ROM:13AF ROM:13B1 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:13B3 000 lcall ROM_32F3 ; Long Subroutine Call ROM:13B3 ROM:13B6 000 jnc return ; Jump if Carry is clear ROM:13B6 ROM:13B8 ROM:13B8 ROM_13B8: ; CODE XREF: ROM_133C+62j ROM:13B8 ; ROM_133C+6Cj ... ROM:13B8 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:13BA 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:13BB 000 orl A, #100000b ; Logical OR (op1 |= op2) ROM:13BD 000 mov @R0, A ; Move (Op1 <- Op2) ROM:13BD ROM:13BE ROM:13BE return: ; CODE XREF: ROM_133C+4j ROM:13BE ; ROM_133C+8j ... ROM:13BE 000 ret ; Return from subroutine ROM:13BE ROM:13BE ; End of function ROM_133C ROM:13BE ROM:13BE ; --------------------------------------------------------------------------- ROM:13BF db 0C3h ROM:13C0 db 22h ROM:13C1 db 0C3h ROM:13C2 db 22h ROM:13C3 ROM:13C3 ; =============== S U B R O U T I N E ======================================= ROM:13C3 ROM:13C3 ROM:13C3 ROM_13C3: ; CODE XREF: ROM_133C+57p ROM:13C3 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:13C5 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:13C6 000 jb ACC.0, ROM_13D5 ; Accumulator ROM:13C6 ROM:13C9 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:13CA 000 swap A ; Swap nibbles of Acc ROM:13CB 000 rrc A ; Rotate Acc right through Carry ROM:13CC 000 rrc A ; Rotate Acc right through Carry ROM:13CD 000 rrc A ; Rotate Acc right through Carry ROM:13CE 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:13D0 000 jb ACC.0, ROM_13D5 ; Accumulator ROM:13D0 ROM:13D3 000 clr C ; Clear Operand (0) ROM:13D4 000 ret ; Return from subroutine ROM:13D4 ROM:13D5 ; --------------------------------------------------------------------------- ROM:13D5 ROM:13D5 ROM_13D5: ; CODE XREF: ROM_13C3+3j ROM:13D5 ; ROM_13C3+Dj ROM:13D5 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:13D7 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:13D8 000 swap A ; Swap nibbles of Acc ROM:13D9 000 rrc A ; Rotate Acc right through Carry ROM:13DA 000 rrc A ; Rotate Acc right through Carry ROM:13DB 000 rrc A ; Rotate Acc right through Carry ROM:13DC 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:13DE 000 jnb ACC.0, ROM_1418 ; Accumulator ROM:13DE ROM:13E1 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:13E3 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:13E4 000 jnz ROM_13E8 ; Jump if Acc is not zero ROM:13E4 ROM:13E6 000 clr C ; Clear Operand (0) ROM:13E7 000 ret ; Return from subroutine ROM:13E7 ROM:13E8 ; --------------------------------------------------------------------------- ROM:13E8 ROM:13E8 ROM_13E8: ; CODE XREF: ROM_13C3+21j ROM:13E8 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:13EB 000 movx A, @DPTR ; Move from/to external RAM ROM:13EC 000 jb ACC.0, ROM_13F6 ; Accumulator ROM:13EC ROM:13EF 000 movx A, @DPTR ; Move from/to external RAM ROM:13F0 000 jb ACC.1, ROM_13F6 ; Accumulator ROM:13F0 ROM:13F3 000 jnb RAM_20.5, ROM_13F8 ; Jump if Bit is clear ROM:13F3 ROM:13F6 ROM:13F6 ROM_13F6: ; CODE XREF: ROM_13C3+29j ROM:13F6 ; ROM_13C3+2Dj ROM:13F6 000 setb C ; Set Direct Bit ROM:13F7 000 ret ; Return from subroutine ROM:13F7 ROM:13F8 ; --------------------------------------------------------------------------- ROM:13F8 ROM:13F8 ROM_13F8: ; CODE XREF: ROM_13C3+30j ROM:13F8 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:13FA 000 lcall ROM_34D1 ; Long Subroutine Call ROM:13FA ROM:13FD 000 mov R5, #40h ; '@' ; Move (Op1 <- Op2) ROM:13FF 000 lcall ROM_153D ; Long Subroutine Call ROM:13FF ROM:1402 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:1404 000 inc @R0 ; Increment Operand ROM:1405 000 mov R1, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:1407 000 mov A, @R1 ; Move (Op1 <- Op2) ROM:1408 000 clr C ; Clear Operand (0) ROM:1409 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:140B 000 subb A, @R0 ; Subtract Second Operand from Acc with Borrow ROM:140C 000 jc ROM_1416 ; Jump if Carry is set ROM:140C ROM:140E 000 clr A ; Clear Operand (0) ROM:140F 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:1411 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1412 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:1414 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1415 000 ret ; Return from subroutine ROM:1415 ROM:1416 ; --------------------------------------------------------------------------- ROM:1416 ROM:1416 ROM_1416: ; CODE XREF: ROM_13C3+49j ROM:1416 000 setb C ; Set Direct Bit ROM:1417 000 ret ; Return from subroutine ROM:1417 ROM:1418 ; --------------------------------------------------------------------------- ROM:1418 ROM:1418 ROM_1418: ; CODE XREF: ROM_13C3+1Bj ROM:1418 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:141A 000 lcall ROM_32F3 ; Long Subroutine Call ROM:141A ROM:141D 000 jc ROM_1420 ; Jump if Carry is set ROM:141D ROM:141F 000 ret ; Return from subroutine ROM:141F ROM:1420 ; --------------------------------------------------------------------------- ROM:1420 ROM:1420 ROM_1420: ; CODE XREF: ROM_13C3+5Aj ROM:1420 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1423 000 movx A, @DPTR ; Move from/to external RAM ROM:1424 000 jb ACC.0, ROM_142E ; Accumulator ROM:1424 ROM:1427 000 movx A, @DPTR ; Move from/to external RAM ROM:1428 000 jb ACC.1, ROM_142E ; Accumulator ROM:1428 ROM:142B 000 jnb RAM_20.5, ROM_1430 ; Jump if Bit is clear ROM:142B ROM:142E ROM:142E ROM_142E: ; CODE XREF: ROM_13C3+61j ROM:142E ; ROM_13C3+65j ROM:142E 000 setb C ; Set Direct Bit ROM:142F 000 ret ; Return from subroutine ROM:142F ROM:1430 ; --------------------------------------------------------------------------- ROM:1430 ROM:1430 ROM_1430: ; CODE XREF: ROM_13C3+68j ROM:1430 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:1432 000 lcall ROM_34D1 ; Long Subroutine Call ROM:1432 ROM:1435 000 clr A ; Clear Operand (0) ROM:1436 000 mov R5, A ; Move (Op1 <- Op2) ROM:1437 000 lcall ROM_153D ; Long Subroutine Call ROM:1437 ROM:143A 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:143C 000 inc @R0 ; Increment Operand ROM:143D 000 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:143F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1440 000 rrc A ; Rotate Acc right through Carry ROM:1441 000 rrc A ; Rotate Acc right through Carry ROM:1442 000 anl A, #3Fh ; Logical AND (op1 &= op2) ROM:1444 000 jnb ACC.0, ROM_1450 ; Accumulator ROM:1444 ROM:1447 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:1449 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:144A 000 clr C ; Clear Operand (0) ROM:144B 000 subb A, #4 ; Subtract Second Operand from Acc with Borrow ROM:144D 000 jnc ROM_1459 ; Jump if Carry is clear ROM:144D ROM:144F 000 ret ; Return from subroutine ROM:144F ROM:1450 ; --------------------------------------------------------------------------- ROM:1450 ROM:1450 ROM_1450: ; CODE XREF: ROM_13C3+81j ROM:1450 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:1452 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1453 000 clr C ; Clear Operand (0) ROM:1454 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:1456 000 jnc ROM_1459 ; Jump if Carry is clear ROM:1456 ROM:1458 000 ret ; Return from subroutine ROM:1458 ROM:1459 ; --------------------------------------------------------------------------- ROM:1459 ROM:1459 ROM_1459: ; CODE XREF: ROM_13C3+8Aj ROM:1459 ; ROM_13C3+93j ROM:1459 000 clr A ; Clear Operand (0) ROM:145A 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:145C 000 mov @R0, A ; Move (Op1 <- Op2) ROM:145D 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:145F 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1460 000 clr C ; Clear Operand (0) ROM:1461 000 ret ; Return from subroutine ROM:1461 ROM:1461 ; End of function ROM_13C3 ROM:1461 ROM:1462 ROM:1462 ; =============== S U B R O U T I N E ======================================= ROM:1462 ROM:1462 ROM:1462 ROM_1462: ; CODE XREF: ROM_133C+17p ROM:1462 ; ROM:ROM_2026p ... ROM:1462 000 mov DPTR, #629h ; Move (Op1 <- Op2) ROM:1465 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1466 000 movx @DPTR, A ; Move from/to external RAM ROM:1467 000 inc DPTR ; Increment Operand ROM:1468 000 mov A, #8 ; Move (Op1 <- Op2) ROM:146A 000 movx @DPTR, A ; Move from/to external RAM ROM:146B 000 inc DPTR ; Increment Operand ROM:146C 000 clr A ; Clear Operand (0) ROM:146D 000 movx @DPTR, A ; Move from/to external RAM ROM:146D ROM:146E ROM:146E ROM_146E: ; CODE XREF: ROM_1462:ROM_1495j ROM:146E 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1471 000 movx A, @DPTR ; Move from/to external RAM ROM:1472 000 jnb ACC.1, ROM_1477 ; Accumulator ROM:1472 ROM:1475 000 sjmp ROM_14B8 ; Short jump ROM:1475 ROM:1477 ; --------------------------------------------------------------------------- ROM:1477 ROM:1477 ROM_1477: ; CODE XREF: ROM_1462+10j ROM:1477 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:147A 000 movx A, @DPTR ; Move from/to external RAM ROM:147B 000 jb ACC.1, ROM_1482 ; Accumulator ROM:147B ROM:147E 000 movx A, @DPTR ; Move from/to external RAM ROM:147F 000 jnb ACC.0, ROM_1497 ; Accumulator ROM:147F ROM:1482 ROM:1482 ROM_1482: ; CODE XREF: ROM_1462+19j ROM:1482 000 mov DPTR, #62Bh ; Move (Op1 <- Op2) ROM:1485 000 movx A, @DPTR ; Move from/to external RAM ROM:1486 000 add A, #0FFh ; Add Second Operand to Acc ROM:1488 000 movx @DPTR, A ; Move from/to external RAM ROM:1489 000 mov DPTR, #62Ah ; Move (Op1 <- Op2) ROM:148C 000 movx A, @DPTR ; Move from/to external RAM ROM:148D 000 addc A, #0FFh ; Add Second Operand to Acc with carry ROM:148F 000 movx @DPTR, A ; Move from/to external RAM ROM:1490 000 movx A, @DPTR ; Move from/to external RAM ROM:1491 000 jnz ROM_1495 ; Jump if Acc is not zero ROM:1491 ROM:1493 000 inc DPTR ; Increment Operand ROM:1494 000 movx A, @DPTR ; Move from/to external RAM ROM:1494 ROM:1495 ROM:1495 ROM_1495: ; CODE XREF: ROM_1462+2Fj ROM:1495 000 jnz ROM_146E ; Jump if Acc is not zero ROM:1495 ROM:1497 ROM:1497 ROM_1497: ; CODE XREF: ROM_1462+1Dj ROM:1497 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:149A 000 movx A, @DPTR ; Move from/to external RAM ROM:149B 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:149D 000 movx @DPTR, A ; Move from/to external RAM ROM:149E 000 movx A, @DPTR ; Move from/to external RAM ROM:149F 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:14A1 000 movx @DPTR, A ; Move from/to external RAM ROM:14A2 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register ROM:14A5 000 movx A, @DPTR ; Move from/to external RAM ROM:14A6 000 jnb RAM_20.0, ROM_14AE ; Jump if Bit is clear ROM:14A6 ROM:14A9 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:14AB 000 movx @DPTR, A ; Move from/to external RAM ROM:14AC 000 sjmp ROM_14B1 ; Short jump ROM:14AC ROM:14AE ; --------------------------------------------------------------------------- ROM:14AE ROM:14AE ROM_14AE: ; CODE XREF: ROM_1462+44j ROM:14AE 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:14B0 000 movx @DPTR, A ; Move from/to external RAM ROM:14B0 ROM:14B1 ROM:14B1 ROM_14B1: ; CODE XREF: ROM_1462+4Aj ROM:14B1 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:14B4 000 movx A, @DPTR ; Move from/to external RAM ROM:14B5 000 jnb ACC.1, ROM_14C3 ; Accumulator ROM:14B5 ROM:14B8 ROM:14B8 ROM_14B8: ; CODE XREF: ROM_1462+13j ROM:14B8 000 mov DPTR, #629h ; Move (Op1 <- Op2) ROM:14BB 000 movx A, @DPTR ; Move from/to external RAM ROM:14BC 000 mov R7, A ; Move (Op1 <- Op2) ROM:14BD 000 lcall ROM_14EE ; Long Subroutine Call ROM:14BD ROM:14C0 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:14C2 000 ret ; Return from subroutine ROM:14C2 ROM:14C3 ; --------------------------------------------------------------------------- ROM:14C3 ROM:14C3 ROM_14C3: ; CODE XREF: ROM_1462+53j ROM:14C3 000 mov DPTR, #629h ; Move (Op1 <- Op2) ROM:14C6 000 movx A, @DPTR ; Move from/to external RAM ROM:14C7 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register ROM:14CA 000 movx @DPTR, A ; Move from/to external RAM ROM:14CB 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:14CD 000 ret ; Return from subroutine ROM:14CD ROM:14CD ; End of function ROM_1462 ROM:14CD ROM:14CE ROM:14CE ; =============== S U B R O U T I N E ======================================= ROM:14CE ROM:14CE ROM:14CE ROM_14CE: ; CODE XREF: ROM_176E+47p ROM:14CE ; ROM:ROM_1C88j ... ROM:14CE 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:14D1 000 movx A, @DPTR ; Move from/to external RAM ROM:14D2 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:14D4 000 movx @DPTR, A ; Move from/to external RAM ROM:14D5 000 movx A, @DPTR ; Move from/to external RAM ROM:14D6 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:14D8 000 movx @DPTR, A ; Move from/to external RAM ROM:14D9 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register ROM:14DC 000 movx A, @DPTR ; Move from/to external RAM ROM:14DD 000 jnb RAM_20.0, ROM_14E5 ; Jump if Bit is clear ROM:14DD ROM:14E0 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:14E2 000 movx @DPTR, A ; Move from/to external RAM ROM:14E3 000 sjmp ROM_14E8 ; Short jump ROM:14E3 ROM:14E5 ; --------------------------------------------------------------------------- ROM:14E5 ROM:14E5 ROM_14E5: ; CODE XREF: ROM_14CE+Fj ROM:14E5 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:14E7 000 movx @DPTR, A ; Move from/to external RAM ROM:14E7 ROM:14E8 ROM:14E8 ROM_14E8: ; CODE XREF: ROM_14CE+15j ROM:14E8 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register ROM:14EB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:14EC 000 movx @DPTR, A ; Move from/to external RAM ROM:14ED 000 ret ; Return from subroutine ROM:14ED ROM:14ED ; End of function ROM_14CE ROM:14ED ROM:14EE ROM:14EE ; =============== S U B R O U T I N E ======================================= ROM:14EE ROM:14EE ROM:14EE ROM_14EE: ; CODE XREF: ROM_1462+5Bp ROM:14EE ; ROM_2631+D6p ... ROM:14EE 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:14F1 000 movx A, @DPTR ; Move from/to external RAM ROM:14F2 000 setb C ; Set Direct Bit ROM:14F3 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:14F5 000 jnc ROM_1511 ; Jump if Carry is clear ROM:14F5 ROM:14F7 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:14FA 000 movx A, @DPTR ; Move from/to external RAM ROM:14FB 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:14FD 000 add A, #70h ; 'p' ; Add Second Operand to Acc ROM:14FF 000 mov DP0L, A ; Data Pointer Low Byte ROM:1501 000 clr A ; Clear Operand (0) ROM:1502 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1504 000 mov DP0H, A ; Data Pointer High Byte ROM:1506 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1507 000 movx @DPTR, A ; Move from/to external RAM ROM:1508 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:150B 000 movx A, @DPTR ; Move from/to external RAM ROM:150C 000 inc A ; Increment Operand ROM:150D 000 movx @DPTR, A ; Move from/to external RAM ROM:150E 000 lcall set_timer_1_yet ; Long Subroutine Call ROM:150E ROM:1511 ROM:1511 ROM_1511: ; CODE XREF: ROM_14EE+7j ROM:1511 000 ret ; Return from subroutine ROM:1511 ROM:1511 ; End of function ROM_14EE ROM:1511 ROM:1512 ROM:1512 ; =============== S U B R O U T I N E ======================================= ROM:1512 ROM:1512 ROM:1512 ROM_1512: ; CODE XREF: ROM_133C+14p ROM:1512 000 mov DPTR, #7Dh ; '}' ; Move (Op1 <- Op2) ROM:1515 000 movx A, @DPTR ; Move from/to external RAM ROM:1516 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:1518 000 add A, #70h ; 'p' ; Add Second Operand to Acc ROM:151A 000 mov DP0L, A ; Data Pointer Low Byte ROM:151C 000 clr A ; Clear Operand (0) ROM:151D 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:151F 000 mov DP0H, A ; Data Pointer High Byte ROM:1521 000 movx A, @DPTR ; Move from/to external RAM ROM:1522 000 mov R7, A ; Move (Op1 <- Op2) ROM:1523 000 mov DPTR, #7Dh ; '}' ; Move (Op1 <- Op2) ROM:1526 000 movx A, @DPTR ; Move from/to external RAM ROM:1527 000 inc A ; Increment Operand ROM:1528 000 movx @DPTR, A ; Move from/to external RAM ROM:1529 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:152C 000 movx A, @DPTR ; Move from/to external RAM ROM:152D 000 mov R6, A ; Move (Op1 <- Op2) ROM:152E 000 mov DPTR, #7Dh ; '}' ; Move (Op1 <- Op2) ROM:1531 000 movx A, @DPTR ; Move from/to external RAM ROM:1532 000 clr C ; Clear Operand (0) ROM:1533 000 subb A, R6 ; Subtract Second Operand from Acc with Borrow ROM:1534 000 jc ROM_153C ; Jump if Carry is set ROM:1534 ROM:1536 000 clr A ; Clear Operand (0) ROM:1537 000 movx @DPTR, A ; Move from/to external RAM ROM:1538 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:153B 000 movx @DPTR, A ; Move from/to external RAM ROM:153B ROM:153C ROM:153C ROM_153C: ; CODE XREF: ROM_1512+22j ROM:153C 000 ret ; Return from subroutine ROM:153C ROM:153C ; End of function ROM_1512 ROM:153C ROM:153D ROM:153D ; =============== S U B R O U T I N E ======================================= ROM:153D ROM:153D ROM:153D ROM_153D: ; CODE XREF: ROM_133C+35p ROM:153D ; ROM_13C3+3Cp ... ROM:153D 000 mov DPTR, #62Ch ; Move (Op1 <- Op2) ROM:1540 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1541 000 movx @DPTR, A ; Move from/to external RAM ROM:1542 000 inc DPTR ; Increment Operand ROM:1543 000 mov A, R5 ; Move (Op1 <- Op2) ROM:1544 000 movx @DPTR, A ; Move from/to external RAM ROM:1545 000 inc DPTR ; Increment Operand ROM:1546 000 mov A, #8 ; Move (Op1 <- Op2) ROM:1548 000 movx @DPTR, A ; Move from/to external RAM ROM:1549 000 inc DPTR ; Increment Operand ROM:154A 000 clr A ; Clear Operand (0) ROM:154B 000 movx @DPTR, A ; Move from/to external RAM ROM:154B ROM:154C ROM:154C ROM_154C: ; CODE XREF: ROM_153D:ROM_1573j ROM:154C 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:154F 000 movx A, @DPTR ; Move from/to external RAM ROM:1550 000 jnb ACC.1, ROM_1555 ; Accumulator ROM:1550 ROM:1553 000 sjmp ROM_157C ; Short jump ROM:1553 ROM:1555 ; --------------------------------------------------------------------------- ROM:1555 ROM:1555 ROM_1555: ; CODE XREF: ROM_153D+13j ROM:1555 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1558 000 movx A, @DPTR ; Move from/to external RAM ROM:1559 000 jb ACC.1, ROM_1560 ; Accumulator ROM:1559 ROM:155C 000 movx A, @DPTR ; Move from/to external RAM ROM:155D 000 jnb ACC.0, ROM_1575 ; Accumulator ROM:155D ROM:1560 ROM:1560 ROM_1560: ; CODE XREF: ROM_153D+1Cj ROM:1560 000 mov DPTR, #62Fh ; Move (Op1 <- Op2) ROM:1563 000 movx A, @DPTR ; Move from/to external RAM ROM:1564 000 add A, #0FFh ; Add Second Operand to Acc ROM:1566 000 movx @DPTR, A ; Move from/to external RAM ROM:1567 000 mov DPTR, #62Eh ; Move (Op1 <- Op2) ROM:156A 000 movx A, @DPTR ; Move from/to external RAM ROM:156B 000 addc A, #0FFh ; Add Second Operand to Acc with carry ROM:156D 000 movx @DPTR, A ; Move from/to external RAM ROM:156E 000 movx A, @DPTR ; Move from/to external RAM ROM:156F 000 jnz ROM_1573 ; Jump if Acc is not zero ROM:156F ROM:1571 000 inc DPTR ; Increment Operand ROM:1572 000 movx A, @DPTR ; Move from/to external RAM ROM:1572 ROM:1573 ROM:1573 ROM_1573: ; CODE XREF: ROM_153D+32j ROM:1573 000 jnz ROM_154C ; Jump if Acc is not zero ROM:1573 ROM:1575 ROM:1575 ROM_1575: ; CODE XREF: ROM_153D+20j ROM:1575 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1578 000 movx A, @DPTR ; Move from/to external RAM ROM:1579 000 jnb ACC.0, ROM_158E ; Accumulator ROM:1579 ROM:157C ROM:157C ROM_157C: ; CODE XREF: ROM_153D+16j ROM:157C 000 mov DPTR, #62Ch ; Move (Op1 <- Op2) ROM:157F 000 movx A, @DPTR ; Move from/to external RAM ROM:1580 000 mov R7, A ; Move (Op1 <- Op2) ROM:1581 000 inc DPTR ; Increment Operand ROM:1582 000 movx A, @DPTR ; Move from/to external RAM ROM:1583 000 mov R5, A ; Move (Op1 <- Op2) ROM:1584 000 lcall ROM_1641 ; Long Subroutine Call ROM:1584 ROM:1587 000 mov DPTR, #62Ch ; Move (Op1 <- Op2) ROM:158A 000 movx A, @DPTR ; Move from/to external RAM ROM:158B 000 cpl A ; Complement Operand ROM:158C 000 mov R7, A ; Move (Op1 <- Op2) ROM:158D 000 ret ; Return from subroutine ROM:158D ROM:158E ; --------------------------------------------------------------------------- ROM:158E ROM:158E ROM_158E: ; CODE XREF: ROM_153D+3Cj ROM:158E 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1591 000 movx A, @DPTR ; Move from/to external RAM ROM:1592 000 jnb RAM_20.2, ROM_159A ; Jump if Bit is clear ROM:1592 ROM:1595 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:1597 000 movx @DPTR, A ; Move from/to external RAM ROM:1598 000 sjmp ROM_159D ; Short jump ROM:1598 ROM:159A ; --------------------------------------------------------------------------- ROM:159A ROM:159A ROM_159A: ; CODE XREF: ROM_153D+55j ROM:159A 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:159C 000 movx @DPTR, A ; Move from/to external RAM ROM:159C ROM:159D ROM:159D ROM_159D: ; CODE XREF: ROM_153D+5Bj ROM:159D 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:159F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:15A0 000 swap A ; Swap nibbles of Acc ROM:15A1 000 rrc A ; Rotate Acc right through Carry ROM:15A2 000 rrc A ; Rotate Acc right through Carry ROM:15A3 000 rrc A ; Rotate Acc right through Carry ROM:15A4 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:15A6 000 jnb ACC.0, ROM_15C4 ; Accumulator ROM:15A6 ROM:15A9 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:15AC 000 movx A, @DPTR ; Move from/to external RAM ROM:15AD 000 anl A, #3Bh ; Logical AND (op1 &= op2) ROM:15AF 000 movx @DPTR, A ; Move from/to external RAM ROM:15B0 000 push DP0H ; Data Pointer High Byte ROM:15B2 001 push DP0L ; Data Pointer Low Byte ROM:15B4 002 movx A, @DPTR ; Move from/to external RAM ROM:15B5 002 mov R7, A ; Move (Op1 <- Op2) ROM:15B6 002 mov DPTR, #62Dh ; Move (Op1 <- Op2) ROM:15B9 002 movx A, @DPTR ; Move from/to external RAM ROM:15BA 002 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:15BC 002 mov R6, A ; Move (Op1 <- Op2) ROM:15BD 002 mov A, R7 ; Move (Op1 <- Op2) ROM:15BE 002 orl A, R6 ; Logical OR (op1 |= op2) ROM:15BF 002 pop DP0L ; Data Pointer Low Byte ROM:15C1 001 pop DP0H ; Data Pointer High Byte ROM:15C3 000 movx @DPTR, A ; Move from/to external RAM ROM:15C3 ROM:15C4 ROM:15C4 ROM_15C4: ; CODE XREF: ROM_153D+69j ROM:15C4 000 mov DPTR, #503h ; Move (Op1 <- Op2) ROM:15C7 000 movx A, @DPTR ; Move from/to external RAM ROM:15C8 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:15CB 000 jb ACC.3, ROM_15DC ; Accumulator ROM:15CB ROM:15CE 000 movx A, @DPTR ; Move from/to external RAM ROM:15CF 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:15D1 000 movx @DPTR, A ; Move from/to external RAM ROM:15D2 000 movx A, @DPTR ; Move from/to external RAM ROM:15D3 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:15D5 000 movx @DPTR, A ; Move from/to external RAM ROM:15D6 000 movx A, @DPTR ; Move from/to external RAM ROM:15D7 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:15D9 000 movx @DPTR, A ; Move from/to external RAM ROM:15DA 000 sjmp ROM_15E4 ; Short jump ROM:15DA ROM:15DC ; --------------------------------------------------------------------------- ROM:15DC ROM:15DC ROM_15DC: ; CODE XREF: ROM_153D+8Ej ROM:15DC 000 movx A, @DPTR ; Move from/to external RAM ROM:15DD 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:15DF 000 movx @DPTR, A ; Move from/to external RAM ROM:15E0 000 movx A, @DPTR ; Move from/to external RAM ROM:15E1 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:15E3 000 movx @DPTR, A ; Move from/to external RAM ROM:15E3 ROM:15E4 ROM:15E4 ROM_15E4: ; CODE XREF: ROM_153D+9Dj ROM:15E4 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register ROM:15E7 000 movx A, @DPTR ; Move from/to external RAM ROM:15E8 000 jnb RAM_20.1, ROM_15F0 ; Jump if Bit is clear ROM:15E8 ROM:15EB 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:15ED 000 movx @DPTR, A ; Move from/to external RAM ROM:15EE 000 sjmp ROM_15F3 ; Short jump ROM:15EE ROM:15F0 ; --------------------------------------------------------------------------- ROM:15F0 ROM:15F0 ROM_15F0: ; CODE XREF: ROM_153D+ABj ROM:15F0 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:15F2 000 movx @DPTR, A ; Move from/to external RAM ROM:15F2 ROM:15F3 ROM:15F3 ROM_15F3: ; CODE XREF: ROM_153D+B1j ROM:15F3 000 mov DPTR, #62Ch ; Move (Op1 <- Op2) ROM:15F6 000 movx A, @DPTR ; Move from/to external RAM ROM:15F7 000 mov R7, A ; Move (Op1 <- Op2) ROM:15F8 000 mov DPTR, #KBC_KBHIMDOR ; KBC Host Interface Mouse Data Output Register ROM:15FB 000 movx @DPTR, A ; Move from/to external RAM ROM:15FC 000 ret ; Return from subroutine ROM:15FC ROM:15FC ; End of function ROM_153D ROM:15FC ROM:15FD ROM:15FD ; =============== S U B R O U T I N E ======================================= ROM:15FD ROM:15FD ROM:15FD ROM_15FD: ; CODE XREF: ROM_1FF7+1Bj ROM:15FD ; ROM_2109:ROM_2125j ... ROM:15FD 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1600 000 movx A, @DPTR ; Move from/to external RAM ROM:1601 000 jnb RAM_20.2, ROM_1609 ; Jump if Bit is clear ROM:1601 ROM:1604 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:1606 000 movx @DPTR, A ; Move from/to external RAM ROM:1607 000 sjmp ROM_160C ; Short jump ROM:1607 ROM:1609 ; --------------------------------------------------------------------------- ROM:1609 ROM:1609 ROM_1609: ; CODE XREF: ROM_15FD+4j ROM:1609 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:160B 000 movx @DPTR, A ; Move from/to external RAM ROM:160B ROM:160C ROM:160C ROM_160C: ; CODE XREF: ROM_15FD+Aj ROM:160C 000 mov DPTR, #503h ; Move (Op1 <- Op2) ROM:160F 000 movx A, @DPTR ; Move from/to external RAM ROM:1610 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1613 000 jb ACC.3, ROM_1624 ; Accumulator ROM:1613 ROM:1616 000 movx A, @DPTR ; Move from/to external RAM ROM:1617 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:1619 000 movx @DPTR, A ; Move from/to external RAM ROM:161A 000 movx A, @DPTR ; Move from/to external RAM ROM:161B 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:161D 000 movx @DPTR, A ; Move from/to external RAM ROM:161E 000 movx A, @DPTR ; Move from/to external RAM ROM:161F 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:1621 000 movx @DPTR, A ; Move from/to external RAM ROM:1622 000 sjmp ROM_162C ; Short jump ROM:1622 ROM:1624 ; --------------------------------------------------------------------------- ROM:1624 ROM:1624 ROM_1624: ; CODE XREF: ROM_15FD+16j ROM:1624 000 movx A, @DPTR ; Move from/to external RAM ROM:1625 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:1627 000 movx @DPTR, A ; Move from/to external RAM ROM:1628 000 movx A, @DPTR ; Move from/to external RAM ROM:1629 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:162B 000 movx @DPTR, A ; Move from/to external RAM ROM:162B ROM:162C ROM:162C ROM_162C: ; CODE XREF: ROM_15FD+25j ROM:162C 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register ROM:162F 000 movx A, @DPTR ; Move from/to external RAM ROM:1630 000 jnb RAM_20.1, ROM_1638 ; Jump if Bit is clear ROM:1630 ROM:1633 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:1635 000 movx @DPTR, A ; Move from/to external RAM ROM:1636 000 sjmp ROM_163B ; Short jump ROM:1636 ROM:1638 ; --------------------------------------------------------------------------- ROM:1638 ROM:1638 ROM_1638: ; CODE XREF: ROM_15FD+33j ROM:1638 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:163A 000 movx @DPTR, A ; Move from/to external RAM ROM:163A ROM:163B ROM:163B ROM_163B: ; CODE XREF: ROM_15FD+39j ROM:163B 000 mov DPTR, #KBC_KBHIMDOR ; KBC Host Interface Mouse Data Output Register ROM:163E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:163F 000 movx @DPTR, A ; Move from/to external RAM ROM:1640 000 ret ; Return from subroutine ROM:1640 ROM:1640 ; End of function ROM_15FD ROM:1640 ROM:1641 ROM:1641 ; =============== S U B R O U T I N E ======================================= ROM:1641 ROM:1641 ROM:1641 ROM_1641: ; CODE XREF: ROM_153D+47p ROM:1641 ; ROM_1D46+141p ... ROM:1641 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:1644 000 movx A, @DPTR ; Move from/to external RAM ROM:1645 000 setb C ; Set Direct Bit ROM:1646 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:1648 000 jnc ROM_1678 ; Jump if Carry is clear ROM:1648 ROM:164A 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:164D 000 movx A, @DPTR ; Move from/to external RAM ROM:164E 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:1650 000 add A, #74h ; 't' ; Add Second Operand to Acc ROM:1652 000 mov DP0L, A ; Data Pointer Low Byte ROM:1654 000 clr A ; Clear Operand (0) ROM:1655 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1657 000 mov DP0H, A ; Data Pointer High Byte ROM:1659 000 mov A, R7 ; Move (Op1 <- Op2) ROM:165A 000 movx @DPTR, A ; Move from/to external RAM ROM:165B 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:165E 000 movx A, @DPTR ; Move from/to external RAM ROM:165F 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:1661 000 add A, #78h ; 'x' ; Add Second Operand to Acc ROM:1663 000 mov DP0L, A ; Data Pointer Low Byte ROM:1665 000 clr A ; Clear Operand (0) ROM:1666 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1668 000 mov DP0H, A ; Data Pointer High Byte ROM:166A 000 mov A, R5 ; Move (Op1 <- Op2) ROM:166B 000 movx @DPTR, A ; Move from/to external RAM ROM:166C 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:166F 000 movx A, @DPTR ; Move from/to external RAM ROM:1670 000 inc A ; Increment Operand ROM:1671 000 movx @DPTR, A ; Move from/to external RAM ROM:1672 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:1674 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1675 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:1677 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1677 ROM:1678 ROM:1678 ROM_1678: ; CODE XREF: ROM_1641+7j ROM:1678 000 ret ; Return from subroutine ROM:1678 ROM:1678 ; End of function ROM_1641 ROM:1678 ROM:1679 ROM:1679 ; =============== S U B R O U T I N E ======================================= ROM:1679 ROM:1679 ROM:1679 ROM_1679: ; CODE XREF: ROM_133C+2Dp ROM:1679 000 mov DPTR, #7Fh ; '' ; Move (Op1 <- Op2) ROM:167C 000 movx A, @DPTR ; Move from/to external RAM ROM:167D 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:167F 000 add A, #74h ; 't' ; Add Second Operand to Acc ROM:1681 000 mov DP0L, A ; Data Pointer Low Byte ROM:1683 000 clr A ; Clear Operand (0) ROM:1684 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1686 000 mov DP0H, A ; Data Pointer High Byte ROM:1688 000 movx A, @DPTR ; Move from/to external RAM ROM:1689 000 mov R7, A ; Move (Op1 <- Op2) ROM:168A 000 mov DPTR, #7Fh ; '' ; Move (Op1 <- Op2) ROM:168D 000 movx A, @DPTR ; Move from/to external RAM ROM:168E 000 inc A ; Increment Operand ROM:168F 000 movx @DPTR, A ; Move from/to external RAM ROM:168F ROM:168F ; End of function ROM_1679 ROM:168F ROM:1690 ROM:1690 ; =============== S U B R O U T I N E ======================================= ROM:1690 ROM:1690 ROM:1690 ROM_1690: ; CODE XREF: ROM_1311+1p ROM:1690 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:1693 000 movx A, @DPTR ; Move from/to external RAM ROM:1694 000 mov R6, A ; Move (Op1 <- Op2) ROM:1695 000 mov DPTR, #7Fh ; '' ; Move (Op1 <- Op2) ROM:1698 000 movx A, @DPTR ; Move from/to external RAM ROM:1699 000 clr C ; Clear Operand (0) ROM:169A 000 subb A, R6 ; Subtract Second Operand from Acc with Borrow ROM:169B 000 jc ROM_16A3 ; Jump if Carry is set ROM:169B ROM:169D 000 clr A ; Clear Operand (0) ROM:169E 000 movx @DPTR, A ; Move from/to external RAM ROM:169F 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:16A2 000 movx @DPTR, A ; Move from/to external RAM ROM:16A2 ROM:16A3 ROM:16A3 ROM_16A3: ; CODE XREF: ROM_1690+Bj ROM:16A3 000 ret ; Return from subroutine ROM:16A3 ROM:16A3 ; End of function ROM_1690 ROM:16A3 ROM:16A4 ROM:16A4 ; =============== S U B R O U T I N E ======================================= ROM:16A4 ROM:16A4 ROM:16A4 ROM_16A4: ; CODE XREF: ROM_133C+25p ROM:16A4 000 mov DPTR, #7Fh ; '' ; Move (Op1 <- Op2) ROM:16A7 000 movx A, @DPTR ; Move from/to external RAM ROM:16A8 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:16AA 000 add A, #78h ; 'x' ; Add Second Operand to Acc ROM:16AC 000 mov DP0L, A ; Data Pointer Low Byte ROM:16AE 000 clr A ; Clear Operand (0) ROM:16AF 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:16B1 000 mov DP0H, A ; Data Pointer High Byte ROM:16B3 000 movx A, @DPTR ; Move from/to external RAM ROM:16B4 000 mov R7, A ; Move (Op1 <- Op2) ROM:16B5 000 ret ; Return from subroutine ROM:16B5 ROM:16B5 ; End of function ROM_16A4 ROM:16B5 ROM:16B6 ROM:16B6 ; =============== S U B R O U T I N E ======================================= ROM:16B6 ROM:16B6 ROM:16B6 ROM_16B6: ; CODE XREF: ROM_7151+128p ROM:16B6 000 mov DPTR, #EC2I_LSIOHA ; Lock Super I/O Host Access ROM:16B9 000 movx A, @DPTR ; Move from/to external RAM ROM:16BA 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:16BC 000 movx @DPTR, A ; Move from/to external RAM ROM:16BD 000 mov DPTR, #EC2I_IBMAE ; EC to I-Bus Modules Access Enable ROM:16C0 000 movx A, @DPTR ; Move from/to external RAM ROM:16C1 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:16C3 000 movx @DPTR, A ; Move from/to external RAM ROM:16C4 000 inc DPTR ; Increment Operand ROM:16C5 000 movx A, @DPTR ; Move from/to external RAM ROM:16C6 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:16C8 000 movx @DPTR, A ; Move from/to external RAM ROM:16C9 000 clr A ; Clear Operand (0) ROM:16CA 000 mov R7, A ; Move (Op1 <- Op2) ROM:16CB 000 mov R4, #17h ; Move (Op1 <- Op2) ROM:16CD 000 mov R5, #0F8h ; '°' ; Move (Op1 <- Op2) ROM:16CD ROM:16CF ROM:16CF ROM_16CF: ; CODE XREF: ROM_16B6+9Dj ROM:16CF 000 mov DPTR, #EC2I_IHIOA ; Indirect Host I/O Address ROM:16D2 000 clr A ; Clear Operand (0) ROM:16D3 000 movx @DPTR, A ; Move from/to external RAM ROM:16D4 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:16D6 000 mov DP0H, R4 ; Data Pointer High Byte ROM:16D8 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:16D9 000 mov DPTR, #EC2I_IHD ; Indirect Host Data ROM:16DC 000 movx @DPTR, A ; Move from/to external RAM ROM:16DD 000 clr A ; Clear Operand (0) ROM:16DE 000 mov DPTR, #630h ; Move (Op1 <- Op2) ROM:16E1 000 movx @DPTR, A ; Move from/to external RAM ROM:16E2 000 inc DPTR ; Increment Operand ROM:16E3 000 movx @DPTR, A ; Move from/to external RAM ROM:16E3 ROM:16E4 ROM:16E4 ROM_16E4: ; CODE XREF: ROM_16B6:ROM_1706j ROM:16E4 000 mov DPTR, #EC2I_IBCTL ; I-Bus Control ROM:16E7 000 movx A, @DPTR ; Move from/to external RAM ROM:16E8 000 jnb ACC.2, ROM_1708 ; Accumulator ROM:16E8 ROM:16EB 000 mov DPTR, #631h ; Move (Op1 <- Op2) ROM:16EE 000 movx A, @DPTR ; Move from/to external RAM ROM:16EF 000 inc A ; Increment Operand ROM:16F0 000 movx @DPTR, A ; Move from/to external RAM ROM:16F1 000 jnz ROM_16F9 ; Jump if Acc is not zero ROM:16F1 ROM:16F3 000 mov DPTR, #630h ; Move (Op1 <- Op2) ROM:16F6 000 movx A, @DPTR ; Move from/to external RAM ROM:16F7 000 inc A ; Increment Operand ROM:16F8 000 movx @DPTR, A ; Move from/to external RAM ROM:16F8 ROM:16F9 ROM:16F9 ROM_16F9: ; CODE XREF: ROM_16B6+3Bj ROM:16F9 000 setb C ; Set Direct Bit ROM:16FA 000 mov DPTR, #631h ; Move (Op1 <- Op2) ROM:16FD 000 movx A, @DPTR ; Move from/to external RAM ROM:16FE 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:1700 000 mov DPTR, #630h ; Move (Op1 <- Op2) ROM:1703 000 movx A, @DPTR ; Move from/to external RAM ROM:1704 000 subb A, #1 ; Subtract Second Operand from Acc with Borrow ROM:1704 ROM:1706 ROM:1706 ROM_1706: ; CODE XREF: ROM:3826j ROM:1706 000 jc ROM_16E4 ; Jump if Carry is set ROM:1706 ROM:1708 ROM:1708 ROM_1708: ; CODE XREF: ROM_16B6+32j ROM:1708 000 inc R5 ; Increment Operand ROM:1709 000 cjne R5, #0, ROM_170D ; Compare Operands and JNE ROM:1709 ROM:170C 000 inc R4 ; Increment Operand ROM:170C ROM:170D ROM:170D ROM_170D: ; CODE XREF: ROM_16B6+53j ROM:170D 000 mov DPTR, #EC2I_IHIOA ; Indirect Host I/O Address ROM:1710 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1712 000 movx @DPTR, A ; Move from/to external RAM ROM:1713 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:1715 000 mov DP0H, R4 ; Data Pointer High Byte ROM:1717 000 clr A ; Clear Operand (0) ROM:1718 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1719 000 mov DPTR, #EC2I_IHD ; Indirect Host Data ROM:171C 000 movx @DPTR, A ; Move from/to external RAM ROM:171D 000 clr A ; Clear Operand (0) ROM:171E 000 mov DPTR, #630h ; Move (Op1 <- Op2) ROM:1721 000 movx @DPTR, A ; Move from/to external RAM ROM:1722 000 inc DPTR ; Increment Operand ROM:1723 000 movx @DPTR, A ; Move from/to external RAM ROM:1723 ROM:1724 ROM:1724 ROM_1724: ; CODE XREF: ROM_16B6+90j ROM:1724 000 mov DPTR, #EC2I_IBCTL ; I-Bus Control ROM:1727 000 movx A, @DPTR ; Move from/to external RAM ROM:1728 000 jnb ACC.2, ROM_1748 ; Accumulator ROM:1728 ROM:172B 000 mov DPTR, #631h ; Move (Op1 <- Op2) ROM:172E 000 movx A, @DPTR ; Move from/to external RAM ROM:172F 000 inc A ; Increment Operand ROM:1730 000 movx @DPTR, A ; Move from/to external RAM ROM:1731 000 jnz ROM_1739 ; Jump if Acc is not zero ROM:1731 ROM:1733 000 mov DPTR, #630h ; Move (Op1 <- Op2) ROM:1736 000 movx A, @DPTR ; Move from/to external RAM ROM:1737 000 inc A ; Increment Operand ROM:1738 000 movx @DPTR, A ; Move from/to external RAM ROM:1738 ROM:1739 ROM:1739 ROM_1739: ; CODE XREF: ROM_16B6+7Bj ROM:1739 000 setb C ; Set Direct Bit ROM:173A 000 mov DPTR, #631h ; Move (Op1 <- Op2) ROM:173D 000 movx A, @DPTR ; Move from/to external RAM ROM:173E 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:1740 000 mov DPTR, #630h ; Move (Op1 <- Op2) ROM:1743 000 movx A, @DPTR ; Move from/to external RAM ROM:1744 000 subb A, #1 ; Subtract Second Operand from Acc with Borrow ROM:1746 000 jc ROM_1724 ; Jump if Carry is set ROM:1746 ROM:1748 ROM:1748 ROM_1748: ; CODE XREF: ROM_16B6+72j ROM:1748 000 inc R5 ; Increment Operand ROM:1749 000 cjne R5, #0, ROM_174D ; Compare Operands and JNE ROM:1749 ROM:174C 000 inc R4 ; Increment Operand ROM:174C ROM:174D ROM:174D ROM_174D: ; CODE XREF: ROM_16B6+93j ROM:174D 000 inc R7 ; Increment Operand ROM:174E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:174F 000 xrl A, #17h ; Exclusive OR (op1 ^= op2) ROM:1751 000 jz ROM_1756 ; Jump if Acc is zero ROM:1751 ROM:1753 000 ljmp ROM_16CF ; Long Jump ROM:1753 ROM:1756 ; --------------------------------------------------------------------------- ROM:1756 ROM:1756 ROM_1756: ; CODE XREF: ROM_16B6+9Bj ROM:1756 000 mov DPTR, #EC2I_LSIOHA ; Lock Super I/O Host Access ROM:1759 000 movx A, @DPTR ; Move from/to external RAM ROM:175A 000 anl A, #11111110b ; Logical AND (op1 &= op2) ROM:175C 000 movx @DPTR, A ; Move from/to external RAM ROM:175D 000 mov DPTR, #EC2I_IBMAE ; EC to I-Bus Modules Access Enable ROM:1760 000 movx A, @DPTR ; Move from/to external RAM ROM:1761 000 anl A, #11111110b ; Logical AND (op1 &= op2) ROM:1763 000 movx @DPTR, A ; Move from/to external RAM ROM:1764 000 inc DPTR ; Increment Operand ROM:1765 000 movx A, @DPTR ; Move from/to external RAM ROM:1766 000 anl A, #11111110b ; Logical AND (op1 &= op2) ROM:1768 000 movx @DPTR, A ; Move from/to external RAM ROM:1769 000 ret ; Return from subroutine ROM:1769 ROM:1769 ; End of function ROM_16B6 ROM:1769 ROM:176A ROM:176A ; =============== S U B R O U T I N E ======================================= ROM:176A ROM:176A ROM:176A ROM_176A: ; CODE XREF: ROM_1311+22p ROM:176A 000 lcall ROM_176E ; Long Subroutine Call ROM:176A ROM:176D 000 ret ; Return from subroutine ROM:176D ROM:176D ; End of function ROM_176A ROM:176D ROM:176E ROM:176E ; =============== S U B R O U T I N E ======================================= ROM:176E ROM:176E ROM:176E ROM_176E: ; CODE XREF: ROM_176Ap ROM:176E 000 mov DPTR, #632h ; Move (Op1 <- Op2) ROM:1771 000 mov A, R5 ; Move (Op1 <- Op2) ROM:1772 000 movx @DPTR, A ; Move from/to external RAM ROM:1773 000 clr A ; Clear Operand (0) ROM:1774 000 inc DPTR ; Increment Operand ROM:1775 000 movx @DPTR, A ; Move from/to external RAM ROM:1776 000 jnb RAM_20.6, ROM_177C ; Jump if Bit is clear ROM:1776 ROM:1779 000 jnb RAM_22.2, ROM_1789 ; Jump if Bit is clear ROM:1779 ROM:177C ROM:177C ROM_177C: ; CODE XREF: ROM_176E+8j ROM:177C 000 mov DPTR, #633h ; Move (Op1 <- Op2) ROM:177F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1781 000 movx @DPTR, A ; Move from/to external RAM ROM:1782 000 clr A ; Clear Operand (0) ROM:1783 000 mov DPTR, #632h ; Move (Op1 <- Op2) ROM:1786 000 movx @DPTR, A ; Move from/to external RAM ROM:1787 000 sjmp ROM_17AF ; Short jump ROM:1787 ROM:1789 ; --------------------------------------------------------------------------- ROM:1789 ROM:1789 ROM_1789: ; CODE XREF: ROM_176E+Bj ROM:1789 000 mov DPTR, #632h ; Move (Op1 <- Op2) ROM:178C 000 movx A, @DPTR ; Move from/to external RAM ROM:178D 000 mov R5, A ; Move (Op1 <- Op2) ROM:178E 000 lcall ROM_17BE ; Long Subroutine Call ROM:178E ROM:1791 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1792 000 cjne A, #0FFh, ROM_179D ; Compare Operands and JNE ROM:1792 ROM:1795 000 mov DPTR, #632h ; Move (Op1 <- Op2) ROM:1798 000 mov A, #1 ; Move (Op1 <- Op2) ROM:179A 000 movx @DPTR, A ; Move from/to external RAM ROM:179B 000 sjmp ROM_17AF ; Short jump ROM:179B ROM:179D ; --------------------------------------------------------------------------- ROM:179D ROM:179D ROM_179D: ; CODE XREF: ROM_176E+24j ROM:179D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:179E 000 jnz ROM_17A7 ; Jump if Acc is not zero ROM:179E ROM:17A0 000 mov DPTR, #632h ; Move (Op1 <- Op2) ROM:17A3 000 inc A ; Increment Operand ROM:17A4 000 movx @DPTR, A ; Move from/to external RAM ROM:17A5 000 sjmp ROM_17AF ; Short jump ROM:17A5 ROM:17A7 ; --------------------------------------------------------------------------- ROM:17A7 ROM:17A7 ROM_17A7: ; CODE XREF: ROM_176E+30j ROM:17A7 000 clr A ; Clear Operand (0) ROM:17A8 000 mov DPTR, #632h ; Move (Op1 <- Op2) ROM:17AB 000 movx @DPTR, A ; Move from/to external RAM ROM:17AC 000 inc DPTR ; Increment Operand ROM:17AD 000 inc A ; Increment Operand ROM:17AE 000 movx @DPTR, A ; Move from/to external RAM ROM:17AE ROM:17AF ROM:17AF ROM_17AF: ; CODE XREF: ROM_176E+19j ROM:17AF ; ROM_176E+2Dj ... ROM:17AF 000 mov DPTR, #633h ; Move (Op1 <- Op2) ROM:17B2 000 movx A, @DPTR ; Move from/to external RAM ROM:17B3 000 jz ROM_17B8 ; Jump if Acc is zero ROM:17B3 ROM:17B5 000 lcall ROM_14CE ; Long Subroutine Call ROM:17B5 ROM:17B8 ROM:17B8 ROM_17B8: ; CODE XREF: ROM_176E+45j ROM:17B8 000 mov DPTR, #632h ; Move (Op1 <- Op2) ROM:17BB 000 movx A, @DPTR ; Move from/to external RAM ROM:17BC 000 mov R7, A ; Move (Op1 <- Op2) ROM:17BD 000 ret ; Return from subroutine ROM:17BD ROM:17BD ; End of function ROM_176E ROM:17BD ROM:17BE ROM:17BE ; =============== S U B R O U T I N E ======================================= ROM:17BE ROM:17BE ROM:17BE ROM_17BE: ; CODE XREF: ROM_176E+20p ROM:17BE 000 clr A ; Clear Operand (0) ROM:17BF 000 mov R6, A ; Move (Op1 <- Op2) ROM:17C0 000 mov A, R7 ; Move (Op1 <- Op2) ROM:17C1 000 cjne A, #0F0h, ROM_17C8 ; '=' ; Compare Operands and JNE ROM:17C1 ROM:17C4 000 mov R7, #0FFh ; Move (Op1 <- Op2) ROM:17C6 000 sjmp ROM_17ED ; Short jump ROM:17C6 ROM:17C8 ; --------------------------------------------------------------------------- ROM:17C8 ROM:17C8 ROM_17C8: ; CODE XREF: ROM_17BE+3j ROM:17C8 000 mov A, R7 ; Move (Op1 <- Op2) ROM:17C9 000 jnz ROM_17CE ; Jump if Acc is not zero ROM:17C9 ROM:17CB 000 mov R7, A ; Move (Op1 <- Op2) ROM:17CC 000 sjmp ROM_17ED ; Short jump ROM:17CC ROM:17CE ; --------------------------------------------------------------------------- ROM:17CE ROM:17CE ROM_17CE: ; CODE XREF: ROM_17BE+Bj ROM:17CE 000 mov A, R7 ; Move (Op1 <- Op2) ROM:17CF 000 jb ACC.7, ROM_17DB ; Accumulator ROM:17CF ROM:17D2 000 mov DPTR, #1826h ; Move (Op1 <- Op2) ROM:17D5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:17D6 000 mov R7, A ; Move (Op1 <- Op2) ROM:17D7 000 mov R6, #1 ; Move (Op1 <- Op2) ROM:17D9 000 sjmp ROM_17ED ; Short jump ROM:17D9 ROM:17DB ; --------------------------------------------------------------------------- ROM:17DB ROM:17DB ROM_17DB: ; CODE XREF: ROM_17BE+11j ROM:17DB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:17DC 000 cjne A, #83h, ROM_17E5 ; 'â' ; Compare Operands and JNE ROM:17DC ROM:17DF 000 mov R7, #41h ; 'A' ; Move (Op1 <- Op2) ROM:17E1 000 mov R6, #1 ; Move (Op1 <- Op2) ROM:17E3 000 sjmp ROM_17ED ; Short jump ROM:17E3 ROM:17E5 ; --------------------------------------------------------------------------- ROM:17E5 ROM:17E5 ROM_17E5: ; CODE XREF: ROM_17BE+1Ej ROM:17E5 000 mov A, R7 ; Move (Op1 <- Op2) ROM:17E6 000 cjne A, #84h, ROM_17ED ; 'ä' ; Compare Operands and JNE ROM:17E6 ROM:17E9 000 mov R7, #54h ; 'T' ; Move (Op1 <- Op2) ROM:17EB 000 mov R6, #1 ; Move (Op1 <- Op2) ROM:17EB ROM:17ED ROM:17ED ROM_17ED: ; CODE XREF: ROM_17BE+8j ROM:17ED ; ROM_17BE+Ej ... ROM:17ED 000 mov A, R6 ; Move (Op1 <- Op2) ROM:17EE 000 jz ROM_17F7 ; Jump if Acc is zero ROM:17EE ROM:17F0 000 mov A, R5 ; Move (Op1 <- Op2) ROM:17F1 000 jz ROM_17F7 ; Jump if Acc is zero ROM:17F1 ROM:17F3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:17F4 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:17F6 000 mov R7, A ; Move (Op1 <- Op2) ROM:17F6 ROM:17F7 ROM:17F7 ROM_17F7: ; CODE XREF: ROM_17BE+30j ROM:17F7 ; ROM_17BE+33j ROM:17F7 000 ret ; Return from subroutine ROM:17F7 ROM:17F7 ; End of function ROM_17BE ROM:17F7 ROM:17F8 ; --------------------------------------------------------------------------- ROM:17F8 inc @R1 ; Increment Operand ROM:17F9 inc @R0 ; Increment Operand ROM:17FA jnz ROM_17FC+1 ; Jump if Acc is not zero ROM:17FA ROM:17FC ROM:17FC ROM_17FC: ; CODE XREF: ROM:17FAj ROM:17FC jnb RAM_20.1, ROM_1805+1 ; Jump if Bit is clear ROM:17FC ROM:17FF inc RAM_70 ; Increment Operand ROM:1801 inc R4 ; Increment Operand ROM:1802 jnb RAM_20.1, ROM_180C ; Jump if Bit is clear ROM:1802 ROM:1805 ROM:1805 ROM_1805: ; CODE XREF: ROM:ROM_17FCj ROM:1805 acall ROM_186F+1 ; Absolute Call ROM:1805 ROM:1805 ; --------------------------------------------------------------------------- ROM:1807 ROM_1807: db 0 ; CODE XREF: ROM_181Bj ROM:1808 db 30h ; 0 ROM:1809 db 1 ROM:180A db 7 ROM:180B db 12h ROM:180C ROM_180C: db 70h ; p ; CODE XREF: ROM:1802j ROM:180D db 0 ROM:180E db 30h ; 0 ROM:180F db 1 ROM:1810 db 7 ROM:1811 db 4 ROM:1812 db 30h ; 0 ROM:1813 db 1 ROM:1814 db 7 ROM:1815 db 10h ROM:1816 db 62h ; b ROM:1817 db 6 ROM:1818 db 63h ; c ROM:1819 db 0 ROM:181A db 30h ; 0 ROM:181B ROM:181B ; =============== S U B R O U T I N E ======================================= ROM:181B ROM:181B ; Attributes: thunk ROM:181B ROM:181B ROM_181B: ; CODE XREF: ROM:1BE9p ROM:181B 000 ajmp ROM_1807 ; Absolute Jump ROM:181B ROM:181B ; End of function ROM_181B ROM:181B ROM:181D ; --------------------------------------------------------------------------- ROM:181D inc R7 ; Increment Operand ROM:181E jnb RAM_20.1, ROM_1881 ; Jump if Bit is clear ROM:181E ROM:1821 ljmp ROM_6100 ; Long Jump ROM:1821 ROM:1821 ; --------------------------------------------------------------------------- ROM:1824 db 0F4h, 9, 0, 43h, 41h, 3Fh, 3Dh, 3Bh, 3Ch, 58h, 64h ROM:1824 db 44h, 42h, 40h, 3Eh, 0Fh, 29h, 59h, 65h, 38h, 2Ah, 70h ROM:1824 db 1Dh, 10h, 2, 5Ah, 66h, 71h, 2Ch, 1Fh, 1Eh, 11h, 3 ROM:1845 ROM:1845 ; =============== S U B R O U T I N E ======================================= ROM:1845 ROM:1845 ROM:1845 ROM_1845: ; CODE XREF: ROM:189Cj ROM:1845 000 anl A, R3 ; Logical AND (op1 &= op2) ROM:1846 000 xrl A, @R1 ; Exclusive OR (op1 ^= op2) ROM:1847 000 add A, R6 ; Add Second Operand to Acc ROM:1848 000 add A, R5 ; Add Second Operand to Acc ROM:1849 000 jb RAM_22.2, ROM_1851 ; Jump if Bit is set ROM:1849 ROM:184C 000 inc A ; Increment Operand ROM:184D 000 anl A, R4 ; Logical AND (op1 &= op2) ROM:184E 000 xrl A, R0 ; Exclusive OR (op1 ^= op2) ROM:184F 000 addc A, R1 ; Add Second Operand to Acc with carry ROM:1850 000 add A, R7 ; Add Second Operand to Acc ROM:1850 ROM:1851 ROM:1851 ROM_1851: ; CODE XREF: ROM_1845+4j ROM:1851 000 ajmp ROM_1912+2 ; Absolute Jump ROM:1851 ROM:1851 ; End of function ROM_1845 ROM:1851 ROM:1853 ROM:1853 ; =============== S U B R O U T I N E ======================================= ROM:1853 ROM:1853 ROM:1853 ROM_1853: ROM:1853 000 rrc A ; Rotate Acc right through Carry ROM:1854 000 inc @R0 ; Increment Operand ROM:1855 000 anl A, R5 ; Logical AND (op1 &= op2) ROM:1856 000 xrl A, R1 ; Exclusive OR (op1 ^= op2) ROM:1857 000 acall ROM_1930 ; Absolute Call ROM:1857 ROM:1859 000 rl A ; Rotate Acc left ROM:185A 000 ret ; Return from subroutine ROM:185A ROM:185A ; End of function ROM_1853 ROM:185A ROM:185B ; --------------------------------------------------------------------------- ROM:185B dec RAM_7 ; Decrement Operand ROM:185D anl A, R6 ; Logical AND (op1 &= op2) ROM:185E xrl A, R2 ; Exclusive OR (op1 ^= op2) ROM:185F orl C, RAM_26.2 ; Logical OR (op1 |= op2) ROM:1861 add A, #16h ; Add Second Operand to Acc ROM:1863 inc R0 ; Increment Operand ROM:1864 inc R1 ; Increment Operand ROM:1865 anl A, R7 ; Logical AND (op1 &= op2) ROM:1866 xrl A, R3 ; Exclusive OR (op1 ^= op2) ROM:1867 rlc A ; Rotate Acc left through Carry ROM:1868 add A, RAM_17 ; Add Second Operand to Acc ROM:186A dec R0 ; Decrement Operand ROM:186B inc R3 ; Increment Operand ROM:186C inc R2 ; Increment Operand ROM:186D jz ROM_18DA+1 ; Jump if Acc is zero ROM:186D ROM:186F ROM:186F ROM_186F: ; CODE XREF: ROM:ROM_1805p ROM:186F addc A, #35h ; '5' ; Add Second Operand to Acc with carry ROM:1871 add A, @R0 ; Add Second Operand to Acc ROM:1872 add A, @R1 ; Add Second Operand to Acc ROM:1873 dec R1 ; Decrement Operand ROM:1874 inc R4 ; Increment Operand ROM:1875 ajmp ROM_1B6C+1 ; Absolute Jump ROM:1875 ROM:1877 ; --------------------------------------------------------------------------- ROM:1877 jmp @A+DPTR ; Jump indirect relative to Data Pointer ROM:1877 ROM:1878 ; --------------------------------------------------------------------------- ROM:1878 add A, R0 ; Add Second Operand to Acc ROM:1879 mov A, #1Ah ; Move (Op1 <- Op2) ROM:187B inc R5 ; Increment Operand ROM:187C xrl RAM_6E, A ; Exclusive OR (op1 ^= op2) ROM:187E addc A, R2 ; Add Second Operand to Acc with carry ROM:187F addc A, @R0 ; Add Second Operand to Acc with carry ROM:1880 dec R4 ; Decrement Operand ROM:1880 ROM:1881 ROM:1881 ROM_1881: ; CODE XREF: ROM:181Ej ROM:1881 dec R3 ; Decrement Operand ROM:1882 mov RAM_2B, #63h ; 'c' ; Move (Op1 <- Op2) ROM:1885 mov @R0, #55h ; 'U' ; Move (Op1 <- Op2) ROM:1887 anl A, @R0 ; Logical AND (op1 &= op2) ROM:1888 mov @R1, #78h ; 'x' ; Move (Op1 <- Op2) ROM:188A mov R1, #7Ah ; 'z' ; Move (Op1 <- Op2) ROM:188C inc R6 ; Increment Operand ROM:188D mov R3, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:188F orl A, R7 ; Logical OR (op1 |= op2) ROM:1890 mov R5, #4Bh ; 'K' ; Move (Op1 <- Op2) ROM:1892 orl A, @R1 ; Logical OR (op1 |= op2) ROM:1893 mov R6, #7Fh ; '' ; Move (Op1 <- Op2) ROM:1895 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:1896 anl RAM_53, A ; Logical AND (op1 &= op2) ROM:1898 jnc ROM_18E6 ; Jump if Carry is clear ROM:1898 ROM:189A orl A, R5 ; Logical OR (op1 |= op2) ROM:189B orl A, R0 ; Logical OR (op1 |= op2) ROM:189C ajmp ROM_1845 ; Absolute Jump ROM:189C ROM:189E ; --------------------------------------------------------------------------- ROM:189E anl A, @R1 ; Logical AND (op1 &= op2) ROM:189F orl A, R6 ; Logical OR (op1 |= op2) ROM:18A0 acall ROM_1A4A ; Absolute Call ROM:18A0 ROM:18A2 addc A, @R1 ; Add Second Operand to Acc with carry ROM:18A3 orl A, R1 ; Logical OR (op1 |= op2) ROM:18A4 orl A, @R0 ; Logical OR (op1 |= op2) ROM:18A5 anl A, #12h ; Logical AND (op1 &= op2) ROM:18A7 dec R3 ; Decrement Operand ROM:18A8 addc A, #2 ; Add Second Operand to Acc with carry ROM:18AA dec R3 ; Decrement Operand ROM:18AB anl A, R4 ; Logical AND (op1 &= op2) ROM:18AC lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:18AC ROM:18AF mov RAM_64, #1 ; Move (Op1 <- Op2) ROM:18B2 ret ; Return from subroutine ROM:18B2 ROM:18B3 ; --------------------------------------------------------------------------- ROM:18B3 ROM:18B3 ROM_18B3: ; DATA XREF: ROM:1C36o ROM:18B3 mov R7, RAM_65 ; Move (Op1 <- Op2) ROM:18B5 lcall set_ptr_to ; void set_ptr_to(byte arg); //write pointer "1:arg" (R7) to DPTR and in 0xBE-0xBF ROM:18B5 ROM:18B8 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:18BB mov A, R7 ; Move (Op1 <- Op2) ROM:18BC movx @DPTR, A ; Move from/to external RAM ROM:18BD lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:18BD ROM:18C0 clr A ; Clear Operand (0) ROM:18C1 mov RAM_64, A ; Move (Op1 <- Op2) ROM:18C3 ret ; Return from subroutine ROM:18C3 ROM:18C4 ; --------------------------------------------------------------------------- ROM:18C4 lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:18C4 ROM:18C7 mov RAM_64, #2 ; Move (Op1 <- Op2) ROM:18CA ret ; Return from subroutine ROM:18CA ROM:18CB ; --------------------------------------------------------------------------- ROM:18CB ROM:18CB ROM_18CB: ; DATA XREF: ROM:1C38o ROM:18CB mov RAM_66, RAM_65 ; Move (Op1 <- Op2) ROM:18CE lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:18CE ROM:18D1 mov RAM_64, #3 ; Move (Op1 <- Op2) ROM:18D4 ret ; Return from subroutine ROM:18D4 ROM:18D5 ; --------------------------------------------------------------------------- ROM:18D5 ROM:18D5 ROM_18D5: ; DATA XREF: ROM:1C3Ao ROM:18D5 lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:18D5 ROM:18D8 mov R5, RAM_65 ; Move (Op1 <- Op2) ROM:18DA ROM:18DA ROM_18DA: ; CODE XREF: ROM:186Dj ROM:18DA mov R7, RAM_66 ; Move (Op1 <- Op2) ROM:18DC lcall ROM_6825 ; Long Subroutine Call ROM:18DC ROM:18DF clr A ; Clear Operand (0) ROM:18E0 mov RAM_64, A ; Move (Op1 <- Op2) ROM:18E2 ret ; Return from subroutine ROM:18E2 ROM:18E3 ; --------------------------------------------------------------------------- ROM:18E3 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:18E3 ROM:18E6 ROM:18E6 ROM_18E6: ; CODE XREF: ROM:1898j ROM:18E6 movx A, @DPTR ; Move from/to external RAM ROM:18E7 orl A, #10000b ; Logical OR (op1 |= op2) ROM:18E9 movx @DPTR, A ; Move from/to external RAM ROM:18EA inc DPTR ; Increment Operand ROM:18EB mov A, #90h ; 'É' ; Move (Op1 <- Op2) ROM:18ED movx @DPTR, A ; Move from/to external RAM ROM:18EE lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:18EE ROM:18F1 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:18F3 mov A, @R0 ; Move (Op1 <- Op2) ROM:18F4 orl A, #10000000b ; Logical OR (op1 |= op2) ROM:18F6 mov @R0, A ; Move (Op1 <- Op2) ROM:18F7 ret ; Return from subroutine ROM:18F7 ROM:18F8 ROM:18F8 ; =============== S U B R O U T I N E ======================================= ROM:18F8 ROM:18F8 ROM:18F8 ROM_18F8: ROM:18F8 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:18FB 000 movx A, @DPTR ; Move from/to external RAM ROM:18FC 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:18FE 000 movx @DPTR, A ; Move from/to external RAM ROM:18FF 000 ljmp play_with_GPIO_D_3bit ; Long Jump ROM:18FF ROM:1902 ; --------------------------------------------------------------------------- ROM:1902 000 lcall ROM_1991 ; Long Subroutine Call ROM:1902 ROM:1905 000 mov DPTR, #535h ; Move (Op1 <- Op2) ROM:1908 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1909 000 movx @DPTR, A ; Move from/to external RAM ROM:190A 000 movx A, @DPTR ; Move from/to external RAM ROM:190B 000 jz ROM_1912 ; Jump if Acc is zero ROM:190B ROM:190D 000 movx A, @DPTR ; Move from/to external RAM ROM:190E 000 mov DPTR, #1Eh ; Move (Op1 <- Op2) ROM:1911 000 movx @DPTR, A ; Move from/to external RAM ROM:1911 ROM:1912 ROM:1912 ROM_1912: ; CODE XREF: ROM_18F8+13j ROM:1912 ; ROM_1845:ROM_1851j ROM:1912 000 mov DPTR, #1Eh ; Move (Op1 <- Op2) ROM:1915 000 movx A, @DPTR ; Move from/to external RAM ROM:1916 000 mov R7, A ; Move (Op1 <- Op2) ROM:1917 000 lcall ROM_11E6 ; Long Subroutine Call ROM:1917 ROM:191A 000 mov DPTR, #1Eh ; Move (Op1 <- Op2) ROM:191D 000 movx A, @DPTR ; Move from/to external RAM ROM:191E 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:1921 000 movx @DPTR, A ; Move from/to external RAM ROM:1922 000 lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:1922 ROM:1925 000 mov DPTR, #1Eh ; Move (Op1 <- Op2) ROM:1928 000 movx A, @DPTR ; Move from/to external RAM ROM:1929 000 setb C ; Set Direct Bit ROM:192A 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:192C 000 jc ROM_1947 ; Jump if Carry is set ROM:192C ROM:192E 000 movx A, @DPTR ; Move from/to external RAM ROM:192F 000 mov R7, A ; Move (Op1 <- Op2) ROM:192F ROM:1930 ROM:1930 ROM_1930: ; CODE XREF: ROM_1853+4p ROM:1930 000 mov DPTR, #69h ; 'i' ; Move (Op1 <- Op2) ROM:1933 000 movx A, @DPTR ; Move from/to external RAM ROM:1934 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:1936 000 add A, #30h ; '0' ; Add Second Operand to Acc ROM:1938 000 mov DP0L, A ; Data Pointer Low Byte ROM:193A 000 clr A ; Clear Operand (0) ROM:193B 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:193D 000 mov DP0H, A ; Data Pointer High Byte ROM:193F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1940 000 movx @DPTR, A ; Move from/to external RAM ROM:1941 000 mov DPTR, #69h ; 'i' ; Move (Op1 <- Op2) ROM:1944 000 movx A, @DPTR ; Move from/to external RAM ROM:1945 000 inc A ; Increment Operand ROM:1946 000 movx @DPTR, A ; Move from/to external RAM ROM:1946 ROM:1947 ROM:1947 ROM_1947: ; CODE XREF: ROM_18F8+34j ROM:1947 000 clr A ; Clear Operand (0) ROM:1948 000 mov DPTR, #1Fh ; Move (Op1 <- Op2) ROM:194B 000 movx @DPTR, A ; Move from/to external RAM ROM:194C 000 mov DPTR, #1Dh ; Move (Op1 <- Op2) ROM:194F 000 movx @DPTR, A ; Move from/to external RAM ROM:1950 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:1952 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1953 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:1955 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1956 000 ret ; Return from subroutine ROM:1956 ROM:1956 ; End of function ROM_18F8 ROM:1956 ROM:1957 ROM:1957 ; =============== S U B R O U T I N E ======================================= ROM:1957 ROM:1957 ROM:1957 play_with_GPIO_D_3bit: ; CODE XREF: ROM:18ACp ROM:1957 ; ROM:18BDp ... ROM:1957 000 mov DPTR, #503h ; Move (Op1 <- Op2) ROM:195A 000 movx A, @DPTR ; Move from/to external RAM ROM:195B 000 jnb ACC.3, return ; jump if 3 bit of A is "0" ROM:195B ROM:195E 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:1961 000 movx A, @DPTR ; Move from/to external RAM ROM:1962 000 anl A, #11110111b ; set 3 bit of GPIO port D to "0" ROM:1964 000 movx @DPTR, A ; Move from/to external RAM ROM:1965 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:1967 000 lcall erase_arg_if_nonzero ; void erase_arg_if_nonzero(byte arg); // arg - R7 ROM:1967 ROM:196A 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:196D 000 movx A, @DPTR ; Move from/to external RAM ROM:196E 000 orl A, #1000b ; set 3 bit of GPIO port D to "1" ROM:1970 000 movx @DPTR, A ; Move from/to external RAM ROM:1970 ROM:1971 ROM:1971 return: ; CODE XREF: play_with_GPIO_D_3bit+4j ROM:1971 000 ret ; Return from subroutine ROM:1971 ROM:1971 ; End of function play_with_GPIO_D_3bit ROM:1971 ROM:1972 ; --------------------------------------------------------------------------- ROM:1972 ; START OF FUNCTION CHUNK FOR ROM_1AB0 ROM:1972 ROM:1972 ROM_1972: ; CODE XREF: ROM_1AB0+3Ej ROM:1972 000 ret ; Return from subroutine ROM:1972 ROM:1972 ; END OF FUNCTION CHUNK FOR ROM_1AB0 ROM:1973 ROM:1973 ; =============== S U B R O U T I N E ======================================= ROM:1973 ROM:1973 ROM:1973 ROM_1973: ; CODE XREF: ROM_1AB0:ROM_1AF1p ROM:1973 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:1976 000 movx A, @DPTR ; Move from/to external RAM ROM:1977 000 anl A, #11101111b ; Logical AND (op1 &= op2) ROM:1979 000 movx @DPTR, A ; Move from/to external RAM ROM:197A 000 mov R7, #19h ; Move (Op1 <- Op2) ROM:197C 000 lcall erase_arg_if_nonzero ; void erase_arg_if_nonzero(byte arg); // arg - R7 ROM:197C ROM:197F 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:1982 000 movx A, @DPTR ; Move from/to external RAM ROM:1983 000 orl A, #10000b ; Logical OR (op1 |= op2) ROM:1985 000 movx @DPTR, A ; Move from/to external RAM ROM:1986 000 ret ; Return from subroutine ROM:1986 ROM:1986 ; End of function ROM_1973 ROM:1986 ROM:1987 ROM:1987 ; =============== S U B R O U T I N E ======================================= ROM:1987 ROM:1987 ; void erase_arg_if_nonzero(byte arg); // arg - R7 ROM:1987 ROM:1987 erase_arg_if_nonzero: ; CODE XREF: play_with_GPIO_D_3bit+10p ROM:1987 ; ROM_1973+9p ... ROM:1987 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1988 000 setb C ; Set Direct Bit ROM:1989 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:198B 000 jc return ; Jump if Carry is set ROM:198B ROM:198D 000 dec R7 ; Decrement Operand ROM:198E 000 sjmp erase_arg_if_nonzero ; void erase_arg_if_nonzero(byte arg); // arg - R7 ROM:198E ROM:1990 ; --------------------------------------------------------------------------- ROM:1990 ROM:1990 return: ; CODE XREF: erase_arg_if_nonzero+4j ROM:1990 000 ret ; Return from subroutine ROM:1990 ROM:1990 ; End of function erase_arg_if_nonzero ROM:1990 ROM:1991 ROM:1991 ; =============== S U B R O U T I N E ======================================= ROM:1991 ROM:1991 ROM:1991 ROM_1991: ; CODE XREF: ROM_18F8+Ap ROM:1991 000 mov DPTR, #1Bh ; Move (Op1 <- Op2) ROM:1994 000 movx A, @DPTR ; Move from/to external RAM ROM:1995 000 add A, #10h ; Add Second Operand to Acc ROM:1997 000 mov DP0L, A ; Data Pointer Low Byte ROM:1999 000 clr A ; Clear Operand (0) ROM:199A 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:199C 000 mov DP0H, A ; Data Pointer High Byte ROM:199E 000 movx A, @DPTR ; Move from/to external RAM ROM:199F 000 mov DPTR, #1Fh ; Move (Op1 <- Op2) ROM:19A2 000 movx @DPTR, A ; Move from/to external RAM ROM:19A3 000 movx A, @DPTR ; Move from/to external RAM ROM:19A4 000 jnz ROM_19B6 ; Jump if Acc is not zero ROM:19A4 ROM:19A6 000 mov DPTR, #1Bh ; Move (Op1 <- Op2) ROM:19A9 000 movx A, @DPTR ; Move from/to external RAM ROM:19AA 000 mov DPTR, #1Ah ; Move (Op1 <- Op2) ROM:19AD 000 movx @DPTR, A ; Move from/to external RAM ROM:19AE 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:19B0 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:19B1 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:19B3 000 mov @R0, A ; Move (Op1 <- Op2) ROM:19B4 000 sjmp ROM_19D3 ; Short jump ROM:19B4 ROM:19B6 ; --------------------------------------------------------------------------- ROM:19B6 ROM:19B6 ROM_19B6: ; CODE XREF: ROM_1991+13j ROM:19B6 000 mov DPTR, #1Bh ; Move (Op1 <- Op2) ROM:19B9 000 movx A, @DPTR ; Move from/to external RAM ROM:19BA 000 add A, #10h ; Add Second Operand to Acc ROM:19BC 000 mov DP0L, A ; Data Pointer Low Byte ROM:19BE 000 clr A ; Clear Operand (0) ROM:19BF 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:19C1 000 mov DP0H, A ; Data Pointer High Byte ROM:19C3 000 clr A ; Clear Operand (0) ROM:19C4 000 movx @DPTR, A ; Move from/to external RAM ROM:19C5 000 mov DPTR, #1Bh ; Move (Op1 <- Op2) ROM:19C8 000 movx A, @DPTR ; Move from/to external RAM ROM:19C9 000 inc A ; Increment Operand ROM:19CA 000 movx @DPTR, A ; Move from/to external RAM ROM:19CB 000 movx A, @DPTR ; Move from/to external RAM ROM:19CC 000 setb C ; Set Direct Bit ROM:19CD 000 subb A, #9 ; Subtract Second Operand from Acc with Borrow ROM:19CF 000 jc ROM_19D3 ; Jump if Carry is set ROM:19CF ROM:19D1 000 clr A ; Clear Operand (0) ROM:19D2 000 movx @DPTR, A ; Move from/to external RAM ROM:19D2 ROM:19D3 ROM:19D3 ROM_19D3: ; CODE XREF: ROM_1991+23j ROM:19D3 ; ROM_1991+3Ej ROM:19D3 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:19D6 000 movx A, @DPTR ; Move from/to external RAM ROM:19D7 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:19D9 000 movx @DPTR, A ; Move from/to external RAM ROM:19DA 000 mov DPTR, #1Fh ; Move (Op1 <- Op2) ROM:19DD 000 movx A, @DPTR ; Move from/to external RAM ROM:19DE 000 mov R7, A ; Move (Op1 <- Op2) ROM:19DF 000 ret ; Return from subroutine ROM:19DF ROM:19DF ; End of function ROM_1991 ROM:19DF ROM:19E0 ROM:19E0 ; =============== S U B R O U T I N E ======================================= ROM:19E0 ROM:19E0 ROM:19E0 ROM_19E0: ; CODE XREF: ROM_6477+32j ROM:19E0 ; ROM:65A7p ... ROM:19E0 000 mov DPTR, #503h ; Move (Op1 <- Op2) ROM:19E3 000 movx A, @DPTR ; Move from/to external RAM ROM:19E4 000 jnb ACC.3, ROM_1A39 ; Accumulator ROM:19E4 ROM:19E7 000 mov DPTR, #1Ah ; Move (Op1 <- Op2) ROM:19EA 000 movx A, @DPTR ; Move from/to external RAM ROM:19EB 000 add A, #10h ; Add Second Operand to Acc ROM:19ED 000 mov DP0L, A ; Data Pointer Low Byte ROM:19EF 000 clr A ; Clear Operand (0) ROM:19F0 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:19F2 000 mov DP0H, A ; Data Pointer High Byte ROM:19F4 000 movx A, @DPTR ; Move from/to external RAM ROM:19F5 000 jnz ROM_1A0C ; Jump if Acc is not zero ROM:19F5 ROM:19F7 000 mov DPTR, #1Ah ; Move (Op1 <- Op2) ROM:19FA 000 movx A, @DPTR ; Move from/to external RAM ROM:19FB 000 add A, #10h ; Add Second Operand to Acc ROM:19FD 000 mov DP0L, A ; Data Pointer Low Byte ROM:19FF 000 clr A ; Clear Operand (0) ROM:1A00 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1A02 000 mov DP0H, A ; Data Pointer High Byte ROM:1A04 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1A05 000 movx @DPTR, A ; Move from/to external RAM ROM:1A06 000 mov DPTR, #1Ah ; Move (Op1 <- Op2) ROM:1A09 000 movx A, @DPTR ; Move from/to external RAM ROM:1A0A 000 inc A ; Increment Operand ROM:1A0B 000 movx @DPTR, A ; Move from/to external RAM ROM:1A0B ROM:1A0C ROM:1A0C ROM_1A0C: ; CODE XREF: ROM_19E0+15j ROM:1A0C 000 mov DPTR, #1Ah ; Move (Op1 <- Op2) ROM:1A0F 000 movx A, @DPTR ; Move from/to external RAM ROM:1A10 000 setb C ; Set Direct Bit ROM:1A11 000 subb A, #9 ; Subtract Second Operand from Acc with Borrow ROM:1A13 000 jc ROM_1A17 ; Jump if Carry is set ROM:1A13 ROM:1A15 000 clr A ; Clear Operand (0) ROM:1A16 000 movx @DPTR, A ; Move from/to external RAM ROM:1A16 ROM:1A17 ROM:1A17 ROM_1A17: ; CODE XREF: ROM_19E0+33j ROM:1A17 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:1A1A 000 movx A, @DPTR ; Move from/to external RAM ROM:1A1B 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:1A1D 000 movx @DPTR, A ; Move from/to external RAM ROM:1A1E 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:1A20 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1A21 000 mov R7, A ; Move (Op1 <- Op2) ROM:1A22 000 swap A ; Swap nibbles of Acc ROM:1A23 000 rrc A ; Rotate Acc right through Carry ROM:1A24 000 rrc A ; Rotate Acc right through Carry ROM:1A25 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:1A27 000 jnb ACC.0, ROM_1A2D ; Accumulator ROM:1A27 ROM:1A2A 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:1A2C 000 ret ; Return from subroutine ROM:1A2C ROM:1A2D ; --------------------------------------------------------------------------- ROM:1A2D ROM:1A2D ROM_1A2D: ; CODE XREF: ROM_19E0+47j ROM:1A2D 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:1A2F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1A30 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:1A32 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1A33 000 lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:1A33 ROM:1A36 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:1A38 000 ret ; Return from subroutine ROM:1A38 ROM:1A39 ; --------------------------------------------------------------------------- ROM:1A39 ROM:1A39 ROM_1A39: ; CODE XREF: ROM_19E0+4j ROM:1A39 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:1A3B 000 ret ; Return from subroutine ROM:1A3B ROM:1A3B ; End of function ROM_19E0 ROM:1A3B ROM:1A3C ; --------------------------------------------------------------------------- ROM:1A3C mov DPTR, #2Bh ; '+' ; Move (Op1 <- Op2) ROM:1A3F movx A, @DPTR ; Move from/to external RAM ROM:1A40 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:1A42 mov DP0L, A ; Data Pointer Low Byte ROM:1A44 clr A ; Clear Operand (0) ROM:1A45 addc A, #0 ; Add Second Operand to Acc with carry ROM:1A47 mov DP0H, A ; Data Pointer High Byte ROM:1A49 movx A, @DPTR ; Move from/to external RAM ROM:1A49 ROM:1A4A ROM:1A4A ; =============== S U B R O U T I N E ======================================= ROM:1A4A ROM:1A4A ROM:1A4A ROM_1A4A: ; CODE XREF: ROM:18A0p ROM:1A4A 000 mov DPTR, #2Fh ; '/' ; Move (Op1 <- Op2) ROM:1A4D 000 movx @DPTR, A ; Move from/to external RAM ROM:1A4E 000 movx A, @DPTR ; Move from/to external RAM ROM:1A4F 000 jnz ROM_1A5A ; Jump if Acc is not zero ROM:1A4F ROM:1A51 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:1A54 000 movx A, @DPTR ; Move from/to external RAM ROM:1A55 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:1A57 000 movx @DPTR, A ; Move from/to external RAM ROM:1A58 000 sjmp ROM_1A77 ; Short jump ROM:1A58 ROM:1A5A ; --------------------------------------------------------------------------- ROM:1A5A ROM:1A5A ROM_1A5A: ; CODE XREF: ROM_1A4A+5j ROM:1A5A 000 mov DPTR, #2Bh ; '+' ; Move (Op1 <- Op2) ROM:1A5D 000 movx A, @DPTR ; Move from/to external RAM ROM:1A5E 000 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:1A60 000 mov DP0L, A ; Data Pointer Low Byte ROM:1A62 000 clr A ; Clear Operand (0) ROM:1A63 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1A65 000 mov DP0H, A ; Data Pointer High Byte ROM:1A67 000 clr A ; Clear Operand (0) ROM:1A68 000 movx @DPTR, A ; Move from/to external RAM ROM:1A69 000 mov DPTR, #2Bh ; '+' ; Move (Op1 <- Op2) ROM:1A6C 000 movx A, @DPTR ; Move from/to external RAM ROM:1A6D 000 inc A ; Increment Operand ROM:1A6E 000 movx @DPTR, A ; Move from/to external RAM ROM:1A6F 000 movx A, @DPTR ; Move from/to external RAM ROM:1A70 000 setb C ; Set Direct Bit ROM:1A71 000 subb A, #9 ; Subtract Second Operand from Acc with Borrow ROM:1A73 000 jc ROM_1A77 ; Jump if Carry is set ROM:1A73 ROM:1A75 000 clr A ; Clear Operand (0) ROM:1A76 000 movx @DPTR, A ; Move from/to external RAM ROM:1A76 ROM:1A77 ROM:1A77 ROM_1A77: ; CODE XREF: ROM_1A4A+Ej ROM:1A77 ; ROM_1A4A+29j ROM:1A77 000 mov DPTR, #2Fh ; '/' ; Move (Op1 <- Op2) ROM:1A7A 000 movx A, @DPTR ; Move from/to external RAM ROM:1A7B 000 mov R7, A ; Move (Op1 <- Op2) ROM:1A7C 000 ret ; Return from subroutine ROM:1A7C ROM:1A7C ; End of function ROM_1A4A ROM:1A7C ROM:1A7D ROM:1A7D ; =============== S U B R O U T I N E ======================================= ROM:1A7D ROM:1A7D ROM:1A7D ROM_1A7D: ROM:1A7D 000 mov DPTR, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:1A80 000 movx A, @DPTR ; Move from/to external RAM ROM:1A81 000 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:1A83 000 mov DP0L, A ; Data Pointer Low Byte ROM:1A85 000 clr A ; Clear Operand (0) ROM:1A86 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1A88 000 mov DP0H, A ; Data Pointer High Byte ROM:1A8A 000 movx A, @DPTR ; Move from/to external RAM ROM:1A8B 000 jnz ROM_1AA2 ; Jump if Acc is not zero ROM:1A8B ROM:1A8D 000 mov DPTR, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:1A90 000 movx A, @DPTR ; Move from/to external RAM ROM:1A91 000 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:1A93 000 mov DP0L, A ; Data Pointer Low Byte ROM:1A95 000 clr A ; Clear Operand (0) ROM:1A96 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1A98 000 mov DP0H, A ; Data Pointer High Byte ROM:1A9A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1A9B 000 movx @DPTR, A ; Move from/to external RAM ROM:1A9C 000 mov DPTR, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:1A9F 000 movx A, @DPTR ; Move from/to external RAM ROM:1AA0 000 inc A ; Increment Operand ROM:1AA1 000 movx @DPTR, A ; Move from/to external RAM ROM:1AA1 ROM:1AA2 ROM:1AA2 ROM_1AA2: ; CODE XREF: ROM_1A7D+Ej ROM:1AA2 000 mov DPTR, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:1AA5 000 movx A, @DPTR ; Move from/to external RAM ROM:1AA6 000 setb C ; Set Direct Bit ROM:1AA7 000 subb A, #9 ; Subtract Second Operand from Acc with Borrow ROM:1AA9 000 jc return ; Jump if Carry is set ROM:1AA9 ROM:1AAB 000 clr A ; Clear Operand (0) ROM:1AAC 000 movx @DPTR, A ; Move from/to external RAM ROM:1AAC ROM:1AAD ROM:1AAD return: ; CODE XREF: ROM_1A7D+2Cj ROM:1AAD 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:1AAF 000 ret ; Return from subroutine ROM:1AAF ROM:1AAF ; End of function ROM_1A7D ROM:1AAF ROM:1AB0 ROM:1AB0 ; =============== S U B R O U T I N E ======================================= ROM:1AB0 ROM:1AB0 ROM:1AB0 ROM_1AB0: ROM:1AB0 ROM:1AB0 ; FUNCTION CHUNK AT ROM:1972 SIZE 00000001 BYTES ROM:1AB0 ROM:1AB0 000 mov DPTR, #1Dh ; Move (Op1 <- Op2) ROM:1AB3 000 movx A, @DPTR ; Move from/to external RAM ROM:1AB4 000 inc A ; Increment Operand ROM:1AB5 000 movx @DPTR, A ; Move from/to external RAM ROM:1AB6 000 movx A, @DPTR ; Move from/to external RAM ROM:1AB7 000 setb C ; Set Direct Bit ROM:1AB8 000 subb A, #28h ; '(' ; Subtract Second Operand from Acc with Borrow ROM:1ABA 000 jc return ; Jump if Carry is set ROM:1ABA ROM:1ABC 000 clr A ; Clear Operand (0) ROM:1ABD 000 movx @DPTR, A ; Move from/to external RAM ROM:1ABE 000 mov DPTR, #1Bh ; Move (Op1 <- Op2) ROM:1AC1 000 movx A, @DPTR ; Move from/to external RAM ROM:1AC2 000 add A, #10h ; Add Second Operand to Acc ROM:1AC4 000 mov DP0L, A ; Data Pointer Low Byte ROM:1AC6 000 clr A ; Clear Operand (0) ROM:1AC7 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:1AC9 000 mov DP0H, A ; Data Pointer High Byte ROM:1ACB 000 movx A, @DPTR ; Move from/to external RAM ROM:1ACC 000 mov DPTR, #1Fh ; Move (Op1 <- Op2) ROM:1ACF 000 movx @DPTR, A ; Move from/to external RAM ROM:1AD0 000 movx A, @DPTR ; Move from/to external RAM ROM:1AD1 000 setb C ; Set Direct Bit ROM:1AD2 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:1AD4 000 jc return ; Jump if Carry is set ROM:1AD4 ROM:1AD6 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:1AD8 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:1AD9 000 mov R7, A ; Move (Op1 <- Op2) ROM:1ADA 000 swap A ; Swap nibbles of Acc ROM:1ADB 000 rrc A ; Rotate Acc right through Carry ROM:1ADC 000 rrc A ; Rotate Acc right through Carry ROM:1ADD 000 rrc A ; Rotate Acc right through Carry ROM:1ADE 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:1AE0 000 jnb ACC.0, ROM_1AF1 ; Accumulator ROM:1AE0 ROM:1AE3 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:1AE6 000 movx A, @DPTR ; Move from/to external RAM ROM:1AE7 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:1AE9 000 movx @DPTR, A ; Move from/to external RAM ROM:1AEA 000 movx A, @DPTR ; Move from/to external RAM ROM:1AEB 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:1AED 000 movx @DPTR, A ; Move from/to external RAM ROM:1AEE 000 ljmp ROM_1972 ; Long Jump ROM:1AEE ROM:1AF1 ; --------------------------------------------------------------------------- ROM:1AF1 ROM:1AF1 ROM_1AF1: ; CODE XREF: ROM_1AB0+30j ROM:1AF1 000 lcall ROM_1973 ; Long Subroutine Call ROM:1AF1 ROM:1AF4 ROM:1AF4 return: ; CODE XREF: ROM_1AB0+Aj ROM:1AF4 ; ROM_1AB0+24j ROM:1AF4 000 ret ; Return from subroutine ROM:1AF4 ROM:1AF4 ; End of function ROM_1AB0 ROM:1AF4 ROM:1AF4 ; --------------------------------------------------------------------------- ROM:1AF5 db 7Fh ;  ROM:1AF6 db 0 ROM:1AF7 db 22h ; " ROM:1AF8 db 22h ; " ROM:1AF9 db 7Fh ;  ROM:1AFA db 0 ROM:1AFB db 22h ; " ROM:1AFC db 7Fh ;  ROM:1AFD db 0 ROM:1AFE db 22h ; " ROM:1AFF db 7Fh ;  ROM:1B00 db 0 ROM:1B01 db 22h ; " ROM:1B02 db 7Fh ;  ROM:1B03 db 0 ROM:1B04 db 22h ; " ROM:1B05 ROM_1B05: db 7Fh ;  ; CODE XREF: ROM:1BDFj ROM:1B06 db 0 ROM:1B07 db 22h ; " ROM:1B08 db 7Fh ;  ROM:1B09 db 0 ROM:1B0A db 22h ; " ROM:1B0B db 7Fh ;  ROM:1B0C db 0 ROM:1B0D db 22h ; " ROM:1B0E db 7Fh ;  ROM:1B0F db 0 ROM:1B10 db 22h ; " ROM:1B11 db 7Fh ;  ROM:1B12 db 0 ROM:1B13 db 22h ; " ROM:1B14 db 7Fh ;  ROM:1B15 db 0 ROM:1B16 db 22h ; " ROM:1B17 db 7Fh ;  ROM:1B18 db 0 ROM:1B19 db 22h ; " ROM:1B1A db 7Fh ;  ROM:1B1B db 0 ROM:1B1C db 22h ; " ROM:1B1D ROM:1B1D ; =============== S U B R O U T I N E ======================================= ROM:1B1D ROM:1B1D ROM:1B1D ROM_1B1D: ; CODE XREF: ROM_1B1D+7j ROM:1B1D ; ROM:1BCCp ROM:1B1D 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:1B20 000 movx A, @DPTR ; Move from/to external RAM ROM:1B21 000 jb ACC.1, ROM_1B32 ; Accumulator ROM:1B21 ROM:1B24 000 jnb TCON.7, ROM_1B1D ; Timer Control Register ROM:1B24 ROM:1B27 000 movx A, @DPTR ; Move from/to external RAM ROM:1B28 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:1B2A 000 movx @DPTR, A ; Move from/to external RAM ROM:1B2B 000 lcall play_with_GPIO_D_3bit ; Long Subroutine Call ROM:1B2B ROM:1B2E 000 clr TCON.7 ; Timer Control Register ROM:1B30 000 clr C ; Clear Operand (0) ROM:1B31 000 ret ; Return from subroutine ROM:1B31 ROM:1B32 ; --------------------------------------------------------------------------- ROM:1B32 ROM:1B32 ROM_1B32: ; CODE XREF: ROM_1B1D+4j ROM:1B32 000 setb C ; Set Direct Bit ROM:1B33 000 ret ; Return from subroutine ROM:1B33 ROM:1B33 ; End of function ROM_1B1D ROM:1B33 ROM:1B34 ROM:1B34 ; =============== S U B R O U T I N E ======================================= ROM:1B34 ROM:1B34 ROM:1B34 ROM_1B34: ROM:1B34 000 clr IE.3 ; Interrupt Enable Register 0 ROM:1B36 000 mov TH1, #0F8h ; '°' ; Timer 1 High Byte ROM:1B39 000 mov TL1, #83h ; 'â' ; Timer 1 Low Byte ROM:1B3C 000 setb TCON.6 ; Timer Control Register ROM:1B3E 000 clr TCON.7 ; Timer Control Register ROM:1B40 000 ret ; Return from subroutine ROM:1B40 ROM:1B40 ; End of function ROM_1B34 ROM:1B40 ROM:1B41 ROM:1B41 ; =============== S U B R O U T I N E ======================================= ROM:1B41 ROM:1B41 ROM:1B41 ROM_1B41: ; DATA XREF: ROM:1C24o ROM:1B41 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:1B43 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:1B45 000 add A, ACC ; Accumulator ROM:1B47 000 add A, #0F4h ; '(' ; Add Second Operand to Acc ROM:1B49 000 mov DP0L, A ; Data Pointer Low Byte ROM:1B4B 000 clr A ; Clear Operand (0) ROM:1B4C 000 addc A, #1Bh ; Add Second Operand to Acc with carry ROM:1B4E 000 mov DP0H, A ; Data Pointer High Byte ROM:1B50 000 clr A ; Clear Operand (0) ROM:1B51 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1B52 000 mov R6, A ; Move (Op1 <- Op2) ROM:1B53 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1B55 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1B56 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:1B58 000 mov R1, A ; Move (Op1 <- Op2) ROM:1B59 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:1B59 ROM:1B59 ; End of function ROM_1B41 ROM:1B59 ROM:1B5C ; --------------------------------------------------------------------------- ROM:1B5C ROM:1B5C ROM_1B5C: ; CODE XREF: ROM:1BCFj ROM:1B5C mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:1B5F movx A, @DPTR ; Move from/to external RAM ROM:1B60 jnb ACC.3, ROM_1B86 ; Accumulator ROM:1B60 ROM:1B63 mov DPTR, #PMC_PM1DI ; Host Interface PM Channel 1 Data In Port ROM:1B66 movx A, @DPTR ; Move from/to external RAM ROM:1B67 mov RAM_63, A ; Move (Op1 <- Op2) ROM:1B69 clr A ; Clear Operand (0) ROM:1B6A mov RAM_64, A ; Move (Op1 <- Op2) ROM:1B6C ROM:1B6C ROM_1B6C: ; CODE XREF: ROM:1875j ROM:1B6C mov R7, #66h ; 'f' ; Move (Op1 <- Op2) ROM:1B6E lcall ROM_11E6 ; Long Subroutine Call ROM:1B6E ROM:1B71 mov R7, RAM_63 ; Move (Op1 <- Op2) ROM:1B73 lcall ROM_11E6 ; Long Subroutine Call ROM:1B73 ROM:1B76 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:1B78 swap A ; Swap nibbles of Acc ROM:1B79 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:1B7B add A, ACC ; Accumulator ROM:1B7D add A, #14h ; Add Second Operand to Acc ROM:1B7F mov DP0L, A ; Data Pointer Low Byte ROM:1B81 clr A ; Clear Operand (0) ROM:1B82 addc A, #1Ch ; Add Second Operand to Acc with carry ROM:1B84 sjmp ROM_1BA7 ; Short jump ROM:1B84 ROM:1B86 ; --------------------------------------------------------------------------- ROM:1B86 ROM:1B86 ROM_1B86: ; CODE XREF: ROM:1B60j ROM:1B86 mov DPTR, #PMC_PM1DI ; Host Interface PM Channel 1 Data In Port ROM:1B89 movx A, @DPTR ; Move from/to external RAM ROM:1B8A mov RAM_65, A ; Move (Op1 <- Op2) ROM:1B8C mov A, RAM_64 ; Move (Op1 <- Op2) ROM:1B8E jz ROM_1BB7 ; Jump if Acc is zero ROM:1B8E ROM:1B90 mov R7, #62h ; 'b' ; Move (Op1 <- Op2) ROM:1B92 lcall ROM_11E6 ; Long Subroutine Call ROM:1B92 ROM:1B95 mov R7, RAM_65 ; Move (Op1 <- Op2) ROM:1B97 lcall ROM_11E6 ; Long Subroutine Call ROM:1B97 ROM:1B9A mov A, RAM_64 ; Move (Op1 <- Op2) ROM:1B9C anl A, #7 ; Logical AND (op1 &= op2) ROM:1B9E add A, ACC ; Accumulator ROM:1BA0 add A, #34h ; '4' ; Add Second Operand to Acc ROM:1BA2 mov DP0L, A ; Data Pointer Low Byte ROM:1BA4 clr A ; Clear Operand (0) ROM:1BA5 addc A, #1Ch ; Add Second Operand to Acc with carry ROM:1BA5 ROM:1BA7 ROM:1BA7 ROM_1BA7: ; CODE XREF: ROM:1B84j ROM:1BA7 mov DP0H, A ; Data Pointer High Byte ROM:1BA9 clr A ; Clear Operand (0) ROM:1BAA movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1BAB mov R6, A ; Move (Op1 <- Op2) ROM:1BAC mov A, #1 ; Move (Op1 <- Op2) ROM:1BAE movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1BAF mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:1BB1 mov R1, A ; Move (Op1 <- Op2) ROM:1BB2 lcall jump_to_R2R1 ; jump to pair R2:R1 ROM:1BB2 ROM:1BB5 sjmp ROM_1BC5 ; Short jump ROM:1BB5 ROM:1BB7 ; --------------------------------------------------------------------------- ROM:1BB7 ROM:1BB7 ROM_1BB7: ; CODE XREF: ROM:1B8Ej ROM:1BB7 ; ROM:1BC3j ROM:1BB7 mov DPTR, #6Dh ; 'm' ; Move (Op1 <- Op2) ROM:1BBA movx A, @DPTR ; Move from/to external RAM ROM:1BBB clr C ; Clear Operand (0) ROM:1BBC subb A, #0FFh ; Subtract Second Operand from Acc with Borrow ROM:1BBE jnc ROM_1BC5 ; Jump if Carry is clear ROM:1BBE ROM:1BC0 movx A, @DPTR ; Move from/to external RAM ROM:1BC1 inc A ; Increment Operand ROM:1BC2 movx @DPTR, A ; Move from/to external RAM ROM:1BC3 sjmp ROM_1BB7 ; Short jump ROM:1BC3 ROM:1BC5 ; --------------------------------------------------------------------------- ROM:1BC5 ROM:1BC5 ROM_1BC5: ; CODE XREF: ROM:1BB5j ROM:1BC5 ; ROM:1BBEj ROM:1BC5 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:1BC8 movx A, @DPTR ; Move from/to external RAM ROM:1BC9 jnb ACC.4, ROM_1BD1 ; Accumulator ROM:1BC9 ROM:1BCC lcall ROM_1B1D ; Long Subroutine Call ROM:1BCC ROM:1BCF jc ROM_1B5C ; Jump if Carry is set ROM:1BCF ROM:1BD1 ROM:1BD1 ROM_1BD1: ; CODE XREF: ROM:1BC9j ROM:1BD1 setb IE.3 ; Interrupt Enable Register 0 ROM:1BD3 ret ; Return from subroutine ROM:1BD3 ROM:1BD4 ; --------------------------------------------------------------------------- ROM:1BD4 dec R2 ; Decrement Operand ROM:1BD5 mov RAM_1A, A ; Move (Op1 <- Op2) ROM:1BD7 mov RAM_1A, A ; Move (Op1 <- Op2) ROM:1BD9 mov R1, A ; Move (Op1 <- Op2) ROM:1BDA dec R2 ; Decrement Operand ROM:1BDB mov R4, A ; Move (Op1 <- Op2) ROM:1BDC dec R2 ; Decrement Operand ROM:1BDD mov R7, A ; Move (Op1 <- Op2) ROM:1BDE dec R3 ; Decrement Operand ROM:1BDF ljmp ROM_1B05 ; Long Jump ROM:1BDF ROM:1BE2 ; --------------------------------------------------------------------------- ROM:1BE2 dec R3 ; Decrement Operand ROM:1BE3 inc R0 ; Increment Operand ROM:1BE4 dec R3 ; Decrement Operand ROM:1BE5 inc R3 ; Increment Operand ROM:1BE6 dec R3 ; Decrement Operand ROM:1BE7 inc R6 ; Increment Operand ROM:1BE8 dec R3 ; Decrement Operand ROM:1BE9 acall ROM_181B ; Absolute Call ROM:1BE9 ROM:1BEB dec A ; Decrement Operand ROM:1BEC dec R3 ; Decrement Operand ROM:1BED dec @R1 ; Decrement Operand ROM:1BEE dec R3 ; Decrement Operand ROM:1BEF dec R2 ; Decrement Operand ROM:1BF0 dec R2 ; Decrement Operand ROM:1BF1 mov RAM_1A, A ; Move (Op1 <- Op2) ROM:1BF3 mov RAM_18, A ; Move (Op1 <- Op2) ROM:1BF5 mov R4, RAM_18 ; Move (Op1 <- Op2) ROM:1BF7 swap A ; Swap nibbles of Acc ROM:1BF8 dec R0 ; Decrement Operand ROM:1BF9 movx A, @R1 ; Move from/to external RAM ROM:1BFA dec R0 ; Decrement Operand ROM:1BFB mov R0, A ; Move (Op1 <- Op2) ROM:1BFC dec R1 ; Decrement Operand ROM:1BFD ljmp ROM_6835 ; Long Jump ROM:1BFD ROM:1BFD ; --------------------------------------------------------------------------- ROM:1C00 db 68h ; h ROM:1C01 db 36h ; 6 ROM:1C02 db 68h ; h ROM:1C03 db 37h ; 7 ROM:1C04 db 68h ; h ROM:1C05 db 38h ; 8 ROM:1C06 db 68h ; h ROM:1C07 db 39h ; 9 ROM:1C08 db 68h ; h ROM:1C09 db 3Ah ; : ROM:1C0A db 68h ; h ROM:1C0B db 3Bh ; ; ROM:1C0C db 68h ; h ROM:1C0D db 3Ch ; < ROM:1C0E db 68h ; h ROM:1C0F db 3Dh ; = ROM:1C10 db 68h ; h ROM:1C11 db 3Eh ; > ROM:1C12 db 68h ; h ROM:1C13 db 3Fh ; ? ROM:1C14 db 69h ; i ROM:1C15 db 22h ; " ROM:1C16 db 69h ; i ROM:1C17 db 3Dh ; = ROM:1C18 db 69h ; i ROM:1C19 db 58h ; X ROM:1C1A db 69h ; i ROM:1C1B db 73h ; s ROM:1C1C dw ROM_698E ROM:1C1E dw ROM_69A9 ROM:1C20 dw ROM_69C4 ROM:1C22 dw ROM_69DF ROM:1C24 dw ROM_1B41 ROM:1C26 dw ROM_69FA ROM:1C28 dw ROM_6A15 ROM:1C2A dw ROM_6A30 ROM:1C2C dw ROM_6A4B ROM:1C2E dw ROM_6A66 ROM:1C30 dw ROM_6A81 ROM:1C32 dw ROM_6A9C ROM:1C34 dw ROM_691A ROM:1C36 dw ROM_18B3 ROM:1C38 dw ROM_18CB ROM:1C3A dw ROM_18D5 ROM:1C3C dw ROM_691B ROM:1C3E dw ROM_691C ROM:1C40 dw ROM_691D ROM:1C42 dw ROM_691E ROM:1C44 db 0 ROM:1C45 db 0 ROM:1C46 db 0 ROM:1C47 db 0 ROM:1C48 db 0 ROM:1C49 db 0 ROM:1C4A db 0 ROM:1C4B db 0 ROM:1C4C db 0 ROM:1C4D db 0 ROM:1C4E db 0 ROM:1C4F db 0 ROM:1C50 db 0 ROM:1C51 db 0 ROM:1C52 db 0 ROM:1C53 db 0 ROM:1C54 db 0E5h ; s ROM:1C55 db 60h ; ` ROM:1C56 db 54h ; T ROM:1C57 db 1Fh ROM:1C58 db 24h ; $ ROM:1C59 db 0EDh ; f ROM:1C5A db 60h ; ` ROM:1C5B db 12h ROM:1C5C db 14h ROM:1C5D db 60h ; ` ROM:1C5E db 16h ROM:1C5F db 24h ; $ ROM:1C60 db 0FEh ; ¦ ROM:1C61 db 60h ; ` ROM:1C62 db 19h ROM:1C63 db 14h ROM:1C64 db 60h ; ` ROM:1C65 db 1Dh ROM:1C66 db 24h ; $ ROM:1C67 db 17h ROM:1C68 db 70h ; p ROM:1C69 db 21h ; ! ROM:1C6A db 0AFh ; » ROM:1C6B db 20h ROM:1C6C db 80h ; Ç ROM:1C6D db 1Ah ROM:1C6E db 90h ; É ROM:1C6F db 0 ROM:1C70 db 59h ; Y ROM:1C71 db 0E0h ; a ROM:1C72 db 0FFh ROM:1C73 db 80h ; Ç ROM:1C74 db 13h ROM:1C75 db 90h ; É ROM:1C76 db 0 ROM:1C77 db 5Ah ; Z ROM:1C78 db 0E0h ; a ROM:1C79 db 0FFh ROM:1C7A db 80h ; Ç ROM:1C7B db 0Ch ROM:1C7C db 90h ; É ROM:1C7D db 0 ROM:1C7E ; --------------------------------------------------------------------------- ROM:1C7E anl A, R3 ; Logical AND (op1 &= op2) ROM:1C7F movx A, @DPTR ; Move from/to external RAM ROM:1C80 mov R7, A ; Move (Op1 <- Op2) ROM:1C81 sjmp ROM_1C88 ; Short jump ROM:1C81 ROM:1C83 ; --------------------------------------------------------------------------- ROM:1C83 mov DPTR, #5Ch ; '\' ; Move (Op1 <- Op2) ROM:1C86 movx A, @DPTR ; Move from/to external RAM ROM:1C87 mov R7, A ; Move (Op1 <- Op2) ROM:1C87 ROM:1C88 ROM:1C88 ROM_1C88: ; CODE XREF: ROM:1C81j ROM:1C88 ljmp ROM_14CE ; Long Jump ROM:1C88 ROM:1C8B ; --------------------------------------------------------------------------- ROM:1C8B clr A ; Clear Operand (0) ROM:1C8C mov R7, A ; Move (Op1 <- Op2) ROM:1C8D lcall ROM_14CE ; Long Subroutine Call ROM:1C8D ROM:1C90 mov DPTR, #6Fh ; 'o' ; Move (Op1 <- Op2) ROM:1C93 movx A, @DPTR ; Move from/to external RAM ROM:1C94 inc A ; Increment Operand ROM:1C95 movx @DPTR, A ; Move from/to external RAM ROM:1C96 ret ; Return from subroutine ROM:1C96 ROM:1C97 ROM:1C97 ; =============== S U B R O U T I N E ======================================= ROM:1C97 ROM:1C97 ROM:1C97 ROM_1C97: ROM:1C97 000 lcall ROM_25D8 ; Long Subroutine Call ROM:1C97 ROM:1C9A 000 jnc ROM_1CD6 ; Jump if Carry is clear ROM:1C9A ROM:1C9C 000 clr A ; Clear Operand (0) ROM:1C9D 000 mov RAM_61, A ; Move (Op1 <- Op2) ROM:1C9F 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:1CA1 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:1CA3 000 add A, #0EDh ; 'f' ; Add Second Operand to Acc ROM:1CA5 000 jz ROM_1CBA ; Jump if Acc is zero ROM:1CA5 ROM:1CA7 000 dec A ; Decrement Operand ROM:1CA8 000 jz ROM_1CBF ; Jump if Acc is zero ROM:1CA8 ROM:1CAA 000 add A, #0FEh ; '¦' ; Add Second Operand to Acc ROM:1CAC 000 jz ROM_1CC4 ; Jump if Acc is zero ROM:1CAC ROM:1CAE 000 dec A ; Decrement Operand ROM:1CAF 000 jz ROM_1CC9 ; Jump if Acc is zero ROM:1CAF ROM:1CB1 000 add A, #17h ; Add Second Operand to Acc ROM:1CB3 000 jnz ROM_1CD0 ; Jump if Acc is not zero ROM:1CB3 ROM:1CB5 000 mov R7, RAM_62 ; Move (Op1 <- Op2) ROM:1CB7 000 ljmp ROM_1CD7 ; Long Jump ROM:1CB7 ROM:1CBA ; --------------------------------------------------------------------------- ROM:1CBA ROM:1CBA ROM_1CBA: ; CODE XREF: ROM_1C97+Ej ROM:1CBA 000 mov DPTR, #59h ; 'Y' ; Move (Op1 <- Op2) ROM:1CBD 000 sjmp ROM_1CCC ; Short jump ROM:1CBD ROM:1CBF ; --------------------------------------------------------------------------- ROM:1CBF ROM:1CBF ROM_1CBF: ; CODE XREF: ROM_1C97+11j ROM:1CBF 000 mov DPTR, #5Ah ; 'Z' ; Move (Op1 <- Op2) ROM:1CC2 000 sjmp ROM_1CCC ; Short jump ROM:1CC2 ROM:1CC4 ; --------------------------------------------------------------------------- ROM:1CC4 ROM:1CC4 ROM_1CC4: ; CODE XREF: ROM_1C97+15j ROM:1CC4 000 mov DPTR, #5Bh ; '[' ; Move (Op1 <- Op2) ROM:1CC7 000 sjmp ROM_1CCC ; Short jump ROM:1CC7 ROM:1CC9 ; --------------------------------------------------------------------------- ROM:1CC9 ROM:1CC9 ROM_1CC9: ; CODE XREF: ROM_1C97+18j ROM:1CC9 000 mov DPTR, #5Ch ; '\' ; Move (Op1 <- Op2) ROM:1CC9 ROM:1CCC ROM:1CCC ROM_1CCC: ; CODE XREF: ROM_1C97+26j ROM:1CCC ; ROM_1C97+2Bj ... ROM:1CCC 000 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:1CCE 000 movx @DPTR, A ; Move from/to external RAM ROM:1CCF 000 ret ; Return from subroutine ROM:1CCF ROM:1CD0 ; --------------------------------------------------------------------------- ROM:1CD0 ROM:1CD0 ROM_1CD0: ; CODE XREF: ROM_1C97+1Cj ROM:1CD0 000 mov DPTR, #6Fh ; 'o' ; Move (Op1 <- Op2) ROM:1CD3 000 movx A, @DPTR ; Move from/to external RAM ROM:1CD4 000 inc A ; Increment Operand ROM:1CD5 000 movx @DPTR, A ; Move from/to external RAM ROM:1CD5 ROM:1CD6 ROM:1CD6 ROM_1CD6: ; CODE XREF: ROM_1C97+3j ROM:1CD6 000 ret ; Return from subroutine ROM:1CD6 ROM:1CD7 ; --------------------------------------------------------------------------- ROM:1CD7 ROM:1CD7 ROM_1CD7: ; CODE XREF: ROM_1C97+20j ROM:1CD7 000 mov RAM_20, R7 ; Move (Op1 <- Op2) ROM:1CD9 000 jnb RAM_20.5, ROM_1CE1 ; Jump if Bit is clear ROM:1CD9 ROM:1CDC 000 lcall ROM_2092 ; Long Subroutine Call ROM:1CDC ROM:1CDF 000 sjmp ROM_1CE4 ; Short jump ROM:1CDF ROM:1CE1 ; --------------------------------------------------------------------------- ROM:1CE1 ROM:1CE1 ROM_1CE1: ; CODE XREF: ROM_1C97+42j ROM:1CE1 000 lcall ROM_2095 ; Long Subroutine Call ROM:1CE1 ROM:1CE4 ROM:1CE4 ROM_1CE4: ; CODE XREF: ROM_1C97+48j ROM:1CE4 000 jnb RAM_20.4, ROM_1CEC ; Jump if Bit is clear ROM:1CE4 ROM:1CE7 000 lcall ROM_20BC ; Long Subroutine Call ROM:1CE7 ROM:1CEA 000 sjmp ROM_1CEF ; Short jump ROM:1CEA ROM:1CEC ; --------------------------------------------------------------------------- ROM:1CEC ROM:1CEC ROM_1CEC: ; CODE XREF: ROM_1C97:ROM_1CE4j ROM:1CEC 000 lcall ROM_20C7 ; Long Subroutine Call ROM:1CEC ROM:1CEF ROM:1CEF ROM_1CEF: ; CODE XREF: ROM_1C97+53j ROM:1CEF 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1CF2 000 movx A, @DPTR ; Move from/to external RAM ROM:1CF3 000 jnb RAM_20.2, ROM_1CFA ; Jump if Bit is clear ROM:1CF3 ROM:1CF6 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:1CF8 000 movx @DPTR, A ; Move from/to external RAM ROM:1CF9 000 ret ; Return from subroutine ROM:1CF9 ROM:1CFA ; --------------------------------------------------------------------------- ROM:1CFA ROM:1CFA ROM_1CFA: ; CODE XREF: ROM_1C97+5Cj ROM:1CFA 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:1CFC 000 movx @DPTR, A ; Move from/to external RAM ROM:1CFD 000 ret ; Return from subroutine ROM:1CFD ROM:1CFD ; End of function ROM_1C97 ROM:1CFD ROM:1CFE ; --------------------------------------------------------------------------- ROM:1CFE lcall ROM_25D8 ; Long Subroutine Call ROM:1CFE ROM:1D01 jnc ROM_1D08 ; Jump if Carry is clear ROM:1D01 ROM:1D03 mov R7, #24h ; '$' ; Move (Op1 <- Op2) ROM:1D05 lcall ROM_1FF7 ; Long Subroutine Call ROM:1D05 ROM:1D08 ROM:1D08 ROM_1D08: ; CODE XREF: ROM:1D01j ROM:1D08 ret ; Return from subroutine ROM:1D08 ROM:1D09 ; --------------------------------------------------------------------------- ROM:1D09 lcall ROM_25D8 ; Long Subroutine Call ROM:1D09 ROM:1D0C jnc ROM_1D15 ; Jump if Carry is clear ROM:1D0C ROM:1D0E mov R5, RAM_62 ; Move (Op1 <- Op2) ROM:1D10 mov R7, #2 ; Move (Op1 <- Op2) ROM:1D12 lcall ROM_1D46 ; Long Subroutine Call ROM:1D12 ROM:1D15 ROM:1D15 ROM_1D15: ; CODE XREF: ROM:1D0Cj ROM:1D15 ret ; Return from subroutine ROM:1D15 ROM:1D16 ; --------------------------------------------------------------------------- ROM:1D16 lcall ROM_25D8 ; Long Subroutine Call ROM:1D16 ROM:1D19 jnc ROM_1D2D ; Jump if Carry is clear ROM:1D19 ROM:1D1B mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:1D1D mov A, @R0 ; Move (Op1 <- Op2) ROM:1D1E jnb ACC.0, ROM_1D28 ; Accumulator ROM:1D1E ROM:1D21 mov R5, RAM_62 ; Move (Op1 <- Op2) ROM:1D23 mov R7, #1 ; Move (Op1 <- Op2) ROM:1D25 ljmp ROM_1D46 ; Long Jump ROM:1D25 ROM:1D28 ; --------------------------------------------------------------------------- ROM:1D28 ROM:1D28 ROM_1D28: ; CODE XREF: ROM:1D1Ej ROM:1D28 mov R7, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:1D2A lcall ROM_1FF7 ; Long Subroutine Call ROM:1D2A ROM:1D2D ROM:1D2D ROM_1D2D: ; CODE XREF: ROM:1D19j ROM:1D2D ret ; Return from subroutine ROM:1D2D ROM:1D2E ; --------------------------------------------------------------------------- ROM:1D2E lcall ROM_25D8 ; Long Subroutine Call ROM:1D2E ROM:1D31 jnc ROM_1D45 ; Jump if Carry is clear ROM:1D31 ROM:1D33 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:1D35 mov A, @R0 ; Move (Op1 <- Op2) ROM:1D36 jnb ACC.0, ROM_1D40 ; Accumulator ROM:1D36 ROM:1D39 mov R5, RAM_62 ; Move (Op1 <- Op2) ROM:1D3B clr A ; Clear Operand (0) ROM:1D3C mov R7, A ; Move (Op1 <- Op2) ROM:1D3D ljmp ROM_1D46 ; Long Jump ROM:1D3D ROM:1D40 ; --------------------------------------------------------------------------- ROM:1D40 ROM:1D40 ROM_1D40: ; CODE XREF: ROM:1D36j ROM:1D40 mov R7, #0E4h ; 'S' ; Move (Op1 <- Op2) ROM:1D42 lcall ROM_1FF7 ; Long Subroutine Call ROM:1D42 ROM:1D45 ROM:1D45 ROM_1D45: ; CODE XREF: ROM:1D31j ROM:1D45 ret ; Return from subroutine ROM:1D45 ROM:1D46 ROM:1D46 ; =============== S U B R O U T I N E ======================================= ROM:1D46 ROM:1D46 ROM:1D46 ROM_1D46: ; CODE XREF: ROM:1D12p ROM:1D46 ; ROM:1D25j ... ROM:1D46 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1D49 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1D4A 000 movx @DPTR, A ; Move from/to external RAM ROM:1D4B 000 inc DPTR ; Increment Operand ROM:1D4C 000 mov A, R5 ; Move (Op1 <- Op2) ROM:1D4D 000 movx @DPTR, A ; Move from/to external RAM ROM:1D4E 000 clr A ; Clear Operand (0) ROM:1D4F 000 mov R0, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:1D51 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1D52 000 mov R0, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:1D54 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1D55 000 mov R0, #0ABh ; '½' ; Move (Op1 <- Op2) ROM:1D57 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1D58 000 mov DPTR, #PS2_PSCTL1 ; PS/2 Control Register 1 ROM:1D5B 000 mov A, #11h ; Move (Op1 <- Op2) ROM:1D5D 000 movx @DPTR, A ; Move from/to external RAM ROM:1D5E 000 mov DPTR, #PS2_PSINT1 ; PS/2 Interrupt Control Register 1 ROM:1D61 000 clr A ; Clear Operand (0) ROM:1D62 000 movx @DPTR, A ; Move from/to external RAM ROM:1D63 000 mov DPTR, #PS2_PSCTL2 ; PS/2 Control Register 2 ROM:1D66 000 mov A, #11h ; Move (Op1 <- Op2) ROM:1D68 000 movx @DPTR, A ; Move from/to external RAM ROM:1D69 000 mov DPTR, #PS2_PSINT2 ; PS/2 Interrupt Control Register 2 ROM:1D6C 000 clr A ; Clear Operand (0) ROM:1D6D 000 movx @DPTR, A ; Move from/to external RAM ROM:1D6E 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:1D71 000 mov A, #11h ; Move (Op1 <- Op2) ROM:1D73 000 movx @DPTR, A ; Move from/to external RAM ROM:1D74 000 mov DPTR, #PS2_PSINT3 ; PS/2 Interrupt Control Register 3 ROM:1D77 000 clr A ; Clear Operand (0) ROM:1D78 000 movx @DPTR, A ; Move from/to external RAM ROM:1D79 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1D7C 000 movx A, @DPTR ; Move from/to external RAM ROM:1D7D 000 mov R7, A ; Move (Op1 <- Op2) ROM:1D7E 000 jnz ROM_1D88 ; Jump if Acc is not zero ROM:1D7E ROM:1D80 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1D83 000 mov A, #0C0h ; '+' ; Move (Op1 <- Op2) ROM:1D85 000 movx @DPTR, A ; Move from/to external RAM ROM:1D86 000 sjmp ROM_1D97 ; Short jump ROM:1D86 ROM:1D88 ; --------------------------------------------------------------------------- ROM:1D88 ROM:1D88 ROM_1D88: ; CODE XREF: ROM_1D46+38j ROM:1D88 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1D89 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1D8C 000 cjne A, #1, ROM_1D94 ; Compare Operands and JNE ROM:1D8C ROM:1D8F 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:1D91 000 movx @DPTR, A ; Move from/to external RAM ROM:1D92 000 sjmp ROM_1D97 ; Short jump ROM:1D92 ROM:1D94 ; --------------------------------------------------------------------------- ROM:1D94 ROM:1D94 ROM_1D94: ; CODE XREF: ROM_1D46+46j ROM:1D94 000 mov A, #40h ; '@' ; Move (Op1 <- Op2) ROM:1D96 000 movx @DPTR, A ; Move from/to external RAM ROM:1D96 ROM:1D97 ROM:1D97 ROM_1D97: ; CODE XREF: ROM_1D46+40j ROM:1D97 ; ROM_1D46+4Cj ROM:1D97 000 mov A, RAM_5B ; Move (Op1 <- Op2) ROM:1D99 000 setb C ; Set Direct Bit ROM:1D9A 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:1D9C 000 jc ROM_1DF5 ; Jump if Carry is set ROM:1D9C ROM:1D9E 000 mov A, RAM_5B ; Move (Op1 <- Op2) ROM:1DA0 000 xrl A, #0E8h ; Exclusive OR (op1 ^= op2) ROM:1DA2 000 jnz ROM_1DC6 ; Jump if Acc is not zero ROM:1DA2 ROM:1DA4 000 mov RAM_5B, A ; Move (Op1 <- Op2) ROM:1DA6 000 mov DPTR, #635h ; Move (Op1 <- Op2) ROM:1DA9 000 movx A, @DPTR ; Move from/to external RAM ROM:1DAA 000 mov R5, A ; Move (Op1 <- Op2) ROM:1DAB 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1DAD 000 lcall ROM_3108 ; Long Subroutine Call ROM:1DAD ROM:1DB0 000 clr A ; Clear Operand (0) ROM:1DB1 000 rlc A ; Rotate Acc left through Carry ROM:1DB2 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1DB5 000 movx @DPTR, A ; Move from/to external RAM ROM:1DB6 000 inc DPTR ; Increment Operand ROM:1DB7 000 movx A, @DPTR ; Move from/to external RAM ROM:1DB8 000 mov R5, A ; Move (Op1 <- Op2) ROM:1DB9 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1DBB 000 lcall ROM_153D ; Long Subroutine Call ROM:1DBB ROM:1DBE 000 mov DPTR, #635h ; Move (Op1 <- Op2) ROM:1DC1 000 movx A, @DPTR ; Move from/to external RAM ROM:1DC2 000 mov R0, #8Fh ; 'Å' ; Move (Op1 <- Op2) ROM:1DC4 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1DC5 000 ret ; Return from subroutine ROM:1DC5 ROM:1DC6 ; --------------------------------------------------------------------------- ROM:1DC6 ROM:1DC6 ROM_1DC6: ; CODE XREF: ROM_1D46+5Cj ROM:1DC6 000 mov A, RAM_5B ; Move (Op1 <- Op2) ROM:1DC8 000 xrl A, #0F3h ; Exclusive OR (op1 ^= op2) ROM:1DCA 000 jnz ROM_1DF1 ; Jump if Acc is not zero ROM:1DCA ROM:1DCC 000 mov RAM_5B, A ; Move (Op1 <- Op2) ROM:1DCE 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1DD1 000 movx A, @DPTR ; Move from/to external RAM ROM:1DD2 000 mov R7, A ; Move (Op1 <- Op2) ROM:1DD3 000 inc DPTR ; Increment Operand ROM:1DD4 000 movx A, @DPTR ; Move from/to external RAM ROM:1DD5 000 mov R5, A ; Move (Op1 <- Op2) ROM:1DD6 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1DD8 000 lcall ROM_3108 ; Long Subroutine Call ROM:1DD8 ROM:1DDB 000 clr A ; Clear Operand (0) ROM:1DDC 000 rlc A ; Rotate Acc left through Carry ROM:1DDD 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1DE0 000 movx @DPTR, A ; Move from/to external RAM ROM:1DE1 000 inc DPTR ; Increment Operand ROM:1DE2 000 movx A, @DPTR ; Move from/to external RAM ROM:1DE3 000 mov R5, A ; Move (Op1 <- Op2) ROM:1DE4 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1DE6 000 lcall ROM_153D ; Long Subroutine Call ROM:1DE6 ROM:1DE9 000 mov DPTR, #635h ; Move (Op1 <- Op2) ROM:1DEC 000 movx A, @DPTR ; Move from/to external RAM ROM:1DED 000 mov R0, #8Eh ; 'Ä' ; Move (Op1 <- Op2) ROM:1DEF 000 mov @R0, A ; Move (Op1 <- Op2) ROM:1DF0 000 ret ; Return from subroutine ROM:1DF0 ROM:1DF1 ; --------------------------------------------------------------------------- ROM:1DF1 ROM:1DF1 ROM_1DF1: ; CODE XREF: ROM_1D46+84j ROM:1DF1 000 clr A ; Clear Operand (0) ROM:1DF2 000 mov RAM_5B, A ; Move (Op1 <- Op2) ROM:1DF4 000 ret ; Return from subroutine ROM:1DF4 ROM:1DF5 ; --------------------------------------------------------------------------- ROM:1DF5 ROM:1DF5 ROM_1DF5: ; CODE XREF: ROM_1D46+56j ROM:1DF5 000 clr A ; Clear Operand (0) ROM:1DF6 000 mov RAM_5B, A ; Move (Op1 <- Op2) ROM:1DF8 000 mov DPTR, #635h ; Move (Op1 <- Op2) ROM:1DFB 000 movx A, @DPTR ; Move from/to external RAM ROM:1DFC 000 mov R5, A ; Move (Op1 <- Op2) ROM:1DFD 000 add A, #18h ; Add Second Operand to Acc ROM:1DFF 000 jz ROM_1E33 ; Jump if Acc is zero ROM:1DFF ROM:1E01 000 dec A ; Decrement Operand ROM:1E02 000 jz ROM_1E41 ; Jump if Acc is zero ROM:1E02 ROM:1E04 000 add A, #0F7h ; '˜' ; Add Second Operand to Acc ROM:1E06 000 jnz ROM_1E0B ; Jump if Acc is not zero ROM:1E06 ROM:1E08 000 ljmp ROM_1EEA ; Long Jump ROM:1E08 ROM:1E0B ; --------------------------------------------------------------------------- ROM:1E0B ROM:1E0B ROM_1E0B: ; CODE XREF: ROM_1D46+C0j ROM:1E0B 000 dec A ; Decrement Operand ROM:1E0C 000 jnz ROM_1E11 ; Jump if Acc is not zero ROM:1E0C ROM:1E0E 000 ljmp ROM_1F32 ; Long Jump ROM:1E0E ROM:1E11 ; --------------------------------------------------------------------------- ROM:1E11 ROM:1E11 ROM_1E11: ; CODE XREF: ROM_1D46+C6j ROM:1E11 000 dec A ; Decrement Operand ROM:1E12 000 jnz ROM_1E17 ; Jump if Acc is not zero ROM:1E12 ROM:1E14 000 ljmp ROM_1F46 ; Long Jump ROM:1E14 ROM:1E17 ; --------------------------------------------------------------------------- ROM:1E17 ROM:1E17 ROM_1E17: ; CODE XREF: ROM_1D46+CCj ROM:1E17 000 dec A ; Decrement Operand ROM:1E18 000 jnz ROM_1E1D ; Jump if Acc is not zero ROM:1E18 ROM:1E1A 000 ljmp ROM_1F64 ; Long Jump ROM:1E1A ROM:1E1D ; --------------------------------------------------------------------------- ROM:1E1D ROM:1E1D ROM_1E1D: ; CODE XREF: ROM_1D46+D2j ROM:1E1D 000 add A, #0F6h ; '÷' ; Add Second Operand to Acc ROM:1E1F 000 jnz ROM_1E24 ; Jump if Acc is not zero ROM:1E1F ROM:1E21 000 ljmp ROM_1F82 ; Long Jump ROM:1E21 ROM:1E24 ; --------------------------------------------------------------------------- ROM:1E24 ROM:1E24 ROM_1E24: ; CODE XREF: ROM_1D46+D9j ROM:1E24 000 add A, #19h ; Add Second Operand to Acc ROM:1E26 000 jz ROM_1E2B ; Jump if Acc is zero ROM:1E26 ROM:1E28 000 ljmp ROM_1FA6 ; Long Jump ROM:1E28 ROM:1E2B ; --------------------------------------------------------------------------- ROM:1E2B ROM:1E2B ROM_1E2B: ; CODE XREF: ROM_1D46+E0j ROM:1E2B 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1E2E 000 movx A, @DPTR ; Move from/to external RAM ROM:1E2F 000 mov R7, A ; Move (Op1 <- Op2) ROM:1E30 000 ljmp ROM_1F3D ; Long Jump ROM:1E30 ROM:1E33 ; --------------------------------------------------------------------------- ROM:1E33 ROM:1E33 ROM_1E33: ; CODE XREF: ROM_1D46+B9j ROM:1E33 000 mov RAM_5B, #0E8h ; 'F' ; Move (Op1 <- Op2) ROM:1E36 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1E39 000 movx A, @DPTR ; Move from/to external RAM ROM:1E3A 000 mov R7, A ; Move (Op1 <- Op2) ROM:1E3B 000 inc DPTR ; Increment Operand ROM:1E3C 000 movx A, @DPTR ; Move from/to external RAM ROM:1E3D 000 mov R5, A ; Move (Op1 <- Op2) ROM:1E3E 000 ljmp ROM_1F3D ; Long Jump ROM:1E3E ROM:1E41 ; --------------------------------------------------------------------------- ROM:1E41 ROM:1E41 ROM_1E41: ; CODE XREF: ROM_1D46+BCj ROM:1E41 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1E44 000 movx A, @DPTR ; Move from/to external RAM ROM:1E45 000 mov R7, A ; Move (Op1 <- Op2) ROM:1E46 000 inc DPTR ; Increment Operand ROM:1E47 000 movx A, @DPTR ; Move from/to external RAM ROM:1E48 000 mov R5, A ; Move (Op1 <- Op2) ROM:1E49 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1E4B 000 lcall ROM_3108 ; Long Subroutine Call ROM:1E4B ROM:1E4E 000 clr A ; Clear Operand (0) ROM:1E4F 000 rlc A ; Rotate Acc left through Carry ROM:1E50 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1E53 000 movx @DPTR, A ; Move from/to external RAM ROM:1E54 000 inc DPTR ; Increment Operand ROM:1E55 000 movx A, @DPTR ; Move from/to external RAM ROM:1E56 000 mov R5, A ; Move (Op1 <- Op2) ROM:1E57 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1E59 000 lcall ROM_153D ; Long Subroutine Call ROM:1E59 ROM:1E5C 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1E5F 000 movx A, @DPTR ; Move from/to external RAM ROM:1E60 000 mov R7, A ; Move (Op1 <- Op2) ROM:1E61 000 lcall ROM_3276 ; Long Subroutine Call ROM:1E61 ROM:1E64 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1E67 000 movx A, @DPTR ; Move from/to external RAM ROM:1E68 000 mov B, #0Bh ; B Register ROM:1E6B 000 mul AB ; Multiply Acc by B ROM:1E6C 000 add A, #15h ; Add Second Operand to Acc ROM:1E6E 000 mov DP0L, A ; Data Pointer Low Byte ROM:1E70 000 mov A, B ; B Register ROM:1E72 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:1E74 000 mov DP0H, A ; Data Pointer High Byte ROM:1E76 000 clr A ; Clear Operand (0) ROM:1E77 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1E78 000 mov R6, A ; Move (Op1 <- Op2) ROM:1E79 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1E7B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1E7C 000 mov DP0L, A ; Data Pointer Low Byte ROM:1E7E 000 mov DP0H, R6 ; Data Pointer High Byte ROM:1E80 000 movx A, @DPTR ; Move from/to external RAM ROM:1E81 000 mov R7, A ; Move (Op1 <- Op2) ROM:1E82 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1E85 000 movx A, @DPTR ; Move from/to external RAM ROM:1E86 000 mov R5, A ; Move (Op1 <- Op2) ROM:1E87 000 lcall ROM_1641 ; Long Subroutine Call ROM:1E87 ROM:1E8A 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1E8D 000 movx A, @DPTR ; Move from/to external RAM ROM:1E8E 000 mov R7, A ; Move (Op1 <- Op2) ROM:1E8F 000 lcall ROM_3276 ; Long Subroutine Call ROM:1E8F ROM:1E92 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1E95 000 movx A, @DPTR ; Move from/to external RAM ROM:1E96 000 mov B, #0Bh ; B Register ROM:1E99 000 mul AB ; Multiply Acc by B ROM:1E9A 000 add A, #15h ; Add Second Operand to Acc ROM:1E9C 000 mov DP0L, A ; Data Pointer Low Byte ROM:1E9E 000 mov A, B ; B Register ROM:1EA0 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:1EA2 000 mov DP0H, A ; Data Pointer High Byte ROM:1EA4 000 clr A ; Clear Operand (0) ROM:1EA5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1EA6 000 mov R6, A ; Move (Op1 <- Op2) ROM:1EA7 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1EA9 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1EAA 000 mov DP0L, A ; Data Pointer Low Byte ROM:1EAC 000 mov DP0H, R6 ; Data Pointer High Byte ROM:1EAE 000 movx A, @DPTR ; Move from/to external RAM ROM:1EAF 000 mov R7, A ; Move (Op1 <- Op2) ROM:1EB0 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1EB3 000 movx A, @DPTR ; Move from/to external RAM ROM:1EB4 000 mov R5, A ; Move (Op1 <- Op2) ROM:1EB5 000 lcall ROM_1641 ; Long Subroutine Call ROM:1EB5 ROM:1EB8 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1EBB 000 movx A, @DPTR ; Move from/to external RAM ROM:1EBC 000 mov R7, A ; Move (Op1 <- Op2) ROM:1EBD 000 lcall ROM_3276 ; Long Subroutine Call ROM:1EBD ROM:1EC0 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1EC3 000 movx A, @DPTR ; Move from/to external RAM ROM:1EC4 000 mov B, #0Bh ; B Register ROM:1EC7 000 mul AB ; Multiply Acc by B ROM:1EC8 000 add A, #15h ; Add Second Operand to Acc ROM:1ECA 000 mov DP0L, A ; Data Pointer Low Byte ROM:1ECC 000 mov A, B ; B Register ROM:1ECE 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:1ED0 000 mov DP0H, A ; Data Pointer High Byte ROM:1ED2 000 clr A ; Clear Operand (0) ROM:1ED3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1ED4 000 mov R6, A ; Move (Op1 <- Op2) ROM:1ED5 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1ED7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1ED8 000 mov DP0L, A ; Data Pointer Low Byte ROM:1EDA 000 mov DP0H, R6 ; Data Pointer High Byte ROM:1EDC 000 movx A, @DPTR ; Move from/to external RAM ROM:1EDD 000 mov R7, A ; Move (Op1 <- Op2) ROM:1EDE 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1EE1 000 movx A, @DPTR ; Move from/to external RAM ROM:1EE2 000 mov R5, A ; Move (Op1 <- Op2) ROM:1EE3 000 lcall ROM_1641 ; Long Subroutine Call ROM:1EE3 ROM:1EE6 000 clr A ; Clear Operand (0) ROM:1EE7 000 ljmp ROM_1FB5 ; Long Jump ROM:1EE7 ROM:1EEA ; --------------------------------------------------------------------------- ROM:1EEA ROM:1EEA ROM_1EEA: ; CODE XREF: ROM_1D46+C2j ROM:1EEA 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1EED 000 movx A, @DPTR ; Move from/to external RAM ROM:1EEE 000 mov R7, A ; Move (Op1 <- Op2) ROM:1EEF 000 inc DPTR ; Increment Operand ROM:1EF0 000 movx A, @DPTR ; Move from/to external RAM ROM:1EF1 000 mov R5, A ; Move (Op1 <- Op2) ROM:1EF2 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1EF4 000 lcall ROM_3108 ; Long Subroutine Call ROM:1EF4 ROM:1EF7 000 clr A ; Clear Operand (0) ROM:1EF8 000 rlc A ; Rotate Acc left through Carry ROM:1EF9 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1EFC 000 movx @DPTR, A ; Move from/to external RAM ROM:1EFD 000 inc DPTR ; Increment Operand ROM:1EFE 000 movx A, @DPTR ; Move from/to external RAM ROM:1EFF 000 mov R5, A ; Move (Op1 <- Op2) ROM:1F00 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1F02 000 lcall ROM_153D ; Long Subroutine Call ROM:1F02 ROM:1F05 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1F08 000 movx A, @DPTR ; Move from/to external RAM ROM:1F09 000 mov R7, A ; Move (Op1 <- Op2) ROM:1F0A 000 lcall ROM_3276 ; Long Subroutine Call ROM:1F0A ROM:1F0D 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1F10 000 movx A, @DPTR ; Move from/to external RAM ROM:1F11 000 mov B, #0Bh ; B Register ROM:1F14 000 mul AB ; Multiply Acc by B ROM:1F15 000 add A, #15h ; Add Second Operand to Acc ROM:1F17 000 mov DP0L, A ; Data Pointer Low Byte ROM:1F19 000 mov A, B ; B Register ROM:1F1B 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:1F1D 000 mov DP0H, A ; Data Pointer High Byte ROM:1F1F 000 clr A ; Clear Operand (0) ROM:1F20 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1F21 000 mov R6, A ; Move (Op1 <- Op2) ROM:1F22 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1F24 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1F25 000 mov DP0L, A ; Data Pointer Low Byte ROM:1F27 000 mov DP0H, R6 ; Data Pointer High Byte ROM:1F29 000 movx A, @DPTR ; Move from/to external RAM ROM:1F2A 000 mov R7, A ; Move (Op1 <- Op2) ROM:1F2B 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1F2E 000 movx A, @DPTR ; Move from/to external RAM ROM:1F2F 000 mov R5, A ; Move (Op1 <- Op2) ROM:1F30 000 sjmp ROM_1F9D ; Short jump ROM:1F30 ROM:1F32 ; --------------------------------------------------------------------------- ROM:1F32 ROM:1F32 ROM_1F32: ; CODE XREF: ROM_1D46+C8j ROM:1F32 000 mov RAM_5B, #0F3h ; '=' ; Move (Op1 <- Op2) ROM:1F35 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1F38 000 movx A, @DPTR ; Move from/to external RAM ROM:1F39 000 mov R7, A ; Move (Op1 <- Op2) ROM:1F3A 000 inc DPTR ; Increment Operand ROM:1F3B 000 movx A, @DPTR ; Move from/to external RAM ROM:1F3C 000 mov R5, A ; Move (Op1 <- Op2) ROM:1F3C ROM:1F3D ROM:1F3D ROM_1F3D: ; CODE XREF: ROM_1D46+EAj ROM:1F3D ; ROM_1D46+F8j ROM:1F3D 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1F3F 000 lcall ROM_3108 ; Long Subroutine Call ROM:1F3F ROM:1F42 000 clr A ; Clear Operand (0) ROM:1F43 000 rlc A ; Rotate Acc left through Carry ROM:1F44 000 sjmp ROM_1FB5 ; Short jump ROM:1F44 ROM:1F46 ; --------------------------------------------------------------------------- ROM:1F46 ROM:1F46 ROM_1F46: ; CODE XREF: ROM_1D46+CEj ROM:1F46 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1F49 000 movx A, @DPTR ; Move from/to external RAM ROM:1F4A 000 mov R7, A ; Move (Op1 <- Op2) ROM:1F4B 000 inc DPTR ; Increment Operand ROM:1F4C 000 movx A, @DPTR ; Move from/to external RAM ROM:1F4D 000 mov R5, A ; Move (Op1 <- Op2) ROM:1F4E 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1F50 000 lcall ROM_3108 ; Long Subroutine Call ROM:1F50 ROM:1F53 000 clr A ; Clear Operand (0) ROM:1F54 000 rlc A ; Rotate Acc left through Carry ROM:1F55 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1F58 000 movx @DPTR, A ; Move from/to external RAM ROM:1F59 000 lcall ROM_2FC7 ; Long Subroutine Call ROM:1F59 ROM:1F5C 000 setb RAM_28.0 ; Set Direct Bit ROM:1F5E 000 setb RAM_28.1 ; Set Direct Bit ROM:1F60 000 setb RAM_28.2 ; Set Direct Bit ROM:1F62 000 sjmp ROM_1FB9 ; Short jump ROM:1F62 ROM:1F64 ; --------------------------------------------------------------------------- ROM:1F64 ROM:1F64 ROM_1F64: ; CODE XREF: ROM_1D46+D4j ROM:1F64 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1F67 000 movx A, @DPTR ; Move from/to external RAM ROM:1F68 000 mov R7, A ; Move (Op1 <- Op2) ROM:1F69 000 inc DPTR ; Increment Operand ROM:1F6A 000 movx A, @DPTR ; Move from/to external RAM ROM:1F6B 000 mov R5, A ; Move (Op1 <- Op2) ROM:1F6C 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1F6E 000 lcall ROM_3108 ; Long Subroutine Call ROM:1F6E ROM:1F71 000 clr A ; Clear Operand (0) ROM:1F72 000 rlc A ; Rotate Acc left through Carry ROM:1F73 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1F76 000 movx @DPTR, A ; Move from/to external RAM ROM:1F77 000 lcall ROM_2FC7 ; Long Subroutine Call ROM:1F77 ROM:1F7A 000 clr RAM_28.0 ; Clear Operand (0) ROM:1F7C 000 clr RAM_28.1 ; Clear Operand (0) ROM:1F7E 000 clr RAM_28.2 ; Clear Operand (0) ROM:1F80 000 sjmp ROM_1FB9 ; Short jump ROM:1F80 ROM:1F82 ; --------------------------------------------------------------------------- ROM:1F82 ROM:1F82 ROM_1F82: ; CODE XREF: ROM_1D46+DBj ROM:1F82 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1F85 000 movx A, @DPTR ; Move from/to external RAM ROM:1F86 000 mov R5, A ; Move (Op1 <- Op2) ROM:1F87 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1F89 000 lcall ROM_153D ; Long Subroutine Call ROM:1F89 ROM:1F8C 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1F8F 000 movx A, @DPTR ; Move from/to external RAM ROM:1F90 000 mov R5, A ; Move (Op1 <- Op2) ROM:1F91 000 mov R7, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:1F93 000 lcall ROM_153D ; Long Subroutine Call ROM:1F93 ROM:1F96 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1F99 000 movx A, @DPTR ; Move from/to external RAM ROM:1F9A 000 mov R5, A ; Move (Op1 <- Op2) ROM:1F9B 000 clr A ; Clear Operand (0) ROM:1F9C 000 mov R7, A ; Move (Op1 <- Op2) ROM:1F9C ROM:1F9D ROM:1F9D ROM_1F9D: ; CODE XREF: ROM_1D46+1EAj ROM:1F9D 000 lcall ROM_153D ; Long Subroutine Call ROM:1F9D ROM:1FA0 000 clr A ; Clear Operand (0) ROM:1FA1 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1FA4 000 movx @DPTR, A ; Move from/to external RAM ROM:1FA5 000 ret ; Return from subroutine ROM:1FA5 ROM:1FA6 ; --------------------------------------------------------------------------- ROM:1FA6 ROM:1FA6 ROM_1FA6: ; CODE XREF: ROM_1D46+E2j ROM:1FA6 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1FA9 000 movx A, @DPTR ; Move from/to external RAM ROM:1FAA 000 mov R7, A ; Move (Op1 <- Op2) ROM:1FAB 000 inc DPTR ; Increment Operand ROM:1FAC 000 movx A, @DPTR ; Move from/to external RAM ROM:1FAD 000 mov R5, A ; Move (Op1 <- Op2) ROM:1FAE 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1FB0 000 lcall ROM_3108 ; Long Subroutine Call ROM:1FB0 ROM:1FB3 000 clr A ; Clear Operand (0) ROM:1FB4 000 rlc A ; Rotate Acc left through Carry ROM:1FB4 ROM:1FB5 ROM:1FB5 ROM_1FB5: ; CODE XREF: ROM_1D46+1A1j ROM:1FB5 ; ROM_1D46+1FEj ROM:1FB5 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1FB8 000 movx @DPTR, A ; Move from/to external RAM ROM:1FB8 ROM:1FB9 ROM:1FB9 ROM_1FB9: ; CODE XREF: ROM_1D46+21Cj ROM:1FB9 ; ROM_1D46+23Aj ROM:1FB9 000 mov DPTR, #636h ; Move (Op1 <- Op2) ROM:1FBC 000 movx A, @DPTR ; Move from/to external RAM ROM:1FBD 000 jz ROM_1FC6 ; Jump if Acc is zero ROM:1FBD ROM:1FBF 000 inc DPTR ; Increment Operand ROM:1FC0 000 movx A, @DPTR ; Move from/to external RAM ROM:1FC1 000 mov R5, A ; Move (Op1 <- Op2) ROM:1FC2 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:1FC4 000 sjmp ROM_1FF3 ; Short jump ROM:1FC4 ROM:1FC6 ; --------------------------------------------------------------------------- ROM:1FC6 ROM:1FC6 ROM_1FC6: ; CODE XREF: ROM_1D46+277j ROM:1FC6 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1FC9 000 movx A, @DPTR ; Move from/to external RAM ROM:1FCA 000 mov R7, A ; Move (Op1 <- Op2) ROM:1FCB 000 lcall ROM_3276 ; Long Subroutine Call ROM:1FCB ROM:1FCE 000 jnc ROM_1FF6 ; Jump if Carry is clear ROM:1FCE ROM:1FD0 000 mov DPTR, #634h ; Move (Op1 <- Op2) ROM:1FD3 000 movx A, @DPTR ; Move from/to external RAM ROM:1FD4 000 mov B, #0Bh ; B Register ROM:1FD7 000 mul AB ; Multiply Acc by B ROM:1FD8 000 add A, #15h ; Add Second Operand to Acc ROM:1FDA 000 mov DP0L, A ; Data Pointer Low Byte ROM:1FDC 000 mov A, B ; B Register ROM:1FDE 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:1FE0 000 mov DP0H, A ; Data Pointer High Byte ROM:1FE2 000 clr A ; Clear Operand (0) ROM:1FE3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1FE4 000 mov R6, A ; Move (Op1 <- Op2) ROM:1FE5 000 mov A, #1 ; Move (Op1 <- Op2) ROM:1FE7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:1FE8 000 mov DP0L, A ; Data Pointer Low Byte ROM:1FEA 000 mov DP0H, R6 ; Data Pointer High Byte ROM:1FEC 000 movx A, @DPTR ; Move from/to external RAM ROM:1FED 000 mov R7, A ; Move (Op1 <- Op2) ROM:1FEE 000 mov DPTR, #637h ; Move (Op1 <- Op2) ROM:1FF1 000 movx A, @DPTR ; Move from/to external RAM ROM:1FF2 000 mov R5, A ; Move (Op1 <- Op2) ROM:1FF2 ROM:1FF3 ROM:1FF3 ROM_1FF3: ; CODE XREF: ROM_1D46+27Ej ROM:1FF3 000 lcall ROM_153D ; Long Subroutine Call ROM:1FF3 ROM:1FF6 ROM:1FF6 ROM_1FF6: ; CODE XREF: ROM_1D46+288j ROM:1FF6 000 ret ; Return from subroutine ROM:1FF6 ROM:1FF6 ; End of function ROM_1D46 ROM:1FF6 ROM:1FF7 ROM:1FF7 ; =============== S U B R O U T I N E ======================================= ROM:1FF7 ROM:1FF7 ROM:1FF7 ROM_1FF7: ; CODE XREF: ROM:1D05p ROM:1FF7 ; ROM:1D2Ap ... ROM:1FF7 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:1FFA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:1FFB 000 movx @DPTR, A ; Move from/to external RAM ROM:1FFC 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register ROM:1FFF 000 movx A, @DPTR ; Move from/to external RAM ROM:2000 000 jnb RAM_20.1, ROM_2008 ; Jump if Bit is clear ROM:2000 ROM:2003 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:2005 000 movx @DPTR, A ; Move from/to external RAM ROM:2006 000 sjmp ROM_200B ; Short jump ROM:2006 ROM:2008 ; --------------------------------------------------------------------------- ROM:2008 ROM:2008 ROM_2008: ; CODE XREF: ROM_1FF7+9j ROM:2008 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:200A 000 movx @DPTR, A ; Move from/to external RAM ROM:200A ROM:200B ROM:200B ROM_200B: ; CODE XREF: ROM_1FF7+Fj ROM:200B 000 mov R7, #14h ; Move (Op1 <- Op2) ROM:200D 000 lcall ROM_4D2E ; Long Subroutine Call ROM:200D ROM:2010 000 mov R7, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:2012 000 ljmp ROM_15FD ; Long Jump ROM:2012 ROM:2015 ; --------------------------------------------------------------------------- ROM:2015 000 ret ; Return from subroutine ROM:2015 ROM:2015 ; End of function ROM_1FF7 ROM:2015 ROM:2016 ; --------------------------------------------------------------------------- ROM:2016 mov R0, #3Ch ; '<' ; Move (Op1 <- Op2) ROM:2018 mov A, @R0 ; Move (Op1 <- Op2) ROM:2019 rrc A ; Rotate Acc right through Carry ROM:201A rrc A ; Rotate Acc right through Carry ROM:201B anl A, #3Fh ; Logical AND (op1 &= op2) ROM:201D jnb ACC.0, ROM_2024 ; Accumulator ROM:201D ROM:2020 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2022 sjmp ROM_2026 ; Short jump ROM:2022 ROM:2024 ; --------------------------------------------------------------------------- ROM:2024 ROM:2024 ROM_2024: ; CODE XREF: ROM:201Dj ROM:2024 mov R7, #0F1h ; '±' ; Move (Op1 <- Op2) ROM:2024 ROM:2026 ROM:2026 ROM_2026: ; CODE XREF: ROM:2022j ROM:2026 lcall ROM_1462 ; Long Subroutine Call ROM:2026 ROM:2029 ret ; Return from subroutine ROM:2029 ROM:202A ; --------------------------------------------------------------------------- ROM:202A lcall ROM_25E6 ; Long Subroutine Call ROM:202A ROM:202D jnc ROM_2033 ; Jump if Carry is clear ROM:202D ROM:202F clr A ; Clear Operand (0) ROM:2030 mov RAM_6A, A ; Move (Op1 <- Op2) ROM:2032 ret ; Return from subroutine ROM:2032 ROM:2033 ; --------------------------------------------------------------------------- ROM:2033 ROM:2033 ROM_2033: ; CODE XREF: ROM:202Dj ROM:2033 lcall ROM_2037 ; Long Subroutine Call ROM:2033 ROM:2036 ret ; Return from subroutine ROM:2036 ROM:2037 ROM:2037 ; =============== S U B R O U T I N E ======================================= ROM:2037 ROM:2037 ROM:2037 ROM_2037: ; CODE XREF: ROM:ROM_2033p ROM:2037 000 mov A, RAM_6A ; Move (Op1 <- Op2) ROM:2039 000 jnz ROM_2046 ; Jump if Acc is not zero ROM:2039 ROM:203B 000 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:203D 000 jnz ROM_2046 ; Jump if Acc is not zero ROM:203D ROM:203F 000 mov R0, #3Ch ; '<' ; Move (Op1 <- Op2) ROM:2041 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2042 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:2044 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2045 000 ret ; Return from subroutine ROM:2045 ROM:2046 ; --------------------------------------------------------------------------- ROM:2046 ROM:2046 ROM_2046: ; CODE XREF: ROM_2037+2j ROM:2046 ; ROM_2037+6j ROM:2046 000 mov A, RAM_6A ; Move (Op1 <- Op2) ROM:2048 000 clr C ; Clear Operand (0) ROM:2049 000 subb A, #8 ; Subtract Second Operand from Acc with Borrow ROM:204B 000 jnc ROM_205E ; Jump if Carry is clear ROM:204B ROM:204D 000 mov R7, RAM_6A ; Move (Op1 <- Op2) ROM:204F 000 mov A, #50h ; 'P' ; Move (Op1 <- Op2) ROM:2051 000 add A, R7 ; Add Second Operand to Acc ROM:2052 000 mov DP0L, A ; Data Pointer Low Byte ROM:2054 000 clr A ; Clear Operand (0) ROM:2055 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:2057 000 mov DP0H, A ; Data Pointer High Byte ROM:2059 000 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:205B 000 movx @DPTR, A ; Move from/to external RAM ROM:205C 000 inc RAM_6A ; Increment Operand ROM:205C ROM:205E ROM:205E ROM_205E: ; CODE XREF: ROM_2037+14j ROM:205E 000 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:2060 000 jnz ROM_2068 ; Jump if Acc is not zero ROM:2060 ROM:2062 000 mov R0, #3Ch ; '<' ; Move (Op1 <- Op2) ROM:2064 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2065 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:2067 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2067 ROM:2068 ROM:2068 ROM_2068: ; CODE XREF: ROM_2037+29j ROM:2068 000 ret ; Return from subroutine ROM:2068 ROM:2068 ; End of function ROM_2037 ROM:2068 ROM:2069 ; --------------------------------------------------------------------------- ROM:2069 mov R0, #3Ch ; '<' ; Move (Op1 <- Op2) ROM:206B mov A, @R0 ; Move (Op1 <- Op2) ROM:206C rrc A ; Rotate Acc right through Carry ROM:206D rrc A ; Rotate Acc right through Carry ROM:206E anl A, #3Fh ; Logical AND (op1 &= op2) ROM:2070 jnb ACC.0, ROM_208C ; Accumulator ROM:2070 ROM:2073 setb RAM_29.4 ; Set Direct Bit ROM:2075 clr A ; Clear Operand (0) ROM:2076 mov DPTR, #58h ; 'X' ; Move (Op1 <- Op2) ROM:2079 movx @DPTR, A ; Move from/to external RAM ROM:207A mov A, @R0 ; Move (Op1 <- Op2) ROM:207B anl A, #0FEh ; Logical AND (op1 &= op2) ROM:207D mov @R0, A ; Move (Op1 <- Op2) ROM:207E mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:2081 movx A, @DPTR ; Move from/to external RAM ROM:2082 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:2084 movx @DPTR, A ; Move from/to external RAM ROM:2085 mov DPTR, #59h ; 'Y' ; Move (Op1 <- Op2) ROM:2088 movx A, @DPTR ; Move from/to external RAM ROM:2089 mov R7, A ; Move (Op1 <- Op2) ROM:208A sjmp ROM_208E ; Short jump ROM:208A ROM:208C ; --------------------------------------------------------------------------- ROM:208C ROM:208C ROM_208C: ; CODE XREF: ROM:2070j ROM:208C clr A ; Clear Operand (0) ROM:208D mov R7, A ; Move (Op1 <- Op2) ROM:208D ROM:208E ROM:208E ROM_208E: ; CODE XREF: ROM:208Aj ROM:208E lcall ROM_1462 ; Long Subroutine Call ROM:208E ROM:2091 ret ; Return from subroutine ROM:2091 ROM:2092 ROM:2092 ; =============== S U B R O U T I N E ======================================= ROM:2092 ROM:2092 ROM:2092 ROM_2092: ; CODE XREF: ROM_1C97+45p ROM:2092 ; ROM:23D2p ... ROM:2092 000 setb RAM_20.5 ; Set Direct Bit ROM:2094 000 ret ; Return from subroutine ROM:2094 ROM:2094 ; End of function ROM_2092 ROM:2094 ROM:2095 ROM:2095 ; =============== S U B R O U T I N E ======================================= ROM:2095 ROM:2095 ROM:2095 ROM_2095: ; CODE XREF: ROM_1C97:ROM_1CE1p ROM:2095 ; ROM:2396p ... ROM:2095 000 clr RAM_20.5 ; Clear Operand (0) ROM:2097 000 ret ; Return from subroutine ROM:2097 ROM:2097 ; End of function ROM_2095 ROM:2097 ROM:2098 ; --------------------------------------------------------------------------- ROM:2098 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:209A mov A, @R0 ; Move (Op1 <- Op2) ROM:209B anl A, #7Fh ; Logical AND (op1 &= op2) ROM:209D mov @R0, A ; Move (Op1 <- Op2) ROM:209E clr A ; Clear Operand (0) ROM:209F mov R7, A ; Move (Op1 <- Op2) ROM:20A0 ljmp ROM_1462 ; Long Jump ROM:20A0 ROM:20A3 ; --------------------------------------------------------------------------- ROM:20A3 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:20A5 mov A, @R0 ; Move (Op1 <- Op2) ROM:20A6 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:20A8 mov @R0, A ; Move (Op1 <- Op2) ROM:20A9 mov R7, #55h ; 'U' ; Move (Op1 <- Op2) ROM:20AB lcall ROM_1462 ; Long Subroutine Call ROM:20AB ROM:20AE mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:20B1 movx A, @DPTR ; Move from/to external RAM ROM:20B2 orl A, #20h ; Logical OR (op1 |= op2) ROM:20B4 movx @DPTR, A ; Move from/to external RAM ROM:20B5 ret ; Return from subroutine ROM:20B5 ROM:20B6 ; --------------------------------------------------------------------------- ROM:20B6 clr A ; Clear Operand (0) ROM:20B7 mov R7, A ; Move (Op1 <- Op2) ROM:20B8 ljmp ROM_1462 ; Long Jump ROM:20B8 ROM:20BB ; --------------------------------------------------------------------------- ROM:20BB ret ; Return from subroutine ROM:20BB ROM:20BC ROM:20BC ; =============== S U B R O U T I N E ======================================= ROM:20BC ROM:20BC ROM:20BC ROM_20BC: ; CODE XREF: ROM_1C97+50p ROM:20BC ROM:20BC ; FUNCTION CHUNK AT ROM:3DE3 SIZE 00000007 BYTES ROM:20BC ROM:20BC 000 setb RAM_20.4 ; Set Direct Bit ROM:20BE 000 mov R0, #3Ch ; '<' ; Move (Op1 <- Op2) ROM:20C0 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:20C1 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:20C3 000 mov @R0, A ; Move (Op1 <- Op2) ROM:20C4 000 ljmp ROM_3DE3 ; Long Jump ROM:20C4 ROM:20C4 ; End of function ROM_20BC ROM:20C4 ROM:20C7 ROM:20C7 ; =============== S U B R O U T I N E ======================================= ROM:20C7 ROM:20C7 ROM:20C7 ROM_20C7: ; CODE XREF: ROM_1C97:ROM_1CECp ROM:20C7 000 clr RAM_20.4 ; Clear Operand (0) ROM:20C9 000 mov R0, #3Ch ; Move (Op1 <- Op2) ROM:20CB 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:20CC 000 anl A, #11111110b ; Logical AND (op1 &= op2) ROM:20CE 000 mov @R0, A ; Move (Op1 <- Op2) ROM:20CF 000 ret ; Return from subroutine ROM:20CF ROM:20CF ; End of function ROM_20C7 ROM:20CF ROM:20D0 ; --------------------------------------------------------------------------- ROM:20D0 mov R7, #0BFh ; '+' ; Move (Op1 <- Op2) ROM:20D2 ljmp ROM_1462 ; Long Jump ROM:20D2 ROM:20D5 ; --------------------------------------------------------------------------- ROM:20D5 mov R7, RAM_5F ; Move (Op1 <- Op2) ROM:20D7 ljmp ROM_1462 ; Long Jump ROM:20D7 ROM:20DA ; --------------------------------------------------------------------------- ROM:20DA setb RAM_22.0 ; Set Direct Bit ROM:20DC lcall ROM_25D8 ; Long Subroutine Call ROM:20DC ROM:20DF jnc ROM_20F2 ; Jump if Carry is clear ROM:20DF ROM:20E1 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:20E3 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:20E6 jnb ACC.1, ROM_20EE ; Accumulator ROM:20E6 ROM:20E9 movx A, @DPTR ; Move from/to external RAM ROM:20EA orl A, #20h ; Logical OR (op1 |= op2) ROM:20EC movx @DPTR, A ; Move from/to external RAM ROM:20ED ret ; Return from subroutine ROM:20ED ROM:20EE ; --------------------------------------------------------------------------- ROM:20EE ROM:20EE ROM_20EE: ; CODE XREF: ROM:20E6j ROM:20EE movx A, @DPTR ; Move from/to external RAM ROM:20EF anl A, #0DFh ; Logical AND (op1 &= op2) ROM:20F1 movx @DPTR, A ; Move from/to external RAM ROM:20F1 ROM:20F2 ROM:20F2 ROM_20F2: ; CODE XREF: ROM:20DFj ROM:20F2 ret ; Return from subroutine ROM:20F2 ROM:20F3 ; --------------------------------------------------------------------------- ROM:20F3 lcall ROM_25D8 ; Long Subroutine Call ROM:20F3 ROM:20F6 jnc ROM_20FD ; Jump if Carry is clear ROM:20F6 ROM:20F8 mov R7, RAM_62 ; Move (Op1 <- Op2) ROM:20FA lcall ROM_14CE ; Long Subroutine Call ROM:20FA ROM:20FD ROM:20FD ROM_20FD: ; CODE XREF: ROM:20F6j ROM:20FD ret ; Return from subroutine ROM:20FD ROM:20FE ; --------------------------------------------------------------------------- ROM:20FE lcall ROM_25D8 ; Long Subroutine Call ROM:20FE ROM:2101 jnc ROM_2108 ; Jump if Carry is clear ROM:2101 ROM:2103 clr RAM_20.5 ; Clear Operand (0) ROM:2105 lcall ROM_2109 ; Long Subroutine Call ROM:2105 ROM:2108 ROM:2108 ROM_2108: ; CODE XREF: ROM:2101j ROM:2108 ret ; Return from subroutine ROM:2108 ROM:2109 ROM:2109 ; =============== S U B R O U T I N E ======================================= ROM:2109 ROM:2109 ROM:2109 ROM_2109: ; CODE XREF: ROM:2105p ROM:2109 000 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:210B 000 add A, #0AAh ; '¬' ; Add Second Operand to Acc ROM:210D 000 jz ROM_2121 ; Jump if Acc is zero ROM:210D ROM:210F 000 add A, #0B2h ; '¦' ; Add Second Operand to Acc ROM:2111 000 jz ROM_2128 ; Jump if Acc is zero ROM:2111 ROM:2113 000 dec A ; Decrement Operand ROM:2114 000 jz ROM_213A ; Jump if Acc is zero ROM:2114 ROM:2116 000 add A, #0B5h ; '¦' ; Add Second Operand to Acc ROM:2118 000 jnz ROM_214E ; Jump if Acc is not zero ROM:2118 ROM:211A 000 mov RAM_5C, #1 ; Move (Op1 <- Op2) ROM:211D 000 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:211F 000 sjmp ROM_2125 ; Short jump ROM:211F ROM:2121 ; --------------------------------------------------------------------------- ROM:2121 ROM:2121 ROM_2121: ; CODE XREF: ROM_2109+4j ROM:2121 000 inc RAM_5C ; Increment Operand ROM:2123 000 mov R7, #56h ; 'V' ; Move (Op1 <- Op2) ROM:2123 ROM:2125 ROM:2125 ROM_2125: ; CODE XREF: ROM_2109+16j ROM:2125 000 ljmp ROM_15FD ; Long Jump ROM:2125 ROM:2128 ; --------------------------------------------------------------------------- ROM:2128 ROM:2128 ROM_2128: ; CODE XREF: ROM_2109+8j ROM:2128 000 mov A, RAM_5C ; Move (Op1 <- Op2) ROM:212A 000 xrl A, #2 ; Exclusive OR (op1 ^= op2) ROM:212C 000 jnz ROM_2151 ; Jump if Acc is not zero ROM:212C ROM:212E 000 mov R7, #11h ; Move (Op1 <- Op2) ROM:2130 000 lcall ROM_15FD ; Long Subroutine Call ROM:2130 ROM:2133 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:2135 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2136 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:2138 000 sjmp ROM_2149 ; Short jump ROM:2138 ROM:213A ; --------------------------------------------------------------------------- ROM:213A ROM:213A ROM_213A: ; CODE XREF: ROM_2109+Bj ROM:213A 000 mov A, RAM_5C ; Move (Op1 <- Op2) ROM:213C 000 cjne A, #2, ROM_2151 ; Compare Operands and JNE ROM:213C ROM:213F 000 mov R7, #11h ; Move (Op1 <- Op2) ROM:2141 000 lcall ROM_15FD ; Long Subroutine Call ROM:2141 ROM:2144 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:2146 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2147 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:2147 ROM:2149 ROM:2149 ROM_2149: ; CODE XREF: ROM_2109+2Fj ROM:2149 000 mov @R0, A ; Move (Op1 <- Op2) ROM:214A 000 clr A ; Clear Operand (0) ROM:214B 000 mov RAM_5C, A ; Move (Op1 <- Op2) ROM:214D 000 ret ; Return from subroutine ROM:214D ROM:214E ; --------------------------------------------------------------------------- ROM:214E ROM:214E ROM_214E: ; CODE XREF: ROM_2109+Fj ROM:214E 000 clr A ; Clear Operand (0) ROM:214F 000 mov RAM_5C, A ; Move (Op1 <- Op2) ROM:214F ROM:2151 ROM:2151 ROM_2151: ; CODE XREF: ROM_2109+23j ROM:2151 ; ROM_2109+33j ROM:2151 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:2153 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2154 000 swap A ; Swap nibbles of Acc ROM:2155 000 rrc A ; Rotate Acc right through Carry ROM:2156 000 rrc A ; Rotate Acc right through Carry ROM:2157 000 rrc A ; Rotate Acc right through Carry ROM:2158 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:215A 000 jb ACC.0, ROM_2167 ; Accumulator ROM:215A ROM:215D 000 mov A, RAM_5C ; Move (Op1 <- Op2) ROM:215F 000 jnz ROM_2167 ; Jump if Acc is not zero ROM:215F ROM:2161 000 mov R5, A ; Move (Op1 <- Op2) ROM:2162 000 mov R7, RAM_62 ; Move (Op1 <- Op2) ROM:2164 000 lcall ROM_153D ; Long Subroutine Call ROM:2164 ROM:2167 ROM:2167 ROM_2167: ; CODE XREF: ROM_2109+51j ROM:2167 ; ROM_2109+56j ROM:2167 000 ret ; Return from subroutine ROM:2167 ROM:2167 ; End of function ROM_2109 ROM:2167 ROM:2168 ROM:2168 ; =============== S U B R O U T I N E ======================================= ROM:2168 ROM:2168 ROM:2168 ROM_2168: ROM:2168 ROM:2168 ; FUNCTION CHUNK AT ROM:22A6 SIZE 00000008 BYTES ROM:2168 ; FUNCTION CHUNK AT ROM:23E6 SIZE 00000009 BYTES ROM:2168 ; FUNCTION CHUNK AT ROM:2518 SIZE 000000BB BYTES ROM:2168 ROM:2168 000 lcall ROM_25D8 ; Long Subroutine Call ROM:2168 ROM:216B 000 jnc ROM_2177 ; Jump if Carry is clear ROM:216B ROM:216D 000 mov A, RAM_5D ; Move (Op1 <- Op2) ROM:216F 000 jnz ROM_2174 ; Jump if Acc is not zero ROM:216F ROM:2171 000 ljmp ROM_217E ; Long Jump ROM:2171 ROM:2174 ; --------------------------------------------------------------------------- ROM:2174 ROM:2174 ROM_2174: ; CODE XREF: ROM_2168+7j ROM:2174 000 ljmp ROM_2518 ; Long Jump ROM:2174 ROM:2177 ; --------------------------------------------------------------------------- ROM:2177 ROM:2177 ROM_2177: ; CODE XREF: ROM_2168+3j ROM:2177 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:2179 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:217A 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:217C 000 mov @R0, A ; Move (Op1 <- Op2) ROM:217D 000 ret ; Return from subroutine ROM:217D ROM:217E ; --------------------------------------------------------------------------- ROM:217E ROM:217E ROM_217E: ; CODE XREF: ROM_2168+9j ROM:217E 000 clr A ; Clear Operand (0) ROM:217F 000 mov DPTR, #638h ; Move (Op1 <- Op2) ROM:2182 000 movx @DPTR, A ; Move from/to external RAM ROM:2183 000 mov RAM_5D, A ; Move (Op1 <- Op2) ROM:2185 000 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:2187 000 lcall ROM_B6CF ; Long Subroutine Call ROM:2187 ROM:218A 000 ajmp ROM_21C1 ; Absolute Jump ROM:218A ROM:218C ; --------------------------------------------------------------------------- ROM:218C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:218D 000 ajmp ROM_21CE ; Absolute Jump ROM:218D ROM:218F ; --------------------------------------------------------------------------- ROM:218F 000 mov A, @R1 ; Move (Op1 <- Op2) ROM:2190 000 ajmp ROM_21DB ; Absolute Jump ROM:2190 ROM:2192 ; --------------------------------------------------------------------------- ROM:2192 000 mov A, R0 ; Move (Op1 <- Op2) ROM:2193 000 ajmp ROM_21E1 ; Absolute Jump ROM:2193 ROM:2195 ; --------------------------------------------------------------------------- ROM:2195 000 mov A, R1 ; Move (Op1 <- Op2) ROM:2196 000 ret ; Return from subroutine ROM:2196 ROM:2197 ; --------------------------------------------------------------------------- ROM:2197 000 xrl FSR_EA, A ; Exclusive OR (op1 ^= op2) ROM:2199 000 ret ; Return from subroutine ROM:2199 ROM:219A ; --------------------------------------------------------------------------- ROM:219A 000 mov A, #0EBh ; 'd' ; Move (Op1 <- Op2) ROM:219C 000 ret ; Return from subroutine ROM:219C ROM:219D ; --------------------------------------------------------------------------- ROM:219D 000 mov R6, FSR_EC ; Move (Op1 <- Op2) ROM:219F 000 ret ; Return from subroutine ROM:219F ROM:21A0 ; --------------------------------------------------------------------------- ROM:21A0 000 push FSR_EE ; Push from Direct RAM to Stack ROM:21A2 001 ret ; Return from subroutine ROM:21A2 ROM:21A3 ; --------------------------------------------------------------------------- ROM:21A3 001 setb B.0 ; B Register ROM:21A5 001 ret ; Return from subroutine ROM:21A5 ROM:21A6 ; --------------------------------------------------------------------------- ROM:21A6 001 clr A ; Clear Operand (0) ROM:21A7 001 movx @R0, A ; Move from/to external RAM ROM:21A8 001 rl A ; Rotate Acc left ROM:21A9 001 anl A, R1 ; Logical AND (op1 &= op2) ROM:21A9 ROM:21AA ROM:21AA ROM_21AA: ; CODE XREF: ROM_2168+4Aj ROM:21AA 001 movx @R1, A ; Move from/to external RAM ROM:21AB 001 rl A ; Rotate Acc left ROM:21AC 001 mov FSR_F4, R0 ; Move (Op1 <- Op2) ROM:21AE 001 rl A ; Rotate Acc left ROM:21AF 001 swap A ; Swap nibbles of Acc ROM:21B0 001 mov RAM_23, A ; Move (Op1 <- Op2) ROM:21B2 001 djnz R6, ROM_21AA ; Decrement Operand and JNZ ROM:21B2 ROM:21B4 001 rl A ; Rotate Acc left ROM:21B5 001 mov A, R7 ; Move (Op1 <- Op2) ROM:21B6 001 mov @R1, A ; Move (Op1 <- Op2) ROM:21B7 001 add A, #4Dh ; 'M' ; Add Second Operand to Acc ROM:21B9 001 mov R6, A ; Move (Op1 <- Op2) ROM:21BA 001 add A, #57h ; 'W' ; Add Second Operand to Acc ROM:21BC 001 mov R7, A ; Move (Op1 <- Op2) ROM:21BD 001 nop ; No operation ROM:21BE 001 nop ; No operation ROM:21BF 001 add A, #0D5h ; '+' ; Add Second Operand to Acc ROM:21BF ROM:21C1 ROM:21C1 ROM_21C1: ; CODE XREF: ROM_2168+22j ROM:21C1 001 mov R7, #0E6h ; 'µ' ; Move (Op1 <- Op2) ROM:21C3 001 lcall ROM_3693 ; Long Subroutine Call ROM:21C3 ROM:21C6 001 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:21C8 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:21C9 001 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:21CB 001 ljmp ROM_2270 ; Long Jump ROM:21CB ROM:21CE ; --------------------------------------------------------------------------- ROM:21CE ROM:21CE ROM_21CE: ; CODE XREF: ROM_2168+25j ROM:21CE 001 mov R7, #0E7h ; 't' ; Move (Op1 <- Op2) ROM:21D0 001 lcall ROM_3693 ; Long Subroutine Call ROM:21D0 ROM:21D3 001 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:21D5 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:21D6 001 orl A, #10h ; Logical OR (op1 |= op2) ROM:21D8 001 ljmp ROM_2270 ; Long Jump ROM:21D8 ROM:21DB ; --------------------------------------------------------------------------- ROM:21DB ROM:21DB ROM_21DB: ; CODE XREF: ROM_2168+28j ROM:21DB 001 mov RAM_5D, #0E8h ; 'F' ; Move (Op1 <- Op2) ROM:21DE 001 ljmp ROM_23E6 ; Long Jump ROM:21DE ROM:21E1 ; --------------------------------------------------------------------------- ROM:21E1 ROM:21E1 ROM_21E1: ; CODE XREF: ROM_2168+2Bj ROM:21E1 001 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:21E3 001 mov R5, #0E9h ; 'T' ; Move (Op1 <- Op2) ROM:21E5 001 mov R7, #2 ; Move (Op1 <- Op2) ROM:21E7 001 lcall ROM_3108 ; Long Subroutine Call ROM:21E7 ROM:21EA 001 clr A ; Clear Operand (0) ROM:21EB 001 mov R5, A ; Move (Op1 <- Op2) ROM:21EC 001 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:21EE 001 jnc ROM_223A ; Jump if Carry is clear ROM:21EE ROM:21F0 001 lcall ROM_153D ; Long Subroutine Call ROM:21F0 ROM:21F3 001 mov R7, #2 ; Move (Op1 <- Op2) ROM:21F5 001 lcall ROM_3276 ; Long Subroutine Call ROM:21F5 ROM:21F8 001 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:21FB 001 clr A ; Clear Operand (0) ROM:21FC 001 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:21FD 001 mov R6, A ; Move (Op1 <- Op2) ROM:21FE 001 mov A, #1 ; Move (Op1 <- Op2) ROM:2200 001 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2201 001 mov DP0L, A ; Data Pointer Low Byte ROM:2203 001 mov DP0H, R6 ; Data Pointer High Byte ROM:2205 001 movx A, @DPTR ; Move from/to external RAM ROM:2206 001 mov R7, A ; Move (Op1 <- Op2) ROM:2207 001 clr A ; Clear Operand (0) ROM:2208 001 mov R5, A ; Move (Op1 <- Op2) ROM:2209 001 lcall ROM_1641 ; Long Subroutine Call ROM:2209 ROM:220C 001 mov R7, #2 ; Move (Op1 <- Op2) ROM:220E 001 lcall ROM_3276 ; Long Subroutine Call ROM:220E ROM:2211 001 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:2214 001 clr A ; Clear Operand (0) ROM:2215 001 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2216 001 mov R6, A ; Move (Op1 <- Op2) ROM:2217 001 mov A, #1 ; Move (Op1 <- Op2) ROM:2219 001 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:221A 001 mov DP0L, A ; Data Pointer Low Byte ROM:221C 001 mov DP0H, R6 ; Data Pointer High Byte ROM:221E 001 movx A, @DPTR ; Move from/to external RAM ROM:221F 001 mov R7, A ; Move (Op1 <- Op2) ROM:2220 001 clr A ; Clear Operand (0) ROM:2221 001 mov R5, A ; Move (Op1 <- Op2) ROM:2222 001 lcall ROM_1641 ; Long Subroutine Call ROM:2222 ROM:2225 001 mov R7, #2 ; Move (Op1 <- Op2) ROM:2227 001 lcall ROM_3276 ; Long Subroutine Call ROM:2227 ROM:222A 001 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:222D 001 clr A ; Clear Operand (0) ROM:222E 001 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:222F 001 mov R6, A ; Move (Op1 <- Op2) ROM:2230 001 mov A, #1 ; Move (Op1 <- Op2) ROM:2232 001 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2233 001 mov DP0L, A ; Data Pointer Low Byte ROM:2235 001 mov DP0H, R6 ; Data Pointer High Byte ROM:2237 001 movx A, @DPTR ; Move from/to external RAM ROM:2238 001 sjmp ROM_225A ; Short jump ROM:2238 ROM:223A ; --------------------------------------------------------------------------- ROM:223A ROM:223A ROM_223A: ; CODE XREF: ROM_2168+86j ROM:223A 001 lcall ROM_153D ; Long Subroutine Call ROM:223A ROM:223D 001 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:223F 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:2240 001 anl A, #70h ; Logical AND (op1 &= op2) ROM:2242 001 mov R1, #8Bh ; 'ï' ; Move (Op1 <- Op2) ROM:2244 001 mov @R1, A ; Move (Op1 <- Op2) ROM:2245 001 mov R0, #8Bh ; 'ï' ; Move (Op1 <- Op2) ROM:2247 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:2248 001 mov R7, A ; Move (Op1 <- Op2) ROM:2249 001 clr A ; Clear Operand (0) ROM:224A 001 mov R5, A ; Move (Op1 <- Op2) ROM:224B 001 lcall ROM_1641 ; Long Subroutine Call ROM:224B ROM:224E 001 mov R0, #8Dh ; 'ì' ; Move (Op1 <- Op2) ROM:2250 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:2251 001 mov R7, A ; Move (Op1 <- Op2) ROM:2252 001 clr A ; Clear Operand (0) ROM:2253 001 mov R5, A ; Move (Op1 <- Op2) ROM:2254 001 lcall ROM_1641 ; Long Subroutine Call ROM:2254 ROM:2257 001 mov R0, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:2259 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:2259 ROM:225A ROM:225A ROM_225A: ; CODE XREF: ROM_2168+D0j ROM:225A 001 mov R7, A ; Move (Op1 <- Op2) ROM:225B 001 clr A ; Clear Operand (0) ROM:225C 001 mov R5, A ; Move (Op1 <- Op2) ROM:225D 001 lcall ROM_1641 ; Long Subroutine Call ROM:225D ROM:2260 001 sjmp ROM_22A6 ; Short jump ROM:2260 ROM:2262 ; --------------------------------------------------------------------------- ROM:2262 001 mov R7, #0EAh ; 'O' ; Move (Op1 <- Op2) ROM:2264 001 lcall ROM_3693 ; Long Subroutine Call ROM:2264 ROM:2267 001 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:2269 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:226A 001 anl A, #97h ; Logical AND (op1 &= op2) ROM:226C 001 mov @R0, A ; Move (Op1 <- Op2) ROM:226D 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:226E 001 orl A, #8 ; Logical OR (op1 |= op2) ROM:226E ROM:2270 ROM:2270 ROM_2270: ; CODE XREF: ROM_2168+63j ROM:2270 ; ROM_2168+70j ROM:2270 001 mov @R0, A ; Move (Op1 <- Op2) ROM:2271 001 ljmp ROM_23E6 ; Long Jump ROM:2271 ROM:2271 ; End of function ROM_2168 ROM:2271 ROM:2274 ROM:2274 ; =============== S U B R O U T I N E ======================================= ROM:2274 ROM:2274 ROM:2274 ROM_2274: ROM:2274 000 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:2276 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2277 000 swap A ; Swap nibbles of Acc ROM:2278 000 rrc A ; Rotate Acc right through Carry ROM:2279 000 rrc A ; Rotate Acc right through Carry ROM:227A 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:227C 000 jnb ACC.0, ROM_2298 ; Accumulator ROM:227C ROM:227F 000 clr A ; Clear Operand (0) ROM:2280 000 mov R5, A ; Move (Op1 <- Op2) ROM:2281 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2283 000 lcall ROM_153D ; Long Subroutine Call ROM:2283 ROM:2286 000 clr A ; Clear Operand (0) ROM:2287 000 mov R5, A ; Move (Op1 <- Op2) ROM:2288 000 mov R7, #8 ; Move (Op1 <- Op2) ROM:228A 000 lcall ROM_1641 ; Long Subroutine Call ROM:228A ROM:228D 000 clr A ; Clear Operand (0) ROM:228E 000 mov R5, A ; Move (Op1 <- Op2) ROM:228F 000 mov R7, A ; Move (Op1 <- Op2) ROM:2290 000 lcall ROM_1641 ; Long Subroutine Call ROM:2290 ROM:2293 000 clr A ; Clear Operand (0) ROM:2294 000 mov R5, A ; Move (Op1 <- Op2) ROM:2295 000 mov R7, A ; Move (Op1 <- Op2) ROM:2296 000 sjmp ROM_22A3 ; Short jump ROM:2296 ROM:2298 ; --------------------------------------------------------------------------- ROM:2298 ROM:2298 ROM_2298: ; CODE XREF: ROM_2274+8j ROM:2298 000 clr A ; Clear Operand (0) ROM:2299 000 mov R5, A ; Move (Op1 <- Op2) ROM:229A 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:229C 000 lcall ROM_153D ; Long Subroutine Call ROM:229C ROM:229F 000 clr A ; Clear Operand (0) ROM:22A0 000 mov R5, A ; Move (Op1 <- Op2) ROM:22A1 000 mov R7, #0FCh ; 'n' ; Move (Op1 <- Op2) ROM:22A1 ROM:22A3 ROM:22A3 ROM_22A3: ; CODE XREF: ROM_2274+22j ROM:22A3 000 lcall ROM_1641 ; Long Subroutine Call ROM:22A3 ROM:22A3 ; End of function ROM_2274 ROM:22A3 ROM:22A6 ; START OF FUNCTION CHUNK FOR ROM_2168 ROM:22A6 ROM:22A6 ROM_22A6: ; CODE XREF: ROM_2168+F8j ROM:22A6 001 clr A ; Clear Operand (0) ROM:22A7 001 mov DPTR, #638h ; Move (Op1 <- Op2) ROM:22AA 001 movx @DPTR, A ; Move from/to external RAM ROM:22AB 001 ljmp ROM_24EA ; Long Jump ROM:22AB ROM:22AB ; END OF FUNCTION CHUNK FOR ROM_2168 ROM:22AE ; --------------------------------------------------------------------------- ROM:22AE mov R7, #0ECh ; '8' ; Move (Op1 <- Op2) ROM:22B0 lcall ROM_3693 ; Long Subroutine Call ROM:22B0 ROM:22B3 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:22B5 mov A, @R0 ; Move (Op1 <- Op2) ROM:22B6 anl A, #97h ; Logical AND (op1 &= op2) ROM:22B8 mov @R0, A ; Move (Op1 <- Op2) ROM:22B9 mov A, @R0 ; Move (Op1 <- Op2) ROM:22BA anl A, #7Fh ; Logical AND (op1 &= op2) ROM:22BC mov @R0, A ; Move (Op1 <- Op2) ROM:22BD ljmp ROM_23E6 ; Long Jump ROM:22BD ROM:22C0 ; --------------------------------------------------------------------------- ROM:22C0 mov R7, #0EEh ; 'e' ; Move (Op1 <- Op2) ROM:22C2 lcall ROM_3693 ; Long Subroutine Call ROM:22C2 ROM:22C5 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:22C7 mov A, @R0 ; Move (Op1 <- Op2) ROM:22C8 anl A, #97h ; Logical AND (op1 &= op2) ROM:22CA mov @R0, A ; Move (Op1 <- Op2) ROM:22CB mov A, @R0 ; Move (Op1 <- Op2) ROM:22CC orl A, #80h ; Logical OR (op1 |= op2) ROM:22CE mov @R0, A ; Move (Op1 <- Op2) ROM:22CF ljmp ROM_23E6 ; Long Jump ROM:22CF ROM:22D2 ; --------------------------------------------------------------------------- ROM:22D2 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:22D4 lcall ROM_3693 ; Long Subroutine Call ROM:22D4 ROM:22D7 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:22D9 mov A, @R0 ; Move (Op1 <- Op2) ROM:22DA anl A, #97h ; Logical AND (op1 &= op2) ROM:22DC mov @R0, A ; Move (Op1 <- Op2) ROM:22DD mov A, @R0 ; Move (Op1 <- Op2) ROM:22DE orl A, #40h ; Logical OR (op1 |= op2) ROM:22E0 mov @R0, A ; Move (Op1 <- Op2) ROM:22E1 ljmp ROM_23E6 ; Long Jump ROM:22E1 ROM:22E4 ; --------------------------------------------------------------------------- ROM:22E4 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:22E6 mov A, @R0 ; Move (Op1 <- Op2) ROM:22E7 rrc A ; Rotate Acc right through Carry ROM:22E8 rrc A ; Rotate Acc right through Carry ROM:22E9 rrc A ; Rotate Acc right through Carry ROM:22EA anl A, #1Fh ; Logical AND (op1 &= op2) ROM:22EC jb ACC.0, ROM_2305 ; Accumulator ROM:22EC ROM:22EF mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:22F1 mov A, @R0 ; Move (Op1 <- Op2) ROM:22F2 rrc A ; Rotate Acc right through Carry ROM:22F3 rrc A ; Rotate Acc right through Carry ROM:22F4 rrc A ; Rotate Acc right through Carry ROM:22F5 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:22F7 jb ACC.0, ROM_2305 ; Accumulator ROM:22F7 ROM:22FA mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:22FC mov A, @R0 ; Move (Op1 <- Op2) ROM:22FD rrc A ; Rotate Acc right through Carry ROM:22FE rrc A ; Rotate Acc right through Carry ROM:22FE ROM:22FF ; START OF FUNCTION CHUNK FOR ROM_2631 ROM:22FF ROM:22FF ROM_22FF: ; CODE XREF: ROM_2631+AFj ROM:22FF 000 rrc A ; Rotate Acc right through Carry ROM:2300 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:2302 000 jnb ACC.0, ROM_2331 ; Accumulator ROM:2302 ROM:2305 ROM:2305 ROM_2305: ; CODE XREF: ROM:22ECj ROM:2305 ; ROM:22F7j ROM:2305 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2307 000 mov R5, #0F2h ; '=' ; Move (Op1 <- Op2) ROM:2309 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:230B 000 lcall ROM_3108 ; Long Subroutine Call ROM:230B ROM:230E 000 clr A ; Clear Operand (0) ROM:230F 000 mov R5, A ; Move (Op1 <- Op2) ROM:2310 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2312 000 jnc ROM_232C ; Jump if Carry is clear ROM:2312 ROM:2314 000 lcall ROM_153D ; Long Subroutine Call ROM:2314 ROM:2317 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2319 000 lcall ROM_3276 ; Long Subroutine Call ROM:2319 ROM:231C 000 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:231F 000 clr A ; Clear Operand (0) ROM:2320 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2321 000 mov R6, A ; Move (Op1 <- Op2) ROM:2322 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2324 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2325 000 mov DP0L, A ; Data Pointer Low Byte ROM:2327 000 mov DP0H, R6 ; Data Pointer High Byte ROM:2329 000 ljmp ROM_2446 ; Long Jump ROM:2329 ROM:232C ; --------------------------------------------------------------------------- ROM:232C ROM:232C ROM_232C: ; CODE XREF: ROM_2631-31Fj ROM:232C 000 lcall ROM_153D ; Long Subroutine Call ROM:232C ROM:232F 000 sjmp ROM_2353 ; Short jump ROM:232F ROM:2331 ; --------------------------------------------------------------------------- ROM:2331 ROM:2331 ROM_2331: ; CODE XREF: ROM_2631-32Fj ROM:2331 000 clr A ; Clear Operand (0) ROM:2332 000 mov R5, A ; Move (Op1 <- Op2) ROM:2333 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2335 000 lcall ROM_153D ; Long Subroutine Call ROM:2335 ROM:2338 000 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:233A 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:233B 000 clr C ; Clear Operand (0) ROM:233C 000 rrc A ; Rotate Acc right through Carry ROM:233D 000 jb ACC.0, ROM_234C ; Accumulator ROM:233D ROM:2340 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2341 000 clr C ; Clear Operand (0) ROM:2342 000 rrc A ; Rotate Acc right through Carry ROM:2343 000 jb ACC.0, ROM_234C ; Accumulator ROM:2343 ROM:2346 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2347 000 clr C ; Clear Operand (0) ROM:2348 000 rrc A ; Rotate Acc right through Carry ROM:2349 000 jnb ACC.0, ROM_2353 ; Accumulator ROM:2349 ROM:234C ROM:234C ROM_234C: ; CODE XREF: ROM_2631-2F4j ROM:234C ; ROM_2631-2EEj ROM:234C 000 clr A ; Clear Operand (0) ROM:234D 000 mov R5, A ; Move (Op1 <- Op2) ROM:234E 000 mov R7, #3 ; Move (Op1 <- Op2) ROM:2350 000 ljmp ROM_24D0 ; Long Jump ROM:2350 ROM:2353 ; --------------------------------------------------------------------------- ROM:2353 ROM:2353 ROM_2353: ; CODE XREF: ROM_2631-302j ROM:2353 ; ROM_2631-2E8j ROM:2353 000 clr A ; Clear Operand (0) ROM:2354 000 mov R5, A ; Move (Op1 <- Op2) ROM:2355 000 mov R7, A ; Move (Op1 <- Op2) ROM:2356 000 ljmp ROM_24D0 ; Long Jump ROM:2356 ROM:2356 ; END OF FUNCTION CHUNK FOR ROM_2631 ROM:2359 ; --------------------------------------------------------------------------- ROM:2359 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:235B mov A, @R0 ; Move (Op1 <- Op2) ROM:235C rrc A ; Rotate Acc right through Carry ROM:235D rrc A ; Rotate Acc right through Carry ROM:235E rrc A ; Rotate Acc right through Carry ROM:235F anl A, #1Fh ; Logical AND (op1 &= op2) ROM:2361 jb ACC.0, ROM_237A ; Accumulator ROM:2361 ROM:2364 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:2366 mov A, @R0 ; Move (Op1 <- Op2) ROM:2367 rrc A ; Rotate Acc right through Carry ROM:2368 rrc A ; Rotate Acc right through Carry ROM:2369 rrc A ; Rotate Acc right through Carry ROM:236A anl A, #1Fh ; Logical AND (op1 &= op2) ROM:236C jb ACC.0, ROM_237A ; Accumulator ROM:236C ROM:236F mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2371 mov A, @R0 ; Move (Op1 <- Op2) ROM:2372 rrc A ; Rotate Acc right through Carry ROM:2373 rrc A ; Rotate Acc right through Carry ROM:2374 rrc A ; Rotate Acc right through Carry ROM:2375 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:2377 jnb ACC.0, ROM_2383 ; Accumulator ROM:2377 ROM:237A ROM:237A ROM_237A: ; CODE XREF: ROM:2361j ROM:237A ; ROM:236Cj ROM:237A mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:237C mov R5, #0F3h ; '=' ; Move (Op1 <- Op2) ROM:237E mov R7, #2 ; Move (Op1 <- Op2) ROM:2380 lcall ROM_3108 ; Long Subroutine Call ROM:2380 ROM:2383 ROM:2383 ROM_2383: ; CODE XREF: ROM:2377j ROM:2383 mov RAM_5D, #0F3h ; '=' ; Move (Op1 <- Op2) ROM:2386 sjmp ROM_23E6 ; Short jump ROM:2386 ROM:2388 ; --------------------------------------------------------------------------- ROM:2388 mov R7, #0F4h ; '(' ; Move (Op1 <- Op2) ROM:238A lcall ROM_3693 ; Long Subroutine Call ROM:238A ROM:238D lcall ROM_2FC7 ; Long Subroutine Call ROM:238D ROM:2390 mov DPTR, #638h ; Move (Op1 <- Op2) ROM:2393 mov A, #1 ; Move (Op1 <- Op2) ROM:2395 movx @DPTR, A ; Move from/to external RAM ROM:2396 lcall ROM_2095 ; Long Subroutine Call ROM:2396 ROM:2399 setb RAM_28.2 ; Set Direct Bit ROM:239B mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:239D mov A, @R0 ; Move (Op1 <- Op2) ROM:239E jnb ACC.0, ROM_23A3 ; Accumulator ROM:239E ROM:23A1 inc RAM_5D ; Increment Operand ROM:23A1 ROM:23A3 ROM:23A3 ROM_23A3: ; CODE XREF: ROM:239Ej ROM:23A3 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:23A5 mov A, @R0 ; Move (Op1 <- Op2) ROM:23A6 jnb ACC.0, ROM_23AB ; Accumulator ROM:23A6 ROM:23A9 inc RAM_5D ; Increment Operand ROM:23A9 ROM:23AB ROM:23AB ROM_23AB: ; CODE XREF: ROM:23A6j ROM:23AB mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:23AD mov A, @R0 ; Move (Op1 <- Op2) ROM:23AE jnb ACC.0, ROM_23B3 ; Accumulator ROM:23AE ROM:23B1 inc RAM_5D ; Increment Operand ROM:23B1 ROM:23B3 ROM:23B3 ROM_23B3: ; CODE XREF: ROM:23AEj ROM:23B3 mov A, RAM_5D ; Move (Op1 <- Op2) ROM:23B5 cjne A, #1, ROM_23BE ; Compare Operands and JNE ROM:23B5 ROM:23B8 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:23BA mov A, @R0 ; Move (Op1 <- Op2) ROM:23BB orl A, #80h ; Logical OR (op1 |= op2) ROM:23BD mov @R0, A ; Move (Op1 <- Op2) ROM:23BD ROM:23BE ROM:23BE ROM_23BE: ; CODE XREF: ROM:23B5j ROM:23BE clr A ; Clear Operand (0) ROM:23BF mov RAM_5D, A ; Move (Op1 <- Op2) ROM:23C1 ljmp ROM_24EA ; Long Jump ROM:23C1 ROM:23C4 ; --------------------------------------------------------------------------- ROM:23C4 mov R7, #0F5h ; ')' ; Move (Op1 <- Op2) ROM:23C6 lcall ROM_3693 ; Long Subroutine Call ROM:23C6 ROM:23C9 lcall ROM_2FC7 ; Long Subroutine Call ROM:23C9 ROM:23CC mov DPTR, #638h ; Move (Op1 <- Op2) ROM:23CF mov A, #1 ; Move (Op1 <- Op2) ROM:23D1 movx @DPTR, A ; Move from/to external RAM ROM:23D2 lcall ROM_2092 ; Long Subroutine Call ROM:23D2 ROM:23D5 clr RAM_28.0 ; Clear Operand (0) ROM:23D7 clr RAM_28.1 ; Clear Operand (0) ROM:23D9 clr RAM_28.2 ; Clear Operand (0) ROM:23DB ljmp ROM_24EA ; Long Jump ROM:23DB ROM:23DE ; --------------------------------------------------------------------------- ROM:23DE mov R7, #0F6h ; '÷' ; Move (Op1 <- Op2) ROM:23E0 lcall ROM_3693 ; Long Subroutine Call ROM:23E0 ROM:23E3 lcall ROM_2509 ; Long Subroutine Call ROM:23E3 ROM:23E6 ; START OF FUNCTION CHUNK FOR ROM_2168 ROM:23E6 ROM:23E6 ROM_23E6: ; CODE XREF: ROM_2168+76j ROM:23E6 ; ROM_2168+109j ... ROM:23E6 001 mov DPTR, #638h ; Move (Op1 <- Op2) ROM:23E9 001 mov A, #1 ; Move (Op1 <- Op2) ROM:23EB 001 movx @DPTR, A ; Move from/to external RAM ROM:23EC 001 ljmp ROM_24EA ; Long Jump ROM:23EC ROM:23EC ; END OF FUNCTION CHUNK FOR ROM_2168 ROM:23EF ; --------------------------------------------------------------------------- ROM:23EF mov R7, #0FFh ; Move (Op1 <- Op2) ROM:23F1 lcall ROM_3693 ; Long Subroutine Call ROM:23F1 ROM:23F4 mov DPTR, #5A0h ; Move (Op1 <- Op2) ROM:23F7 jnc ROM_242C ; Jump if Carry is clear ROM:23F7 ROM:23F9 mov A, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:23FB movx @DPTR, A ; Move from/to external RAM ROM:23FC mov R7, #2 ; Move (Op1 <- Op2) ROM:23FE lcall ROM_3276 ; Long Subroutine Call ROM:23FE ROM:2401 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:2404 clr A ; Clear Operand (0) ROM:2405 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2406 mov R6, A ; Move (Op1 <- Op2) ROM:2407 mov A, #1 ; Move (Op1 <- Op2) ROM:2409 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:240A mov DP0L, A ; Data Pointer Low Byte ROM:240C mov DP0H, R6 ; Data Pointer High Byte ROM:240E movx A, @DPTR ; Move from/to external RAM ROM:240F mov DPTR, #5A1h ; Move (Op1 <- Op2) ROM:2412 movx @DPTR, A ; Move from/to external RAM ROM:2413 mov R7, #2 ; Move (Op1 <- Op2) ROM:2415 lcall ROM_3276 ; Long Subroutine Call ROM:2415 ROM:2418 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:241B clr A ; Clear Operand (0) ROM:241C movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:241D mov R6, A ; Move (Op1 <- Op2) ROM:241E mov A, #1 ; Move (Op1 <- Op2) ROM:2420 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2421 mov DP0L, A ; Data Pointer Low Byte ROM:2423 mov DP0H, R6 ; Data Pointer High Byte ROM:2425 movx A, @DPTR ; Move from/to external RAM ROM:2426 mov DPTR, #5A2h ; Move (Op1 <- Op2) ROM:2429 movx @DPTR, A ; Move from/to external RAM ROM:242A sjmp ROM_242F ; Short jump ROM:242A ROM:242C ; --------------------------------------------------------------------------- ROM:242C ROM:242C ROM_242C: ; CODE XREF: ROM:23F7j ROM:242C mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:242E movx @DPTR, A ; Move from/to external RAM ROM:242E ROM:242F ROM:242F ROM_242F: ; CODE XREF: ROM:242Aj ROM:242F mov DPTR, #5A0h ; Move (Op1 <- Op2) ROM:2432 movx A, @DPTR ; Move from/to external RAM ROM:2433 mov R7, A ; Move (Op1 <- Op2) ROM:2434 clr A ; Clear Operand (0) ROM:2435 mov R5, A ; Move (Op1 <- Op2) ROM:2436 lcall ROM_153D ; Long Subroutine Call ROM:2436 ROM:2439 mov DPTR, #5A1h ; Move (Op1 <- Op2) ROM:243C movx A, @DPTR ; Move from/to external RAM ROM:243D mov R7, A ; Move (Op1 <- Op2) ROM:243E clr A ; Clear Operand (0) ROM:243F mov R5, A ; Move (Op1 <- Op2) ROM:2440 lcall ROM_1641 ; Long Subroutine Call ROM:2440 ROM:2443 mov DPTR, #5A2h ; Move (Op1 <- Op2) ROM:2443 ROM:2446 ; START OF FUNCTION CHUNK FOR ROM_2631 ROM:2446 ROM:2446 ROM_2446: ; CODE XREF: ROM_2631-308j ROM:2446 000 movx A, @DPTR ; Move from/to external RAM ROM:2447 000 mov R7, A ; Move (Op1 <- Op2) ROM:2448 000 clr A ; Clear Operand (0) ROM:2449 000 mov R5, A ; Move (Op1 <- Op2) ROM:244A 000 ljmp ROM_24D0 ; Long Jump ROM:244A ROM:244A ; END OF FUNCTION CHUNK FOR ROM_2631 ROM:244D ; --------------------------------------------------------------------------- ROM:244D clr A ; Clear Operand (0) ROM:244E mov R5, A ; Move (Op1 <- Op2) ROM:244F mov R7, #0FCh ; 'n' ; Move (Op1 <- Op2) ROM:2451 lcall ROM_153D ; Long Subroutine Call ROM:2451 ROM:2454 ljmp ROM_24EA ; Long Jump ROM:2454 ROM:2457 ; --------------------------------------------------------------------------- ROM:2457 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:2459 mov A, @R0 ; Move (Op1 <- Op2) ROM:245A anl A, #0FBh ; Logical AND (op1 &= op2) ROM:245C mov @R0, A ; Move (Op1 <- Op2) ROM:245D lcall ROM_2FC7 ; Long Subroutine Call ROM:245D ROM:2460 clr A ; Clear Operand (0) ROM:2461 mov DPTR, #7Fh ; '' ; Move (Op1 <- Op2) ROM:2464 movx @DPTR, A ; Move from/to external RAM ROM:2465 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:2468 movx @DPTR, A ; Move from/to external RAM ROM:2469 lcall ROM_2509 ; Long Subroutine Call ROM:2469 ROM:246C lcall ROM_2092 ; Long Subroutine Call ROM:246C ROM:246F clr A ; Clear Operand (0) ROM:2470 mov RAM_5E, A ; Move (Op1 <- Op2) ROM:2472 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:2474 mov A, @R0 ; Move (Op1 <- Op2) ROM:2475 rrc A ; Rotate Acc right through Carry ROM:2476 rrc A ; Rotate Acc right through Carry ROM:2477 rrc A ; Rotate Acc right through Carry ROM:2478 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:247A jb ACC.0, ROM_2493 ; Accumulator ROM:247A ROM:247D mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:247F mov A, @R0 ; Move (Op1 <- Op2) ROM:2480 rrc A ; Rotate Acc right through Carry ROM:2481 rrc A ; Rotate Acc right through Carry ROM:2482 rrc A ; Rotate Acc right through Carry ROM:2483 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:2485 jb ACC.0, ROM_2493 ; Accumulator ROM:2485 ROM:2488 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:248A mov A, @R0 ; Move (Op1 <- Op2) ROM:248B rrc A ; Rotate Acc right through Carry ROM:248C rrc A ; Rotate Acc right through Carry ROM:248D rrc A ; Rotate Acc right through Carry ROM:248E anl A, #1Fh ; Logical AND (op1 &= op2) ROM:2490 jnb ACC.0, ROM_24BF ; Accumulator ROM:2490 ROM:2493 ROM:2493 ROM_2493: ; CODE XREF: ROM:247Aj ROM:2493 ; ROM:2485j ROM:2493 mov DPTR, #5A3h ; Move (Op1 <- Op2) ROM:2496 movx A, @DPTR ; Move from/to external RAM ROM:2497 inc A ; Increment Operand ROM:2498 movx @DPTR, A ; Move from/to external RAM ROM:2499 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:249B mov R5, #0FFh ; Move (Op1 <- Op2) ROM:249D mov R7, #2 ; Move (Op1 <- Op2) ROM:249F lcall ROM_3108 ; Long Subroutine Call ROM:249F ROM:24A2 jnc ROM_24EA ; Jump if Carry is clear ROM:24A2 ROM:24A4 mov DPTR, #5A4h ; Move (Op1 <- Op2) ROM:24A7 movx A, @DPTR ; Move from/to external RAM ROM:24A8 inc A ; Increment Operand ROM:24A9 movx @DPTR, A ; Move from/to external RAM ROM:24AA clr A ; Clear Operand (0) ROM:24AB mov R5, A ; Move (Op1 <- Op2) ROM:24AC mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:24AE lcall ROM_153D ; Long Subroutine Call ROM:24AE ROM:24B1 mov R0, #0ABh ; '½' ; Move (Op1 <- Op2) ROM:24B3 mov @R0, #2 ; Move (Op1 <- Op2) ROM:24B5 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:24B7 mov A, @R0 ; Move (Op1 <- Op2) ROM:24B8 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:24BA mov @R0, A ; Move (Op1 <- Op2) ROM:24BB setb RAM_28.2 ; Set Direct Bit ROM:24BD sjmp ROM_24EA ; Short jump ROM:24BD ROM:24BF ; --------------------------------------------------------------------------- ROM:24BF ROM:24BF ROM_24BF: ; CODE XREF: ROM:2490j ROM:24BF clr A ; Clear Operand (0) ROM:24C0 mov R5, A ; Move (Op1 <- Op2) ROM:24C1 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:24C3 lcall ROM_153D ; Long Subroutine Call ROM:24C3 ROM:24C6 clr A ; Clear Operand (0) ROM:24C7 mov R5, A ; Move (Op1 <- Op2) ROM:24C8 mov R7, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:24CA lcall ROM_1641 ; Long Subroutine Call ROM:24CA ROM:24CD clr A ; Clear Operand (0) ROM:24CE mov R5, A ; Move (Op1 <- Op2) ROM:24CF mov R7, A ; Move (Op1 <- Op2) ROM:24CF ROM:24D0 ; START OF FUNCTION CHUNK FOR ROM_2631 ROM:24D0 ROM:24D0 ROM_24D0: ; CODE XREF: ROM_2631-2E1j ROM:24D0 ; ROM_2631-2DBj ... ROM:24D0 000 lcall ROM_1641 ; Long Subroutine Call ROM:24D0 ROM:24D3 000 sjmp ROM_24EA ; Short jump ROM:24D3 ROM:24D3 ; END OF FUNCTION CHUNK FOR ROM_2631 ROM:24D5 ; --------------------------------------------------------------------------- ROM:24D5 clr A ; Clear Operand (0) ROM:24D6 mov R5, A ; Move (Op1 <- Op2) ROM:24D7 jb RAM_2C.1, ROM_24E3 ; Jump if Bit is set ROM:24D7 ROM:24DA mov R7, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:24DC lcall ROM_153D ; Long Subroutine Call ROM:24DC ROM:24DF setb RAM_2C.1 ; Set Direct Bit ROM:24E1 sjmp ROM_24EA ; Short jump ROM:24E1 ROM:24E3 ; --------------------------------------------------------------------------- ROM:24E3 ROM:24E3 ROM_24E3: ; CODE XREF: ROM:24D7j ROM:24E3 mov R7, #0FCh ; 'n' ; Move (Op1 <- Op2) ROM:24E5 lcall ROM_153D ; Long Subroutine Call ROM:24E5 ROM:24E8 clr RAM_2C.1 ; Clear Operand (0) ROM:24E8 ROM:24EA ; START OF FUNCTION CHUNK FOR ROM_2631 ROM:24EA ROM:24EA ROM_24EA: ; CODE XREF: ROM_2168+143j ROM:24EA ; ROM:23C1j ... ROM:24EA 000 mov DPTR, #638h ; Move (Op1 <- Op2) ROM:24ED 000 movx A, @DPTR ; Move from/to external RAM ROM:24EE 000 jz ROM_24F9 ; Jump if Acc is zero ROM:24EE ROM:24F0 000 clr A ; Clear Operand (0) ROM:24F1 000 mov R5, A ; Move (Op1 <- Op2) ROM:24F2 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:24F4 000 lcall ROM_153D ; Long Subroutine Call ROM:24F4 ROM:24F7 000 clr RAM_2C.1 ; Clear Operand (0) ROM:24F7 ROM:24F9 ROM:24F9 ROM_24F9: ; CODE XREF: ROM_2631-143j ROM:24F9 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:24FC 000 movx A, @DPTR ; Move from/to external RAM ROM:24FD 000 setb C ; Set Direct Bit ROM:24FE 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:2500 000 jc ROM_2508 ; Jump if Carry is set ROM:2500 ROM:2502 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:2504 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2505 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:2507 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2507 ROM:2508 ROM:2508 ROM_2508: ; CODE XREF: ROM_2631-131j ROM:2508 000 ret ; Return from subroutine ROM:2508 ROM:2508 ; END OF FUNCTION CHUNK FOR ROM_2631 ROM:2509 ROM:2509 ; =============== S U B R O U T I N E ======================================= ROM:2509 ROM:2509 ROM:2509 ROM_2509: ; CODE XREF: ROM:23E3p ROM:2509 ; ROM:2469p ROM:2509 000 mov R0, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:250B 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:250C 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:250E 000 mov @R0, A ; Move (Op1 <- Op2) ROM:250F 000 mov R0, #8Dh ; 'ì' ; Move (Op1 <- Op2) ROM:2511 000 mov @R0, #2 ; Move (Op1 <- Op2) ROM:2513 000 mov R0, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:2515 000 mov @R0, #64h ; 'd' ; Move (Op1 <- Op2) ROM:2517 000 ret ; Return from subroutine ROM:2517 ROM:2517 ; End of function ROM_2509 ROM:2517 ROM:2518 ; --------------------------------------------------------------------------- ROM:2518 ; START OF FUNCTION CHUNK FOR ROM_2168 ROM:2518 ROM:2518 ROM_2518: ; CODE XREF: ROM_2168:ROM_2174j ROM:2518 001 mov A, RAM_5D ; Move (Op1 <- Op2) ROM:251A 001 xrl A, #0E8h ; Exclusive OR (op1 ^= op2) ROM:251C 001 jnz ROM_2542 ; Jump if Acc is not zero ROM:251C ROM:251E 001 mov RAM_5D, A ; Move (Op1 <- Op2) ROM:2520 001 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:2522 001 setb C ; Set Direct Bit ROM:2523 001 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:2525 001 jc ROM_252D ; Jump if Carry is set ROM:2525 ROM:2527 001 clr A ; Clear Operand (0) ROM:2528 001 mov R5, A ; Move (Op1 <- Op2) ROM:2529 001 mov R7, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:252B 001 sjmp ROM_253F ; Short jump ROM:252B ROM:252D ; --------------------------------------------------------------------------- ROM:252D ROM:252D ROM_252D: ; CODE XREF: ROM_2168+3BDj ROM:252D 001 mov R0, #8Dh ; 'ì' ; Move (Op1 <- Op2) ROM:252F 001 mov @R0, RAM_62 ; Move (Op1 <- Op2) ROM:2531 001 mov R7, #0E8h ; 'F' ; Move (Op1 <- Op2) ROM:2533 001 lcall ROM_3693 ; Long Subroutine Call ROM:2533 ROM:2536 001 mov R7, RAM_62 ; Move (Op1 <- Op2) ROM:2538 001 lcall ROM_3693 ; Long Subroutine Call ROM:2538 ROM:253B 001 clr A ; Clear Operand (0) ROM:253C 001 mov R5, A ; Move (Op1 <- Op2) ROM:253D 001 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:253D ROM:253F ROM:253F ROM_253F: ; CODE XREF: ROM_2168+3C3j ROM:253F 001 ljmp ROM_153D ; Long Jump ROM:253F ROM:2542 ; --------------------------------------------------------------------------- ROM:2542 ROM:2542 ROM_2542: ; CODE XREF: ROM_2168+3B4j ROM:2542 001 mov A, RAM_5D ; Move (Op1 <- Op2) ROM:2544 001 xrl A, #0F3h ; Exclusive OR (op1 ^= op2) ROM:2546 001 jz ROM_254B ; Jump if Acc is zero ROM:2546 ROM:2548 001 ljmp ROM_25CF ; Long Jump ROM:2548 ROM:254B ; --------------------------------------------------------------------------- ROM:254B ROM:254B ROM_254B: ; CODE XREF: ROM_2168+3DEj ROM:254B 001 mov R0, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:254D 001 mov @R0, RAM_62 ; Move (Op1 <- Op2) ROM:254F 001 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:2551 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:2552 001 rrc A ; Rotate Acc right through Carry ROM:2553 001 rrc A ; Rotate Acc right through Carry ROM:2554 001 rrc A ; Rotate Acc right through Carry ROM:2555 001 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:2557 001 jb ACC.0, ROM_2570 ; Accumulator ROM:2557 ROM:255A 001 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:255C 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:255D 001 rrc A ; Rotate Acc right through Carry ROM:255E 001 rrc A ; Rotate Acc right through Carry ROM:255F 001 rrc A ; Rotate Acc right through Carry ROM:2560 001 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:2562 001 jb ACC.0, ROM_2570 ; Accumulator ROM:2562 ROM:2565 001 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2567 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:2568 001 rrc A ; Rotate Acc right through Carry ROM:2569 001 rrc A ; Rotate Acc right through Carry ROM:256A 001 rrc A ; Rotate Acc right through Carry ROM:256B 001 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:256D 001 jnb ACC.0, ROM_257B ; Accumulator ROM:256D ROM:2570 ROM:2570 ROM_2570: ; CODE XREF: ROM_2168+3EFj ROM:2570 ; ROM_2168+3FAj ROM:2570 001 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2572 001 mov R5, RAM_62 ; Move (Op1 <- Op2) ROM:2574 001 mov R7, #2 ; Move (Op1 <- Op2) ROM:2576 001 lcall ROM_3108 ; Long Subroutine Call ROM:2576 ROM:2579 001 sjmp ROM_2587 ; Short jump ROM:2579 ROM:257B ; --------------------------------------------------------------------------- ROM:257B ROM:257B ROM_257B: ; CODE XREF: ROM_2168+405j ROM:257B 001 mov R7, #0F3h ; '=' ; Move (Op1 <- Op2) ROM:257D 001 lcall ROM_3693 ; Long Subroutine Call ROM:257D ROM:2580 001 mov R0, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:2582 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:2583 001 mov R7, A ; Move (Op1 <- Op2) ROM:2584 001 lcall ROM_3693 ; Long Subroutine Call ROM:2584 ROM:2587 ROM:2587 ROM_2587: ; CODE XREF: ROM_2168+411j ROM:2587 001 mov R0, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:2589 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:258A 001 xrl A, #0C8h ; Exclusive OR (op1 ^= op2) ROM:258C 001 jz ROM_25AE ; Jump if Acc is zero ROM:258C ROM:258E 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:258F 001 xrl A, #64h ; Exclusive OR (op1 ^= op2) ROM:2591 001 jz ROM_25AE ; Jump if Acc is zero ROM:2591 ROM:2593 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:2594 001 cjne A, #50h, ROM_2599 ; 'P' ; Compare Operands and JNE ROM:2594 ROM:2597 001 sjmp ROM_25AE ; Short jump ROM:2597 ROM:2599 ; --------------------------------------------------------------------------- ROM:2599 ROM:2599 ROM_2599: ; CODE XREF: ROM_2168+42Cj ROM:2599 001 mov R0, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:259B 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:259C 001 xrl A, #3Ch ; Exclusive OR (op1 ^= op2) ROM:259E 001 jz ROM_25AE ; Jump if Acc is zero ROM:259E ROM:25A0 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:25A1 001 xrl A, #28h ; Exclusive OR (op1 ^= op2) ROM:25A3 001 jz ROM_25AE ; Jump if Acc is zero ROM:25A3 ROM:25A5 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:25A6 001 xrl A, #14h ; Exclusive OR (op1 ^= op2) ROM:25A8 001 jz ROM_25AE ; Jump if Acc is zero ROM:25A8 ROM:25AA 001 mov A, @R0 ; Move (Op1 <- Op2) ROM:25AB 001 cjne A, #0Ah, ROM_25B9 ; Compare Operands and JNE ROM:25AB ROM:25AE ROM:25AE ROM_25AE: ; CODE XREF: ROM_2168+424j ROM:25AE ; ROM_2168+429j ... ROM:25AE 001 clr A ; Clear Operand (0) ROM:25AF 001 mov R5, A ; Move (Op1 <- Op2) ROM:25B0 001 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:25B2 001 lcall ROM_153D ; Long Subroutine Call ROM:25B2 ROM:25B5 001 clr RAM_2C.0 ; Clear Operand (0) ROM:25B7 001 sjmp ROM_25CF ; Short jump ROM:25B7 ROM:25B9 ; --------------------------------------------------------------------------- ROM:25B9 ROM:25B9 ROM_25B9: ; CODE XREF: ROM_2168+443j ROM:25B9 001 clr A ; Clear Operand (0) ROM:25BA 001 mov R5, A ; Move (Op1 <- Op2) ROM:25BB 001 jb RAM_2C.0, ROM_25C6 ; Jump if Bit is set ROM:25BB ROM:25BE 001 mov R7, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:25C0 001 lcall ROM_153D ; Long Subroutine Call ROM:25C0 ROM:25C3 001 setb RAM_2C.0 ; Set Direct Bit ROM:25C5 001 ret ; Return from subroutine ROM:25C5 ROM:25C6 ; --------------------------------------------------------------------------- ROM:25C6 ROM:25C6 ROM_25C6: ; CODE XREF: ROM_2168+453j ROM:25C6 001 mov R7, #0FCh ; 'n' ; Move (Op1 <- Op2) ROM:25C8 001 lcall ROM_153D ; Long Subroutine Call ROM:25C8 ROM:25CB 001 clr RAM_2C.0 ; Clear Operand (0) ROM:25CD 001 sjmp ROM_25CF ; Short jump ROM:25CD ROM:25CF ROM:25CF ROM_25CF: ; CODE XREF: ROM_2168+3E0j ROM:25CF ; ROM_2168+44Fj ROM:25CF 001 clr A ; Clear Operand (0) ROM:25D0 001 mov RAM_5D, A ; Move (Op1 <- Op2) ROM:25D2 001 ret ; Return from subroutine ROM:25D2 ROM:25D2 ; END OF FUNCTION CHUNK FOR ROM_2168 ROM:25D3 ; --------------------------------------------------------------------------- ROM:25D3 clr A ; Clear Operand (0) ROM:25D4 mov R7, A ; Move (Op1 <- Op2) ROM:25D5 ljmp ROM_1462 ; Long Jump ROM:25D5 ROM:25D8 ROM:25D8 ; =============== S U B R O U T I N E ======================================= ROM:25D8 ROM:25D8 ROM:25D8 ROM_25D8: ; CODE XREF: ROM_1C97p ROM:25D8 ; ROM:1CFEp ... ROM:25D8 000 mov A, RAM_61 ; Move (Op1 <- Op2) ROM:25DA 000 jnz ROM_25E1 ; Jump if Acc is not zero ROM:25DA ROM:25DC 000 mov RAM_61, #1 ; Move (Op1 <- Op2) ROM:25DF 000 clr C ; Clear Operand (0) ROM:25E0 000 ret ; Return from subroutine ROM:25E0 ROM:25E1 ; --------------------------------------------------------------------------- ROM:25E1 ROM:25E1 ROM_25E1: ; CODE XREF: ROM_25D8+2j ROM:25E1 000 clr A ; Clear Operand (0) ROM:25E2 000 mov RAM_61, A ; Move (Op1 <- Op2) ROM:25E4 000 setb C ; Set Direct Bit ROM:25E5 000 ret ; Return from subroutine ROM:25E5 ROM:25E5 ; End of function ROM_25D8 ROM:25E5 ROM:25E6 ROM:25E6 ; =============== S U B R O U T I N E ======================================= ROM:25E6 ROM:25E6 ROM:25E6 ROM_25E6: ; CODE XREF: ROM:202Ap ROM:25E6 ; ROM:6777p ROM:25E6 000 mov A, RAM_61 ; Move (Op1 <- Op2) ROM:25E8 000 jnz ROM_25EF ; Jump if Acc is not zero ROM:25E8 ROM:25EA 000 mov RAM_61, #1 ; Move (Op1 <- Op2) ROM:25ED 000 clr C ; Clear Operand (0) ROM:25EE 000 ret ; Return from subroutine ROM:25EE ROM:25EF ; --------------------------------------------------------------------------- ROM:25EF ROM:25EF ROM_25EF: ; CODE XREF: ROM_25E6+2j ROM:25EF 000 inc RAM_61 ; Increment Operand ROM:25F1 000 setb C ; Set Direct Bit ROM:25F2 000 ret ; Return from subroutine ROM:25F2 ROM:25F2 ; End of function ROM_25E6 ROM:25F2 ROM:25F3 ROM:25F3 ; =============== S U B R O U T I N E ======================================= ROM:25F3 ROM:25F3 ROM:25F3 ROM_25F3: ; CODE XREF: ROM:67B7p ROM:25F3 ; ROM:67C3p ... ROM:25F3 000 mov DPTR, #639h ; Move (Op1 <- Op2) ROM:25F6 000 mov A, #1000b ; Move (Op1 <- Op2) ROM:25F8 000 movx @DPTR, A ; Move from/to external RAM ROM:25F9 000 inc DPTR ; Increment Operand ROM:25FA 000 clr A ; Clear Operand (0) ROM:25FB 000 movx @DPTR, A ; Move from/to external RAM ROM:25FB ROM:25FC ROM:25FC ROM_25FC: ; CODE XREF: ROM_25F3:ROM_2626j ROM:25FC 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:25FF 000 movx A, @DPTR ; Move from/to external RAM ROM:2600 000 jnb ACC.1, ROM_2613 ; Accumulator ROM:2600 ROM:2603 000 movx A, @DPTR ; Move from/to external RAM ROM:2604 000 jnb ACC.3, ROM_260A ; Accumulator ROM:2604 ROM:2607 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:2609 000 ret ; Return from subroutine ROM:2609 ROM:260A ; --------------------------------------------------------------------------- ROM:260A ROM:260A ROM_260A: ; CODE XREF: ROM_25F3+11j ROM:260A 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register ROM:260D 000 movx A, @DPTR ; Move from/to external RAM ROM:260E 000 mov RAM_62, A ; Move (Op1 <- Op2) ROM:2610 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:2612 000 ret ; Return from subroutine ROM:2612 ROM:2613 ; --------------------------------------------------------------------------- ROM:2613 ROM:2613 ROM_2613: ; CODE XREF: ROM_25F3+Dj ROM:2613 000 mov DPTR, #63Ah ; Move (Op1 <- Op2) ROM:2616 000 movx A, @DPTR ; Move from/to external RAM ROM:2617 000 add A, #0FFh ; Add Second Operand to Acc ROM:2619 000 movx @DPTR, A ; Move from/to external RAM ROM:261A 000 mov DPTR, #639h ; Move (Op1 <- Op2) ROM:261D 000 movx A, @DPTR ; Move from/to external RAM ROM:261E 000 addc A, #0FFh ; Add Second Operand to Acc with carry ROM:2620 000 movx @DPTR, A ; Move from/to external RAM ROM:2621 000 movx A, @DPTR ; Move from/to external RAM ROM:2622 000 jnz ROM_2626 ; Jump if Acc is not zero ROM:2622 ROM:2624 000 inc DPTR ; Increment Operand ROM:2625 000 movx A, @DPTR ; Move from/to external RAM ROM:2625 ROM:2626 ROM:2626 ROM_2626: ; CODE XREF: ROM_25F3+2Fj ROM:2626 000 jnz ROM_25FC ; Jump if Acc is not zero ROM:2626 ROM:2628 000 mov DPTR, #6Fh ; 'o' ; Move (Op1 <- Op2) ROM:262B 000 movx A, @DPTR ; Move from/to external RAM ROM:262C 000 inc A ; Increment Operand ROM:262D 000 movx @DPTR, A ; Move from/to external RAM ROM:262E 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:2630 000 ret ; Return from subroutine ROM:2630 ROM:2630 ; End of function ROM_25F3 ROM:2630 ROM:2631 ROM:2631 ; =============== S U B R O U T I N E ======================================= ROM:2631 ROM:2631 ROM:2631 ROM_2631: ; CODE XREF: ROM_2861+47p ROM:2631 ROM:2631 ; FUNCTION CHUNK AT ROM:22FF SIZE 0000005A BYTES ROM:2631 ; FUNCTION CHUNK AT ROM:2446 SIZE 00000007 BYTES ROM:2631 ; FUNCTION CHUNK AT ROM:24D0 SIZE 00000005 BYTES ROM:2631 ; FUNCTION CHUNK AT ROM:24EA SIZE 0000001F BYTES ROM:2631 ROM:2631 000 mov DPTR, #63Bh ; Move (Op1 <- Op2) ROM:2634 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2635 000 movx @DPTR, A ; Move from/to external RAM ROM:2636 000 mov A, RAM_5A ; Move (Op1 <- Op2) ROM:2638 000 jz ROM_26AE ; Jump if Acc is zero ROM:2638 ROM:263A 000 mov A, RAM_5A ; Move (Op1 <- Op2) ROM:263C 000 add A, #10h ; Add Second Operand to Acc ROM:263E 000 jz ROM_2681 ; Jump if Acc is zero ROM:263E ROM:2640 000 add A, #0FDh ; '²' ; Add Second Operand to Acc ROM:2642 000 jz ROM_268A ; Jump if Acc is zero ROM:2642 ROM:2644 000 add A, #6 ; Add Second Operand to Acc ROM:2646 000 jnz ROM_26A0 ; Jump if Acc is not zero ROM:2646 ROM:2648 000 mov DPTR, #63Bh ; Move (Op1 <- Op2) ROM:264B 000 movx A, @DPTR ; Move from/to external RAM ROM:264C 000 mov RAM_24, A ; Move (Op1 <- Op2) ROM:264E 000 mov DPTR, #8Bh ; 'ï' ; Move (Op1 <- Op2) ROM:2651 000 movx A, @DPTR ; Move from/to external RAM ROM:2652 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:2654 000 movx @DPTR, A ; Move from/to external RAM ROM:2655 000 mov DPTR, #9Bh ; '¢' ; Move (Op1 <- Op2) ROM:2658 000 movx A, @DPTR ; Move from/to external RAM ROM:2659 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:265B 000 movx @DPTR, A ; Move from/to external RAM ROM:265C 000 mov DPTR, #0ABh ; '½' ; Move (Op1 <- Op2) ROM:265F 000 movx A, @DPTR ; Move from/to external RAM ROM:2660 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:2662 000 movx @DPTR, A ; Move from/to external RAM ROM:2663 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2665 000 lcall ROM_1462 ; Long Subroutine Call ROM:2665 ROM:2668 000 clr A ; Clear Operand (0) ROM:2669 000 mov RAM_5A, A ; Move (Op1 <- Op2) ROM:266B 000 lcall ROM_9120 ; Long Subroutine Call ROM:266B ROM:266E 000 mov R7, #0EDh ; 'f' ; Move (Op1 <- Op2) ROM:2670 000 lcall ROM_378A ; Long Subroutine Call ROM:2670 ROM:2673 000 mov A, RAM_24 ; Move (Op1 <- Op2) ROM:2675 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:2677 000 mov R7, A ; Move (Op1 <- Op2) ROM:2678 000 lcall ROM_378A ; Long Subroutine Call ROM:2678 ROM:267B 000 mov C, RAM_24.1 ; Move (Op1 <- Op2) ROM:267D 000 mov RAM_25.0, C ; Move (Op1 <- Op2) ROM:267F 000 sjmp ROM_26AB ; Short jump ROM:267F ROM:2681 ; --------------------------------------------------------------------------- ROM:2681 ROM:2681 ROM_2681: ; CODE XREF: ROM_2631+Dj ROM:2681 000 mov DPTR, #63Bh ; Move (Op1 <- Op2) ROM:2684 000 movx A, @DPTR ; Move from/to external RAM ROM:2685 000 mov R0, #89h ; 'ë' ; Move (Op1 <- Op2) ROM:2687 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2688 000 sjmp ROM_2696 ; Short jump ROM:2688 ROM:268A ; --------------------------------------------------------------------------- ROM:268A ROM:268A ROM_268A: ; CODE XREF: ROM_2631+11j ROM:268A 000 mov DPTR, #63Bh ; Move (Op1 <- Op2) ROM:268D 000 movx A, @DPTR ; Move from/to external RAM ROM:268E 000 mov R0, #8Ah ; 'è' ; Move (Op1 <- Op2) ROM:2690 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2691 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2692 000 mov R7, A ; Move (Op1 <- Op2) ROM:2693 000 lcall ROM_3E7F ; Long Subroutine Call ROM:2693 ROM:2696 ROM:2696 ROM_2696: ; CODE XREF: ROM_2631+57j ROM:2696 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2698 000 lcall ROM_1462 ; Long Subroutine Call ROM:2698 ROM:269B 000 clr A ; Clear Operand (0) ROM:269C 000 mov RAM_5A, A ; Move (Op1 <- Op2) ROM:269E 000 sjmp ROM_26AB ; Short jump ROM:269E ROM:26A0 ; --------------------------------------------------------------------------- ROM:26A0 ROM:26A0 ROM_26A0: ; CODE XREF: ROM_2631+15j ROM:26A0 000 mov R7, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:26A2 000 lcall ROM_1462 ; Long Subroutine Call ROM:26A2 ROM:26A5 000 mov DPTR, #6Fh ; 'o' ; Move (Op1 <- Op2) ROM:26A8 000 movx A, @DPTR ; Move from/to external RAM ROM:26A9 000 inc A ; Increment Operand ROM:26AA 000 movx @DPTR, A ; Move from/to external RAM ROM:26AA ROM:26AB ROM:26AB ROM_26AB: ; CODE XREF: ROM_2631+4Ej ROM:26AB ; ROM_2631+6Dj ROM:26AB 000 clr RAM_29.2 ; Clear Operand (0) ROM:26AD 000 ret ; Return from subroutine ROM:26AD ROM:26AE ; --------------------------------------------------------------------------- ROM:26AE ROM:26AE ROM_26AE: ; CODE XREF: ROM_2631+7j ROM:26AE 000 mov DPTR, #63Bh ; Move (Op1 <- Op2) ROM:26B1 000 movx A, @DPTR ; Move from/to external RAM ROM:26B2 000 lcall ROM_B6CF ; Long Subroutine Call ROM:26B2 ROM:26B5 000 add A, @R0 ; Add Second Operand to Acc ROM:26B6 000 movx @DPTR, A ; Move from/to external RAM ROM:26B7 000 mov A, R4 ; Move (Op1 <- Op2) ROM:26B8 000 add A, @R0 ; Add Second Operand to Acc ROM:26B9 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:26BA 000 mov A, R5 ; Move (Op1 <- Op2) ROM:26BB 000 add A, @R0 ; Add Second Operand to Acc ROM:26BC 000 movx @R0, A ; Move from/to external RAM ROM:26BD 000 mov A, R6 ; Move (Op1 <- Op2) ROM:26BE 000 add A, @R0 ; Add Second Operand to Acc ROM:26BF 000 mov @R0, A ; Move (Op1 <- Op2) ROM:26C0 000 movx @DPTR, A ; Move from/to external RAM ROM:26C1 000 add A, @R1 ; Add Second Operand to Acc ROM:26C2 000 nop ; No operation ROM:26C3 000 movx @R0, A ; Move from/to external RAM ROM:26C4 000 add A, @R1 ; Add Second Operand to Acc ROM:26C5 000 dec FSR_F3 ; Decrement Operand ROM:26C7 000 add A, @R1 ; Add Second Operand to Acc ROM:26C8 000 dec R7 ; Decrement Operand ROM:26C9 000 cpl A ; Complement Operand ROM:26CA 000 add A, @R1 ; Add Second Operand to Acc ROM:26CB 000 add A, @R0 ; Add Second Operand to Acc ROM:26CC 000 mov RAM_27, A ; Move (Op1 <- Op2) ROM:26CE 000 jnb B.6, ROM_26F7 ; B Register ROM:26CE ROM:26D1 000 movx @DPTR, A ; Move from/to external RAM ROM:26D2 000 mov @R1, A ; Move (Op1 <- Op2) ROM:26D3 000 add A, @R0 ; Add Second Operand to Acc ROM:26D4 000 movx @DPTR, A ; Move from/to external RAM ROM:26D5 000 mov R0, A ; Move (Op1 <- Op2) ROM:26D6 000 add A, @R0 ; Add Second Operand to Acc ROM:26D7 000 movx @DPTR, A ; Move from/to external RAM ROM:26D8 000 mov R1, A ; Move (Op1 <- Op2) ROM:26D9 000 add A, @R0 ; Add Second Operand to Acc ROM:26DA 000 movx @DPTR, A ; Move from/to external RAM ROM:26DB 000 mov R2, A ; Move (Op1 <- Op2) ROM:26DC 000 add A, @R0 ; Add Second Operand to Acc ROM:26DD 000 movx @DPTR, A ; Move from/to external RAM ROM:26DE 000 mov R3, A ; Move (Op1 <- Op2) ROM:26DF 000 add A, @R1 ; Add Second Operand to Acc ROM:26E0 000 ajmp ROM_22FF ; Absolute Jump ROM:26E0 ROM:26E2 ; --------------------------------------------------------------------------- ROM:26E2 000 nop ; No operation ROM:26E3 000 nop ; No operation ROM:26E4 000 add A, @R1 ; Add Second Operand to Acc ROM:26E5 000 anl A, R3 ; Logical AND (op1 &= op2) ROM:26E6 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:26E8 000 lcall ROM_1462 ; Long Subroutine Call ROM:26E8 ROM:26EB 000 mov RAM_5A, #0EDh ; 'f' ; Move (Op1 <- Op2) ROM:26EE 000 sjmp ROM_276E ; Short jump ROM:26EE ROM:26F0 ; --------------------------------------------------------------------------- ROM:26F0 000 sjmp ROM_273A ; Short jump ROM:26F0 ROM:26F2 ; --------------------------------------------------------------------------- ROM:26F2 000 mov R7, #0EEh ; 'e' ; Move (Op1 <- Op2) ROM:26F4 000 sjmp ROM_273C ; Short jump ROM:26F4 ROM:26F4 ; --------------------------------------------------------------------------- ROM:26F6 000 db 7Fh ROM:26F7 ; --------------------------------------------------------------------------- ROM:26F7 ROM:26F7 ROM_26F7: ; CODE XREF: ROM_2631+9Dj ROM:26F7 000 mov R2, A ; Move (Op1 <- Op2) ROM:26F8 000 lcall ROM_1462 ; Long Subroutine Call ROM:26F8 ROM:26FB 000 mov RAM_5A, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:26FE 000 sjmp ROM_276E ; Short jump ROM:26FE ROM:2700 ; --------------------------------------------------------------------------- ROM:2700 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2702 000 lcall ROM_1462 ; Long Subroutine Call ROM:2702 ROM:2705 000 mov R7, #0ABh ; '½' ; Move (Op1 <- Op2) ROM:2707 000 lcall ROM_14EE ; Long Subroutine Call ROM:2707 ROM:270A 000 jnb RAM_20.6, ROM_2711 ; Jump if Bit is clear ROM:270A ROM:270D 000 mov R7, #83h ; 'â' ; Move (Op1 <- Op2) ROM:270F 000 sjmp ROM_2756 ; Short jump ROM:270F ROM:2711 ; --------------------------------------------------------------------------- ROM:2711 ROM:2711 ROM_2711: ; CODE XREF: ROM_2631+D9j ROM:2711 000 mov R7, #41h ; 'A' ; Move (Op1 <- Op2) ROM:2713 000 sjmp ROM_2756 ; Short jump ROM:2713 ROM:2715 ; --------------------------------------------------------------------------- ROM:2715 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2717 000 lcall ROM_1462 ; Long Subroutine Call ROM:2717 ROM:271A 000 mov RAM_5A, #0F3h ; '=' ; Move (Op1 <- Op2) ROM:271D 000 sjmp ROM_276E ; Short jump ROM:271D ROM:271F ; --------------------------------------------------------------------------- ROM:271F 000 lcall ROM_3E11 ; Long Subroutine Call ROM:271F ROM:2722 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2724 000 sjmp ROM_273C ; Short jump ROM:2724 ROM:2726 ; --------------------------------------------------------------------------- ROM:2726 000 lcall ROM_3E11 ; Long Subroutine Call ROM:2726 ROM:2729 000 lcall write_0x1E4_to_0x64_0x65 ; Long Subroutine Call ROM:2729 ROM:272C 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:272E 000 sjmp ROM_273C ; Short jump ROM:272E ROM:2730 ; --------------------------------------------------------------------------- ROM:2730 000 lcall ROM_3E11 ; Long Subroutine Call ROM:2730 ROM:2733 000 lcall write_0x1E4_to_0x64_0x65 ; Long Subroutine Call ROM:2733 ROM:2736 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2738 000 sjmp ROM_273C ; Short jump ROM:2738 ROM:273A ; --------------------------------------------------------------------------- ROM:273A ROM:273A ROM_273A: ; CODE XREF: ROM_2631+BFj ROM:273A 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:273A ROM:273C ROM:273C ROM_273C: ; CODE XREF: ROM_2631+C3j ROM:273C ; ROM_2631+F3j ... ROM:273C 000 lcall ROM_1462 ; Long Subroutine Call ROM:273C ROM:273F 000 sjmp ROM_276E ; Short jump ROM:273F ROM:2741 ; --------------------------------------------------------------------------- ROM:2741 000 lcall ROM_3E11 ; Long Subroutine Call ROM:2741 ROM:2744 000 lcall write_0x1E4_to_0x64_0x65 ; Long Subroutine Call ROM:2744 ROM:2747 000 clr A ; Clear Operand (0) ROM:2748 000 mov RAM_25, A ; Move (Op1 <- Op2) ROM:274A 000 clr RAM_23.1 ; Clear Operand (0) ROM:274C 000 lcall clear_RAM_4F ; Long Subroutine Call ROM:274C ROM:274F 000 mov R7, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2751 000 lcall ROM_1462 ; Long Subroutine Call ROM:2751 ROM:2754 000 mov R7, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:2754 ROM:2756 ROM:2756 ROM_2756: ; CODE XREF: ROM_2631+DEj ROM:2756 ; ROM_2631+E2j ROM:2756 000 lcall ROM_14EE ; Long Subroutine Call ROM:2756 ROM:2759 000 sjmp ROM_276E ; Short jump ROM:2759 ROM:275B ; --------------------------------------------------------------------------- ROM:275B 000 mov R7, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:275D 000 lcall ROM_1462 ; Long Subroutine Call ROM:275D ROM:2760 000 mov DPTR, #6Fh ; 'o' ; Move (Op1 <- Op2) ROM:2763 000 movx A, @DPTR ; Move from/to external RAM ROM:2764 000 inc A ; Increment Operand ROM:2765 000 movx @DPTR, A ; Move from/to external RAM ROM:2766 000 mov DPTR, #63Bh ; Move (Op1 <- Op2) ROM:2769 000 movx A, @DPTR ; Move from/to external RAM ROM:276A 000 mov DPTR, #6Eh ; 'n' ; Move (Op1 <- Op2) ROM:276D 000 movx @DPTR, A ; Move from/to external RAM ROM:276D ROM:276E ROM:276E ROM_276E: ; CODE XREF: ROM_2631+BDj ROM:276E ; ROM_2631+CDj ... ROM:276E 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:2771 000 movx A, @DPTR ; Move from/to external RAM ROM:2772 000 setb C ; Set Direct Bit ROM:2773 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:2775 000 jc ROM_277A ; Jump if Carry is set ROM:2775 ROM:2777 000 lcall set_timer_1_yet ; Long Subroutine Call ROM:2777 ROM:277A ROM:277A ROM_277A: ; CODE XREF: ROM_2631+144j ROM:277A 000 ret ; Return from subroutine ROM:277A ROM:277A ; End of function ROM_2631 ROM:277A ROM:277B ROM:277B ; =============== S U B R O U T I N E ======================================= ROM:277B ROM:277B ROM:277B ROM_277B: ROM:277B 000 mov R7, #0Dh ; Move (Op1 <- Op2) ROM:277D 000 jnb RAM_21.5, return ; Jump if Bit is clear ROM:277D ROM:2780 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2781 000 xrl A, #8Ch ; Exclusive OR (op1 ^= op2) ROM:2783 000 mov R7, A ; Move (Op1 <- Op2) ROM:2783 ROM:2784 ROM:2784 return: ; CODE XREF: ROM_277B+2j ROM:2784 000 ret ; Return from subroutine ROM:2784 ROM:2784 ; End of function ROM_277B ROM:2784 ROM:2785 ROM:2785 ; =============== S U B R O U T I N E ======================================= ROM:2785 ROM:2785 ROM:2785 ROM_2785: ROM:2785 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:2787 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:2789 000 add A, ACC ; Accumulator ROM:278B 000 add A, #0ACh ; '¼' ; Add Second Operand to Acc ROM:278D 000 mov DP0L, A ; Data Pointer Low Byte ROM:278F 000 clr A ; Clear Operand (0) ROM:2790 000 addc A, #28h ; '(' ; Add Second Operand to Acc with carry ROM:2792 000 mov DP0H, A ; Data Pointer High Byte ROM:2794 000 clr A ; Clear Operand (0) ROM:2795 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2796 000 mov R6, A ; Move (Op1 <- Op2) ROM:2797 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2799 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:279A 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:279C 000 mov R1, A ; Move (Op1 <- Op2) ROM:279D 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:279D ROM:279D ; End of function ROM_2785 ROM:279D ROM:27A0 ROM:27A0 ; =============== S U B R O U T I N E ======================================= ROM:27A0 ROM:27A0 ROM:27A0 ROM_27A0: ROM:27A0 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:27A2 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:27A4 000 add A, ACC ; Accumulator ROM:27A6 000 add A, #0CCh ; '¦' ; Add Second Operand to Acc ROM:27A8 000 mov DP0L, A ; Data Pointer Low Byte ROM:27AA 000 clr A ; Clear Operand (0) ROM:27AB 000 addc A, #28h ; '(' ; Add Second Operand to Acc with carry ROM:27AD 000 mov DP0H, A ; Data Pointer High Byte ROM:27AF 000 clr A ; Clear Operand (0) ROM:27B0 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:27B1 000 mov R6, A ; Move (Op1 <- Op2) ROM:27B2 000 mov A, #1 ; Move (Op1 <- Op2) ROM:27B4 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:27B5 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:27B7 000 mov R1, A ; Move (Op1 <- Op2) ROM:27B8 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:27B8 ROM:27B8 ; End of function ROM_27A0 ROM:27B8 ROM:27BB ROM:27BB ; =============== S U B R O U T I N E ======================================= ROM:27BB ROM:27BB ROM:27BB ROM_27BB: ROM:27BB 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:27BD 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:27BF 000 add A, ACC ; Accumulator ROM:27C1 000 add A, #0ECh ; '8' ; Add Second Operand to Acc ROM:27C3 000 mov DP0L, A ; Data Pointer Low Byte ROM:27C5 000 clr A ; Clear Operand (0) ROM:27C6 000 addc A, #28h ; '(' ; Add Second Operand to Acc with carry ROM:27C8 000 mov DP0H, A ; Data Pointer High Byte ROM:27CA 000 clr A ; Clear Operand (0) ROM:27CB 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:27CC 000 mov R6, A ; Move (Op1 <- Op2) ROM:27CD 000 mov A, #1 ; Move (Op1 <- Op2) ROM:27CF 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:27D0 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:27D2 000 mov R1, A ; Move (Op1 <- Op2) ROM:27D3 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:27D3 ROM:27D3 ; End of function ROM_27BB ROM:27D3 ROM:27D6 ROM:27D6 ; =============== S U B R O U T I N E ======================================= ROM:27D6 ROM:27D6 ROM:27D6 ROM_27D6: ROM:27D6 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:27D8 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:27DA 000 add A, ACC ; Accumulator ROM:27DC 000 add A, #0Ch ; Add Second Operand to Acc ROM:27DE 000 mov DP0L, A ; Data Pointer Low Byte ROM:27E0 000 clr A ; Clear Operand (0) ROM:27E1 000 addc A, #29h ; ')' ; Add Second Operand to Acc with carry ROM:27E3 000 mov DP0H, A ; Data Pointer High Byte ROM:27E5 000 clr A ; Clear Operand (0) ROM:27E6 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:27E7 000 mov R6, A ; Move (Op1 <- Op2) ROM:27E8 000 mov A, #1 ; Move (Op1 <- Op2) ROM:27EA 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:27EB 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:27ED 000 mov R1, A ; Move (Op1 <- Op2) ROM:27EE 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:27EE ROM:27EE ; End of function ROM_27D6 ROM:27EE ROM:27F1 ROM:27F1 ; =============== S U B R O U T I N E ======================================= ROM:27F1 ROM:27F1 ROM:27F1 ROM_27F1: ROM:27F1 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:27F3 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:27F5 000 add A, ACC ; Accumulator ROM:27F7 000 add A, #2Ch ; ',' ; Add Second Operand to Acc ROM:27F9 000 mov DP0L, A ; Data Pointer Low Byte ROM:27FB 000 clr A ; Clear Operand (0) ROM:27FC 000 addc A, #29h ; ')' ; Add Second Operand to Acc with carry ROM:27FE 000 mov DP0H, A ; Data Pointer High Byte ROM:2800 000 clr A ; Clear Operand (0) ROM:2801 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2802 000 mov R6, A ; Move (Op1 <- Op2) ROM:2803 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2805 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2806 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:2808 000 mov R1, A ; Move (Op1 <- Op2) ROM:2809 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:2809 ROM:2809 ; End of function ROM_27F1 ROM:2809 ROM:280C ROM:280C ; =============== S U B R O U T I N E ======================================= ROM:280C ROM:280C ROM:280C ROM_280C: ROM:280C 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:280E 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:2810 000 add A, ACC ; Accumulator ROM:2812 000 add A, #4Ch ; 'L' ; Add Second Operand to Acc ROM:2814 000 mov DP0L, A ; Data Pointer Low Byte ROM:2816 000 clr A ; Clear Operand (0) ROM:2817 000 addc A, #29h ; ')' ; Add Second Operand to Acc with carry ROM:2819 000 mov DP0H, A ; Data Pointer High Byte ROM:281B 000 clr A ; Clear Operand (0) ROM:281C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:281D 000 mov R6, A ; Move (Op1 <- Op2) ROM:281E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2820 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2821 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:2823 000 mov R1, A ; Move (Op1 <- Op2) ROM:2824 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:2824 ROM:2824 ; End of function ROM_280C ROM:2824 ROM:2827 ROM:2827 ; =============== S U B R O U T I N E ======================================= ROM:2827 ROM:2827 ROM:2827 ROM_2827: ROM:2827 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:2829 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:282B 000 add A, ACC ; Accumulator ROM:282D 000 add A, #6Ch ; 'l' ; Add Second Operand to Acc ROM:282F 000 mov DP0L, A ; Data Pointer Low Byte ROM:2831 000 clr A ; Clear Operand (0) ROM:2832 000 addc A, #29h ; ')' ; Add Second Operand to Acc with carry ROM:2834 000 mov DP0H, A ; Data Pointer High Byte ROM:2836 000 clr A ; Clear Operand (0) ROM:2837 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2838 000 mov R6, A ; Move (Op1 <- Op2) ROM:2839 000 mov A, #1 ; Move (Op1 <- Op2) ROM:283B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:283C 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:283E 000 mov R1, A ; Move (Op1 <- Op2) ROM:283F 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:283F ROM:283F ; End of function ROM_2827 ROM:283F ROM:2842 ROM:2842 ; =============== S U B R O U T I N E ======================================= ROM:2842 ROM:2842 ROM:2842 ROM_2842: ROM:2842 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:2844 000 jb ACC.0, ROM_2860 ; Accumulator ROM:2844 ROM:2847 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:284A 000 movx A, @DPTR ; Move from/to external RAM ROM:284B 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:284D 000 movx @DPTR, A ; Move from/to external RAM ROM:284E 000 movx A, @DPTR ; Move from/to external RAM ROM:284F 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:2851 000 movx @DPTR, A ; Move from/to external RAM ROM:2852 000 mov R7, #40h ; '@' ; Move (Op1 <- Op2) ROM:2854 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:2856 000 lcall ROM_4D10 ; Long Subroutine Call ROM:2856 ROM:2859 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:285C 000 movx A, @DPTR ; Move from/to external RAM ROM:285D 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:285F 000 movx @DPTR, A ; Move from/to external RAM ROM:285F ROM:2860 ROM:2860 ROM_2860: ; CODE XREF: ROM_2842+2j ROM:2860 000 ret ; Return from subroutine ROM:2860 ROM:2860 ; End of function ROM_2842 ROM:2860 ROM:2861 ROM:2861 ; =============== S U B R O U T I N E ======================================= ROM:2861 ROM:2861 ROM:2861 ROM_2861: ROM:2861 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:2864 000 movx A, @DPTR ; Move from/to external RAM ROM:2865 000 jnb ACC.1, ROM_28AB ; Accumulator ROM:2865 ROM:2868 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:286B 000 movx A, @DPTR ; Move from/to external RAM ROM:286C 000 jnb ACC.3, ROM_287A ; Accumulator ROM:286C ROM:286F 000 clr A ; Clear Operand (0) ROM:2870 000 mov RAM_61, A ; Move (Op1 <- Op2) ROM:2872 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register ROM:2875 000 movx A, @DPTR ; Move from/to external RAM ROM:2876 000 mov RAM_60, A ; Move (Op1 <- Op2) ROM:2878 000 sjmp ROM_2884 ; Short jump ROM:2878 ROM:287A ; --------------------------------------------------------------------------- ROM:287A ROM:287A ROM_287A: ; CODE XREF: ROM_2861+Bj ROM:287A 000 mov A, RAM_61 ; Move (Op1 <- Op2) ROM:287C 000 jz ROM_28A0 ; Jump if Acc is zero ROM:287C ROM:287E 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register ROM:2881 000 movx A, @DPTR ; Move from/to external RAM ROM:2882 000 mov RAM_62, A ; Move (Op1 <- Op2) ROM:2882 ROM:2884 ROM:2884 ROM_2884: ; CODE XREF: ROM_2861+17j ROM:2884 000 mov A, RAM_60 ; Move (Op1 <- Op2) ROM:2886 000 swap A ; Swap nibbles of Acc ROM:2887 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:2889 000 add A, ACC ; Accumulator ROM:288B 000 add A, #8Ch ; 'î' ; Add Second Operand to Acc ROM:288D 000 mov DP0L, A ; Data Pointer Low Byte ROM:288F 000 clr A ; Clear Operand (0) ROM:2890 000 addc A, #29h ; ')' ; Add Second Operand to Acc with carry ROM:2892 000 mov DP0H, A ; Data Pointer High Byte ROM:2894 000 clr A ; Clear Operand (0) ROM:2895 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2896 000 mov R6, A ; Move (Op1 <- Op2) ROM:2897 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2899 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:289A 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:289C 000 mov R1, A ; Move (Op1 <- Op2) ROM:289D 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:289D ROM:28A0 ; --------------------------------------------------------------------------- ROM:28A0 ROM:28A0 ROM_28A0: ; CODE XREF: ROM_2861+1Bj ROM:28A0 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register ROM:28A3 000 movx A, @DPTR ; Move from/to external RAM ROM:28A4 000 mov RAM_62, A ; Move (Op1 <- Op2) ROM:28A6 000 mov R7, RAM_62 ; Move (Op1 <- Op2) ROM:28A8 000 lcall ROM_2631 ; Long Subroutine Call ROM:28A8 ROM:28AB ROM:28AB ROM_28AB: ; CODE XREF: ROM_2861+4j ROM:28AB 000 ret ; Return from subroutine ROM:28AB ROM:28AB ; End of function ROM_2861 ROM:28AB ROM:28AB ; --------------------------------------------------------------------------- ROM:28AC db 67h ; g ROM:28AD db 8 ROM:28AE db 67h ; g ROM:28AF db 9 ROM:28B0 db 67h ; g ROM:28B1 db 0Ah ROM:28B2 db 67h ; g ROM:28B3 db 0Bh ROM:28B4 db 67h ; g ROM:28B5 db 0Ch ROM:28B6 db 67h ; g ROM:28B7 db 0Dh ROM:28B8 db 67h ; g ROM:28B9 db 0Eh ROM:28BA db 67h ; g ROM:28BB db 0Fh ROM:28BC db 67h ; g ROM:28BD db 10h ROM:28BE db 67h ; g ROM:28BF db 11h ROM:28C0 db 67h ; g ROM:28C1 db 12h ROM:28C2 db 67h ; g ROM:28C3 db 13h ROM:28C4 db 67h ; g ROM:28C5 db 14h ROM:28C6 db 67h ; g ROM:28C7 db 15h ROM:28C8 db 67h ; g ROM:28C9 db 16h ROM:28CA db 67h ; g ROM:28CB db 17h ROM:28CC db 1Ch ROM:28CD db 0FEh ; ¦ ROM:28CE db 1Dh ROM:28CF db 9 ROM:28D0 db 1Dh ROM:28D1 db 16h ROM:28D2 db 1Dh ROM:28D3 db 2Eh ; . ROM:28D4 db 67h ; g ROM:28D5 db 18h ROM:28D6 db 68h ; h ROM:28D7 db 0Eh ROM:28D8 db 68h ; h ROM:28D9 db 0Eh ROM:28DA db 67h ; g ROM:28DB db 19h ROM:28DC db 68h ; h ROM:28DD db 0Eh ROM:28DE db 68h ; h ROM:28DF db 0Eh ROM:28E0 db 68h ; h ROM:28E1 db 0Eh ROM:28E2 db 68h ; h ROM:28E3 db 0Eh ROM:28E4 db 68h ; h ROM:28E5 db 0Eh ROM:28E6 db 68h ; h ROM:28E7 db 0Eh ROM:28E8 db 68h ; h ROM:28E9 db 0Eh ROM:28EA db 68h ; h ROM:28EB db 0Eh ROM:28EC db 67h ; g ROM:28ED db 61h ; a ROM:28EE db 20h ROM:28EF db 15h ROM:28F0 db 67h ; g ROM:28F1 db 69h ; i ROM:28F2 db 67h ; g ROM:28F3 db 6Ah ; j ROM:28F4 db 20h ROM:28F5 db 16h ROM:28F6 db 20h ROM:28F7 db 2Ah ; * ROM:28F8 db 20h ROM:28F9 db 69h ; i ROM:28FA db 20h ROM:28FB db 92h ; Æ ROM:28FC db 20h ROM:28FD db 95h ; ò ROM:28FE db 20h ROM:28FF db 98h ; ÿ ROM:2900 db 20h ROM:2901 db 0A3h ; ú ROM:2902 db 20h ROM:2903 db 0B6h ; ¦ ROM:2904 db 20h ROM:2905 db 0BBh ; + ROM:2906 db 20h ROM:2907 db 0BCh ; + ROM:2908 db 20h ROM:2909 db 0C7h ; ¦ ROM:290A db 67h ; g ROM:290B db 6Bh ; k ROM:290C db 67h ; g ROM:290D db 6Ch ; l ROM:290E db 67h ; g ROM:290F db 6Dh ; m ROM:2910 db 67h ; g ROM:2911 db 6Eh ; n ROM:2912 db 67h ; g ROM:2913 db 6Fh ; o ROM:2914 db 67h ; g ROM:2915 db 70h ; p ROM:2916 db 67h ; g ROM:2917 db 73h ; s ROM:2918 db 67h ; g ROM:2919 db 74h ; t ROM:291A db 67h ; g ROM:291B db 75h ; u ROM:291C db 67h ; g ROM:291D db 76h ; v ROM:291E db 67h ; g ROM:291F db 77h ; w ROM:2920 db 67h ; g ROM:2921 db 0A3h ; ú ROM:2922 db 67h ; g ROM:2923 db 0A4h ; ñ ROM:2924 db 67h ; g ROM:2925 db 0A5h ; Ñ ROM:2926 db 67h ; g ROM:2927 db 0A6h ; ª ROM:2928 db 67h ; g ROM:2929 db 0A7h ; º ROM:292A db 67h ; g ROM:292B db 0A8h ; ¿ ROM:292C db 20h ROM:292D db 0D0h ; - ROM:292E db 67h ; g ROM:292F db 0A9h ; ¬ ROM:2930 db 67h ; g ROM:2931 db 0AAh ; ¬ ROM:2932 db 67h ; g ROM:2933 db 0ABh ; ½ ROM:2934 db 67h ; g ROM:2935 db 0ACh ; ¼ ROM:2936 db 67h ; g ROM:2937 db 0ADh ; ¡ ROM:2938 db 67h ; g ROM:2939 db 0B5h ; ¦ ROM:293A db 67h ; g ROM:293B db 0B6h ; ¦ ROM:293C db 67h ; g ROM:293D db 0B7h ; + ROM:293E db 67h ; g ROM:293F db 0C7h ; ¦ ROM:2940 db 67h ; g ROM:2941 db 0D8h ; + ROM:2942 db 67h ; g ROM:2943 db 0EFh ; n ROM:2944 db 67h ; g ROM:2945 db 0F0h ; = ROM:2946 db 67h ; g ROM:2947 db 0F1h ; ± ROM:2948 db 67h ; g ROM:2949 db 0F2h ; = ROM:294A db 67h ; g ROM:294B db 0F3h ; = ROM:294C db 20h ROM:294D db 0D5h ; + ROM:294E db 20h ROM:294F db 0DAh ; + ROM:2950 db 20h ROM:2951 db 0F3h ; = ROM:2952 db 20h ROM:2953 db 0FEh ; ¦ ROM:2954 db 21h ; ! ROM:2955 db 68h ; h ROM:2956 db 67h ; g ROM:2957 db 0F4h ; ( ROM:2958 db 67h ; g ROM:2959 db 0F5h ; ) ROM:295A db 67h ; g ROM:295B db 0F6h ; ÷ ROM:295C db 67h ; g ROM:295D db 0F7h ; ˜ ROM:295E db 67h ; g ROM:295F db 0F8h ; ° ROM:2960 db 67h ; g ROM:2961 db 0F9h ; · ROM:2962 db 67h ; g ROM:2963 db 0FAh ; · ROM:2964 db 67h ; g ROM:2965 db 0FBh ; v ROM:2966 db 67h ; g ROM:2967 db 0FCh ; n ROM:2968 db 67h ; g ROM:2969 db 0FDh ; ² ROM:296A db 67h ; g ROM:296B db 0FEh ; ¦ ROM:296C db 25h ; % ROM:296D db 0D3h ; + ROM:296E db 67h ; g ROM:296F db 0FFh ROM:2970 db 68h ; h ROM:2971 db 0 ROM:2972 db 68h ; h ROM:2973 db 1 ROM:2974 db 68h ; h ROM:2975 db 2 ROM:2976 db 68h ; h ROM:2977 db 3 ROM:2978 db 68h ; h ROM:2979 db 4 ROM:297A db 68h ; h ROM:297B db 5 ROM:297C db 68h ; h ROM:297D db 6 ROM:297E db 68h ; h ROM:297F db 7 ROM:2980 db 68h ; h ROM:2981 db 8 ROM:2982 db 68h ; h ROM:2983 db 9 ROM:2984 db 68h ; h ROM:2985 db 0Ah ROM:2986 db 68h ; h ROM:2987 db 0Bh ROM:2988 db 68h ; h ROM:2989 db 0Ch ROM:298A db 68h ; h ROM:298B db 0Dh ROM:298C db 1Ch ROM:298D db 54h ; T ROM:298E db 1Ch ROM:298F db 54h ; T ROM:2990 db 1Ch ROM:2991 db 54h ; T ROM:2992 db 1Ch ROM:2993 db 54h ; T ROM:2994 db 1Ch ROM:2995 db 97h ; ù ROM:2996 db 1Ch ROM:2997 db 97h ; ù ROM:2998 db 1Ch ROM:2999 db 97h ; ù ROM:299A db 1Ch ROM:299B db 97h ; ù ROM:299C db 27h ; ' ROM:299D db 85h ; à ROM:299E db 27h ; ' ROM:299F db 0A0h ; á ROM:29A0 db 27h ; ' ROM:29A1 db 0BBh ; + ROM:29A2 db 27h ; ' ROM:29A3 db 0D6h ; + ROM:29A4 db 27h ; ' ROM:29A5 db 0F1h ; ± ROM:29A6 db 28h ; ( ROM:29A7 db 0Ch ROM:29A8 db 28h ; ( ROM:29A9 db 27h ; ' ROM:29AA db 28h ; ( ROM:29AB db 42h ; B ROM:29AC db 2 ROM:29AD db 29h ; ) ROM:29AE ROM:29AE ; =============== S U B R O U T I N E ======================================= ROM:29AE ROM:29AE ROM:29AE ROM_29AE: ; CODE XREF: ROM_1148:ROM_1154p ROM:29AE ; ROM_1148:ROM_118Ap ROM:29AE 000 mov R7, RAM_78 ; Move (Op1 <- Op2) ROM:29B0 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:29B1 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:29B2 000 jb ACC.0, ROM_29D7 ; Accumulator ROM:29B2 ROM:29B5 000 mov DPTR, #PS2_PSCTL1 ; PS/2 Control Register 1 ROM:29B8 000 mov A, #11h ; Move (Op1 <- Op2) ROM:29BA 000 movx @DPTR, A ; Move from/to external RAM ROM:29BB 000 mov DPTR, #PS2_PSINT1 ; PS/2 Interrupt Control Register 1 ROM:29BE 000 clr A ; Clear Operand (0) ROM:29BF 000 movx @DPTR, A ; Move from/to external RAM ROM:29C0 000 mov DPTR, #PS2_PSCTL2 ; PS/2 Control Register 2 ROM:29C3 000 mov A, #11h ; Move (Op1 <- Op2) ROM:29C5 000 movx @DPTR, A ; Move from/to external RAM ROM:29C6 000 mov DPTR, #PS2_PSINT2 ; PS/2 Interrupt Control Register 2 ROM:29C9 000 clr A ; Clear Operand (0) ROM:29CA 000 movx @DPTR, A ; Move from/to external RAM ROM:29CB 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:29CE 000 mov A, #11h ; Move (Op1 <- Op2) ROM:29D0 000 movx @DPTR, A ; Move from/to external RAM ROM:29D1 000 mov DPTR, #PS2_PSINT3 ; PS/2 Interrupt Control Register 3 ROM:29D4 000 clr A ; Clear Operand (0) ROM:29D5 000 movx @DPTR, A ; Move from/to external RAM ROM:29D6 000 ret ; Return from subroutine ROM:29D6 ROM:29D7 ; --------------------------------------------------------------------------- ROM:29D7 ROM:29D7 ROM_29D7: ; CODE XREF: ROM_29AE+4j ROM:29D7 000 mov R0, #99h ; 'Ö' ; Move (Op1 <- Op2) ROM:29D9 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:29DA 000 add A, #0F0h ; '=' ; Add Second Operand to Acc ROM:29DC 000 jz ROM_29F2 ; Jump if Acc is zero ROM:29DC ROM:29DE 000 add A, #0F0h ; '=' ; Add Second Operand to Acc ROM:29E0 000 jz ROM_29F2 ; Jump if Acc is zero ROM:29E0 ROM:29E2 000 dec A ; Decrement Operand ROM:29E3 000 jz ROM_2A33 ; Jump if Acc is zero ROM:29E3 ROM:29E5 000 dec A ; Decrement Operand ROM:29E6 000 jnz ROM_29EB ; Jump if Acc is not zero ROM:29E6 ROM:29E8 000 ljmp ROM_2ADA ; Long Jump ROM:29E8 ROM:29EB ; --------------------------------------------------------------------------- ROM:29EB ROM:29EB ROM_29EB: ; CODE XREF: ROM_29AE+38j ROM:29EB 000 add A, #22h ; '"' ; Add Second Operand to Acc ROM:29ED 000 jz ROM_29F2 ; Jump if Acc is zero ROM:29ED ROM:29EF 000 ljmp ROM_2B14 ; Long Jump ROM:29EF ROM:29F2 ; --------------------------------------------------------------------------- ROM:29F2 ROM:29F2 ROM_29F2: ; CODE XREF: ROM_29AE+2Ej ROM:29F2 ; ROM_29AE+32j ... ROM:29F2 000 jnb RAM_28.2, ROM_2A00 ; Jump if Bit is clear ROM:29F2 ROM:29F5 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:29F7 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:29F8 000 swap A ; Swap nibbles of Acc ROM:29F9 000 rrc A ; Rotate Acc right through Carry ROM:29FA 000 rrc A ; Rotate Acc right through Carry ROM:29FB 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:29FD 000 jnb ACC.0, ROM_2A0E ; Accumulator ROM:29FD ROM:2A00 ROM:2A00 ROM_2A00: ; CODE XREF: ROM_29AE:ROM_29F2j ROM:2A00 000 mov DPTR, #1702h ; Move (Op1 <- Op2) ROM:2A03 000 mov A, #11h ; Move (Op1 <- Op2) ROM:2A05 000 movx @DPTR, A ; Move from/to external RAM ROM:2A06 000 mov DPTR, #PS2_PSINT3 ; PS/2 Interrupt Control Register 3 ROM:2A09 000 clr A ; Clear Operand (0) ROM:2A0A 000 movx @DPTR, A ; Move from/to external RAM ROM:2A0B 000 ljmp ROM_2B15 ; Long Jump ROM:2A0B ROM:2A0E ; --------------------------------------------------------------------------- ROM:2A0E ROM:2A0E ROM_2A0E: ; CODE XREF: ROM_29AE+4Fj ROM:2A0E 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2A10 000 lcall ROM_32F3 ; Long Subroutine Call ROM:2A10 ROM:2A13 000 jnc ROM_2A19 ; Jump if Carry is clear ROM:2A13 ROM:2A15 000 clr A ; Clear Operand (0) ROM:2A16 000 ljmp ROM_2B15 ; Long Jump ROM:2A16 ROM:2A19 ; --------------------------------------------------------------------------- ROM:2A19 ROM:2A19 ROM_2A19: ; CODE XREF: ROM_29AE+65j ROM:2A19 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:2A1C 000 movx A, @DPTR ; Move from/to external RAM ROM:2A1D 000 jnb ACC.3, ROM_2A22 ; Accumulator ROM:2A1D ROM:2A20 000 sjmp ROM_2A3A ; Short jump ROM:2A20 ROM:2A22 ; --------------------------------------------------------------------------- ROM:2A22 ROM:2A22 ROM_2A22: ; CODE XREF: ROM_29AE+6Fj ROM:2A22 000 mov DPTR, #PS2_PSINT3 ; PS/2 Interrupt Control Register 3 ROM:2A25 000 clr A ; Clear Operand (0) ROM:2A26 000 movx @DPTR, A ; Move from/to external RAM ROM:2A27 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:2A2A 000 movx A, @DPTR ; Move from/to external RAM ROM:2A2B 000 orl A, #17h ; Logical OR (op1 |= op2) ROM:2A2D 000 movx @DPTR, A ; Move from/to external RAM ROM:2A2E 000 mov R0, #99h ; 'Ö' ; Move (Op1 <- Op2) ROM:2A30 000 mov @R0, #21h ; '!' ; Move (Op1 <- Op2) ROM:2A32 000 ret ; Return from subroutine ROM:2A32 ROM:2A33 ; --------------------------------------------------------------------------- ROM:2A33 ROM:2A33 ROM_2A33: ; CODE XREF: ROM_29AE+35j ROM:2A33 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:2A36 000 movx A, @DPTR ; Move from/to external RAM ROM:2A37 000 jnb ACC.3, ROM_2A3F ; Accumulator ROM:2A37 ROM:2A3A ROM:2A3A ROM_2A3A: ; CODE XREF: ROM_29AE+72j ROM:2A3A 000 mov R0, #99h ; 'Ö' ; Move (Op1 <- Op2) ROM:2A3C 000 mov @R0, #22h ; '"' ; Move (Op1 <- Op2) ROM:2A3E 000 ret ; Return from subroutine ROM:2A3E ROM:2A3F ; --------------------------------------------------------------------------- ROM:2A3F ROM:2A3F ROM_2A3F: ; CODE XREF: ROM_29AE+89j ROM:2A3F 000 mov DPTR, #PS2_PSSTS3 ; PS/2 Status Register 3 ROM:2A42 000 movx A, @DPTR ; Move from/to external RAM ROM:2A43 000 jnb ACC.3, ROM_2ABF ; Accumulator ROM:2A43 ROM:2A46 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:2A49 000 mov A, #11h ; Move (Op1 <- Op2) ROM:2A4B 000 movx @DPTR, A ; Move from/to external RAM ROM:2A4C 000 mov DPTR, #PS2_PSDAT3 ; PS/2 Data Register 3 ROM:2A4F 000 movx A, @DPTR ; Move from/to external RAM ROM:2A50 000 mov DPTR, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:2A53 000 movx @DPTR, A ; Move from/to external RAM ROM:2A54 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2A56 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2A57 000 swap A ; Swap nibbles of Acc ROM:2A58 000 rrc A ; Rotate Acc right through Carry ROM:2A59 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:2A5B 000 jb ACC.0, ROM_2A9A ; Accumulator ROM:2A5B ROM:2A5E 000 mov R0, #0ABh ; '½' ; Move (Op1 <- Op2) ROM:2A60 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2A61 000 setb C ; Set Direct Bit ROM:2A62 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:2A64 000 jc ROM_2A84 ; Jump if Carry is set ROM:2A64 ROM:2A66 000 dec @R0 ; Decrement Operand ROM:2A67 000 movx A, @DPTR ; Move from/to external RAM ROM:2A68 000 mov R7, A ; Move (Op1 <- Op2) ROM:2A69 000 mov R5, #40h ; '@' ; Move (Op1 <- Op2) ROM:2A6B 000 lcall ROM_153D ; Long Subroutine Call ROM:2A6B ROM:2A6E 000 mov DPTR, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:2A71 000 movx A, @DPTR ; Move from/to external RAM ROM:2A72 000 mov R5, A ; Move (Op1 <- Op2) ROM:2A73 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2A75 000 lcall ROM_33AA ; Long Subroutine Call ROM:2A75 ROM:2A78 000 mov R0, #0ABh ; '½' ; Move (Op1 <- Op2) ROM:2A7A 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2A7B 000 jnz ROM_2A9A ; Jump if Acc is not zero ROM:2A7B ROM:2A7D 000 lcall ROM_2092 ; Long Subroutine Call ROM:2A7D ROM:2A80 000 clr RAM_28.2 ; Clear Operand (0) ROM:2A82 000 sjmp ROM_2A9A ; Short jump ROM:2A82 ROM:2A84 ; --------------------------------------------------------------------------- ROM:2A84 ROM:2A84 ROM_2A84: ; CODE XREF: ROM_29AE+B6j ROM:2A84 000 mov DPTR, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:2A87 000 movx A, @DPTR ; Move from/to external RAM ROM:2A88 000 mov R5, A ; Move (Op1 <- Op2) ROM:2A89 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2A8B 000 lcall ROM_33AA ; Long Subroutine Call ROM:2A8B ROM:2A8E 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2A90 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2A91 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:2A93 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2A94 000 mov DPTR, #0ADh ; '¡' ; Move (Op1 <- Op2) ROM:2A97 000 movx A, @DPTR ; Move from/to external RAM ROM:2A98 000 inc A ; Increment Operand ROM:2A99 000 movx @DPTR, A ; Move from/to external RAM ROM:2A99 ROM:2A9A ROM:2A9A ROM_2A9A: ; CODE XREF: ROM_29AE+ADj ROM:2A9A ; ROM_29AE+CDj ... ROM:2A9A 000 mov DPTR, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:2A9D 000 movx A, @DPTR ; Move from/to external RAM ROM:2A9E 000 xrl A, #0FAh ; Exclusive OR (op1 ^= op2) ROM:2AA0 000 jz ROM_2AAB ; Jump if Acc is zero ROM:2AA0 ROM:2AA2 000 movx A, @DPTR ; Move from/to external RAM ROM:2AA3 000 xrl A, #0FEh ; Exclusive OR (op1 ^= op2) ROM:2AA5 000 jz ROM_2AAB ; Jump if Acc is zero ROM:2AA5 ROM:2AA7 000 movx A, @DPTR ; Move from/to external RAM ROM:2AA8 000 cjne A, #0FCh, ROM_2AB1 ; 'n' ; Compare Operands and JNE ROM:2AA8 ROM:2AAB ROM:2AAB ROM_2AAB: ; CODE XREF: ROM_29AE+F2j ROM:2AAB ; ROM_29AE+F7j ROM:2AAB 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2AAD 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2AAE 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:2AB0 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2AB0 ROM:2AB1 ROM:2AB1 ROM_2AB1: ; CODE XREF: ROM_29AE+FAj ROM:2AB1 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2AB3 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2AB4 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:2AB6 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2AB7 000 clr A ; Clear Operand (0) ROM:2AB8 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2ABB 000 movx @DPTR, A ; Move from/to external RAM ROM:2ABC 000 mov R0, #99h ; 'Ö' ; Move (Op1 <- Op2) ROM:2ABE 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2ABE ROM:2ABF ROM:2ABF ROM_2ABF: ; CODE XREF: ROM_29AE+95j ROM:2ABF 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2AC1 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2AC2 000 swap A ; Swap nibbles of Acc ROM:2AC3 000 rrc A ; Rotate Acc right through Carry ROM:2AC4 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:2AC6 000 jnb ACC.0, ROM_2AD7 ; Accumulator ROM:2AC6 ROM:2AC9 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2ACC 000 movx A, @DPTR ; Move from/to external RAM ROM:2ACD 000 setb C ; Set Direct Bit ROM:2ACE 000 subb A, #64h ; 'd' ; Subtract Second Operand from Acc with Borrow ROM:2AD0 000 jc ROM_2B18 ; Jump if Carry is set ROM:2AD0 ROM:2AD2 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2AD3 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:2AD5 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2AD6 000 ret ; Return from subroutine ROM:2AD6 ROM:2AD7 ; --------------------------------------------------------------------------- ROM:2AD7 ROM:2AD7 ROM_2AD7: ; CODE XREF: ROM_29AE+118j ROM:2AD7 000 clr A ; Clear Operand (0) ROM:2AD8 000 sjmp ROM_2B15 ; Short jump ROM:2AD8 ROM:2ADA ; --------------------------------------------------------------------------- ROM:2ADA ROM:2ADA ROM_2ADA: ; CODE XREF: ROM_29AE+3Aj ROM:2ADA 000 mov DPTR, #PS2_PSSTS3 ; PS/2 Status Register 3 ROM:2ADD 000 movx A, @DPTR ; Move from/to external RAM ROM:2ADE 000 jnb ACC.3, ROM_2AEE ; Accumulator ROM:2ADE ROM:2AE1 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:2AE4 000 mov A, #17h ; Move (Op1 <- Op2) ROM:2AE6 000 movx @DPTR, A ; Move from/to external RAM ROM:2AE7 000 clr A ; Clear Operand (0) ROM:2AE8 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2AEB 000 movx @DPTR, A ; Move from/to external RAM ROM:2AEC 000 sjmp ROM_2B11 ; Short jump ROM:2AEC ROM:2AEE ; --------------------------------------------------------------------------- ROM:2AEE ROM:2AEE ROM_2AEE: ; CODE XREF: ROM_29AE+130j ROM:2AEE 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2AF1 000 movx A, @DPTR ; Move from/to external RAM ROM:2AF2 000 setb C ; Set Direct Bit ROM:2AF3 000 subb A, #64h ; 'd' ; Subtract Second Operand from Acc with Borrow ROM:2AF5 000 jc ROM_2B11 ; Jump if Carry is set ROM:2AF5 ROM:2AF7 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2AF9 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2AFA 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:2AFC 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2AFD 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:2B00 000 mov A, #11h ; Move (Op1 <- Op2) ROM:2B02 000 movx @DPTR, A ; Move from/to external RAM ROM:2B03 000 mov DPTR, #PS2_PSDAT3 ; PS/2 Data Register 3 ROM:2B06 000 movx A, @DPTR ; Move from/to external RAM ROM:2B07 000 mov DPTR, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:2B0A 000 movx @DPTR, A ; Move from/to external RAM ROM:2B0B 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2B0E 000 mov A, #0FCh ; 'n' ; Move (Op1 <- Op2) ROM:2B10 000 movx @DPTR, A ; Move from/to external RAM ROM:2B10 ROM:2B11 ROM:2B11 ROM_2B11: ; CODE XREF: ROM_29AE+13Ej ROM:2B11 ; ROM_29AE+147j ROM:2B11 000 clr A ; Clear Operand (0) ROM:2B12 000 sjmp ROM_2B15 ; Short jump ROM:2B12 ROM:2B14 ; --------------------------------------------------------------------------- ROM:2B14 ROM:2B14 ROM_2B14: ; CODE XREF: ROM_29AE+41j ROM:2B14 000 clr A ; Clear Operand (0) ROM:2B14 ROM:2B15 ROM:2B15 ROM_2B15: ; CODE XREF: ROM_29AE+5Dj ROM:2B15 ; ROM_29AE+68j ... ROM:2B15 000 mov R0, #99h ; 'Ö' ; Move (Op1 <- Op2) ROM:2B17 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2B17 ROM:2B18 ROM:2B18 ROM_2B18: ; CODE XREF: ROM_29AE+122j ROM:2B18 000 ret ; Return from subroutine ROM:2B18 ROM:2B18 ; End of function ROM_29AE ROM:2B18 ROM:2B19 ; --------------------------------------------------------------------------- ROM:2B19 mov DPTR, #163Dh ; Move (Op1 <- Op2) ROM:2B1C movx A, @DPTR ; Move from/to external RAM ROM:2B1D cjne A, #4, ROM_2B2A ; Compare Operands and JNE ROM:2B1D ROM:2B20 mov DPTR, #163Ch ; Move (Op1 <- Op2) ROM:2B23 movx A, @DPTR ; Move from/to external RAM ROM:2B24 cjne A, #4, ROM_2B2A ; Compare Operands and JNE ROM:2B24 ROM:2B27 lcall ROM_2B2F ; Long Subroutine Call ROM:2B27 ROM:2B2A ROM:2B2A ROM_2B2A: ; CODE XREF: ROM:2B1Dj ROM:2B2A ; ROM:2B24j ROM:2B2A ret ; Return from subroutine ROM:2B2A ROM:2B2B ; --------------------------------------------------------------------------- ROM:2B2B clr C ; Clear Operand (0) ROM:2B2C ret ; Return from subroutine ROM:2B2C ROM:2B2D ; --------------------------------------------------------------------------- ROM:2B2D clr C ; Clear Operand (0) ROM:2B2E ret ; Return from subroutine ROM:2B2E ROM:2B2F ROM:2B2F ; =============== S U B R O U T I N E ======================================= ROM:2B2F ROM:2B2F ROM:2B2F ROM_2B2F: ; CODE XREF: ROM:2B27p ROM:2B2F ROM:2B2F ; FUNCTION CHUNK AT ROM:741C SIZE 00000011 BYTES ROM:2B2F ROM:2B2F 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2B32 000 movx A, @DPTR ; Move from/to external RAM ROM:2B33 000 lcall ROM_B6CF ; Long Subroutine Call ROM:2B33 ROM:2B36 000 add A, R3 ; Add Second Operand to Acc ROM:2B37 000 mov R1, #0 ; Move (Op1 <- Op2) ROM:2B39 000 add A, R3 ; Add Second Operand to Acc ROM:2B3A 000 mov R1, RAM_1 ; Move (Op1 <- Op2) ROM:2B3C 000 add A, R3 ; Add Second Operand to Acc ROM:2B3D 000 mov R0, A ; Move (Op1 <- Op2) ROM:2B3E 000 ljmp ROM_2C0D ; Long Jump ROM:2B3E ROM:2B3E ; --------------------------------------------------------------------------- ROM:2B41 000 db 3, 2Ch, 52h, 40h, 2Ch, 5Dh, 41h, 2Ch, 78h, 42h, 2Ch ROM:2B41 db 0A5h, 50h, 2Dh, 36h, 71h, 2Dh, 51h, 78h, 2Dh, 54h, 80h ROM:2B41 db 2Dh, 5Fh, 81h, 2Dh, 0A2h, 83h, 2Dh, 0D5h, 88h, 2Dh ROM:2B41 db 0EBh, 8Ah, 2Eh, 1, 8Ch, 2Eh, 22h, 90h, 2Eh, 24h, 91h ROM:2B41 db 2Eh, 4Ah, 0B0h, 2Eh, 79h, 0B1h, 2Eh, 93h, 0B8h, 0, 0 ROM:2B41 db 2Eh, 9Ah, 0D2h, 42h, 78h, 0A5h, 0E6h, 0D3h, 94h, 0 ROM:2B41 db 50h, 8, 90h, 0, 0AAh, 0E0h, 94h, 0, 40h, 10h, 0E4h ROM:2B41 db 90h, 0, 0AAh, 0F0h, 7Fh, 2, 12h, 2Fh, 0FAh, 90h, 0 ROM:2B41 db 0AFh, 74h, 1, 0F0h, 78h, 9Dh, 0E6h, 0D3h, 94h, 5, 40h ROM:2B41 db 3, 2, 2Eh, 9Fh, 2, 2Ch, 9Ch, 90h, 17h, 0Ah, 0E0h, 30h ROM:2B41 db 0E2h, 3, 2, 2Eh, 9Fh, 0E0h, 30h, 0E3h, 3, 2, 2Eh, 9Fh ROM:2B41 db 7Fh, 2, 12h, 2Fh, 0FAh, 0E4h, 90h, 0, 0AAh, 0F0h, 78h ROM:2B41 db 0A7h, 0E6h, 54h, 7Fh, 0F6h, 90h, 0, 0A9h, 74h, 0F2h ROM:2B41 db 0F0h, 90h, 17h, 2, 74h, 1Dh, 0F0h, 90h, 0, 0A9h, 0E0h ROM:2B41 db 90h, 17h, 0Eh, 0F0h, 90h, 17h, 2, 74h, 1Ch, 0F0h, 74h ROM:2B41 db 1Eh, 0F0h, 90h, 0, 0AFh, 74h, 2, 0F0h, 0E4h, 90h, 0 ROM:2B41 db 0A8h, 0F0h, 78h, 9Dh, 6, 2, 2Eh, 9Fh, 90h, 0, 0A8h ROM:2B41 db 0E0h, 0D3h, 94h, 64h, 50h, 3, 2, 2Eh, 9Fh, 90h, 0, 0AFh ROM:2B41 db 74h, 3, 0F0h, 2, 2Eh, 9Fh ROM:2C0D ; --------------------------------------------------------------------------- ROM:2C0D ROM:2C0D ROM_2C0D: ; CODE XREF: ROM_2B2F+Fj ROM:2C0D 000 mov R0, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:2C0F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2C10 000 xrl A, #0FAh ; Exclusive OR (op1 ^= op2) ROM:2C12 000 jz ROM_2C27 ; Jump if Acc is zero ROM:2C12 ROM:2C14 000 mov R0, #87h ; 'ç' ; Move (Op1 <- Op2) ROM:2C16 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2C17 000 swap A ; Swap nibbles of Acc ROM:2C18 000 rrc A ; Rotate Acc right through Carry ROM:2C19 000 rrc A ; Rotate Acc right through Carry ROM:2C1A 000 rrc A ; Rotate Acc right through Carry ROM:2C1B 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:2C1D 000 jb ACC.0, ROM_2C24 ; Accumulator ROM:2C1D ROM:2C20 000 clr A ; Clear Operand (0) ROM:2C21 000 mov R0, #9Dh ; '¥' ; Move (Op1 <- Op2) ROM:2C23 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2C23 ROM:2C24 ROM:2C24 ROM_2C24: ; CODE XREF: ROM_2B2F+EEj ROM:2C24 000 ljmp ROM_2E9A ; Long Jump ROM:2C24 ROM:2C27 ; --------------------------------------------------------------------------- ROM:2C27 ROM:2C27 ROM_2C27: ; CODE XREF: ROM_2B2F+E3j ROM:2C27 000 mov R0, #0A1h ; 'í' ; Move (Op1 <- Op2) ROM:2C29 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2C2A 000 cjne A, #0ABh, ROM_2C40 ; '½' ; Compare Operands and JNE ROM:2C2A ROM:2C2D 000 inc R0 ; Increment Operand ROM:2C2E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2C2F 000 cjne A, #83h, ROM_2C40 ; 'â' ; Compare Operands and JNE ROM:2C2F ROM:2C32 000 clr A ; Clear Operand (0) ROM:2C33 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2C36 000 movx @DPTR, A ; Move from/to external RAM ROM:2C37 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2C3A 000 mov A, #40h ; '@' ; Move (Op1 <- Op2) ROM:2C3C 000 movx @DPTR, A ; Move from/to external RAM ROM:2C3D 000 ljmp ROM_2E9F ; Long Jump ROM:2C3D ROM:2C40 ; --------------------------------------------------------------------------- ROM:2C40 ROM:2C40 ROM_2C40: ; CODE XREF: ROM_2B2F+FBj ROM:2C40 ; ROM_2B2F+100j ROM:2C40 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2C42 000 lcall ROM_2FFA ; Long Subroutine Call ROM:2C42 ROM:2C45 000 clr A ; Clear Operand (0) ROM:2C46 000 mov R0, #9Dh ; '¥' ; Move (Op1 <- Op2) ROM:2C48 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2C49 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2C4C 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:2C4E 000 movx @DPTR, A ; Move from/to external RAM ROM:2C4F 000 ljmp ROM_2E9F ; Long Jump ROM:2C4F ROM:2C52 ; --------------------------------------------------------------------------- ROM:2C52 000 clr RAM_28.2 ; Clear Operand (0) ROM:2C54 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2C57 000 mov A, #41h ; 'A' ; Move (Op1 <- Op2) ROM:2C59 000 movx @DPTR, A ; Move from/to external RAM ROM:2C5A 000 ljmp ROM_2E9F ; Long Jump ROM:2C5A ROM:2C5D ; --------------------------------------------------------------------------- ROM:2C5D 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2C5F 000 lcall ROM_3556 ; Long Subroutine Call ROM:2C5F ROM:2C62 000 jnc ROM_2C6B ; Jump if Carry is clear ROM:2C62 ROM:2C64 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2C67 000 mov A, #42h ; 'B' ; Move (Op1 <- Op2) ROM:2C69 000 movx @DPTR, A ; Move from/to external RAM ROM:2C6A 000 ret ; Return from subroutine ROM:2C6A ROM:2C6B ; --------------------------------------------------------------------------- ROM:2C6B ROM:2C6B ROM_2C6B: ; CODE XREF: ROM_2B2F+133j ROM:2C6B 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2C6E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2C70 000 movx @DPTR, A ; Move from/to external RAM ROM:2C71 000 clr A ; Clear Operand (0) ROM:2C72 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2C74 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2C75 000 ljmp ROM_2E9F ; Long Jump ROM:2C75 ROM:2C78 ; --------------------------------------------------------------------------- ROM:2C78 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2C7B 000 mov A, #0F4h ; '(' ; Move (Op1 <- Op2) ROM:2C7D 000 movx @DPTR, A ; Move from/to external RAM ROM:2C7E 000 movx A, @DPTR ; Move from/to external RAM ROM:2C7F 000 mov R5, A ; Move (Op1 <- Op2) ROM:2C80 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2C82 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2C84 000 lcall ROM_3108 ; Long Subroutine Call ROM:2C84 ROM:2C87 000 jnc ROM_2C9C ; Jump if Carry is clear ROM:2C87 ROM:2C89 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2C8B 000 lcall ROM_2FFA ; Long Subroutine Call ROM:2C8B ROM:2C8E 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2C90 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2C91 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:2C93 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2C94 000 mov A, #50h ; 'P' ; Move (Op1 <- Op2) ROM:2C96 000 lcall ROM_2FF4 ; Long Subroutine Call ROM:2C96 ROM:2C99 000 ljmp ROM_2E9F ; Long Jump ROM:2C99 ROM:2C9C ; --------------------------------------------------------------------------- ROM:2C9C ROM:2C9C ROM_2C9C: ; CODE XREF: ROM_2B2F+158j ROM:2C9C 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2C9F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2CA1 000 movx @DPTR, A ; Move from/to external RAM ROM:2CA2 000 ljmp ROM_2E9F ; Long Jump ROM:2CA2 ROM:2CA5 ; --------------------------------------------------------------------------- ROM:2CA5 000 setb RAM_28.2 ; Set Direct Bit ROM:2CA7 000 lcall ROM_3FE8 ; Long Subroutine Call ROM:2CA7 ROM:2CAA 000 jnc ROM_2CCF ; Jump if Carry is clear ROM:2CAA ROM:2CAC 000 mov R1, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:2CAE 000 mov A, @R1 ; Move (Op1 <- Op2) ROM:2CAF 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:2CB1 000 xrl A, @R0 ; Exclusive OR (op1 ^= op2) ROM:2CB2 000 jz ROM_2CCF ; Jump if Acc is zero ROM:2CB2 ROM:2CB4 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2CB6 000 lcall ROM_34D1 ; Long Subroutine Call ROM:2CB6 ROM:2CB9 000 lcall ROM_3F32 ; Long Subroutine Call ROM:2CB9 ROM:2CBC 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:2CBE 000 inc @R0 ; Increment Operand ROM:2CBF 000 mov R1, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:2CC1 000 mov A, @R1 ; Move (Op1 <- Op2) ROM:2CC2 000 clr C ; Clear Operand (0) ROM:2CC3 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:2CC5 000 subb A, @R0 ; Subtract Second Operand from Acc with Borrow ROM:2CC6 000 jc ROM_2CCF ; Jump if Carry is set ROM:2CC6 ROM:2CC8 000 clr A ; Clear Operand (0) ROM:2CC9 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:2CCB 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2CCC 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:2CCE 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2CCE ROM:2CCF ROM:2CCF ROM_2CCF: ; CODE XREF: ROM_2B2F+17Bj ROM:2CCF ; ROM_2B2F+183j ... ROM:2CCF 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2CD2 000 movx A, @DPTR ; Move from/to external RAM ROM:2CD3 000 setb C ; Set Direct Bit ROM:2CD4 000 subb A, #78h ; 'x' ; Subtract Second Operand from Acc with Borrow ROM:2CD6 000 jc ROM_2D0E ; Jump if Carry is set ROM:2CD6 ROM:2CD8 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2CDA 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2CDB 000 swap A ; Swap nibbles of Acc ROM:2CDC 000 rrc A ; Rotate Acc right through Carry ROM:2CDD 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:2CDF 000 jb ACC.0, ROM_2D0E ; Accumulator ROM:2CDF ROM:2CE2 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2CE3 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:2CE5 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2CE6 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2CE7 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:2CE9 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2CEA 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2CED 000 mov A, #0F1h ; '±' ; Move (Op1 <- Op2) ROM:2CEF 000 movx @DPTR, A ; Move from/to external RAM ROM:2CF0 000 mov DPTR, #PS2_PSCTL3 ; PS/2 Control Register 3 ROM:2CF3 000 mov A, #1Dh ; Move (Op1 <- Op2) ROM:2CF5 000 movx @DPTR, A ; Move from/to external RAM ROM:2CF6 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2CF9 000 movx A, @DPTR ; Move from/to external RAM ROM:2CFA 000 mov DPTR, #PS2_PSDAT3 ; PS/2 Data Register 3 ROM:2CFD 000 movx @DPTR, A ; Move from/to external RAM ROM:2CFD ROM:2CFD ; --------------------------------------------------------------------------- ROM:2CFE 000 db 90h, 17h ROM:2D00 ; --------------------------------------------------------------------------- ROM:2D00 000 ljmp ROM_741C ; Long Jump ROM:2D00 ROM:2D03 ; --------------------------------------------------------------------------- ROM:2D03 000 movx @DPTR, A ; Move from/to external RAM ROM:2D04 000 mov A, #1Eh ; Move (Op1 <- Op2) ROM:2D06 000 movx @DPTR, A ; Move from/to external RAM ROM:2D07 000 clr A ; Clear Operand (0) ROM:2D08 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2D0B 000 movx @DPTR, A ; Move from/to external RAM ROM:2D0C 000 setb C ; Set Direct Bit ROM:2D0D 000 ret ; Return from subroutine ROM:2D0D ROM:2D0E ; --------------------------------------------------------------------------- ROM:2D0E ROM:2D0E ROM_2D0E: ; CODE XREF: ROM_2B2F+1A7j ROM:2D0E ; ROM_2B2F+1B0j ROM:2D0E 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2D10 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2D11 000 swap A ; Swap nibbles of Acc ROM:2D12 000 rrc A ; Rotate Acc right through Carry ROM:2D13 000 rrc A ; Rotate Acc right through Carry ROM:2D14 000 rrc A ; Rotate Acc right through Carry ROM:2D15 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:2D17 000 jnb ACC.0, ROM_2D20 ; Accumulator ROM:2D17 ROM:2D1A 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2D1D 000 mov A, #78h ; 'x' ; Move (Op1 <- Op2) ROM:2D1F 000 movx @DPTR, A ; Move from/to external RAM ROM:2D1F ROM:2D20 ROM:2D20 ROM_2D20: ; CODE XREF: ROM_2B2F+1E8j ROM:2D20 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2D22 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2D23 000 swap A ; Swap nibbles of Acc ROM:2D24 000 rrc A ; Rotate Acc right through Carry ROM:2D25 000 rrc A ; Rotate Acc right through Carry ROM:2D26 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:2D28 000 jb ACC.0, ROM_2D2E ; Accumulator ROM:2D28 ROM:2D2B 000 ljmp ROM_2E9F ; Long Jump ROM:2D2B ROM:2D2E ; --------------------------------------------------------------------------- ROM:2D2E ROM:2D2E ROM_2D2E: ; CODE XREF: ROM_2B2F+1F9j ROM:2D2E 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2D31 000 mov A, #71h ; 'q' ; Move (Op1 <- Op2) ROM:2D33 000 movx @DPTR, A ; Move from/to external RAM ROM:2D34 000 clr C ; Clear Operand (0) ROM:2D35 000 ret ; Return from subroutine ROM:2D35 ROM:2D36 ; --------------------------------------------------------------------------- ROM:2D36 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2D38 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2D39 000 swap A ; Swap nibbles of Acc ROM:2D3A 000 rrc A ; Rotate Acc right through Carry ROM:2D3B 000 rrc A ; Rotate Acc right through Carry ROM:2D3C 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:2D3E 000 jnb ACC.0, ROM_2D43 ; Accumulator ROM:2D3E ROM:2D41 000 clr C ; Clear Operand (0) ROM:2D42 000 ret ; Return from subroutine ROM:2D42 ROM:2D43 ; --------------------------------------------------------------------------- ROM:2D43 ROM:2D43 ROM_2D43: ; CODE XREF: ROM_2B2F+20Fj ROM:2D43 000 clr A ; Clear Operand (0) ROM:2D44 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2D47 000 movx @DPTR, A ; Move from/to external RAM ROM:2D48 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2D4B 000 mov A, #50h ; 'P' ; Move (Op1 <- Op2) ROM:2D4D 000 movx @DPTR, A ; Move from/to external RAM ROM:2D4E 000 ljmp ROM_2E9F ; Long Jump ROM:2D4E ROM:2D51 ; --------------------------------------------------------------------------- ROM:2D51 000 ljmp ROM_2E93 ; Long Jump ROM:2D51 ROM:2D54 ; --------------------------------------------------------------------------- ROM:2D54 000 clr RAM_28.2 ; Clear Operand (0) ROM:2D56 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2D59 000 mov A, #81h ; 'ü' ; Move (Op1 <- Op2) ROM:2D5B 000 movx @DPTR, A ; Move from/to external RAM ROM:2D5C 000 ljmp ROM_2E9F ; Long Jump ROM:2D5C ROM:2D5F ; --------------------------------------------------------------------------- ROM:2D5F 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2D61 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2D62 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:2D64 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2D65 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2D66 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:2D68 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2D69 000 lcall ROM_2FF2 ; Long Subroutine Call ROM:2D69 ROM:2D6C 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2D6E 000 lcall ROM_35CA ; Long Subroutine Call ROM:2D6E ROM:2D71 000 jc ROM_2D7C ; Jump if Carry is set ROM:2D71 ROM:2D73 000 mov DPTR, #5A5h ; Move (Op1 <- Op2) ROM:2D76 000 movx A, @DPTR ; Move from/to external RAM ROM:2D77 000 inc A ; Increment Operand ROM:2D78 000 movx @DPTR, A ; Move from/to external RAM ROM:2D79 000 ljmp ROM_2E9F ; Long Jump ROM:2D79 ROM:2D7C ; --------------------------------------------------------------------------- ROM:2D7C ROM:2D7C ROM_2D7C: ; CODE XREF: ROM_2B2F+242j ROM:2D7C 000 mov DPTR, #PS2_PSDAT3 ; PS/2 Data Register 3 ROM:2D7F 000 movx A, @DPTR ; Move from/to external RAM ROM:2D80 000 mov DPTR, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:2D83 000 movx @DPTR, A ; Move from/to external RAM ROM:2D84 000 movx A, @DPTR ; Move from/to external RAM ROM:2D85 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2D87 000 cjne A, #3, ROM_2D96 ; Compare Operands and JNE ROM:2D87 ROM:2D8A 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2D8B 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:2D8D 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2D8E 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2D91 000 mov A, #83h ; 'â' ; Move (Op1 <- Op2) ROM:2D93 000 movx @DPTR, A ; Move from/to external RAM ROM:2D94 000 setb C ; Set Direct Bit ROM:2D95 000 ret ; Return from subroutine ROM:2D95 ROM:2D96 ; --------------------------------------------------------------------------- ROM:2D96 ROM:2D96 ROM_2D96: ; CODE XREF: ROM_2B2F+258j ROM:2D96 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2D97 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:2D99 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2D9A 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2D9D 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:2D9F 000 movx @DPTR, A ; Move from/to external RAM ROM:2DA0 000 setb C ; Set Direct Bit ROM:2DA1 000 ret ; Return from subroutine ROM:2DA1 ROM:2DA2 ; --------------------------------------------------------------------------- ROM:2DA2 000 lcall ROM_2FF2 ; Long Subroutine Call ROM:2DA2 ROM:2DA5 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2DA7 000 lcall ROM_362A ; Long Subroutine Call ROM:2DA7 ROM:2DAA 000 jc ROM_2DAF ; Jump if Carry is set ROM:2DAA ROM:2DAC 000 ljmp ROM_2E9F ; Long Jump ROM:2DAC ROM:2DAF ; --------------------------------------------------------------------------- ROM:2DAF ROM:2DAF ROM_2DAF: ; CODE XREF: ROM_2B2F+27Bj ROM:2DAF 000 mov DPTR, #PS2_PSDAT3 ; PS/2 Data Register 3 ROM:2DB2 000 movx A, @DPTR ; Move from/to external RAM ROM:2DB3 000 mov DPTR, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:2DB6 000 movx @DPTR, A ; Move from/to external RAM ROM:2DB7 000 movx A, @DPTR ; Move from/to external RAM ROM:2DB8 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2DBA 000 cjne A, #4, ROM_2DC9 ; Compare Operands and JNE ROM:2DBA ROM:2DBD 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2DBE 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:2DC0 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2DC1 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2DC4 000 mov A, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:2DC6 000 movx @DPTR, A ; Move from/to external RAM ROM:2DC7 000 setb C ; Set Direct Bit ROM:2DC8 000 ret ; Return from subroutine ROM:2DC8 ROM:2DC9 ; --------------------------------------------------------------------------- ROM:2DC9 ROM:2DC9 ROM_2DC9: ; CODE XREF: ROM_2B2F+28Bj ROM:2DC9 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2DCA 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:2DCC 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2DCD 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2DD0 000 mov A, #8Ah ; 'è' ; Move (Op1 <- Op2) ROM:2DD2 000 movx @DPTR, A ; Move from/to external RAM ROM:2DD3 000 setb C ; Set Direct Bit ROM:2DD4 000 ret ; Return from subroutine ROM:2DD4 ROM:2DD5 ; --------------------------------------------------------------------------- ROM:2DD5 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2DD8 000 mov A, #0F5h ; ')' ; Move (Op1 <- Op2) ROM:2DDA 000 movx @DPTR, A ; Move from/to external RAM ROM:2DDB 000 movx A, @DPTR ; Move from/to external RAM ROM:2DDC 000 mov R5, A ; Move (Op1 <- Op2) ROM:2DDD 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2DDF 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2DE1 000 lcall ROM_3108 ; Long Subroutine Call ROM:2DE1 ROM:2DE4 000 jc ROM_2DE9 ; Jump if Carry is set ROM:2DE4 ROM:2DE6 000 ljmp ROM_2E9F ; Long Jump ROM:2DE6 ROM:2DE9 ; --------------------------------------------------------------------------- ROM:2DE9 ROM:2DE9 ROM_2DE9: ; CODE XREF: ROM_2B2F+2B5j ROM:2DE9 000 sjmp ROM_2E15 ; Short jump ROM:2DE9 ROM:2DEB ; --------------------------------------------------------------------------- ROM:2DEB 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2DEE 000 mov A, #0F5h ; ')' ; Move (Op1 <- Op2) ROM:2DF0 000 movx @DPTR, A ; Move from/to external RAM ROM:2DF1 000 movx A, @DPTR ; Move from/to external RAM ROM:2DF2 000 mov R5, A ; Move (Op1 <- Op2) ROM:2DF3 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2DF5 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2DF7 000 lcall ROM_3108 ; Long Subroutine Call ROM:2DF7 ROM:2DFA 000 jc ROM_2DFF ; Jump if Carry is set ROM:2DFA ROM:2DFC 000 ljmp ROM_2E9F ; Long Jump ROM:2DFC ROM:2DFF ; --------------------------------------------------------------------------- ROM:2DFF ROM:2DFF ROM_2DFF: ; CODE XREF: ROM_2B2F+2CBj ROM:2DFF 000 sjmp ROM_2E15 ; Short jump ROM:2DFF ROM:2E01 ; --------------------------------------------------------------------------- ROM:2E01 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2E04 000 mov A, #0F5h ; ')' ; Move (Op1 <- Op2) ROM:2E06 000 movx @DPTR, A ; Move from/to external RAM ROM:2E07 000 movx A, @DPTR ; Move from/to external RAM ROM:2E08 000 mov R5, A ; Move (Op1 <- Op2) ROM:2E09 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2E0B 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2E0D 000 lcall ROM_3108 ; Long Subroutine Call ROM:2E0D ROM:2E10 000 jc ROM_2E15 ; Jump if Carry is set ROM:2E10 ROM:2E12 000 ljmp ROM_2E9F ; Long Jump ROM:2E12 ROM:2E15 ; --------------------------------------------------------------------------- ROM:2E15 ROM:2E15 ROM_2E15: ; CODE XREF: ROM_2B2F:ROM_2DE9j ROM:2E15 ; ROM_2B2F:ROM_2DFFj ... ROM:2E15 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2E17 000 lcall ROM_2F0E ; Long Subroutine Call ROM:2E17 ROM:2E1A 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2E1D 000 mov A, #91h ; 'æ' ; Move (Op1 <- Op2) ROM:2E1F 000 movx @DPTR, A ; Move from/to external RAM ROM:2E20 000 sjmp ROM_2E9F ; Short jump ROM:2E20 ROM:2E22 ; --------------------------------------------------------------------------- ROM:2E22 000 clr C ; Clear Operand (0) ROM:2E23 000 ret ; Return from subroutine ROM:2E23 ROM:2E24 ; --------------------------------------------------------------------------- ROM:2E24 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2E26 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2E27 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:2E29 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2E2A 000 mov R0, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:2E2C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2E2D 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:2E2F 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2E30 000 clr A ; Clear Operand (0) ROM:2E31 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2E34 000 movx @DPTR, A ; Move from/to external RAM ROM:2E35 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2E37 000 lcall ROM_2FFA ; Long Subroutine Call ROM:2E37 ROM:2E3A 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2E3D 000 mov A, #90h ; 'É' ; Move (Op1 <- Op2) ROM:2E3F 000 movx @DPTR, A ; Move from/to external RAM ROM:2E40 000 jb RAM_28.0, ROM_2E46 ; Jump if Bit is set ROM:2E40 ROM:2E43 000 jnb RAM_28.1, ROM_2E9F ; Jump if Bit is clear ROM:2E43 ROM:2E46 ROM:2E46 ROM_2E46: ; CODE XREF: ROM_2B2F+311j ROM:2E46 000 setb RAM_28.2 ; Set Direct Bit ROM:2E48 000 sjmp ROM_2E9F ; Short jump ROM:2E48 ROM:2E4A ; --------------------------------------------------------------------------- ROM:2E4A 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2E4D 000 mov A, #0F4h ; '(' ; Move (Op1 <- Op2) ROM:2E4F 000 movx @DPTR, A ; Move from/to external RAM ROM:2E50 000 movx A, @DPTR ; Move from/to external RAM ROM:2E51 000 mov R5, A ; Move (Op1 <- Op2) ROM:2E52 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:2E54 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2E56 000 lcall ROM_3108 ; Long Subroutine Call ROM:2E56 ROM:2E59 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:2E5C 000 movx A, @DPTR ; Move from/to external RAM ROM:2E5D 000 jnz ROM_2E71 ; Jump if Acc is not zero ROM:2E5D ROM:2E5F 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2E62 000 movx @DPTR, A ; Move from/to external RAM ROM:2E63 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:2E65 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2E66 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:2E68 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2E69 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2E6C 000 mov A, #90h ; 'É' ; Move (Op1 <- Op2) ROM:2E6E 000 movx @DPTR, A ; Move from/to external RAM ROM:2E6F 000 sjmp ROM_2E9F ; Short jump ROM:2E6F ROM:2E71 ; --------------------------------------------------------------------------- ROM:2E71 ROM:2E71 ROM_2E71: ; CODE XREF: ROM_2B2F+32Ej ROM:2E71 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2E74 000 mov A, #0B8h ; '+' ; Move (Op1 <- Op2) ROM:2E76 000 movx @DPTR, A ; Move from/to external RAM ROM:2E77 000 sjmp ROM_2E9F ; Short jump ROM:2E77 ROM:2E79 ; --------------------------------------------------------------------------- ROM:2E79 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2E7B 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2E7C 000 swap A ; Swap nibbles of Acc ROM:2E7D 000 rrc A ; Rotate Acc right through Carry ROM:2E7E 000 rrc A ; Rotate Acc right through Carry ROM:2E7F 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:2E81 000 jnb ACC.0, ROM_2E86 ; Accumulator ROM:2E81 ROM:2E84 000 clr C ; Clear Operand (0) ROM:2E85 000 ret ; Return from subroutine ROM:2E85 ROM:2E86 ; --------------------------------------------------------------------------- ROM:2E86 ROM:2E86 ROM_2E86: ; CODE XREF: ROM_2B2F+352j ROM:2E86 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2E89 000 mov A, #90h ; 'É' ; Move (Op1 <- Op2) ROM:2E8B 000 movx @DPTR, A ; Move from/to external RAM ROM:2E8C 000 clr A ; Clear Operand (0) ROM:2E8D 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:2E90 000 movx @DPTR, A ; Move from/to external RAM ROM:2E91 000 sjmp ROM_2E9F ; Short jump ROM:2E91 ROM:2E93 ; --------------------------------------------------------------------------- ROM:2E93 ROM:2E93 ROM_2E93: ; CODE XREF: ROM_2B2F+222j ROM:2E93 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2E95 000 lcall ROM_2F7B ; Long Subroutine Call ROM:2E95 ROM:2E98 000 sjmp ROM_2E9F ; Short jump ROM:2E98 ROM:2E9A ; --------------------------------------------------------------------------- ROM:2E9A ROM:2E9A ROM_2E9A: ; CODE XREF: ROM_2B2F:ROM_2C24j ROM:2E9A 000 clr A ; Clear Operand (0) ROM:2E9B 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2E9E 000 movx @DPTR, A ; Move from/to external RAM ROM:2E9E ROM:2E9F ROM:2E9F ROM_2E9F: ; CODE XREF: ROM_2B2F+10Ej ROM:2E9F ; ROM_2B2F+120j ... ROM:2E9F 000 clr C ; Clear Operand (0) ROM:2EA0 000 ret ; Return from subroutine ROM:2EA0 ROM:2EA0 ; End of function ROM_2B2F ROM:2EA0 ROM:2EA1 ; --------------------------------------------------------------------------- ROM:2EA1 mov DPTR, #1102h ; Move (Op1 <- Op2) ROM:2EA4 push DP0H ; Data Pointer High Byte ROM:2EA6 push DP0L ; Data Pointer Low Byte ROM:2EA8 movx A, @DPTR ; Move from/to external RAM ROM:2EA9 mov R6, A ; Move (Op1 <- Op2) ROM:2EAA mov A, R7 ; Move (Op1 <- Op2) ROM:2EAB mov B, #0Bh ; B Register ROM:2EAE mul AB ; Multiply Acc by B ROM:2EAF add A, #19h ; Add Second Operand to Acc ROM:2EB1 mov DP0L, A ; Data Pointer Low Byte ROM:2EB3 clr A ; Clear Operand (0) ROM:2EB4 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:2EB6 mov DP0H, A ; Data Pointer High Byte ROM:2EB8 clr A ; Clear Operand (0) ROM:2EB9 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2EBA mov R5, A ; Move (Op1 <- Op2) ROM:2EBB mov A, #1 ; Move (Op1 <- Op2) ROM:2EBD mov R0, RAM_5 ; Move (Op1 <- Op2) ROM:2EBF inc R0 ; Increment Operand ROM:2EC0 sjmp ROM_2EC4 ; Short jump ROM:2EC0 ROM:2EC2 ; --------------------------------------------------------------------------- ROM:2EC2 ROM:2EC2 ROM_2EC2: ; CODE XREF: ROM:ROM_2EC4j ROM:2EC2 clr C ; Clear Operand (0) ROM:2EC3 rlc A ; Rotate Acc left through Carry ROM:2EC3 ROM:2EC4 ROM:2EC4 ROM_2EC4: ; CODE XREF: ROM:2EC0j ROM:2EC4 djnz R0, ROM_2EC2 ; Decrement Operand and JNZ ROM:2EC4 ROM:2EC6 mov R5, A ; Move (Op1 <- Op2) ROM:2EC7 orl A, R6 ; Logical OR (op1 |= op2) ROM:2EC8 pop DP0L ; Data Pointer Low Byte ROM:2ECA pop DP0H ; Data Pointer High Byte ROM:2ECC movx @DPTR, A ; Move from/to external RAM ROM:2ECD mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 ROM:2ED0 movx A, @DPTR ; Move from/to external RAM ROM:2ED1 orl A, R5 ; Logical OR (op1 |= op2) ROM:2ED2 movx @DPTR, A ; Move from/to external RAM ROM:2ED3 mov A, R7 ; Move (Op1 <- Op2) ROM:2ED4 mov B, #0Bh ; B Register ROM:2ED7 mul AB ; Multiply Acc by B ROM:2ED8 add A, #11h ; Add Second Operand to Acc ROM:2EDA mov DP0L, A ; Data Pointer Low Byte ROM:2EDC clr A ; Clear Operand (0) ROM:2EDD addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:2EDF mov DP0H, A ; Data Pointer High Byte ROM:2EE1 clr A ; Clear Operand (0) ROM:2EE2 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2EE3 mov R4, A ; Move (Op1 <- Op2) ROM:2EE4 mov A, #1 ; Move (Op1 <- Op2) ROM:2EE6 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2EE7 mov DP0L, A ; Data Pointer Low Byte ROM:2EE9 mov DP0H, R4 ; Data Pointer High Byte ROM:2EEB mov A, #4 ; Move (Op1 <- Op2) ROM:2EED movx @DPTR, A ; Move from/to external RAM ROM:2EEE mov A, R7 ; Move (Op1 <- Op2) ROM:2EEF mov B, #0Bh ; B Register ROM:2EF2 mul AB ; Multiply Acc by B ROM:2EF3 add A, #0Fh ; Add Second Operand to Acc ROM:2EF5 mov DP0L, A ; Data Pointer Low Byte ROM:2EF7 clr A ; Clear Operand (0) ROM:2EF8 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:2EFA mov DP0H, A ; Data Pointer High Byte ROM:2EFC clr A ; Clear Operand (0) ROM:2EFD movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2EFE mov R4, A ; Move (Op1 <- Op2) ROM:2EFF mov A, #1 ; Move (Op1 <- Op2) ROM:2F01 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2F02 mov DP0L, A ; Data Pointer Low Byte ROM:2F04 mov DP0H, R4 ; Data Pointer High Byte ROM:2F06 movx A, @DPTR ; Move from/to external RAM ROM:2F07 jb ACC.3, ROM_2F0D ; Accumulator ROM:2F07 ROM:2F0A mov A, #17h ; Move (Op1 <- Op2) ROM:2F0C movx @DPTR, A ; Move from/to external RAM ROM:2F0C ROM:2F0D ROM:2F0D ROM_2F0D: ; CODE XREF: ROM:2F07j ROM:2F0D ret ; Return from subroutine ROM:2F0D ROM:2F0E ROM:2F0E ; =============== S U B R O U T I N E ======================================= ROM:2F0E ROM:2F0E ROM:2F0E ROM_2F0E: ; CODE XREF: ROM_2B2F+2E8p ROM:2F0E ; ROM:303Ep ... ROM:2F0E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2F0F 000 mov B, #0Bh ; B Register ROM:2F12 000 mul AB ; Multiply Acc by B ROM:2F13 000 add A, #0Fh ; Add Second Operand to Acc ROM:2F15 000 mov DP0L, A ; Data Pointer Low Byte ROM:2F17 000 clr A ; Clear Operand (0) ROM:2F18 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:2F1A 000 mov DP0H, A ; Data Pointer High Byte ROM:2F1C 000 clr A ; Clear Operand (0) ROM:2F1D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2F1E 000 mov R4, A ; Move (Op1 <- Op2) ROM:2F1F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2F21 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2F22 000 mov DP0L, A ; Data Pointer Low Byte ROM:2F24 000 mov DP0H, R4 ; Data Pointer High Byte ROM:2F26 000 mov A, #11h ; Move (Op1 <- Op2) ROM:2F28 000 movx @DPTR, A ; Move from/to external RAM ROM:2F29 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2F2A 000 mov B, #0Bh ; B Register ROM:2F2D 000 mul AB ; Multiply Acc by B ROM:2F2E 000 add A, #11h ; Add Second Operand to Acc ROM:2F30 000 mov DP0L, A ; Data Pointer Low Byte ROM:2F32 000 clr A ; Clear Operand (0) ROM:2F33 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:2F35 000 mov DP0H, A ; Data Pointer High Byte ROM:2F37 000 clr A ; Clear Operand (0) ROM:2F38 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2F39 000 mov R4, A ; Move (Op1 <- Op2) ROM:2F3A 000 mov A, #1 ; Move (Op1 <- Op2) ROM:2F3C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2F3D 000 mov DP0L, A ; Data Pointer Low Byte ROM:2F3F 000 mov DP0H, R4 ; Data Pointer High Byte ROM:2F41 000 clr A ; Clear Operand (0) ROM:2F42 000 movx @DPTR, A ; Move from/to external RAM ROM:2F43 000 mov DPTR, #1102h ; Move (Op1 <- Op2) ROM:2F46 000 push DP0H ; Data Pointer High Byte ROM:2F48 001 push DP0L ; Data Pointer Low Byte ROM:2F4A 002 movx A, @DPTR ; Move from/to external RAM ROM:2F4B 002 mov R6, A ; Move (Op1 <- Op2) ROM:2F4C 002 mov A, R7 ; Move (Op1 <- Op2) ROM:2F4D 002 mov B, #0Bh ; B Register ROM:2F50 002 mul AB ; Multiply Acc by B ROM:2F51 002 add A, #19h ; Add Second Operand to Acc ROM:2F53 002 mov DP0L, A ; Data Pointer Low Byte ROM:2F55 002 clr A ; Clear Operand (0) ROM:2F56 002 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:2F58 002 mov DP0H, A ; Data Pointer High Byte ROM:2F5A 002 clr A ; Clear Operand (0) ROM:2F5B 002 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:2F5C 002 mov R5, A ; Move (Op1 <- Op2) ROM:2F5D 002 mov A, #1 ; Move (Op1 <- Op2) ROM:2F5F 002 mov R0, RAM_5 ; Move (Op1 <- Op2) ROM:2F61 002 inc R0 ; Increment Operand ROM:2F62 002 sjmp ROM_2F66 ; Short jump ROM:2F62 ROM:2F64 ; --------------------------------------------------------------------------- ROM:2F64 ROM:2F64 ROM_2F64: ; CODE XREF: ROM_2F0E:ROM_2F66j ROM:2F64 002 clr C ; Clear Operand (0) ROM:2F65 002 rlc A ; Rotate Acc left through Carry ROM:2F65 ROM:2F66 ROM:2F66 ROM_2F66: ; CODE XREF: ROM_2F0E+54j ROM:2F66 002 djnz R0, ROM_2F64 ; Decrement Operand and JNZ ROM:2F66 ROM:2F68 002 mov R5, A ; Move (Op1 <- Op2) ROM:2F69 002 orl A, R6 ; Logical OR (op1 |= op2) ROM:2F6A 002 pop DP0L ; Data Pointer Low Byte ROM:2F6C 001 pop DP0H ; Data Pointer High Byte ROM:2F6E 000 movx @DPTR, A ; Move from/to external RAM ROM:2F6F 000 mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 ROM:2F72 000 movx A, @DPTR ; Move from/to external RAM ROM:2F73 000 mov R6, A ; Move (Op1 <- Op2) ROM:2F74 000 mov A, R5 ; Move (Op1 <- Op2) ROM:2F75 000 cpl A ; Complement Operand ROM:2F76 000 mov R7, A ; Move (Op1 <- Op2) ROM:2F77 000 mov A, R6 ; Move (Op1 <- Op2) ROM:2F78 000 anl A, R7 ; Logical AND (op1 &= op2) ROM:2F79 000 movx @DPTR, A ; Move from/to external RAM ROM:2F7A 000 ret ; Return from subroutine ROM:2F7A ROM:2F7A ; End of function ROM_2F0E ROM:2F7A ROM:2F7B ROM:2F7B ; =============== S U B R O U T I N E ======================================= ROM:2F7B ROM:2F7B ROM:2F7B ROM_2F7B: ; CODE XREF: ROM_2B2F+366p ROM:2F7B ; ROM_37E5+Ap ... ROM:2F7B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2F7C 000 jnz ROM_2F89 ; Jump if Acc is not zero ROM:2F7C ROM:2F7E 000 clr RAM_28.4 ; Clear Operand (0) ROM:2F80 000 clr RAM_2A.1 ; Clear Operand (0) ROM:2F82 000 mov RAM_6C, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:2F85 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:2F87 000 mov R5, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:2F87 ROM:2F89 ROM:2F89 ROM_2F89: ; CODE XREF: ROM_2F7B+1j ROM:2F89 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2F8A 000 cjne A, #1, ROM_2F98 ; Compare Operands and JNE ROM:2F8A ROM:2F8D 000 clr RAM_28.5 ; Clear Operand (0) ROM:2F8F 000 clr RAM_2A.2 ; Clear Operand (0) ROM:2F91 000 mov RAM_6C, #90h ; 'É' ; Move (Op1 <- Op2) ROM:2F94 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:2F96 000 mov R5, #90h ; 'É' ; Move (Op1 <- Op2) ROM:2F96 ROM:2F98 ROM:2F98 ROM_2F98: ; CODE XREF: ROM_2F7B+Fj ROM:2F98 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2F99 000 cjne A, #2, ROM_2FA7 ; Compare Operands and JNE ROM:2F99 ROM:2F9C 000 clr RAM_28.6 ; Clear Operand (0) ROM:2F9E 000 clr RAM_2A.3 ; Clear Operand (0) ROM:2FA0 000 mov RAM_6C, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:2FA3 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:2FA5 000 mov R5, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:2FA5 ROM:2FA7 ROM:2FA7 ROM_2FA7: ; CODE XREF: ROM_2F7B+1Ej ROM:2FA7 000 clr A ; Clear Operand (0) ROM:2FA8 000 mov R7, A ; Move (Op1 <- Op2) ROM:2FA8 ROM:2FA9 ROM:2FA9 ROM_2FA9: ; CODE XREF: ROM_2F7B+3Bj ROM:2FA9 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:2FAB 000 mov DP0H, R4 ; Data Pointer High Byte ROM:2FAD 000 clr A ; Clear Operand (0) ROM:2FAE 000 movx @DPTR, A ; Move from/to external RAM ROM:2FAF 000 inc R5 ; Increment Operand ROM:2FB0 000 cjne R5, #0, ROM_2FB4 ; Compare Operands and JNE ROM:2FB0 ROM:2FB3 000 inc R4 ; Increment Operand ROM:2FB3 ROM:2FB4 ROM:2FB4 ROM_2FB4: ; CODE XREF: ROM_2F7B+35j ROM:2FB4 000 inc R7 ; Increment Operand ROM:2FB5 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2FB6 000 cjne A, #10h, ROM_2FA9 ; Compare Operands and JNE ROM:2FB6 ROM:2FB9 000 clr A ; Clear Operand (0) ROM:2FBA 000 mov R7, A ; Move (Op1 <- Op2) ROM:2FBA ROM:2FBB ROM:2FBB ROM_2FBB: ; CODE XREF: ROM_2F7B+48j ROM:2FBB 000 mov R0, RAM_6C ; Move (Op1 <- Op2) ROM:2FBD 000 clr A ; Clear Operand (0) ROM:2FBE 000 mov @R0, A ; Move (Op1 <- Op2) ROM:2FBF 000 inc RAM_6C ; Increment Operand ROM:2FC1 000 inc R7 ; Increment Operand ROM:2FC2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2FC3 000 cjne A, #9, ROM_2FBB ; Compare Operands and JNE ROM:2FC3 ROM:2FC6 000 ret ; Return from subroutine ROM:2FC6 ROM:2FC6 ; End of function ROM_2F7B ROM:2FC6 ROM:2FC7 ROM:2FC7 ; =============== S U B R O U T I N E ======================================= ROM:2FC7 ROM:2FC7 ROM:2FC7 ROM_2FC7: ; CODE XREF: ROM_1D46+213p ROM:2FC7 ; ROM_1D46+231p ... ROM:2FC7 000 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:2FC9 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2FCA 000 jnb ACC.0, ROM_2FD2 ; Accumulator ROM:2FCA ROM:2FCD 000 clr A ; Clear Operand (0) ROM:2FCE 000 mov R7, A ; Move (Op1 <- Op2) ROM:2FCF 000 lcall ROM_2FFA ; Long Subroutine Call ROM:2FCF ROM:2FD2 ROM:2FD2 ROM_2FD2: ; CODE XREF: ROM_2FC7+3j ROM:2FD2 000 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:2FD4 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2FD5 000 jnb ACC.0, ROM_2FDD ; Accumulator ROM:2FD5 ROM:2FD8 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:2FDA 000 lcall ROM_2FFA ; Long Subroutine Call ROM:2FDA ROM:2FDD ROM:2FDD ROM_2FDD: ; CODE XREF: ROM_2FC7+Ej ROM:2FDD 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:2FDF 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:2FE0 000 jnb ACC.0, ROM_2FE8 ; Accumulator ROM:2FE0 ROM:2FE3 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2FE5 000 lcall ROM_2FFA ; Long Subroutine Call ROM:2FE5 ROM:2FE8 ROM:2FE8 ROM_2FE8: ; CODE XREF: ROM_2FC7+19j ROM:2FE8 000 clr A ; Clear Operand (0) ROM:2FE9 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:2FEC 000 movx @DPTR, A ; Move from/to external RAM ROM:2FED 000 mov DPTR, #7Fh ; '' ; Move (Op1 <- Op2) ROM:2FF0 000 movx @DPTR, A ; Move from/to external RAM ROM:2FF1 000 ret ; Return from subroutine ROM:2FF1 ROM:2FF1 ; End of function ROM_2FC7 ROM:2FF1 ROM:2FF2 ROM:2FF2 ; =============== S U B R O U T I N E ======================================= ROM:2FF2 ROM:2FF2 ROM:2FF2 ROM_2FF2: ; CODE XREF: ROM_2B2F+23Ap ROM:2FF2 ; ROM_2B2F+273p ROM:2FF2 000 mov A, #0B8h ; '+' ; Move (Op1 <- Op2) ROM:2FF2 ROM:2FF2 ; End of function ROM_2FF2 ROM:2FF2 ROM:2FF4 ROM:2FF4 ; =============== S U B R O U T I N E ======================================= ROM:2FF4 ROM:2FF4 ROM:2FF4 ROM_2FF4: ; CODE XREF: ROM_2B2F+167p ROM:2FF4 000 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:2FF7 000 movx @DPTR, A ; Move from/to external RAM ROM:2FF8 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:2FF8 ROM:2FF8 ; End of function ROM_2FF4 ROM:2FF8 ROM:2FFA ROM:2FFA ; =============== S U B R O U T I N E ======================================= ROM:2FFA ROM:2FFA ROM:2FFA ROM_2FFA: ; CODE XREF: ROM_2B2F+113p ROM:2FFA ; ROM_2B2F+15Cp ... ROM:2FFA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:2FFB 000 jnz ROM_3008 ; Jump if Acc is not zero ROM:2FFB ROM:2FFD 000 mov RAM_6C, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:3000 000 mov R0, #84h ; 'ä' ; Move (Op1 <- Op2) ROM:3002 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3003 000 mov R0, #85h ; 'à' ; Move (Op1 <- Op2) ROM:3005 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3006 000 sjmp ROM_3026 ; Short jump ROM:3006 ROM:3008 ; --------------------------------------------------------------------------- ROM:3008 ROM:3008 ROM_3008: ; CODE XREF: ROM_2FFA+1j ROM:3008 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3009 000 cjne A, #1, ROM_3018 ; Compare Operands and JNE ROM:3009 ROM:300C 000 mov RAM_6C, #90h ; 'É' ; Move (Op1 <- Op2) ROM:300F 000 clr A ; Clear Operand (0) ROM:3010 000 mov R0, #94h ; 'ö' ; Move (Op1 <- Op2) ROM:3012 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3013 000 mov R0, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:3015 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3016 000 sjmp ROM_3026 ; Short jump ROM:3016 ROM:3018 ; --------------------------------------------------------------------------- ROM:3018 ROM:3018 ROM_3018: ; CODE XREF: ROM_2FFA+Fj ROM:3018 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3019 000 cjne A, #2, ROM_3026 ; Compare Operands and JNE ROM:3019 ROM:301C 000 mov RAM_6C, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:301F 000 clr A ; Clear Operand (0) ROM:3020 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:3022 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3023 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:3025 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3025 ROM:3026 ROM:3026 ROM_3026: ; CODE XREF: ROM_2FFA+Cj ROM:3026 ; ROM_2FFA+1Cj ... ROM:3026 000 clr A ; Clear Operand (0) ROM:3027 000 mov R7, A ; Move (Op1 <- Op2) ROM:3027 ROM:3028 ROM:3028 ROM_3028: ; CODE XREF: ROM_2FFA+36j ROM:3028 000 mov R0, RAM_6C ; Move (Op1 <- Op2) ROM:302A 000 clr A ; Clear Operand (0) ROM:302B 000 mov @R0, A ; Move (Op1 <- Op2) ROM:302C 000 inc RAM_6C ; Increment Operand ROM:302E 000 inc R7 ; Increment Operand ROM:302F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3030 000 cjne A, #4, ROM_3028 ; Compare Operands and JNE ROM:3030 ROM:3033 000 ret ; Return from subroutine ROM:3033 ROM:3033 ; End of function ROM_2FFA ROM:3033 ROM:3034 ; --------------------------------------------------------------------------- ROM:3034 ROM:3034 ROM_3034: ; CODE XREF: ROM:3724p ROM:3034 mov DPTR, #63Dh ; Move (Op1 <- Op2) ROM:3037 mov A, R5 ; Move (Op1 <- Op2) ROM:3038 movx @DPTR, A ; Move from/to external RAM ROM:3039 mov DPTR, #63Ch ; Move (Op1 <- Op2) ROM:303C mov A, R7 ; Move (Op1 <- Op2) ROM:303D movx @DPTR, A ; Move from/to external RAM ROM:303E lcall ROM_2F0E ; Long Subroutine Call ROM:303E ROM:3041 mov R7, #19h ; Move (Op1 <- Op2) ROM:3043 lcall erase_arg_if_nonzero ; void erase_arg_if_nonzero(byte arg); // arg - R7 ROM:3043 ROM:3046 mov DPTR, #63Ch ; Move (Op1 <- Op2) ROM:3049 movx A, @DPTR ; Move from/to external RAM ROM:304A mov R7, A ; Move (Op1 <- Op2) ROM:304B mov B, #0Bh ; B Register ROM:304E mul AB ; Multiply Acc by B ROM:304F add A, #0Fh ; Add Second Operand to Acc ROM:3051 mov DP0L, A ; Data Pointer Low Byte ROM:3053 clr A ; Clear Operand (0) ROM:3054 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:3056 mov DP0H, A ; Data Pointer High Byte ROM:3058 clr A ; Clear Operand (0) ROM:3059 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:305A mov R4, A ; Move (Op1 <- Op2) ROM:305B mov A, #1 ; Move (Op1 <- Op2) ROM:305D movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:305E mov R5, A ; Move (Op1 <- Op2) ROM:305F mov DP0L, A ; Data Pointer Low Byte ROM:3061 mov DP0H, R4 ; Data Pointer High Byte ROM:3063 mov A, #1Dh ; Move (Op1 <- Op2) ROM:3065 movx @DPTR, A ; Move from/to external RAM ROM:3066 mov DPTR, #63Dh ; Move (Op1 <- Op2) ROM:3069 movx A, @DPTR ; Move from/to external RAM ROM:306A mov R6, A ; Move (Op1 <- Op2) ROM:306B mov A, R7 ; Move (Op1 <- Op2) ROM:306C mov B, #0Bh ; B Register ROM:306F mul AB ; Multiply Acc by B ROM:3070 add A, #15h ; Add Second Operand to Acc ROM:3072 mov DP0L, A ; Data Pointer Low Byte ROM:3074 clr A ; Clear Operand (0) ROM:3075 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:3077 mov DP0H, A ; Data Pointer High Byte ROM:3079 clr A ; Clear Operand (0) ROM:307A movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:307B mov R2, A ; Move (Op1 <- Op2) ROM:307C mov A, #1 ; Move (Op1 <- Op2) ROM:307E movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:307F mov DP0L, A ; Data Pointer Low Byte ROM:3081 mov DP0H, R2 ; Data Pointer High Byte ROM:3083 mov A, R6 ; Move (Op1 <- Op2) ROM:3084 movx @DPTR, A ; Move from/to external RAM ROM:3085 mov DP0L, R5 ; Data Pointer Low Byte ROM:3087 mov DP0H, R4 ; Data Pointer High Byte ROM:3089 mov A, #1Ch ; Move (Op1 <- Op2) ROM:308B movx @DPTR, A ; Move from/to external RAM ROM:308C mov DPTR, #63Ch ; Move (Op1 <- Op2) ROM:308F movx A, @DPTR ; Move from/to external RAM ROM:3090 mov R7, A ; Move (Op1 <- Op2) ROM:3090 ROM:3090 ; --------------------------------------------------------------------------- ROM:3091 db 75h, 0F0h ROM:3093 ; --------------------------------------------------------------------------- ROM:3093 inc R3 ; Increment Operand ROM:3094 mul AB ; Multiply Acc by B ROM:3095 add A, #0Fh ; Add Second Operand to Acc ROM:3097 mov DP0L, A ; Data Pointer Low Byte ROM:3099 clr A ; Clear Operand (0) ROM:309A addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:309C mov DP0H, A ; Data Pointer High Byte ROM:309E clr A ; Clear Operand (0) ROM:309F movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:30A0 mov R4, A ; Move (Op1 <- Op2) ROM:30A1 mov A, #1 ; Move (Op1 <- Op2) ROM:30A3 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:30A4 mov DP0L, A ; Data Pointer Low Byte ROM:30A6 mov DP0H, R4 ; Data Pointer High Byte ROM:30A8 mov A, #1Eh ; Move (Op1 <- Op2) ROM:30AA movx @DPTR, A ; Move from/to external RAM ROM:30AB mov DPTR, #INTC_ISR2 ; Interrupt Status Register 2 ROM:30AE push DP0H ; Data Pointer High Byte ROM:30B0 push DP0L ; Data Pointer Low Byte ROM:30B2 movx A, @DPTR ; Move from/to external RAM ROM:30B3 mov R6, A ; Move (Op1 <- Op2) ROM:30B4 mov A, R7 ; Move (Op1 <- Op2) ROM:30B5 mov B, #0Bh ; B Register ROM:30B8 mul AB ; Multiply Acc by B ROM:30B9 add A, #19h ; Add Second Operand to Acc ROM:30BB mov DP0L, A ; Data Pointer Low Byte ROM:30BD clr A ; Clear Operand (0) ROM:30BE addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:30C0 mov DP0H, A ; Data Pointer High Byte ROM:30C2 clr A ; Clear Operand (0) ROM:30C3 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:30C4 mov R7, A ; Move (Op1 <- Op2) ROM:30C5 mov A, #1 ; Move (Op1 <- Op2) ROM:30C7 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:30C9 inc R0 ; Increment Operand ROM:30CA sjmp ROM_30CE ; Short jump ROM:30CA ROM:30CC ; --------------------------------------------------------------------------- ROM:30CC ROM:30CC ROM_30CC: ; CODE XREF: ROM:ROM_30CEj ROM:30CC clr C ; Clear Operand (0) ROM:30CD rlc A ; Rotate Acc left through Carry ROM:30CD ROM:30CE ROM:30CE ROM_30CE: ; CODE XREF: ROM:30CAj ROM:30CE djnz R0, ROM_30CC ; Decrement Operand and JNZ ROM:30CE ROM:30D0 mov R7, A ; Move (Op1 <- Op2) ROM:30D1 orl A, R6 ; Logical OR (op1 |= op2) ROM:30D2 pop DP0L ; Data Pointer Low Byte ROM:30D4 pop DP0H ; Data Pointer High Byte ROM:30D6 movx @DPTR, A ; Move from/to external RAM ROM:30D7 mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 ROM:30DA movx A, @DPTR ; Move from/to external RAM ROM:30DB orl A, R7 ; Logical OR (op1 |= op2) ROM:30DC movx @DPTR, A ; Move from/to external RAM ROM:30DD mov DPTR, #63Ch ; Move (Op1 <- Op2) ROM:30E0 movx A, @DPTR ; Move from/to external RAM ROM:30E1 mov R7, A ; Move (Op1 <- Op2) ROM:30E2 mov B, #0Bh ; B Register ROM:30E5 mul AB ; Multiply Acc by B ROM:30E6 add A, #11h ; Add Second Operand to Acc ROM:30E8 mov DP0L, A ; Data Pointer Low Byte ROM:30EA clr A ; Clear Operand (0) ROM:30EB addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:30ED mov DP0H, A ; Data Pointer High Byte ROM:30EF clr A ; Clear Operand (0) ROM:30F0 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:30F1 mov R4, A ; Move (Op1 <- Op2) ROM:30F2 mov A, #1 ; Move (Op1 <- Op2) ROM:30F4 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:30F5 mov DP0L, A ; Data Pointer Low Byte ROM:30F7 mov DP0H, R4 ; Data Pointer High Byte ROM:30F9 mov A, #4 ; Move (Op1 <- Op2) ROM:30FB movx @DPTR, A ; Move from/to external RAM ROM:30FC ljmp ROM_3224 ; Long Jump ROM:30FC ROM:30FF ROM:30FF ; =============== S U B R O U T I N E ======================================= ROM:30FF ROM:30FF ROM:30FF ROM_30FF: ; CODE XREF: ROM_35CA+8p ROM:30FF ; ROM_35CA:ROM_35E7p ... ROM:30FF 000 mov DPTR, #644h ; Move (Op1 <- Op2) ROM:30FF ROM:30FF ; End of function ROM_30FF ROM:30FF ROM:3102 ROM:3102 ; =============== S U B R O U T I N E ======================================= ROM:3102 ROM:3102 ROM:3102 ROM_3102: ; CODE XREF: ROM_3556+4Dp ROM:3102 ; ROM_362A+Bp ... ROM:3102 000 movx A, @DPTR ; Move from/to external RAM ROM:3103 000 mov R7, A ; Move (Op1 <- Op2) ROM:3103 ROM:3103 ; End of function ROM_3102 ROM:3103 ROM:3104 ROM:3104 ; =============== S U B R O U T I N E ======================================= ROM:3104 ROM:3104 ROM:3104 ROM_3104: ; CODE XREF: ROM_3556+5p ROM:3104 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3106 000 mov R5, #0F3h ; '=' ; Move (Op1 <- Op2) ROM:3106 ROM:3106 ; End of function ROM_3104 ROM:3106 ROM:3108 ROM:3108 ; =============== S U B R O U T I N E ======================================= ROM:3108 ROM:3108 ROM:3108 ROM_3108: ; CODE XREF: ROM_1D46+67p ROM:3108 ; ROM_1D46+92p ... ROM:3108 000 mov DPTR, #63Fh ; Move (Op1 <- Op2) ROM:310B 000 mov A, R5 ; Move (Op1 <- Op2) ROM:310C 000 movx @DPTR, A ; Move from/to external RAM ROM:310D 000 inc DPTR ; Increment Operand ROM:310E 000 mov A, R3 ; Move (Op1 <- Op2) ROM:310F 000 movx @DPTR, A ; Move from/to external RAM ROM:3110 000 mov DPTR, #63Eh ; Move (Op1 <- Op2) ROM:3113 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3114 000 movx @DPTR, A ; Move from/to external RAM ROM:3115 000 lcall ROM_2F0E ; Long Subroutine Call ROM:3115 ROM:3118 000 mov R7, #19h ; Move (Op1 <- Op2) ROM:311A 000 lcall erase_arg_if_nonzero ; void erase_arg_if_nonzero(byte arg); // arg - R7 ROM:311A ROM:311D 000 mov DPTR, #63Eh ; Move (Op1 <- Op2) ROM:3120 000 movx A, @DPTR ; Move from/to external RAM ROM:3121 000 mov R7, A ; Move (Op1 <- Op2) ROM:3122 000 mov B, #0Bh ; B Register ROM:3125 000 mul AB ; Multiply Acc by B ROM:3126 000 add A, #0Fh ; Add Second Operand to Acc ROM:3128 000 mov DP0L, A ; Data Pointer Low Byte ROM:312A 000 clr A ; Clear Operand (0) ROM:312B 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:312D 000 mov DP0H, A ; Data Pointer High Byte ROM:312F 000 clr A ; Clear Operand (0) ROM:3130 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3131 000 mov R4, A ; Move (Op1 <- Op2) ROM:3132 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3134 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3135 000 mov R5, A ; Move (Op1 <- Op2) ROM:3136 000 mov DP0L, A ; Data Pointer Low Byte ROM:3138 000 mov DP0H, R4 ; Data Pointer High Byte ROM:313A 000 mov A, #1Dh ; Move (Op1 <- Op2) ROM:313C 000 movx @DPTR, A ; Move from/to external RAM ROM:313D 000 mov DPTR, #63Fh ; Move (Op1 <- Op2) ROM:3140 000 movx A, @DPTR ; Move from/to external RAM ROM:3141 000 mov R6, A ; Move (Op1 <- Op2) ROM:3142 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3143 000 mov B, #0Bh ; B Register ROM:3146 000 mul AB ; Multiply Acc by B ROM:3147 000 add A, #15h ; Add Second Operand to Acc ROM:3149 000 mov DP0L, A ; Data Pointer Low Byte ROM:314B 000 clr A ; Clear Operand (0) ROM:314C 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:314E 000 mov DP0H, A ; Data Pointer High Byte ROM:3150 000 clr A ; Clear Operand (0) ROM:3151 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3152 000 mov R2, A ; Move (Op1 <- Op2) ROM:3153 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3155 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3156 000 mov DP0L, A ; Data Pointer Low Byte ROM:3158 000 mov DP0H, R2 ; Data Pointer High Byte ROM:315A 000 mov A, R6 ; Move (Op1 <- Op2) ROM:315B 000 movx @DPTR, A ; Move from/to external RAM ROM:315C 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:315E 000 mov DP0H, R4 ; Data Pointer High Byte ROM:3160 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:3162 000 movx @DPTR, A ; Move from/to external RAM ROM:3163 000 mov DPTR, #63Eh ; Move (Op1 <- Op2) ROM:3166 000 movx A, @DPTR ; Move from/to external RAM ROM:3167 000 mov R7, A ; Move (Op1 <- Op2) ROM:3168 000 mov B, #0Bh ; B Register ROM:316B 000 mul AB ; Multiply Acc by B ROM:316C 000 add A, #0Fh ; Add Second Operand to Acc ROM:316E 000 mov DP0L, A ; Data Pointer Low Byte ROM:3170 000 clr A ; Clear Operand (0) ROM:3171 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:3173 000 mov DP0H, A ; Data Pointer High Byte ROM:3175 000 clr A ; Clear Operand (0) ROM:3176 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3177 000 mov R4, A ; Move (Op1 <- Op2) ROM:3178 000 mov A, #1 ; Move (Op1 <- Op2) ROM:317A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:317B 000 mov DP0L, A ; Data Pointer Low Byte ROM:317D 000 mov DP0H, R4 ; Data Pointer High Byte ROM:317F 000 mov A, #1Eh ; Move (Op1 <- Op2) ROM:3181 000 movx @DPTR, A ; Move from/to external RAM ROM:3182 000 mov DPTR, #INTC_ISR2 ; Interrupt Status Register 2 ROM:3185 000 push DP0H ; Data Pointer High Byte ROM:3187 001 push DP0L ; Data Pointer Low Byte ROM:3189 002 movx A, @DPTR ; Move from/to external RAM ROM:318A 002 mov R6, A ; Move (Op1 <- Op2) ROM:318B 002 mov A, R7 ; Move (Op1 <- Op2) ROM:318C 002 mov B, #0Bh ; B Register ROM:318F 002 mul AB ; Multiply Acc by B ROM:3190 002 add A, #19h ; Add Second Operand to Acc ROM:3192 002 mov DP0L, A ; Data Pointer Low Byte ROM:3194 002 clr A ; Clear Operand (0) ROM:3195 002 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:3197 002 mov DP0H, A ; Data Pointer High Byte ROM:3199 002 clr A ; Clear Operand (0) ROM:319A 002 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:319B 002 mov R7, A ; Move (Op1 <- Op2) ROM:319C 002 mov A, #1 ; Move (Op1 <- Op2) ROM:319E 002 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:31A0 002 inc R0 ; Increment Operand ROM:31A1 002 sjmp ROM_31A5 ; Short jump ROM:31A1 ROM:31A3 ; --------------------------------------------------------------------------- ROM:31A3 ROM:31A3 ROM_31A3: ; CODE XREF: ROM_3108:ROM_31A5j ROM:31A3 002 clr C ; Clear Operand (0) ROM:31A4 002 rlc A ; Rotate Acc left through Carry ROM:31A4 ROM:31A5 ROM:31A5 ROM_31A5: ; CODE XREF: ROM_3108+99j ROM:31A5 002 djnz R0, ROM_31A3 ; Decrement Operand and JNZ ROM:31A5 ROM:31A7 002 mov R7, A ; Move (Op1 <- Op2) ROM:31A8 002 orl A, R6 ; Logical OR (op1 |= op2) ROM:31A9 002 pop DP0L ; Data Pointer Low Byte ROM:31AB 001 pop DP0H ; Data Pointer High Byte ROM:31AD 000 movx @DPTR, A ; Move from/to external RAM ROM:31AE 000 mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 ROM:31B1 000 movx A, @DPTR ; Move from/to external RAM ROM:31B2 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:31B3 000 movx @DPTR, A ; Move from/to external RAM ROM:31B4 000 mov DPTR, #63Eh ; Move (Op1 <- Op2) ROM:31B7 000 movx A, @DPTR ; Move from/to external RAM ROM:31B8 000 mov R7, A ; Move (Op1 <- Op2) ROM:31B9 000 mov B, #0Bh ; B Register ROM:31BC 000 mul AB ; Multiply Acc by B ROM:31BD 000 add A, #11h ; Add Second Operand to Acc ROM:31BF 000 mov DP0L, A ; Data Pointer Low Byte ROM:31C1 000 clr A ; Clear Operand (0) ROM:31C2 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:31C4 000 mov DP0H, A ; Data Pointer High Byte ROM:31C6 000 clr A ; Clear Operand (0) ROM:31C7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:31C8 000 mov R4, A ; Move (Op1 <- Op2) ROM:31C9 000 mov A, #1 ; Move (Op1 <- Op2) ROM:31CB 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:31CC 000 mov DP0L, A ; Data Pointer Low Byte ROM:31CE 000 mov DP0H, R4 ; Data Pointer High Byte ROM:31D0 000 mov A, #4 ; Move (Op1 <- Op2) ROM:31D2 000 movx @DPTR, A ; Move from/to external RAM ROM:31D3 000 lcall ROM_3224 ; Long Subroutine Call ROM:31D3 ROM:31D6 000 jnc ROM_3222 ; Jump if Carry is clear ROM:31D6 ROM:31D8 000 mov DPTR, #63Eh ; Move (Op1 <- Op2) ROM:31DB 000 movx A, @DPTR ; Move from/to external RAM ROM:31DC 000 mov R7, A ; Move (Op1 <- Op2) ROM:31DD 000 jnz ROM_31E3 ; Jump if Acc is not zero ROM:31DD ROM:31DF 000 mov DPTR, #89h ; 'ë' ; Move (Op1 <- Op2) ROM:31E2 000 movx @DPTR, A ; Move from/to external RAM ROM:31E2 ROM:31E3 ROM:31E3 ROM_31E3: ; CODE XREF: ROM_3108+D5j ROM:31E3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:31E4 000 cjne A, #1, ROM_31EC ; Compare Operands and JNE ROM:31E4 ROM:31E7 000 clr A ; Clear Operand (0) ROM:31E8 000 mov DPTR, #99h ; 'Ö' ; Move (Op1 <- Op2) ROM:31EB 000 movx @DPTR, A ; Move from/to external RAM ROM:31EB ROM:31EC ROM:31EC ROM_31EC: ; CODE XREF: ROM_3108+DCj ROM:31EC 000 mov A, R7 ; Move (Op1 <- Op2) ROM:31ED 000 cjne A, #2, ROM_31F5 ; Compare Operands and JNE ROM:31ED ROM:31F0 000 clr A ; Clear Operand (0) ROM:31F1 000 mov DPTR, #0A9h ; '¬' ; Move (Op1 <- Op2) ROM:31F4 000 movx @DPTR, A ; Move from/to external RAM ROM:31F4 ROM:31F5 ROM:31F5 ROM_31F5: ; CODE XREF: ROM_3108+E5j ROM:31F5 000 lcall ROM_3276 ; Long Subroutine Call ROM:31F5 ROM:31F8 000 jnc ROM_3222 ; Jump if Carry is clear ROM:31F8 ROM:31FA 000 mov DPTR, #63Eh ; Move (Op1 <- Op2) ROM:31FD 000 movx A, @DPTR ; Move from/to external RAM ROM:31FE 000 mov B, #0Bh ; B Register ROM:3201 000 mul AB ; Multiply Acc by B ROM:3202 000 add A, #15h ; Add Second Operand to Acc ROM:3204 000 mov DP0L, A ; Data Pointer Low Byte ROM:3206 000 clr A ; Clear Operand (0) ROM:3207 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:3209 000 mov DP0H, A ; Data Pointer High Byte ROM:320B 000 clr A ; Clear Operand (0) ROM:320C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:320D 000 mov R6, A ; Move (Op1 <- Op2) ROM:320E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3210 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3211 000 mov DP0L, A ; Data Pointer Low Byte ROM:3213 000 mov DP0H, R6 ; Data Pointer High Byte ROM:3215 000 movx A, @DPTR ; Move from/to external RAM ROM:3216 000 mov R7, A ; Move (Op1 <- Op2) ROM:3217 000 mov DPTR, #640h ; Move (Op1 <- Op2) ROM:321A 000 movx A, @DPTR ; Move from/to external RAM ROM:321B 000 mov R6, A ; Move (Op1 <- Op2) ROM:321C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:321D 000 cjne A, RAM_6, ROM_3222 ; Compare Operands and JNE ROM:321D ROM:3220 000 setb C ; Set Direct Bit ROM:3221 000 ret ; Return from subroutine ROM:3221 ROM:3222 ; --------------------------------------------------------------------------- ROM:3222 ROM:3222 ROM_3222: ; CODE XREF: ROM_3108+CEj ROM:3222 ; ROM_3108+F0j ... ROM:3222 000 clr C ; Clear Operand (0) ROM:3223 000 ret ; Return from subroutine ROM:3223 ROM:3223 ; End of function ROM_3108 ROM:3223 ROM:3224 ROM:3224 ; =============== S U B R O U T I N E ======================================= ROM:3224 ROM:3224 ROM:3224 ROM_3224: ; CODE XREF: ROM:30FCj ROM:3224 ; ROM_3108+CBp ... ROM:3224 000 clr RAM_2D.0 ; Clear Operand (0) ROM:3226 000 clr A ; Clear Operand (0) ROM:3227 000 mov R6, A ; Move (Op1 <- Op2) ROM:3227 ROM:3228 ROM:3228 ROM_3228: ; CODE XREF: ROM_3224+44j ROM:3228 000 clr IE.3 ; Interrupt Enable Register 0 ROM:322A 000 clr A ; Clear Operand (0) ROM:322B 000 mov TH1, A ; Timer 1 High Byte ROM:322D 000 mov TL1, #1 ; Timer 1 Low Byte ROM:3230 000 setb TCON.6 ; Timer Control Register ROM:3232 000 clr TCON.7 ; Timer Control Register ROM:3232 ROM:3234 ROM:3234 ROM_3234: ; CODE XREF: ROM_3224:ROM_3260j ROM:3234 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3235 000 dec A ; Decrement Operand ROM:3236 000 jz ROM_3244 ; Jump if Acc is zero ROM:3236 ROM:3238 000 inc A ; Increment Operand ROM:3239 000 jnz ROM_324D ; Jump if Acc is not zero ROM:3239 ROM:323B 000 jnb RAM_28.4, ROM_3254 ; Jump if Bit is clear ROM:323B ROM:323E 000 setb RAM_2D.0 ; Set Direct Bit ROM:3240 000 clr RAM_28.4 ; Clear Operand (0) ROM:3242 000 sjmp ROM_3254 ; Short jump ROM:3242 ROM:3244 ; --------------------------------------------------------------------------- ROM:3244 ROM:3244 ROM_3244: ; CODE XREF: ROM_3224+12j ROM:3244 000 jnb RAM_28.5, ROM_3254 ; Jump if Bit is clear ROM:3244 ROM:3247 000 setb RAM_2D.0 ; Set Direct Bit ROM:3249 000 clr RAM_28.5 ; Clear Operand (0) ROM:324B 000 sjmp ROM_3254 ; Short jump ROM:324B ROM:324D ; --------------------------------------------------------------------------- ROM:324D ROM:324D ROM_324D: ; CODE XREF: ROM_3224+15j ROM:324D 000 jnb RAM_28.6, ROM_3254 ; Jump if Bit is clear ROM:324D ROM:3250 000 setb RAM_2D.0 ; Set Direct Bit ROM:3252 000 clr RAM_28.6 ; Clear Operand (0) ROM:3252 ROM:3254 ROM:3254 ROM_3254: ; CODE XREF: ROM_3224+17j ROM:3254 ; ROM_3224+1Ej ... ROM:3254 000 jnb RAM_2D.0, ROM_3260 ; Jump if Bit is clear ROM:3254 ROM:3257 000 lcall ROM_2F0E ; Long Subroutine Call ROM:3257 ROM:325A 000 clr TCON.7 ; Timer Control Register ROM:325C 000 setb IE.3 ; Interrupt Enable Register 0 ROM:325E 000 setb C ; Set Direct Bit ROM:325F 000 ret ; Return from subroutine ROM:325F ROM:3260 ; --------------------------------------------------------------------------- ROM:3260 ROM:3260 ROM_3260: ; CODE XREF: ROM_3224:ROM_3254j ROM:3260 000 jnb TCON.7, ROM_3234 ; Timer Control Register ROM:3260 ROM:3263 000 inc R6 ; Increment Operand ROM:3264 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3265 000 clr C ; Clear Operand (0) ROM:3266 000 subb A, #14h ; Subtract Second Operand from Acc with Borrow ROM:3268 000 jc ROM_3228 ; Jump if Carry is set ROM:3268 ROM:326A 000 lcall ROM_2F0E ; Long Subroutine Call ROM:326A ROM:326D 000 clr TCON.7 ; Timer Control Register ROM:326F 000 setb IE.3 ; Interrupt Enable Register 0 ROM:3271 000 clr C ; Clear Operand (0) ROM:3272 000 ret ; Return from subroutine ROM:3272 ROM:3272 ; End of function ROM_3224 ROM:3272 ROM:3273 ROM:3273 ; =============== S U B R O U T I N E ======================================= ROM:3273 ROM:3273 ROM:3273 ROM_3273: ; CODE XREF: ROM:36CCp ROM:3273 ; ROM:36E0p ROM:3273 000 movx @DPTR, A ; Move from/to external RAM ROM:3274 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:3274 ROM:3274 ; End of function ROM_3273 ROM:3274 ROM:3276 ROM:3276 ; =============== S U B R O U T I N E ======================================= ROM:3276 ROM:3276 ROM:3276 ROM_3276: ; CODE XREF: ROM_1D46+11Bp ROM:3276 ; ROM_1D46+149p ... ROM:3276 000 mov R3, RAM_7 ; Move (Op1 <- Op2) ROM:3278 000 mov A, R3 ; Move (Op1 <- Op2) ROM:3279 000 mov B, #0Bh ; B Register ROM:327C 000 mul AB ; Multiply Acc by B ROM:327D 000 add A, #0Fh ; Add Second Operand to Acc ROM:327F 000 mov DP0L, A ; Data Pointer Low Byte ROM:3281 000 clr A ; Clear Operand (0) ROM:3282 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:3284 000 mov DP0H, A ; Data Pointer High Byte ROM:3286 000 clr A ; Clear Operand (0) ROM:3287 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3288 000 mov R6, A ; Move (Op1 <- Op2) ROM:3289 000 mov A, #1 ; Move (Op1 <- Op2) ROM:328B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:328C 000 mov DP0L, A ; Data Pointer Low Byte ROM:328E 000 mov DP0H, R6 ; Data Pointer High Byte ROM:3290 000 mov A, #17h ; Move (Op1 <- Op2) ROM:3292 000 movx @DPTR, A ; Move from/to external RAM ROM:3293 000 mov DPTR, #INTC_ISR2 ; Interrupt Status Register 2 ROM:3296 000 push DP0H ; Data Pointer High Byte ROM:3298 001 push DP0L ; Data Pointer Low Byte ROM:329A 002 movx A, @DPTR ; Move from/to external RAM ROM:329B 002 mov R7, A ; Move (Op1 <- Op2) ROM:329C 002 mov A, R3 ; Move (Op1 <- Op2) ROM:329D 002 mov B, #0Bh ; B Register ROM:32A0 002 mul AB ; Multiply Acc by B ROM:32A1 002 add A, #19h ; Add Second Operand to Acc ROM:32A3 002 mov DP0L, A ; Data Pointer Low Byte ROM:32A5 002 clr A ; Clear Operand (0) ROM:32A6 002 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:32A8 002 mov DP0H, A ; Data Pointer High Byte ROM:32AA 002 clr A ; Clear Operand (0) ROM:32AB 002 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:32AC 002 mov R6, A ; Move (Op1 <- Op2) ROM:32AD 002 mov A, #1 ; Move (Op1 <- Op2) ROM:32AF 002 mov R0, RAM_6 ; Move (Op1 <- Op2) ROM:32B1 002 inc R0 ; Increment Operand ROM:32B2 002 sjmp ROM_32B6 ; Short jump ROM:32B2 ROM:32B4 ; --------------------------------------------------------------------------- ROM:32B4 ROM:32B4 ROM_32B4: ; CODE XREF: ROM_3276:ROM_32B6j ROM:32B4 002 clr C ; Clear Operand (0) ROM:32B5 002 rlc A ; Rotate Acc left through Carry ROM:32B5 ROM:32B6 ROM:32B6 ROM_32B6: ; CODE XREF: ROM_3276+3Cj ROM:32B6 002 djnz R0, ROM_32B4 ; Decrement Operand and JNZ ROM:32B6 ROM:32B8 002 mov R6, A ; Move (Op1 <- Op2) ROM:32B9 002 orl A, R7 ; Logical OR (op1 |= op2) ROM:32BA 002 pop DP0L ; Data Pointer Low Byte ROM:32BC 001 pop DP0H ; Data Pointer High Byte ROM:32BE 000 movx @DPTR, A ; Move from/to external RAM ROM:32BF 000 mov DPTR, #INTC_IER2 ; Interrupt Enable Register 2 ROM:32C2 000 movx A, @DPTR ; Move from/to external RAM ROM:32C3 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:32C4 000 movx @DPTR, A ; Move from/to external RAM ROM:32C5 000 mov A, R3 ; Move (Op1 <- Op2) ROM:32C6 000 mov B, #0Bh ; B Register ROM:32C9 000 mul AB ; Multiply Acc by B ROM:32CA 000 add A, #11h ; Add Second Operand to Acc ROM:32CC 000 mov DP0L, A ; Data Pointer Low Byte ROM:32CE 000 clr A ; Clear Operand (0) ROM:32CF 000 addc A, #38h ; '8' ; Add Second Operand to Acc with carry ROM:32D1 000 mov DP0H, A ; Data Pointer High Byte ROM:32D3 000 clr A ; Clear Operand (0) ROM:32D4 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:32D5 000 mov R6, A ; Move (Op1 <- Op2) ROM:32D6 000 mov A, #1 ; Move (Op1 <- Op2) ROM:32D8 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:32D9 000 mov DP0L, A ; Data Pointer Low Byte ROM:32DB 000 mov DP0H, R6 ; Data Pointer High Byte ROM:32DD 000 mov A, #4 ; Move (Op1 <- Op2) ROM:32DF 000 movx @DPTR, A ; Move from/to external RAM ROM:32E0 000 mov R7, RAM_3 ; Move (Op1 <- Op2) ROM:32E2 000 lcall ROM_3224 ; Long Subroutine Call ROM:32E2 ROM:32E5 000 mov R7, RAM_3 ; Move (Op1 <- Op2) ROM:32E7 000 jnc ROM_32EE ; Jump if Carry is clear ROM:32E7 ROM:32E9 000 lcall ROM_2F0E ; Long Subroutine Call ROM:32E9 ROM:32EC 000 setb C ; Set Direct Bit ROM:32ED 000 ret ; Return from subroutine ROM:32ED ROM:32EE ; --------------------------------------------------------------------------- ROM:32EE ROM:32EE ROM_32EE: ; CODE XREF: ROM_3276+71j ROM:32EE 000 lcall ROM_2F0E ; Long Subroutine Call ROM:32EE ROM:32F1 000 clr C ; Clear Operand (0) ROM:32F2 000 ret ; Return from subroutine ROM:32F2 ROM:32F2 ; End of function ROM_3276 ROM:32F2 ROM:32F3 ROM:32F3 ; =============== S U B R O U T I N E ======================================= ROM:32F3 ROM:32F3 ROM:32F3 ROM_32F3: ; CODE XREF: ROM_133C+69p ROM:32F3 ; ROM_133C+70p ... ROM:32F3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:32F4 000 dec A ; Decrement Operand ROM:32F5 000 jz ROM_3334 ; Jump if Acc is zero ROM:32F5 ROM:32F7 000 inc A ; Increment Operand ROM:32F8 000 jnz ROM_336E ; Jump if Acc is not zero ROM:32F8 ROM:32FA 000 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:32FC 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:32FD 000 jnb ACC.0, ROM_332A ; Accumulator ROM:32FD ROM:3300 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:3302 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3303 000 swap A ; Swap nibbles of Acc ROM:3304 000 rrc A ; Rotate Acc right through Carry ROM:3305 000 rrc A ; Rotate Acc right through Carry ROM:3306 000 rrc A ; Rotate Acc right through Carry ROM:3307 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:3309 000 jnb ACC.0, ROM_3316 ; Accumulator ROM:3309 ROM:330C 000 mov R0, #85h ; 'à' ; Move (Op1 <- Op2) ROM:330E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:330F 000 setb C ; Set Direct Bit ROM:3310 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:3312 000 jc ROM_3316 ; Jump if Carry is set ROM:3312 ROM:3314 000 setb C ; Set Direct Bit ROM:3315 000 ret ; Return from subroutine ROM:3315 ROM:3316 ; --------------------------------------------------------------------------- ROM:3316 ROM:3316 ROM_3316: ; CODE XREF: ROM_32F3+16j ROM:3316 ; ROM_32F3+1Fj ROM:3316 000 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:3318 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3319 000 clr C ; Clear Operand (0) ROM:331A 000 rrc A ; Rotate Acc right through Carry ROM:331B 000 jb ACC.0, ROM_332A ; Accumulator ROM:331B ROM:331E 000 mov R0, #85h ; 'à' ; Move (Op1 <- Op2) ROM:3320 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3321 000 clr C ; Clear Operand (0) ROM:3322 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:3324 000 jnc ROM_3328 ; Jump if Carry is clear ROM:3324 ROM:3326 000 clr C ; Clear Operand (0) ROM:3327 000 ret ; Return from subroutine ROM:3327 ROM:3328 ; --------------------------------------------------------------------------- ROM:3328 ROM:3328 ROM_3328: ; CODE XREF: ROM_32F3+31j ROM:3328 000 setb C ; Set Direct Bit ROM:3329 000 ret ; Return from subroutine ROM:3329 ROM:332A ; --------------------------------------------------------------------------- ROM:332A ROM:332A ROM_332A: ; CODE XREF: ROM_32F3+Aj ROM:332A ; ROM_32F3+28j ROM:332A 000 mov R0, #85h ; 'à' ; Move (Op1 <- Op2) ROM:332C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:332D 000 clr C ; Clear Operand (0) ROM:332E 000 subb A, #4 ; Subtract Second Operand from Acc with Borrow ROM:3330 000 jnc ROM_33A8 ; Jump if Carry is clear ROM:3330 ROM:3332 000 clr C ; Clear Operand (0) ROM:3333 000 ret ; Return from subroutine ROM:3333 ROM:3334 ; --------------------------------------------------------------------------- ROM:3334 ROM:3334 ROM_3334: ; CODE XREF: ROM_32F3+2j ROM:3334 000 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:3336 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3337 000 jnb ACC.0, ROM_3364 ; Accumulator ROM:3337 ROM:333A 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:333C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:333D 000 swap A ; Swap nibbles of Acc ROM:333E 000 rrc A ; Rotate Acc right through Carry ROM:333F 000 rrc A ; Rotate Acc right through Carry ROM:3340 000 rrc A ; Rotate Acc right through Carry ROM:3341 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:3343 000 jnb ACC.0, ROM_3350 ; Accumulator ROM:3343 ROM:3346 000 mov R0, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:3348 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3349 000 setb C ; Set Direct Bit ROM:334A 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:334C 000 jc ROM_3350 ; Jump if Carry is set ROM:334C ROM:334E 000 setb C ; Set Direct Bit ROM:334F 000 ret ; Return from subroutine ROM:334F ROM:3350 ; --------------------------------------------------------------------------- ROM:3350 ROM:3350 ROM_3350: ; CODE XREF: ROM_32F3+50j ROM:3350 ; ROM_32F3+59j ROM:3350 000 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:3352 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3353 000 clr C ; Clear Operand (0) ROM:3354 000 rrc A ; Rotate Acc right through Carry ROM:3355 000 jb ACC.0, ROM_3364 ; Accumulator ROM:3355 ROM:3358 000 mov R0, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:335A 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:335B 000 clr C ; Clear Operand (0) ROM:335C 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:335E 000 jnc ROM_3362 ; Jump if Carry is clear ROM:335E ROM:3360 000 clr C ; Clear Operand (0) ROM:3361 000 ret ; Return from subroutine ROM:3361 ROM:3362 ; --------------------------------------------------------------------------- ROM:3362 ROM:3362 ROM_3362: ; CODE XREF: ROM_32F3+6Bj ROM:3362 000 setb C ; Set Direct Bit ROM:3363 000 ret ; Return from subroutine ROM:3363 ROM:3364 ; --------------------------------------------------------------------------- ROM:3364 ROM:3364 ROM_3364: ; CODE XREF: ROM_32F3+44j ROM:3364 ; ROM_32F3+62j ROM:3364 000 mov R0, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:3366 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3367 000 clr C ; Clear Operand (0) ROM:3368 000 subb A, #4 ; Subtract Second Operand from Acc with Borrow ROM:336A 000 jnc ROM_33A8 ; Jump if Carry is clear ROM:336A ROM:336C 000 clr C ; Clear Operand (0) ROM:336D 000 ret ; Return from subroutine ROM:336D ROM:336E ; --------------------------------------------------------------------------- ROM:336E ROM:336E ROM_336E: ; CODE XREF: ROM_32F3+5j ROM:336E 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:3370 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3371 000 jnb ACC.0, ROM_339E ; Accumulator ROM:3371 ROM:3374 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:3376 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3377 000 swap A ; Swap nibbles of Acc ROM:3378 000 rrc A ; Rotate Acc right through Carry ROM:3379 000 rrc A ; Rotate Acc right through Carry ROM:337A 000 rrc A ; Rotate Acc right through Carry ROM:337B 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:337D 000 jnb ACC.0, ROM_338A ; Accumulator ROM:337D ROM:3380 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:3382 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3383 000 setb C ; Set Direct Bit ROM:3384 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:3386 000 jc ROM_338A ; Jump if Carry is set ROM:3386 ROM:3388 000 setb C ; Set Direct Bit ROM:3389 000 ret ; Return from subroutine ROM:3389 ROM:338A ; --------------------------------------------------------------------------- ROM:338A ROM:338A ROM_338A: ; CODE XREF: ROM_32F3+8Aj ROM:338A ; ROM_32F3+93j ROM:338A 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:338C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:338D 000 clr C ; Clear Operand (0) ROM:338E 000 rrc A ; Rotate Acc right through Carry ROM:338F 000 jb ACC.0, ROM_339E ; Accumulator ROM:338F ROM:3392 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:3394 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3395 000 clr C ; Clear Operand (0) ROM:3396 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:3398 000 jnc ROM_339C ; Jump if Carry is clear ROM:3398 ROM:339A 000 clr C ; Clear Operand (0) ROM:339B 000 ret ; Return from subroutine ROM:339B ROM:339C ; --------------------------------------------------------------------------- ROM:339C ROM:339C ROM_339C: ; CODE XREF: ROM_32F3+A5j ROM:339C 000 setb C ; Set Direct Bit ROM:339D 000 ret ; Return from subroutine ROM:339D ROM:339E ; --------------------------------------------------------------------------- ROM:339E ROM:339E ROM_339E: ; CODE XREF: ROM_32F3+7Ej ROM:339E ; ROM_32F3+9Cj ROM:339E 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:33A0 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:33A1 000 clr C ; Clear Operand (0) ROM:33A2 000 subb A, #4 ; Subtract Second Operand from Acc with Borrow ROM:33A4 000 jnc ROM_33A8 ; Jump if Carry is clear ROM:33A4 ROM:33A6 000 clr C ; Clear Operand (0) ROM:33A7 000 ret ; Return from subroutine ROM:33A7 ROM:33A8 ; --------------------------------------------------------------------------- ROM:33A8 ROM:33A8 ROM_33A8: ; CODE XREF: ROM_32F3+3Dj ROM:33A8 ; ROM_32F3+77j ... ROM:33A8 000 setb C ; Set Direct Bit ROM:33A9 000 ret ; Return from subroutine ROM:33A9 ROM:33A9 ; End of function ROM_32F3 ROM:33A9 ROM:33AA ROM:33AA ; =============== S U B R O U T I N E ======================================= ROM:33AA ROM:33AA ROM:33AA ROM_33AA: ; CODE XREF: ROM_29AE+C7p ROM:33AA ; ROM_29AE+DDp ROM:33AA 000 clr A ; Clear Operand (0) ROM:33AB 000 mov DPTR, #641h ; Move (Op1 <- Op2) ROM:33AE 000 movx @DPTR, A ; Move from/to external RAM ROM:33AF 000 inc DPTR ; Increment Operand ROM:33B0 000 movx @DPTR, A ; Move from/to external RAM ROM:33B1 000 mov A, R7 ; Move (Op1 <- Op2) ROM:33B2 000 dec A ; Decrement Operand ROM:33B3 000 jz ROM_340F ; Jump if Acc is zero ROM:33B3 ROM:33B5 000 inc A ; Increment Operand ROM:33B6 000 jz ROM_33BB ; Jump if Acc is zero ROM:33B6 ROM:33B8 000 ljmp ROM_3461 ; Long Jump ROM:33B8 ROM:33BB ; --------------------------------------------------------------------------- ROM:33BB ROM:33BB ROM_33BB: ; CODE XREF: ROM_33AA+Cj ROM:33BB 000 mov R0, #85h ; 'à' ; Move (Op1 <- Op2) ROM:33BD 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:33BE 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:33C0 000 add A, #80h ; 'Ç' ; Add Second Operand to Acc ROM:33C2 000 mov R0, A ; Move (Op1 <- Op2) ROM:33C3 000 mov @R0, RAM_5 ; Move (Op1 <- Op2) ROM:33C5 000 mov R0, #85h ; 'à' ; Move (Op1 <- Op2) ROM:33C7 000 inc @R0 ; Increment Operand ROM:33C8 000 mov DPTR, #8Eh ; 'Ä' ; Move (Op1 <- Op2) ROM:33CB 000 movx A, @DPTR ; Move from/to external RAM ROM:33CC 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:33CE 000 add A, #80h ; 'Ç' ; Add Second Operand to Acc ROM:33D0 000 mov DP0L, A ; Data Pointer Low Byte ROM:33D2 000 clr A ; Clear Operand (0) ROM:33D3 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:33D5 000 mov DP0H, A ; Data Pointer High Byte ROM:33D7 000 mov A, R5 ; Move (Op1 <- Op2) ROM:33D8 000 movx @DPTR, A ; Move from/to external RAM ROM:33D9 000 mov DPTR, #8Eh ; 'Ä' ; Move (Op1 <- Op2) ROM:33DC 000 movx A, @DPTR ; Move from/to external RAM ROM:33DD 000 inc A ; Increment Operand ROM:33DE 000 movx @DPTR, A ; Move from/to external RAM ROM:33DF 000 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:33E1 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:33E2 000 jnb ACC.0, ROM_3409 ; Accumulator ROM:33E2 ROM:33E5 000 mov R0, #85h ; 'à' ; Move (Op1 <- Op2) ROM:33E7 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:33E8 000 cjne A, #1, ROM_33EF ; Compare Operands and JNE ROM:33E8 ROM:33EB 000 mov R0, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:33ED 000 mov @R0, RAM_5 ; Move (Op1 <- Op2) ROM:33ED ROM:33EF ROM:33EF ROM_33EF: ; CODE XREF: ROM_33AA+3Ej ROM:33EF 000 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:33F1 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:33F2 000 mov R6, A ; Move (Op1 <- Op2) ROM:33F3 000 clr C ; Clear Operand (0) ROM:33F4 000 rrc A ; Rotate Acc right through Carry ROM:33F5 000 jb ACC.0, ROM_345A ; Accumulator ROM:33F5 ROM:33F8 000 mov DPTR, #8Eh ; 'Ä' ; Move (Op1 <- Op2) ROM:33FB 000 movx A, @DPTR ; Move from/to external RAM ROM:33FC 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:33FE 000 mov R6, A ; Move (Op1 <- Op2) ROM:33FF 000 cjne R6, #6, ROM_3406 ; Compare Operands and JNE ROM:33FF ROM:3402 000 movx A, @DPTR ; Move from/to external RAM ROM:3403 000 add A, #2 ; Add Second Operand to Acc ROM:3405 000 movx @DPTR, A ; Move from/to external RAM ROM:3405 ROM:3406 ROM:3406 ROM_3406: ; CODE XREF: ROM_33AA+55j ROM:3406 000 ljmp ROM_34AE ; Long Jump ROM:3406 ROM:3409 ; --------------------------------------------------------------------------- ROM:3409 ROM:3409 ROM_3409: ; CODE XREF: ROM_33AA+38j ROM:3409 000 clr A ; Clear Operand (0) ROM:340A 000 mov R0, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:340C 000 ljmp ROM_34B9 ; Long Jump ROM:340C ROM:340F ; --------------------------------------------------------------------------- ROM:340F ROM:340F ROM_340F: ; CODE XREF: ROM_33AA+9j ROM:340F 000 mov R0, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:3411 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3412 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:3414 000 add A, #90h ; 'É' ; Add Second Operand to Acc ROM:3416 000 mov R0, A ; Move (Op1 <- Op2) ROM:3417 000 mov @R0, RAM_5 ; Move (Op1 <- Op2) ROM:3419 000 mov R0, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:341B 000 inc @R0 ; Increment Operand ROM:341C 000 mov DPTR, #9Eh ; 'P' ; Move (Op1 <- Op2) ROM:341F 000 movx A, @DPTR ; Move from/to external RAM ROM:3420 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3422 000 add A, #90h ; 'É' ; Add Second Operand to Acc ROM:3424 000 mov DP0L, A ; Data Pointer Low Byte ROM:3426 000 clr A ; Clear Operand (0) ROM:3427 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:3429 000 mov DP0H, A ; Data Pointer High Byte ROM:342B 000 mov A, R5 ; Move (Op1 <- Op2) ROM:342C 000 movx @DPTR, A ; Move from/to external RAM ROM:342D 000 mov DPTR, #9Eh ; 'P' ; Move (Op1 <- Op2) ROM:3430 000 movx A, @DPTR ; Move from/to external RAM ROM:3431 000 inc A ; Increment Operand ROM:3432 000 movx @DPTR, A ; Move from/to external RAM ROM:3433 000 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:3435 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3436 000 jnb ACC.0, ROM_345C ; Accumulator ROM:3436 ROM:3439 000 mov R0, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:343B 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:343C 000 cjne A, #1, ROM_3443 ; Compare Operands and JNE ROM:343C ROM:343F 000 mov R0, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:3441 000 mov @R0, RAM_5 ; Move (Op1 <- Op2) ROM:3441 ROM:3443 ROM:3443 ROM_3443: ; CODE XREF: ROM_33AA+92j ROM:3443 000 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:3445 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3446 000 mov R6, A ; Move (Op1 <- Op2) ROM:3447 000 clr C ; Clear Operand (0) ROM:3448 000 rrc A ; Rotate Acc right through Carry ROM:3449 000 jb ACC.0, ROM_345A ; Accumulator ROM:3449 ROM:344C 000 mov DPTR, #9Eh ; 'P' ; Move (Op1 <- Op2) ROM:344F 000 movx A, @DPTR ; Move from/to external RAM ROM:3450 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3452 000 mov R6, A ; Move (Op1 <- Op2) ROM:3453 000 cjne R6, #6, ROM_345A ; Compare Operands and JNE ROM:3453 ROM:3456 000 movx A, @DPTR ; Move from/to external RAM ROM:3457 000 add A, #2 ; Add Second Operand to Acc ROM:3459 000 movx @DPTR, A ; Move from/to external RAM ROM:3459 ROM:345A ROM:345A ROM_345A: ; CODE XREF: ROM_33AA+4Bj ROM:345A ; ROM_33AA+9Fj ... ROM:345A 000 sjmp ROM_34AE ; Short jump ROM:345A ROM:345C ; --------------------------------------------------------------------------- ROM:345C ROM:345C ROM_345C: ; CODE XREF: ROM_33AA+8Cj ROM:345C 000 clr A ; Clear Operand (0) ROM:345D 000 mov R0, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:345F 000 sjmp ROM_34B9 ; Short jump ROM:345F ROM:3461 ; --------------------------------------------------------------------------- ROM:3461 ROM:3461 ROM_3461: ; CODE XREF: ROM_33AA+Ej ROM:3461 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:3463 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3464 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:3466 000 add A, #0A0h ; 'á' ; Add Second Operand to Acc ROM:3468 000 mov R0, A ; Move (Op1 <- Op2) ROM:3469 000 mov @R0, RAM_5 ; Move (Op1 <- Op2) ROM:346B 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:346D 000 inc @R0 ; Increment Operand ROM:346E 000 mov DPTR, #0AEh ; '«' ; Move (Op1 <- Op2) ROM:3471 000 movx A, @DPTR ; Move from/to external RAM ROM:3472 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3474 000 add A, #0A0h ; 'á' ; Add Second Operand to Acc ROM:3476 000 mov DP0L, A ; Data Pointer Low Byte ROM:3478 000 clr A ; Clear Operand (0) ROM:3479 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:347B 000 mov DP0H, A ; Data Pointer High Byte ROM:347D 000 mov A, R5 ; Move (Op1 <- Op2) ROM:347E 000 movx @DPTR, A ; Move from/to external RAM ROM:347F 000 mov DPTR, #0AEh ; '«' ; Move (Op1 <- Op2) ROM:3482 000 movx A, @DPTR ; Move from/to external RAM ROM:3483 000 inc A ; Increment Operand ROM:3484 000 movx @DPTR, A ; Move from/to external RAM ROM:3485 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:3487 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3488 000 jnb ACC.0, ROM_34B6 ; Accumulator ROM:3488 ROM:348B 000 mov R0, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:348D 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:348E 000 cjne A, #1, ROM_3497 ; Compare Operands and JNE ROM:348E ROM:3491 000 mov R6, RAM_5 ; Move (Op1 <- Op2) ROM:3493 000 mov R0, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:3495 000 mov @R0, RAM_6 ; Move (Op1 <- Op2) ROM:3495 ROM:3497 ROM:3497 ROM_3497: ; CODE XREF: ROM_33AA+E4j ROM:3497 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:3499 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:349A 000 mov R6, A ; Move (Op1 <- Op2) ROM:349B 000 clr C ; Clear Operand (0) ROM:349C 000 rrc A ; Rotate Acc right through Carry ROM:349D 000 jb ACC.0, ROM_34AE ; Accumulator ROM:349D ROM:34A0 000 mov DPTR, #0AEh ; '«' ; Move (Op1 <- Op2) ROM:34A3 000 movx A, @DPTR ; Move from/to external RAM ROM:34A4 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:34A6 000 mov R6, A ; Move (Op1 <- Op2) ROM:34A7 000 cjne R6, #6, ROM_34AE ; Compare Operands and JNE ROM:34A7 ROM:34AA 000 movx A, @DPTR ; Move from/to external RAM ROM:34AB 000 add A, #2 ; Add Second Operand to Acc ROM:34AD 000 movx @DPTR, A ; Move from/to external RAM ROM:34AD ROM:34AE ROM:34AE ROM_34AE: ; CODE XREF: ROM_33AA:ROM_3406j ROM:34AE ; ROM_33AA:ROM_345Aj ... ROM:34AE 000 mov DPTR, #642h ; Move (Op1 <- Op2) ROM:34B1 000 mov A, #1 ; Move (Op1 <- Op2) ROM:34B3 000 movx @DPTR, A ; Move from/to external RAM ROM:34B4 000 sjmp ROM_34BF ; Short jump ROM:34B4 ROM:34B6 ; --------------------------------------------------------------------------- ROM:34B6 ROM:34B6 ROM_34B6: ; CODE XREF: ROM_33AA+DEj ROM:34B6 000 clr A ; Clear Operand (0) ROM:34B7 000 mov R0, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:34B7 ROM:34B9 ROM:34B9 ROM_34B9: ; CODE XREF: ROM_33AA+62j ROM:34B9 ; ROM_33AA+B5j ROM:34B9 000 mov @R0, A ; Move (Op1 <- Op2) ROM:34BA 000 mov DPTR, #641h ; Move (Op1 <- Op2) ROM:34BD 000 inc A ; Increment Operand ROM:34BE 000 movx @DPTR, A ; Move from/to external RAM ROM:34BE ROM:34BF ROM:34BF ROM_34BF: ; CODE XREF: ROM_33AA+10Aj ROM:34BF 000 mov DPTR, #642h ; Move (Op1 <- Op2) ROM:34C2 000 movx A, @DPTR ; Move from/to external RAM ROM:34C3 000 jz ROM_34D0 ; Jump if Acc is zero ROM:34C3 ROM:34C5 000 lcall ROM_32F3 ; Long Subroutine Call ROM:34C5 ROM:34C8 000 jnc ROM_34D0 ; Jump if Carry is clear ROM:34C8 ROM:34CA 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:34CC 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:34CD 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:34CF 000 mov @R0, A ; Move (Op1 <- Op2) ROM:34CF ROM:34D0 ROM:34D0 ROM_34D0: ; CODE XREF: ROM_33AA+119j ROM:34D0 ; ROM_33AA+11Ej ROM:34D0 000 ret ; Return from subroutine ROM:34D0 ROM:34D0 ; End of function ROM_33AA ROM:34D0 ROM:34D1 ROM:34D1 ; =============== S U B R O U T I N E ======================================= ROM:34D1 ROM:34D1 ROM:34D1 ROM_34D1: ; CODE XREF: ROM_13C3+37p ROM:34D1 ; ROM_13C3+6Fp ... ROM:34D1 000 mov A, R7 ; Move (Op1 <- Op2) ROM:34D2 000 jnz ROM_34F7 ; Jump if Acc is not zero ROM:34D2 ROM:34D4 000 mov R0, #84h ; 'ä' ; Move (Op1 <- Op2) ROM:34D6 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:34D7 000 add A, #80h ; 'Ç' ; Add Second Operand to Acc ROM:34D9 000 mov R0, A ; Move (Op1 <- Op2) ROM:34DA 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:34DB 000 mov R6, A ; Move (Op1 <- Op2) ROM:34DC 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:34DE 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:34DF 000 swap A ; Swap nibbles of Acc ROM:34E0 000 rrc A ; Rotate Acc right through Carry ROM:34E1 000 rrc A ; Rotate Acc right through Carry ROM:34E2 000 rrc A ; Rotate Acc right through Carry ROM:34E3 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:34E5 000 jb ACC.0, ROM_3553 ; Accumulator ROM:34E5 ROM:34E8 000 mov R0, #84h ; 'ä' ; Move (Op1 <- Op2) ROM:34EA 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:34EB 000 jnz ROM_3553 ; Jump if Acc is not zero ROM:34EB ROM:34ED 000 mov R0, #86h ; 'å' ; Move (Op1 <- Op2) ROM:34EF 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:34F0 000 jnb ACC.0, ROM_3553 ; Accumulator ROM:34F0 ROM:34F3 000 mov R0, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:34F5 000 sjmp ROM_351D ; Short jump ROM:34F5 ROM:34F7 ; --------------------------------------------------------------------------- ROM:34F7 ROM:34F7 ROM_34F7: ; CODE XREF: ROM_34D1+1j ROM:34F7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:34F8 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:34FA 000 jnz ROM_3526 ; Jump if Acc is not zero ROM:34FA ROM:34FC 000 mov R0, #94h ; 'ö' ; Move (Op1 <- Op2) ROM:34FE 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:34FF 000 add A, #90h ; 'É' ; Add Second Operand to Acc ROM:3501 000 mov R0, A ; Move (Op1 <- Op2) ROM:3502 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3503 000 mov R6, A ; Move (Op1 <- Op2) ROM:3504 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:3506 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3507 000 swap A ; Swap nibbles of Acc ROM:3508 000 rrc A ; Rotate Acc right through Carry ROM:3509 000 rrc A ; Rotate Acc right through Carry ROM:350A 000 rrc A ; Rotate Acc right through Carry ROM:350B 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:350D 000 jb ACC.0, ROM_3553 ; Accumulator ROM:350D ROM:3510 000 mov R0, #94h ; 'ö' ; Move (Op1 <- Op2) ROM:3512 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3513 000 jnz ROM_3553 ; Jump if Acc is not zero ROM:3513 ROM:3515 000 mov R0, #96h ; 'û' ; Move (Op1 <- Op2) ROM:3517 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3518 000 jnb ACC.0, ROM_3553 ; Accumulator ROM:3518 ROM:351B 000 mov R0, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:351B ROM:351D ROM:351D ROM_351D: ; CODE XREF: ROM_34D1+24j ROM:351D 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:351E 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3520 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:3521 000 mov R6, A ; Move (Op1 <- Op2) ROM:3522 000 mov R0, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:3524 000 sjmp ROM_354E ; Short jump ROM:3524 ROM:3526 ; --------------------------------------------------------------------------- ROM:3526 ROM:3526 ROM_3526: ; CODE XREF: ROM_34D1+29j ROM:3526 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:3528 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3529 000 add A, #0A0h ; 'á' ; Add Second Operand to Acc ROM:352B 000 mov R0, A ; Move (Op1 <- Op2) ROM:352C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:352D 000 mov R6, A ; Move (Op1 <- Op2) ROM:352E 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:3530 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3531 000 swap A ; Swap nibbles of Acc ROM:3532 000 rrc A ; Rotate Acc right through Carry ROM:3533 000 rrc A ; Rotate Acc right through Carry ROM:3534 000 rrc A ; Rotate Acc right through Carry ROM:3535 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:3537 000 jb ACC.0, ROM_3553 ; Accumulator ROM:3537 ROM:353A 000 mov R0, #0A4h ; 'ñ' ; Move (Op1 <- Op2) ROM:353C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:353D 000 jnz ROM_3553 ; Jump if Acc is not zero ROM:353D ROM:353F 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:3541 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3542 000 jnb ACC.0, ROM_3553 ; Accumulator ROM:3542 ROM:3545 000 mov R0, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:3547 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3548 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:354A 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:354B 000 mov R6, A ; Move (Op1 <- Op2) ROM:354C 000 mov R0, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:354C ROM:354E ROM:354E ROM_354E: ; CODE XREF: ROM_34D1+53j ROM:354E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:354F 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3551 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:3552 000 mov R6, A ; Move (Op1 <- Op2) ROM:3552 ROM:3553 ROM:3553 ROM_3553: ; CODE XREF: ROM_34D1+14j ROM:3553 ; ROM_34D1+1Aj ... ROM:3553 000 mov R7, RAM_6 ; Move (Op1 <- Op2) ROM:3555 000 ret ; Return from subroutine ROM:3555 ROM:3555 ; End of function ROM_34D1 ROM:3555 ROM:3556 ROM:3556 ; =============== S U B R O U T I N E ======================================= ROM:3556 ROM:3556 ROM:3556 ROM_3556: ; CODE XREF: ROM_2B2F+130p ROM:3556 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:3559 000 mov A, R7 ; Move (Op1 <- Op2) ROM:355A 000 movx @DPTR, A ; Move from/to external RAM ROM:355B 000 lcall ROM_3104 ; Long Subroutine Call ROM:355B ROM:355E 000 jc ROM_3561 ; Jump if Carry is set ROM:355E ROM:3560 000 ret ; Return from subroutine ROM:3560 ROM:3561 ; --------------------------------------------------------------------------- ROM:3561 ROM:3561 ROM_3561: ; CODE XREF: ROM_3556+8j ROM:3561 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:3564 000 movx A, @DPTR ; Move from/to external RAM ROM:3565 000 mov R7, A ; Move (Op1 <- Op2) ROM:3566 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3568 000 mov R5, #20h ; ' ' ; Move (Op1 <- Op2) ROM:356A 000 lcall ROM_3108 ; Long Subroutine Call ROM:356A ROM:356D 000 jc ROM_3570 ; Jump if Carry is set ROM:356D ROM:356F 000 ret ; Return from subroutine ROM:356F ROM:3570 ; --------------------------------------------------------------------------- ROM:3570 ROM:3570 ROM_3570: ; CODE XREF: ROM_3556+17j ROM:3570 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:3573 000 movx A, @DPTR ; Move from/to external RAM ROM:3574 000 mov R7, A ; Move (Op1 <- Op2) ROM:3575 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3577 000 mov R5, #0EDh ; 'f' ; Move (Op1 <- Op2) ROM:3579 000 lcall ROM_3108 ; Long Subroutine Call ROM:3579 ROM:357C 000 jc ROM_357F ; Jump if Carry is set ROM:357C ROM:357E 000 ret ; Return from subroutine ROM:357E ROM:357F ; --------------------------------------------------------------------------- ROM:357F ROM:357F ROM_357F: ; CODE XREF: ROM_3556+26j ROM:357F 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:3582 000 movx A, @DPTR ; Move from/to external RAM ROM:3583 000 mov R7, A ; Move (Op1 <- Op2) ROM:3584 000 mov A, RAM_24 ; Move (Op1 <- Op2) ROM:3586 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3588 000 mov R5, A ; Move (Op1 <- Op2) ROM:3589 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:358B 000 lcall ROM_3108 ; Long Subroutine Call ROM:358B ROM:358E 000 jc ROM_3591 ; Jump if Carry is set ROM:358E ROM:3590 000 ret ; Return from subroutine ROM:3590 ROM:3591 ; --------------------------------------------------------------------------- ROM:3591 ROM:3591 ROM_3591: ; CODE XREF: ROM_3556+38j ROM:3591 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:3594 000 movx A, @DPTR ; Move from/to external RAM ROM:3595 000 mov R7, A ; Move (Op1 <- Op2) ROM:3596 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3598 000 mov R5, #0F4h ; '(' ; Move (Op1 <- Op2) ROM:359A 000 lcall ROM_3108 ; Long Subroutine Call ROM:359A ROM:359D 000 jc ROM_35A0 ; Jump if Carry is set ROM:359D ROM:359F 000 ret ; Return from subroutine ROM:359F ROM:35A0 ; --------------------------------------------------------------------------- ROM:35A0 ROM:35A0 ROM_35A0: ; CODE XREF: ROM_3556+47j ROM:35A0 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:35A3 000 lcall ROM_3102 ; Long Subroutine Call ROM:35A3 ROM:35A6 000 jc ROM_35A9 ; Jump if Carry is set ROM:35A6 ROM:35A8 000 ret ; Return from subroutine ROM:35A8 ROM:35A9 ; --------------------------------------------------------------------------- ROM:35A9 ROM:35A9 ROM_35A9: ; CODE XREF: ROM_3556+50j ROM:35A9 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:35AC 000 movx A, @DPTR ; Move from/to external RAM ROM:35AD 000 mov R7, A ; Move (Op1 <- Op2) ROM:35AE 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:35B0 000 clr A ; Clear Operand (0) ROM:35B1 000 mov R5, A ; Move (Op1 <- Op2) ROM:35B2 000 lcall ROM_3108 ; Long Subroutine Call ROM:35B2 ROM:35B5 000 jc ROM_35B8 ; Jump if Carry is set ROM:35B5 ROM:35B7 000 ret ; Return from subroutine ROM:35B7 ROM:35B8 ; --------------------------------------------------------------------------- ROM:35B8 ROM:35B8 ROM_35B8: ; CODE XREF: ROM_3556+5Fj ROM:35B8 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:35BB 000 movx A, @DPTR ; Move from/to external RAM ROM:35BC 000 mov R7, A ; Move (Op1 <- Op2) ROM:35BD 000 lcall ROM_3276 ; Long Subroutine Call ROM:35BD ROM:35C0 000 mov DPTR, #643h ; Move (Op1 <- Op2) ROM:35C3 000 movx A, @DPTR ; Move from/to external RAM ROM:35C4 000 mov R7, A ; Move (Op1 <- Op2) ROM:35C5 000 lcall ROM_3276 ; Long Subroutine Call ROM:35C5 ROM:35C8 000 setb C ; Set Direct Bit ROM:35C9 000 ret ; Return from subroutine ROM:35C9 ROM:35C9 ; End of function ROM_3556 ROM:35C9 ROM:35CA ROM:35CA ; =============== S U B R O U T I N E ======================================= ROM:35CA ROM:35CA ROM:35CA ROM_35CA: ; CODE XREF: ROM_2B2F+23Fp ROM:35CA 000 mov DPTR, #644h ; Move (Op1 <- Op2) ROM:35CD 000 mov A, R7 ; Move (Op1 <- Op2) ROM:35CE 000 movx @DPTR, A ; Move from/to external RAM ROM:35CF 000 lcall ROM_2F0E ; Long Subroutine Call ROM:35CF ROM:35D2 000 lcall ROM_30FF ; Long Subroutine Call ROM:35D2 ROM:35D5 000 jc ROM_35D8 ; Jump if Carry is set ROM:35D5 ROM:35D7 000 ret ; Return from subroutine ROM:35D7 ROM:35D8 ; --------------------------------------------------------------------------- ROM:35D8 ROM:35D8 ROM_35D8: ; CODE XREF: ROM_35CA+Bj ROM:35D8 000 mov DPTR, #644h ; Move (Op1 <- Op2) ROM:35DB 000 movx A, @DPTR ; Move from/to external RAM ROM:35DC 000 mov R7, A ; Move (Op1 <- Op2) ROM:35DD 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:35DF 000 mov R5, #0C8h ; '+' ; Move (Op1 <- Op2) ROM:35E1 000 lcall ROM_3108 ; Long Subroutine Call ROM:35E1 ROM:35E4 000 jc ROM_35E7 ; Jump if Carry is set ROM:35E4 ROM:35E6 000 ret ; Return from subroutine ROM:35E6 ROM:35E7 ; --------------------------------------------------------------------------- ROM:35E7 ROM:35E7 ROM_35E7: ; CODE XREF: ROM_35CA+1Aj ROM:35E7 000 lcall ROM_30FF ; Long Subroutine Call ROM:35E7 ROM:35EA 000 jc ROM_35ED ; Jump if Carry is set ROM:35EA ROM:35EC 000 ret ; Return from subroutine ROM:35EC ROM:35ED ; --------------------------------------------------------------------------- ROM:35ED ROM:35ED ROM_35ED: ; CODE XREF: ROM_35CA+20j ROM:35ED 000 mov DPTR, #644h ; Move (Op1 <- Op2) ROM:35F0 000 movx A, @DPTR ; Move from/to external RAM ROM:35F1 000 mov R7, A ; Move (Op1 <- Op2) ROM:35F2 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:35F4 000 mov R5, #64h ; 'd' ; Move (Op1 <- Op2) ROM:35F6 000 lcall ROM_3108 ; Long Subroutine Call ROM:35F6 ROM:35F9 000 jc ROM_35FC ; Jump if Carry is set ROM:35F9 ROM:35FB 000 ret ; Return from subroutine ROM:35FB ROM:35FC ; --------------------------------------------------------------------------- ROM:35FC ROM:35FC ROM_35FC: ; CODE XREF: ROM_35CA+2Fj ROM:35FC 000 lcall ROM_30FF ; Long Subroutine Call ROM:35FC ROM:35FF 000 jc ROM_3602 ; Jump if Carry is set ROM:35FF ROM:3601 000 ret ; Return from subroutine ROM:3601 ROM:3602 ; --------------------------------------------------------------------------- ROM:3602 ROM:3602 ROM_3602: ; CODE XREF: ROM_35CA+35j ROM:3602 000 mov DPTR, #644h ; Move (Op1 <- Op2) ROM:3605 000 movx A, @DPTR ; Move from/to external RAM ROM:3606 000 mov R7, A ; Move (Op1 <- Op2) ROM:3607 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3609 000 mov R5, #50h ; 'P' ; Move (Op1 <- Op2) ROM:360B 000 lcall ROM_3108 ; Long Subroutine Call ROM:360B ROM:360E 000 jc ROM_3611 ; Jump if Carry is set ROM:360E ROM:3610 000 ret ; Return from subroutine ROM:3610 ROM:3611 ; --------------------------------------------------------------------------- ROM:3611 ROM:3611 ROM_3611: ; CODE XREF: ROM_35CA+44j ROM:3611 000 mov DPTR, #644h ; Move (Op1 <- Op2) ROM:3614 000 movx A, @DPTR ; Move from/to external RAM ROM:3615 000 mov R7, A ; Move (Op1 <- Op2) ROM:3616 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3618 000 mov R5, #0F2h ; '=' ; Move (Op1 <- Op2) ROM:361A 000 lcall ROM_3108 ; Long Subroutine Call ROM:361A ROM:361D 000 jc ROM_3620 ; Jump if Carry is set ROM:361D ROM:361F 000 ret ; Return from subroutine ROM:361F ROM:3620 ; --------------------------------------------------------------------------- ROM:3620 ROM:3620 ROM_3620: ; CODE XREF: ROM_35CA+53j ROM:3620 000 mov DPTR, #644h ; Move (Op1 <- Op2) ROM:3623 000 movx A, @DPTR ; Move from/to external RAM ROM:3624 000 mov R7, A ; Move (Op1 <- Op2) ROM:3625 000 lcall ROM_3276 ; Long Subroutine Call ROM:3625 ROM:3628 000 setb C ; Set Direct Bit ROM:3629 000 ret ; Return from subroutine ROM:3629 ROM:3629 ; End of function ROM_35CA ROM:3629 ROM:362A ROM:362A ; =============== S U B R O U T I N E ======================================= ROM:362A ROM:362A ROM:362A ROM_362A: ; CODE XREF: ROM_2B2F+278p ROM:362A 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:362D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:362E 000 movx @DPTR, A ; Move from/to external RAM ROM:362F 000 lcall ROM_2F0E ; Long Subroutine Call ROM:362F ROM:3632 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:3635 000 lcall ROM_3102 ; Long Subroutine Call ROM:3635 ROM:3638 000 jc ROM_363B ; Jump if Carry is set ROM:3638 ROM:363A 000 ret ; Return from subroutine ROM:363A ROM:363B ; --------------------------------------------------------------------------- ROM:363B ROM:363B ROM_363B: ; CODE XREF: ROM_362A+Ej ROM:363B 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:363E 000 movx A, @DPTR ; Move from/to external RAM ROM:363F 000 mov R7, A ; Move (Op1 <- Op2) ROM:3640 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3642 000 mov R5, #0C8h ; '+' ; Move (Op1 <- Op2) ROM:3644 000 lcall ROM_3108 ; Long Subroutine Call ROM:3644 ROM:3647 000 jc ROM_364A ; Jump if Carry is set ROM:3647 ROM:3649 000 ret ; Return from subroutine ROM:3649 ROM:364A ; --------------------------------------------------------------------------- ROM:364A ROM:364A ROM_364A: ; CODE XREF: ROM_362A+1Dj ROM:364A 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:364D 000 lcall ROM_3102 ; Long Subroutine Call ROM:364D ROM:3650 000 jc ROM_3653 ; Jump if Carry is set ROM:3650 ROM:3652 000 ret ; Return from subroutine ROM:3652 ROM:3653 ; --------------------------------------------------------------------------- ROM:3653 ROM:3653 ROM_3653: ; CODE XREF: ROM_362A+26j ROM:3653 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:3656 000 movx A, @DPTR ; Move from/to external RAM ROM:3657 000 mov R7, A ; Move (Op1 <- Op2) ROM:3658 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:365A 000 mov R5, #0C8h ; '+' ; Move (Op1 <- Op2) ROM:365C 000 lcall ROM_3108 ; Long Subroutine Call ROM:365C ROM:365F 000 jc ROM_3662 ; Jump if Carry is set ROM:365F ROM:3661 000 ret ; Return from subroutine ROM:3661 ROM:3662 ; --------------------------------------------------------------------------- ROM:3662 ROM:3662 ROM_3662: ; CODE XREF: ROM_362A+35j ROM:3662 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:3665 000 lcall ROM_3102 ; Long Subroutine Call ROM:3665 ROM:3668 000 jc ROM_366B ; Jump if Carry is set ROM:3668 ROM:366A 000 ret ; Return from subroutine ROM:366A ROM:366B ; --------------------------------------------------------------------------- ROM:366B ROM:366B ROM_366B: ; CODE XREF: ROM_362A+3Ej ROM:366B 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:366E 000 movx A, @DPTR ; Move from/to external RAM ROM:366F 000 mov R7, A ; Move (Op1 <- Op2) ROM:3670 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3672 000 mov R5, #50h ; 'P' ; Move (Op1 <- Op2) ROM:3674 000 lcall ROM_3108 ; Long Subroutine Call ROM:3674 ROM:3677 000 jc ROM_367A ; Jump if Carry is set ROM:3677 ROM:3679 000 ret ; Return from subroutine ROM:3679 ROM:367A ; --------------------------------------------------------------------------- ROM:367A ROM:367A ROM_367A: ; CODE XREF: ROM_362A+4Dj ROM:367A 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:367D 000 movx A, @DPTR ; Move from/to external RAM ROM:367E 000 mov R7, A ; Move (Op1 <- Op2) ROM:367F 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:3681 000 mov R5, #0F2h ; '=' ; Move (Op1 <- Op2) ROM:3683 000 lcall ROM_3108 ; Long Subroutine Call ROM:3683 ROM:3686 000 jc ROM_3689 ; Jump if Carry is set ROM:3686 ROM:3688 000 ret ; Return from subroutine ROM:3688 ROM:3689 ; --------------------------------------------------------------------------- ROM:3689 ROM:3689 ROM_3689: ; CODE XREF: ROM_362A+5Cj ROM:3689 000 mov DPTR, #645h ; Move (Op1 <- Op2) ROM:368C 000 movx A, @DPTR ; Move from/to external RAM ROM:368D 000 mov R7, A ; Move (Op1 <- Op2) ROM:368E 000 lcall ROM_3276 ; Long Subroutine Call ROM:368E ROM:3691 000 setb C ; Set Direct Bit ROM:3692 000 ret ; Return from subroutine ROM:3692 ROM:3692 ; End of function ROM_362A ROM:3692 ROM:3693 ROM:3693 ; =============== S U B R O U T I N E ======================================= ROM:3693 ROM:3693 ROM:3693 ROM_3693: ; CODE XREF: ROM_2168+5Bp ROM:3693 ; ROM_2168+68p ... ROM:3693 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:3695 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3696 000 mov R6, A ; Move (Op1 <- Op2) ROM:3697 000 swap A ; Swap nibbles of Acc ROM:3698 000 rrc A ; Rotate Acc right through Carry ROM:3699 000 rrc A ; Rotate Acc right through Carry ROM:369A 000 rrc A ; Rotate Acc right through Carry ROM:369B 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:369D 000 jnb ACC.0, ROM_36AD ; Accumulator ROM:369D ROM:36A0 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:36A1 000 jnb ACC.0, ROM_36AD ; Accumulator ROM:36A1 ROM:36A4 000 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:36A6 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:36A8 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:36AA 000 lcall ROM_3108 ; Long Subroutine Call ROM:36AA ROM:36AD ROM:36AD ROM_36AD: ; CODE XREF: ROM_3693+Aj ROM:36AD ; ROM_3693+Ej ROM:36AD 000 setb C ; Set Direct Bit ROM:36AE 000 ret ; Return from subroutine ROM:36AE ROM:36AE ; End of function ROM_3693 ROM:36AE ROM:36AE ; --------------------------------------------------------------------------- ROM:36AF db 7Dh, 0E9h, 7Fh ROM:36B2 ; --------------------------------------------------------------------------- ROM:36B2 ljmp ROM_1230 ; Long Jump ROM:36B2 ROM:36B5 ; --------------------------------------------------------------------------- ROM:36B5 addc A, #7Fh ; '' ; Add Second Operand to Acc with carry ROM:36B7 ljmp ROM_1232 ; Long Jump ROM:36B7 ROM:36BA ; --------------------------------------------------------------------------- ROM:36BA mov @R0, #90h ; 'É' ; Move (Op1 <- Op2) ROM:36BC addc A, R0 ; Add Second Operand to Acc with carry ROM:36BD add A, R3 ; Add Second Operand to Acc ROM:36BE clr A ; Clear Operand (0) ROM:36BF movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:36C0 mov R6, A ; Move (Op1 <- Op2) ROM:36C1 mov A, #1 ; Move (Op1 <- Op2) ROM:36C3 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:36C4 mov DP0L, A ; Data Pointer Low Byte ROM:36C6 mov DP0H, R6 ; Data Pointer High Byte ROM:36C8 movx A, @DPTR ; Move from/to external RAM ROM:36C9 mov DPTR, #646h ; Move (Op1 <- Op2) ROM:36CC lcall ROM_3273 ; Long Subroutine Call ROM:36CC ROM:36CF mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:36D2 clr A ; Clear Operand (0) ROM:36D3 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:36D4 mov R6, A ; Move (Op1 <- Op2) ROM:36D5 mov A, #1 ; Move (Op1 <- Op2) ROM:36D7 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:36D8 mov DP0L, A ; Data Pointer Low Byte ROM:36DA mov DP0H, R6 ; Data Pointer High Byte ROM:36DC movx A, @DPTR ; Move from/to external RAM ROM:36DD mov DPTR, #647h ; Move (Op1 <- Op2) ROM:36E0 lcall ROM_3273 ; Long Subroutine Call ROM:36E0 ROM:36E3 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:36E6 clr A ; Clear Operand (0) ROM:36E7 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:36E8 mov R6, A ; Move (Op1 <- Op2) ROM:36E9 mov A, #1 ; Move (Op1 <- Op2) ROM:36EB movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:36EC mov DP0L, A ; Data Pointer Low Byte ROM:36EE mov DP0H, R6 ; Data Pointer High Byte ROM:36F0 movx A, @DPTR ; Move from/to external RAM ROM:36F1 mov R1, A ; Move (Op1 <- Op2) ROM:36F2 mov R7, #2 ; Move (Op1 <- Op2) ROM:36F4 lcall ROM_3276 ; Long Subroutine Call ROM:36F4 ROM:36F7 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:36FA clr A ; Clear Operand (0) ROM:36FB movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:36FC mov R6, A ; Move (Op1 <- Op2) ROM:36FD mov A, #1 ; Move (Op1 <- Op2) ROM:36FF movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3700 mov DP0L, A ; Data Pointer Low Byte ROM:3702 mov DP0H, R6 ; Data Pointer High Byte ROM:3704 movx A, @DPTR ; Move from/to external RAM ROM:3705 mov R2, A ; Move (Op1 <- Op2) ROM:3706 mov R7, #2 ; Move (Op1 <- Op2) ROM:3708 lcall ROM_3276 ; Long Subroutine Call ROM:3708 ROM:370B mov DPTR, #647h ; Move (Op1 <- Op2) ROM:370E movx A, @DPTR ; Move from/to external RAM ROM:370F mov R0, #8Bh ; 'ï' ; Move (Op1 <- Op2) ROM:3711 mov @R0, A ; Move (Op1 <- Op2) ROM:3712 mov R7, RAM_1 ; Move (Op1 <- Op2) ROM:3714 mov R0, #8Dh ; 'ì' ; Move (Op1 <- Op2) ROM:3716 mov @R0, RAM_7 ; Move (Op1 <- Op2) ROM:3718 mov R7, RAM_2 ; Move (Op1 <- Op2) ROM:371A mov R0, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:371C mov @R0, RAM_7 ; Move (Op1 <- Op2) ROM:371E setb C ; Set Direct Bit ROM:371F ret ; Return from subroutine ROM:371F ROM:3720 ; --------------------------------------------------------------------------- ROM:3720 mov R5, #0FFh ; Move (Op1 <- Op2) ROM:3722 mov R7, #2 ; Move (Op1 <- Op2) ROM:3724 lcall ROM_3034 ; Long Subroutine Call ROM:3724 ROM:3727 mov R7, #2 ; Move (Op1 <- Op2) ROM:3729 lcall ROM_3276 ; Long Subroutine Call ROM:3729 ROM:372C mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:372F clr A ; Clear Operand (0) ROM:3730 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3731 mov R6, A ; Move (Op1 <- Op2) ROM:3732 mov A, #1 ; Move (Op1 <- Op2) ROM:3734 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3735 mov DP0L, A ; Data Pointer Low Byte ROM:3737 mov DP0H, R6 ; Data Pointer High Byte ROM:3739 movx A, @DPTR ; Move from/to external RAM ROM:373A mov DPTR, #648h ; Move (Op1 <- Op2) ROM:373D movx @DPTR, A ; Move from/to external RAM ROM:373E mov R7, #2 ; Move (Op1 <- Op2) ROM:3740 lcall ROM_3276 ; Long Subroutine Call ROM:3740 ROM:3743 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:3746 clr A ; Clear Operand (0) ROM:3747 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3748 mov R6, A ; Move (Op1 <- Op2) ROM:3749 mov A, #1 ; Move (Op1 <- Op2) ROM:374B movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:374C mov DP0L, A ; Data Pointer Low Byte ROM:374E mov DP0H, R6 ; Data Pointer High Byte ROM:3750 movx A, @DPTR ; Move from/to external RAM ROM:3751 mov DPTR, #649h ; Move (Op1 <- Op2) ROM:3754 movx @DPTR, A ; Move from/to external RAM ROM:3755 mov R7, #2 ; Move (Op1 <- Op2) ROM:3757 lcall ROM_3276 ; Long Subroutine Call ROM:3757 ROM:375A mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:375D clr A ; Clear Operand (0) ROM:375E movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:375F mov R6, A ; Move (Op1 <- Op2) ROM:3760 mov A, #1 ; Move (Op1 <- Op2) ROM:3762 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3763 mov DP0L, A ; Data Pointer Low Byte ROM:3765 mov DP0H, R6 ; Data Pointer High Byte ROM:3767 movx A, @DPTR ; Move from/to external RAM ROM:3768 mov DPTR, #64Ah ; Move (Op1 <- Op2) ROM:376B movx @DPTR, A ; Move from/to external RAM ROM:376C mov R7, #2 ; Move (Op1 <- Op2) ROM:376E lcall ROM_3276 ; Long Subroutine Call ROM:376E ROM:3771 mov DPTR, #382Bh ; Move (Op1 <- Op2) ROM:3774 clr A ; Clear Operand (0) ROM:3775 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3776 mov R6, A ; Move (Op1 <- Op2) ROM:3777 mov A, #1 ; Move (Op1 <- Op2) ROM:3779 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:377A mov DP0L, A ; Data Pointer Low Byte ROM:377C mov DP0H, R6 ; Data Pointer High Byte ROM:377E movx A, @DPTR ; Move from/to external RAM ROM:377F mov DPTR, #64Bh ; Move (Op1 <- Op2) ROM:3782 movx @DPTR, A ; Move from/to external RAM ROM:3783 mov R7, #2 ; Move (Op1 <- Op2) ROM:3785 lcall ROM_3276 ; Long Subroutine Call ROM:3785 ROM:3788 setb C ; Set Direct Bit ROM:3789 ret ; Return from subroutine ROM:3789 ROM:378A ROM:378A ; =============== S U B R O U T I N E ======================================= ROM:378A ROM:378A ROM:378A ROM_378A: ; CODE XREF: ROM_2631+3Fp ROM:378A ; ROM_2631+47p ROM:378A 000 mov R0, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:378C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:378D 000 mov R6, A ; Move (Op1 <- Op2) ROM:378E 000 swap A ; Swap nibbles of Acc ROM:378F 000 rrc A ; Rotate Acc right through Carry ROM:3790 000 rrc A ; Rotate Acc right through Carry ROM:3791 000 rrc A ; Rotate Acc right through Carry ROM:3792 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:3794 000 jnb ACC.0, ROM_37A4 ; Accumulator ROM:3794 ROM:3797 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3798 000 jb ACC.0, ROM_37A4 ; Accumulator ROM:3798 ROM:379B 000 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:379D 000 mov R3, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:379F 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:37A1 000 lcall ROM_3108 ; Long Subroutine Call ROM:37A1 ROM:37A4 ROM:37A4 ROM_37A4: ; CODE XREF: ROM_378A+Aj ROM:37A4 ; ROM_378A+Ej ROM:37A4 000 setb C ; Set Direct Bit ROM:37A5 000 ret ; Return from subroutine ROM:37A5 ROM:37A5 ; End of function ROM_378A ROM:37A5 ROM:37A6 ; --------------------------------------------------------------------------- ROM:37A6 lcall ROM_37E5 ; Long Subroutine Call ROM:37A6 ROM:37A9 mov DPTR, #8Fh ; 'Å' ; Move (Op1 <- Op2) ROM:37AC mov A, #1 ; Move (Op1 <- Op2) ROM:37AE movx @DPTR, A ; Move from/to external RAM ROM:37AF mov DPTR, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:37B2 movx @DPTR, A ; Move from/to external RAM ROM:37B3 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:37B6 movx @DPTR, A ; Move from/to external RAM ROM:37B7 clr A ; Clear Operand (0) ROM:37B8 mov R0, #9Bh ; '¢' ; Move (Op1 <- Op2) ROM:37BA mov @R0, A ; Move (Op1 <- Op2) ROM:37BB mov R0, #9Ch ; '£' ; Move (Op1 <- Op2) ROM:37BD mov @R0, A ; Move (Op1 <- Op2) ROM:37BE mov R0, #9Dh ; '¥' ; Move (Op1 <- Op2) ROM:37C0 mov @R0, A ; Move (Op1 <- Op2) ROM:37C1 ret ; Return from subroutine ROM:37C1 ROM:37C2 ; --------------------------------------------------------------------------- ROM:37C2 mov DPTR, #8Fh ; 'Å' ; Move (Op1 <- Op2) ROM:37C5 movx A, @DPTR ; Move from/to external RAM ROM:37C6 jnz ROM_37CA ; Jump if Acc is not zero ROM:37C6 ROM:37C8 inc A ; Increment Operand ROM:37C9 movx @DPTR, A ; Move from/to external RAM ROM:37C9 ROM:37CA ROM:37CA ROM_37CA: ; CODE XREF: ROM:37C6j ROM:37CA mov DPTR, #9Fh ; 'ƒ' ; Move (Op1 <- Op2) ROM:37CD movx A, @DPTR ; Move from/to external RAM ROM:37CE jnz ROM_37D2 ; Jump if Acc is not zero ROM:37CE ROM:37D0 inc A ; Increment Operand ROM:37D1 movx @DPTR, A ; Move from/to external RAM ROM:37D1 ROM:37D2 ROM:37D2 ROM_37D2: ; CODE XREF: ROM:37CEj ROM:37D2 mov DPTR, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:37D5 movx A, @DPTR ; Move from/to external RAM ROM:37D6 jnz ROM_37DA ; Jump if Acc is not zero ROM:37D6 ROM:37D8 inc A ; Increment Operand ROM:37D9 movx @DPTR, A ; Move from/to external RAM ROM:37D9 ROM:37DA ROM:37DA ROM_37DA: ; CODE XREF: ROM:37D6j ROM:37DA clr A ; Clear Operand (0) ROM:37DB mov R0, #9Bh ; '¢' ; Move (Op1 <- Op2) ROM:37DD mov @R0, A ; Move (Op1 <- Op2) ROM:37DE mov R0, #9Ch ; '£' ; Move (Op1 <- Op2) ROM:37E0 mov @R0, A ; Move (Op1 <- Op2) ROM:37E1 mov R0, #9Dh ; '¥' ; Move (Op1 <- Op2) ROM:37E3 mov @R0, A ; Move (Op1 <- Op2) ROM:37E4 ret ; Return from subroutine ROM:37E4 ROM:37E5 ROM:37E5 ; =============== S U B R O U T I N E ======================================= ROM:37E5 ROM:37E5 ROM:37E5 ROM_37E5: ; CODE XREF: ROM:37A6p ROM:37E5 ; ROM_7151:ROM_71FEp ROM:37E5 000 mov DPTR, #163Ch ; Move (Op1 <- Op2) ROM:37E8 000 mov A, #4 ; Move (Op1 <- Op2) ROM:37EA 000 movx @DPTR, A ; Move from/to external RAM ROM:37EB 000 inc DPTR ; Increment Operand ROM:37EC 000 movx @DPTR, A ; Move from/to external RAM ROM:37ED 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:37EF 000 lcall ROM_2F7B ; Long Subroutine Call ROM:37EF ROM:37F2 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:37F4 000 ljmp ROM_2FFA ; Long Jump ROM:37F4 ROM:37F4 ; End of function ROM_37E5 ROM:37F4 ROM:37F7 ROM:37F7 ; =============== S U B R O U T I N E ======================================= ROM:37F7 ROM:37F7 ROM:37F7 send_to_GPIO_F_4: ; CODE XREF: j_send_to_GPIO_F_4j ROM:37F7 ; ROM_7578+8p ROM:37F7 000 mov DPTR, #163Ch ; Move (Op1 <- Op2) ROM:37FA 000 mov A, #42h ; 'B' ; Move (Op1 <- Op2) ROM:37FC 000 movx @DPTR, A ; Move from/to external RAM ROM:37FD 000 inc DPTR ; Increment Operand ROM:37FE 000 movx @DPTR, A ; Move from/to external RAM ROM:37FF 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:3802 000 movx A, @DPTR ; Move from/to external RAM ROM:3803 000 anl A, #11101111b ; Logical AND (op1 &= op2) ROM:3805 000 movx @DPTR, A ; Move from/to external RAM ROM:3805 ROM:3805 ; End of function send_to_GPIO_F_4 ROM:3805 ROM:3806 ROM:3806 ; =============== S U B R O U T I N E ======================================= ROM:3806 ROM:3806 ROM:3806 ROM_3806: ; CODE XREF: ROM:ROM_3817p ROM:3806 ; ROM:3822p ... ROM:3806 000 movx A, @DPTR ; Move from/to external RAM ROM:3807 000 anl A, #11011111b ; Logical AND (op1 &= op2) ROM:3809 000 movx @DPTR, A ; Move from/to external RAM ROM:380A 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:380C 000 ljmp ROM_2F7B ; Long Jump ROM:380C ROM:380C ; End of function ROM_3806 ROM:380C ROM:380F ; --------------------------------------------------------------------------- ROM:380F dec @R1 ; Decrement Operand ROM:3810 nop ; No operation ROM:3811 dec @R1 ; Decrement Operand ROM:3812 inc A ; Increment Operand ROM:3813 dec @R1 ; Decrement Operand ROM:3814 inc R0 ; Increment Operand ROM:3815 dec @R1 ; Decrement Operand ROM:3816 inc R4 ; Increment Operand ROM:3816 ROM:3817 ROM:3817 ROM_3817: ; CODE XREF: ROM:381Bj ROM:3817 acall ROM_3806 ; Absolute Call ROM:3817 ROM:3819 inc A ; Increment Operand ROM:381A dec @R1 ; Decrement Operand ROM:381B ajmp ROM_3817 ; Absolute Jump ROM:381B ROM:381D ; --------------------------------------------------------------------------- ROM:381D inc RAM_17 ; Increment Operand ROM:381F inc R1 ; Increment Operand ROM:3820 dec @R1 ; Decrement Operand ROM:3821 inc R5 ; Increment Operand ROM:3822 acall ROM_3806 ; Absolute Call ROM:3822 ROM:3824 rr A ; Rotate Acc right ROM:3825 dec @R1 ; Decrement Operand ROM:3826 ljmp ROM_1706 ; Long Jump ROM:3826 ROM:3829 ; --------------------------------------------------------------------------- ROM:3829 dec @R1 ; Decrement Operand ROM:382A inc R2 ; Increment Operand ROM:382B dec @R1 ; Decrement Operand ROM:382C inc R6 ; Increment Operand ROM:382D acall ROM_3806 ; Absolute Call ROM:382D ROM:382F ROM:382F ROM_382F: ; CODE XREF: ROM_3EA7+15p ROM:382F ljmp ROM_B7DD+2CB3h ; BAD INSTRUCTION! JUMP TO ZERO PLACE ROM:382F ROM:3832 ; --------------------------------------------------------------------------- ROM:3832 inc @R0 ; Increment Operand ROM:3833 orl A, R4 ; Logical OR (op1 |= op2) ROM:3834 movx @DPTR, A ; Move from/to external RAM ROM:3835 mov A, RAM_42 ; Move (Op1 <- Op2) ROM:3837 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:3839 mov RAM_42, A ; Move (Op1 <- Op2) ROM:383B anl A, #0DFh ; Logical AND (op1 &= op2) ROM:383D mov RAM_42, A ; Move (Op1 <- Op2) ROM:383F anl A, #0BFh ; Logical AND (op1 &= op2) ROM:3841 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3843 mov A, RAM_4A ; Move (Op1 <- Op2) ROM:3845 jz ROM_385D ; Jump if Acc is zero ROM:3845 ROM:3847 mov R0, #5Ah ; 'Z' ; Move (Op1 <- Op2) ROM:3849 mov R4, #6 ; Move (Op1 <- Op2) ROM:384B mov R5, #1 ; Move (Op1 <- Op2) ROM:384D mov R3, #0 ; Move (Op1 <- Op2) ROM:384F mov R2, #0 ; Move (Op1 <- Op2) ROM:3851 mov R1, #4Ah ; 'J' ; Move (Op1 <- Op2) ROM:3853 mov R6, #0 ; Move (Op1 <- Op2) ROM:3855 mov R7, #1 ; Move (Op1 <- Op2) ROM:3857 lcall ROM_B7B7 ; Long Subroutine Call ROM:3857 ROM:385A lcall ROM_3C76 ; Long Subroutine Call ROM:385A ROM:385D ROM:385D ROM_385D: ; CODE XREF: ROM:3845j ROM:385D mov A, RAM_48 ; Move (Op1 <- Op2) ROM:385F jz ROM_3870 ; Jump if Acc is zero ROM:385F ROM:3861 mov A, RAM_42 ; Move (Op1 <- Op2) ROM:3863 orl A, #10h ; Logical OR (op1 |= op2) ROM:3865 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3867 lcall ROM_3B54 ; Long Subroutine Call ROM:3867 ROM:386A mov DPTR, #64Ch ; Move (Op1 <- Op2) ROM:386D mov A, #1 ; Move (Op1 <- Op2) ROM:386F movx @DPTR, A ; Move from/to external RAM ROM:386F ROM:3870 ROM:3870 ROM_3870: ; CODE XREF: ROM:385Fj ROM:3870 mov DPTR, #64Ch ; Move (Op1 <- Op2) ROM:3873 movx A, @DPTR ; Move from/to external RAM ROM:3874 jz ROM_3879 ; Jump if Acc is zero ROM:3874 ROM:3876 ljmp ROM_3913 ; Long Jump ROM:3876 ROM:3879 ; --------------------------------------------------------------------------- ROM:3879 ROM:3879 ROM_3879: ; CODE XREF: ROM:3874j ROM:3879 inc DPTR ; Increment Operand ROM:387A movx @DPTR, A ; Move from/to external RAM ROM:387A ROM:387B ROM:387B ROM_387B: ; CODE XREF: ROM:38C8j ROM:387B mov DPTR, #64Dh ; Move (Op1 <- Op2) ROM:387E movx A, @DPTR ; Move from/to external RAM ROM:387F mov R7, A ; Move (Op1 <- Op2) ROM:3880 clr C ; Clear Operand (0) ROM:3881 subb A, #10h ; Subtract Second Operand from Acc with Borrow ROM:3883 jnc ROM_38CA ; Jump if Carry is clear ROM:3883 ROM:3885 lcall ROM_392E ; Long Subroutine Call ROM:3885 ROM:3888 mov DPTR, #KEYBOARD_KSI ; Keyboard Scan In [7:0] ROM:388B movx A, @DPTR ; Move from/to external RAM ROM:388C mov DPTR, #64Eh ; Move (Op1 <- Op2) ROM:388F movx @DPTR, A ; Move from/to external RAM ROM:3890 mov DPTR, #64Dh ; Move (Op1 <- Op2) ROM:3893 movx A, @DPTR ; Move from/to external RAM ROM:3894 mov R5, A ; Move (Op1 <- Op2) ROM:3895 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:3897 mov R0, A ; Move (Op1 <- Op2) ROM:3898 mov A, @R0 ; Move (Op1 <- Op2) ROM:3899 mov R7, A ; Move (Op1 <- Op2) ROM:389A inc DPTR ; Increment Operand ROM:389B movx A, @DPTR ; Move from/to external RAM ROM:389C cpl A ; Complement Operand ROM:389D xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:389E movx @DPTR, A ; Move from/to external RAM ROM:389F movx A, @DPTR ; Move from/to external RAM ROM:38A0 mov R7, A ; Move (Op1 <- Op2) ROM:38A1 jz ROM_38A6 ; Jump if Acc is zero ROM:38A1 ROM:38A3 lcall ROM_396E ; Long Subroutine Call ROM:38A3 ROM:38A6 ROM:38A6 ROM_38A6: ; CODE XREF: ROM:38A1j ROM:38A6 mov DPTR, #64Dh ; Move (Op1 <- Op2) ROM:38A9 movx A, @DPTR ; Move from/to external RAM ROM:38AA add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:38AC mov R0, A ; Move (Op1 <- Op2) ROM:38AD mov A, @R0 ; Move (Op1 <- Op2) ROM:38AE jz ROM_38B6 ; Jump if Acc is zero ROM:38AE ROM:38B0 mov A, RAM_42 ; Move (Op1 <- Op2) ROM:38B2 orl A, #40h ; Logical OR (op1 |= op2) ROM:38B4 mov RAM_42, A ; Move (Op1 <- Op2) ROM:38B4 ROM:38B6 ROM:38B6 ROM_38B6: ; CODE XREF: ROM:38AEj ROM:38B6 mov DPTR, #KEYBOARD_KSOL ; Keyboard Scan Out [7:0] ROM:38B9 mov A, #0FFh ; Move (Op1 <- Op2) ROM:38BB movx @DPTR, A ; Move from/to external RAM ROM:38BC inc DPTR ; Increment Operand ROM:38BD movx @DPTR, A ; Move from/to external RAM ROM:38BE mov DPTR, #KEYBOARD_KSOH2 ; Keyboard Scan Out [17:16] ROM:38C1 movx @DPTR, A ; Move from/to external RAM ROM:38C2 mov DPTR, #64Dh ; Move (Op1 <- Op2) ROM:38C5 movx A, @DPTR ; Move from/to external RAM ROM:38C6 inc A ; Increment Operand ROM:38C7 movx @DPTR, A ; Move from/to external RAM ROM:38C8 sjmp ROM_387B ; Short jump ROM:38C8 ROM:38CA ; --------------------------------------------------------------------------- ROM:38CA ROM:38CA ROM_38CA: ; CODE XREF: ROM:3883j ROM:38CA mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:38CC mov A, R7 ; Move (Op1 <- Op2) ROM:38CD rrc A ; Rotate Acc right through Carry ROM:38CE rrc A ; Rotate Acc right through Carry ROM:38CF rrc A ; Rotate Acc right through Carry ROM:38D0 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:38D2 jnb ACC.0, ROM_3913 ; Accumulator ROM:38D2 ROM:38D5 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:38D7 mov A, R7 ; Move (Op1 <- Op2) ROM:38D8 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:38DA mov RAM_46, A ; Move (Op1 <- Op2) ROM:38DC mov A, RAM_46 ; Move (Op1 <- Op2) ROM:38DE anl A, #7 ; Logical AND (op1 &= op2) ROM:38E0 mov DPTR, #64Eh ; Move (Op1 <- Op2) ROM:38E3 movx @DPTR, A ; Move from/to external RAM ROM:38E4 movx A, @DPTR ; Move from/to external RAM ROM:38E5 jnz ROM_3909 ; Jump if Acc is not zero ROM:38E5 ROM:38E7 mov R7, RAM_48 ; Move (Op1 <- Op2) ROM:38E9 mov A, R7 ; Move (Op1 <- Op2) ROM:38EA anl A, #7 ; Logical AND (op1 &= op2) ROM:38EC mov R7, A ; Move (Op1 <- Op2) ROM:38ED mov A, #1 ; Move (Op1 <- Op2) ROM:38EF mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:38F1 inc R0 ; Increment Operand ROM:38F2 sjmp ROM_38F6 ; Short jump ROM:38F2 ROM:38F4 ; --------------------------------------------------------------------------- ROM:38F4 ROM:38F4 ROM_38F4: ; CODE XREF: ROM:ROM_38F6j ROM:38F4 clr C ; Clear Operand (0) ROM:38F5 rlc A ; Rotate Acc left through Carry ROM:38F5 ROM:38F6 ROM:38F6 ROM_38F6: ; CODE XREF: ROM:38F2j ROM:38F6 djnz R0, ROM_38F4 ; Decrement Operand and JNZ ROM:38F6 ROM:38F8 mov DPTR, #64Eh ; Move (Op1 <- Op2) ROM:38FB movx @DPTR, A ; Move from/to external RAM ROM:38FC movx A, @DPTR ; Move from/to external RAM ROM:38FD mov R7, A ; Move (Op1 <- Op2) ROM:38FE mov DPTR, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:3901 movx A, @DPTR ; Move from/to external RAM ROM:3902 mov R6, A ; Move (Op1 <- Op2) ROM:3903 mov A, R7 ; Move (Op1 <- Op2) ROM:3904 anl A, R6 ; Logical AND (op1 &= op2) ROM:3905 mov DPTR, #64Eh ; Move (Op1 <- Op2) ROM:3908 movx @DPTR, A ; Move from/to external RAM ROM:3908 ROM:3909 ROM:3909 ROM_3909: ; CODE XREF: ROM:38E5j ROM:3909 mov DPTR, #64Eh ; Move (Op1 <- Op2) ROM:390C movx A, @DPTR ; Move from/to external RAM ROM:390D jnz ROM_3913 ; Jump if Acc is not zero ROM:390D ROM:390F mov RAM_48, A ; Move (Op1 <- Op2) ROM:3911 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3911 ROM:3913 ROM:3913 ROM_3913: ; CODE XREF: ROM:3876j ROM:3913 ; ROM:38D2j ... ROM:3913 mov R7, RAM_42 ; Move (Op1 <- Op2) ROM:3915 mov A, R7 ; Move (Op1 <- Op2) ROM:3916 swap A ; Swap nibbles of Acc ROM:3917 rrc A ; Rotate Acc right through Carry ROM:3918 anl A, #1 ; Logical AND (op1 &= op2) ROM:391A mov R7, A ; Move (Op1 <- Op2) ROM:391B mov R6, RAM_42 ; Move (Op1 <- Op2) ROM:391D mov A, R6 ; Move (Op1 <- Op2) ROM:391E swap A ; Swap nibbles of Acc ROM:391F anl A, #1 ; Logical AND (op1 &= op2) ROM:3921 add A, R7 ; Add Second Operand to Acc ROM:3922 mov R7, A ; Move (Op1 <- Op2) ROM:3923 mov R6, RAM_42 ; Move (Op1 <- Op2) ROM:3925 mov A, R6 ; Move (Op1 <- Op2) ROM:3926 swap A ; Swap nibbles of Acc ROM:3927 rrc A ; Rotate Acc right through Carry ROM:3928 rrc A ; Rotate Acc right through Carry ROM:3929 anl A, #1 ; Logical AND (op1 &= op2) ROM:392B add A, R7 ; Add Second Operand to Acc ROM:392C mov R7, A ; Move (Op1 <- Op2) ROM:392D ret ; Return from subroutine ROM:392D ROM:392E ROM:392E ; =============== S U B R O U T I N E ======================================= ROM:392E ROM:392E ROM:392E ROM_392E: ; CODE XREF: ROM:3885p ROM:392E ; ROM_3B54+13p ROM:392E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:392F 000 clr C ; Clear Operand (0) ROM:3930 000 subb A, #8 ; Subtract Second Operand from Acc with Borrow ROM:3932 000 jnc ROM_394D ; Jump if Carry is clear ROM:3932 ROM:3934 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3936 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:3938 000 inc R0 ; Increment Operand ROM:3939 000 sjmp ROM_393D ; Short jump ROM:3939 ROM:393B ; --------------------------------------------------------------------------- ROM:393B ROM:393B ROM_393B: ; CODE XREF: ROM_392E:ROM_393Dj ROM:393B 000 clr C ; Clear Operand (0) ROM:393C 000 rlc A ; Rotate Acc left through Carry ROM:393C ROM:393D ROM:393D ROM_393D: ; CODE XREF: ROM_392E+Bj ROM:393D 000 djnz R0, ROM_393B ; Decrement Operand and JNZ ROM:393D ROM:393F 000 cpl A ; Complement Operand ROM:3940 000 mov DPTR, #KEYBOARD_KSOL ; Keyboard Scan Out [7:0] ROM:3943 000 movx @DPTR, A ; Move from/to external RAM ROM:3944 000 inc DPTR ; Increment Operand ROM:3945 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:3947 000 movx @DPTR, A ; Move from/to external RAM ROM:3948 000 mov DPTR, #KEYBOARD_KSOH2 ; Keyboard Scan Out [17:16] ROM:394B 000 movx @DPTR, A ; Move from/to external RAM ROM:394C 000 ret ; Return from subroutine ROM:394C ROM:394D ; --------------------------------------------------------------------------- ROM:394D ROM:394D ROM_394D: ; CODE XREF: ROM_392E+4j ROM:394D 000 mov DPTR, #KEYBOARD_KSOL ; Keyboard Scan Out [7:0] ROM:3950 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:3952 000 movx @DPTR, A ; Move from/to external RAM ROM:3953 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3954 000 add A, #0F8h ; '°' ; Add Second Operand to Acc ROM:3956 000 mov R7, A ; Move (Op1 <- Op2) ROM:3957 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3959 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:395B 000 inc R0 ; Increment Operand ROM:395C 000 sjmp ROM_3960 ; Short jump ROM:395C ROM:395E ; --------------------------------------------------------------------------- ROM:395E ROM:395E ROM_395E: ; CODE XREF: ROM_392E:ROM_3960j ROM:395E 000 clr C ; Clear Operand (0) ROM:395F 000 rlc A ; Rotate Acc left through Carry ROM:395F ROM:3960 ROM:3960 ROM_3960: ; CODE XREF: ROM_392E+2Ej ROM:3960 000 djnz R0, ROM_395E ; Decrement Operand and JNZ ROM:3960 ROM:3962 000 cpl A ; Complement Operand ROM:3963 000 mov DPTR, #KEYBOARD_KSOH1 ; Keyboard Scan Out [15:8] ROM:3966 000 movx @DPTR, A ; Move from/to external RAM ROM:3967 000 mov DPTR, #KEYBOARD_KSOH2 ; Keyboard Scan Out [17:16] ROM:396A 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:396C 000 movx @DPTR, A ; Move from/to external RAM ROM:396D 000 ret ; Return from subroutine ROM:396D ROM:396D ; End of function ROM_392E ROM:396D ROM:396E ROM:396E ; =============== S U B R O U T I N E ======================================= ROM:396E ROM:396E ROM:396E ROM_396E: ; CODE XREF: ROM:38A3p ROM:396E 000 mov DPTR, #64Fh ; Move (Op1 <- Op2) ROM:3971 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3972 000 movx @DPTR, A ; Move from/to external RAM ROM:3973 000 inc DPTR ; Increment Operand ROM:3974 000 mov A, R5 ; Move (Op1 <- Op2) ROM:3975 000 movx @DPTR, A ; Move from/to external RAM ROM:3976 000 clr A ; Clear Operand (0) ROM:3977 000 inc DPTR ; Increment Operand ROM:3978 000 movx @DPTR, A ; Move from/to external RAM ROM:3979 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:397B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:397C 000 rrc A ; Rotate Acc right through Carry ROM:397D 000 rrc A ; Rotate Acc right through Carry ROM:397E 000 rrc A ; Rotate Acc right through Carry ROM:397F 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:3981 000 jnb ACC.0, ROM_3986 ; Accumulator ROM:3981 ROM:3984 000 sjmp ROM_39A8 ; Short jump ROM:3984 ROM:3986 ; --------------------------------------------------------------------------- ROM:3986 ROM:3986 ROM_3986: ; CODE XREF: ROM_396E+13j ROM:3986 000 mov DPTR, #650h ; Move (Op1 <- Op2) ROM:3989 000 movx A, @DPTR ; Move from/to external RAM ROM:398A 000 mov R5, A ; Move (Op1 <- Op2) ROM:398B 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:398D 000 mov R0, A ; Move (Op1 <- Op2) ROM:398E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:398F 000 cpl A ; Complement Operand ROM:3990 000 mov R7, A ; Move (Op1 <- Op2) ROM:3991 000 mov DPTR, #64Fh ; Move (Op1 <- Op2) ROM:3994 000 movx A, @DPTR ; Move from/to external RAM ROM:3995 000 anl A, R7 ; Logical AND (op1 &= op2) ROM:3996 000 mov R7, A ; Move (Op1 <- Op2) ROM:3997 000 jnz ROM_399F ; Jump if Acc is not zero ROM:3997 ROM:3999 000 mov DPTR, #651h ; Move (Op1 <- Op2) ROM:399C 000 movx @DPTR, A ; Move from/to external RAM ROM:399D 000 sjmp ROM_39AB ; Short jump ROM:399D ROM:399F ; --------------------------------------------------------------------------- ROM:399F ROM:399F ROM_399F: ; CODE XREF: ROM_396E+29j ROM:399F 000 lcall ROM_3AB3 ; Long Subroutine Call ROM:399F ROM:39A2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:39A3 000 jz ROM_39AB ; Jump if Acc is zero ROM:39A3 ROM:39A5 000 mov DPTR, #651h ; Move (Op1 <- Op2) ROM:39A5 ROM:39A8 ROM:39A8 ROM_39A8: ; CODE XREF: ROM_396E+16j ROM:39A8 000 mov A, #1 ; Move (Op1 <- Op2) ROM:39AA 000 movx @DPTR, A ; Move from/to external RAM ROM:39AA ROM:39AB ROM:39AB ROM_39AB: ; CODE XREF: ROM_396E+2Fj ROM:39AB ; ROM_396E+35j ROM:39AB 000 mov DPTR, #651h ; Move (Op1 <- Op2) ROM:39AE 000 movx A, @DPTR ; Move from/to external RAM ROM:39AF 000 jz ROM_39D0 ; Jump if Acc is zero ROM:39AF ROM:39B1 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:39B3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:39B4 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:39B6 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:39B8 000 mov DPTR, #64Fh ; Move (Op1 <- Op2) ROM:39BB 000 movx A, @DPTR ; Move from/to external RAM ROM:39BC 000 mov R7, A ; Move (Op1 <- Op2) ROM:39BD 000 inc DPTR ; Increment Operand ROM:39BE 000 movx A, @DPTR ; Move from/to external RAM ROM:39BF 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:39C1 000 mov R0, A ; Move (Op1 <- Op2) ROM:39C2 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:39C3 000 mov R6, A ; Move (Op1 <- Op2) ROM:39C4 000 mov DPTR, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:39C7 000 movx A, @DPTR ; Move from/to external RAM ROM:39C8 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:39C9 000 mov R6, A ; Move (Op1 <- Op2) ROM:39CA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:39CB 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:39CC 000 mov DPTR, #64Fh ; Move (Op1 <- Op2) ROM:39CF 000 movx @DPTR, A ; Move from/to external RAM ROM:39CF ROM:39D0 ROM:39D0 ROM_39D0: ; CODE XREF: ROM_396E+41j ROM:39D0 000 clr A ; Clear Operand (0) ROM:39D1 000 mov DPTR, #652h ; Move (Op1 <- Op2) ROM:39D4 000 movx @DPTR, A ; Move from/to external RAM ROM:39D4 ROM:39D5 ROM:39D5 ROM_39D5: ; CODE XREF: ROM_396E+8Aj ROM:39D5 000 mov DPTR, #64Fh ; Move (Op1 <- Op2) ROM:39D8 000 movx A, @DPTR ; Move from/to external RAM ROM:39D9 000 jz ROM_39FA ; Jump if Acc is zero ROM:39D9 ROM:39DB 000 jnb ACC.0, ROM_39EB ; Accumulator ROM:39DB ROM:39DE 000 mov DPTR, #652h ; Move (Op1 <- Op2) ROM:39E1 000 movx A, @DPTR ; Move from/to external RAM ROM:39E2 000 mov R7, A ; Move (Op1 <- Op2) ROM:39E3 000 mov DPTR, #650h ; Move (Op1 <- Op2) ROM:39E6 000 movx A, @DPTR ; Move from/to external RAM ROM:39E7 000 mov R5, A ; Move (Op1 <- Op2) ROM:39E8 000 lcall ROM_39FB ; Long Subroutine Call ROM:39E8 ROM:39EB ROM:39EB ROM_39EB: ; CODE XREF: ROM_396E+6Dj ROM:39EB 000 mov DPTR, #652h ; Move (Op1 <- Op2) ROM:39EE 000 movx A, @DPTR ; Move from/to external RAM ROM:39EF 000 inc A ; Increment Operand ROM:39F0 000 movx @DPTR, A ; Move from/to external RAM ROM:39F1 000 mov DPTR, #64Fh ; Move (Op1 <- Op2) ROM:39F4 000 movx A, @DPTR ; Move from/to external RAM ROM:39F5 000 clr C ; Clear Operand (0) ROM:39F6 000 rrc A ; Rotate Acc right through Carry ROM:39F7 000 movx @DPTR, A ; Move from/to external RAM ROM:39F8 000 sjmp ROM_39D5 ; Short jump ROM:39F8 ROM:39FA ; --------------------------------------------------------------------------- ROM:39FA ROM:39FA ROM_39FA: ; CODE XREF: ROM_396E+6Bj ROM:39FA 000 ret ; Return from subroutine ROM:39FA ROM:39FA ; End of function ROM_396E ROM:39FA ROM:39FB ROM:39FB ; =============== S U B R O U T I N E ======================================= ROM:39FB ROM:39FB ROM:39FB ROM_39FB: ; CODE XREF: ROM_396E+7Ap ROM:39FB 000 mov DPTR, #653h ; Move (Op1 <- Op2) ROM:39FE 000 mov A, R7 ; Move (Op1 <- Op2) ROM:39FF 000 movx @DPTR, A ; Move from/to external RAM ROM:3A00 000 inc DPTR ; Increment Operand ROM:3A01 000 mov A, R5 ; Move (Op1 <- Op2) ROM:3A02 000 movx @DPTR, A ; Move from/to external RAM ROM:3A03 000 movx A, @DPTR ; Move from/to external RAM ROM:3A04 000 mov R5, A ; Move (Op1 <- Op2) ROM:3A05 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:3A07 000 mov R0, A ; Move (Op1 <- Op2) ROM:3A08 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3A09 000 mov R3, A ; Move (Op1 <- Op2) ROM:3A0A 000 mov R2, #0 ; Move (Op1 <- Op2) ROM:3A0C 000 mov DPTR, #653h ; Move (Op1 <- Op2) ROM:3A0F 000 movx A, @DPTR ; Move from/to external RAM ROM:3A10 000 mov R4, A ; Move (Op1 <- Op2) ROM:3A11 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3A13 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:3A15 000 mov R0, RAM_4 ; Move (Op1 <- Op2) ROM:3A17 000 inc R0 ; Increment Operand ROM:3A18 000 sjmp ROM_3A1F ; Short jump ROM:3A18 ROM:3A1A ; --------------------------------------------------------------------------- ROM:3A1A ROM:3A1A ROM_3A1A: ; CODE XREF: ROM_39FB:ROM_3A1Fj ROM:3A1A 000 clr C ; Clear Operand (0) ROM:3A1B 000 rlc A ; Rotate Acc left through Carry ROM:3A1C 000 xch A, R6 ; Exchange Operands ROM:3A1D 000 rlc A ; Rotate Acc left through Carry ROM:3A1E 000 xch A, R6 ; Exchange Operands ROM:3A1E ROM:3A1F ROM:3A1F ROM_3A1F: ; CODE XREF: ROM_39FB+1Dj ROM:3A1F 000 djnz R0, ROM_3A1A ; Decrement Operand and JNZ ROM:3A1F ROM:3A21 000 mov R7, A ; Move (Op1 <- Op2) ROM:3A22 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3A23 000 anl A, R2 ; Logical AND (op1 &= op2) ROM:3A24 000 mov R6, A ; Move (Op1 <- Op2) ROM:3A25 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A26 000 anl A, R3 ; Logical AND (op1 &= op2) ROM:3A27 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:3A28 000 jz ROM_3A3F ; Jump if Acc is zero ROM:3A28 ROM:3A2A 000 mov R7, RAM_42 ; Move (Op1 <- Op2) ROM:3A2C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A2D 000 swap A ; Swap nibbles of Acc ROM:3A2E 000 rrc A ; Rotate Acc right through Carry ROM:3A2F 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3A31 000 jb ACC.0, ROM_3A5A ; Accumulator ROM:3A31 ROM:3A34 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A35 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:3A37 000 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3A39 000 mov R7, RAM_4 ; Move (Op1 <- Op2) ROM:3A3B 000 mov R3, #1 ; Move (Op1 <- Op2) ROM:3A3D 000 sjmp ROM_3A57 ; Short jump ROM:3A3D ROM:3A3F ; --------------------------------------------------------------------------- ROM:3A3F ROM:3A3F ROM_3A3F: ; CODE XREF: ROM_39FB+2Dj ROM:3A3F 000 mov R7, RAM_42 ; Move (Op1 <- Op2) ROM:3A41 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A42 000 swap A ; Swap nibbles of Acc ROM:3A43 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3A45 000 jb ACC.0, ROM_3A5A ; Accumulator ROM:3A45 ROM:3A48 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A49 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:3A4B 000 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3A4D 000 mov DPTR, #653h ; Move (Op1 <- Op2) ROM:3A50 000 movx A, @DPTR ; Move from/to external RAM ROM:3A51 000 mov R7, A ; Move (Op1 <- Op2) ROM:3A52 000 inc DPTR ; Increment Operand ROM:3A53 000 movx A, @DPTR ; Move from/to external RAM ROM:3A54 000 mov R5, A ; Move (Op1 <- Op2) ROM:3A55 000 clr A ; Clear Operand (0) ROM:3A56 000 mov R3, A ; Move (Op1 <- Op2) ROM:3A56 ROM:3A57 ROM:3A57 ROM_3A57: ; CODE XREF: ROM_39FB+42j ROM:3A57 000 lcall ROM_3A5B ; Long Subroutine Call ROM:3A57 ROM:3A5A ROM:3A5A ROM_3A5A: ; CODE XREF: ROM_39FB+36j ROM:3A5A ; ROM_39FB+4Aj ROM:3A5A 000 ret ; Return from subroutine ROM:3A5A ROM:3A5A ; End of function ROM_39FB ROM:3A5A ROM:3A5B ROM:3A5B ; =============== S U B R O U T I N E ======================================= ROM:3A5B ROM:3A5B ROM:3A5B ROM_3A5B: ; CODE XREF: ROM_39FB:ROM_3A57p ROM:3A5B 000 mov A, R5 ; Move (Op1 <- Op2) ROM:3A5C 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3A5E 000 swap A ; Swap nibbles of Acc ROM:3A5F 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3A61 000 mov R6, A ; Move (Op1 <- Op2) ROM:3A62 000 mov R5, RAM_48 ; Move (Op1 <- Op2) ROM:3A64 000 mov A, R5 ; Move (Op1 <- Op2) ROM:3A65 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3A67 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:3A68 000 mov RAM_48, A ; Move (Op1 <- Op2) ROM:3A6A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A6B 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3A6D 000 mov R7, A ; Move (Op1 <- Op2) ROM:3A6E 000 mov R6, RAM_48 ; Move (Op1 <- Op2) ROM:3A70 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3A71 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:3A73 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3A74 000 mov RAM_48, A ; Move (Op1 <- Op2) ROM:3A76 000 mov R7, RAM_48 ; Move (Op1 <- Op2) ROM:3A78 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A79 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:3A7B 000 mov RAM_48, A ; Move (Op1 <- Op2) ROM:3A7D 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3A7F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A80 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:3A82 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3A84 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3A86 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A87 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:3A89 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3A8B 000 mov A, R3 ; Move (Op1 <- Op2) ROM:3A8C 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3A8E 000 jnz ROM_3A9F ; Jump if Acc is not zero ROM:3A8E ROM:3A90 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3A91 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:3A93 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3A95 000 mov R0, #0B2h ; '¦' ; Move (Op1 <- Op2) ROM:3A97 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3A98 000 anl A, #0Eh ; Logical AND (op1 &= op2) ROM:3A9A 000 swap A ; Swap nibbles of Acc ROM:3A9B 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3A9D 000 sjmp ROM_3AA9 ; Short jump ROM:3A9D ROM:3A9F ; --------------------------------------------------------------------------- ROM:3A9F ROM:3A9F ROM_3A9F: ; CODE XREF: ROM_3A5B+33j ROM:3A9F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3AA0 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:3AA2 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3AA4 000 mov R0, #0B2h ; '¦' ; Move (Op1 <- Op2) ROM:3AA6 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3AA7 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:3AA7 ROM:3AA9 ROM:3AA9 ROM_3AA9: ; CODE XREF: ROM_3A5B+42j ROM:3AA9 000 mov R7, A ; Move (Op1 <- Op2) ROM:3AAA 000 mov R6, RAM_46 ; Move (Op1 <- Op2) ROM:3AAC 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3AAD 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:3AAF 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3AB0 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3AB2 000 ret ; Return from subroutine ROM:3AB2 ROM:3AB2 ; End of function ROM_3A5B ROM:3AB2 ROM:3AB3 ROM:3AB3 ; =============== S U B R O U T I N E ======================================= ROM:3AB3 ROM:3AB3 ROM:3AB3 ROM_3AB3: ; CODE XREF: ROM_396E:ROM_399Fp ROM:3AB3 ; ROM_416E:ROM_419Cp ROM:3AB3 000 clr A ; Clear Operand (0) ROM:3AB4 000 mov DPTR, #656h ; Move (Op1 <- Op2) ROM:3AB7 000 movx @DPTR, A ; Move from/to external RAM ROM:3AB8 000 mov DPTR, #655h ; Move (Op1 <- Op2) ROM:3ABB 000 movx @DPTR, A ; Move from/to external RAM ROM:3ABC 000 mov DPTR, #657h ; Move (Op1 <- Op2) ROM:3ABF 000 mov A, R5 ; Move (Op1 <- Op2) ROM:3AC0 000 movx @DPTR, A ; Move from/to external RAM ROM:3AC1 000 mov DPTR, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:3AC4 000 movx A, @DPTR ; Move from/to external RAM ROM:3AC5 000 cpl A ; Complement Operand ROM:3AC6 000 anl A, R7 ; Logical AND (op1 &= op2) ROM:3AC7 000 mov R7, A ; Move (Op1 <- Op2) ROM:3AC8 000 jnz ROM_3ACF ; Jump if Acc is not zero ROM:3AC8 ROM:3ACA 000 mov DPTR, #656h ; Move (Op1 <- Op2) ROM:3ACD 000 inc A ; Increment Operand ROM:3ACE 000 movx @DPTR, A ; Move from/to external RAM ROM:3ACE ROM:3ACF ROM:3ACF ROM_3ACF: ; CODE XREF: ROM_3AB3+15j ROM:3ACF 000 mov DPTR, #656h ; Move (Op1 <- Op2) ROM:3AD2 000 movx A, @DPTR ; Move from/to external RAM ROM:3AD3 000 jnz ROM_3AEA ; Jump if Acc is not zero ROM:3AD3 ROM:3AD5 000 mov A, #6Dh ; 'm' ; Move (Op1 <- Op2) ROM:3AD7 000 add A, R5 ; Add Second Operand to Acc ROM:3AD8 000 mov R0, A ; Move (Op1 <- Op2) ROM:3AD9 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3ADA 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3ADB 000 mov R4, A ; Move (Op1 <- Op2) ROM:3ADC 000 mov DPTR, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:3ADF 000 movx A, @DPTR ; Move from/to external RAM ROM:3AE0 000 cpl A ; Complement Operand ROM:3AE1 000 anl A, R4 ; Logical AND (op1 &= op2) ROM:3AE2 000 mov R4, A ; Move (Op1 <- Op2) ROM:3AE3 000 jnz ROM_3AEA ; Jump if Acc is not zero ROM:3AE3 ROM:3AE5 000 mov DPTR, #656h ; Move (Op1 <- Op2) ROM:3AE8 000 inc A ; Increment Operand ROM:3AE9 000 movx @DPTR, A ; Move from/to external RAM ROM:3AE9 ROM:3AEA ROM:3AEA ROM_3AEA: ; CODE XREF: ROM_3AB3+20j ROM:3AEA ; ROM_3AB3+30j ... ROM:3AEA 000 mov DPTR, #656h ; Move (Op1 <- Op2) ROM:3AED 000 movx A, @DPTR ; Move from/to external RAM ROM:3AEE 000 jnz ROM_3B4E ; Jump if Acc is not zero ROM:3AEE ROM:3AF0 000 inc R5 ; Increment Operand ROM:3AF1 000 mov A, R5 ; Move (Op1 <- Op2) ROM:3AF2 000 clr C ; Clear Operand (0) ROM:3AF3 000 subb A, #13h ; Subtract Second Operand from Acc with Borrow ROM:3AF5 000 jc ROM_3AF9 ; Jump if Carry is set ROM:3AF5 ROM:3AF7 000 clr A ; Clear Operand (0) ROM:3AF8 000 mov R5, A ; Move (Op1 <- Op2) ROM:3AF8 ROM:3AF9 ROM:3AF9 ROM_3AF9: ; CODE XREF: ROM_3AB3+42j ROM:3AF9 000 mov DPTR, #657h ; Move (Op1 <- Op2) ROM:3AFC 000 movx A, @DPTR ; Move from/to external RAM ROM:3AFD 000 cjne A, RAM_5, ROM_3B06 ; Compare Operands and JNE ROM:3AFD ROM:3B00 000 mov DPTR, #656h ; Move (Op1 <- Op2) ROM:3B03 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3B05 000 movx @DPTR, A ; Move from/to external RAM ROM:3B05 ROM:3B06 ROM:3B06 ROM_3B06: ; CODE XREF: ROM_3AB3+4Aj ROM:3B06 000 mov DPTR, #656h ; Move (Op1 <- Op2) ROM:3B09 000 movx A, @DPTR ; Move from/to external RAM ROM:3B0A 000 jnz ROM_3AEA ; Jump if Acc is not zero ROM:3B0A ROM:3B0C 000 mov A, #6Dh ; 'm' ; Move (Op1 <- Op2) ROM:3B0E 000 add A, R5 ; Add Second Operand to Acc ROM:3B0F 000 mov R0, A ; Move (Op1 <- Op2) ROM:3B10 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3B11 000 mov R6, A ; Move (Op1 <- Op2) ROM:3B12 000 mov DPTR, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:3B15 000 movx A, @DPTR ; Move from/to external RAM ROM:3B16 000 cpl A ; Complement Operand ROM:3B17 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:3B18 000 mov R6, A ; Move (Op1 <- Op2) ROM:3B19 000 jz ROM_3B1D ; Jump if Acc is zero ROM:3B19 ROM:3B1B 000 anl A, R4 ; Logical AND (op1 &= op2) ROM:3B1C 000 mov R6, A ; Move (Op1 <- Op2) ROM:3B1C ROM:3B1D ROM:3B1D ROM_3B1D: ; CODE XREF: ROM_3AB3+66j ROM:3B1D 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3B1E 000 jz ROM_3AEA ; Jump if Acc is zero ROM:3B1E ROM:3B20 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:3B21 000 jz ROM_3B2B ; Jump if Acc is zero ROM:3B21 ROM:3B23 000 mov DPTR, #655h ; Move (Op1 <- Op2) ROM:3B26 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3B28 000 movx @DPTR, A ; Move from/to external RAM ROM:3B29 000 inc DPTR ; Increment Operand ROM:3B2A 000 movx @DPTR, A ; Move from/to external RAM ROM:3B2A ROM:3B2B ROM:3B2B ROM_3B2B: ; CODE XREF: ROM_3AB3+6Ej ROM:3B2B 000 mov DPTR, #656h ; Move (Op1 <- Op2) ROM:3B2E 000 movx A, @DPTR ; Move from/to external RAM ROM:3B2F 000 jnz ROM_3AEA ; Jump if Acc is not zero ROM:3B2F ROM:3B31 000 mov R1, RAM_4 ; Move (Op1 <- Op2) ROM:3B33 000 mov R6, A ; Move (Op1 <- Op2) ROM:3B33 ROM:3B34 ROM:3B34 ROM_3B34: ; CODE XREF: ROM_3AB3+8Cj ROM:3B34 000 mov A, R1 ; Move (Op1 <- Op2) ROM:3B35 000 jnb ACC.0, ROM_3B3A ; Accumulator ROM:3B35 ROM:3B38 000 mov R6, #1 ; Move (Op1 <- Op2) ROM:3B38 ROM:3B3A ROM:3B3A ROM_3B3A: ; CODE XREF: ROM_3AB3+82j ROM:3B3A 000 mov A, R1 ; Move (Op1 <- Op2) ROM:3B3B 000 clr C ; Clear Operand (0) ROM:3B3C 000 rrc A ; Rotate Acc right through Carry ROM:3B3D 000 mov R1, A ; Move (Op1 <- Op2) ROM:3B3E 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3B3F 000 jz ROM_3B34 ; Jump if Acc is zero ROM:3B3F ROM:3B41 000 mov A, R1 ; Move (Op1 <- Op2) ROM:3B42 000 jz ROM_3AEA ; Jump if Acc is zero ROM:3B42 ROM:3B44 000 mov DPTR, #655h ; Move (Op1 <- Op2) ROM:3B47 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3B49 000 movx @DPTR, A ; Move from/to external RAM ROM:3B4A 000 inc DPTR ; Increment Operand ROM:3B4B 000 movx @DPTR, A ; Move from/to external RAM ROM:3B4C 000 sjmp ROM_3AEA ; Short jump ROM:3B4C ROM:3B4E ; --------------------------------------------------------------------------- ROM:3B4E ROM:3B4E ROM_3B4E: ; CODE XREF: ROM_3AB3+3Bj ROM:3B4E 000 mov DPTR, #655h ; Move (Op1 <- Op2) ROM:3B51 000 movx A, @DPTR ; Move from/to external RAM ROM:3B52 000 mov R7, A ; Move (Op1 <- Op2) ROM:3B53 000 ret ; Return from subroutine ROM:3B53 ROM:3B53 ; End of function ROM_3AB3 ROM:3B53 ROM:3B54 ROM:3B54 ; =============== S U B R O U T I N E ======================================= ROM:3B54 ROM:3B54 ROM:3B54 ROM_3B54: ; CODE XREF: ROM:3867p ROM:3B54 000 mov R7, RAM_48 ; Move (Op1 <- Op2) ROM:3B56 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3B57 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3B59 000 swap A ; Swap nibbles of Acc ROM:3B5A 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3B5C 000 mov R7, A ; Move (Op1 <- Op2) ROM:3B5D 000 mov A, RAM_42 ; Move (Op1 <- Op2) ROM:3B5F 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3B61 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3B62 000 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3B64 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3B66 000 mov R7, A ; Move (Op1 <- Op2) ROM:3B67 000 lcall ROM_392E ; Long Subroutine Call ROM:3B67 ROM:3B6A 000 mov R7, RAM_48 ; Move (Op1 <- Op2) ROM:3B6C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3B6D 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3B6F 000 mov R7, A ; Move (Op1 <- Op2) ROM:3B70 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3B72 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:3B74 000 inc R0 ; Increment Operand ROM:3B75 000 sjmp ROM_3B79 ; Short jump ROM:3B75 ROM:3B77 ; --------------------------------------------------------------------------- ROM:3B77 ROM:3B77 ROM_3B77: ; CODE XREF: ROM_3B54:ROM_3B79j ROM:3B77 000 clr C ; Clear Operand (0) ROM:3B78 000 rlc A ; Rotate Acc left through Carry ROM:3B78 ROM:3B79 ROM:3B79 ROM_3B79: ; CODE XREF: ROM_3B54+21j ROM:3B79 000 djnz R0, ROM_3B77 ; Decrement Operand and JNZ ROM:3B79 ROM:3B7B 000 mov DPTR, #658h ; Move (Op1 <- Op2) ROM:3B7E 000 movx @DPTR, A ; Move from/to external RAM ROM:3B7F 000 movx A, @DPTR ; Move from/to external RAM ROM:3B80 000 mov R7, A ; Move (Op1 <- Op2) ROM:3B81 000 push RAM_7 ; Push from Direct RAM to Stack ROM:3B83 001 lcall ROM_3C01 ; Long Subroutine Call ROM:3B83 ROM:3B86 001 mov A, R7 ; Move (Op1 <- Op2) ROM:3B87 001 cpl A ; Complement Operand ROM:3B88 001 mov R6, A ; Move (Op1 <- Op2) ROM:3B89 001 pop ACC ; Accumulator ROM:3B8B 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:3B8C 000 mov DPTR, #658h ; Move (Op1 <- Op2) ROM:3B8F 000 movx @DPTR, A ; Move from/to external RAM ROM:3B90 000 jz ROM_3B9E ; Jump if Acc is zero ROM:3B90 ROM:3B92 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3B94 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3B95 000 clr C ; Clear Operand (0) ROM:3B96 000 rrc A ; Rotate Acc right through Carry ROM:3B97 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3B99 000 jb ACC.0, ROM_3BA8 ; Accumulator ROM:3B99 ROM:3B9C 000 sjmp ROM_3BAF ; Short jump ROM:3B9C ROM:3B9E ; --------------------------------------------------------------------------- ROM:3B9E ROM:3B9E ROM_3B9E: ; CODE XREF: ROM_3B54+3Cj ROM:3B9E 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3BA0 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BA1 000 clr C ; Clear Operand (0) ROM:3BA2 000 rrc A ; Rotate Acc right through Carry ROM:3BA3 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3BA5 000 jb ACC.0, ROM_3BAF ; Accumulator ROM:3BA5 ROM:3BA8 ROM:3BA8 ROM_3BA8: ; CODE XREF: ROM_3B54+45j ROM:3BA8 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BA9 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:3BAB 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3BAD 000 sjmp ROM_3BB4 ; Short jump ROM:3BAD ROM:3BAF ; --------------------------------------------------------------------------- ROM:3BAF ROM:3BAF ROM_3BAF: ; CODE XREF: ROM_3B54+48j ROM:3BAF ; ROM_3B54+51j ROM:3BAF 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BB0 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:3BB2 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3BB2 ROM:3BB4 ROM:3BB4 ROM_3BB4: ; CODE XREF: ROM_3B54+59j ROM:3BB4 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3BB6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BB7 000 jb ACC.0, ROM_3BEE ; Accumulator ROM:3BB7 ROM:3BBA 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3BBC 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BBD 000 swap A ; Swap nibbles of Acc ROM:3BBE 000 rrc A ; Rotate Acc right through Carry ROM:3BBF 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3BC1 000 jz ROM_3BDB ; Jump if Acc is zero ROM:3BC1 ROM:3BC3 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3BC5 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BC6 000 swap A ; Swap nibbles of Acc ROM:3BC7 000 rrc A ; Rotate Acc right through Carry ROM:3BC8 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3BCA 000 mov R6, A ; Move (Op1 <- Op2) ROM:3BCB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BCC 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:3BCE 000 mov R7, A ; Move (Op1 <- Op2) ROM:3BCF 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3BD0 000 dec A ; Decrement Operand ROM:3BD1 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3BD3 000 swap A ; Swap nibbles of Acc ROM:3BD4 000 rlc A ; Rotate Acc left through Carry ROM:3BD5 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:3BD7 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3BD8 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3BDA 000 ret ; Return from subroutine ROM:3BDA ROM:3BDB ; --------------------------------------------------------------------------- ROM:3BDB ROM:3BDB ROM_3BDB: ; CODE XREF: ROM_3B54+6Dj ROM:3BDB 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3BDD 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BDE 000 swap A ; Swap nibbles of Acc ROM:3BDF 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3BE1 000 jb ACC.0, ROM_3BE6 ; Accumulator ROM:3BE1 ROM:3BE4 000 sjmp ROM_3BF7 ; Short jump ROM:3BE4 ROM:3BE6 ; --------------------------------------------------------------------------- ROM:3BE6 ROM:3BE6 ROM_3BE6: ; CODE XREF: ROM_3B54+8Dj ROM:3BE6 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3BE8 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BE9 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:3BEB 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3BED 000 ret ; Return from subroutine ROM:3BED ROM:3BEE ; --------------------------------------------------------------------------- ROM:3BEE ROM:3BEE ROM_3BEE: ; CODE XREF: ROM_3B54+63j ROM:3BEE 000 mov R7, RAM_46 ; Move (Op1 <- Op2) ROM:3BF0 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3BF1 000 swap A ; Swap nibbles of Acc ROM:3BF2 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3BF4 000 jb ACC.0, ROM_3BFD ; Accumulator ROM:3BF4 ROM:3BF7 ROM:3BF7 ROM_3BF7: ; CODE XREF: ROM_3B54+90j ROM:3BF7 000 clr A ; Clear Operand (0) ROM:3BF8 000 mov RAM_48, A ; Move (Op1 <- Op2) ROM:3BFA 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3BFC 000 ret ; Return from subroutine ROM:3BFC ROM:3BFD ; --------------------------------------------------------------------------- ROM:3BFD ROM:3BFD ROM_3BFD: ; CODE XREF: ROM_3B54+A0j ROM:3BFD 000 lcall ROM_3C07 ; Long Subroutine Call ROM:3BFD ROM:3C00 000 ret ; Return from subroutine ROM:3C00 ROM:3C00 ; End of function ROM_3B54 ROM:3C00 ROM:3C01 ROM:3C01 ; =============== S U B R O U T I N E ======================================= ROM:3C01 ROM:3C01 ROM:3C01 ROM_3C01: ; CODE XREF: ROM_3B54+2Fp ROM:3C01 ; ROM_429C+Ap ROM:3C01 000 mov DPTR, #KEYBOARD_KSI ; Keyboard Scan In [7:0] ROM:3C04 000 movx A, @DPTR ; Move from/to external RAM ROM:3C05 000 mov R7, A ; Move (Op1 <- Op2) ROM:3C06 000 ret ; Return from subroutine ROM:3C06 ROM:3C06 ; End of function ROM_3C01 ROM:3C06 ROM:3C07 ROM:3C07 ; =============== S U B R O U T I N E ======================================= ROM:3C07 ROM:3C07 ROM:3C07 ROM_3C07: ; CODE XREF: ROM_3B54:ROM_3BFDp ROM:3C07 000 mov R7, RAM_48 ; Move (Op1 <- Op2) ROM:3C09 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3C0A 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3C0C 000 mov R7, A ; Move (Op1 <- Op2) ROM:3C0D 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3C0F 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:3C11 000 inc R0 ; Increment Operand ROM:3C12 000 sjmp ROM_3C16 ; Short jump ROM:3C12 ROM:3C14 ; --------------------------------------------------------------------------- ROM:3C14 ROM:3C14 ROM_3C14: ; CODE XREF: ROM_3C07:ROM_3C16j ROM:3C14 000 clr C ; Clear Operand (0) ROM:3C15 000 rlc A ; Rotate Acc left through Carry ROM:3C15 ROM:3C16 ROM:3C16 ROM_3C16: ; CODE XREF: ROM_3C07+Bj ROM:3C16 000 djnz R0, ROM_3C14 ; Decrement Operand and JNZ ROM:3C16 ROM:3C18 000 mov R7, A ; Move (Op1 <- Op2) ROM:3C19 000 mov R6, RAM_48 ; Move (Op1 <- Op2) ROM:3C1B 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3C1C 000 swap A ; Swap nibbles of Acc ROM:3C1D 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3C1F 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:3C21 000 mov R0, A ; Move (Op1 <- Op2) ROM:3C22 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3C23 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:3C24 000 mov R6, A ; Move (Op1 <- Op2) ROM:3C25 000 mov R5, RAM_48 ; Move (Op1 <- Op2) ROM:3C27 000 mov A, R5 ; Move (Op1 <- Op2) ROM:3C28 000 swap A ; Swap nibbles of Acc ROM:3C29 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3C2B 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:3C2D 000 mov R0, A ; Move (Op1 <- Op2) ROM:3C2E 000 mov @R0, RAM_6 ; Move (Op1 <- Op2) ROM:3C30 000 mov DPTR, #659h ; Move (Op1 <- Op2) ROM:3C33 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3C35 000 movx @DPTR, A ; Move from/to external RAM ROM:3C36 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3C37 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:3C38 000 jz ROM_3C52 ; Jump if Acc is zero ROM:3C38 ROM:3C3A 000 clr A ; Clear Operand (0) ROM:3C3B 000 movx @DPTR, A ; Move from/to external RAM ROM:3C3C 000 mov RAM_4A, RAM_48 ; Move (Op1 <- Op2) ROM:3C3F 000 mov A, RAM_41 ; Move (Op1 <- Op2) ROM:3C41 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3C43 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:3C45 000 mov RAM_41, A ; Move (Op1 <- Op2) ROM:3C47 000 mov DPTR, #65h ; 'e' ; Move (Op1 <- Op2) ROM:3C4A 000 movx A, @DPTR ; Move from/to external RAM ROM:3C4B 000 mov DPTR, #66h ; 'f' ; Move (Op1 <- Op2) ROM:3C4E 000 movx @DPTR, A ; Move from/to external RAM ROM:3C4F 000 clr A ; Clear Operand (0) ROM:3C50 000 mov RAM_4B, A ; Move (Op1 <- Op2) ROM:3C50 ROM:3C52 ROM:3C52 ROM_3C52: ; CODE XREF: ROM_3C07+31j ROM:3C52 000 mov R0, #75h ; 'u' ; Move (Op1 <- Op2) ROM:3C54 000 mov R4, #6 ; Move (Op1 <- Op2) ROM:3C56 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:3C58 000 mov R3, #0 ; Move (Op1 <- Op2) ROM:3C5A 000 mov R2, #0 ; Move (Op1 <- Op2) ROM:3C5C 000 mov R1, #48h ; 'H' ; Move (Op1 <- Op2) ROM:3C5E 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:3C60 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:3C62 000 lcall ROM_B7B7 ; Long Subroutine Call ROM:3C62 ROM:3C65 000 mov DPTR, #659h ; Move (Op1 <- Op2) ROM:3C68 000 movx A, @DPTR ; Move from/to external RAM ROM:3C69 000 mov DPTR, #676h ; Move (Op1 <- Op2) ROM:3C6C 000 movx @DPTR, A ; Move from/to external RAM ROM:3C6D 000 lcall ROM_447A ; Long Subroutine Call ROM:3C6D ROM:3C70 000 clr A ; Clear Operand (0) ROM:3C71 000 mov RAM_48, A ; Move (Op1 <- Op2) ROM:3C73 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3C75 000 ret ; Return from subroutine ROM:3C75 ROM:3C75 ; End of function ROM_3C07 ROM:3C75 ROM:3C76 ROM:3C76 ; =============== S U B R O U T I N E ======================================= ROM:3C76 ROM:3C76 ROM:3C76 ROM_3C76: ; CODE XREF: ROM:385Ap ROM:3C76 000 clr A ; Clear Operand (0) ROM:3C77 000 mov R7, A ; Move (Op1 <- Op2) ROM:3C78 000 mov DPTR, #65Ah ; Move (Op1 <- Op2) ROM:3C7B 000 movx A, @DPTR ; Move from/to external RAM ROM:3C7C 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3C7E 000 mov R6, A ; Move (Op1 <- Op2) ROM:3C7F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3C81 000 mov R0, RAM_6 ; Move (Op1 <- Op2) ROM:3C83 000 inc R0 ; Increment Operand ROM:3C84 000 sjmp ROM_3C88 ; Short jump ROM:3C84 ROM:3C86 ; --------------------------------------------------------------------------- ROM:3C86 ROM:3C86 ROM_3C86: ; CODE XREF: ROM_3C76:ROM_3C88j ROM:3C86 000 clr C ; Clear Operand (0) ROM:3C87 000 rlc A ; Rotate Acc left through Carry ROM:3C87 ROM:3C88 ROM:3C88 ROM_3C88: ; CODE XREF: ROM_3C76+Ej ROM:3C88 000 djnz R0, ROM_3C86 ; Decrement Operand and JNZ ROM:3C88 ROM:3C8A 000 mov R6, A ; Move (Op1 <- Op2) ROM:3C8B 000 mov DPTR, #65Ah ; Move (Op1 <- Op2) ROM:3C8E 000 movx A, @DPTR ; Move from/to external RAM ROM:3C8F 000 swap A ; Swap nibbles of Acc ROM:3C90 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3C92 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:3C94 000 mov R0, A ; Move (Op1 <- Op2) ROM:3C95 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3C96 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:3C97 000 jnz ROM_3C9D ; Jump if Acc is not zero ROM:3C97 ROM:3C99 000 mov RAM_4A, A ; Move (Op1 <- Op2) ROM:3C9B 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:3C9B ROM:3C9D ROM:3C9D ROM_3C9D: ; CODE XREF: ROM_3C76+21j ROM:3C9D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3C9E 000 jnz ROM_3CBC ; Jump if Acc is not zero ROM:3C9E ROM:3CA0 000 mov R6, RAM_41 ; Move (Op1 <- Op2) ROM:3CA2 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3CA3 000 swap A ; Swap nibbles of Acc ROM:3CA4 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3CA6 000 mov R5, A ; Move (Op1 <- Op2) ROM:3CA7 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3CA8 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3CAA 000 mov R6, A ; Move (Op1 <- Op2) ROM:3CAB 000 mov A, R5 ; Move (Op1 <- Op2) ROM:3CAC 000 dec A ; Decrement Operand ROM:3CAD 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3CAF 000 swap A ; Swap nibbles of Acc ROM:3CB0 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3CB2 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:3CB3 000 mov RAM_41, A ; Move (Op1 <- Op2) ROM:3CB5 000 swap A ; Swap nibbles of Acc ROM:3CB6 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3CB8 000 jz ROM_3CBC ; Jump if Acc is zero ROM:3CB8 ROM:3CBA 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:3CBA ROM:3CBC ROM:3CBC ROM_3CBC: ; CODE XREF: ROM_3C76+28j ROM:3CBC ; ROM_3C76+42j ROM:3CBC 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3CBD 000 jnz ROM_3CD2 ; Jump if Acc is not zero ROM:3CBD ROM:3CBF 000 mov A, RAM_41 ; Move (Op1 <- Op2) ROM:3CC1 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3CC3 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:3CC5 000 mov RAM_41, A ; Move (Op1 <- Op2) ROM:3CC7 000 mov DPTR, #66h ; 'f' ; Move (Op1 <- Op2) ROM:3CCA 000 movx A, @DPTR ; Move from/to external RAM ROM:3CCB 000 dec A ; Decrement Operand ROM:3CCC 000 movx @DPTR, A ; Move from/to external RAM ROM:3CCD 000 movx A, @DPTR ; Move from/to external RAM ROM:3CCE 000 jz ROM_3CD2 ; Jump if Acc is zero ROM:3CCE ROM:3CD0 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:3CD0 ROM:3CD2 ROM:3CD2 ROM_3CD2: ; CODE XREF: ROM_3C76+47j ROM:3CD2 ; ROM_3C76+58j ROM:3CD2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3CD3 000 jnz ROM_3CF9 ; Jump if Acc is not zero ROM:3CD3 ROM:3CD5 000 mov DPTR, #64h ; 'd' ; Move (Op1 <- Op2) ROM:3CD8 000 movx A, @DPTR ; Move from/to external RAM ROM:3CD9 000 mov DPTR, #66h ; 'f' ; Move (Op1 <- Op2) ROM:3CDC 000 movx @DPTR, A ; Move from/to external RAM ROM:3CDD 000 mov R0, #75h ; 'u' ; Move (Op1 <- Op2) ROM:3CDF 000 mov R4, #6 ; Move (Op1 <- Op2) ROM:3CE1 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:3CE3 000 mov R3, #1 ; Move (Op1 <- Op2) ROM:3CE5 000 mov R2, #6 ; Move (Op1 <- Op2) ROM:3CE7 000 mov R1, #5Ah ; 'Z' ; Move (Op1 <- Op2) ROM:3CE9 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:3CEB 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:3CED 000 lcall ROM_B7B7 ; Long Subroutine Call ROM:3CED ROM:3CF0 000 mov DPTR, #676h ; Move (Op1 <- Op2) ROM:3CF3 000 mov A, #2 ; Move (Op1 <- Op2) ROM:3CF5 000 movx @DPTR, A ; Move from/to external RAM ROM:3CF6 000 lcall ROM_447A ; Long Subroutine Call ROM:3CF6 ROM:3CF9 ROM:3CF9 ROM_3CF9: ; CODE XREF: ROM_3C76+5Dj ROM:3CF9 000 ret ; Return from subroutine ROM:3CF9 ROM:3CF9 ; End of function ROM_3C76 ROM:3CF9 ROM:3CFA ROM:3CFA ; =============== S U B R O U T I N E ======================================= ROM:3CFA ROM:3CFA ROM:3CFA ROM_3CFA: ROM:3CFA 000 mov DPTR, #KEYBOARD_KSOL ; Keyboard Scan Out [7:0] ROM:3CFD 000 clr A ; Clear Operand (0) ROM:3CFE 000 movx @DPTR, A ; Move from/to external RAM ROM:3CFF 000 inc DPTR ; Increment Operand ROM:3D00 000 movx @DPTR, A ; Move from/to external RAM ROM:3D01 000 mov DPTR, #KEYBOARD_KSOH2 ; Keyboard Scan Out [17:16] ROM:3D04 000 movx @DPTR, A ; Move from/to external RAM ROM:3D05 000 ret ; Return from subroutine ROM:3D05 ROM:3D05 ; End of function ROM_3CFA ROM:3D05 ROM:3D06 ROM:3D06 ; =============== S U B R O U T I N E ======================================= ROM:3D06 ROM:3D06 ROM:3D06 ROM_3D06: ; CODE XREF: ROM_3EA7+26p ROM:3D06 000 mov DPTR, #KEYBOARD_KSOL ; Keyboard Scan Out [7:0] ROM:3D09 000 clr A ; Clear Operand (0) ROM:3D0A 000 movx @DPTR, A ; Move from/to external RAM ROM:3D0B 000 inc DPTR ; Increment Operand ROM:3D0C 000 movx @DPTR, A ; Move from/to external RAM ROM:3D0D 000 mov DPTR, #KEYBOARD_KSOH2 ; Keyboard Scan Out [17:16] ROM:3D10 000 movx @DPTR, A ; Move from/to external RAM ROM:3D11 000 mov DPTR, #INTC_IER1 ; Interrupt Enable Register 1 ROM:3D14 000 movx A, @DPTR ; Move from/to external RAM ROM:3D15 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:3D17 000 movx @DPTR, A ; Move from/to external RAM ROM:3D18 000 ret ; Return from subroutine ROM:3D18 ROM:3D18 ; End of function ROM_3D06 ROM:3D18 ROM:3D19 ; [00000003 BYTES: COLLAPSED FUNCTION j_set_timer_1_yet. PRESS KEYPAD "+" TO EXPAND] ROM:3D1C ROM:3D1C ; =============== S U B R O U T I N E ======================================= ROM:3D1C ROM:3D1C ROM:3D1C ROM_3D1C: ; CODE XREF: ROM_4D5B+93p ROM:3D1C 000 clr A ; Clear Operand (0) ROM:3D1D 000 mov DPTR, #65Bh ; Move (Op1 <- Op2) ROM:3D20 000 movx @DPTR, A ; Move from/to external RAM ROM:3D21 000 mov R0, #0BCh ; '+' ; Move (Op1 <- Op2) ROM:3D23 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3D24 000 swap A ; Swap nibbles of Acc ROM:3D25 000 rrc A ; Rotate Acc right through Carry ROM:3D26 000 rrc A ; Rotate Acc right through Carry ROM:3D27 000 rrc A ; Rotate Acc right through Carry ROM:3D28 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:3D2A 000 jb ACC.0, ROM_3D44 ; Accumulator ROM:3D2A ROM:3D2D 000 mov R0, #3Ch ; '<' ; Move (Op1 <- Op2) ROM:3D2F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3D30 000 jb ACC.0, ROM_3D44 ; Accumulator ROM:3D30 ROM:3D33 000 mov R7, RAM_40 ; Move (Op1 <- Op2) ROM:3D35 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3D36 000 swap A ; Swap nibbles of Acc ROM:3D37 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3D39 000 mov R7, A ; Move (Op1 <- Op2) ROM:3D3A 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3D3C 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3D3E 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:3D3F 000 jz ROM_3D44 ; Jump if Acc is zero ROM:3D3F ROM:3D41 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3D43 000 movx @DPTR, A ; Move from/to external RAM ROM:3D43 ROM:3D44 ROM:3D44 ROM_3D44: ; CODE XREF: ROM_3D1C+Ej ROM:3D44 ; ROM_3D1C+14j ... ROM:3D44 000 mov DPTR, #65Bh ; Move (Op1 <- Op2) ROM:3D47 000 movx A, @DPTR ; Move from/to external RAM ROM:3D48 000 mov R7, A ; Move (Op1 <- Op2) ROM:3D49 000 ret ; Return from subroutine ROM:3D49 ROM:3D49 ; End of function ROM_3D1C ROM:3D49 ROM:3D4A ROM:3D4A ; =============== S U B R O U T I N E ======================================= ROM:3D4A ROM:3D4A ROM:3D4A write_0x3466B465_to_0x60_0x63: ; CODE XREF: magic_wordsp ROM:3D4A 000 mov DPTR, #60h ; '`' ; Move (Op1 <- Op2) ROM:3D4D 000 mov A, #65h ; 'e' ; Move (Op1 <- Op2) ROM:3D4F 000 movx @DPTR, A ; write 0x65 to 0x60 ROM:3D50 000 inc DPTR ; Increment Operand ROM:3D51 000 mov A, #0B4h ; '¦' ; Move (Op1 <- Op2) ROM:3D53 000 movx @DPTR, A ; write 0xB4 to 0x61 ROM:3D54 000 mov DPTR, #62h ; 'b' ; Move (Op1 <- Op2) ROM:3D57 000 mov A, #66h ; 'f' ; Move (Op1 <- Op2) ROM:3D59 000 movx @DPTR, A ; write 0x66 to 0x62 ROM:3D5A 000 inc DPTR ; Increment Operand ROM:3D5B 000 mov A, #34h ; '4' ; Move (Op1 <- Op2) ROM:3D5D 000 movx @DPTR, A ; write 0x34 to 0x63 ROM:3D5E 000 ret ; Return from subroutine ROM:3D5E ROM:3D5E ; End of function write_0x3466B465_to_0x60_0x63 ROM:3D5E ROM:3D5F ; --------------------------------------------------------------------------- ROM:3D5F mov R7, #0 ; Move (Op1 <- Op2) ROM:3D61 ret ; Return from subroutine ROM:3D61 ROM:3D62 ROM:3D62 ; =============== S U B R O U T I N E ======================================= ROM:3D62 ROM:3D62 ROM:3D62 ROM_3D62: ; CODE XREF: magic_words+3p ROM:3D62 000 mov R0, #52h ; 'R' ; Move (Op1 <- Op2) ROM:3D64 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3D65 000 mov R7, A ; Move (Op1 <- Op2) ROM:3D66 000 swap A ; Swap nibbles of Acc ROM:3D67 000 rrc A ; Rotate Acc right through Carry ROM:3D68 000 rrc A ; Rotate Acc right through Carry ROM:3D69 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:3D6B 000 mov DPTR, #65Ch ; Move (Op1 <- Op2) ROM:3D6E 000 movx @DPTR, A ; Move from/to external RAM ROM:3D6F 000 lcall ROM_4045 ; Long Subroutine Call ROM:3D6F ROM:3D72 000 mov R6, RAM_2 ; Move (Op1 <- Op2) ROM:3D74 000 mov R7, RAM_1 ; Move (Op1 <- Op2) ROM:3D76 000 mov DPTR, #673h ; Move (Op1 <- Op2) ROM:3D79 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3D7A 000 movx @DPTR, A ; Move from/to external RAM ROM:3D7B 000 inc DPTR ; Increment Operand ROM:3D7C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3D7D 000 movx @DPTR, A ; Move from/to external RAM ROM:3D7E 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:3D7F 000 jnz ROM_3DE2 ; Jump if Acc is not zero ROM:3D7F ROM:3D81 000 mov DPTR, #65Dh ; Move (Op1 <- Op2) ROM:3D84 000 mov A, #65h ; 'e' ; Move (Op1 <- Op2) ROM:3D86 000 movx @DPTR, A ; Move from/to external RAM ROM:3D87 000 inc DPTR ; Increment Operand ROM:3D88 000 mov A, #0B4h ; '¦' ; Move (Op1 <- Op2) ROM:3D8A 000 movx @DPTR, A ; Move from/to external RAM ROM:3D8A ROM:3D8B ROM:3D8B ROM_3D8B: ; CODE XREF: ROM_3D62+55j ROM:3D8B 000 mov DPTR, #65Ch ; Move (Op1 <- Op2) ROM:3D8E 000 movx A, @DPTR ; Move from/to external RAM ROM:3D8F 000 setb C ; Set Direct Bit ROM:3D90 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:3D92 000 jc ROM_3DB9 ; Jump if Carry is set ROM:3D92 ROM:3D94 000 inc DPTR ; Increment Operand ROM:3D95 000 movx A, @DPTR ; Move from/to external RAM ROM:3D96 000 mov R6, A ; Move (Op1 <- Op2) ROM:3D97 000 inc DPTR ; Increment Operand ROM:3D98 000 movx A, @DPTR ; Move from/to external RAM ROM:3D99 000 mov DP0L, A ; Data Pointer Low Byte ROM:3D9B 000 mov DP0H, R6 ; Data Pointer High Byte ROM:3D9D 000 clr A ; Clear Operand (0) ROM:3D9E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3D9F 000 add A, #92h ; 'Æ' ; Add Second Operand to Acc ROM:3DA1 000 mov R7, A ; Move (Op1 <- Op2) ROM:3DA2 000 clr A ; Clear Operand (0) ROM:3DA3 000 rlc A ; Rotate Acc left through Carry ROM:3DA4 000 mov R6, A ; Move (Op1 <- Op2) ROM:3DA5 000 mov DPTR, #65Eh ; Move (Op1 <- Op2) ROM:3DA8 000 movx A, @DPTR ; Move from/to external RAM ROM:3DA9 000 add A, R7 ; Add Second Operand to Acc ROM:3DAA 000 movx @DPTR, A ; Move from/to external RAM ROM:3DAB 000 mov DPTR, #65Dh ; Move (Op1 <- Op2) ROM:3DAE 000 movx A, @DPTR ; Move from/to external RAM ROM:3DAF 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:3DB0 000 movx @DPTR, A ; Move from/to external RAM ROM:3DB1 000 mov DPTR, #65Ch ; Move (Op1 <- Op2) ROM:3DB4 000 movx A, @DPTR ; Move from/to external RAM ROM:3DB5 000 dec A ; Decrement Operand ROM:3DB6 000 movx @DPTR, A ; Move from/to external RAM ROM:3DB7 000 sjmp ROM_3D8B ; Short jump ROM:3DB7 ROM:3DB9 ; --------------------------------------------------------------------------- ROM:3DB9 ROM:3DB9 ROM_3DB9: ; CODE XREF: ROM_3D62+30j ROM:3DB9 000 mov DPTR, #65Dh ; Move (Op1 <- Op2) ROM:3DBC 000 movx A, @DPTR ; Move from/to external RAM ROM:3DBD 000 mov R6, A ; Move (Op1 <- Op2) ROM:3DBE 000 inc DPTR ; Increment Operand ROM:3DBF 000 movx A, @DPTR ; Move from/to external RAM ROM:3DC0 000 mov DP0L, A ; Data Pointer Low Byte ROM:3DC2 000 mov DP0H, R6 ; Data Pointer High Byte ROM:3DC4 000 clr A ; Clear Operand (0) ROM:3DC5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3DC6 000 add A, #91h ; 'æ' ; Add Second Operand to Acc ROM:3DC8 000 mov R7, A ; Move (Op1 <- Op2) ROM:3DC9 000 clr A ; Clear Operand (0) ROM:3DCA 000 rlc A ; Rotate Acc left through Carry ROM:3DCB 000 mov R6, A ; Move (Op1 <- Op2) ROM:3DCC 000 mov DPTR, #65Eh ; Move (Op1 <- Op2) ROM:3DCF 000 movx A, @DPTR ; Move from/to external RAM ROM:3DD0 000 add A, R7 ; Add Second Operand to Acc ROM:3DD1 000 movx @DPTR, A ; Move from/to external RAM ROM:3DD2 000 mov DPTR, #65Dh ; Move (Op1 <- Op2) ROM:3DD5 000 movx A, @DPTR ; Move from/to external RAM ROM:3DD6 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:3DD7 000 movx @DPTR, A ; Move from/to external RAM ROM:3DD8 000 mov DPTR, #673h ; Move (Op1 <- Op2) ROM:3DDB 000 mov A, #6 ; Move (Op1 <- Op2) ROM:3DDD 000 movx @DPTR, A ; Move from/to external RAM ROM:3DDE 000 inc DPTR ; Increment Operand ROM:3DDF 000 mov A, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:3DE1 000 movx @DPTR, A ; Move from/to external RAM ROM:3DE1 ROM:3DE2 ROM:3DE2 ROM_3DE2: ; CODE XREF: ROM_3D62+1Dj ROM:3DE2 000 ret ; Return from subroutine ROM:3DE2 ROM:3DE2 ; End of function ROM_3D62 ROM:3DE2 ROM:3DE3 ; --------------------------------------------------------------------------- ROM:3DE3 ; START OF FUNCTION CHUNK FOR ROM_20BC ROM:3DE3 ROM:3DE3 ROM_3DE3: ; CODE XREF: ROM_20BC+8j ROM:3DE3 000 mov R0, #0BCh ; '+' ; Move (Op1 <- Op2) ROM:3DE5 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3DE6 000 orl A, #10000000b ; Logical OR (op1 |= op2) ROM:3DE8 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3DE9 000 ret ; Return from subroutine ROM:3DE9 ROM:3DE9 ; END OF FUNCTION CHUNK FOR ROM_20BC ROM:3DEA ROM:3DEA ; =============== S U B R O U T I N E ======================================= ROM:3DEA ROM:3DEA ROM:3DEA ROM_3DEA: ROM:3DEA 000 mov R0, #0BCh ; '+' ; Move (Op1 <- Op2) ROM:3DEC 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:3DED 000 anl A, #1111111b ; Logical AND (op1 &= op2) ROM:3DEF 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3DF0 000 ret ; Return from subroutine ROM:3DF0 ROM:3DF0 ; End of function ROM_3DEA ROM:3DF0 ROM:3DF1 ROM:3DF1 ; =============== S U B R O U T I N E ======================================= ROM:3DF1 ROM:3DF1 ROM:3DF1 magic_words: ; CODE XREF: ROM_108F+20p ROM:3DF1 ; write_prepare+Cp ROM:3DF1 000 lcall write_0x3466B465_to_0x60_0x63 ; Long Subroutine Call ROM:3DF1 ROM:3DF4 000 lcall ROM_3D62 ; Long Subroutine Call ROM:3DF4 ROM:3DF7 000 lcall clear_0x5D ; Long Subroutine Call ROM:3DF7 ROM:3DFA 000 clr A ; Clear Operand (0) ROM:3DFB 000 mov RAM_48, A ; Move (Op1 <- Op2) ROM:3DFD 000 mov RAM_46, A ; Move (Op1 <- Op2) ROM:3DFF 000 lcall clear_RAM_4F ; Long Subroutine Call ROM:3DFF ROM:3E02 000 lcall ROM_3E11 ; Long Subroutine Call ROM:3E02 ROM:3E05 000 lcall clear_RAMs_49_47_4B ; Long Subroutine Call ROM:3E05 ROM:3E08 000 ljmp write_0x1E4_to_0x64_0x65 ; Long Jump ROM:3E08 ROM:3E08 ; End of function magic_words ROM:3E08 ROM:3E0B ROM:3E0B ; =============== S U B R O U T I N E ======================================= ROM:3E0B ROM:3E0B ROM:3E0B clear_0x5D: ; CODE XREF: magic_words+6p ROM:3E0B 000 clr A ; Clear Operand (0) ROM:3E0C 000 mov DPTR, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:3E0F 000 movx @DPTR, A ; Move from/to external RAM ROM:3E10 000 ret ; Return from subroutine ROM:3E10 ROM:3E10 ; End of function clear_0x5D ROM:3E10 ROM:3E11 ROM:3E11 ; =============== S U B R O U T I N E ======================================= ROM:3E11 ROM:3E11 ROM:3E11 ROM_3E11: ; CODE XREF: ROM_2631+EEp ROM:3E11 ; ROM_2631+F5p ... ROM:3E11 000 mov R7, #13h ; Move (Op1 <- Op2) ROM:3E13 000 mov R0, #6Dh ; 'm' ; Move (Op1 <- Op2) ROM:3E15 000 clr A ; Clear Operand (0) ROM:3E15 ROM:3E16 ROM:3E16 ROM_3E16: ; CODE XREF: ROM_3E11+7j ROM:3E16 000 mov @R0, A ; Move (Op1 <- Op2) ROM:3E17 000 inc R0 ; Increment Operand ROM:3E18 000 djnz R7, ROM_3E16 ; Decrement Operand and JNZ ROM:3E18 ROM:3E1A 000 mov R7, #10h ; Move (Op1 <- Op2) ROM:3E1C 000 mov DPTR, #40h ; '@' ; Move (Op1 <- Op2) ROM:3E1F 000 clr A ; Clear Operand (0) ROM:3E1F ROM:3E20 ROM:3E20 ROM_3E20: ; CODE XREF: ROM_3E11+11j ROM:3E20 000 movx @DPTR, A ; Move from/to external RAM ROM:3E21 000 inc DPTR ; Increment Operand ROM:3E22 000 djnz R7, ROM_3E20 ; Decrement Operand and JNZ ROM:3E22 ROM:3E24 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3E26 000 anl A, #11110000b ; Logical AND (op1 &= op2) ROM:3E28 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:3E2A 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:3E2C 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:3E2E 000 clr A ; Clear Operand (0) ROM:3E2F 000 mov RAM_4A, A ; Move (Op1 <- Op2) ROM:3E31 000 mov A, RAM_42 ; Move (Op1 <- Op2) ROM:3E33 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:3E35 000 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3E37 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:3E39 000 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3E3B 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:3E3D 000 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3E3F 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:3E41 000 mov DPTR, #65Fh ; Move (Op1 <- Op2) ROM:3E44 000 movx @DPTR, A ; Move from/to external RAM ROM:3E45 000 inc DPTR ; Increment Operand ROM:3E46 000 movx @DPTR, A ; Move from/to external RAM ROM:3E47 000 mov A, RAM_42 ; Move (Op1 <- Op2) ROM:3E49 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3E4B 000 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3E4B ROM:3E4D ROM:3E4D ROM_3E4D: ; CODE XREF: ROM_3E11+5Bj ROM:3E4D 000 mov DPTR, #660h ; Move (Op1 <- Op2) ROM:3E50 000 movx A, @DPTR ; Move from/to external RAM ROM:3E51 000 jb ACC.0, ROM_3E6E ; Accumulator ROM:3E51 ROM:3E54 000 mov R7, RAM_42 ; Move (Op1 <- Op2) ROM:3E56 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3E57 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3E59 000 mov R6, A ; Move (Op1 <- Op2) ROM:3E5A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3E5B 000 inc A ; Increment Operand ROM:3E5C 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3E5E 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:3E5F 000 mov RAM_42, A ; Move (Op1 <- Op2) ROM:3E61 000 mov DPTR, #65Fh ; Move (Op1 <- Op2) ROM:3E64 000 movx A, @DPTR ; Move from/to external RAM ROM:3E65 000 clr C ; Clear Operand (0) ROM:3E66 000 rrc A ; Rotate Acc right through Carry ROM:3E67 000 movx @DPTR, A ; Move from/to external RAM ROM:3E68 000 inc DPTR ; Increment Operand ROM:3E69 000 movx A, @DPTR ; Move from/to external RAM ROM:3E6A 000 rrc A ; Rotate Acc right through Carry ROM:3E6B 000 movx @DPTR, A ; Move from/to external RAM ROM:3E6C 000 sjmp ROM_3E4D ; Short jump ROM:3E6C ROM:3E6E ; --------------------------------------------------------------------------- ROM:3E6E ROM:3E6E ROM_3E6E: ; CODE XREF: ROM_3E11+40j ROM:3E6E 000 ret ; Return from subroutine ROM:3E6E ROM:3E6E ; End of function ROM_3E11 ROM:3E6E ROM:3E6F ROM:3E6F ; =============== S U B R O U T I N E ======================================= ROM:3E6F ROM:3E6F ROM:3E6F write_0x1E4_to_0x64_0x65: ; CODE XREF: ROM_2631+F8p ROM:3E6F ; ROM_2631+102p ... ROM:3E6F 000 clr A ; Clear Operand (0) ROM:3E70 000 mov RAM_4A, A ; clear RAM_4A ROM:3E72 000 mov DPTR, #65h ; 'e' ; Move (Op1 <- Op2) ROM:3E75 000 mov A, #1Eh ; write 0x1E to 0x65 ROM:3E77 000 movx @DPTR, A ; Move from/to external RAM ROM:3E78 000 mov DPTR, #64h ; 'd' ; Move (Op1 <- Op2) ROM:3E7B 000 mov A, #4 ; write 0x4 to 0x64 ROM:3E7D 000 movx @DPTR, A ; Move from/to external RAM ROM:3E7E 000 ret ; Return from subroutine ROM:3E7E ROM:3E7E ; End of function write_0x1E4_to_0x64_0x65 ROM:3E7E ROM:3E7F ROM:3E7F ; =============== S U B R O U T I N E ======================================= ROM:3E7F ROM:3E7F ROM:3E7F ROM_3E7F: ; CODE XREF: ROM_2631+62p ROM:3E7F 000 mov R0, #0BBh ; '+' ; Move (Op1 <- Op2) ROM:3E81 000 mov @R0, RAM_7 ; Move (Op1 <- Op2) ROM:3E83 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3E84 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:3E86 000 mov DPTR, #4456h ; Move (Op1 <- Op2) ROM:3E89 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3E8A 000 mov DPTR, #64h ; 'd' ; Move (Op1 <- Op2) ROM:3E8D 000 movx @DPTR, A ; Move from/to external RAM ROM:3E8E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3E8F 000 swap A ; Swap nibbles of Acc ROM:3E90 000 rrc A ; Rotate Acc right through Carry ROM:3E91 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:3E93 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:3E95 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:3E97 000 add A, #76h ; 'v' ; Add Second Operand to Acc ROM:3E99 000 mov DP0L, A ; Data Pointer Low Byte ROM:3E9B 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3E9C 000 addc A, #44h ; 'D' ; Add Second Operand to Acc with carry ROM:3E9E 000 mov DP0H, A ; Data Pointer High Byte ROM:3EA0 000 clr A ; Clear Operand (0) ROM:3EA1 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:3EA2 000 mov DPTR, #65h ; 'e' ; Move (Op1 <- Op2) ROM:3EA5 000 movx @DPTR, A ; Move from/to external RAM ROM:3EA6 000 ret ; Return from subroutine ROM:3EA6 ROM:3EA6 ; End of function ROM_3E7F ROM:3EA6 ROM:3EA7 ROM:3EA7 ; =============== S U B R O U T I N E ======================================= ROM:3EA7 ROM:3EA7 ROM:3EA7 ROM_3EA7: ROM:3EA7 000 mov R7, RAM_3E ; Move (Op1 <- Op2) ROM:3EA9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3EAA 000 swap A ; Swap nibbles of Acc ROM:3EAB 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3EAD 000 jb ACC.0, ROM_3EB7 ; Accumulator ROM:3EAD ROM:3EB0 000 mov R7, RAM_3E ; Move (Op1 <- Op2) ROM:3EB2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3EB3 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:3EB5 000 mov RAM_3E, A ; Move (Op1 <- Op2) ROM:3EB5 ROM:3EB7 ROM:3EB7 ROM_3EB7: ; CODE XREF: ROM_3EA7+6j ROM:3EB7 000 lcall ROM_404C ; Long Subroutine Call ROM:3EB7 ROM:3EBA 000 push RAM_7 ; Push from Direct RAM to Stack ROM:3EBC 001 lcall ROM_382F+1 ; Long Subroutine Call ROM:3EBC ROM:3EBF 001 pop ACC ; Accumulator ROM:3EC1 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3EC2 000 jnz ROM_3ED0 ; Jump if Acc is not zero ROM:3EC2 ROM:3EC4 000 mov R7, RAM_3E ; Move (Op1 <- Op2) ROM:3EC6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3EC7 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:3EC9 000 mov RAM_3E, A ; Move (Op1 <- Op2) ROM:3ECB 000 clr RAM_26.7 ; Clear Operand (0) ROM:3ECD 000 lcall ROM_3D06 ; Long Subroutine Call ROM:3ECD ROM:3ED0 ROM:3ED0 ROM_3ED0: ; CODE XREF: ROM_3EA7+1Bj ROM:3ED0 000 ret ; Return from subroutine ROM:3ED0 ROM:3ED0 ; End of function ROM_3EA7 ROM:3ED0 ROM:3ED1 ROM:3ED1 ; =============== S U B R O U T I N E ======================================= ROM:3ED1 ROM:3ED1 ROM:3ED1 ROM_3ED1: ROM:3ED1 000 mov R7, RAM_40 ; Move (Op1 <- Op2) ROM:3ED3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3ED4 000 swap A ; Swap nibbles of Acc ROM:3ED5 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3ED7 000 mov R7, A ; Move (Op1 <- Op2) ROM:3ED8 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3EDA 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3EDC 000 mov R6, A ; Move (Op1 <- Op2) ROM:3EDD 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:3EDE 000 jz ROM_3F11 ; Jump if Acc is zero ROM:3EDE ROM:3EE0 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3EE2 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3EE4 000 mov R7, A ; Move (Op1 <- Op2) ROM:3EE5 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3EE6 000 inc A ; Increment Operand ROM:3EE7 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3EE9 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3EEA 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:3EEC 000 mov A, #40h ; '@' ; Move (Op1 <- Op2) ROM:3EEE 000 add A, R6 ; Add Second Operand to Acc ROM:3EEF 000 mov DP0L, A ; Data Pointer Low Byte ROM:3EF1 000 clr A ; Clear Operand (0) ROM:3EF2 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:3EF4 000 mov DP0H, A ; Data Pointer High Byte ROM:3EF6 000 movx A, @DPTR ; Move from/to external RAM ROM:3EF7 000 mov R7, A ; Move (Op1 <- Op2) ROM:3EF8 000 mov DPTR, #661h ; Move (Op1 <- Op2) ROM:3EFB 000 clr A ; Clear Operand (0) ROM:3EFC 000 movx @DPTR, A ; Move from/to external RAM ROM:3EFD 000 inc DPTR ; Increment Operand ROM:3EFE 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3EFF 000 movx @DPTR, A ; Move from/to external RAM ROM:3F00 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3F02 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F04 000 clr C ; Clear Operand (0) ROM:3F05 000 subb A, #10h ; Subtract Second Operand from Acc with Borrow ROM:3F07 000 jc ROM_3F19 ; Jump if Carry is set ROM:3F07 ROM:3F09 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3F0B 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3F0D 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:3F0F 000 sjmp ROM_3F19 ; Short jump ROM:3F0F ROM:3F11 ; --------------------------------------------------------------------------- ROM:3F11 ROM:3F11 ROM_3F11: ; CODE XREF: ROM_3ED1+Dj ROM:3F11 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:3F13 000 mov DPTR, #661h ; Move (Op1 <- Op2) ROM:3F16 000 movx @DPTR, A ; Move from/to external RAM ROM:3F17 000 inc DPTR ; Increment Operand ROM:3F18 000 movx @DPTR, A ; Move from/to external RAM ROM:3F18 ROM:3F19 ROM:3F19 ROM_3F19: ; CODE XREF: ROM_3ED1+36j ROM:3F19 ; ROM_3ED1+3Ej ROM:3F19 000 mov DPTR, #661h ; Move (Op1 <- Op2) ROM:3F1C 000 movx A, @DPTR ; Move from/to external RAM ROM:3F1D 000 mov R6, A ; Move (Op1 <- Op2) ROM:3F1E 000 inc DPTR ; Increment Operand ROM:3F1F 000 movx A, @DPTR ; Move from/to external RAM ROM:3F20 000 mov R7, A ; Move (Op1 <- Op2) ROM:3F21 000 ret ; Return from subroutine ROM:3F21 ROM:3F21 ; End of function ROM_3ED1 ROM:3F21 ROM:3F22 ; --------------------------------------------------------------------------- ROM:3F22 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3F24 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3F26 swap A ; Swap nibbles of Acc ROM:3F27 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F29 mov R7, A ; Move (Op1 <- Op2) ROM:3F2A mov A, RAM_41 ; Move (Op1 <- Op2) ROM:3F2C anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3F2E orl A, R7 ; Logical OR (op1 |= op2) ROM:3F2F mov RAM_41, A ; Move (Op1 <- Op2) ROM:3F31 ret ; Return from subroutine ROM:3F31 ROM:3F32 ROM:3F32 ; =============== S U B R O U T I N E ======================================= ROM:3F32 ROM:3F32 ROM:3F32 ROM_3F32: ; CODE XREF: ROM_2B2F+18Ap ROM:3F32 ; ROM_4003+32p ... ROM:3F32 000 mov DPTR, #663h ; Move (Op1 <- Op2) ROM:3F35 000 mov A, #1 ; Move (Op1 <- Op2) ROM:3F37 000 movx @DPTR, A ; Move from/to external RAM ROM:3F38 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3F3A 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3F3C 000 swap A ; Swap nibbles of Acc ROM:3F3D 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F3F 000 mov R6, A ; Move (Op1 <- Op2) ROM:3F40 000 mov A, RAM_41 ; Move (Op1 <- Op2) ROM:3F42 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3F44 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:3F45 000 mov RAM_41, A ; Move (Op1 <- Op2) ROM:3F47 000 mov R6, RAM_40 ; Move (Op1 <- Op2) ROM:3F49 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3F4A 000 swap A ; Swap nibbles of Acc ROM:3F4B 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F4D 000 mov R6, A ; Move (Op1 <- Op2) ROM:3F4E 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F50 000 add A, #40h ; '@' ; Add Second Operand to Acc ROM:3F52 000 mov DP0L, A ; Data Pointer Low Byte ROM:3F54 000 clr A ; Clear Operand (0) ROM:3F55 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:3F57 000 mov DP0H, A ; Data Pointer High Byte ROM:3F59 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3F5A 000 movx @DPTR, A ; Move from/to external RAM ROM:3F5B 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3F5D 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F5F 000 mov R7, A ; Move (Op1 <- Op2) ROM:3F60 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3F61 000 inc A ; Increment Operand ROM:3F62 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F64 000 swap A ; Swap nibbles of Acc ROM:3F65 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3F67 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3F68 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:3F6A 000 swap A ; Swap nibbles of Acc ROM:3F6B 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F6D 000 clr C ; Clear Operand (0) ROM:3F6E 000 subb A, #10h ; Subtract Second Operand from Acc with Borrow ROM:3F70 000 jc ROM_3F78 ; Jump if Carry is set ROM:3F70 ROM:3F72 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3F74 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F76 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:3F76 ROM:3F78 ROM:3F78 ROM_3F78: ; CODE XREF: ROM_3F32+3Ej ROM:3F78 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3F7A 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F7C 000 mov R7, A ; Move (Op1 <- Op2) ROM:3F7D 000 mov R6, RAM_40 ; Move (Op1 <- Op2) ROM:3F7F 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3F80 000 swap A ; Swap nibbles of Acc ROM:3F81 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F83 000 cjne A, RAM_7, ROM_3FA7 ; Compare Operands and JNE ROM:3F83 ROM:3F86 000 mov A, RAM_41 ; Move (Op1 <- Op2) ROM:3F88 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F8A 000 swap A ; Swap nibbles of Acc ROM:3F8B 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:3F8D 000 mov R7, A ; Move (Op1 <- Op2) ROM:3F8E 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3F90 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F92 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:3F93 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:3F95 000 swap A ; Swap nibbles of Acc ROM:3F96 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3F98 000 add A, #40h ; '@' ; Add Second Operand to Acc ROM:3F9A 000 mov DP0L, A ; Data Pointer Low Byte ROM:3F9C 000 clr A ; Clear Operand (0) ROM:3F9D 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:3F9F 000 mov DP0H, A ; Data Pointer High Byte ROM:3FA1 000 clr A ; Clear Operand (0) ROM:3FA2 000 movx @DPTR, A ; Move from/to external RAM ROM:3FA3 000 mov DPTR, #663h ; Move (Op1 <- Op2) ROM:3FA6 000 movx @DPTR, A ; Move from/to external RAM ROM:3FA6 ROM:3FA7 ROM:3FA7 ROM_3FA7: ; CODE XREF: ROM_3F32+51j ROM:3FA7 000 mov DPTR, #663h ; Move (Op1 <- Op2) ROM:3FAA 000 movx A, @DPTR ; Move from/to external RAM ROM:3FAB 000 mov R7, A ; Move (Op1 <- Op2) ROM:3FAC 000 ret ; Return from subroutine ROM:3FAC ROM:3FAC ; End of function ROM_3F32 ROM:3FAC ROM:3FAD ROM:3FAD ; =============== S U B R O U T I N E ======================================= ROM:3FAD ROM:3FAD ROM:3FAD ROM_3FAD: ; CODE XREF: ROM_4690+Ap ROM:3FAD ; ROM:4807p ROM:3FAD 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3FAF 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3FB1 000 mov R7, A ; Move (Op1 <- Op2) ROM:3FB2 000 mov R6, RAM_40 ; Move (Op1 <- Op2) ROM:3FB4 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3FB5 000 swap A ; Swap nibbles of Acc ROM:3FB6 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3FB8 000 mov R6, A ; Move (Op1 <- Op2) ROM:3FB9 000 setb C ; Set Direct Bit ROM:3FBA 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:3FBB 000 jc ROM_3FC1 ; Jump if Carry is set ROM:3FBB ROM:3FBD 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3FBE 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:3FBF 000 mov R7, A ; Move (Op1 <- Op2) ROM:3FC0 000 ret ; Return from subroutine ROM:3FC0 ROM:3FC1 ; --------------------------------------------------------------------------- ROM:3FC1 ROM:3FC1 ROM_3FC1: ; CODE XREF: ROM_3FAD+Ej ROM:3FC1 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3FC3 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3FC5 000 mov R7, A ; Move (Op1 <- Op2) ROM:3FC6 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3FC7 000 clr C ; Clear Operand (0) ROM:3FC8 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:3FC9 000 jnc ROM_3FD7 ; Jump if Carry is clear ROM:3FC9 ROM:3FCB 000 mov R6, RAM_40 ; Move (Op1 <- Op2) ROM:3FCD 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3FCE 000 swap A ; Swap nibbles of Acc ROM:3FCF 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3FD1 000 mov R6, A ; Move (Op1 <- Op2) ROM:3FD2 000 clr C ; Clear Operand (0) ROM:3FD3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3FD4 000 subb A, R6 ; Subtract Second Operand from Acc with Borrow ROM:3FD5 000 mov R7, A ; Move (Op1 <- Op2) ROM:3FD6 000 ret ; Return from subroutine ROM:3FD6 ROM:3FD7 ; --------------------------------------------------------------------------- ROM:3FD7 ROM:3FD7 ROM_3FD7: ; CODE XREF: ROM_3FAD+1Cj ROM:3FD7 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3FD9 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3FDB 000 mov R7, A ; Move (Op1 <- Op2) ROM:3FDC 000 mov R6, RAM_40 ; Move (Op1 <- Op2) ROM:3FDE 000 mov A, R6 ; Move (Op1 <- Op2) ROM:3FDF 000 swap A ; Swap nibbles of Acc ROM:3FE0 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3FE2 000 cjne A, RAM_7, ROM_3FE7 ; Compare Operands and JNE ROM:3FE2 ROM:3FE5 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:3FE5 ROM:3FE7 ROM:3FE7 ROM_3FE7: ; CODE XREF: ROM_3FAD+35j ROM:3FE7 000 ret ; Return from subroutine ROM:3FE7 ROM:3FE7 ; End of function ROM_3FAD ROM:3FE7 ROM:3FE8 ROM:3FE8 ; =============== S U B R O U T I N E ======================================= ROM:3FE8 ROM:3FE8 ROM:3FE8 ROM_3FE8: ; CODE XREF: ROM_2B2F+178p ROM:3FE8 000 mov R7, RAM_40 ; Move (Op1 <- Op2) ROM:3FEA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3FEB 000 swap A ; Swap nibbles of Acc ROM:3FEC 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3FEE 000 mov R7, A ; Move (Op1 <- Op2) ROM:3FEF 000 inc R7 ; Increment Operand ROM:3FF0 000 mov A, R7 ; Move (Op1 <- Op2) ROM:3FF1 000 clr C ; Clear Operand (0) ROM:3FF2 000 subb A, #10h ; Subtract Second Operand from Acc with Borrow ROM:3FF4 000 jc ROM_3FF8 ; Jump if Carry is set ROM:3FF4 ROM:3FF6 000 clr A ; Clear Operand (0) ROM:3FF7 000 mov R7, A ; Move (Op1 <- Op2) ROM:3FF7 ROM:3FF8 ROM:3FF8 ROM_3FF8: ; CODE XREF: ROM_3FE8+Cj ROM:3FF8 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:3FFA 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:3FFC 000 cjne A, RAM_7, ROM_4001 ; Compare Operands and JNE ROM:3FFC ROM:3FFF 000 clr C ; Clear Operand (0) ROM:4000 000 ret ; Return from subroutine ROM:4000 ROM:4001 ; --------------------------------------------------------------------------- ROM:4001 ROM:4001 ROM_4001: ; CODE XREF: ROM_3FE8+14j ROM:4001 000 setb C ; Set Direct Bit ROM:4002 000 ret ; Return from subroutine ROM:4002 ROM:4002 ; End of function ROM_3FE8 ROM:4002 ROM:4003 ROM:4003 ; =============== S U B R O U T I N E ======================================= ROM:4003 ROM:4003 ROM:4003 ROM_4003: ; CODE XREF: ROM_46BC+12p ROM:4003 ; ROM_46BC+2Cp ... ROM:4003 000 mov DPTR, #664h ; Move (Op1 <- Op2) ROM:4006 000 mov A, R3 ; Move (Op1 <- Op2) ROM:4007 000 movx @DPTR, A ; Move from/to external RAM ROM:4008 000 inc DPTR ; Increment Operand ROM:4009 000 mov A, R2 ; Move (Op1 <- Op2) ROM:400A 000 movx @DPTR, A ; Move from/to external RAM ROM:400B 000 inc DPTR ; Increment Operand ROM:400C 000 mov A, R1 ; Move (Op1 <- Op2) ROM:400D 000 movx @DPTR, A ; Move from/to external RAM ROM:400E 000 clr A ; Clear Operand (0) ROM:400F 000 mov R5, A ; Move (Op1 <- Op2) ROM:400F ROM:4010 ROM:4010 ROM_4010: ; CODE XREF: ROM_4003+36j ROM:4010 ; ROM_4003+3Aj ROM:4010 000 mov DPTR, #664h ; Move (Op1 <- Op2) ROM:4013 000 movx A, @DPTR ; Move from/to external RAM ROM:4014 000 mov R3, A ; Move (Op1 <- Op2) ROM:4015 000 inc DPTR ; Increment Operand ROM:4016 000 movx A, @DPTR ; Move from/to external RAM ROM:4017 000 mov R2, A ; Move (Op1 <- Op2) ROM:4018 000 inc DPTR ; Increment Operand ROM:4019 000 movx A, @DPTR ; Move from/to external RAM ROM:401A 000 mov R1, A ; Move (Op1 <- Op2) ROM:401B 000 lcall ROM_B588 ; Long Subroutine Call ROM:401B ROM:401E 000 jz ROM_403F ; Jump if Acc is zero ROM:401E ROM:4020 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4021 000 jnz ROM_403F ; Jump if Acc is not zero ROM:4021 ROM:4023 000 mov DPTR, #664h ; Move (Op1 <- Op2) ROM:4026 000 inc DPTR ; Increment Operand ROM:4027 000 clr A ; Clear Operand (0) ROM:4028 000 mov B, #1 ; B Register ROM:402B 000 lcall ROM_B639 ; Long Subroutine Call ROM:402B ROM:402E 000 mov R1, B ; B Register ROM:4030 000 mov R2, A ; Move (Op1 <- Op2) ROM:4031 000 lcall ROM_B588 ; Long Subroutine Call ROM:4031 ROM:4034 000 mov R7, A ; Move (Op1 <- Op2) ROM:4035 000 lcall ROM_3F32 ; Long Subroutine Call ROM:4035 ROM:4038 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4039 000 jnz ROM_4010 ; Jump if Acc is not zero ROM:4039 ROM:403B 000 mov R5, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:403D 000 sjmp ROM_4010 ; Short jump ROM:403D ROM:403F ; --------------------------------------------------------------------------- ROM:403F ROM:403F ROM_403F: ; CODE XREF: ROM_4003+1Bj ROM:403F ; ROM_4003+1Ej ROM:403F 000 mov R7, RAM_5 ; Move (Op1 <- Op2) ROM:4041 000 ret ; Return from subroutine ROM:4041 ROM:4041 ; End of function ROM_4003 ROM:4041 ROM:4042 ; --------------------------------------------------------------------------- ROM:4042 mov R7, #0FFh ; Move (Op1 <- Op2) ROM:4044 ret ; Return from subroutine ROM:4044 ROM:4045 ROM:4045 ; =============== S U B R O U T I N E ======================================= ROM:4045 ROM:4045 ROM:4045 ROM_4045: ; CODE XREF: ROM_3D62+Dp ROM:4045 000 mov R3, #0 ; Move (Op1 <- Op2) ROM:4047 000 mov R2, #0 ; Move (Op1 <- Op2) ROM:4049 000 mov R1, #0 ; Move (Op1 <- Op2) ROM:404B 000 ret ; Return from subroutine ROM:404B ROM:404B ; End of function ROM_4045 ROM:404B ROM:404C ROM:404C ; =============== S U B R O U T I N E ======================================= ROM:404C ROM:404C ROM:404C ROM_404C: ; CODE XREF: ROM_3EA7:ROM_3EB7p ROM:404C 000 clr A ; Clear Operand (0) ROM:404D 000 mov DPTR, #667h ; Move (Op1 <- Op2) ROM:4050 000 movx @DPTR, A ; Move from/to external RAM ROM:4051 000 mov A, RAM_45 ; Move (Op1 <- Op2) ROM:4053 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:4055 000 mov RAM_45, A ; Move (Op1 <- Op2) ROM:4057 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:4059 000 mov RAM_45, A ; Move (Op1 <- Op2) ROM:405B 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:405D 000 mov RAM_45, A ; Move (Op1 <- Op2) ROM:405F 000 mov A, RAM_4B ; Move (Op1 <- Op2) ROM:4061 000 jz ROM_4079 ; Jump if Acc is zero ROM:4061 ROM:4063 000 mov R0, #72h ; 'r' ; Move (Op1 <- Op2) ROM:4065 000 mov R4, #6 ; Move (Op1 <- Op2) ROM:4067 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:4069 000 mov R3, #0 ; Move (Op1 <- Op2) ROM:406B 000 mov R2, #0 ; Move (Op1 <- Op2) ROM:406D 000 mov R1, #4Bh ; 'K' ; Move (Op1 <- Op2) ROM:406F 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:4071 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:4073 000 lcall ROM_B7B7 ; Long Subroutine Call ROM:4073 ROM:4076 000 lcall ROM_43D2 ; Long Subroutine Call ROM:4076 ROM:4079 ROM:4079 ROM_4079: ; CODE XREF: ROM_404C+15j ROM:4079 000 mov A, RAM_49 ; Move (Op1 <- Op2) ROM:407B 000 jz ROM_408C ; Jump if Acc is zero ROM:407B ROM:407D 000 mov A, RAM_45 ; Move (Op1 <- Op2) ROM:407F 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:4081 000 mov RAM_45, A ; Move (Op1 <- Op2) ROM:4083 000 lcall ROM_429C ; Long Subroutine Call ROM:4083 ROM:4086 000 mov DPTR, #667h ; Move (Op1 <- Op2) ROM:4089 000 mov A, #1 ; Move (Op1 <- Op2) ROM:408B 000 movx @DPTR, A ; Move from/to external RAM ROM:408B ROM:408C ROM:408C ROM_408C: ; CODE XREF: ROM_404C+2Fj ROM:408C 000 mov DPTR, #667h ; Move (Op1 <- Op2) ROM:408F 000 movx A, @DPTR ; Move from/to external RAM ROM:4090 000 jnz ROM_40DB ; Jump if Acc is not zero ROM:4090 ROM:4092 000 inc DPTR ; Increment Operand ROM:4093 000 movx @DPTR, A ; Move from/to external RAM ROM:4093 ROM:4094 ROM:4094 ROM_4094: ; CODE XREF: ROM_404C+8Dj ROM:4094 000 mov DPTR, #668h ; Move (Op1 <- Op2) ROM:4097 000 movx A, @DPTR ; Move from/to external RAM ROM:4098 000 mov R7, A ; Move (Op1 <- Op2) ROM:4099 000 clr C ; Clear Operand (0) ROM:409A 000 subb A, #1 ; Subtract Second Operand from Acc with Borrow ROM:409C 000 jnc ROM_40DB ; Jump if Carry is clear ROM:409C ROM:409E 000 lcall ROM_4145 ; Long Subroutine Call ROM:409E ROM:40A1 000 mov DPTR, #1D04h ; Move (Op1 <- Op2) ROM:40A4 000 movx A, @DPTR ; Move from/to external RAM ROM:40A5 000 mov DPTR, #669h ; Move (Op1 <- Op2) ROM:40A8 000 movx @DPTR, A ; Move from/to external RAM ROM:40A9 000 mov DPTR, #668h ; Move (Op1 <- Op2) ROM:40AC 000 movx A, @DPTR ; Move from/to external RAM ROM:40AD 000 mov R6, A ; Move (Op1 <- Op2) ROM:40AE 000 add A, #7Dh ; '}' ; Add Second Operand to Acc ROM:40B0 000 mov R0, A ; Move (Op1 <- Op2) ROM:40B1 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:40B2 000 mov R7, A ; Move (Op1 <- Op2) ROM:40B3 000 inc DPTR ; Increment Operand ROM:40B4 000 movx A, @DPTR ; Move from/to external RAM ROM:40B5 000 cpl A ; Complement Operand ROM:40B6 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:40B7 000 movx @DPTR, A ; Move from/to external RAM ROM:40B8 000 movx A, @DPTR ; Move from/to external RAM ROM:40B9 000 mov R7, A ; Move (Op1 <- Op2) ROM:40BA 000 jz ROM_40C3 ; Jump if Acc is zero ROM:40BA ROM:40BC 000 mov A, R6 ; Move (Op1 <- Op2) ROM:40BD 000 add A, #10h ; Add Second Operand to Acc ROM:40BF 000 mov R5, A ; Move (Op1 <- Op2) ROM:40C0 000 lcall ROM_416E ; Long Subroutine Call ROM:40C0 ROM:40C3 ROM:40C3 ROM_40C3: ; CODE XREF: ROM_404C+6Ej ROM:40C3 000 mov DPTR, #668h ; Move (Op1 <- Op2) ROM:40C6 000 movx A, @DPTR ; Move from/to external RAM ROM:40C7 000 add A, #7Dh ; '}' ; Add Second Operand to Acc ROM:40C9 000 mov R0, A ; Move (Op1 <- Op2) ROM:40CA 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:40CB 000 jz ROM_40D3 ; Jump if Acc is zero ROM:40CB ROM:40CD 000 mov A, RAM_45 ; Move (Op1 <- Op2) ROM:40CF 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:40D1 000 mov RAM_45, A ; Move (Op1 <- Op2) ROM:40D1 ROM:40D3 ROM:40D3 ROM_40D3: ; CODE XREF: ROM_404C+7Fj ROM:40D3 000 mov DPTR, #668h ; Move (Op1 <- Op2) ROM:40D6 000 movx A, @DPTR ; Move from/to external RAM ROM:40D7 000 inc A ; Increment Operand ROM:40D8 000 movx @DPTR, A ; Move from/to external RAM ROM:40D9 000 sjmp ROM_4094 ; Short jump ROM:40D9 ROM:40DB ; --------------------------------------------------------------------------- ROM:40DB ROM:40DB ROM_40DB: ; CODE XREF: ROM_404C+44j ROM:40DB ; ROM_404C+50j ROM:40DB 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:40DD 000 mov A, R7 ; Move (Op1 <- Op2) ROM:40DE 000 rrc A ; Rotate Acc right through Carry ROM:40DF 000 rrc A ; Rotate Acc right through Carry ROM:40E0 000 rrc A ; Rotate Acc right through Carry ROM:40E1 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:40E3 000 jnb ACC.0, ROM_4124 ; Accumulator ROM:40E3 ROM:40E6 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:40E8 000 mov A, R7 ; Move (Op1 <- Op2) ROM:40E9 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:40EB 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:40ED 000 mov A, RAM_47 ; Move (Op1 <- Op2) ROM:40EF 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:40F1 000 mov DPTR, #669h ; Move (Op1 <- Op2) ROM:40F4 000 movx @DPTR, A ; Move from/to external RAM ROM:40F5 000 movx A, @DPTR ; Move from/to external RAM ROM:40F6 000 jnz ROM_411A ; Jump if Acc is not zero ROM:40F6 ROM:40F8 000 mov R7, RAM_49 ; Move (Op1 <- Op2) ROM:40FA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:40FB 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:40FD 000 mov R7, A ; Move (Op1 <- Op2) ROM:40FE 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4100 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:4102 000 inc R0 ; Increment Operand ROM:4103 000 sjmp ROM_4107 ; Short jump ROM:4103 ROM:4105 ; --------------------------------------------------------------------------- ROM:4105 ROM:4105 ROM_4105: ; CODE XREF: ROM_404C:ROM_4107j ROM:4105 000 clr C ; Clear Operand (0) ROM:4105 ROM:4106 ROM:4106 ROM_4106: ; DATA XREF: ROM:B34Fo ROM:4106 ; ROM:B353o ... ROM:4106 000 rlc A ; Rotate Acc left through Carry ROM:4106 ROM:4107 ROM:4107 ROM_4107: ; CODE XREF: ROM_404C+B7j ROM:4107 000 djnz R0, ROM_4105 ; Decrement Operand and JNZ ROM:4107 ROM:4109 000 mov DPTR, #669h ; Move (Op1 <- Op2) ROM:410C 000 movx @DPTR, A ; Move from/to external RAM ROM:410D 000 movx A, @DPTR ; Move from/to external RAM ROM:410E 000 mov R7, A ; Move (Op1 <- Op2) ROM:410F 000 mov DPTR, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:4112 000 movx A, @DPTR ; Move from/to external RAM ROM:4113 000 mov R6, A ; Move (Op1 <- Op2) ROM:4114 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4115 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:4116 000 mov DPTR, #669h ; Move (Op1 <- Op2) ROM:4119 000 movx @DPTR, A ; Move from/to external RAM ROM:4119 ROM:411A ROM:411A ROM_411A: ; CODE XREF: ROM_404C+AAj ROM:411A 000 mov DPTR, #669h ; Move (Op1 <- Op2) ROM:411D 000 movx A, @DPTR ; Move from/to external RAM ROM:411E 000 jnz ROM_4124 ; Jump if Acc is not zero ROM:411E ROM:4120 000 mov RAM_49, A ; Move (Op1 <- Op2) ROM:4122 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:4122 ROM:4124 ROM:4124 ROM_4124: ; CODE XREF: ROM_404C+97j ROM:4124 ; ROM_404C+D2j ROM:4124 000 mov DPTR, #KEYBOARD_KSOH2 ; Keyboard Scan Out [17:16] ROM:4127 000 mov A, #3 ; Move (Op1 <- Op2) ROM:4129 000 movx @DPTR, A ; Move from/to external RAM ROM:412A 000 mov R7, RAM_45 ; Move (Op1 <- Op2) ROM:412C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:412D 000 swap A ; Swap nibbles of Acc ROM:412E 000 rrc A ; Rotate Acc right through Carry ROM:412F 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:4131 000 mov R7, A ; Move (Op1 <- Op2) ROM:4132 000 mov R6, RAM_45 ; Move (Op1 <- Op2) ROM:4134 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4135 000 swap A ; Swap nibbles of Acc ROM:4136 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:4138 000 add A, R7 ; Add Second Operand to Acc ROM:4139 000 mov R7, A ; Move (Op1 <- Op2) ROM:413A 000 mov R6, RAM_45 ; Move (Op1 <- Op2) ROM:413C 000 mov A, R6 ; Move (Op1 <- Op2) ROM:413D 000 swap A ; Swap nibbles of Acc ROM:413E 000 rrc A ; Rotate Acc right through Carry ROM:413F 000 rrc A ; Rotate Acc right through Carry ROM:4140 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:4142 000 add A, R7 ; Add Second Operand to Acc ROM:4143 000 mov R7, A ; Move (Op1 <- Op2) ROM:4144 000 ret ; Return from subroutine ROM:4144 ROM:4144 ; End of function ROM_404C ROM:4144 ROM:4145 ROM:4145 ; =============== S U B R O U T I N E ======================================= ROM:4145 ROM:4145 ROM:4145 ROM_4145: ; CODE XREF: ROM_404C+52p ROM:4145 ; ROM_429C+7p ROM:4145 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4146 000 clr C ; Clear Operand (0) ROM:4147 000 subb A, #2 ; Subtract Second Operand from Acc with Borrow ROM:4149 000 jnc ROM_4161 ; Jump if Carry is clear ROM:4149 ROM:414B 000 mov DPTR, #KEYBOARD_KSOL ; Keyboard Scan Out [7:0] ROM:414E 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:4150 000 movx @DPTR, A ; Move from/to external RAM ROM:4151 000 inc DPTR ; Increment Operand ROM:4152 000 movx @DPTR, A ; Move from/to external RAM ROM:4153 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4155 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:4157 000 inc R0 ; Increment Operand ROM:4158 000 sjmp ROM_415C ; Short jump ROM:4158 ROM:415A ; --------------------------------------------------------------------------- ROM:415A ROM:415A ROM_415A: ; CODE XREF: ROM_4145:ROM_415Cj ROM:415A 000 clr C ; Clear Operand (0) ROM:415B 000 rlc A ; Rotate Acc left through Carry ROM:415B ROM:415C ROM:415C ROM_415C: ; CODE XREF: ROM_4145+13j ROM:415C 000 djnz R0, ROM_415A ; Decrement Operand and JNZ ROM:415C ROM:415E 000 cpl A ; Complement Operand ROM:415F 000 sjmp ROM_4169 ; Short jump ROM:415F ROM:4161 ; --------------------------------------------------------------------------- ROM:4161 ROM:4161 ROM_4161: ; CODE XREF: ROM_4145+4j ROM:4161 000 mov DPTR, #KEYBOARD_KSOL ; Keyboard Scan Out [7:0] ROM:4164 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:4166 000 movx @DPTR, A ; Move from/to external RAM ROM:4167 000 inc DPTR ; Increment Operand ROM:4168 000 movx @DPTR, A ; Move from/to external RAM ROM:4168 ROM:4169 ROM:4169 ROM_4169: ; CODE XREF: ROM_4145+1Aj ROM:4169 000 mov DPTR, #KEYBOARD_KSOH2 ; Keyboard Scan Out [17:16] ROM:416C 000 movx @DPTR, A ; Move from/to external RAM ROM:416D 000 ret ; Return from subroutine ROM:416D ROM:416D ; End of function ROM_4145 ROM:416D ROM:416E ROM:416E ; =============== S U B R O U T I N E ======================================= ROM:416E ROM:416E ROM:416E ROM_416E: ; CODE XREF: ROM_404C+74p ROM:416E 000 mov DPTR, #66Ah ; Move (Op1 <- Op2) ROM:4171 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4172 000 movx @DPTR, A ; Move from/to external RAM ROM:4173 000 inc DPTR ; Increment Operand ROM:4174 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4175 000 movx @DPTR, A ; Move from/to external RAM ROM:4176 000 clr A ; Clear Operand (0) ROM:4177 000 mov R3, A ; Move (Op1 <- Op2) ROM:4178 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:417A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:417B 000 rrc A ; Rotate Acc right through Carry ROM:417C 000 rrc A ; Rotate Acc right through Carry ROM:417D 000 rrc A ; Rotate Acc right through Carry ROM:417E 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:4180 000 jnb ACC.0, ROM_4186 ; Accumulator ROM:4180 ROM:4183 000 inc R3 ; Increment Operand ROM:4184 000 sjmp ROM_41A4 ; Short jump ROM:4184 ROM:4186 ; --------------------------------------------------------------------------- ROM:4186 ROM:4186 ROM_4186: ; CODE XREF: ROM_416E+12j ROM:4186 000 mov DPTR, #66Bh ; Move (Op1 <- Op2) ROM:4189 000 movx A, @DPTR ; Move from/to external RAM ROM:418A 000 mov R5, A ; Move (Op1 <- Op2) ROM:418B 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:418D 000 mov R0, A ; Move (Op1 <- Op2) ROM:418E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:418F 000 cpl A ; Complement Operand ROM:4190 000 mov R7, A ; Move (Op1 <- Op2) ROM:4191 000 mov DPTR, #66Ah ; Move (Op1 <- Op2) ROM:4194 000 movx A, @DPTR ; Move from/to external RAM ROM:4195 000 anl A, R7 ; Logical AND (op1 &= op2) ROM:4196 000 mov R7, A ; Move (Op1 <- Op2) ROM:4197 000 jnz ROM_419C ; Jump if Acc is not zero ROM:4197 ROM:4199 000 mov R3, A ; Move (Op1 <- Op2) ROM:419A 000 sjmp ROM_41A4 ; Short jump ROM:419A ROM:419C ; --------------------------------------------------------------------------- ROM:419C ROM:419C ROM_419C: ; CODE XREF: ROM_416E+29j ROM:419C 000 lcall ROM_3AB3 ; Long Subroutine Call ROM:419C ROM:419F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:41A0 000 jz ROM_41A4 ; Jump if Acc is zero ROM:41A0 ROM:41A2 000 mov R3, #1 ; Move (Op1 <- Op2) ROM:41A2 ROM:41A4 ROM:41A4 ROM_41A4: ; CODE XREF: ROM_416E+16j ROM:41A4 ; ROM_416E+2Cj ... ROM:41A4 000 mov A, R3 ; Move (Op1 <- Op2) ROM:41A5 000 jz ROM_41C6 ; Jump if Acc is zero ROM:41A5 ROM:41A7 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:41A9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:41AA 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:41AC 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:41AE 000 mov DPTR, #66Ah ; Move (Op1 <- Op2) ROM:41B1 000 movx A, @DPTR ; Move from/to external RAM ROM:41B2 000 mov R7, A ; Move (Op1 <- Op2) ROM:41B3 000 inc DPTR ; Increment Operand ROM:41B4 000 movx A, @DPTR ; Move from/to external RAM ROM:41B5 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:41B7 000 mov R0, A ; Move (Op1 <- Op2) ROM:41B8 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:41B9 000 mov R6, A ; Move (Op1 <- Op2) ROM:41BA 000 mov DPTR, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:41BD 000 movx A, @DPTR ; Move from/to external RAM ROM:41BE 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:41BF 000 mov R6, A ; Move (Op1 <- Op2) ROM:41C0 000 mov A, R7 ; Move (Op1 <- Op2) ROM:41C1 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:41C2 000 mov DPTR, #66Ah ; Move (Op1 <- Op2) ROM:41C5 000 movx @DPTR, A ; Move from/to external RAM ROM:41C5 ROM:41C6 ROM:41C6 ROM_41C6: ; CODE XREF: ROM_416E+37j ROM:41C6 000 clr A ; Clear Operand (0) ROM:41C7 000 mov DPTR, #66Ch ; Move (Op1 <- Op2) ROM:41CA 000 movx @DPTR, A ; Move from/to external RAM ROM:41CA ROM:41CB ROM:41CB ROM_41CB: ; CODE XREF: ROM_416E+80j ROM:41CB 000 mov DPTR, #66Ah ; Move (Op1 <- Op2) ROM:41CE 000 movx A, @DPTR ; Move from/to external RAM ROM:41CF 000 jz ROM_41F0 ; Jump if Acc is zero ROM:41CF ROM:41D1 000 jnb ACC.0, ROM_41E1 ; Accumulator ROM:41D1 ROM:41D4 000 mov DPTR, #66Ch ; Move (Op1 <- Op2) ROM:41D7 000 movx A, @DPTR ; Move from/to external RAM ROM:41D8 000 mov R7, A ; Move (Op1 <- Op2) ROM:41D9 000 mov DPTR, #66Bh ; Move (Op1 <- Op2) ROM:41DC 000 movx A, @DPTR ; Move from/to external RAM ROM:41DD 000 mov R5, A ; Move (Op1 <- Op2) ROM:41DE 000 lcall ROM_41F1 ; Long Subroutine Call ROM:41DE ROM:41E1 ROM:41E1 ROM_41E1: ; CODE XREF: ROM_416E+63j ROM:41E1 000 mov DPTR, #66Ch ; Move (Op1 <- Op2) ROM:41E4 000 movx A, @DPTR ; Move from/to external RAM ROM:41E5 000 inc A ; Increment Operand ROM:41E6 000 movx @DPTR, A ; Move from/to external RAM ROM:41E7 000 mov DPTR, #66Ah ; Move (Op1 <- Op2) ROM:41EA 000 movx A, @DPTR ; Move from/to external RAM ROM:41EB 000 clr C ; Clear Operand (0) ROM:41EC 000 rrc A ; Rotate Acc right through Carry ROM:41ED 000 movx @DPTR, A ; Move from/to external RAM ROM:41EE 000 sjmp ROM_41CB ; Short jump ROM:41EE ROM:41F0 ; --------------------------------------------------------------------------- ROM:41F0 ROM:41F0 ROM_41F0: ; CODE XREF: ROM_416E+61j ROM:41F0 000 ret ; Return from subroutine ROM:41F0 ROM:41F0 ; End of function ROM_416E ROM:41F0 ROM:41F1 ROM:41F1 ; =============== S U B R O U T I N E ======================================= ROM:41F1 ROM:41F1 ROM:41F1 ROM_41F1: ; CODE XREF: ROM_416E+70p ROM:41F1 000 mov DPTR, #66Dh ; Move (Op1 <- Op2) ROM:41F4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:41F5 000 movx @DPTR, A ; Move from/to external RAM ROM:41F6 000 inc DPTR ; Increment Operand ROM:41F7 000 mov A, R5 ; Move (Op1 <- Op2) ROM:41F8 000 movx @DPTR, A ; Move from/to external RAM ROM:41F9 000 movx A, @DPTR ; Move from/to external RAM ROM:41FA 000 mov R5, A ; Move (Op1 <- Op2) ROM:41FB 000 add A, #6Dh ; 'm' ; Add Second Operand to Acc ROM:41FD 000 mov R0, A ; Move (Op1 <- Op2) ROM:41FE 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:41FF 000 mov R3, A ; Move (Op1 <- Op2) ROM:4200 000 mov R2, #0 ; Move (Op1 <- Op2) ROM:4202 000 mov DPTR, #66Dh ; Move (Op1 <- Op2) ROM:4205 000 movx A, @DPTR ; Move from/to external RAM ROM:4206 000 mov R4, A ; Move (Op1 <- Op2) ROM:4207 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4209 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:420B 000 mov R0, RAM_4 ; Move (Op1 <- Op2) ROM:420D 000 inc R0 ; Increment Operand ROM:420E 000 sjmp ROM_4215 ; Short jump ROM:420E ROM:4210 ; --------------------------------------------------------------------------- ROM:4210 ROM:4210 ROM_4210: ; CODE XREF: ROM_41F1:ROM_4215j ROM:4210 000 clr C ; Clear Operand (0) ROM:4211 000 rlc A ; Rotate Acc left through Carry ROM:4212 000 xch A, R6 ; Exchange Operands ROM:4213 000 rlc A ; Rotate Acc left through Carry ROM:4214 000 xch A, R6 ; Exchange Operands ROM:4214 ROM:4215 ROM:4215 ROM_4215: ; CODE XREF: ROM_41F1+1Dj ROM:4215 000 djnz R0, ROM_4210 ; Decrement Operand and JNZ ROM:4215 ROM:4217 000 mov R7, A ; Move (Op1 <- Op2) ROM:4218 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4219 000 anl A, R2 ; Logical AND (op1 &= op2) ROM:421A 000 mov R6, A ; Move (Op1 <- Op2) ROM:421B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:421C 000 anl A, R3 ; Logical AND (op1 &= op2) ROM:421D 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:421E 000 jz ROM_4235 ; Jump if Acc is zero ROM:421E ROM:4220 000 mov R7, RAM_45 ; Move (Op1 <- Op2) ROM:4222 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4223 000 swap A ; Swap nibbles of Acc ROM:4224 000 rrc A ; Rotate Acc right through Carry ROM:4225 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:4227 000 jb ACC.0, ROM_4250 ; Accumulator ROM:4227 ROM:422A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:422B 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:422D 000 mov RAM_45, A ; Move (Op1 <- Op2) ROM:422F 000 mov R7, RAM_4 ; Move (Op1 <- Op2) ROM:4231 000 mov R3, #1 ; Move (Op1 <- Op2) ROM:4233 000 sjmp ROM_424D ; Short jump ROM:4233 ROM:4235 ; --------------------------------------------------------------------------- ROM:4235 ROM:4235 ROM_4235: ; CODE XREF: ROM_41F1+2Dj ROM:4235 000 mov R7, RAM_45 ; Move (Op1 <- Op2) ROM:4237 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4238 000 swap A ; Swap nibbles of Acc ROM:4239 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:423B 000 jb ACC.0, ROM_4250 ; Accumulator ROM:423B ROM:423E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:423F 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:4241 000 mov RAM_45, A ; Move (Op1 <- Op2) ROM:4243 000 mov DPTR, #66Dh ; Move (Op1 <- Op2) ROM:4246 000 movx A, @DPTR ; Move from/to external RAM ROM:4247 000 mov R7, A ; Move (Op1 <- Op2) ROM:4248 000 inc DPTR ; Increment Operand ROM:4249 000 movx A, @DPTR ; Move from/to external RAM ROM:424A 000 mov R5, A ; Move (Op1 <- Op2) ROM:424B 000 clr A ; Clear Operand (0) ROM:424C 000 mov R3, A ; Move (Op1 <- Op2) ROM:424C ROM:424D ROM:424D ROM_424D: ; CODE XREF: ROM_41F1+42j ROM:424D 000 lcall ROM_4251 ; Long Subroutine Call ROM:424D ROM:4250 ROM:4250 ROM_4250: ; CODE XREF: ROM_41F1+36j ROM:4250 ; ROM_41F1+4Aj ROM:4250 000 ret ; Return from subroutine ROM:4250 ROM:4250 ; End of function ROM_41F1 ROM:4250 ROM:4251 ROM:4251 ; =============== S U B R O U T I N E ======================================= ROM:4251 ROM:4251 ROM:4251 ROM_4251: ; CODE XREF: ROM_41F1:ROM_424Dp ROM:4251 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4252 000 add A, #0F0h ; '=' ; Add Second Operand to Acc ROM:4254 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4256 000 swap A ; Swap nibbles of Acc ROM:4257 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:4259 000 mov R6, A ; Move (Op1 <- Op2) ROM:425A 000 mov R5, RAM_49 ; Move (Op1 <- Op2) ROM:425C 000 mov A, R5 ; Move (Op1 <- Op2) ROM:425D 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:425F 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:4260 000 mov RAM_49, A ; Move (Op1 <- Op2) ROM:4262 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4263 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:4265 000 mov R7, A ; Move (Op1 <- Op2) ROM:4266 000 mov R6, RAM_49 ; Move (Op1 <- Op2) ROM:4268 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4269 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:426B 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:426C 000 mov RAM_49, A ; Move (Op1 <- Op2) ROM:426E 000 mov R7, RAM_49 ; Move (Op1 <- Op2) ROM:4270 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4271 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:4273 000 mov RAM_49, A ; Move (Op1 <- Op2) ROM:4275 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:4277 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4278 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:427A 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:427C 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:427E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:427F 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:4281 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:4283 000 mov A, R3 ; Move (Op1 <- Op2) ROM:4284 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:4286 000 jnz ROM_428D ; Jump if Acc is not zero ROM:4286 ROM:4288 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4289 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:428B 000 sjmp ROM_4290 ; Short jump ROM:428B ROM:428D ; --------------------------------------------------------------------------- ROM:428D ROM:428D ROM_428D: ; CODE XREF: ROM_4251+35j ROM:428D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:428E 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:428E ROM:4290 ROM:4290 ROM_4290: ; CODE XREF: ROM_4251+3Aj ROM:4290 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:4292 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:4294 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4295 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:4297 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:4299 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:429B 000 ret ; Return from subroutine ROM:429B ROM:429B ; End of function ROM_4251 ROM:429B ROM:429C ROM:429C ; =============== S U B R O U T I N E ======================================= ROM:429C ROM:429C ROM:429C ROM_429C: ; CODE XREF: ROM_404C+37p ROM:429C 000 mov R7, RAM_49 ; Move (Op1 <- Op2) ROM:429E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:429F 000 swap A ; Swap nibbles of Acc ROM:42A0 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:42A2 000 mov R7, A ; Move (Op1 <- Op2) ROM:42A3 000 lcall ROM_4145 ; Long Subroutine Call ROM:42A3 ROM:42A6 000 lcall ROM_3C01 ; Long Subroutine Call ROM:42A6 ROM:42A9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42AA 000 cpl A ; Complement Operand ROM:42AB 000 mov R7, A ; Move (Op1 <- Op2) ROM:42AC 000 mov R6, RAM_49 ; Move (Op1 <- Op2) ROM:42AE 000 mov A, R6 ; Move (Op1 <- Op2) ROM:42AF 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:42B1 000 mov R6, A ; Move (Op1 <- Op2) ROM:42B2 000 mov A, #1 ; Move (Op1 <- Op2) ROM:42B4 000 mov R0, RAM_6 ; Move (Op1 <- Op2) ROM:42B6 000 inc R0 ; Increment Operand ROM:42B7 000 sjmp ROM_42BB ; Short jump ROM:42B7 ROM:42B9 ; --------------------------------------------------------------------------- ROM:42B9 ROM:42B9 ROM_42B9: ; CODE XREF: ROM_429C:ROM_42BBj ROM:42B9 000 clr C ; Clear Operand (0) ROM:42BA 000 rlc A ; Rotate Acc left through Carry ROM:42BA ROM:42BB ROM:42BB ROM_42BB: ; CODE XREF: ROM_429C+1Bj ROM:42BB 000 djnz R0, ROM_42B9 ; Decrement Operand and JNZ ROM:42BB ROM:42BD 000 anl A, R7 ; Logical AND (op1 &= op2) ROM:42BE 000 mov R6, A ; Move (Op1 <- Op2) ROM:42BF 000 jz ROM_42CD ; Jump if Acc is zero ROM:42BF ROM:42C1 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:42C3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42C4 000 clr C ; Clear Operand (0) ROM:42C5 000 rrc A ; Rotate Acc right through Carry ROM:42C6 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:42C8 000 jb ACC.0, ROM_42D7 ; Accumulator ROM:42C8 ROM:42CB 000 sjmp ROM_42DE ; Short jump ROM:42CB ROM:42CD ; --------------------------------------------------------------------------- ROM:42CD ROM:42CD ROM_42CD: ; CODE XREF: ROM_429C+23j ROM:42CD 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:42CF 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42D0 000 clr C ; Clear Operand (0) ROM:42D1 000 rrc A ; Rotate Acc right through Carry ROM:42D2 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:42D4 000 jb ACC.0, ROM_42DE ; Accumulator ROM:42D4 ROM:42D7 ROM:42D7 ROM_42D7: ; CODE XREF: ROM_429C+2Cj ROM:42D7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42D8 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:42DA 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:42DC 000 sjmp ROM_42E3 ; Short jump ROM:42DC ROM:42DE ; --------------------------------------------------------------------------- ROM:42DE ROM:42DE ROM_42DE: ; CODE XREF: ROM_429C+2Fj ROM:42DE ; ROM_429C+38j ROM:42DE 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42DF 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:42E1 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:42E1 ROM:42E3 ROM:42E3 ROM_42E3: ; CODE XREF: ROM_429C+40j ROM:42E3 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:42E5 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42E6 000 jb ACC.0, ROM_431D ; Accumulator ROM:42E6 ROM:42E9 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:42EB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42EC 000 swap A ; Swap nibbles of Acc ROM:42ED 000 rrc A ; Rotate Acc right through Carry ROM:42EE 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:42F0 000 jz ROM_430A ; Jump if Acc is zero ROM:42F0 ROM:42F2 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:42F4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42F5 000 swap A ; Swap nibbles of Acc ROM:42F6 000 rrc A ; Rotate Acc right through Carry ROM:42F7 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:42F9 000 mov R6, A ; Move (Op1 <- Op2) ROM:42FA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:42FB 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:42FD 000 mov R7, A ; Move (Op1 <- Op2) ROM:42FE 000 mov A, R6 ; Move (Op1 <- Op2) ROM:42FF 000 dec A ; Decrement Operand ROM:4300 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:4300 ROM:4302 ROM:4302 ROM_4302: ; CODE XREF: ROM:951Bj ROM:4302 000 swap A ; Swap nibbles of Acc ROM:4303 000 rlc A ; Rotate Acc left through Carry ROM:4304 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:4306 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:4307 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:4309 000 ret ; Return from subroutine ROM:4309 ROM:430A ; --------------------------------------------------------------------------- ROM:430A ROM:430A ROM_430A: ; CODE XREF: ROM_429C+54j ROM:430A 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:430C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:430D 000 swap A ; Swap nibbles of Acc ROM:430E 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4310 000 jb ACC.0, ROM_4315 ; Accumulator ROM:4310 ROM:4313 000 sjmp ROM_4326 ; Short jump ROM:4313 ROM:4315 ; --------------------------------------------------------------------------- ROM:4315 ROM:4315 ROM_4315: ; CODE XREF: ROM_429C+74j ROM:4315 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:4317 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4318 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:431A 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:431C 000 ret ; Return from subroutine ROM:431C ROM:431D ; --------------------------------------------------------------------------- ROM:431D ROM:431D ROM_431D: ; CODE XREF: ROM_429C+4Aj ROM:431D 000 mov R7, RAM_47 ; Move (Op1 <- Op2) ROM:431F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4320 000 swap A ; Swap nibbles of Acc ROM:4321 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4323 000 jb ACC.0, ROM_432C ; Accumulator ROM:4323 ROM:4326 ROM:4326 ROM_4326: ; CODE XREF: ROM_429C+77j ROM:4326 000 clr A ; Clear Operand (0) ROM:4327 000 mov RAM_49, A ; Move (Op1 <- Op2) ROM:4329 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:432B 000 ret ; Return from subroutine ROM:432B ROM:432C ; --------------------------------------------------------------------------- ROM:432C ROM:432C ROM_432C: ; CODE XREF: ROM_429C+87j ROM:432C 000 lcall ROM_4330 ; Long Subroutine Call ROM:432C ROM:432F 000 ret ; Return from subroutine ROM:432F ROM:432F ; End of function ROM_429C ROM:432F ROM:4330 ROM:4330 ; =============== S U B R O U T I N E ======================================= ROM:4330 ROM:4330 ROM:4330 ROM_4330: ; CODE XREF: ROM_429C:ROM_432Cp ROM:4330 000 mov R7, RAM_49 ; Move (Op1 <- Op2) ROM:4332 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4333 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:4335 000 mov R7, A ; Move (Op1 <- Op2) ROM:4336 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4338 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:433A 000 inc R0 ; Increment Operand ROM:433B 000 sjmp ROM_433F ; Short jump ROM:433B ROM:433D ; --------------------------------------------------------------------------- ROM:433D ROM:433D ROM_433D: ; CODE XREF: ROM_4330:ROM_433Fj ROM:433D 000 clr C ; Clear Operand (0) ROM:433E 000 rlc A ; Rotate Acc left through Carry ROM:433E ROM:433F ROM:433F ROM_433F: ; CODE XREF: ROM_4330+Bj ROM:433F 000 djnz R0, ROM_433D ; Decrement Operand and JNZ ROM:433F ROM:4341 000 mov R7, A ; Move (Op1 <- Op2) ROM:4342 000 mov R6, RAM_49 ; Move (Op1 <- Op2) ROM:4344 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4345 000 swap A ; Swap nibbles of Acc ROM:4346 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4348 000 add A, #7Dh ; '}' ; Add Second Operand to Acc ROM:434A 000 mov R0, A ; Move (Op1 <- Op2) ROM:434B 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:434C 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:434D 000 mov R6, A ; Move (Op1 <- Op2) ROM:434E 000 mov R5, RAM_49 ; Move (Op1 <- Op2) ROM:4350 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4351 000 swap A ; Swap nibbles of Acc ROM:4352 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4354 000 add A, #7Dh ; '}' ; Add Second Operand to Acc ROM:4356 000 mov R0, A ; Move (Op1 <- Op2) ROM:4357 000 mov @R0, RAM_6 ; Move (Op1 <- Op2) ROM:4359 000 mov DPTR, #66Fh ; Move (Op1 <- Op2) ROM:435C 000 mov A, #1 ; Move (Op1 <- Op2) ROM:435E 000 movx @DPTR, A ; Move from/to external RAM ROM:435F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4360 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:4361 000 jz ROM_437B ; Jump if Acc is zero ROM:4361 ROM:4363 000 clr A ; Clear Operand (0) ROM:4364 000 movx @DPTR, A ; Move from/to external RAM ROM:4365 000 mov RAM_4B, RAM_49 ; Move (Op1 <- Op2) ROM:4368 000 mov A, RAM_44 ; Move (Op1 <- Op2) ROM:436A 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:436C 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:436E 000 mov RAM_44, A ; Move (Op1 <- Op2) ROM:4370 000 mov DPTR, #65h ; 'e' ; Move (Op1 <- Op2) ROM:4373 000 movx A, @DPTR ; Move from/to external RAM ROM:4374 000 mov DPTR, #66h ; 'f' ; Move (Op1 <- Op2) ROM:4377 000 movx @DPTR, A ; Move from/to external RAM ROM:4378 000 clr A ; Clear Operand (0) ROM:4379 000 mov RAM_4A, A ; Move (Op1 <- Op2) ROM:4379 ROM:437B ROM:437B ROM_437B: ; CODE XREF: ROM_4330+31j ROM:437B 000 mov R0, #70h ; 'p' ; Move (Op1 <- Op2) ROM:437D 000 mov R4, #6 ; Move (Op1 <- Op2) ROM:437F 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:4381 000 mov R3, #0 ; Move (Op1 <- Op2) ROM:4383 000 mov R2, #0 ; Move (Op1 <- Op2) ROM:4385 000 mov R1, #49h ; 'I' ; Move (Op1 <- Op2) ROM:4387 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:4389 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:438B 000 lcall ROM_B7B7 ; Long Subroutine Call ROM:438B ROM:438E 000 mov DPTR, #66Fh ; Move (Op1 <- Op2) ROM:4391 000 movx A, @DPTR ; Move from/to external RAM ROM:4392 000 mov DPTR, #671h ; Move (Op1 <- Op2) ROM:4395 000 movx @DPTR, A ; Move from/to external RAM ROM:4396 000 lcall ROM_439F ; Long Subroutine Call ROM:4396 ROM:4399 000 clr A ; Clear Operand (0) ROM:439A 000 mov RAM_49, A ; Move (Op1 <- Op2) ROM:439C 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:439E 000 ret ; Return from subroutine ROM:439E ROM:439E ; End of function ROM_4330 ROM:439E ROM:439F ROM:439F ; =============== S U B R O U T I N E ======================================= ROM:439F ROM:439F ROM:439F ROM_439F: ; CODE XREF: ROM_4330+66p ROM:439F ; ROM_43D2+80p ROM:439F 000 mov DPTR, #670h ; Move (Op1 <- Op2) ROM:43A2 000 movx A, @DPTR ; Move from/to external RAM ROM:43A3 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:43A5 000 mov B, #3 ; B Register ROM:43A8 000 mul AB ; Multiply Acc by B ROM:43A9 000 mov R7, A ; Move (Op1 <- Op2) ROM:43AA 000 movx A, @DPTR ; Move from/to external RAM ROM:43AB 000 mov R6, A ; Move (Op1 <- Op2) ROM:43AC 000 swap A ; Swap nibbles of Acc ROM:43AD 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:43AF 000 add A, R7 ; Add Second Operand to Acc ROM:43B0 000 mov R7, A ; Move (Op1 <- Op2) ROM:43B1 000 mov DPTR, #62h ; 'b' ; Move (Op1 <- Op2) ROM:43B4 000 movx A, @DPTR ; Move from/to external RAM ROM:43B5 000 mov R4, A ; Move (Op1 <- Op2) ROM:43B6 000 inc DPTR ; Increment Operand ROM:43B7 000 movx A, @DPTR ; Move from/to external RAM ROM:43B8 000 add A, R7 ; Add Second Operand to Acc ROM:43B9 000 mov DP0L, A ; Data Pointer Low Byte ROM:43BB 000 clr A ; Clear Operand (0) ROM:43BC 000 addc A, R4 ; Add Second Operand to Acc with carry ROM:43BD 000 mov DP0H, A ; Data Pointer High Byte ROM:43BF 000 clr A ; Clear Operand (0) ROM:43C0 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:43C1 000 mov R7, A ; Move (Op1 <- Op2) ROM:43C2 000 mov DPTR, #671h ; Move (Op1 <- Op2) ROM:43C5 000 movx A, @DPTR ; Move from/to external RAM ROM:43C6 000 mov R5, A ; Move (Op1 <- Op2) ROM:43C7 000 ljmp ROM_44BE ; Long Jump ROM:43C7 ROM:43C7 ; End of function ROM_439F ROM:43C7 ROM:43CA ROM:43CA ; =============== S U B R O U T I N E ======================================= ROM:43CA ROM:43CA ROM:43CA clear_RAMs_49_47_4B: ; CODE XREF: magic_words+14p ROM:43CA 000 clr A ; Clear Operand (0) ROM:43CB 000 mov RAM_49, A ; Move (Op1 <- Op2) ROM:43CD 000 mov RAM_47, A ; Move (Op1 <- Op2) ROM:43CF 000 mov RAM_4B, A ; Move (Op1 <- Op2) ROM:43D1 000 ret ; Return from subroutine ROM:43D1 ROM:43D1 ; End of function clear_RAMs_49_47_4B ROM:43D1 ROM:43D2 ROM:43D2 ; =============== S U B R O U T I N E ======================================= ROM:43D2 ROM:43D2 ROM:43D2 ROM_43D2: ; CODE XREF: ROM_404C+2Ap ROM:43D2 000 clr A ; Clear Operand (0) ROM:43D3 000 mov R7, A ; Move (Op1 <- Op2) ROM:43D4 000 mov DPTR, #672h ; Move (Op1 <- Op2) ROM:43D7 000 movx A, @DPTR ; Move from/to external RAM ROM:43D8 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:43DA 000 mov R6, A ; Move (Op1 <- Op2) ROM:43DB 000 mov A, #1 ; Move (Op1 <- Op2) ROM:43DD 000 mov R0, RAM_6 ; Move (Op1 <- Op2) ROM:43DF 000 inc R0 ; Increment Operand ROM:43E0 000 sjmp ROM_43E4 ; Short jump ROM:43E0 ROM:43E2 ; --------------------------------------------------------------------------- ROM:43E2 ROM:43E2 ROM_43E2: ; CODE XREF: ROM_43D2:ROM_43E4j ROM:43E2 000 clr C ; Clear Operand (0) ROM:43E3 000 rlc A ; Rotate Acc left through Carry ROM:43E3 ROM:43E4 ROM:43E4 ROM_43E4: ; CODE XREF: ROM_43D2+Ej ROM:43E4 000 djnz R0, ROM_43E2 ; Decrement Operand and JNZ ROM:43E4 ROM:43E6 000 mov R6, A ; Move (Op1 <- Op2) ROM:43E7 000 mov DPTR, #672h ; Move (Op1 <- Op2) ROM:43EA 000 movx A, @DPTR ; Move from/to external RAM ROM:43EB 000 swap A ; Swap nibbles of Acc ROM:43EC 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:43EE 000 add A, #7Dh ; '}' ; Add Second Operand to Acc ROM:43F0 000 mov R0, A ; Move (Op1 <- Op2) ROM:43F1 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:43F2 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:43F3 000 jnz ROM_43F9 ; Jump if Acc is not zero ROM:43F3 ROM:43F5 000 mov RAM_4B, A ; Move (Op1 <- Op2) ROM:43F7 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:43F7 ROM:43F9 ROM:43F9 ROM_43F9: ; CODE XREF: ROM_43D2+21j ROM:43F9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:43FA 000 jnz ROM_4418 ; Jump if Acc is not zero ROM:43FA ROM:43FC 000 mov R6, RAM_44 ; Move (Op1 <- Op2) ROM:43FE 000 mov A, R6 ; Move (Op1 <- Op2) ROM:43FF 000 swap A ; Swap nibbles of Acc ROM:4400 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4402 000 mov R5, A ; Move (Op1 <- Op2) ROM:4403 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4404 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4406 000 mov R6, A ; Move (Op1 <- Op2) ROM:4407 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4408 000 dec A ; Decrement Operand ROM:4409 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:440B 000 swap A ; Swap nibbles of Acc ROM:440C 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:440E 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:440F 000 mov RAM_44, A ; Move (Op1 <- Op2) ROM:4411 000 swap A ; Swap nibbles of Acc ROM:4412 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4414 000 jz ROM_4418 ; Jump if Acc is zero ROM:4414 ROM:4416 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:4416 ROM:4418 ROM:4418 ROM_4418: ; CODE XREF: ROM_43D2+28j ROM:4418 ; ROM_43D2+42j ROM:4418 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4419 000 jnz ROM_442E ; Jump if Acc is not zero ROM:4419 ROM:441B 000 mov A, RAM_44 ; Move (Op1 <- Op2) ROM:441D 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:441F 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:4421 000 mov RAM_44, A ; Move (Op1 <- Op2) ROM:4423 000 mov DPTR, #66h ; 'f' ; Move (Op1 <- Op2) ROM:4426 000 movx A, @DPTR ; Move from/to external RAM ROM:4427 000 dec A ; Decrement Operand ROM:4428 000 movx @DPTR, A ; Move from/to external RAM ROM:4429 000 movx A, @DPTR ; Move from/to external RAM ROM:442A 000 jz ROM_442E ; Jump if Acc is zero ROM:442A ROM:442C 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:442C ROM:442E ROM:442E ROM_442E: ; CODE XREF: ROM_43D2+47j ROM:442E ; ROM_43D2+58j ROM:442E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:442F 000 jnz ROM_4455 ; Jump if Acc is not zero ROM:442F ROM:4431 000 mov DPTR, #64h ; 'd' ; Move (Op1 <- Op2) ROM:4434 000 movx A, @DPTR ; Move from/to external RAM ROM:4435 000 mov DPTR, #66h ; 'f' ; Move (Op1 <- Op2) ROM:4438 000 movx @DPTR, A ; Move from/to external RAM ROM:4439 000 mov R0, #70h ; 'p' ; Move (Op1 <- Op2) ROM:443B 000 mov R4, #6 ; Move (Op1 <- Op2) ROM:443D 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:443F 000 mov R3, #1 ; Move (Op1 <- Op2) ROM:4441 000 mov R2, #6 ; Move (Op1 <- Op2) ROM:4443 000 mov R1, #72h ; 'r' ; Move (Op1 <- Op2) ROM:4445 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:4447 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:4449 000 lcall ROM_B7B7 ; Long Subroutine Call ROM:4449 ROM:444C 000 mov DPTR, #671h ; Move (Op1 <- Op2) ROM:444F 000 mov A, #2 ; Move (Op1 <- Op2) ROM:4451 000 movx @DPTR, A ; Move from/to external RAM ROM:4452 000 lcall ROM_439F ; Long Subroutine Call ROM:4452 ROM:4455 ROM:4455 ROM_4455: ; CODE XREF: ROM_43D2+5Dj ROM:4455 000 ret ; Return from subroutine ROM:4455 ROM:4455 ; End of function ROM_43D2 ROM:4455 ROM:4455 ; --------------------------------------------------------------------------- ROM:4456 db 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 9, 0Ah, 0Bh, 0Ch, 0Dh ROM:4456 db 0Eh, 0Fh, 10h, 12h, 14h, 16h, 18h, 19h, 1Bh, 1Eh, 21h ROM:4456 db 25h, 29h, 2Ch, 30h, 34h, 37h, 1Bh, 37h, 53h, 6Fh ROM:447A ROM:447A ; =============== S U B R O U T I N E ======================================= ROM:447A ROM:447A ROM:447A ROM_447A: ; CODE XREF: ROM_3C07+66p ROM:447A ; ROM_3C76+80p ROM:447A 000 mov DPTR, #675h ; Move (Op1 <- Op2) ROM:447D 000 movx A, @DPTR ; Move from/to external RAM ROM:447E 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:4480 000 swap A ; Swap nibbles of Acc ROM:4481 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:4483 000 mov R7, A ; Move (Op1 <- Op2) ROM:4484 000 movx A, @DPTR ; Move from/to external RAM ROM:4485 000 mov R6, A ; Move (Op1 <- Op2) ROM:4486 000 swap A ; Swap nibbles of Acc ROM:4487 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4489 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:448A 000 mov RAM_33, A ; Move (Op1 <- Op2) ROM:448C 000 mov R7, RAM_33 ; Move (Op1 <- Op2) ROM:448E 000 mov DPTR, #60h ; '`' ; Move (Op1 <- Op2) ROM:4491 000 movx A, @DPTR ; Move from/to external RAM ROM:4492 000 mov R4, A ; Move (Op1 <- Op2) ROM:4493 000 inc DPTR ; Increment Operand ROM:4494 000 movx A, @DPTR ; Move from/to external RAM ROM:4495 000 add A, R7 ; Add Second Operand to Acc ROM:4496 000 mov DP0L, A ; Data Pointer Low Byte ROM:4498 000 clr A ; Clear Operand (0) ROM:4499 000 addc A, R4 ; Add Second Operand to Acc with carry ROM:449A 000 mov DP0H, A ; Data Pointer High Byte ROM:449C 000 clr A ; Clear Operand (0) ROM:449D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:449E 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:44A0 000 mov R0, #3Ah ; ':' ; Move (Op1 <- Op2) ROM:44A2 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:44A3 000 jnb ACC.0, ROM_44B4 ; Accumulator ROM:44A3 ROM:44A6 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:44A8 000 xrl A, #82h ; Exclusive OR (op1 ^= op2) ROM:44AA 000 jz ROM_44B1 ; Jump if Acc is zero ROM:44AA ROM:44AC 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:44AE 000 cjne A, #83h, ROM_44B4 ; 'â' ; Compare Operands and JNE ROM:44AE ROM:44B1 ROM:44B1 ROM_44B1: ; CODE XREF: ROM_447A+30j ROM:44B1 000 clr A ; Clear Operand (0) ROM:44B2 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:44B2 ROM:44B4 ROM:44B4 ROM_44B4: ; CODE XREF: ROM_447A+29j ROM:44B4 ; ROM_447A+34j ROM:44B4 000 mov DPTR, #676h ; Move (Op1 <- Op2) ROM:44B7 000 movx A, @DPTR ; Move from/to external RAM ROM:44B8 000 mov R5, A ; Move (Op1 <- Op2) ROM:44B9 000 mov R7, RAM_32 ; Move (Op1 <- Op2) ROM:44BB 000 ljmp ROM_44BE ; Long Jump ROM:44BB ROM:44BE ROM:44BE ROM_44BE: ; CODE XREF: ROM_439F+28j ROM:44BE 000 mov DPTR, #677h ; Move (Op1 <- Op2) ROM:44C1 000 mov A, R5 ; Move (Op1 <- Op2) ROM:44C2 000 movx @DPTR, A ; Move from/to external RAM ROM:44C3 000 mov R4, RAM_7 ; Move (Op1 <- Op2) ROM:44C5 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:44C7 000 mov @R0, RAM_25 ; Move (Op1 <- Op2) ROM:44C9 000 mov A, R4 ; Move (Op1 <- Op2) ROM:44CA 000 clr C ; Clear Operand (0) ROM:44CB 000 subb A, #0E0h ; 'a' ; Subtract Second Operand from Acc with Borrow ROM:44CD 000 jc ROM_44F6 ; Jump if Carry is set ROM:44CD ROM:44CF 000 mov A, R4 ; Move (Op1 <- Op2) ROM:44D0 000 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:44D2 000 inc DPTR ; Increment Operand ROM:44D3 000 movx @DPTR, A ; Move from/to external RAM ROM:44D4 000 movx A, @DPTR ; Move from/to external RAM ROM:44D5 000 add A, ACC ; Accumulator ROM:44D7 000 movx @DPTR, A ; Move from/to external RAM ROM:44D8 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:44D9 000 swap A ; Swap nibbles of Acc ROM:44DA 000 rrc A ; Rotate Acc right through Carry ROM:44DB 000 rrc A ; Rotate Acc right through Carry ROM:44DC 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:44DE 000 mov R7, A ; Move (Op1 <- Op2) ROM:44DF 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:44E0 000 mov R6, A ; Move (Op1 <- Op2) ROM:44E1 000 swap A ; Swap nibbles of Acc ROM:44E2 000 rrc A ; Rotate Acc right through Carry ROM:44E3 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:44E5 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:44E6 000 jz ROM_44EB ; Jump if Acc is zero ROM:44E6 ROM:44E8 000 movx A, @DPTR ; Move from/to external RAM ROM:44E9 000 inc A ; Increment Operand ROM:44EA 000 movx @DPTR, A ; Move from/to external RAM ROM:44EA ROM:44EB ROM:44EB ROM_44EB: ; CODE XREF: ROM_447A+6Cj ROM:44EB 000 mov DPTR, #678h ; Move (Op1 <- Op2) ROM:44EE 000 movx A, @DPTR ; Move from/to external RAM ROM:44EF 000 mov DPTR, #6698h ; Move (Op1 <- Op2) ROM:44F2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:44F3 000 mov R4, A ; Move (Op1 <- Op2) ROM:44F4 000 sjmp ROM_4550 ; Short jump ROM:44F4 ROM:44F6 ; --------------------------------------------------------------------------- ROM:44F6 ROM:44F6 ROM_44F6: ; CODE XREF: ROM_447A+53j ROM:44F6 000 mov A, R4 ; Move (Op1 <- Op2) ROM:44F7 000 clr C ; Clear Operand (0) ROM:44F8 000 subb A, #9Ch ; '£' ; Subtract Second Operand from Acc with Borrow ROM:44FA 000 jc ROM_4550 ; Jump if Carry is set ROM:44FA ROM:44FC 000 mov A, R4 ; Move (Op1 <- Op2) ROM:44FD 000 add A, #64h ; 'd' ; Add Second Operand to Acc ROM:44FF 000 mov DPTR, #678h ; Move (Op1 <- Op2) ROM:4502 000 movx @DPTR, A ; Move from/to external RAM ROM:4503 000 movx A, @DPTR ; Move from/to external RAM ROM:4504 000 mov R7, A ; Move (Op1 <- Op2) ROM:4505 000 mov B, #3 ; B Register ROM:4508 000 mul AB ; Multiply Acc by B ROM:4509 000 add A, #9Bh ; '¢' ; Add Second Operand to Acc ROM:450B 000 mov DP0L, A ; Data Pointer Low Byte ROM:450D 000 mov A, B ; B Register ROM:450F 000 addc A, #48h ; 'H' ; Add Second Operand to Acc with carry ROM:4511 000 mov DP0H, A ; Data Pointer High Byte ROM:4513 000 clr A ; Clear Operand (0) ROM:4514 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4515 000 mov R4, A ; Move (Op1 <- Op2) ROM:4516 000 mov B, #3 ; B Register ROM:4519 000 mov A, R7 ; Move (Op1 <- Op2) ROM:451A 000 mul AB ; Multiply Acc by B ROM:451B 000 add A, #9Ch ; '£' ; Add Second Operand to Acc ROM:451D 000 mov DP0L, A ; Data Pointer Low Byte ROM:451F 000 mov A, B ; B Register ROM:4521 000 addc A, #48h ; 'H' ; Add Second Operand to Acc with carry ROM:4523 000 mov DP0H, A ; Data Pointer High Byte ROM:4525 000 clr A ; Clear Operand (0) ROM:4526 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4527 000 mov R7, A ; Move (Op1 <- Op2) ROM:4528 000 mov A, #1 ; Move (Op1 <- Op2) ROM:452A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:452B 000 mov DPTR, #679h ; Move (Op1 <- Op2) ROM:452E 000 xch A, R7 ; Exchange Operands ROM:452F 000 movx @DPTR, A ; Move from/to external RAM ROM:4530 000 inc DPTR ; Increment Operand ROM:4531 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4532 000 movx @DPTR, A ; Move from/to external RAM ROM:4533 000 mov R7, RAM_4 ; Move (Op1 <- Op2) ROM:4535 000 lcall ROM_45C4 ; Long Subroutine Call ROM:4535 ROM:4538 000 mov DPTR, #67Ah ; Move (Op1 <- Op2) ROM:453B 000 movx A, @DPTR ; Move from/to external RAM ROM:453C 000 add A, R7 ; Add Second Operand to Acc ROM:453D 000 movx @DPTR, A ; Move from/to external RAM ROM:453E 000 mov DPTR, #679h ; Move (Op1 <- Op2) ROM:4541 000 movx A, @DPTR ; Move from/to external RAM ROM:4542 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:4544 000 movx @DPTR, A ; Move from/to external RAM ROM:4545 000 movx A, @DPTR ; Move from/to external RAM ROM:4546 000 mov R6, A ; Move (Op1 <- Op2) ROM:4547 000 inc DPTR ; Increment Operand ROM:4548 000 movx A, @DPTR ; Move from/to external RAM ROM:4549 000 mov DP0L, A ; Data Pointer Low Byte ROM:454B 000 mov DP0H, R6 ; Data Pointer High Byte ROM:454D 000 clr A ; Clear Operand (0) ROM:454E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:454F 000 mov R4, A ; Move (Op1 <- Op2) ROM:454F ROM:4550 ROM:4550 ROM_4550: ; CODE XREF: ROM_447A+7Aj ROM:4550 ; ROM_447A+80j ROM:4550 000 mov R7, RAM_4 ; Move (Op1 <- Op2) ROM:4552 000 mov DPTR, #677h ; Move (Op1 <- Op2) ROM:4555 000 movx A, @DPTR ; Move from/to external RAM ROM:4556 000 mov R5, A ; Move (Op1 <- Op2) ROM:4557 000 lcall ROM_456C ; Long Subroutine Call ROM:4557 ROM:455A 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:455C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:455D 000 mov RAM_25, A ; Move (Op1 <- Op2) ROM:455F 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4560 000 swap A ; Swap nibbles of Acc ROM:4561 000 rrc A ; Rotate Acc right through Carry ROM:4562 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:4564 000 rrc A ; Rotate Acc right through Carry ROM:4565 000 mov RAM_23.1, C ; Move (Op1 <- Op2) ROM:4567 000 ret ; Return from subroutine ROM:4567 ROM:4567 ; End of function ROM_447A ROM:4567 ROM:4568 ROM:4568 ; =============== S U B R O U T I N E ======================================= ROM:4568 ROM:4568 ROM:4568 clear_RAM_4F: ; CODE XREF: ROM_2631+11Bp ROM:4568 ; magic_words+Ep ROM:4568 000 clr A ; Clear Operand (0) ROM:4569 000 mov RAM_4F, A ; Move (Op1 <- Op2) ROM:456B 000 ret ; Return from subroutine ROM:456B ROM:456B ; End of function clear_RAM_4F ROM:456B ROM:456C ROM:456C ; =============== S U B R O U T I N E ======================================= ROM:456C ROM:456C ROM:456C ROM_456C: ; CODE XREF: ROM_447A+DDp ROM:456C 000 mov DPTR, #67Bh ; Move (Op1 <- Op2) ROM:456F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4570 000 movx @DPTR, A ; Move from/to external RAM ROM:4571 000 inc DPTR ; Increment Operand ROM:4572 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4573 000 movx @DPTR, A ; Move from/to external RAM ROM:4574 000 clr A ; Clear Operand (0) ROM:4575 000 inc DPTR ; Increment Operand ROM:4576 000 movx @DPTR, A ; Move from/to external RAM ROM:4577 000 mov DPTR, #67Bh ; Move (Op1 <- Op2) ROM:457A 000 movx A, @DPTR ; Move from/to external RAM ROM:457B 000 mov R7, A ; Move (Op1 <- Op2) ROM:457C 000 jz ROM_45C3 ; Jump if Acc is zero ROM:457C ROM:457E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:457F 000 jb ACC.7, ROM_458A ; Accumulator ROM:457F ROM:4582 000 mov DPTR, #67Ch ; Move (Op1 <- Op2) ROM:4585 000 movx A, @DPTR ; Move from/to external RAM ROM:4586 000 mov R5, A ; Move (Op1 <- Op2) ROM:4587 000 ljmp ROM_467A ; Long Jump ROM:4587 ROM:458A ; --------------------------------------------------------------------------- ROM:458A ROM:458A ROM_458A: ; CODE XREF: ROM_456C+13j ROM:458A 000 mov DPTR, #67Bh ; Move (Op1 <- Op2) ROM:458D 000 movx A, @DPTR ; Move from/to external RAM ROM:458E 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:4590 000 movx @DPTR, A ; Move from/to external RAM ROM:4591 000 movx A, @DPTR ; Move from/to external RAM ROM:4592 000 add A, ACC ; Accumulator ROM:4594 000 movx @DPTR, A ; Move from/to external RAM ROM:4595 000 movx A, @DPTR ; Move from/to external RAM ROM:4596 000 mov R7, A ; Move (Op1 <- Op2) ROM:4597 000 mov DPTR, #491Fh ; Move (Op1 <- Op2) ROM:459A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:459B 000 mov R6, A ; Move (Op1 <- Op2) ROM:459C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:459D 000 inc DPTR ; Increment Operand ROM:459E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:459F 000 mov R4, A ; Move (Op1 <- Op2) ROM:45A0 000 mov R7, RAM_6 ; Move (Op1 <- Op2) ROM:45A2 000 mov DPTR, #67Ch ; Move (Op1 <- Op2) ROM:45A5 000 movx A, @DPTR ; Move from/to external RAM ROM:45A6 000 mov R5, A ; Move (Op1 <- Op2) ROM:45A7 000 mov A, R4 ; Move (Op1 <- Op2) ROM:45A8 000 mov B, #3 ; B Register ROM:45AB 000 mul AB ; Multiply Acc by B ROM:45AC 000 add A, #5Bh ; '[' ; Add Second Operand to Acc ROM:45AE 000 mov DP0L, A ; Data Pointer Low Byte ROM:45B0 000 clr A ; Clear Operand (0) ROM:45B1 000 addc A, #48h ; 'H' ; Add Second Operand to Acc with carry ROM:45B3 000 mov DP0H, A ; Data Pointer High Byte ROM:45B5 000 mov A, #1 ; Move (Op1 <- Op2) ROM:45B7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:45B8 000 mov R2, A ; Move (Op1 <- Op2) ROM:45B9 000 mov A, #2 ; Move (Op1 <- Op2) ROM:45BB 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:45BC 000 mov DP0L, A ; Data Pointer Low Byte ROM:45BE 000 mov DP0H, R2 ; Data Pointer High Byte ROM:45C0 000 lcall jump_to_DPTR ; jump to DPTR ROM:45C0 ROM:45C3 ROM:45C3 ROM_45C3: ; CODE XREF: ROM_456C+10j ROM:45C3 000 ret ; Return from subroutine ROM:45C3 ROM:45C3 ; End of function ROM_456C ROM:45C3 ROM:45C4 ROM:45C4 ; =============== S U B R O U T I N E ======================================= ROM:45C4 ROM:45C4 ROM:45C4 ROM_45C4: ; CODE XREF: ROM_447A+BBp ROM:45C4 000 clr A ; Clear Operand (0) ROM:45C5 000 mov R6, A ; Move (Op1 <- Op2) ROM:45C6 000 mov R5, A ; Move (Op1 <- Op2) ROM:45C7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:45C8 000 jnb ACC.1, ROM_45EA ; Accumulator ROM:45C8 ROM:45CB 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:45CD 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:45CE 000 rrc A ; Rotate Acc right through Carry ROM:45CF 000 rrc A ; Rotate Acc right through Carry ROM:45D0 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:45D2 000 mov R4, A ; Move (Op1 <- Op2) ROM:45D3 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:45D4 000 mov R3, A ; Move (Op1 <- Op2) ROM:45D5 000 clr C ; Clear Operand (0) ROM:45D6 000 rrc A ; Rotate Acc right through Carry ROM:45D7 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:45D9 000 orl A, R4 ; Logical OR (op1 |= op2) ROM:45DA 000 jz ROM_45E9 ; Jump if Acc is zero ROM:45DA ROM:45DC 000 mov A, #1 ; Move (Op1 <- Op2) ROM:45DE 000 mov R0, #0 ; Move (Op1 <- Op2) ROM:45E0 000 inc R0 ; Increment Operand ROM:45E1 000 sjmp ROM_45E5 ; Short jump ROM:45E1 ROM:45E3 ; --------------------------------------------------------------------------- ROM:45E3 ROM:45E3 ROM_45E3: ; CODE XREF: ROM_45C4:ROM_45E5j ROM:45E3 000 clr C ; Clear Operand (0) ROM:45E4 000 rlc A ; Rotate Acc left through Carry ROM:45E4 ROM:45E5 ROM:45E5 ROM_45E5: ; CODE XREF: ROM_45C4+1Dj ROM:45E5 000 djnz R0, ROM_45E3 ; Decrement Operand and JNZ ROM:45E5 ROM:45E7 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:45E8 000 mov R6, A ; Move (Op1 <- Op2) ROM:45E8 ROM:45E9 ROM:45E9 ROM_45E9: ; CODE XREF: ROM_45C4+16j ROM:45E9 000 inc R5 ; Increment Operand ROM:45E9 ROM:45EA ROM:45EA ROM_45EA: ; CODE XREF: ROM_45C4+4j ROM:45EA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:45EB 000 jnb ACC.2, ROM_4608 ; Accumulator ROM:45EB ROM:45EE 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:45F0 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:45F1 000 mov R4, A ; Move (Op1 <- Op2) ROM:45F2 000 rrc A ; Rotate Acc right through Carry ROM:45F3 000 rrc A ; Rotate Acc right through Carry ROM:45F4 000 rrc A ; Rotate Acc right through Carry ROM:45F5 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:45F7 000 jnb ACC.0, ROM_4607 ; Accumulator ROM:45F7 ROM:45FA 000 mov A, #1 ; Move (Op1 <- Op2) ROM:45FC 000 mov R0, RAM_5 ; Move (Op1 <- Op2) ROM:45FE 000 inc R0 ; Increment Operand ROM:45FF 000 sjmp ROM_4603 ; Short jump ROM:45FF ROM:4601 ; --------------------------------------------------------------------------- ROM:4601 ROM:4601 ROM_4601: ; CODE XREF: ROM_45C4:ROM_4603j ROM:4601 000 clr C ; Clear Operand (0) ROM:4602 000 rlc A ; Rotate Acc left through Carry ROM:4602 ROM:4603 ROM:4603 ROM_4603: ; CODE XREF: ROM_45C4+3Bj ROM:4603 000 djnz R0, ROM_4601 ; Decrement Operand and JNZ ROM:4603 ROM:4605 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:4606 000 mov R6, A ; Move (Op1 <- Op2) ROM:4606 ROM:4607 ROM:4607 ROM_4607: ; CODE XREF: ROM_45C4+33j ROM:4607 000 inc R5 ; Increment Operand ROM:4607 ROM:4608 ROM:4608 ROM_4608: ; CODE XREF: ROM_45C4+27j ROM:4608 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4609 000 jnb ACC.3, ROM_4624 ; Accumulator ROM:4609 ROM:460C 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:460E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:460F 000 mov R4, A ; Move (Op1 <- Op2) ROM:4610 000 swap A ; Swap nibbles of Acc ROM:4611 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4613 000 jnb ACC.0, ROM_4623 ; Accumulator ROM:4613 ROM:4616 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4618 000 mov R0, RAM_5 ; Move (Op1 <- Op2) ROM:461A 000 inc R0 ; Increment Operand ROM:461B 000 sjmp ROM_461F ; Short jump ROM:461B ROM:461D ; --------------------------------------------------------------------------- ROM:461D ROM:461D ROM_461D: ; CODE XREF: ROM_45C4:ROM_461Fj ROM:461D 000 clr C ; Clear Operand (0) ROM:461E 000 rlc A ; Rotate Acc left through Carry ROM:461E ROM:461F ROM:461F ROM_461F: ; CODE XREF: ROM_45C4+57j ROM:461F 000 djnz R0, ROM_461D ; Decrement Operand and JNZ ROM:461F ROM:4621 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:4622 000 mov R6, A ; Move (Op1 <- Op2) ROM:4622 ROM:4623 ROM:4623 ROM_4623: ; CODE XREF: ROM_45C4+4Fj ROM:4623 000 inc R5 ; Increment Operand ROM:4623 ROM:4624 ROM:4624 ROM_4624: ; CODE XREF: ROM_45C4+45j ROM:4624 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4625 000 jnb ACC.4, ROM_463C ; Accumulator ROM:4625 ROM:4628 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:462A 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:462B 000 jnb ACC.0, ROM_463B ; Accumulator ROM:462B ROM:462E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4630 000 mov R0, RAM_5 ; Move (Op1 <- Op2) ROM:4632 000 inc R0 ; Increment Operand ROM:4633 000 sjmp ROM_4637 ; Short jump ROM:4633 ROM:4635 ; --------------------------------------------------------------------------- ROM:4635 ROM:4635 ROM_4635: ; CODE XREF: ROM_45C4:ROM_4637j ROM:4635 000 clr C ; Clear Operand (0) ROM:4636 000 rlc A ; Rotate Acc left through Carry ROM:4636 ROM:4637 ROM:4637 ROM_4637: ; CODE XREF: ROM_45C4+6Fj ROM:4637 000 djnz R0, ROM_4635 ; Decrement Operand and JNZ ROM:4637 ROM:4639 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:463A 000 mov R6, A ; Move (Op1 <- Op2) ROM:463A ROM:463B ROM:463B ROM_463B: ; CODE XREF: ROM_45C4+67j ROM:463B 000 inc R5 ; Increment Operand ROM:463B ROM:463C ROM:463C ROM_463C: ; CODE XREF: ROM_45C4+61j ROM:463C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:463D 000 jnb ACC.5, ROM_465A ; Accumulator ROM:463D ROM:4640 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:4642 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4643 000 mov R4, A ; Move (Op1 <- Op2) ROM:4644 000 swap A ; Swap nibbles of Acc ROM:4645 000 rrc A ; Rotate Acc right through Carry ROM:4646 000 rrc A ; Rotate Acc right through Carry ROM:4647 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:4649 000 jnb ACC.0, ROM_4659 ; Accumulator ROM:4649 ROM:464C 000 mov A, #1 ; Move (Op1 <- Op2) ROM:464E 000 mov R0, RAM_5 ; Move (Op1 <- Op2) ROM:4650 000 inc R0 ; Increment Operand ROM:4651 000 sjmp ROM_4655 ; Short jump ROM:4651 ROM:4653 ; --------------------------------------------------------------------------- ROM:4653 ROM:4653 ROM_4653: ; CODE XREF: ROM_45C4:ROM_4655j ROM:4653 000 clr C ; Clear Operand (0) ROM:4654 000 rlc A ; Rotate Acc left through Carry ROM:4654 ROM:4655 ROM:4655 ROM_4655: ; CODE XREF: ROM_45C4+8Dj ROM:4655 000 djnz R0, ROM_4653 ; Decrement Operand and JNZ ROM:4655 ROM:4657 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:4658 000 mov R6, A ; Move (Op1 <- Op2) ROM:4658 ROM:4659 ROM:4659 ROM_4659: ; CODE XREF: ROM_45C4+85j ROM:4659 000 inc R5 ; Increment Operand ROM:4659 ROM:465A ROM:465A ROM_465A: ; CODE XREF: ROM_45C4+79j ROM:465A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:465B 000 jnb ACC.6, ROM_4677 ; Accumulator ROM:465B ROM:465E 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:4660 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4661 000 swap A ; Swap nibbles of Acc ROM:4662 000 rrc A ; Rotate Acc right through Carry ROM:4663 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:4665 000 jnb ACC.0, ROM_4677 ; Accumulator ROM:4665 ROM:4668 000 mov R7, RAM_5 ; Move (Op1 <- Op2) ROM:466A 000 mov A, #1 ; Move (Op1 <- Op2) ROM:466C 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:466E 000 inc R0 ; Increment Operand ROM:466F 000 sjmp ROM_4673 ; Short jump ROM:466F ROM:4671 ; --------------------------------------------------------------------------- ROM:4671 ROM:4671 ROM_4671: ; CODE XREF: ROM_45C4:ROM_4673j ROM:4671 000 clr C ; Clear Operand (0) ROM:4672 000 rlc A ; Rotate Acc left through Carry ROM:4672 ROM:4673 ROM:4673 ROM_4673: ; CODE XREF: ROM_45C4+ABj ROM:4673 000 djnz R0, ROM_4671 ; Decrement Operand and JNZ ROM:4673 ROM:4675 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:4676 000 mov R6, A ; Move (Op1 <- Op2) ROM:4676 ROM:4677 ROM:4677 ROM_4677: ; CODE XREF: ROM_45C4+97j ROM:4677 ; ROM_45C4+A1j ROM:4677 000 mov R7, RAM_6 ; Move (Op1 <- Op2) ROM:4679 000 ret ; Return from subroutine ROM:4679 ROM:4679 ; End of function ROM_45C4 ROM:4679 ROM:467A ROM:467A ; =============== S U B R O U T I N E ======================================= ROM:467A ROM:467A ROM:467A ROM_467A: ; CODE XREF: ROM_456C+1Bj ROM:467A ; ROM_4795:ROM_47DAp ROM:467A 000 mov DPTR, #67Eh ; Move (Op1 <- Op2) ROM:467D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:467E 000 movx @DPTR, A ; Move from/to external RAM ROM:467F 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4680 000 cjne A, #1, ROM_4688 ; Compare Operands and JNE ROM:4680 ROM:4683 000 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:4685 000 lcall ROM_3F32 ; Long Subroutine Call ROM:4685 ROM:4688 ROM:4688 ROM_4688: ; CODE XREF: ROM_467A+6j ROM:4688 000 mov DPTR, #67Eh ; Move (Op1 <- Op2) ROM:468B 000 movx A, @DPTR ; Move from/to external RAM ROM:468C 000 mov R7, A ; Move (Op1 <- Op2) ROM:468D 000 ljmp ROM_3F32 ; Long Jump ROM:468D ROM:468D ; End of function ROM_467A ROM:468D ROM:4690 ROM:4690 ; =============== S U B R O U T I N E ======================================= ROM:4690 ROM:4690 ROM:4690 ROM_4690: ; CODE XREF: ROM:4828p ROM:4690 ; ROM:483Ap ROM:4690 000 mov DPTR, #67Fh ; Move (Op1 <- Op2) ROM:4693 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4694 000 movx @DPTR, A ; Move from/to external RAM ROM:4695 000 inc DPTR ; Increment Operand ROM:4696 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4697 000 movx @DPTR, A ; Move from/to external RAM ROM:4698 000 jnz ROM_46A0 ; Jump if Acc is not zero ROM:4698 ROM:469A 000 lcall ROM_3FAD ; Long Subroutine Call ROM:469A ROM:469D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:469E 000 jnz ROM_46BB ; Jump if Acc is not zero ROM:469E ROM:46A0 ROM:46A0 ROM_46A0: ; CODE XREF: ROM_4690+8j ROM:46A0 000 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:46A2 000 lcall ROM_3F32 ; Long Subroutine Call ROM:46A2 ROM:46A5 000 mov DPTR, #680h ; Move (Op1 <- Op2) ROM:46A8 000 movx A, @DPTR ; Move from/to external RAM ROM:46A9 000 cjne A, #1, ROM_46B1 ; Compare Operands and JNE ROM:46A9 ROM:46AC 000 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:46AE 000 lcall ROM_3F32 ; Long Subroutine Call ROM:46AE ROM:46B1 ROM:46B1 ROM_46B1: ; CODE XREF: ROM_4690+19j ROM:46B1 000 mov DPTR, #67Fh ; Move (Op1 <- Op2) ROM:46B4 000 movx A, @DPTR ; Move from/to external RAM ROM:46B5 000 mov R7, A ; Move (Op1 <- Op2) ROM:46B6 000 lcall ROM_3F32 ; Long Subroutine Call ROM:46B6 ROM:46B9 000 setb RAM_26.2 ; Set Direct Bit ROM:46B9 ROM:46BB ROM:46BB ROM_46BB: ; CODE XREF: ROM_4690+Ej ROM:46BB 000 ret ; Return from subroutine ROM:46BB ROM:46BB ; End of function ROM_4690 ROM:46BB ROM:46BC ROM:46BC ; =============== S U B R O U T I N E ======================================= ROM:46BC ROM:46BC ROM:46BC ROM_46BC: ROM:46BC 000 mov DPTR, #681h ; Move (Op1 <- Op2) ROM:46BF 000 mov A, R7 ; Move (Op1 <- Op2) ROM:46C0 000 movx @DPTR, A ; Move from/to external RAM ROM:46C1 000 inc DPTR ; Increment Operand ROM:46C2 000 mov A, R5 ; Move (Op1 <- Op2) ROM:46C3 000 movx @DPTR, A ; Move from/to external RAM ROM:46C4 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:46C6 000 jnz ROM_46FF ; Jump if Acc is not zero ROM:46C6 ROM:46C8 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:46CA 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:46CC 000 mov R1, #73h ; 's' ; Move (Op1 <- Op2) ROM:46CE 000 lcall ROM_4003 ; Long Subroutine Call ROM:46CE ROM:46D1 000 mov DPTR, #681h ; Move (Op1 <- Op2) ROM:46D4 000 movx A, @DPTR ; Move from/to external RAM ROM:46D5 000 mov R7, A ; Move (Op1 <- Op2) ROM:46D6 000 lcall ROM_3F32 ; Long Subroutine Call ROM:46D6 ROM:46D9 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:46DB 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:46DC 000 mov R7, A ; Move (Op1 <- Op2) ROM:46DD 000 clr C ; Clear Operand (0) ROM:46DE 000 rrc A ; Rotate Acc right through Carry ROM:46DF 000 jnb ACC.0, ROM_46EB ; Accumulator ROM:46DF ROM:46E2 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:46E4 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:46E6 000 mov R1, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:46E8 000 lcall ROM_4003 ; Long Subroutine Call ROM:46E8 ROM:46EB ROM:46EB ROM_46EB: ; CODE XREF: ROM_46BC+23j ROM:46EB 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:46ED 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:46EE 000 mov R7, A ; Move (Op1 <- Op2) ROM:46EF 000 rrc A ; Rotate Acc right through Carry ROM:46F0 000 rrc A ; Rotate Acc right through Carry ROM:46F1 000 anl A, #3Fh ; Logical AND (op1 &= op2) ROM:46F3 000 jnb ACC.0, ROM_473A ; Accumulator ROM:46F3 ROM:46F6 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:46F8 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:46FA 000 mov R1, #81h ; 'ü' ; Move (Op1 <- Op2) ROM:46FC 000 ljmp ROM_4003 ; Long Jump ROM:46FC ROM:46FF ; --------------------------------------------------------------------------- ROM:46FF ROM:46FF ROM_46FF: ; CODE XREF: ROM_46BC+Aj ROM:46FF 000 mov DPTR, #682h ; Move (Op1 <- Op2) ROM:4702 000 movx A, @DPTR ; Move from/to external RAM ROM:4703 000 jnz ROM_472D ; Jump if Acc is not zero ROM:4703 ROM:4705 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:4707 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4708 000 mov R7, A ; Move (Op1 <- Op2) ROM:4709 000 clr C ; Clear Operand (0) ROM:470A 000 rrc A ; Rotate Acc right through Carry ROM:470B 000 jnb ACC.0, ROM_4717 ; Accumulator ROM:470B ROM:470E 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:4710 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:4712 000 mov R1, #76h ; 'v' ; Move (Op1 <- Op2) ROM:4714 000 lcall ROM_4003 ; Long Subroutine Call ROM:4714 ROM:4717 ROM:4717 ROM_4717: ; CODE XREF: ROM_46BC+4Fj ROM:4717 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:4719 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:471A 000 mov R7, A ; Move (Op1 <- Op2) ROM:471B 000 rrc A ; Rotate Acc right through Carry ROM:471C 000 rrc A ; Rotate Acc right through Carry ROM:471D 000 anl A, #3Fh ; Logical AND (op1 &= op2) ROM:471F 000 jnb ACC.0, ROM_472D ; Accumulator ROM:471F ROM:4722 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:4724 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:4726 000 mov R1, #7Ah ; 'z' ; Move (Op1 <- Op2) ROM:4728 000 lcall ROM_4003 ; Long Subroutine Call ROM:4728 ROM:472B 000 sjmp ROM_472D ; Short jump ROM:472B ROM:472D ROM:472D ROM_472D: ; CODE XREF: ROM_46BC+47j ROM:472D ; ROM_46BC+63j ROM:472D 000 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:472F 000 lcall ROM_3F32 ; Long Subroutine Call ROM:472F ROM:4732 000 mov DPTR, #681h ; Move (Op1 <- Op2) ROM:4735 000 movx A, @DPTR ; Move from/to external RAM ROM:4736 000 mov R7, A ; Move (Op1 <- Op2) ROM:4737 000 lcall ROM_3F32 ; Long Subroutine Call ROM:4737 ROM:473A ROM:473A ROM_473A: ; CODE XREF: ROM_46BC+37j ROM:473A 000 ret ; Return from subroutine ROM:473A ROM:473A ; End of function ROM_46BC ROM:473A ROM:473B ROM:473B ; =============== S U B R O U T I N E ======================================= ROM:473B ROM:473B ROM:473B ROM_473B: ROM:473B 000 mov DPTR, #683h ; Move (Op1 <- Op2) ROM:473E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:473F 000 movx @DPTR, A ; Move from/to external RAM ROM:4740 000 inc DPTR ; Increment Operand ROM:4741 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4742 000 movx @DPTR, A ; Move from/to external RAM ROM:4743 000 cjne R5, #1, ROM_4760 ; Compare Operands and JNE ROM:4743 ROM:4746 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:4748 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:474A 000 mov R1, #73h ; 's' ; Move (Op1 <- Op2) ROM:474C 000 lcall ROM_4003 ; Long Subroutine Call ROM:474C ROM:474F 000 mov DPTR, #683h ; Move (Op1 <- Op2) ROM:4752 000 movx A, @DPTR ; Move from/to external RAM ROM:4753 000 mov R7, A ; Move (Op1 <- Op2) ROM:4754 000 lcall ROM_3F32 ; Long Subroutine Call ROM:4754 ROM:4757 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:4759 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:475B 000 mov R1, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:475D 000 ljmp ROM_4003 ; Long Jump ROM:475D ROM:4760 ; --------------------------------------------------------------------------- ROM:4760 ROM:4760 ROM_4760: ; CODE XREF: ROM_473B+8j ROM:4760 000 mov DPTR, #684h ; Move (Op1 <- Op2) ROM:4763 000 movx A, @DPTR ; Move from/to external RAM ROM:4764 000 jnz ROM_4771 ; Jump if Acc is not zero ROM:4764 ROM:4766 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:4768 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:476A 000 mov R1, #84h ; 'ä' ; Move (Op1 <- Op2) ROM:476C 000 lcall ROM_4003 ; Long Subroutine Call ROM:476C ROM:476F 000 sjmp ROM_4776 ; Short jump ROM:476F ROM:4771 ; --------------------------------------------------------------------------- ROM:4771 ROM:4771 ROM_4771: ; CODE XREF: ROM_473B+29j ROM:4771 000 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:4773 000 lcall ROM_3F32 ; Long Subroutine Call ROM:4773 ROM:4776 ROM:4776 ROM_4776: ; CODE XREF: ROM_473B+34j ROM:4776 000 mov DPTR, #683h ; Move (Op1 <- Op2) ROM:4779 000 movx A, @DPTR ; Move from/to external RAM ROM:477A 000 mov R7, A ; Move (Op1 <- Op2) ROM:477B 000 lcall ROM_3F32 ; Long Subroutine Call ROM:477B ROM:477E 000 ret ; Return from subroutine ROM:477E ROM:477E ; End of function ROM_473B ROM:477E ROM:477F ROM:477F ; =============== S U B R O U T I N E ======================================= ROM:477F ROM:477F ROM:477F ROM_477F: ROM:477F 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4780 000 jnz ROM_4794 ; Jump if Acc is not zero ROM:4780 ROM:4782 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4783 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:4785 000 jnz ROM_478D ; Jump if Acc is not zero ROM:4785 ROM:4787 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:4789 000 mov R1, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:478B 000 sjmp ROM_4791 ; Short jump ROM:478B ROM:478D ; --------------------------------------------------------------------------- ROM:478D ROM:478D ROM_478D: ; CODE XREF: ROM_477F+6j ROM:478D 000 mov R2, #48h ; 'H' ; Move (Op1 <- Op2) ROM:478F 000 mov R1, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:478F ROM:4791 ROM:4791 ROM_4791: ; CODE XREF: ROM_477F+Cj ROM:4791 000 lcall ROM_4003 ; Long Subroutine Call ROM:4791 ROM:4794 ROM:4794 ROM_4794: ; CODE XREF: ROM_477F+1j ROM:4794 000 ret ; Return from subroutine ROM:4794 ROM:4794 ; End of function ROM_477F ROM:4794 ROM:4795 ROM:4795 ; =============== S U B R O U T I N E ======================================= ROM:4795 ROM:4795 ROM:4795 ROM_4795: ROM:4795 000 mov DPTR, #685h ; Move (Op1 <- Op2) ROM:4798 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4799 000 movx @DPTR, A ; Move from/to external RAM ROM:479A 000 inc DPTR ; Increment Operand ROM:479B 000 mov A, R5 ; Move (Op1 <- Op2) ROM:479C 000 movx @DPTR, A ; Move from/to external RAM ROM:479D 000 jz ROM_47A4 ; Jump if Acc is zero ROM:479D ROM:479F 000 movx A, @DPTR ; Move from/to external RAM ROM:47A0 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:47A2 000 jnz ROM_47DD ; Jump if Acc is not zero ROM:47A2 ROM:47A4 ROM:47A4 ROM_47A4: ; CODE XREF: ROM_4795+8j ROM:47A4 000 mov DPTR, #685h ; Move (Op1 <- Op2) ROM:47A7 000 movx A, @DPTR ; Move from/to external RAM ROM:47A8 000 jnb ACC.1, ROM_47B2 ; Accumulator ROM:47A8 ROM:47AB 000 inc DPTR ; Increment Operand ROM:47AC 000 movx A, @DPTR ; Move from/to external RAM ROM:47AD 000 mov R5, A ; Move (Op1 <- Op2) ROM:47AE 000 mov R7, #12h ; Move (Op1 <- Op2) ROM:47B0 000 sjmp ROM_47DA ; Short jump ROM:47B0 ROM:47B2 ; --------------------------------------------------------------------------- ROM:47B2 ROM:47B2 ROM_47B2: ; CODE XREF: ROM_4795+13j ROM:47B2 000 mov DPTR, #685h ; Move (Op1 <- Op2) ROM:47B5 000 movx A, @DPTR ; Move from/to external RAM ROM:47B6 000 jnb ACC.3, ROM_47C0 ; Accumulator ROM:47B6 ROM:47B9 000 inc DPTR ; Increment Operand ROM:47BA 000 movx A, @DPTR ; Move from/to external RAM ROM:47BB 000 mov R5, A ; Move (Op1 <- Op2) ROM:47BC 000 mov R7, #11h ; Move (Op1 <- Op2) ROM:47BE 000 sjmp ROM_47DA ; Short jump ROM:47BE ROM:47C0 ; --------------------------------------------------------------------------- ROM:47C0 ROM:47C0 ROM_47C0: ; CODE XREF: ROM_4795+21j ROM:47C0 000 mov DPTR, #685h ; Move (Op1 <- Op2) ROM:47C3 000 movx A, @DPTR ; Move from/to external RAM ROM:47C4 000 jnb ACC.4, ROM_47CE ; Accumulator ROM:47C4 ROM:47C7 000 inc DPTR ; Increment Operand ROM:47C8 000 movx A, @DPTR ; Move from/to external RAM ROM:47C9 000 mov R5, A ; Move (Op1 <- Op2) ROM:47CA 000 mov R7, #14h ; Move (Op1 <- Op2) ROM:47CC 000 sjmp ROM_47DA ; Short jump ROM:47CC ROM:47CE ; --------------------------------------------------------------------------- ROM:47CE ROM:47CE ROM_47CE: ; CODE XREF: ROM_4795+2Fj ROM:47CE 000 mov DPTR, #685h ; Move (Op1 <- Op2) ROM:47D1 000 movx A, @DPTR ; Move from/to external RAM ROM:47D2 000 jnb ACC.2, ROM_47DD ; Accumulator ROM:47D2 ROM:47D5 000 inc DPTR ; Increment Operand ROM:47D6 000 movx A, @DPTR ; Move from/to external RAM ROM:47D7 000 mov R5, A ; Move (Op1 <- Op2) ROM:47D8 000 mov R7, #59h ; 'Y' ; Move (Op1 <- Op2) ROM:47D8 ROM:47DA ROM:47DA ROM_47DA: ; CODE XREF: ROM_4795+1Bj ROM:47DA ; ROM_4795+29j ... ROM:47DA 000 lcall ROM_467A ; Long Subroutine Call ROM:47DA ROM:47DD ROM:47DD ROM_47DD: ; CODE XREF: ROM_4795+Dj ROM:47DD ; ROM_4795+3Dj ROM:47DD 000 mov DPTR, #686h ; Move (Op1 <- Op2) ROM:47E0 000 movx A, @DPTR ; Move from/to external RAM ROM:47E1 000 mov R7, A ; Move (Op1 <- Op2) ROM:47E2 000 jnz ROM_47ED ; Jump if Acc is not zero ROM:47E2 ROM:47E4 000 mov DPTR, #685h ; Move (Op1 <- Op2) ROM:47E7 000 movx A, @DPTR ; Move from/to external RAM ROM:47E8 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:47EA 000 orl A, @R0 ; Logical OR (op1 |= op2) ROM:47EB 000 mov @R0, A ; Move (Op1 <- Op2) ROM:47EC 000 ret ; Return from subroutine ROM:47EC ROM:47EC ; End of function ROM_4795 ROM:47EC ROM:47ED ROM:47ED ; =============== S U B R O U T I N E ======================================= ROM:47ED ROM:47ED ROM:47ED ROM_47ED: ; CODE XREF: ROM_4795+4Dj ROM:47ED 000 mov A, R7 ; Move (Op1 <- Op2) ROM:47EE 000 cjne A, #1, return ; Compare Operands and JNE ROM:47EE ROM:47F1 000 mov DPTR, #685h ; Move (Op1 <- Op2) ROM:47F4 000 movx A, @DPTR ; Move from/to external RAM ROM:47F5 000 cpl A ; Complement Operand ROM:47F6 000 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:47F8 000 anl A, @R0 ; Logical AND (op1 &= op2) ROM:47F9 000 mov @R0, A ; Move (Op1 <- Op2) ROM:47F9 ROM:47FA ROM:47FA return: ; CODE XREF: ROM_47ED+1j ROM:47FA 000 ret ; Return from subroutine ROM:47FA ROM:47FA ; End of function ROM_47ED ROM:47FA ROM:47FB ; --------------------------------------------------------------------------- ROM:47FB mov DPTR, #687h ; Move (Op1 <- Op2) ROM:47FE mov A, R7 ; Move (Op1 <- Op2) ROM:47FF movx @DPTR, A ; Move from/to external RAM ROM:4800 inc DPTR ; Increment Operand ROM:4801 mov A, R5 ; Move (Op1 <- Op2) ROM:4802 movx @DPTR, A ; Move from/to external RAM ROM:4802 ROM:4802 ; --------------------------------------------------------------------------- ROM:4803 db 0D2h ROM:4804 ; --------------------------------------------------------------------------- ROM:4804 ROM:4804 ROM_4804: ; CODE XREF: ROM:4943j ROM:4804 xrl A, R1 ; Exclusive OR (op1 ^= op2) ROM:4805 jnz ROM_480F ; Jump if Acc is not zero ROM:4805 ROM:4807 lcall ROM_3FAD ; Long Subroutine Call ROM:4807 ROM:480A mov A, R7 ; Move (Op1 <- Op2) ROM:480B jz ROM_480F ; Jump if Acc is zero ROM:480B ROM:480D clr RAM_2D.1 ; Clear Operand (0) ROM:480D ROM:480F ROM:480F ROM_480F: ; CODE XREF: ROM:4805j ROM:480F ; ROM:480Bj ROM:480F mov DPTR, #688h ; Move (Op1 <- Op2) ROM:4812 movx A, @DPTR ; Move from/to external RAM ROM:4813 jz ROM_4819 ; Jump if Acc is zero ROM:4813 ROM:4815 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:4817 jnz ROM_483D ; Jump if Acc is not zero ROM:4817 ROM:4819 ROM:4819 ROM_4819: ; CODE XREF: ROM:4813j ROM:4819 mov DPTR, #687h ; Move (Op1 <- Op2) ROM:481C movx A, @DPTR ; Move from/to external RAM ROM:481C ROM:481C ; --------------------------------------------------------------------------- ROM:481D db 30h, 0E3h ROM:481F ; --------------------------------------------------------------------------- ROM:481F ROM:481F ROM_481F: ; CODE XREF: ROM:4922j ROM:481F inc R3 ; Increment Operand ROM:4820 jnb RAM_2D.1, ROM_482B ; Jump if Bit is clear ROM:4820 ROM:4823 inc DPTR ; Increment Operand ROM:4824 movx A, @DPTR ; Move from/to external RAM ROM:4825 mov R5, A ; Move (Op1 <- Op2) ROM:4826 mov R7, #11h ; Move (Op1 <- Op2) ROM:4828 lcall ROM_4690 ; Long Subroutine Call ROM:4828 ROM:482B ROM:482B ROM_482B: ; CODE XREF: ROM:4820j ROM:482B mov DPTR, #687h ; Move (Op1 <- Op2) ROM:482E movx A, @DPTR ; Move from/to external RAM ROM:482F jnb ACC.4, ROM_483D ; Accumulator ROM:482F ROM:4832 jnb RAM_2D.1, ROM_483D ; Jump if Bit is clear ROM:4832 ROM:4835 inc DPTR ; Increment Operand ROM:4836 movx A, @DPTR ; Move from/to external RAM ROM:4837 mov R5, A ; Move (Op1 <- Op2) ROM:4838 mov R7, #14h ; Move (Op1 <- Op2) ROM:483A lcall ROM_4690 ; Long Subroutine Call ROM:483A ROM:483D ROM:483D ROM_483D: ; CODE XREF: ROM:4817j ROM:483D ; ROM:482Fj ... ROM:483D mov DPTR, #688h ; Move (Op1 <- Op2) ROM:4840 movx A, @DPTR ; Move from/to external RAM ROM:4841 mov R7, A ; Move (Op1 <- Op2) ROM:4842 jnz ROM_484D ; Jump if Acc is not zero ROM:4842 ROM:4844 mov DPTR, #687h ; Move (Op1 <- Op2) ROM:4847 movx A, @DPTR ; Move from/to external RAM ROM:4848 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:484A orl A, @R0 ; Logical OR (op1 |= op2) ROM:484B mov @R0, A ; Move (Op1 <- Op2) ROM:484C ret ; Return from subroutine ROM:484C ROM:484D ; --------------------------------------------------------------------------- ROM:484D ROM:484D ROM_484D: ; CODE XREF: ROM:4842j ROM:484D mov A, R7 ; Move (Op1 <- Op2) ROM:484E cjne A, #1, ROM_485A ; Compare Operands and JNE ROM:484E ROM:4851 mov DPTR, #687h ; Move (Op1 <- Op2) ROM:4854 movx A, @DPTR ; Move from/to external RAM ROM:4855 cpl A ; Complement Operand ROM:4856 mov R0, #0B0h ; '¦' ; Move (Op1 <- Op2) ROM:4858 anl A, @R0 ; Logical AND (op1 &= op2) ROM:4859 mov @R0, A ; Move (Op1 <- Op2) ROM:4859 ROM:485A ROM:485A ROM_485A: ; CODE XREF: ROM:484Ej ROM:485A ret ; Return from subroutine ROM:485A ROM:485B ; --------------------------------------------------------------------------- ROM:485B mov R7, A ; Move (Op1 <- Op2) ROM:485C orl A, @R0 ; Logical OR (op1 |= op2) ROM:485D mov R2, #0FFh ; Move (Op1 <- Op2) ROM:485F orl A, @R0 ; Logical OR (op1 |= op2) ROM:4860 mov DPTR, #0FF46h ; Move (Op1 <- Op2) ROM:4863 cjne R4, #0FFh, ROM_48AD ; Compare Operands and JNE ROM:4863 ROM:4866 addc A, R3 ; Add Second Operand to Acc with carry ROM:4867 mov R7, A ; Move (Op1 <- Op2) ROM:4868 orl A, @R1 ; Logical OR (op1 |= op2) ROM:4868 ROM:4869 ROM:4869 ROM_4869: ; CODE XREF: ROM:4948j ROM:4869 mov R7, #0FFh ; Move (Op1 <- Op2) ROM:486B orl A, @R1 ; Logical OR (op1 |= op2) ROM:486C subb A, FSR_FF ; Subtract Second Operand from Acc with Borrow ROM:486E orl A, @R1 ; Logical OR (op1 |= op2) ROM:486F mov R3, A ; Move (Op1 <- Op2) ROM:4870 mov R7, A ; Move (Op1 <- Op2) ROM:4871 xrl FSR_A9, #0E0h ; Exclusive OR (op1 ^= op2) ROM:4874 movx @DPTR, A ; Move from/to external RAM ROM:4874 ROM:4875 ROM:4875 ROM_4875: ; CODE XREF: ROM:494Ej ROM:4875 nop ; No operation ROM:4876 movx A, @DPTR ; Move from/to external RAM ROM:4877 movx @DPTR, A ; Move from/to external RAM ROM:4877 ROM:4877 ; --------------------------------------------------------------------------- ROM:4878 db 12h ROM:4879 ; --------------------------------------------------------------------------- ROM:4879 ROM:4879 ROM_4879: ; CODE XREF: ROM:ROM_48C8j ROM:4879 nop ; No operation ROM:4879 ROM:487A ROM:487A ROM_487A: ; CODE XREF: ROM:494Cj ROM:487A movx A, @DPTR ; Move from/to external RAM ROM:487B movx @DPTR, A ; Move from/to external RAM ROM:487C anl A, R1 ; Logical AND (op1 &= op2) ROM:487C ROM:487D ROM:487D ROM_487D: ; CODE XREF: ROM:ROM_494Aj ROM:487D nop ; No operation ROM:487D ROM:487E ROM:487E ROM_487E: ; CODE XREF: ROM:48CBj ROM:487E movx A, @DPTR ; Move from/to external RAM ROM:487F lcall code_E0 ; Long Subroutine Call ROM:487F ROM:4882 anl A, R1 ; Logical AND (op1 &= op2) ROM:4882 ROM:4883 ROM:4883 ROM_4883: ; CODE XREF: ROM:ROM_48CEj ROM:4883 nop ; No operation ROM:4884 movx A, @DPTR ; Move from/to external RAM ROM:4885 lcall ROM_B7DD+2823h ; BAD INSTRUCTION! JUMP TO ZERO PLACE! ROM:4885 ROM:4888 ROM:4888 ROM_4888: ; CODE XREF: ROM:ROM_48D1j ROM:4888 movx A, @DPTR ; Move from/to external RAM ROM:4889 movx @DPTR, A ; Move from/to external RAM ROM:488A lcall code_E0+1 ; Long Subroutine Call ROM:488A ROM:488D ROM:488D ROM_488D: ; CODE XREF: ROM:48D4j ROM:488D dec A ; Decrement Operand ROM:488E mov @R1, #0E1h ; 'ß' ; Move (Op1 <- Op2) ROM:4890 movx @DPTR, A ; Move from/to external RAM ROM:4891 dec A ; Decrement Operand ROM:4891 ROM:4892 ROM:4892 ROM_4892: ; CODE XREF: ROM:ROM_48D7j ROM:4892 ; ROM:ROM_4907j ROM:4892 movx @DPTR, A ; Move from/to external RAM ROM:4893 mov @R1, #0 ; Move (Op1 <- Op2) ROM:4895 movx A, @DPTR ; Move from/to external RAM ROM:4896 ROM:4896 ROM_4896: ; CODE XREF: ROM:48DAj ROM:4896 ; ROM:490Aj ROM:4896 mov R6, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:4898 movx @DPTR, A ; Move from/to external RAM ROM:4899 mov R6, #0 ; Move (Op1 <- Op2) ROM:489B ROM:489B ROM_489B: ; CODE XREF: ROM:ROM_48DDj ROM:489B ; ROM:490Dj ROM:489B jnb RAM_2C.6, ROM_48F8+2 ; Jump if Bit is clear ROM:489B ROM:489E jnb RAM_2C.6, ROM_4901 ; Jump if Bit is clear ROM:489E ROM:48A1 ROM:48A1 ROM_48A1: ; CODE XREF: ROM:48E0j ROM:48A1 ; ROM:ROM_4910j ROM:48A1 jnb RAM_2C.6, ROM_4907+1 ; Jump if Bit is clear ROM:48A1 ROM:48A4 ROM:48A4 ROM_48A4: ; CODE XREF: ROM:48E3j ROM:48A4 ; ROM:4913j ROM:48A4 jnb RAM_2C.6, ROM_48F3 ; Jump if Bit is clear ROM:48A4 ROM:48A7 jnb RAM_2C.6, ROM_4910+2 ; Jump if Bit is clear ROM:48A7 ROM:48AA ROM:48AA ROM_48AA: ; CODE XREF: ROM:48E6j ROM:48AA ; ROM:4916j ROM:48AA jnb RAM_2C.6, ROM_4919 ; Jump if Bit is clear ROM:48AA ROM:48AD ROM:48AD ROM_48AD: ; CODE XREF: ROM:4863j ROM:48AD jnb RAM_2C.6, ROM_4920 ; Jump if Bit is clear ROM:48AD ROM:48B0 ROM:48B0 ROM_48B0: ; CODE XREF: ROM:48E9j ROM:48B0 ; ROM:ROM_4919j ROM:48B0 jnb RAM_2C.6, ROM_4901+2 ; Jump if Bit is clear ROM:48B0 ROM:48B3 ROM:48B3 ROM_48B3: ; CODE XREF: ROM:48ECj ROM:48B3 ; ROM:491Cj ROM:48B3 jnb RAM_2C.6, ROM_492A ; Jump if Bit is clear ROM:48B3 ROM:48B6 jnb RAM_2C.6, ROM_4931 ; Jump if Bit is clear ROM:48B6 ROM:48B6 ; --------------------------------------------------------------------------- ROM:48B9 db 30h ROM:48BA ; --------------------------------------------------------------------------- ROM:48BA ROM:48BA ROM_48BA: ; CODE XREF: ROM:48EFj ROM:48BA xrl A, @R0 ; Exclusive OR (op1 ^= op2) ROM:48BB mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:48BD xrl A, @R0 ; Exclusive OR (op1 ^= op2) ROM:48BE anl A, #30h ; Logical AND (op1 &= op2) ROM:48C0 xrl A, @R0 ; Exclusive OR (op1 ^= op2) ROM:48C1 sjmp ROM_48F3 ; Short jump ROM:48C1 ROM:48C3 ; --------------------------------------------------------------------------- ROM:48C3 xrl A, @R0 ; Exclusive OR (op1 ^= op2) ROM:48C3 ROM:48C4 ROM:48C4 ROM_48C4: ; CODE XREF: ROM:48F5j ROM:48C4 div AB ; Divide Acc by B ROM:48C5 jnb RAM_2C.6, ROM_4920 ; Jump if Bit is clear ROM:48C5 ROM:48C8 ROM:48C8 ROM_48C8: ; CODE XREF: ROM:ROM_48F8j ROM:48C8 jb RAM_2C.6, ROM_4879 ; Jump if Bit is set ROM:48C8 ROM:48CB jb RAM_2C.6, ROM_487E ; Jump if Bit is set ROM:48CB ROM:48CE ROM:48CE ROM_48CE: ; CODE XREF: ROM:48FBj ROM:48CE jb RAM_2C.6, ROM_4883 ; Jump if Bit is set ROM:48CE ROM:48D1 ROM:48D1 ROM_48D1: ; CODE XREF: ROM:48FEj ROM:48D1 jb RAM_2C.6, ROM_4888 ; Jump if Bit is set ROM:48D1 ROM:48D4 jb RAM_2C.6, ROM_488D ; Jump if Bit is set ROM:48D4 ROM:48D7 ROM:48D7 ROM_48D7: ; CODE XREF: ROM:ROM_4901j ROM:48D7 jb RAM_2C.6, ROM_4892 ; Jump if Bit is set ROM:48D7 ROM:48DA jb RAM_2C.6, ROM_4896+1 ; Jump if Bit is set ROM:48DA ROM:48DD ROM:48DD ROM_48DD: ; CODE XREF: ROM:4904j ROM:48DD jb RAM_2C.6, ROM_489B+1 ; Jump if Bit is set ROM:48DD ROM:48E0 jb RAM_2C.6, ROM_48A1 ; Jump if Bit is set ROM:48E0 ROM:48E3 jb RAM_2C.6, ROM_48A4+2 ; Jump if Bit is set ROM:48E3 ROM:48E6 jb RAM_2C.6, ROM_48AA+1 ; Jump if Bit is set ROM:48E6 ROM:48E9 jb RAM_2C.6, ROM_48B0 ; Jump if Bit is set ROM:48E9 ROM:48EC jb RAM_2C.6, ROM_48B3+2 ; Jump if Bit is set ROM:48EC ROM:48EF jb RAM_2C.6, ROM_48BA ; Jump if Bit is set ROM:48EF ROM:48EF ; --------------------------------------------------------------------------- ROM:48F2 db 20h ROM:48F3 ; --------------------------------------------------------------------------- ROM:48F3 ROM:48F3 ROM_48F3: ; CODE XREF: ROM:ROM_48A4j ROM:48F3 ; ROM:48C1j ROM:48F3 xrl A, @R0 ; Exclusive OR (op1 ^= op2) ROM:48F4 xch A, R2 ; Exchange Operands ROM:48F5 jb RAM_2C.6, ROM_48C4 ; Jump if Bit is set ROM:48F5 ROM:48F8 ROM:48F8 ROM_48F8: ; CODE XREF: ROM:ROM_489Bj ROM:48F8 jb RAM_2C.6, ROM_48C8+1 ; Jump if Bit is set ROM:48F8 ROM:48FB jb RAM_2C.6, ROM_48CE ; Jump if Bit is set ROM:48FB ROM:48FE jb RAM_2C.6, ROM_48D1+2 ; Jump if Bit is set ROM:48FE ROM:4901 ROM:4901 ROM_4901: ; CODE XREF: ROM:489Ej ROM:4901 ; ROM:ROM_48B0j ROM:4901 jb RAM_2C.6, ROM_48D7+1 ; Jump if Bit is set ROM:4901 ROM:4904 jb RAM_2C.6, ROM_48DD ; Jump if Bit is set ROM:4904 ROM:4907 ROM:4907 ROM_4907: ; CODE XREF: ROM:ROM_48A1j ROM:4907 jb RAM_2C.6, ROM_4892 ; Jump if Bit is set ROM:4907 ROM:490A jb RAM_2C.6, ROM_4896+1 ; Jump if Bit is set ROM:490A ROM:490D jb RAM_2C.6, ROM_489B+1 ; Jump if Bit is set ROM:490D ROM:4910 ROM:4910 ROM_4910: ; CODE XREF: ROM:48A7j ROM:4910 jb RAM_2C.6, ROM_48A1 ; Jump if Bit is set ROM:4910 ROM:4913 jb RAM_2C.6, ROM_48A4+2 ; Jump if Bit is set ROM:4913 ROM:4916 jb RAM_2C.6, ROM_48AA+1 ; Jump if Bit is set ROM:4916 ROM:4919 ROM:4919 ROM_4919: ; CODE XREF: ROM:ROM_48AAj ROM:4919 jb RAM_2C.6, ROM_48B0 ; Jump if Bit is set ROM:4919 ROM:491C jb RAM_2C.6, ROM_48B3+2 ; Jump if Bit is set ROM:491C ROM:491F movc A, @A+PC ; Move code byte relative to second op to Acc ROM:491F ROM:4920 ROM:4920 ROM_4920: ; CODE XREF: ROM:ROM_48ADj ROM:4920 ; ROM:48C5j ROM:4920 nop ; No operation ROM:4921 anl A, R2 ; Logical AND (op1 &= op2) ROM:4922 ajmp ROM_481F ; Absolute Jump ROM:4922 ROM:4922 ; --------------------------------------------------------------------------- ROM:4924 db 1, 27h, 1, 2Fh, 1, 37h ROM:492A ; --------------------------------------------------------------------------- ROM:492A ROM:492A ROM_492A: ; CODE XREF: ROM:ROM_48B3j ROM:492A ajmp ROM_483D+2 ; Absolute Jump ROM:492A ROM:492A ; --------------------------------------------------------------------------- ROM:492C db 1, 5Eh, 1, 2, 5 ROM:4931 ; --------------------------------------------------------------------------- ROM:4931 ROM:4931 ROM_4931: ; CODE XREF: ROM:48B6j ROM:4931 inc A ; Increment Operand ROM:4932 inc RAM_8 ; Increment Operand ROM:4934 inc RAM_8 ; Increment Operand ROM:4936 inc @R0 ; Increment Operand ROM:4937 jbc RAM_20.5, ROM_494A ; Jump if Bit is set & clear Bit ROM:4937 ROM:493A inc @R0 ; Increment Operand ROM:493B jc ROM_4942 ; Jump if Carry is set ROM:493B ROM:493D jb RAM_20.5, ROM_4940 ; Jump if Bit is set ROM:4940 ROM:4940 ROM_4940: ; No operation ROM:4940 nop ROM:4941 nop ; No operation ROM:4941 ROM:4942 ROM:4942 ROM_4942: ; CODE XREF: ROM:493Bj ROM:4942 inc A ; Increment Operand ROM:4943 ajmp ROM_4804 ; Absolute Jump ROM:4943 ROM:4945 ; --------------------------------------------------------------------------- ROM:4945 div AB ; Divide Acc by B ROM:4946 nop ; No operation ROM:4947 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:4948 ajmp ROM_4869 ; Absolute Jump ROM:4948 ROM:494A ; --------------------------------------------------------------------------- ROM:494A ROM:494A ROM_494A: ; CODE XREF: ROM:4937j ROM:494A ajmp ROM_487D ; Absolute Jump ROM:494A ROM:494C ; --------------------------------------------------------------------------- ROM:494C ajmp ROM_487A ; Absolute Jump ROM:494C ROM:494E ; --------------------------------------------------------------------------- ROM:494E ajmp ROM_4875 ; Absolute Jump ROM:494E ROM:494E ; --------------------------------------------------------------------------- ROM:4950 db 1, 72h, 1, 6Bh, 1, 74h, 1, 4Dh, 1, 15h, 1, 3Bh, 1, 34h ROM:4950 db 1, 23h, 1, 32h, 1, 21h, 1, 48h, 1, 10h, 1, 3Ah, 1, 38h ROM:4950 db 1, 30h, 1, 28h, 1, 20h, 1, 18h, 1, 2Bh, 1, 40h, 1, 50h ROM:4950 db 1, 0, 0, 0, 0, 6Ch, 0, 75h, 0, 7Dh, 0, 7Ch, 0, 6Bh ROM:4950 db 0, 73h, 0, 74h, 0, 7Bh, 0, 69h, 0, 72h, 0, 7Ah, 0, 79h ROM:4950 db 0, 70h, 0, 71h, 0, 4Ah, 1, 0, 0, 71h, 1, 84h, 0, 70h ROM:4950 db 1, 7Ch, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:4950 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 1, 7, 2, 7, 3, 7 ROM:4950 db 4, 7, 5, 7, 6, 7, 7, 7, 8, 7, 9, 7, 0Ah, 7, 0Bh, 7 ROM:4950 db 0Ch, 7, 0Dh, 7, 0Eh, 7, 0Fh, 7, 0, 0, 0EFh, 90h, 49h ROM:4950 db 0EAh, 93h, 90h, 4Ah, 0, 73h, 0Ah, 1Ch, 2Eh, 40h ROM:49EE ROM:49EE ; =============== S U B R O U T I N E ======================================= ROM:49EE ROM:49EE ROM:49EE ROM_49EE: ; CODE XREF: ROM_108F+47p ROM:49EE 000 setb IE.2 ; Interrupt Enable Register 0 ROM:49F0 000 setb IE.7 ; Interrupt Enable Register 0 ROM:49F2 000 ret ; Return from subroutine ROM:49F2 ROM:49F2 ; End of function ROM_49EE ROM:49F2 ROM:49F3 ROM:49F3 ; =============== S U B R O U T I N E ======================================= ROM:49F3 ROM:49F3 ; Attributes: thunk ROM:49F3 ROM:49F3 j_send_to_GPIO_F_4: ; CODE XREF: write_prepare+15p ROM:49F3 000 ljmp send_to_GPIO_F_4 ; Long Jump ROM:49F3 ROM:49F6 ; --------------------------------------------------------------------------- ROM:49F6 000 ret ; Return from subroutine ROM:49F6 ROM:49F6 ; End of function j_send_to_GPIO_F_4 ROM:49F6 ROM:49F7 ; --------------------------------------------------------------------------- ROM:49F7 ; START OF FUNCTION CHUNK FOR clear_another_place ROM:49F7 ROM:49F7 timer_set: ; CODE XREF: clear_another_place:jump_to_timerj ROM:49F7 000 mov TH0, #0FDh ; '²' ; Timer 0 High Byte ROM:49FA 000 clr A ; Clear Operand (0) ROM:49FB 000 mov TL0, A ; Timer 0 Low Byte ROM:49FD 000 clr TCON.5 ; Timer Control Register ROM:49FF 000 ret ; Return from subroutine ROM:49FF ROM:49FF ; END OF FUNCTION CHUNK FOR clear_another_place ROM:4A00 ; --------------------------------------------------------------------------- ROM:4A00 push RAM_8 ; Push from Direct RAM to Stack ROM:4A02 mov A, #4Ah ; 'J' ; Move (Op1 <- Op2) ROM:4A04 push ACC ; Accumulator ROM:4A06 push DP0L ; Data Pointer Low Byte ROM:4A08 push DP0H ; Data Pointer High Byte ROM:4A08 ROM:4A0A ROM:4A0A ; =============== S U B R O U T I N E ======================================= ROM:4A0A ROM:4A0A ROM:4A0A ROM_4A0A: ; CODE XREF: ROM_1000+9p ROM:4A0A 000 mov RAM_8, #0Ah ; Move (Op1 <- Op2) ROM:4A0D 000 clr P1.0 ; Port 1 ROM:4A0F 000 clr P1.1 ; Port 1 ROM:4A11 000 ret ; Return from subroutine ROM:4A11 ROM:4A11 ; End of function ROM_4A0A ROM:4A11 ROM:4A12 ROM:4A12 ; =============== S U B R O U T I N E ======================================= ROM:4A12 ROM:4A12 ROM:4A12 ROM_4A12: ROM:4A12 000 push RAM_8 ; Push from Direct RAM to Stack ROM:4A14 001 mov A, #4Ah ; 'J' ; Move (Op1 <- Op2) ROM:4A16 001 push ACC ; Accumulator ROM:4A18 002 push DP0L ; Data Pointer Low Byte ROM:4A1A 003 push DP0H ; Data Pointer High Byte ROM:4A1C 004 mov RAM_8, #1Ch ; Move (Op1 <- Op2) ROM:4A1F 004 clr P1.0 ; Port 1 ROM:4A21 004 clr P1.1 ; Port 1 ROM:4A23 004 ret ; Return from subroutine ROM:4A23 ROM:4A23 ; End of function ROM_4A12 ROM:4A23 ROM:4A24 ROM:4A24 ; =============== S U B R O U T I N E ======================================= ROM:4A24 ROM:4A24 ROM:4A24 ROM_4A24: ROM:4A24 000 push RAM_8 ; Push from Direct RAM to Stack ROM:4A26 001 mov A, #4Ah ; 'J' ; Move (Op1 <- Op2) ROM:4A28 001 push ACC ; Accumulator ROM:4A2A 002 push DP0L ; Data Pointer Low Byte ROM:4A2C 003 push DP0H ; Data Pointer High Byte ROM:4A2E 004 mov RAM_8, #2Eh ; '.' ; Move (Op1 <- Op2) ROM:4A31 004 setb P1.0 ; Port 1 ROM:4A33 004 clr P1.1 ; Port 1 ROM:4A35 004 ret ; Return from subroutine ROM:4A35 ROM:4A35 ; End of function ROM_4A24 ROM:4A35 ROM:4A36 ROM:4A36 ; =============== S U B R O U T I N E ======================================= ROM:4A36 ROM:4A36 ROM:4A36 ROM_4A36: ROM:4A36 000 push RAM_8 ; Push from Direct RAM to Stack ROM:4A38 001 mov A, #4Ah ; 'J' ; Move (Op1 <- Op2) ROM:4A3A 001 push ACC ; Accumulator ROM:4A3C 002 push DP0L ; Data Pointer Low Byte ROM:4A3E 003 push DP0H ; Data Pointer High Byte ROM:4A40 004 mov RAM_8, #40h ; '@' ; Move (Op1 <- Op2) ROM:4A43 004 clr P1.0 ; Port 1 ROM:4A45 004 setb P1.1 ; Port 1 ROM:4A47 004 ret ; Return from subroutine ROM:4A47 ROM:4A47 ; End of function ROM_4A36 ROM:4A47 ROM:4A48 ROM:4A48 ; =============== S U B R O U T I N E ======================================= ROM:4A48 ROM:4A48 ROM:4A48 write_prepare: ; CODE XREF: ROM_108F+44p ROM:4A48 000 lcall erase_some_place ; Long Subroutine Call ROM:4A48 ROM:4A4B 000 lcall ROM_8021 ; Long Subroutine Call ROM:4A4B ROM:4A4E 000 lcall set_base_adress ; Long Subroutine Call ROM:4A4E ROM:4A51 000 lcall set_timers ; Long Subroutine Call ROM:4A51 ROM:4A54 000 lcall magic_words ; Long Subroutine Call ROM:4A54 ROM:4A57 000 lcall clear_another_place ; Long Subroutine Call ROM:4A57 ROM:4A5A 000 lcall clear_yet_another_place ; Long Subroutine Call ROM:4A5A ROM:4A5D 000 lcall j_send_to_GPIO_F_4 ; Long Subroutine Call ROM:4A5D ROM:4A60 000 lcall ROM_3E11 ; Long Subroutine Call ROM:4A60 ROM:4A63 000 lcall ROM_4C18 ; Long Subroutine Call ROM:4A63 ROM:4A66 000 lcall ROM_62AC ; Long Subroutine Call ROM:4A66 ROM:4A69 000 mov DPTR, #0 ; Move (Op1 <- Op2) ROM:4A6C 000 mov A, #5 ; Move (Op1 <- Op2) ROM:4A6E 000 movx @DPTR, A ; write 0x5 to 0x0 ROM:4A6F 000 mov DPTR, #2 ; Move (Op1 <- Op2) ROM:4A72 000 mov A, #11h ; Move (Op1 <- Op2) ROM:4A74 000 movx @DPTR, A ; write 0x11 to 0x2 ROM:4A75 000 mov DPTR, #3 ; Move (Op1 <- Op2) ROM:4A78 000 mov A, #34h ; '4' ; Move (Op1 <- Op2) ROM:4A7A 000 movx @DPTR, A ; write 0x34 to 0x3 ROM:4A7B 000 mov DPTR, #4 ; Move (Op1 <- Op2) ROM:4A7E 000 mov A, #12h ; Move (Op1 <- Op2) ROM:4A80 000 movx @DPTR, A ; write 0x12 to 0x4 ROM:4A81 000 mov DPTR, #5 ; Move (Op1 <- Op2) ROM:4A84 000 mov A, #0B1h ; '¦' ; Move (Op1 <- Op2) ROM:4A86 000 movx @DPTR, A ; write 0xB1 to 0x5 ROM:4A87 000 ret ; Return from subroutine ROM:4A87 ROM:4A87 ; End of function write_prepare ROM:4A87 ROM:4A88 ROM:4A88 ; =============== S U B R O U T I N E ======================================= ROM:4A88 ROM:4A88 ROM:4A88 set_base_adress: ; CODE XREF: write_prepare+6p ROM:4A88 000 clr A ; Clear Operand (0) ROM:4A89 000 mov R7, A ; Move (Op1 <- Op2) ROM:4A89 ROM:4A8A ROM:4A8A loop_again: ; CODE XREF: set_base_adress+35j ROM:4A8A 000 mov A, R7 ; while (j < 26) { ROM:4A8B 000 mov B, #3 ; B Register ROM:4A8E 000 mul AB ; Multiply Acc by B ROM:4A8F 000 add A, #2Ah ; '*' ; Add Second Operand to Acc ROM:4A91 000 mov DP0L, A ; Data Pointer Low Byte ROM:4A93 000 clr A ; Clear Operand (0) ROM:4A94 000 addc A, #4Ch ; 'L' ; Add Second Operand to Acc with carry ROM:4A96 000 mov DP0H, A ; Data Pointer High Byte ROM:4A98 000 clr A ; Clear Operand (0) ROM:4A99 000 movc A, @A+DPTR ; i = A ROM:4A99 ; x = offset_table_1[i]; ROM:4A9A 000 mov R4, A ; Move (Op1 <- Op2) ROM:4A9B 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4A9D 000 movc A, @A+DPTR ; y = offset_table_1[i+1]; ROM:4A9E 000 mov R5, A ; Move (Op1 <- Op2) ROM:4A9F 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:4AA1 000 mov A, R4 ; Move (Op1 <- Op2) ROM:4AA2 000 mov @R0, A ; write_byte_to(0xBE, x); ROM:4AA3 000 inc R0 ; Increment Operand ROM:4AA4 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4AA5 000 mov @R0, A ; write_byte_to(0xBF, y); ROM:4AA6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4AA7 000 mov B, #3 ; B Register ROM:4AAA 000 mul AB ; Multiply Acc by B ROM:4AAB 000 add A, #2Ch ; ',' ; Add Second Operand to Acc ROM:4AAD 000 mov DP0L, A ; Data Pointer Low Byte ROM:4AAF 000 clr A ; Clear Operand (0) ROM:4AB0 000 addc A, #4Ch ; 'L' ; Add Second Operand to Acc with carry ROM:4AB2 000 mov DP0H, A ; Data Pointer High Byte ROM:4AB4 000 clr A ; Clear Operand (0) ROM:4AB5 000 movc A, @A+DPTR ; tmp = offset_table_1[i]; ROM:4AB6 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:4AB8 000 mov DP0H, R4 ; Data Pointer High Byte ROM:4ABA 000 movx @DPTR, A ; write_byte_to( address_pair(x:y), tmp); ROM:4ABB 000 inc R7 ; Increment Operand ROM:4ABC 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4ABD 000 cjne A, #26h, loop_again ; '&' ; } ROM:4ABD ROM:4AC0 000 mov DPTR, #GCTRL_BADRSEL ; if (GCTRL_BADRSEL <> 2) { ROM:4AC3 000 movx A, @DPTR ; return; ROM:4AC4 000 cjne A, #2, return ; } else { ROM:4AC4 ROM:4AC7 ___PREDEFINED BASE ADRESS___ ROM:4AC7 ROM:4AC7 000 mov DPTR, #SWUC_SWCBALR ; // Set SWC BASE ADDRESS to "0x68E" ROM:4ACA 000 mov A, #8Eh ; // so the ports adresses are now this (from host view): ROM:4ACC 000 movx @DPTR, A ; // ROM:4ACD 000 mov DPTR, #SWUC_SWCBAHR ; // Adress Port = 0x68Eh ROM:4AD0 000 mov A, #6 ; // Data Port = 0x68Fh ROM:4AD2 000 movx @DPTR, A ; } ROM:4AD2 ROM:4AD2 ___PREDEFINED BASE ADRESS___ ROM:4AD3 ROM:4AD3 return: ; CODE XREF: set_base_adress+3Cj ROM:4AD3 000 ret ; return; ROM:4AD3 ROM:4AD3 ; End of function set_base_adress ROM:4AD3 ROM:4AD4 ROM:4AD4 ; =============== S U B R O U T I N E ======================================= ROM:4AD4 ROM:4AD4 ROM:4AD4 erase_some_place: ; CODE XREF: write_preparep ROM:4AD4 000 mov R7, #20h ; ' ' ; Move (Op1 <- Op2) ROM:4AD6 000 mov DPTR, #4 ; Move (Op1 <- Op2) ROM:4AD6 ROM:4AD9 ROM:4AD9 ROM_4AD9: ; CODE XREF: erase_some_place+15j ROM:4AD9 000 mov R5, DP0L ; Data Pointer Low Byte ROM:4ADB 000 mov R4, DP0H ; Data Pointer High Byte ROM:4ADD 000 clr C ; Clear Operand (0) ROM:4ADE 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4ADF 000 subb A, #0FCh ; 'n' ; Subtract Second Operand from Acc with Borrow ROM:4AE1 000 mov A, R4 ; Move (Op1 <- Op2) ROM:4AE2 000 subb A, #0Fh ; Subtract Second Operand from Acc with Borrow ROM:4AE4 000 jnc ROM_4AEB ; Jump if Carry is clear ROM:4AE4 ROM:4AE6 000 clr A ; Clear Operand (0) ROM:4AE7 000 movx @DPTR, A ; Move from/to external RAM ROM:4AE8 000 inc DPTR ; Increment Operand ROM:4AE9 000 sjmp ROM_4AD9 ; Short jump ROM:4AE9 ROM:4AEB ; --------------------------------------------------------------------------- ROM:4AEB ROM:4AEB ROM_4AEB: ; CODE XREF: erase_some_place+10j ROM:4AEB ; erase_some_place+22j ROM:4AEB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4AEC 000 clr C ; Clear Operand (0) ROM:4AED 000 subb A, #0D0h ; '-' ; Subtract Second Operand from Acc with Borrow ROM:4AEF 000 jnc ROM_4AF8 ; Jump if Carry is clear ROM:4AEF ROM:4AF1 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:4AF3 000 clr A ; Clear Operand (0) ROM:4AF4 000 mov @R0, A ; Move (Op1 <- Op2) ROM:4AF5 000 inc R7 ; Increment Operand ROM:4AF6 000 sjmp ROM_4AEB ; Short jump ROM:4AF6 ROM:4AF8 ; --------------------------------------------------------------------------- ROM:4AF8 ROM:4AF8 ROM_4AF8: ; CODE XREF: erase_some_place+1Bj ROM:4AF8 000 mov DPTR, #BRAM_BASE ; Battery-backed SRAM ROM:4AF8 ROM:4AFB ROM:4AFB ROM_4AFB: ; CODE XREF: erase_some_place+32j ROM:4AFB 000 mov R6, DP0H ; Data Pointer High Byte ROM:4AFD 000 clr C ; Clear Operand (0) ROM:4AFE 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4AFF 000 subb A, #23h ; '#' ; Subtract Second Operand from Acc with Borrow ROM:4B01 000 jnc return ; Jump if Carry is clear ROM:4B01 ROM:4B03 000 clr A ; Clear Operand (0) ROM:4B04 000 movx @DPTR, A ; Move from/to external RAM ROM:4B05 000 inc DPTR ; Increment Operand ROM:4B06 000 sjmp ROM_4AFB ; Short jump ROM:4B06 ROM:4B08 ; --------------------------------------------------------------------------- ROM:4B08 ROM:4B08 return: ; CODE XREF: erase_some_place+2Dj ROM:4B08 000 ret ; Return from subroutine ROM:4B08 ROM:4B08 ; End of function erase_some_place ROM:4B08 ROM:4B09 ROM:4B09 ; =============== S U B R O U T I N E ======================================= ROM:4B09 ROM:4B09 ROM:4B09 clear_another_place: ; CODE XREF: write_prepare+Fp ROM:4B09 ; clear_another_place_againp ... ROM:4B09 ROM:4B09 ; FUNCTION CHUNK AT ROM:49F7 SIZE 00000009 BYTES ROM:4B09 ; FUNCTION CHUNK AT ROM:4CB4 SIZE 00000003 BYTES ROM:4B09 ROM:4B09 000 mov RAM_21, #0FFh ; Move (Op1 <- Op2) ROM:4B0C 000 clr A ; Clear Operand (0) ROM:4B0D 000 mov RAM_20, A ; Move (Op1 <- Op2) ROM:4B0F 000 mov R0, #0B2h ; '¦' ; Move (Op1 <- Op2) ROM:4B11 000 mov @R0, #22h ; '"' ; write 0x22 to 0xB2 ROM:4B13 000 mov RAM_24, A ; Move (Op1 <- Op2) ROM:4B15 000 mov RAM_29, A ; Move (Op1 <- Op2) ROM:4B17 000 mov DPTR, #59h ; 'Y' ; Move (Op1 <- Op2) ROM:4B1A 000 movx @DPTR, A ; Move from/to external RAM ROM:4B1B 000 mov DPTR, #5Ah ; 'Z' ; Move (Op1 <- Op2) ROM:4B1E 000 movx @DPTR, A ; Move from/to external RAM ROM:4B1F 000 mov DPTR, #5Bh ; '[' ; Move (Op1 <- Op2) ROM:4B22 000 movx @DPTR, A ; Move from/to external RAM ROM:4B23 000 mov DPTR, #5Ch ; '\' ; Move (Op1 <- Op2) ROM:4B26 000 movx @DPTR, A ; Move from/to external RAM ROM:4B27 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:4B29 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:4B2B 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:4B2D 000 anl A, #11110000b ; Logical AND (op1 &= op2) ROM:4B2F 000 mov RAM_40, A ; Move (Op1 <- Op2) ROM:4B31 000 setb RAM_26.1 ; Set Direct Bit ROM:4B33 000 ljmp jump_to_timer ; Long Jump ROM:4B33 ROM:4B33 ; End of function clear_another_place ROM:4B33 ROM:4B36 ROM:4B36 ; =============== S U B R O U T I N E ======================================= ROM:4B36 ROM:4B36 ROM:4B36 clear_yet_another_place: ; CODE XREF: write_prepare+12p ROM:4B36 000 clr A ; Clear Operand (0) ROM:4B37 000 mov RAM_26, A ; Move (Op1 <- Op2) ROM:4B39 000 mov RAM_27, A ; Move (Op1 <- Op2) ROM:4B3B 000 mov DPTR, #1Ah ; Move (Op1 <- Op2) ROM:4B3E 000 movx @DPTR, A ; Move from/to external RAM ROM:4B3F 000 mov DPTR, #1Bh ; Move (Op1 <- Op2) ROM:4B42 000 movx @DPTR, A ; Move from/to external RAM ROM:4B43 000 mov DPTR, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:4B46 000 movx @DPTR, A ; Move from/to external RAM ROM:4B47 000 mov DPTR, #2Bh ; '+' ; Move (Op1 <- Op2) ROM:4B4A 000 movx @DPTR, A ; Move from/to external RAM ROM:4B4B 000 mov RAM_3E, A ; Move (Op1 <- Op2) ROM:4B4D 000 mov RAM_3F, A ; Move (Op1 <- Op2) ROM:4B4F 000 mov RAM_25, A ; Move (Op1 <- Op2) ROM:4B51 000 ret ; Return from subroutine ROM:4B51 ROM:4B51 ; End of function clear_yet_another_place ROM:4B51 ROM:4B52 ROM:4B52 ; =============== S U B R O U T I N E ======================================= ROM:4B52 ROM:4B52 ROM:4B52 clear_another_place_again: ROM:4B52 000 lcall clear_another_place ; Long Subroutine Call ROM:4B52 ROM:4B55 000 clr A ; Clear Operand (0) ROM:4B56 000 mov DPTR, #1Ah ; Move (Op1 <- Op2) ROM:4B59 000 movx @DPTR, A ; Move from/to external RAM ROM:4B5A 000 mov DPTR, #1Bh ; Move (Op1 <- Op2) ROM:4B5D 000 movx @DPTR, A ; Move from/to external RAM ROM:4B5E 000 mov DPTR, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:4B61 000 movx @DPTR, A ; Move from/to external RAM ROM:4B62 000 mov DPTR, #2Bh ; '+' ; Move (Op1 <- Op2) ROM:4B65 000 movx @DPTR, A ; Move from/to external RAM ROM:4B66 000 mov DPTR, #7Dh ; '}' ; Move (Op1 <- Op2) ROM:4B69 000 movx @DPTR, A ; Move from/to external RAM ROM:4B6A 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:4B6D 000 movx @DPTR, A ; Move from/to external RAM ROM:4B6E 000 mov DPTR, #7Fh ; '' ; Move (Op1 <- Op2) ROM:4B71 000 movx @DPTR, A ; Move from/to external RAM ROM:4B72 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:4B75 000 movx @DPTR, A ; Move from/to external RAM ROM:4B76 000 mov R0, #38h ; '8' ; Move (Op1 <- Op2) ROM:4B78 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4B79 000 anl A, #11111110b ; Logical AND (op1 &= op2) ROM:4B7B 000 mov @R0, A ; Move (Op1 <- Op2) ROM:4B7C 000 ret ; Return from subroutine ROM:4B7C ROM:4B7C ; End of function clear_another_place_again ROM:4B7C ROM:4B7D ROM:4B7D ; =============== S U B R O U T I N E ======================================= ROM:4B7D ROM:4B7D ROM:4B7D ROM_4B7D: ROM:4B7D 000 lcall clear_another_place ; Long Subroutine Call ROM:4B7D ROM:4B80 000 clr A ; Clear Operand (0) ROM:4B81 000 mov DPTR, #1Ah ; Move (Op1 <- Op2) ROM:4B84 000 movx @DPTR, A ; Move from/to external RAM ROM:4B85 000 mov DPTR, #1Bh ; Move (Op1 <- Op2) ROM:4B88 000 movx @DPTR, A ; Move from/to external RAM ROM:4B89 000 mov DPTR, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:4B8C 000 movx @DPTR, A ; Move from/to external RAM ROM:4B8D 000 mov DPTR, #2Bh ; '+' ; Move (Op1 <- Op2) ROM:4B90 000 movx @DPTR, A ; Move from/to external RAM ROM:4B91 000 mov R0, #38h ; '8' ; Move (Op1 <- Op2) ROM:4B93 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4B94 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:4B96 000 mov @R0, A ; Move (Op1 <- Op2) ROM:4B97 000 ret ; Return from subroutine ROM:4B97 ROM:4B97 ; End of function ROM_4B7D ROM:4B97 ROM:4B98 ROM:4B98 ; =============== S U B R O U T I N E ======================================= ROM:4B98 ROM:4B98 ROM:4B98 do_something_with_offset_table_1: ; CODE XREF: ROM_4C18+6p ROM:4B98 ; ROM_4C18+Fj ... ROM:4B98 000 mov DPTR, #689h ; Move (Op1 <- Op2) ROM:4B9B 000 mov A, R4 ; Move (Op1 <- Op2) ROM:4B9C 000 movx @DPTR, A ; Move from/to external RAM ROM:4B9D 000 inc DPTR ; Increment Operand ROM:4B9E 000 mov A, R5 ; Move (Op1 <- Op2) ROM:4B9F 000 movx @DPTR, A ; Move from/to external RAM ROM:4BA0 000 mov R3, RAM_7 ; Move (Op1 <- Op2) ROM:4BA2 000 mov A, R3 ; Move (Op1 <- Op2) ROM:4BA3 000 mov B, #6 ; B Register ROM:4BA6 000 mul AB ; Multiply Acc by B ROM:4BA7 000 add A, #9Ch ; '£' ; Add Second Operand to Acc ROM:4BA9 000 mov DP0L, A ; Data Pointer Low Byte ROM:4BAB 000 clr A ; Clear Operand (0) ROM:4BAC 000 addc A, #4Ch ; 'L' ; Add Second Operand to Acc with carry ROM:4BAE 000 mov DP0H, A ; Data Pointer High Byte ROM:4BB0 000 clr A ; Clear Operand (0) ROM:4BB1 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4BB2 000 mov R6, A ; Move (Op1 <- Op2) ROM:4BB3 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4BB5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4BB6 000 mov DP0L, A ; Data Pointer Low Byte ROM:4BB8 000 mov DP0H, R6 ; Data Pointer High Byte ROM:4BBA 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:4BBC 000 movx @DPTR, A ; Move from/to external RAM ROM:4BBD 000 mov DPTR, #689h ; Move (Op1 <- Op2) ROM:4BC0 000 movx A, @DPTR ; Move from/to external RAM ROM:4BC1 000 mov R7, A ; Move (Op1 <- Op2) ROM:4BC2 000 mov A, R3 ; Move (Op1 <- Op2) ROM:4BC3 000 mov B, #6 ; B Register ROM:4BC6 000 mul AB ; Multiply Acc by B ROM:4BC7 000 add A, #9Eh ; 'P' ; Add Second Operand to Acc ROM:4BC9 000 mov DP0L, A ; Data Pointer Low Byte ROM:4BCB 000 clr A ; Clear Operand (0) ROM:4BCC 000 addc A, #4Ch ; 'L' ; Add Second Operand to Acc with carry ROM:4BCE 000 mov DP0H, A ; Data Pointer High Byte ROM:4BD0 000 clr A ; Clear Operand (0) ROM:4BD1 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4BD2 000 mov R4, A ; Move (Op1 <- Op2) ROM:4BD3 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4BD5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4BD6 000 mov DP0L, A ; Data Pointer Low Byte ROM:4BD8 000 mov DP0H, R4 ; Data Pointer High Byte ROM:4BDA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4BDB 000 movx @DPTR, A ; Move from/to external RAM ROM:4BDC 000 mov DPTR, #689h ; Move (Op1 <- Op2) ROM:4BDF 000 movx A, @DPTR ; Move from/to external RAM ROM:4BE0 000 inc DPTR ; Increment Operand ROM:4BE1 000 movx A, @DPTR ; Move from/to external RAM ROM:4BE2 000 mov R7, A ; Move (Op1 <- Op2) ROM:4BE3 000 mov A, R3 ; Move (Op1 <- Op2) ROM:4BE4 000 mov B, #6 ; B Register ROM:4BE7 000 mul AB ; Multiply Acc by B ROM:4BE8 000 add A, #0A0h ; 'á' ; Add Second Operand to Acc ROM:4BEA 000 mov DP0L, A ; Data Pointer Low Byte ROM:4BEC 000 clr A ; Clear Operand (0) ROM:4BED 000 addc A, #4Ch ; 'L' ; Add Second Operand to Acc with carry ROM:4BEF 000 mov DP0H, A ; Data Pointer High Byte ROM:4BF1 000 clr A ; Clear Operand (0) ROM:4BF2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4BF3 000 mov R4, A ; Move (Op1 <- Op2) ROM:4BF4 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4BF6 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4BF7 000 mov DP0L, A ; Data Pointer Low Byte ROM:4BF9 000 mov DP0H, R4 ; Data Pointer High Byte ROM:4BFB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4BFC 000 movx @DPTR, A ; Move from/to external RAM ROM:4BFD 000 mov A, R3 ; Move (Op1 <- Op2) ROM:4BFE 000 mov B, #6 ; B Register ROM:4C01 000 mul AB ; Multiply Acc by B ROM:4C02 000 add A, #9Ch ; '£' ; Add Second Operand to Acc ROM:4C04 000 mov DP0L, A ; Data Pointer Low Byte ROM:4C06 000 clr A ; Clear Operand (0) ROM:4C07 000 addc A, #4Ch ; 'L' ; Add Second Operand to Acc with carry ROM:4C09 000 mov DP0H, A ; Data Pointer High Byte ROM:4C0B 000 clr A ; Clear Operand (0) ROM:4C0C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4C0D 000 mov R6, A ; Move (Op1 <- Op2) ROM:4C0E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4C10 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4C11 000 mov DP0L, A ; Data Pointer Low Byte ROM:4C13 000 mov DP0H, R6 ; Data Pointer High Byte ROM:4C15 000 clr A ; Clear Operand (0) ROM:4C16 000 movx @DPTR, A ; Move from/to external RAM ROM:4C17 000 ret ; Return from subroutine ROM:4C17 ROM:4C17 ; End of function do_something_with_offset_table_1 ROM:4C17 ROM:4C18 ROM:4C18 ; =============== S U B R O U T I N E ======================================= ROM:4C18 ROM:4C18 ROM:4C18 ROM_4C18: ; CODE XREF: ROM_108F+1Ap ROM:4C18 ; write_prepare+1Bp ROM:4C18 000 mov R4, #38h ; '8' ; Move (Op1 <- Op2) ROM:4C1A 000 mov R5, #30h ; '0' ; Move (Op1 <- Op2) ROM:4C1C 000 clr A ; Clear Operand (0) ROM:4C1D 000 mov R7, A ; Move (Op1 <- Op2) ROM:4C1E 000 lcall do_something_with_offset_table_1 ; Long Subroutine Call ROM:4C1E ROM:4C21 000 mov R4, #11h ; Move (Op1 <- Op2) ROM:4C23 000 mov R5, #48h ; 'H' ; Move (Op1 <- Op2) ROM:4C25 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:4C27 000 ljmp do_something_with_offset_table_1 ; Long Jump ROM:4C27 ROM:4C27 ; End of function ROM_4C18 ROM:4C27 ROM:4C27 ; --------------------------------------------------------------------------- ROM:4C2A offset_table_1: db 20h ROM:4C2B db 0Dh ROM:4C2C db 3 ROM:4C2D db 20h ROM:4C2E db 0Ah ROM:4C2F db 2 ROM:4C30 db 20h ROM:4C31 db 6 ROM:4C32 db 84h ROM:4C33 db 13h ROM:4C34 db 2 ROM:4C35 db 0 ROM:4C36 db 13h ROM:4C37 db 0 ROM:4C38 db 48h ; H ROM:4C39 db 15h ROM:4C3A db 6 ROM:4C3B db 41h ; A ROM:4C3C db 15h ROM:4C3D db 16h ROM:4C3E db 41h ; A ROM:4C3F db 17h ROM:4C40 db 0 ROM:4C41 db 11h ROM:4C42 db 17h ROM:4C43 db 1 ROM:4C44 db 11h ROM:4C45 db 17h ROM:4C46 db 2 ROM:4C47 db 11h ROM:4C48 db 17h ROM:4C49 db 4 ROM:4C4A db 4 ROM:4C4B db 17h ROM:4C4C db 5 ROM:4C4D db 4 ROM:4C4E db 17h ROM:4C4F db 6 ROM:4C50 db 4 ROM:4C51 db 1Dh ROM:4C52 db 2 ROM:4C53 db 5 ROM:4C54 db 1Dh ROM:4C55 db 5 ROM:4C56 db 4 ROM:4C57 db 19h ROM:4C58 db 0 ROM:4C59 db 8Bh ; ï ROM:4C5A db 19h ROM:4C5B db 5 ROM:4C5C db 80h ; Ç ROM:4C5D db 19h ROM:4C5E db 6 ROM:4C5F db 0 ROM:4C60 db 19h ROM:4C61 db 9 ROM:4C62 db 0 ROM:4C63 db 19h ROM:4C64 db 0Ch ROM:4C65 db 0 ROM:4C66 db 19h ROM:4C67 db 1 ROM:4C68 db 81h ; ü ROM:4C69 db 1Ah ROM:4C6A db 0 ROM:4C6B db 0 ROM:4C6C db 1Ah ROM:4C6D db 1 ROM:4C6E db 0 ROM:4C6F db 1Ch ROM:4C70 db 22h ; " ROM:4C71 db 1Ah ROM:4C72 db 1Ch ROM:4C73 db 23h ; # ROM:4C74 db 30h ; 0 ROM:4C75 db 1Ch ROM:4C76 db 24h ; $ ROM:4C77 db 3 ROM:4C78 db 1Ch ROM:4C79 db 25h ; % ROM:4C7A db 1Ah ROM:4C7B db 1Ch ROM:4C7C db 26h ; & ROM:4C7D db 19h ROM:4C7E db 1Ch ROM:4C7F db 27h ; ' ROM:4C80 db 0B2h ; ¦ ROM:4C81 db 1Ch ROM:4C82 db 28h ; ( ROM:4C83 db 1 ROM:4C84 db 1Ch ROM:4C85 db 10h ROM:4C86 db 1 ROM:4C87 db 1Ch ROM:4C88 db 1 ROM:4C89 db 3 ROM:4C8A db 1Ch ROM:4C8B db 1 ROM:4C8C db 1 ROM:4C8D db 1Ch ROM:4C8E db 0 ROM:4C8F db 0FFh ROM:4C90 db 1Ch ROM:4C91 db 21h ; ! ROM:4C92 db 1 ROM:4C93 db 1Ch ROM:4C94 db 12h ROM:4C95 db 3 ROM:4C96 db 1Ch ROM:4C97 db 12h ROM:4C98 db 1 ROM:4C99 db 1Ch ROM:4C9A db 11h ROM:4C9B db 0FFh ROM:4C9C db 10h ROM:4C9D db 45h ; E ROM:4C9E db 10h ROM:4C9F db 44h ; D ROM:4CA0 db 10h ROM:4CA1 db 43h ; C ROM:4CA2 db 10h ROM:4CA3 db 48h ; H ROM:4CA4 db 10h ROM:4CA5 db 47h ; G ROM:4CA6 db 10h ROM:4CA7 db 46h ; F ROM:4CA8 db 10h ROM:4CA9 db 4Bh ; K ROM:4CAA db 10h ROM:4CAB db 4Ah ; J ROM:4CAC db 10h ROM:4CAD db 49h ; I ROM:4CAE db 10h ROM:4CAF db 4Eh ; N ROM:4CB0 db 10h ROM:4CB1 db 4Dh ; M ROM:4CB2 db 10h ROM:4CB3 db 4Ch ; L ROM:4CB4 ; --------------------------------------------------------------------------- ROM:4CB4 ; START OF FUNCTION CHUNK FOR clear_another_place ROM:4CB4 ROM:4CB4 jump_to_timer: ; CODE XREF: clear_another_place+2Aj ROM:4CB4 000 ljmp timer_set ; Long Jump ROM:4CB4 ROM:4CB4 ; END OF FUNCTION CHUNK FOR clear_another_place ROM:4CB7 ; --------------------------------------------------------------------------- ROM:4CB7 ret ; Return from subroutine ROM:4CB7 ROM:4CB8 ROM:4CB8 ; =============== S U B R O U T I N E ======================================= ROM:4CB8 ROM:4CB8 ROM:4CB8 set_timer_1_yet: ; CODE XREF: ROM_14EE+20p ROM:4CB8 ; ROM_2631+146p ... ROM:4CB8 000 mov TL1, #8Ch ; 'î' ; Timer 1 Low Byte ROM:4CBB 000 mov TH1, #0FFh ; Timer 1 High Byte ROM:4CBE 000 clr TCON.7 ; Timer Control Register ROM:4CC0 000 setb TCON.6 ; Timer Control Register ROM:4CC2 000 mov R7, RAM_3F ; Move (Op1 <- Op2) ROM:4CC4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4CC5 000 orl A, #10000b ; Logical OR (op1 |= op2) ROM:4CC7 000 mov RAM_3F, A ; Move (Op1 <- Op2) ROM:4CC9 000 ret ; Return from subroutine ROM:4CC9 ROM:4CC9 ; End of function set_timer_1_yet ROM:4CC9 ROM:4CCA ROM:4CCA ; =============== S U B R O U T I N E ======================================= ROM:4CCA ROM:4CCA ROM:4CCA set_timer_1: ROM:4CCA 000 mov TL1, #8Ch ; 'î' ; Timer 1 Low Byte ROM:4CCD 000 mov TH1, #0FFh ; Timer 1 High Byte ROM:4CD0 000 clr TCON.7 ; Timer Control Register ROM:4CD2 000 setb TCON.6 ; Timer Control Register ROM:4CD4 000 ret ; Return from subroutine ROM:4CD4 ROM:4CD4 ; End of function set_timer_1 ROM:4CD4 ROM:4CD5 ROM:4CD5 ; =============== S U B R O U T I N E ======================================= ROM:4CD5 ROM:4CD5 ROM:4CD5 reset_timer_1: ROM:4CD5 000 clr TCON.6 ; Timer Control Register ROM:4CD7 000 ret ; Return from subroutine ROM:4CD7 ROM:4CD7 ; End of function reset_timer_1 ROM:4CD7 ROM:4CD8 ROM:4CD8 ; =============== S U B R O U T I N E ======================================= ROM:4CD8 ROM:4CD8 ROM:4CD8 set_timers: ; CODE XREF: ROM_108F+1Dp ROM:4CD8 ; write_prepare+9p ROM:4CD8 000 clr TCON.4 ; Timer Control Register ROM:4CDA 000 clr TCON.5 ; Timer Control Register ROM:4CDC 000 mov TH0, #0FDh ; '²' ; Timer 0 High Byte ROM:4CDF 000 clr A ; Clear Operand (0) ROM:4CE0 000 mov TL0, A ; Timer 0 Low Byte ROM:4CE2 000 mov TMOD, #11h ; Timer Mode Control Register ROM:4CE5 000 setb TCON.4 ; Timer Control Register ROM:4CE7 000 setb IE.1 ; Interrupt Enable Register 0 ROM:4CE9 000 clr TCON.6 ; Timer Control Register ROM:4CEB 000 clr TCON.7 ; Timer Control Register ROM:4CED 000 mov TL1, #8Ch ; 'î' ; Timer 1 Low Byte ROM:4CF0 000 mov TH1, #0FFh ; Timer 1 High Byte ROM:4CF3 000 setb TCON.6 ; Timer Control Register ROM:4CF5 000 setb IE.3 ; Interrupt Enable Register 0 ROM:4CF7 000 ret ; Return from subroutine ROM:4CF7 ROM:4CF7 ; End of function set_timers ROM:4CF7 ROM:4CF8 ROM:4CF8 ; =============== S U B R O U T I N E ======================================= ROM:4CF8 ROM:4CF8 ROM:4CF8 ROM_4CF8: ROM:4CF8 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:4CFA 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4CFB 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:4CFD 000 mov @R0, A ; Move (Op1 <- Op2) ROM:4CFE 000 ret ; Return from subroutine ROM:4CFE ROM:4CFE ; End of function ROM_4CF8 ROM:4CFE ROM:4CFF ROM:4CFF ; =============== S U B R O U T I N E ======================================= ROM:4CFF ROM:4CFF ROM:4CFF ROM_4CFF: ROM:4CFF 000 mov TL2, #19h ; Timer 2 Low Byte ROM:4D02 000 mov TH2, #0FFh ; Timer 2 High Byte ROM:4D05 000 ret ; Return from subroutine ROM:4D05 ROM:4D05 ; End of function ROM_4CFF ROM:4D05 ROM:4D06 ROM:4D06 ; =============== S U B R O U T I N E ======================================= ROM:4D06 ROM:4D06 ROM:4D06 start_timer_2: ROM:4D06 000 setb T2CON.2 ; Timer 2 Control ROM:4D08 000 setb IE.5 ; Interrupt Enable Register 0 ROM:4D0A 000 ret ; Return from subroutine ROM:4D0A ROM:4D0A ; End of function start_timer_2 ROM:4D0A ROM:4D0B ROM:4D0B ; =============== S U B R O U T I N E ======================================= ROM:4D0B ROM:4D0B ROM:4D0B stop_timer_2: ; CODE XREF: ROM_133C:ROM_137Bp ROM:4D0B 000 clr T2CON.2 ; Timer 2 Control ROM:4D0D 000 clr IE.5 ; Interrupt Enable Register 0 ROM:4D0F 000 ret ; Return from subroutine ROM:4D0F ROM:4D0F ; End of function stop_timer_2 ROM:4D0F ROM:4D10 ROM:4D10 ; =============== S U B R O U T I N E ======================================= ROM:4D10 ROM:4D10 ROM:4D10 ROM_4D10: ; CODE XREF: ROM_2842+14p ROM:4D10 ; ROM:ROM_989Cp ... ROM:4D10 000 mov DPTR, #68Bh ; Move (Op1 <- Op2) ROM:4D13 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4D14 000 movx @DPTR, A ; Move from/to external RAM ROM:4D15 000 inc DPTR ; Increment Operand ROM:4D16 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4D17 000 movx @DPTR, A ; Move from/to external RAM ROM:4D17 ROM:4D18 ROM:4D18 ROM_4D18: ; CODE XREF: ROM_4D10:ROM_4D2Bj ROM:4D18 000 mov DPTR, #68Ch ; Move (Op1 <- Op2) ROM:4D1B 000 movx A, @DPTR ; Move from/to external RAM ROM:4D1C 000 add A, #0FFh ; Add Second Operand to Acc ROM:4D1E 000 movx @DPTR, A ; Move from/to external RAM ROM:4D1F 000 mov DPTR, #68Bh ; Move (Op1 <- Op2) ROM:4D22 000 movx A, @DPTR ; Move from/to external RAM ROM:4D23 000 addc A, #0FFh ; Add Second Operand to Acc with carry ROM:4D25 000 movx @DPTR, A ; Move from/to external RAM ROM:4D26 000 movx A, @DPTR ; Move from/to external RAM ROM:4D27 000 jnz ROM_4D2B ; Jump if Acc is not zero ROM:4D27 ROM:4D29 000 inc DPTR ; Increment Operand ROM:4D2A 000 movx A, @DPTR ; Move from/to external RAM ROM:4D2A ROM:4D2B ROM:4D2B ROM_4D2B: ; CODE XREF: ROM_4D10+17j ROM:4D2B 000 jnz ROM_4D18 ; Jump if Acc is not zero ROM:4D2B ROM:4D2D 000 ret ; Return from subroutine ROM:4D2D ROM:4D2D ; End of function ROM_4D10 ROM:4D2D ROM:4D2E ROM:4D2E ; =============== S U B R O U T I N E ======================================= ROM:4D2E ROM:4D2E ROM:4D2E ROM_4D2E: ; CODE XREF: ROM_1FF7+16p ROM:4D2E ; ROM_4D2E+10j ROM:4D2E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4D2F 000 jz ROM_4D40 ; Jump if Acc is zero ROM:4D2F ROM:4D31 000 clr A ; Clear Operand (0) ROM:4D32 000 mov R6, A ; Move (Op1 <- Op2) ROM:4D32 ROM:4D33 ROM:4D33 ROM_4D33: ; CODE XREF: ROM_4D2E+Cj ROM:4D33 000 mov DPTR, #GCTRL_WNCKR ; Wait Next Clock Rising ROM:4D36 000 clr A ; Clear Operand (0) ROM:4D37 000 movx @DPTR, A ; Move from/to external RAM ROM:4D38 000 inc R6 ; Increment Operand ROM:4D39 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4D3A 000 cjne A, #42h, ROM_4D33 ; 'B' ; Compare Operands and JNE ROM:4D3A ROM:4D3D 000 dec R7 ; Decrement Operand ROM:4D3E 000 sjmp ROM_4D2E ; Short jump ROM:4D3E ROM:4D40 ; --------------------------------------------------------------------------- ROM:4D40 ROM:4D40 ROM_4D40: ; CODE XREF: ROM_4D2E+1j ROM:4D40 000 ret ; Return from subroutine ROM:4D40 ROM:4D40 ; End of function ROM_4D2E ROM:4D40 ROM:4D41 ROM:4D41 ; =============== S U B R O U T I N E ======================================= ROM:4D41 ROM:4D41 ROM:4D41 ROM_4D41: ; CODE XREF: ROM_9999+1F7p ROM:4D41 ; ROM_9BA0+19Aj ROM:4D41 000 clr IE.3 ; Interrupt Enable Register 0 ROM:4D41 ROM:4D43 ROM:4D43 ROM_4D43: ; CODE XREF: ROM_4D41+15j ROM:4D43 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4D44 000 jz ROM_4D58 ; Jump if Acc is zero ROM:4D44 ROM:4D46 000 mov TH1, #0FDh ; '²' ; Timer 1 High Byte ROM:4D49 000 clr A ; Clear Operand (0) ROM:4D4A 000 mov TL1, A ; Timer 1 Low Byte ROM:4D4C 000 setb TCON.6 ; Timer Control Register ROM:4D4E 000 clr TCON.7 ; Timer Control Register ROM:4D4E ROM:4D50 ROM:4D50 ROM_4D50: ; CODE XREF: ROM_4D41:ROM_4D50j ROM:4D50 000 jnb TCON.7, ROM_4D50 ; Timer Control Register ROM:4D50 ROM:4D53 000 clr TCON.7 ; Timer Control Register ROM:4D55 000 dec R7 ; Decrement Operand ROM:4D56 000 sjmp ROM_4D43 ; Short jump ROM:4D56 ROM:4D58 ; --------------------------------------------------------------------------- ROM:4D58 ROM:4D58 ROM_4D58: ; CODE XREF: ROM_4D41+3j ROM:4D58 000 setb IE.3 ; Interrupt Enable Register 0 ROM:4D5A 000 ret ; Return from subroutine ROM:4D5A ROM:4D5A ; End of function ROM_4D41 ROM:4D5A ROM:4D5B ROM:4D5B ; =============== S U B R O U T I N E ======================================= ROM:4D5B ROM:4D5B ROM:4D5B ROM_4D5B: ROM:4D5B 000 inc RAM_56 ; Increment Operand ROM:4D5D 000 mov A, RAM_56 ; Move (Op1 <- Op2) ROM:4D5F 000 setb C ; Set Direct Bit ROM:4D60 000 subb A, #14h ; Subtract Second Operand from Acc with Borrow ROM:4D62 000 jc ROM_4D6A ; Jump if Carry is set ROM:4D62 ROM:4D64 000 lcall ROM_5CC1 ; Long Subroutine Call ROM:4D64 ROM:4D67 000 clr A ; Clear Operand (0) ROM:4D68 000 mov RAM_56, A ; Move (Op1 <- Op2) ROM:4D68 ROM:4D6A ROM:4D6A ROM_4D6A: ; CODE XREF: ROM_4D5B+7j ROM:4D6A 000 mov R0, #38h ; '8' ; Move (Op1 <- Op2) ROM:4D6C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4D6D 000 jb ACC.0, ROM_4D86 ; Accumulator ROM:4D6D ROM:4D70 000 mov DPTR, #INTC_IER1 ; Interrupt Enable Register 1 ROM:4D73 000 movx A, @DPTR ; Move from/to external RAM ROM:4D74 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:4D76 000 movx @DPTR, A ; Move from/to external RAM ROM:4D77 000 mov R7, RAM_3E ; Move (Op1 <- Op2) ROM:4D79 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4D7A 000 swap A ; Swap nibbles of Acc ROM:4D7B 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4D7D 000 jb ACC.0, ROM_4D83 ; Accumulator ROM:4D7D ROM:4D80 000 ljmp ROM_4E12 ; Long Jump ROM:4D80 ROM:4D83 ; --------------------------------------------------------------------------- ROM:4D83 ROM:4D83 ROM_4D83: ; CODE XREF: ROM_4D5B+22j ROM:4D83 000 setb RAM_26.7 ; Set Direct Bit ROM:4D85 000 ret ; Return from subroutine ROM:4D85 ROM:4D86 ; --------------------------------------------------------------------------- ROM:4D86 ROM:4D86 ROM_4D86: ; CODE XREF: ROM_4D5B+12j ROM:4D86 000 mov DPTR, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:4D89 000 movx A, @DPTR ; Move from/to external RAM ROM:4D8A 000 cpl A ; Complement Operand ROM:4D8B 000 jz ROM_4D90 ; Jump if Acc is zero ROM:4D8B ROM:4D8D 000 movx A, @DPTR ; Move from/to external RAM ROM:4D8E 000 inc A ; Increment Operand ROM:4D8F 000 movx @DPTR, A ; Move from/to external RAM ROM:4D8F ROM:4D90 ROM:4D90 ROM_4D90: ; CODE XREF: ROM_4D5B+30j ROM:4D90 000 mov DPTR, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:4D93 000 movx A, @DPTR ; Move from/to external RAM ROM:4D94 000 cpl A ; Complement Operand ROM:4D95 000 jz ROM_4D9A ; Jump if Acc is zero ROM:4D95 ROM:4D97 000 movx A, @DPTR ; Move from/to external RAM ROM:4D98 000 inc A ; Increment Operand ROM:4D99 000 movx @DPTR, A ; Move from/to external RAM ROM:4D99 ROM:4D9A ROM:4D9A ROM_4D9A: ; CODE XREF: ROM_4D5B+3Aj ROM:4D9A 000 mov DPTR, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:4D9D 000 movx A, @DPTR ; Move from/to external RAM ROM:4D9E 000 cpl A ; Complement Operand ROM:4D9F 000 jz ROM_4DA4 ; Jump if Acc is zero ROM:4D9F ROM:4DA1 000 movx A, @DPTR ; Move from/to external RAM ROM:4DA2 000 inc A ; Increment Operand ROM:4DA3 000 movx @DPTR, A ; Move from/to external RAM ROM:4DA3 ROM:4DA4 ROM:4DA4 ROM_4DA4: ; CODE XREF: ROM_4D5B+44j ROM:4DA4 000 mov DPTR, #INTC_IER1 ; Interrupt Enable Register 1 ROM:4DA7 000 movx A, @DPTR ; Move from/to external RAM ROM:4DA8 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:4DAA 000 movx @DPTR, A ; Move from/to external RAM ROM:4DAB 000 mov R7, RAM_3E ; Move (Op1 <- Op2) ROM:4DAD 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4DAE 000 swap A ; Swap nibbles of Acc ROM:4DAF 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4DB1 000 jnb ACC.0, ROM_4DB6 ; Accumulator ROM:4DB1 ROM:4DB4 000 setb RAM_26.7 ; Set Direct Bit ROM:4DB4 ROM:4DB6 ROM:4DB6 ROM_4DB6: ; CODE XREF: ROM_4D5B+56j ROM:4DB6 000 mov DPTR, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:4DB9 000 movx A, @DPTR ; Move from/to external RAM ROM:4DBA 000 setb C ; Set Direct Bit ROM:4DBB 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:4DBD 000 jc ROM_4DC5 ; Jump if Carry is set ROM:4DBD ROM:4DBF 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:4DC1 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4DC2 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:4DC4 000 mov @R0, A ; Move (Op1 <- Op2) ROM:4DC4 ROM:4DC5 ROM:4DC5 ROM_4DC5: ; CODE XREF: ROM_4D5B+62j ROM:4DC5 000 mov DPTR, #7Ch ; '|' ; Move (Op1 <- Op2) ROM:4DC8 000 movx A, @DPTR ; Move from/to external RAM ROM:4DC9 000 setb C ; Set Direct Bit ROM:4DCA 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:4DCC 000 jc ROM_4DD1 ; Jump if Carry is set ROM:4DCC ROM:4DCE 000 lcall set_timer_1_yet ; Long Subroutine Call ROM:4DCE ROM:4DD1 ROM:4DD1 ROM_4DD1: ; CODE XREF: ROM_4D5B+71j ROM:4DD1 000 jb RAM_20.4, ROM_4DF7 ; Jump if Bit is set ROM:4DD1 ROM:4DD4 000 mov R7, RAM_40 ; Move (Op1 <- Op2) ROM:4DD6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4DD7 000 swap A ; Swap nibbles of Acc ROM:4DD8 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4DDA 000 mov R7, A ; Move (Op1 <- Op2) ROM:4DDB 000 mov A, RAM_40 ; Move (Op1 <- Op2) ROM:4DDD 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4DDF 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:4DE0 000 jz ROM_4DE5 ; Jump if Acc is zero ROM:4DE0 ROM:4DE2 000 lcall set_timer_1_yet ; Long Subroutine Call ROM:4DE2 ROM:4DE5 ROM:4DE5 ROM_4DE5: ; CODE XREF: ROM_4D5B+85j ROM:4DE5 000 mov R7, RAM_3F ; Move (Op1 <- Op2) ROM:4DE7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4DE8 000 swap A ; Swap nibbles of Acc ROM:4DE9 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:4DEB 000 jb ACC.0, ROM_4DF7 ; Accumulator ROM:4DEB ROM:4DEE 000 lcall ROM_3D1C ; Long Subroutine Call ROM:4DEE ROM:4DF1 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4DF2 000 jz ROM_4DF7 ; Jump if Acc is zero ROM:4DF2 ROM:4DF4 000 lcall j_set_timer_1_yet ; Long Subroutine Call ROM:4DF4 ROM:4DF7 ROM:4DF7 ROM_4DF7: ; CODE XREF: ROM_4D5B:ROM_4DD1j ROM:4DF7 ; ROM_4D5B+90j ... ROM:4DF7 000 clr A ; Clear Operand (0) ROM:4DF8 000 mov R7, A ; Move (Op1 <- Op2) ROM:4DF9 000 lcall ROM_32F3 ; Long Subroutine Call ROM:4DF9 ROM:4DFC 000 jc ROM_4E0C ; Jump if Carry is set ROM:4DFC ROM:4DFE 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:4E00 000 lcall ROM_32F3 ; Long Subroutine Call ROM:4E00 ROM:4E03 000 jc ROM_4E0C ; Jump if Carry is set ROM:4E03 ROM:4E05 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:4E07 000 lcall ROM_32F3 ; Long Subroutine Call ROM:4E07 ROM:4E0A 000 jnc ROM_4E12 ; Jump if Carry is clear ROM:4E0A ROM:4E0C ROM:4E0C ROM_4E0C: ; CODE XREF: ROM_4D5B+A1j ROM:4E0C ; ROM_4D5B+A8j ROM:4E0C 000 mov R0, #39h ; '9' ; Move (Op1 <- Op2) ROM:4E0E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:4E0F 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:4E11 000 mov @R0, A ; Move (Op1 <- Op2) ROM:4E11 ROM:4E12 ROM:4E12 ROM_4E12: ; CODE XREF: ROM_4D5B+25j ROM:4E12 ; ROM_4D5B+AFj ROM:4E12 000 ret ; Return from subroutine ROM:4E12 ROM:4E12 ; End of function ROM_4D5B ROM:4E12 ROM:4E13 ROM:4E13 ; =============== S U B R O U T I N E ======================================= ROM:4E13 ROM:4E13 ROM:4E13 ROM_4E13: ROM:4E13 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register ROM:4E16 000 movx A, @DPTR ; Move from/to external RAM ROM:4E17 000 mov R7, A ; Move (Op1 <- Op2) ROM:4E18 000 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register ROM:4E1B 000 mov A, #0FAh ; '·' ; Move (Op1 <- Op2) ROM:4E1D 000 movx @DPTR, A ; Move from/to external RAM ROM:4E1E 000 mov DPTR, #2287h ; Move (Op1 <- Op2) ROM:4E21 000 clr A ; Clear Operand (0) ROM:4E22 000 movx @DPTR, A ; Move from/to external RAM ROM:4E23 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:4E26 000 movx @DPTR, A ; Move from/to external RAM ROM:4E27 000 mov DPTR, #2286h ; Move (Op1 <- Op2) ROM:4E2A 000 movx A, @DPTR ; Move from/to external RAM ROM:4E2B 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:4E2D 000 movx @DPTR, A ; Move from/to external RAM ROM:4E2E 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:4E31 000 clr A ; Clear Operand (0) ROM:4E32 000 movx @DPTR, A ; Move from/to external RAM ROM:4E33 000 inc DPTR ; Increment Operand ROM:4E34 000 movx @DPTR, A ; Move from/to external RAM ROM:4E34 ROM:4E35 ROM:4E35 ROM_4E35: ; CODE XREF: ROM_4E13+74j ROM:4E35 000 mov DPTR, #2285h ; Move (Op1 <- Op2) ROM:4E38 000 movx A, @DPTR ; Move from/to external RAM ROM:4E39 000 jnz ROM_4E41 ; Jump if Acc is not zero ROM:4E39 ROM:4E3B 000 orl FSR_8E, #0C0h ; Logical OR (op1 |= op2) ROM:4E3E 000 orl FSR_D8, #3 ; Logical OR (op1 |= op2) ROM:4E3E ROM:4E41 ROM:4E41 ROM_4E41: ; CODE XREF: ROM_4E13+26j ROM:4E41 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:4E44 000 movx A, @DPTR ; Move from/to external RAM ROM:4E45 000 jnb ACC.1, ROM_4E64 ; Accumulator ROM:4E45 ROM:4E48 000 mov DPTR, #KBC_KBHIDIR ; KBC Host Interface Keyboard/Mouse Data Input Register ROM:4E4B 000 movx A, @DPTR ; Move from/to external RAM ROM:4E4C 000 mov DPTR, #68Dh ; Move (Op1 <- Op2) ROM:4E4F 000 movx @DPTR, A ; Move from/to external RAM ROM:4E50 000 movx A, @DPTR ; Move from/to external RAM ROM:4E51 000 mov R6, A ; Move (Op1 <- Op2) ROM:4E52 000 xrl A, #0B5h ; Exclusive OR (op1 ^= op2) ROM:4E54 000 jz ROM_4E8A ; Jump if Acc is zero ROM:4E54 ROM:4E56 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4E57 000 xrl A, #0B6h ; Exclusive OR (op1 ^= op2) ROM:4E59 000 jz ROM_4E8A ; Jump if Acc is zero ROM:4E59 ROM:4E5B 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4E5C 000 cpl A ; Complement Operand ROM:4E5D 000 jz ROM_4E8A ; Jump if Acc is zero ROM:4E5D ROM:4E5F 000 mov A, R6 ; Move (Op1 <- Op2) ROM:4E60 000 xrl A, #8Fh ; Exclusive OR (op1 ^= op2) ROM:4E62 000 jz ROM_4E8A ; Jump if Acc is zero ROM:4E62 ROM:4E64 ROM:4E64 ROM_4E64: ; CODE XREF: ROM_4E13+32j ROM:4E64 000 mov DPTR, #2287h ; Move (Op1 <- Op2) ROM:4E67 000 movx A, @DPTR ; Move from/to external RAM ROM:4E68 000 mov DPTR, #68Dh ; Move (Op1 <- Op2) ROM:4E6B 000 movx @DPTR, A ; Move from/to external RAM ROM:4E6C 000 mov DPTR, #2287h ; Move (Op1 <- Op2) ROM:4E6F 000 movx A, @DPTR ; Move from/to external RAM ROM:4E70 000 xrl A, #55h ; Exclusive OR (op1 ^= op2) ROM:4E72 000 jz ROM_4E8A ; Jump if Acc is zero ROM:4E72 ROM:4E74 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:4E77 000 movx A, @DPTR ; Move from/to external RAM ROM:4E78 000 mov R6, A ; Move (Op1 <- Op2) ROM:4E79 000 clr C ; Clear Operand (0) ROM:4E7A 000 rrc A ; Rotate Acc right through Carry ROM:4E7B 000 jnb ACC.0, ROM_4E8A ; Accumulator ROM:4E7B ROM:4E7E 000 mov DPTR, #1605h ; Move (Op1 <- Op2) ROM:4E81 000 movx A, @DPTR ; Move from/to external RAM ROM:4E82 000 mov R6, A ; Move (Op1 <- Op2) ROM:4E83 000 swap A ; Swap nibbles of Acc ROM:4E84 000 rrc A ; Rotate Acc right through Carry ROM:4E85 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:4E87 000 jb ACC.0, ROM_4E35 ; Accumulator ROM:4E87 ROM:4E8A ROM:4E8A ROM_4E8A: ; CODE XREF: ROM_4E13+41j ROM:4E8A ; ROM_4E13+46j ... ROM:4E8A 000 mov DPTR, #SMFI_SMECCS ; Shared Memory EC Control and Status ROM:4E8D 000 movx A, @DPTR ; Move from/to external RAM ROM:4E8E 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:4E90 000 movx @DPTR, A ; Move from/to external RAM ROM:4E91 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register ROM:4E94 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4E95 000 movx @DPTR, A ; Move from/to external RAM ROM:4E96 000 nop ; No operation ROM:4E97 000 nop ; No operation ROM:4E98 000 mov DPTR, #2285h ; Move (Op1 <- Op2) ROM:4E9B 000 clr A ; Clear Operand (0) ROM:4E9C 000 movx @DPTR, A ; Move from/to external RAM ROM:4E9D 000 orl FSR_8E, #0C0h ; Logical OR (op1 |= op2) ROM:4EA0 000 orl FSR_D8, #3 ; Logical OR (op1 |= op2) ROM:4EA3 000 inc DPTR ; Increment Operand ROM:4EA4 000 movx A, @DPTR ; Move from/to external RAM ROM:4EA5 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:4EA7 000 movx @DPTR, A ; Move from/to external RAM ROM:4EA8 000 mov DPTR, #0Ch ; Move (Op1 <- Op2) ROM:4EAB 000 mov A, #33h ; '3' ; Move (Op1 <- Op2) ROM:4EAD 000 movx @DPTR, A ; Move from/to external RAM ROM:4EAE 000 ljmp ROM_108F ; Long Jump ROM:4EAE ROM:4EAE ; End of function ROM_4E13 ROM:4EAE ROM:4EB1 ROM:4EB1 ; =============== S U B R O U T I N E ======================================= ROM:4EB1 ROM:4EB1 ROM:4EB1 interact_over_ports: ; CODE XREF: ROM_630Bp ROM:4EB1 ; ROM_79EB+1Ap ... ROM:4EB1 000 mov R7, #0 ; R7 = 0; ROM:4EB3 000 mov R6, #7 ; R6 = 7; ROM:4EB5 000 mov DPTR, #EC_ADRESS_PORT ; dptr = EC_ADRESS_PORT; ROM:4EB8 000 mov A, #4Eh ; 'N' ; a = 0x4E; ROM:4EBA 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:4EBB 000 inc DPTR ; dptr++; ROM:4EBC 000 mov A, #13h ; a = 0x13; ROM:4EBE 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:4EBF 000 clr A ; a = 0; ROM:4EC0 000 mov R5, A ; R5 = a; ROM:4EC0 ROM:4EC1 ROM:4EC1 cycle_loop: ; CODE XREF: interact_over_ports+37j ROM:4EC1 000 mov DPTR, #EC_ADRESS_PORT ; dptr = EC_ADRESS_PORT; ROM:4EC4 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:4EC5 000 mov R2, A ; R2 = a; ROM:4EC6 000 inc DPTR ; dptr++; ROM:4EC7 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:4EC8 000 mov DP0L, A ; dptr = R2:A; ROM:4ECA 000 mov DP0H, R2 ; Data Pointer High Byte ROM:4ECC 000 clr A ; a = 0; ROM:4ECD 000 movc A, @A+DPTR ; a = read_byte_from(a + dptr); ROM:4ECE 000 mov DP0L, R7 ; dptr = R6:R7; ROM:4ED0 000 mov DP0H, R6 ; Data Pointer High Byte ROM:4ED2 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:4ED3 000 inc R7 ; R7++; ROM:4ED4 000 cjne R7, #0, ROM_4ED8 ; if (R7 <> 0) goto ROM_4ED8; ROM:4ED4 ROM:4ED7 000 inc R6 ; R6++; ROM:4ED7 ROM:4ED8 ROM:4ED8 ROM_4ED8: ; CODE XREF: interact_over_ports+23j ROM:4ED8 000 mov DPTR, #EC_DATA_PORT ; dptr = EC_DATA_PORT; ROM:4EDB 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:4EDC 000 inc A ; a++; ROM:4EDD 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:4EDE 000 jnz ROM_4EE6 ; if (a <> 0) goto ROM_4EE6; ROM:4EDE ROM:4EE0 000 mov DPTR, #EC_ADRESS_PORT ; dptr = EC_ADRESS_PORT; ROM:4EE3 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:4EE4 000 inc A ; a++; ROM:4EE5 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:4EE5 ROM:4EE6 ROM:4EE6 ROM_4EE6: ; CODE XREF: interact_over_ports+2Dj ROM:4EE6 000 inc R5 ; R5++; ROM:4EE7 000 mov A, R5 ; a = R5; ROM:4EE8 000 cjne A, #0FFh, cycle_loop ; if (a <> 0xFF) goto cycle_loop; ROM:4EE8 ROM:4EEB 000 ret ; return; ROM:4EEB ROM:4EEB ; End of function interact_over_ports ROM:4EEB ROM:4EEC ROM:4EEC ; =============== S U B R O U T I N E ======================================= ROM:4EEC ROM:4EEC ROM:4EEC ROM_4EEC: ; CODE XREF: ROM_7AFA+3p ROM:4EEC 000 clr A ; Clear Operand (0) ROM:4EED 000 mov DPTR, #0Ch ; Move (Op1 <- Op2) ROM:4EF0 000 movx @DPTR, A ; Move from/to external RAM ROM:4EF1 000 mov DPTR, #SMFI_SMECCS ; Shared Memory EC Control and Status ROM:4EF4 000 movx A, @DPTR ; Move from/to external RAM ROM:4EF5 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:4EF7 000 movx @DPTR, A ; Move from/to external RAM ROM:4EF8 000 mov DPTR, #SMFI_SMECOWPR0 ; Shared Memory EC Override Write Protect 0 ROM:4EFB 000 clr A ; Clear Operand (0) ROM:4EFC 000 movx @DPTR, A ; Move from/to external RAM ROM:4EFD 000 inc DPTR ; Increment Operand ROM:4EFE 000 movx @DPTR, A ; Move from/to external RAM ROM:4EFF 000 inc DPTR ; Increment Operand ROM:4F00 000 movx @DPTR, A ; Move from/to external RAM ROM:4F01 000 inc DPTR ; Increment Operand ROM:4F02 000 movx @DPTR, A ; Move from/to external RAM ROM:4F03 000 inc DPTR ; Increment Operand ROM:4F04 000 movx @DPTR, A ; Move from/to external RAM ROM:4F05 000 inc DPTR ; Increment Operand ROM:4F06 000 movx @DPTR, A ; Move from/to external RAM ROM:4F07 000 mov DPTR, #1015h ; Move (Op1 <- Op2) ROM:4F0A 000 movx @DPTR, A ; Move from/to external RAM ROM:4F0B 000 inc DPTR ; Increment Operand ROM:4F0C 000 movx @DPTR, A ; Move from/to external RAM ROM:4F0D 000 inc DPTR ; Increment Operand ROM:4F0E 000 movx @DPTR, A ; Move from/to external RAM ROM:4F0F 000 inc DPTR ; Increment Operand ROM:4F10 000 movx @DPTR, A ; Move from/to external RAM ROM:4F11 000 mov DPTR, #SMFI_SMECORPR0 ; Shared Memory EC Override Read Protect 0 ROM:4F14 000 movx @DPTR, A ; Move from/to external RAM ROM:4F15 000 inc DPTR ; Increment Operand ROM:4F16 000 movx @DPTR, A ; Move from/to external RAM ROM:4F17 000 inc DPTR ; Increment Operand ROM:4F18 000 movx @DPTR, A ; Move from/to external RAM ROM:4F19 000 inc DPTR ; Increment Operand ROM:4F1A 000 movx @DPTR, A ; Move from/to external RAM ROM:4F1B 000 inc DPTR ; Increment Operand ROM:4F1C 000 movx @DPTR, A ; Move from/to external RAM ROM:4F1D 000 inc DPTR ; Increment Operand ROM:4F1E 000 movx @DPTR, A ; Move from/to external RAM ROM:4F1F 000 mov DPTR, #1011h ; Move (Op1 <- Op2) ROM:4F22 000 movx @DPTR, A ; Move from/to external RAM ROM:4F23 000 inc DPTR ; Increment Operand ROM:4F24 000 movx @DPTR, A ; Move from/to external RAM ROM:4F25 000 inc DPTR ; Increment Operand ROM:4F26 000 movx @DPTR, A ; Move from/to external RAM ROM:4F27 000 inc DPTR ; Increment Operand ROM:4F28 000 movx @DPTR, A ; Move from/to external RAM ROM:4F29 000 mov DPTR, #2285h ; Move (Op1 <- Op2) ROM:4F2C 000 movx A, @DPTR ; Move from/to external RAM ROM:4F2D 000 cjne A, #1, ROM_4F36 ; Compare Operands and JNE ROM:4F2D ROM:4F30 000 anl FSR_8E, #111111b ; Logical AND (op1 &= op2) ROM:4F33 000 clr A ; Clear Operand (0) ROM:4F34 000 mov FSR_D8, A ; Move (Op1 <- Op2) ROM:4F34 ROM:4F36 ROM:4F36 ROM_4F36: ; CODE XREF: ROM_4EEC+41j ROM:4F36 000 mov DPTR, #KBC_KBHICR ; KBC Host Interface Control Register ROM:4F39 000 movx A, @DPTR ; Move from/to external RAM ROM:4F3A 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:4F3C 000 movx @DPTR, A ; Move from/to external RAM ROM:4F3D 000 clr IE.7 ; Interrupt Enable Register 0 ROM:4F3D ROM:4F3F ROM:4F3F ROM_4F3F: ; CODE XREF: ROM_4EEC+58j ROM:4F3F 000 jnb IE.7, ROM_4F46 ; Interrupt Enable Register 0 ROM:4F3F ROM:4F42 000 clr IE.7 ; Interrupt Enable Register 0 ROM:4F44 000 sjmp ROM_4F3F ; Short jump ROM:4F44 ROM:4F46 ; --------------------------------------------------------------------------- ROM:4F46 ROM:4F46 ROM_4F46: ; CODE XREF: ROM_4EEC:ROM_4F3Fj ROM:4F46 000 clr IE.7 ; Interrupt Enable Register 0 ROM:4F48 000 mov DPTR, #SMFI_FBCFG ; dptr = SMFI_FBCFG; ROM:4F4B 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:4F4C 000 orl A, #10000000b ; a |= 10000000b; ROM:4F4C ; ROM:4F4C ; // Scratch SRAM No. 0, whose size is 2K bytes, is mapped into ROM:4F4C ; // F800h-FFFFh in code space and overrides the settings in ROM:4F4C ; // SCAR0H/SCAR0M/SCAR0L register. ROM:4F4C ; // This bit is obsolete and is only used to be compatible with old IT8510 ROM:4F4C ; // firmware and should not be used in new firmware. ROM:4F4C ; // Note that the following is the definition of this register field in IT8510. ROM:4F4C ; // 0: Scratch RAM (data space). ROM:4F4C ; // 1: Scratch ROM (code space). ROM:4F4C ; ROM:4F4E 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:4F4E ; ROM:4F4F 000 mov DPTR, #52A2h ; Move (Op1 <- Op2) ROM:4F52 000 clr A ; Clear Operand (0) ROM:4F53 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4F54 000 mov R6, A ; Move (Op1 <- Op2) ROM:4F55 000 mov A, #1 ; Move (Op1 <- Op2) ROM:4F57 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:4F58 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:4F5A 000 mov R1, A ; Move (Op1 <- Op2) ROM:4F5B 000 lcall jump_to_R2R1 ; jump to pair R2:R1 ROM:4F5B ROM:4F5E 000 mov DPTR, #SMFI_FBCFG ; dptr = SMFI_FBCFG; ROM:4F61 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:4F62 000 anl A, #1111111b ; a &= 01111111b; ROM:4F62 ; ROM:4F62 ; // Restore previous value of FBUI config ROM:4F62 ; ROM:4F64 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:4F65 000 setb IE.7 ; Interrupt Enable Register 0 ROM:4F67 000 ret ; return; ROM:4F67 ROM:4F67 ; End of function ROM_4EEC ROM:4F67 ROM:4F68 ; --------------------------------------------------------------------------- ROM:4F68 ; START OF FUNCTION CHUNK FOR ROM_68E2 ROM:4F68 ROM:4F68 parse_CMD_and_print_PM_CH1: ; CODE XREF: ROM_68E2+9j ROM:4F68 000 clr RAM_22.1 ; Clear Operand (0) ROM:4F6A 000 clr A ; Clear Operand (0) ROM:4F6B 000 mov IE, A ; Interrupt Enable Register 0 ROM:4F6B ROM:4F6D ROM:4F6D parser_loop: ; CODE XREF: ROM_68E2-1961j ROM:4F6D ; ROM_68E2-1948j ... ROM:4F6D 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4F6D ROM:4F70 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4F71 000 add A, #0FEh ; '¦' ; Add Second Operand to Acc ROM:4F73 000 jz CMD_0x02 ; jump if CMD = "0x02" ROM:4F73 ROM:4F75 000 dec A ; Decrement Operand ROM:4F76 000 jz CMD_0x03 ; jump if CMD = "0x03" ROM:4F76 ROM:4F78 000 dec A ; Decrement Operand ROM:4F79 000 jz CMD_0x04 ; jump if CMD = "0x04" ROM:4F79 ROM:4F7B 000 add A, #6 ; Add Second Operand to Acc ROM:4F7D 000 jz CMD_0xFE ; jump if CMD = "0xFE" ROM:4F7D ROM:4F7F 000 add A, #0FDh ; '²' ; Add Second Operand to Acc ROM:4F81 000 jnz parser_loop ; jump if CMD not a "0x01" ROM:4F81 ROM:4F83 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4F83 ROM:4F86 000 mov RAM_33, R7 ; Move (Op1 <- Op2) ROM:4F88 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4F88 ROM:4F8B 000 mov RAM_32, R7 ; Move (Op1 <- Op2) ROM:4F8D 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4F8D ROM:4F90 000 mov RAM_31, R7 ; Move (Op1 <- Op2) ROM:4F92 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4F92 ROM:4F95 000 mov RAM_30, R7 ; Move (Op1 <- Op2) ROM:4F97 000 lcall write_chain_in_memory ; Long Subroutine Call ROM:4F97 ROM:4F9A 000 sjmp parser_loop ; Short jump ROM:4F9A ROM:4F9C ; --------------------------------------------------------------------------- ROM:4F9C ROM:4F9C CMD_0x02: ; CODE XREF: ROM_68E2-196Fj ROM:4F9C 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4F9C ROM:4F9F 000 mov RAM_33, R7 ; Move (Op1 <- Op2) ROM:4FA1 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4FA1 ROM:4FA4 000 mov RAM_32, R7 ; Move (Op1 <- Op2) ROM:4FA6 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4FA6 ROM:4FA9 000 mov RAM_31, R7 ; Move (Op1 <- Op2) ROM:4FAB 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4FAB ROM:4FAE 000 mov RAM_30, R7 ; Move (Op1 <- Op2) ROM:4FB0 000 jnb RAM_22.1, internal_handler ; Jump if Bit is clear ROM:4FB0 ROM:4FB3 000 lcall ROM_505E ; Long Subroutine Call ROM:4FB3 ROM:4FB6 000 sjmp parser_loop ; Short jump ROM:4FB6 ROM:4FB8 ; --------------------------------------------------------------------------- ROM:4FB8 ROM:4FB8 internal_handler: ; CODE XREF: ROM_68E2-1932j ROM:4FB8 000 lcall interact_0FFFFD0 ; Long Subroutine Call ROM:4FB8 ROM:4FBB 000 sjmp parser_loop ; Short jump ROM:4FBB ROM:4FBD ; --------------------------------------------------------------------------- ROM:4FBD ROM:4FBD CMD_0x03: ; CODE XREF: ROM_68E2-196Cj ROM:4FBD 000 lcall read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:4FBD ROM:4FC0 000 mov RAM_32, R7 ; Move (Op1 <- Op2) ROM:4FC2 000 lcall send_and_write_to_PM_CH1 ; Long Subroutine Call ROM:4FC2 ROM:4FC5 000 sjmp parser_loop ; Short jump ROM:4FC5 ROM:4FC7 ; --------------------------------------------------------------------------- ROM:4FC7 ROM:4FC7 CMD_0x04: ; CODE XREF: ROM_68E2-1969j ROM:4FC7 000 setb RAM_22.1 ; Set Direct Bit ROM:4FC9 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:4FC9 ROM:4FCC 000 mov A, R7 ; Move (Op1 <- Op2) ROM:4FCD 000 jz print_from_0xD_to_PM_ch1 ; Jump if Acc is zero ROM:4FCD ROM:4FCF 000 clr RAM_22.1 ; Clear Operand (0) ROM:4FD1 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:4FD1 ROM:4FD4 ROM:4FD4 print_from_0xD_to_PM_ch1: ; CODE XREF: ROM_68E2-1915j ROM:4FD4 000 mov DPTR, #0Dh ; Move (Op1 <- Op2) ROM:4FD7 000 movx A, @DPTR ; Move from/to external RAM ROM:4FD8 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:4FDB 000 movx @DPTR, A ; Move from/to external RAM ROM:4FDC 000 sjmp parser_loop ; Short jump ROM:4FDC ROM:4FDE ; --------------------------------------------------------------------------- ROM:4FDE ROM:4FDE CMD_0xFE: ; CODE XREF: ROM_68E2-1965j ROM:4FDE 000 setb IE.7 ; Interrupt Enable Register 0 ROM:4FE0 000 mov DPTR, #0Ch ; Move (Op1 <- Op2) ROM:4FE3 000 mov A, #33h ; '3' ; Move (Op1 <- Op2) ROM:4FE5 000 movx @DPTR, A ; Move from/to external RAM ROM:4FE6 000 lcall ROM_108F ; Long Subroutine Call ROM:4FE6 ROM:4FE9 000 sjmp parser_loop ; Short jump ROM:4FE9 ROM:4FE9 ; END OF FUNCTION CHUNK FOR ROM_68E2 ROM:4FEB ROM:4FEB ; =============== S U B R O U T I N E ======================================= ROM:4FEB ROM:4FEB ROM:4FEB interact_0FFFFD0: ; CODE XREF: ROM_68E2:internal_handlerp ROM:4FEB 000 clr A ; Clear Operand (0) ROM:4FEC 000 mov RAM_33, A ; Move (Op1 <- Op2) ROM:4FEC ROM:4FEE ROM:4FEE ROM_4FEE: ; CODE XREF: interact_0FFFFD0+48j ROM:4FEE 000 clr A ; Clear Operand (0) ROM:4FEF 000 mov RAM_34, A ; Move (Op1 <- Op2) ROM:4FEF ROM:4FF1 ROM:4FF1 ROM_4FF1: ; CODE XREF: interact_0FFFFD0+3Fj ROM:4FF1 000 lcall write__0F_FF_FD_00 ; Long Subroutine Call ROM:4FF1 ROM:4FF4 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:4FF6 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:4FF6 ROM:4FF9 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:4FFC 000 mov A, RAM_32 ; put in EC data register content of RAM_32 ROM:4FFE 000 movx @DPTR, A ; Move from/to external RAM ROM:4FFF 000 mov A, RAM_31 ; put in EC data register content of RAM_31 ROM:5001 000 movx @DPTR, A ; Move from/to external RAM ROM:5002 000 clr A ; put in EC data register "0" ROM:5003 000 movx @DPTR, A ; Move from/to external RAM ROM:5004 000 mov RAM_35, A ; Move (Op1 <- Op2) ROM:5004 ROM:5006 ROM:5006 forward_cycle: ; CODE XREF: interact_0FFFFD0+1Fj ROM:5006 ; interact_0FFFFD0+2Ej ROM:5006 000 mov DPTR, #PMC_PM1STS ; writing in "0F FF FD 00" ROM:5009 000 movx A, @DPTR ; Move from/to external RAM ROM:500A 000 jnb ACC.1, forward_cycle ; Accumulator ROM:500A ROM:500D 000 mov DPTR, #PMC_PM1DI ; Host Interface PM Channel 1 Data In Port ROM:5010 000 movx A, @DPTR ; Move from/to external RAM ROM:5011 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:5014 000 movx @DPTR, A ; Move from/to external RAM ROM:5015 000 inc RAM_35 ; Increment Operand ROM:5017 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:5019 000 jnz forward_cycle ; Jump if Acc is not zero ROM:5019 ROM:501B 000 lcall write__xx_xx_XX_xx_from_EC ; Long Subroutine Call ROM:501B ROM:501E 000 lcall write__xx_xx_FD_xx_to_4 ; write__xx_xx_FD_xx(4) and enable write protect ROM:501E ROM:5021 000 inc RAM_31 ; Increment Operand ROM:5023 000 inc RAM_34 ; Increment Operand ROM:5025 000 mov A, RAM_34 ; Move (Op1 <- Op2) ROM:5027 000 clr C ; Clear Operand (0) ROM:5028 000 subb A, #10h ; Subtract Second Operand from Acc with Borrow ROM:502A 000 jc ROM_4FF1 ; Jump if Carry is set ROM:502A ROM:502C 000 inc RAM_33 ; Increment Operand ROM:502E 000 mov A, RAM_33 ; Move (Op1 <- Op2) ROM:5030 000 clr C ; Clear Operand (0) ROM:5031 000 subb A, #10h ; Subtract Second Operand from Acc with Borrow ROM:5033 000 jc ROM_4FEE ; Jump if Carry is set ROM:5033 ROM:5035 000 ret ; Return from subroutine ROM:5035 ROM:5035 ; End of function interact_0FFFFD0 ROM:5035 ROM:5036 ROM:5036 ; =============== S U B R O U T I N E ======================================= ROM:5036 ROM:5036 ROM:5036 receive_and_write_from_PM_CH1: ; CODE XREF: ROM_505E:ROM_5085p ROM:5036 ; ROM_505E+4Bp ROM:5036 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:5039 000 movx A, @DPTR ; Move from/to external RAM ROM:503A 000 cjne A, #0ADh, read_wait_DATA ; '¡' ; jump if byte_read(0xF) <> 0xAD ROM:503A ROM:503D ROM:503D read_wait_CMD: ; CODE XREF: receive_and_write_from_PM_CH1+Bj ROM:503D 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:5040 000 movx A, @DPTR ; Move from/to external RAM ROM:5041 000 jnb ACC.1, read_wait_CMD ; Accumulator ROM:5041 ROM:5044 000 mov DPTR, #PMC_PM1DI ; Host Interface PM Channel 1 Data In Port ROM:5047 000 movx A, @DPTR ; Move from/to external RAM ROM:5048 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:504B 000 movx @DPTR, A ; Move from/to external RAM ROM:504B ROM:504C ROM:504C read_wait_DATA: ; CODE XREF: receive_and_write_from_PM_CH1+4j ROM:504C ; receive_and_write_from_PM_CH1+1Aj ROM:504C 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:504F 000 movx A, @DPTR ; Move from/to external RAM ROM:5050 000 jnb ACC.1, read_wait_DATA ; Accumulator ROM:5050 ROM:5053 000 mov DPTR, #PMC_PM1DI ; Host Interface PM Channel 1 Data In Port ROM:5056 000 movx A, @DPTR ; Move from/to external RAM ROM:5057 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:505A 000 movx @DPTR, A ; Move from/to external RAM ROM:505B 000 ljmp write__xx_xx_XX_xx_from_EC ; Long Jump ROM:505B ROM:505B ; End of function receive_and_write_from_PM_CH1 ROM:505B ROM:505E ROM:505E ; =============== S U B R O U T I N E ======================================= ROM:505E ROM:505E ROM:505E ROM_505E: ; CODE XREF: ROM_68E2-192Fp ROM:505E 000 lcall write__0F_FF_FD_00 ; Long Subroutine Call ROM:505E ROM:5061 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:5064 000 movx A, @DPTR ; Move from/to external RAM ROM:5065 000 mov R7, A ; Move (Op1 <- Op2) ROM:5066 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:5066 ROM:5069 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:506C 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:506E 000 movx @DPTR, A ; Move from/to external RAM ROM:506F 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:5071 000 movx @DPTR, A ; Move from/to external RAM ROM:5072 000 clr A ; Clear Operand (0) ROM:5073 000 movx @DPTR, A ; Move from/to external RAM ROM:5074 000 mov RAM_33, A ; Move (Op1 <- Op2) ROM:5076 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:5079 000 movx A, @DPTR ; Move from/to external RAM ROM:507A 000 cjne A, #0ADh, ROM_5082 ; '¡' ; Compare Operands and JNE ROM:507A ROM:507D 000 mov RAM_34, #2 ; Move (Op1 <- Op2) ROM:5080 000 sjmp ROM_5085 ; Short jump ROM:5080 ROM:5082 ; --------------------------------------------------------------------------- ROM:5082 ROM:5082 ROM_5082: ; CODE XREF: ROM_505E+1Cj ROM:5082 000 mov RAM_34, #1 ; Move (Op1 <- Op2) ROM:5082 ROM:5085 ROM:5085 ROM_5085: ; CODE XREF: ROM_505E+22j ROM:5085 ; ROM_505E+43j ... ROM:5085 000 lcall receive_and_write_from_PM_CH1 ; Long Subroutine Call ROM:5085 ROM:5088 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:508B 000 movx A, @DPTR ; Move from/to external RAM ROM:508C 000 mov R7, A ; Move (Op1 <- Op2) ROM:508D 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:508D ROM:5090 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:5093 000 movx A, @DPTR ; Move from/to external RAM ROM:5094 000 cjne A, #0ADh, ROM_509D ; '¡' ; Compare Operands and JNE ROM:5094 ROM:5097 000 inc RAM_34 ; Increment Operand ROM:5099 000 inc RAM_34 ; Increment Operand ROM:509B 000 sjmp ROM_509F ; Short jump ROM:509B ROM:509D ; --------------------------------------------------------------------------- ROM:509D ROM:509D ROM_509D: ; CODE XREF: ROM_505E+36j ROM:509D 000 inc RAM_34 ; Increment Operand ROM:509D ROM:509F ROM:509F ROM_509F: ; CODE XREF: ROM_505E+3Dj ROM:509F 000 mov A, RAM_34 ; Move (Op1 <- Op2) ROM:50A1 000 jnz ROM_5085 ; Jump if Acc is not zero ROM:50A1 ROM:50A3 000 inc RAM_33 ; Increment Operand ROM:50A5 000 mov A, RAM_33 ; Move (Op1 <- Op2) ROM:50A7 000 jnz ROM_5085 ; Jump if Acc is not zero ROM:50A7 ROM:50A9 000 lcall receive_and_write_from_PM_CH1 ; Long Subroutine Call ROM:50A9 ROM:50AC 000 ljmp write__xx_xx_FD_xx_to_4 ; write__xx_xx_FD_xx(4) and enable write protect ROM:50AC ROM:50AC ; End of function ROM_505E ROM:50AC ROM:50AF ROM:50AF ; =============== S U B R O U T I N E ======================================= ROM:50AF ROM:50AF ROM:50AF send_and_write_to_PM_CH1: ; CODE XREF: ROM_68E2-1920p ROM:50AF 000 mov DPTR, #SMFI_ECINDAR3 ; EC-Indirect Memory Address Register 3 ROM:50B2 000 clr A ; Clear Operand (0) ROM:50B3 000 movx @DPTR, A ; Move from/to external RAM ROM:50B4 000 mov DPTR, #SMFI_ECINDAR2 ; EC-Indirect Memory Address Register 2 ROM:50B7 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:50B9 000 movx @DPTR, A ; Move from/to external RAM ROM:50BA 000 mov DPTR, #SMFI_ECINDAR1 ; EC-Indirect Memory Address Register 1 ROM:50BD 000 clr A ; Clear Operand (0) ROM:50BE 000 movx @DPTR, A ; Move from/to external RAM ROM:50BF 000 mov DPTR, #SMFI_ECINDAR0 ; EC-Indirect Memory Address Register 0 ROM:50C2 000 movx @DPTR, A ; Move from/to external RAM ROM:50C3 000 mov RAM_33, A ; Move (Op1 <- Op2) ROM:50C3 ROM:50C5 ROM:50C5 ROM_50C5: ; CODE XREF: send_and_write_to_PM_CH1+46j ROM:50C5 000 clr A ; Clear Operand (0) ROM:50C6 000 mov RAM_34, A ; Move (Op1 <- Op2) ROM:50C6 ROM:50C8 ROM:50C8 ROM_50C8: ; CODE XREF: send_and_write_to_PM_CH1+3Fj ROM:50C8 000 clr A ; Clear Operand (0) ROM:50C9 000 mov RAM_35, A ; Move (Op1 <- Op2) ROM:50C9 ROM:50CB ROM:50CB write_wait: ; CODE XREF: send_and_write_to_PM_CH1+20j ROM:50CB ; send_and_write_to_PM_CH1+35j ROM:50CB 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:50CE 000 movx A, @DPTR ; Move from/to external RAM ROM:50CF 000 jb ACC.0, write_wait ; Accumulator ROM:50CF ROM:50D2 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:50D5 000 movx A, @DPTR ; Move from/to external RAM ROM:50D6 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:50D9 000 movx @DPTR, A ; Move from/to external RAM ROM:50DA 000 mov DPTR, #SMFI_ECINDAR0 ; EC-Indirect Memory Address Register 0 ROM:50DD 000 movx A, @DPTR ; Move from/to external RAM ROM:50DE 000 inc A ; Increment Operand ROM:50DF 000 movx @DPTR, A ; Move from/to external RAM ROM:50E0 000 inc RAM_35 ; Increment Operand ROM:50E2 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:50E4 000 jnz write_wait ; Jump if Acc is not zero ROM:50E4 ROM:50E6 000 inc DPTR ; Increment Operand ROM:50E7 000 movx A, @DPTR ; Move from/to external RAM ROM:50E8 000 inc A ; Increment Operand ROM:50E9 000 movx @DPTR, A ; Move from/to external RAM ROM:50EA 000 inc RAM_34 ; Increment Operand ROM:50EC 000 mov A, RAM_34 ; Move (Op1 <- Op2) ROM:50EE 000 cjne A, #10h, ROM_50C8 ; Compare Operands and JNE ROM:50EE ROM:50F1 000 inc RAM_33 ; Increment Operand ROM:50F3 000 mov A, RAM_33 ; Move (Op1 <- Op2) ROM:50F5 000 cjne A, #10h, ROM_50C5 ; Compare Operands and JNE ROM:50F5 ROM:50F8 000 ret ; Return from subroutine ROM:50F8 ROM:50F8 ; End of function send_and_write_to_PM_CH1 ROM:50F8 ROM:50F9 ROM:50F9 ; =============== S U B R O U T I N E ======================================= ROM:50F9 ROM:50F9 ROM:50F9 write_chain_in_memory: ; CODE XREF: ROM_68E2-194Bp ROM:50F9 ; ROM_77B6+27j ... ROM:50F9 000 lcall write__0F_FF_FD_00 ; Long Subroutine Call ROM:50F9 ROM:50FC 000 mov R7, RAM_33 ; Move (Op1 <- Op2) ROM:50FE 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:50FE ROM:5101 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:5104 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:5106 000 movx @DPTR, A ; Move from/to external RAM ROM:5107 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:5109 000 movx @DPTR, A ; Move from/to external RAM ROM:510A 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:510C 000 movx @DPTR, A ; Move from/to external RAM ROM:510D 000 lcall write__xx_xx_XX_xx_from_EC ; Long Subroutine Call ROM:510D ROM:5110 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:5113 000 movx A, @DPTR ; Move from/to external RAM ROM:5114 000 cjne A, #0AFh, finalize ; '»' ; Compare Operands and JNE ROM:5114 ROM:5117 000 lcall write__0F_FF_FD_00 ; Long Subroutine Call ROM:5117 ROM:511A 000 mov R7, #0C7h ; '¦' ; Move (Op1 <- Op2) ROM:511C 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:511C ROM:511F 000 lcall write__xx_xx_XX_xx_from_EC ; Long Subroutine Call ROM:511F ROM:5122 ROM:5122 finalize: ; CODE XREF: write_chain_in_memory+1Bj ROM:5122 000 ljmp write__xx_xx_FD_xx_to_4 ; write__xx_xx_FD_xx(4) and enable write protect ROM:5122 ROM:5122 ; End of function write_chain_in_memory ROM:5122 ROM:5125 ROM:5125 ; =============== S U B R O U T I N E ======================================= ROM:5125 ROM:5125 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:5125 ROM:5125 read_CMD_from_PM_CH1: ; CODE XREF: ROM_68E2:parser_loopp ROM:5125 ; ROM_68E2-195Fp ... ROM:5125 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:5128 000 movx A, @DPTR ; Move from/to external RAM ROM:5129 000 jnb ACC.1, read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:5129 ROM:512C 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:512F 000 movx A, @DPTR ; Move from/to external RAM ROM:5130 000 jnb ACC.3, read_CMD_from_PM_CH1 ; byte read_CMD_from_PM_CH1(void); // return CMD in R7 ROM:5130 ROM:5133 000 mov DPTR, #PMC_PM1DI ; Host Interface PM Channel 1 Data In Port ROM:5136 000 movx A, @DPTR ; Move from/to external RAM ROM:5137 000 mov R7, A ; Move (Op1 <- Op2) ROM:5138 000 ret ; Return from subroutine ROM:5138 ROM:5138 ; End of function read_CMD_from_PM_CH1 ROM:5138 ROM:5139 ROM:5139 ; =============== S U B R O U T I N E ======================================= ROM:5139 ROM:5139 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:5139 ROM:5139 some_with__0F_FF_FD_00: ; CODE XREF: ROM_68E2-1919p ROM:5139 ; ROM_68E2-1911p ... ROM:5139 000 lcall write__0F_FF_FD_00 ; Long Subroutine Call ROM:5139 ROM:513C 000 mov R7, #90h ; 'É' ; Move (Op1 <- Op2) ROM:513E 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:513E ROM:5141 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:5144 000 clr A ; Clear Operand (0) ROM:5145 000 movx @DPTR, A ; Move from/to external RAM ROM:5146 000 movx @DPTR, A ; Move from/to external RAM ROM:5147 000 movx @DPTR, A ; Move from/to external RAM ROM:5148 000 movx A, @DPTR ; read byte from indirect RAM ROM:5149 000 mov DPTR, #0Dh ; Move (Op1 <- Op2) ROM:514C 000 movx @DPTR, A ; write_byte_to(0xD, A); // write A to 0xD addr ROM:514D 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:5150 000 movx A, @DPTR ; read byte from indirect RAM ROM:5151 000 mov DPTR, #0Eh ; Move (Op1 <- Op2) ROM:5154 000 movx @DPTR, A ; write_byte_to(0xE, A); // write A to 0xE addr ROM:5155 000 lcall write__xx_xx_FD_xx_to_4 ; write__xx_xx_FD_xx(4) and enable write protect ROM:5155 ROM:5158 000 mov DPTR, #0Dh ; Move (Op1 <- Op2) ROM:515B 000 movx A, @DPTR ; Move from/to external RAM ROM:515C 000 jnz parse_output ; Jump if Acc is not zero ROM:515C ROM:515E 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:5160 000 ret ; Return from subroutine ROM:5160 ROM:5161 ; --------------------------------------------------------------------------- ROM:5161 ROM:5161 parse_output: ; CODE XREF: some_with__0F_FF_FD_00+23j ROM:5161 000 mov DPTR, #0Dh ; Move (Op1 <- Op2) ROM:5164 000 movx A, @DPTR ; A = read_byte_from(0xD); ROM:5165 000 cjne A, #0BFh, write_0x2_to_0xF ; '+' ; jump if A <> 0xBF ROM:5165 ROM:5168 000 setb RAM_22.1 ; Set Direct Bit ROM:516A 000 mov DPTR, #0Eh ; Move (Op1 <- Op2) ROM:516D 000 movx A, @DPTR ; A = read_byte_from(0xE); ROM:516E 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:5171 000 cjne A, #48h, write_0xAD_to_0xF ; 'H' ; jump if A <> 0x48 ROM:5171 ROM:5174 000 mov A, #0AFh ; '»' ; Move (Op1 <- Op2) ROM:5176 000 movx @DPTR, A ; print_in 0xF value 0xAF ROM:5177 000 sjmp return ; Short jump ROM:5177 ROM:5179 ; --------------------------------------------------------------------------- ROM:5179 ROM:5179 write_0xAD_to_0xF: ; CODE XREF: some_with__0F_FF_FD_00+38j ROM:5179 000 mov A, #0ADh ; '¡' ; Move (Op1 <- Op2) ROM:517B 000 movx @DPTR, A ; Move from/to external RAM ROM:517C 000 sjmp return ; Short jump ROM:517C ROM:517E ; --------------------------------------------------------------------------- ROM:517E ROM:517E write_0x2_to_0xF: ; CODE XREF: some_with__0F_FF_FD_00+2Cj ROM:517E 000 clr RAM_22.1 ; Clear Operand (0) ROM:5180 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:5183 000 mov A, #2 ; Move (Op1 <- Op2) ROM:5185 000 movx @DPTR, A ; Move from/to external RAM ROM:5185 ROM:5186 ROM:5186 return: ; CODE XREF: some_with__0F_FF_FD_00+3Ej ROM:5186 ; some_with__0F_FF_FD_00+43j ROM:5186 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:5188 000 ret ; Return from subroutine ROM:5188 ROM:5188 ; End of function some_with__0F_FF_FD_00 ROM:5188 ROM:5189 ROM:5189 ; =============== S U B R O U T I N E ======================================= ROM:5189 ROM:5189 ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:5189 ROM:5189 write__xx_xx_FD_xx: ; CODE XREF: interact_0FFFFD0+Bp ROM:5189 ; ROM_505E+8p ... ROM:5189 000 mov DPTR, #SMFI_ECINDAR1 ; EC-Indirect Memory Address Register 1 ROM:518C 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:518E 000 movx @DPTR, A ; set flash address register 1 to 0xFE ROM:518F 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:5192 000 clr A ; Clear Operand (0) ROM:5193 000 movx @DPTR, A ; write always "0" in last byte in flash "xx xx FE xx" adresses ROM:5194 000 mov DPTR, #SMFI_ECINDAR1 ; EC-Indirect Memory Address Register 1 ROM:5197 000 mov A, #0FDh ; '²' ; Move (Op1 <- Op2) ROM:5199 000 movx @DPTR, A ; set flash address register 1 to 0xFD ROM:519A 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:519D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:519E 000 movx @DPTR, A ; write content of R7 in "xx xx FD xx" adress ROM:519F 000 ret ; Return from subroutine ROM:519F ROM:519F ; End of function write__xx_xx_FD_xx ROM:519F ROM:51A0 ; --------------------------------------------------------------------------- ROM:51A0 ; START OF FUNCTION CHUNK FOR write__0F_FF_FD_00 ROM:51A0 ROM:51A0 do_flash_xx_xx_XX_xx_if_bit_1: ; CODE XREF: write__0F_FF_FD_00-12j ROM:51A0 ; write__0F_FF_FD_00+31j ROM:51A0 000 mov R7, #5 ; R7 = 5; ROM:51A2 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:51A2 ROM:51A5 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:51A8 000 movx A, @DPTR ; Move from/to external RAM ROM:51A9 000 jnb ACC.1, do_flash_xx_xx_XX_xx_if_bit_1 ; jump if 1 bit of A equal "0" ROM:51A9 ROM:51AC 000 ret ; Return from subroutine ROM:51AC ROM:51AC ; END OF FUNCTION CHUNK FOR write__0F_FF_FD_00 ROM:51AD ROM:51AD ; =============== S U B R O U T I N E ======================================= ROM:51AD ROM:51AD ROM:51AD write__xx_xx_XX_xx_from_EC: ; CODE XREF: interact_0FFFFD0+30p ROM:51AD ; receive_and_write_from_PM_CH1+25j ... ROM:51AD 000 mov R7, #5 ; R7 = 5; ROM:51AF 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:51AF ROM:51B2 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:51B5 000 movx A, @DPTR ; Move from/to external RAM ROM:51B6 000 cpl A ; Complement Operand ROM:51B7 000 jnb ACC.0, write__xx_xx_XX_xx_from_EC ; jump if 0 bit of A equal "0" ROM:51B7 ROM:51BA 000 ret ; Return from subroutine ROM:51BA ROM:51BA ; End of function write__xx_xx_XX_xx_from_EC ROM:51BA ROM:51BB ROM:51BB ; =============== S U B R O U T I N E ======================================= ROM:51BB ROM:51BB ROM:51BB write__0F_FF_FD_00: ; CODE XREF: interact_0FFFFD0:ROM_4FF1p ROM:51BB ; ROM_505Ep ... ROM:51BB ROM:51BB ; FUNCTION CHUNK AT ROM:51A0 SIZE 0000000D BYTES ROM:51BB ROM:51BB 000 clr IE.7 ; set last bit in Interrupt Register to 0 ROM:51BD 000 mov DPTR, #SMFI_SMECCS ; Shared Memory EC Control and Status ROM:51C0 000 movx A, @DPTR ; Move from/to external RAM ROM:51C1 000 orl A, #100000b ; enable Host Write Acess, generating write transactions on ROM:51C3 000 movx @DPTR, A ; Move from/to external RAM ROM:51C4 000 mov DPTR, #SMFI_ECINDAR3 ; EC-Indirect Memory Address Register 3 ROM:51C7 000 mov A, #0Fh ; set address to "0F xx xx xx" ROM:51C9 000 movx @DPTR, A ; Move from/to external RAM ROM:51CA 000 mov DPTR, #SMFI_ECINDAR2 ; EC-Indirect Memory Address Register 2 ROM:51CD 000 mov A, #0FFh ; set address to "0F FF xx xx" ROM:51CF 000 movx @DPTR, A ; Move from/to external RAM ROM:51D0 000 mov DPTR, #SMFI_ECINDAR0 ; EC-Indirect Memory Address Register 0 ROM:51D3 000 clr A ; set address to "0F FF xx 00" ROM:51D4 000 movx @DPTR, A ; Move from/to external RAM ROM:51D5 000 jnb RAM_22.1, write_1 ; jump if 1 bit in RAM_22 equal "0" ROM:51D5 ROM:51D8 000 mov R7, #50h ; 'P' ; Move (Op1 <- Op2) ROM:51DA 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:51DA ROM:51DD ROM:51DD write_1: ; CODE XREF: write__0F_FF_FD_00+1Aj ROM:51DD 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:51DF 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:51DF ROM:51E2 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:51E5 000 clr A ; Clear Operand (0) ROM:51E6 000 movx @DPTR, A ; write_0F_FF_xx_00(0); ROM:51E7 000 mov R7, #6 ; Move (Op1 <- Op2) ROM:51E9 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:51E9 ROM:51EC 000 ljmp do_flash_xx_xx_XX_xx_if_bit_1 ; Long Jump ROM:51EC ROM:51EC ; End of function write__0F_FF_FD_00 ROM:51EC ROM:51EF ROM:51EF ; =============== S U B R O U T I N E ======================================= ROM:51EF ROM:51EF ; write__xx_xx_FD_xx(4) and enable write protect ROM:51EF ROM:51EF write__xx_xx_FD_xx_to_4: ; CODE XREF: interact_0FFFFD0+33p ROM:51EF ; ROM_505E+4Ej ... ROM:51EF 000 mov R7, #4 ; R7 = 4; ROM:51F1 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:51F1 ROM:51F4 000 mov DPTR, #SMFI_ECINDAR3 ; EC-Indirect Memory Address Register 3 ROM:51F7 000 clr A ; Clear Operand (0) ROM:51F8 000 movx @DPTR, A ; set 3 register to "0" ROM:51F9 000 mov DPTR, #SMFI_ECINDAR2 ; EC-Indirect Memory Address Register 2 ROM:51FC 000 movx @DPTR, A ; set 2 register to "0" ROM:51FD 000 mov DPTR, #SMFI_SMECCS ; Shared Memory EC Control and Status ROM:5200 000 movx A, @DPTR ; Move from/to external RAM ROM:5201 000 anl A, #11011111b ; set HOSTWA to "0" ROM:5201 ; The SMFI does not generate write transactions on M-bus. ROM:5201 ; ROM:5203 000 movx @DPTR, A ; Move from/to external RAM ROM:5204 000 ret ; Return from subroutine ROM:5204 ROM:5204 ; End of function write__xx_xx_FD_xx_to_4 ROM:5204 ROM:5205 ROM:5205 ; =============== S U B R O U T I N E ======================================= ROM:5205 ROM:5205 ROM:5205 ROM_5205: ; CODE XREF: ROM_77E0+38j ROM:5205 ; ROM_782A+E6p ROM:5205 000 mov DPTR, #690h ; Move (Op1 <- Op2) ROM:5208 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5209 000 movx @DPTR, A ; Move from/to external RAM ROM:520A 000 inc DPTR ; Increment Operand ROM:520B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:520C 000 movx @DPTR, A ; Move from/to external RAM ROM:520D 000 mov R6, RAM_4 ; Move (Op1 <- Op2) ROM:520F 000 mov R7, RAM_5 ; Move (Op1 <- Op2) ROM:5211 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:5213 000 mov @R0, RAM_6 ; Move (Op1 <- Op2) ROM:5215 000 inc R0 ; Increment Operand ROM:5216 000 mov @R0, RAM_7 ; Move (Op1 <- Op2) ROM:5218 000 jnb RAM_22.1, ROM_525E ; Jump if Bit is clear ROM:5218 ROM:521B 000 clr A ; Clear Operand (0) ROM:521C 000 mov R3, A ; Move (Op1 <- Op2) ROM:521C ROM:521D ROM:521D ROM_521D: ; CODE XREF: ROM_5205+57j ROM:521D 000 mov A, R3 ; Move (Op1 <- Op2) ROM:521E 000 mov R7, A ; Move (Op1 <- Op2) ROM:521F 000 setb C ; Set Direct Bit ROM:5220 000 mov DPTR, #691h ; Move (Op1 <- Op2) ROM:5223 000 movx A, @DPTR ; Move from/to external RAM ROM:5224 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:5225 000 mov DPTR, #690h ; Move (Op1 <- Op2) ROM:5228 000 movx A, @DPTR ; Move from/to external RAM ROM:5229 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:522B 000 jc ROM_529F ; Jump if Carry is set ROM:522B ROM:522D 000 lcall write__0F_FF_FD_00 ; Long Subroutine Call ROM:522D ROM:5230 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:5232 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:5232 ROM:5235 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:5238 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:523A 000 movx @DPTR, A ; Move from/to external RAM ROM:523B 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:523D 000 movx @DPTR, A ; Move from/to external RAM ROM:523E 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:5240 000 movx @DPTR, A ; Move from/to external RAM ROM:5241 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:5243 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:5244 000 mov R6, A ; Move (Op1 <- Op2) ROM:5245 000 inc R0 ; Increment Operand ROM:5246 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:5247 000 mov DP0L, A ; Data Pointer Low Byte ROM:5249 000 mov DP0H, R6 ; Data Pointer High Byte ROM:524B 000 movx A, @DPTR ; Move from/to external RAM ROM:524C 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:524F 000 movx @DPTR, A ; Move from/to external RAM ROM:5250 000 inc @R0 ; Increment Operand ROM:5251 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:5252 000 dec R0 ; Decrement Operand ROM:5253 000 jnz ROM_5256 ; Jump if Acc is not zero ROM:5253 ROM:5255 000 inc @R0 ; Increment Operand ROM:5255 ROM:5256 ROM:5256 ROM_5256: ; CODE XREF: ROM_5205+4Ej ROM:5256 000 inc RAM_30 ; Increment Operand ROM:5258 000 lcall write__xx_xx_XX_xx_from_EC ; Long Subroutine Call ROM:5258 ROM:525B 000 inc R3 ; Increment Operand ROM:525C 000 sjmp ROM_521D ; Short jump ROM:525C ROM:525E ; --------------------------------------------------------------------------- ROM:525E ROM:525E ROM_525E: ; CODE XREF: ROM_5205+13j ROM:525E 000 lcall write__0F_FF_FD_00 ; Long Subroutine Call ROM:525E ROM:5261 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:5263 000 lcall write__xx_xx_FD_xx ; void write__xx_xx_FD_xx(byte arg); // arg - is R7, and zero in "xx xx FE xx" ROM:5263 ROM:5266 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:5269 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:526B 000 movx @DPTR, A ; Move from/to external RAM ROM:526C 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:526E 000 movx @DPTR, A ; Move from/to external RAM ROM:526F 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:5271 000 movx @DPTR, A ; Move from/to external RAM ROM:5272 000 clr A ; Clear Operand (0) ROM:5273 000 mov R3, A ; Move (Op1 <- Op2) ROM:5273 ROM:5274 ROM:5274 ROM_5274: ; CODE XREF: ROM_5205+95j ROM:5274 000 mov A, R3 ; Move (Op1 <- Op2) ROM:5275 000 mov R7, A ; Move (Op1 <- Op2) ROM:5276 000 setb C ; Set Direct Bit ROM:5277 000 mov DPTR, #691h ; Move (Op1 <- Op2) ROM:527A 000 movx A, @DPTR ; Move from/to external RAM ROM:527B 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:527C 000 mov DPTR, #690h ; Move (Op1 <- Op2) ROM:527F 000 movx A, @DPTR ; Move from/to external RAM ROM:5280 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:5282 000 jc ROM_529C ; Jump if Carry is set ROM:5282 ROM:5284 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:5286 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:5287 000 mov R6, A ; Move (Op1 <- Op2) ROM:5288 000 inc R0 ; Increment Operand ROM:5289 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:528A 000 mov DP0L, A ; Data Pointer Low Byte ROM:528C 000 mov DP0H, R6 ; Data Pointer High Byte ROM:528E 000 movx A, @DPTR ; Move from/to external RAM ROM:528F 000 mov DPTR, #SMFI_ECINDDR ; EC-Indirect Memory Data Register ROM:5292 000 movx @DPTR, A ; Move from/to external RAM ROM:5293 000 inc @R0 ; Increment Operand ROM:5294 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:5295 000 dec R0 ; Decrement Operand ROM:5296 000 jnz ROM_5299 ; Jump if Acc is not zero ROM:5296 ROM:5298 000 inc @R0 ; Increment Operand ROM:5298 ROM:5299 ROM:5299 ROM_5299: ; CODE XREF: ROM_5205+91j ROM:5299 000 inc R3 ; Increment Operand ROM:529A 000 sjmp ROM_5274 ; Short jump ROM:529A ROM:529C ; --------------------------------------------------------------------------- ROM:529C ROM:529C ROM_529C: ; CODE XREF: ROM_5205+7Dj ROM:529C 000 lcall write__xx_xx_XX_xx_from_EC ; Long Subroutine Call ROM:529C ROM:529F ROM:529F ROM_529F: ; CODE XREF: ROM_5205+26j ROM:529F 000 ljmp write__xx_xx_FD_xx_to_4 ; write__xx_xx_FD_xx(4) and enable write protect ROM:529F ROM:529F ; End of function ROM_5205 ROM:529F ROM:529F ; --------------------------------------------------------------------------- ROM:52A2 db 0FFh, 0 ROM:52A4 ROM:52A4 ; =============== S U B R O U T I N E ======================================= ROM:52A4 ROM:52A4 ROM:52A4 ROM_52A4: ; CODE XREF: ROM_8140+3Fp ROM:52A4 ; ROM_8189+1Cp ... ROM:52A4 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:52A7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:52A8 000 movx @DPTR, A ; Move from/to external RAM ROM:52A9 000 inc DPTR ; Increment Operand ROM:52AA 000 mov A, R5 ; Move (Op1 <- Op2) ROM:52AB 000 movx @DPTR, A ; Move from/to external RAM ROM:52AC 000 clr A ; Clear Operand (0) ROM:52AD 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:52AF 000 movx A, @DPTR ; Move from/to external RAM ROM:52B0 000 mov R1, A ; Move (Op1 <- Op2) ROM:52B1 000 jb ACC.7, ROM_52B7 ; Accumulator ROM:52B1 ROM:52B4 000 ljmp ROM_5338 ; Long Jump ROM:52B4 ROM:52B7 ; --------------------------------------------------------------------------- ROM:52B7 ROM:52B7 ROM_52B7: ; CODE XREF: ROM_52A4+Dj ROM:52B7 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:52BA 000 movx A, @DPTR ; Move from/to external RAM ROM:52BB 000 mov R2, A ; Move (Op1 <- Op2) ROM:52BC 000 mov B, #0Ch ; B Register ROM:52BF 000 mul AB ; Multiply Acc by B ROM:52C0 000 add A, #22h ; '"' ; Add Second Operand to Acc ROM:52C2 000 mov DP0L, A ; Data Pointer Low Byte ROM:52C4 000 clr A ; Clear Operand (0) ROM:52C5 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:52C7 000 mov DP0H, A ; Data Pointer High Byte ROM:52C9 000 clr A ; Clear Operand (0) ROM:52CA 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:52CB 000 mov R6, A ; Move (Op1 <- Op2) ROM:52CC 000 mov A, #1 ; Move (Op1 <- Op2) ROM:52CE 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:52CF 000 mov DP0L, A ; Data Pointer Low Byte ROM:52D1 000 mov DP0H, R6 ; Data Pointer High Byte ROM:52D3 000 mov A, R3 ; Move (Op1 <- Op2) ROM:52D4 000 movx @DPTR, A ; Move from/to external RAM ROM:52D5 000 mov A, R1 ; Move (Op1 <- Op2) ROM:52D6 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:52D8 000 mov DPTR, #693h ; Move (Op1 <- Op2) ROM:52DB 000 movx @DPTR, A ; Move from/to external RAM ROM:52DC 000 mov DPTR, #696h ; Move (Op1 <- Op2) ROM:52DF 000 movx A, @DPTR ; Move from/to external RAM ROM:52E0 000 mov R6, A ; Move (Op1 <- Op2) ROM:52E1 000 inc DPTR ; Increment Operand ROM:52E2 000 movx A, @DPTR ; Move from/to external RAM ROM:52E3 000 mov DP0L, A ; Data Pointer Low Byte ROM:52E5 000 mov DP0H, R6 ; Data Pointer High Byte ROM:52E7 000 movx A, @DPTR ; Move from/to external RAM ROM:52E8 000 mov R7, A ; Move (Op1 <- Op2) ROM:52E9 000 mov A, R2 ; Move (Op1 <- Op2) ROM:52EA 000 mov B, #0Ch ; B Register ROM:52ED 000 mul AB ; Multiply Acc by B ROM:52EE 000 add A, #28h ; '(' ; Add Second Operand to Acc ROM:52F0 000 mov DP0L, A ; Data Pointer Low Byte ROM:52F2 000 clr A ; Clear Operand (0) ROM:52F3 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:52F5 000 mov DP0H, A ; Data Pointer High Byte ROM:52F7 000 clr A ; Clear Operand (0) ROM:52F8 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:52F9 000 mov R4, A ; Move (Op1 <- Op2) ROM:52FA 000 mov A, #1 ; Move (Op1 <- Op2) ROM:52FC 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:52FD 000 mov DP0L, A ; Data Pointer Low Byte ROM:52FF 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5301 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5302 000 movx @DPTR, A ; Move from/to external RAM ROM:5303 000 mov DPTR, #693h ; Move (Op1 <- Op2) ROM:5306 000 movx A, @DPTR ; Move from/to external RAM ROM:5307 000 xrl A, #0Ch ; Exclusive OR (op1 ^= op2) ROM:5309 000 jnz ROM_5359 ; Jump if Acc is not zero ROM:5309 ROM:530B 000 mov DPTR, #696h ; Move (Op1 <- Op2) ROM:530E 000 movx A, @DPTR ; Move from/to external RAM ROM:530F 000 mov R6, A ; Move (Op1 <- Op2) ROM:5310 000 inc DPTR ; Increment Operand ROM:5311 000 movx A, @DPTR ; Move from/to external RAM ROM:5312 000 mov DP0L, A ; Data Pointer Low Byte ROM:5314 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5316 000 inc DPTR ; Increment Operand ROM:5317 000 movx A, @DPTR ; Move from/to external RAM ROM:5318 000 mov R7, A ; Move (Op1 <- Op2) ROM:5319 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:531C 000 movx A, @DPTR ; Move from/to external RAM ROM:531D 000 mov B, #0Ch ; B Register ROM:5320 000 mul AB ; Multiply Acc by B ROM:5321 000 add A, #2Ah ; '*' ; Add Second Operand to Acc ROM:5323 000 mov DP0L, A ; Data Pointer Low Byte ROM:5325 000 clr A ; Clear Operand (0) ROM:5326 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5328 000 mov DP0H, A ; Data Pointer High Byte ROM:532A 000 clr A ; Clear Operand (0) ROM:532B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:532C 000 mov R4, A ; Move (Op1 <- Op2) ROM:532D 000 mov A, #1 ; Move (Op1 <- Op2) ROM:532F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5330 000 mov DP0L, A ; Data Pointer Low Byte ROM:5332 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5334 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5335 000 movx @DPTR, A ; Move from/to external RAM ROM:5336 000 sjmp ROM_5359 ; Short jump ROM:5336 ROM:5338 ; --------------------------------------------------------------------------- ROM:5338 ROM:5338 ROM_5338: ; CODE XREF: ROM_52A4+10j ROM:5338 000 mov A, R3 ; Move (Op1 <- Op2) ROM:5339 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:533B 000 mov R7, A ; Move (Op1 <- Op2) ROM:533C 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:533F 000 movx A, @DPTR ; Move from/to external RAM ROM:5340 000 mov B, #0Ch ; B Register ROM:5343 000 mul AB ; Multiply Acc by B ROM:5344 000 add A, #22h ; '"' ; Add Second Operand to Acc ROM:5346 000 mov DP0L, A ; Data Pointer Low Byte ROM:5348 000 clr A ; Clear Operand (0) ROM:5349 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:534B 000 mov DP0H, A ; Data Pointer High Byte ROM:534D 000 clr A ; Clear Operand (0) ROM:534E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:534F 000 mov R4, A ; Move (Op1 <- Op2) ROM:5350 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5352 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5353 000 mov DP0L, A ; Data Pointer Low Byte ROM:5355 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5357 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5358 000 movx @DPTR, A ; Move from/to external RAM ROM:5358 ROM:5359 ROM:5359 ROM_5359: ; CODE XREF: ROM_52A4+65j ROM:5359 ; ROM_52A4+92j ROM:5359 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:535C 000 movx A, @DPTR ; Move from/to external RAM ROM:535D 000 mov R7, A ; Move (Op1 <- Op2) ROM:535E 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:5361 000 movx A, @DPTR ; Move from/to external RAM ROM:5362 000 mov R6, A ; Move (Op1 <- Op2) ROM:5363 000 mov B, #0Ch ; B Register ROM:5366 000 mul AB ; Multiply Acc by B ROM:5367 000 add A, #24h ; '$' ; Add Second Operand to Acc ROM:5369 000 mov DP0L, A ; Data Pointer Low Byte ROM:536B 000 clr A ; Clear Operand (0) ROM:536C 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:536E 000 mov DP0H, A ; Data Pointer High Byte ROM:5370 000 clr A ; Clear Operand (0) ROM:5371 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5372 000 mov R4, A ; Move (Op1 <- Op2) ROM:5373 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5375 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5376 000 mov DP0L, A ; Data Pointer Low Byte ROM:5378 000 mov DP0H, R4 ; Data Pointer High Byte ROM:537A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:537B 000 movx @DPTR, A ; Move from/to external RAM ROM:537C 000 mov A, R6 ; Move (Op1 <- Op2) ROM:537D 000 mov B, #0Ch ; B Register ROM:5380 000 mul AB ; Multiply Acc by B ROM:5381 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5383 000 mov DP0L, A ; Data Pointer Low Byte ROM:5385 000 clr A ; Clear Operand (0) ROM:5386 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5388 000 mov DP0H, A ; Data Pointer High Byte ROM:538A 000 clr A ; Clear Operand (0) ROM:538B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:538C 000 mov R6, A ; Move (Op1 <- Op2) ROM:538D 000 mov A, #1 ; Move (Op1 <- Op2) ROM:538F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5390 000 mov DP0L, A ; Data Pointer Low Byte ROM:5392 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5394 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5396 000 movx @DPTR, A ; Move from/to external RAM ROM:5397 000 mov DPTR, #693h ; Move (Op1 <- Op2) ROM:539A 000 movx A, @DPTR ; Move from/to external RAM ROM:539B 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:539D 000 mov R7, A ; Move (Op1 <- Op2) ROM:539E 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:53A1 000 movx A, @DPTR ; Move from/to external RAM ROM:53A2 000 mov B, #0Ch ; B Register ROM:53A5 000 mul AB ; Multiply Acc by B ROM:53A6 000 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:53A8 000 mov DP0L, A ; Data Pointer Low Byte ROM:53AA 000 clr A ; Clear Operand (0) ROM:53AB 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:53AD 000 mov DP0H, A ; Data Pointer High Byte ROM:53AF 000 clr A ; Clear Operand (0) ROM:53B0 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:53B1 000 mov R4, A ; Move (Op1 <- Op2) ROM:53B2 000 mov A, #1 ; Move (Op1 <- Op2) ROM:53B4 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:53B5 000 mov DP0L, A ; Data Pointer Low Byte ROM:53B7 000 mov DP0H, R4 ; Data Pointer High Byte ROM:53B9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:53BA 000 movx @DPTR, A ; Move from/to external RAM ROM:53BA ROM:53BB ROM:53BB ROM_53BB: ; CODE XREF: ROM_52A4+163j ROM:53BB 000 inc RAM_31 ; Increment Operand ROM:53BD 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:53BF 000 clr C ; Clear Operand (0) ROM:53C0 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:53C2 000 jc ROM_53EB ; Jump if Carry is set ROM:53C2 ROM:53C4 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:53C7 000 movx A, @DPTR ; Move from/to external RAM ROM:53C8 000 mov R7, A ; Move (Op1 <- Op2) ROM:53C9 000 mov B, #0Ch ; B Register ROM:53CC 000 mul AB ; Multiply Acc by B ROM:53CD 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:53CF 000 mov DP0L, A ; Data Pointer Low Byte ROM:53D1 000 clr A ; Clear Operand (0) ROM:53D2 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:53D4 000 mov DP0H, A ; Data Pointer High Byte ROM:53D6 000 clr A ; Clear Operand (0) ROM:53D7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:53D8 000 mov R4, A ; Move (Op1 <- Op2) ROM:53D9 000 mov A, #1 ; Move (Op1 <- Op2) ROM:53DB 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:53DC 000 mov DP0L, A ; Data Pointer Low Byte ROM:53DE 000 mov DP0H, R4 ; Data Pointer High Byte ROM:53E0 000 movx A, @DPTR ; Move from/to external RAM ROM:53E1 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:53E3 000 jz ROM_53E8 ; Jump if Acc is zero ROM:53E3 ROM:53E5 000 lcall ROM_5B55 ; Long Subroutine Call ROM:53E5 ROM:53E8 ROM:53E8 ROM_53E8: ; CODE XREF: ROM_52A4+13Fj ROM:53E8 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:53EA 000 ret ; Return from subroutine ROM:53EA ROM:53EB ; --------------------------------------------------------------------------- ROM:53EB ROM:53EB ROM_53EB: ; CODE XREF: ROM_52A4+11Ej ROM:53EB 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:53EE 000 movx A, @DPTR ; Move from/to external RAM ROM:53EF 000 mov B, #0Ch ; B Register ROM:53F2 000 mul AB ; Multiply Acc by B ROM:53F3 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:53F5 000 mov DP0L, A ; Data Pointer Low Byte ROM:53F7 000 clr A ; Clear Operand (0) ROM:53F8 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:53FA 000 mov DP0H, A ; Data Pointer High Byte ROM:53FC 000 clr A ; Clear Operand (0) ROM:53FD 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:53FE 000 mov R6, A ; Move (Op1 <- Op2) ROM:53FF 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5401 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5402 000 mov DP0L, A ; Data Pointer Low Byte ROM:5404 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5406 000 movx A, @DPTR ; Move from/to external RAM ROM:5407 000 jnb ACC.1, ROM_53BB ; Accumulator ROM:5407 ROM:540A 000 movx A, @DPTR ; Move from/to external RAM ROM:540B 000 jnb ACC.2, ROM_542F ; Accumulator ROM:540B ROM:540E 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:5411 000 movx A, @DPTR ; Move from/to external RAM ROM:5412 000 mov B, #0Ch ; B Register ROM:5415 000 mul AB ; Multiply Acc by B ROM:5416 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5418 000 mov DP0L, A ; Data Pointer Low Byte ROM:541A 000 clr A ; Clear Operand (0) ROM:541B 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:541D 000 mov DP0H, A ; Data Pointer High Byte ROM:541F 000 clr A ; Clear Operand (0) ROM:5420 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5421 000 mov R6, A ; Move (Op1 <- Op2) ROM:5422 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5424 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5425 000 mov DP0L, A ; Data Pointer Low Byte ROM:5427 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5429 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:542B 000 movx @DPTR, A ; Move from/to external RAM ROM:542C 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:542E 000 ret ; Return from subroutine ROM:542E ROM:542F ; --------------------------------------------------------------------------- ROM:542F ROM:542F ROM_542F: ; CODE XREF: ROM_52A4+167j ROM:542F 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:5432 000 movx A, @DPTR ; Move from/to external RAM ROM:5433 000 mov R7, A ; Move (Op1 <- Op2) ROM:5434 000 mov B, #0Ch ; B Register ROM:5437 000 mul AB ; Multiply Acc by B ROM:5438 000 add A, #22h ; '"' ; Add Second Operand to Acc ROM:543A 000 mov DP0L, A ; Data Pointer Low Byte ROM:543C 000 clr A ; Clear Operand (0) ROM:543D 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:543F 000 mov DP0H, A ; Data Pointer High Byte ROM:5441 000 clr A ; Clear Operand (0) ROM:5442 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5443 000 mov R4, A ; Move (Op1 <- Op2) ROM:5444 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5446 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5447 000 mov DP0L, A ; Data Pointer Low Byte ROM:5449 000 mov DP0H, R4 ; Data Pointer High Byte ROM:544B 000 movx A, @DPTR ; Move from/to external RAM ROM:544C 000 jnb ACC.0, ROM_54A0 ; Accumulator ROM:544C ROM:544F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5450 000 mov B, #0Ch ; B Register ROM:5453 000 mul AB ; Multiply Acc by B ROM:5454 000 add A, #28h ; '(' ; Add Second Operand to Acc ROM:5456 000 mov DP0L, A ; Data Pointer Low Byte ROM:5458 000 clr A ; Clear Operand (0) ROM:5459 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:545B 000 mov DP0H, A ; Data Pointer High Byte ROM:545D 000 clr A ; Clear Operand (0) ROM:545E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:545F 000 mov R6, A ; Move (Op1 <- Op2) ROM:5460 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5462 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5463 000 mov DP0L, A ; Data Pointer Low Byte ROM:5465 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5467 000 movx A, @DPTR ; Move from/to external RAM ROM:5468 000 mov R7, A ; Move (Op1 <- Op2) ROM:5469 000 mov DPTR, #696h ; Move (Op1 <- Op2) ROM:546C 000 movx A, @DPTR ; Move from/to external RAM ROM:546D 000 mov R4, A ; Move (Op1 <- Op2) ROM:546E 000 inc DPTR ; Increment Operand ROM:546F 000 movx A, @DPTR ; Move from/to external RAM ROM:5470 000 mov R5, A ; Move (Op1 <- Op2) ROM:5471 000 mov DP0L, A ; Data Pointer Low Byte ROM:5473 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5475 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5476 000 movx @DPTR, A ; Move from/to external RAM ROM:5477 000 mov DPTR, #693h ; Move (Op1 <- Op2) ROM:547A 000 movx A, @DPTR ; Move from/to external RAM ROM:547B 000 cjne A, #0Ch, ROM_54A0 ; Compare Operands and JNE ROM:547B ROM:547E 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:5481 000 movx A, @DPTR ; Move from/to external RAM ROM:5482 000 mov B, #0Ch ; B Register ROM:5485 000 mul AB ; Multiply Acc by B ROM:5486 000 add A, #2Ah ; '*' ; Add Second Operand to Acc ROM:5488 000 mov DP0L, A ; Data Pointer Low Byte ROM:548A 000 clr A ; Clear Operand (0) ROM:548B 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:548D 000 mov DP0H, A ; Data Pointer High Byte ROM:548F 000 clr A ; Clear Operand (0) ROM:5490 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5491 000 mov R6, A ; Move (Op1 <- Op2) ROM:5492 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5494 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5495 000 mov DP0L, A ; Data Pointer Low Byte ROM:5497 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5499 000 movx A, @DPTR ; Move from/to external RAM ROM:549A 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:549C 000 mov DP0H, R4 ; Data Pointer High Byte ROM:549E 000 inc DPTR ; Increment Operand ROM:549F 000 movx @DPTR, A ; Move from/to external RAM ROM:549F ROM:54A0 ROM:54A0 ROM_54A0: ; CODE XREF: ROM_52A4+1A8j ROM:54A0 ; ROM_52A4+1D7j ROM:54A0 000 mov DPTR, #692h ; Move (Op1 <- Op2) ROM:54A3 000 movx A, @DPTR ; Move from/to external RAM ROM:54A4 000 mov B, #0Ch ; B Register ROM:54A7 000 mul AB ; Multiply Acc by B ROM:54A8 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:54AA 000 mov DP0L, A ; Data Pointer Low Byte ROM:54AC 000 clr A ; Clear Operand (0) ROM:54AD 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:54AF 000 mov DP0H, A ; Data Pointer High Byte ROM:54B1 000 clr A ; Clear Operand (0) ROM:54B2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:54B3 000 mov R6, A ; Move (Op1 <- Op2) ROM:54B4 000 mov A, #1 ; Move (Op1 <- Op2) ROM:54B6 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:54B7 000 mov DP0L, A ; Data Pointer Low Byte ROM:54B9 000 mov DP0H, R6 ; Data Pointer High Byte ROM:54BB 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:54BD 000 movx @DPTR, A ; Move from/to external RAM ROM:54BE 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:54C0 000 ret ; Return from subroutine ROM:54C0 ROM:54C0 ; End of function ROM_52A4 ROM:54C0 ROM:54C1 ROM:54C1 ; =============== S U B R O U T I N E ======================================= ROM:54C1 ROM:54C1 ROM:54C1 ROM_54C1: ; CODE XREF: ROM_7A70+14p ROM:54C1 ; ROM_B28A+14j ROM:54C1 000 mov DPTR, #698h ; Move (Op1 <- Op2) ROM:54C4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:54C5 000 movx @DPTR, A ; Move from/to external RAM ROM:54C6 000 mov RAM_30, #1 ; Move (Op1 <- Op2) ROM:54C9 000 clr A ; Clear Operand (0) ROM:54CA 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:54CC 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:54CE 000 mov A, R3 ; Move (Op1 <- Op2) ROM:54CF 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:54D1 000 mov R7, A ; Move (Op1 <- Op2) ROM:54D2 000 movx A, @DPTR ; Move from/to external RAM ROM:54D3 000 mov R6, A ; Move (Op1 <- Op2) ROM:54D4 000 mov B, #0Ch ; B Register ROM:54D7 000 mul AB ; Multiply Acc by B ROM:54D8 000 add A, #46h ; 'F' ; Add Second Operand to Acc ROM:54DA 000 mov DP0L, A ; Data Pointer Low Byte ROM:54DC 000 clr A ; Clear Operand (0) ROM:54DD 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:54DF 000 mov DP0H, A ; Data Pointer High Byte ROM:54E1 000 clr A ; Clear Operand (0) ROM:54E2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:54E3 000 mov R2, A ; Move (Op1 <- Op2) ROM:54E4 000 mov A, #1 ; Move (Op1 <- Op2) ROM:54E6 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:54E7 000 mov DP0L, A ; Data Pointer Low Byte ROM:54E9 000 mov DP0H, R2 ; Data Pointer High Byte ROM:54EB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:54EC 000 movx @DPTR, A ; Move from/to external RAM ROM:54ED 000 mov DPTR, #69Bh ; Move (Op1 <- Op2) ROM:54F0 000 movx A, @DPTR ; Move from/to external RAM ROM:54F1 000 mov R7, A ; Move (Op1 <- Op2) ROM:54F2 000 mov A, R6 ; Move (Op1 <- Op2) ROM:54F3 000 mov B, #0Ch ; B Register ROM:54F6 000 mul AB ; Multiply Acc by B ROM:54F7 000 add A, #48h ; 'H' ; Add Second Operand to Acc ROM:54F9 000 mov DP0L, A ; Data Pointer Low Byte ROM:54FB 000 clr A ; Clear Operand (0) ROM:54FC 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:54FE 000 mov DP0H, A ; Data Pointer High Byte ROM:5500 000 clr A ; Clear Operand (0) ROM:5501 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5502 000 mov R2, A ; Move (Op1 <- Op2) ROM:5503 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5505 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5506 000 mov DP0L, A ; Data Pointer Low Byte ROM:5508 000 mov DP0H, R2 ; Data Pointer High Byte ROM:550A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:550B 000 movx @DPTR, A ; Move from/to external RAM ROM:550C 000 mov A, R5 ; Move (Op1 <- Op2) ROM:550D 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:550F 000 mov R7, A ; Move (Op1 <- Op2) ROM:5510 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5511 000 mov B, #0Ch ; B Register ROM:5514 000 mul AB ; Multiply Acc by B ROM:5515 000 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:5517 000 mov DP0L, A ; Data Pointer Low Byte ROM:5519 000 clr A ; Clear Operand (0) ROM:551A 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:551C 000 mov DP0H, A ; Data Pointer High Byte ROM:551E 000 clr A ; Clear Operand (0) ROM:551F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5520 000 mov R4, A ; Move (Op1 <- Op2) ROM:5521 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5523 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5524 000 mov DP0L, A ; Data Pointer Low Byte ROM:5526 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5528 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5529 000 movx @DPTR, A ; Move from/to external RAM ROM:5529 ROM:552A ROM:552A ROM_552A: ; CODE XREF: ROM_54C1+BAj ROM:552A ; ROM_54C1+145j ROM:552A 000 inc RAM_32 ; Increment Operand ROM:552C 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:552E 000 clr C ; Clear Operand (0) ROM:552F 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:5531 000 jc ROM_555D ; Jump if Carry is set ROM:5531 ROM:5533 000 mov DPTR, #698h ; Move (Op1 <- Op2) ROM:5536 000 movx A, @DPTR ; Move from/to external RAM ROM:5537 000 mov R7, A ; Move (Op1 <- Op2) ROM:5538 000 mov B, #0Ch ; B Register ROM:553B 000 mul AB ; Multiply Acc by B ROM:553C 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:553E 000 mov DP0L, A ; Data Pointer Low Byte ROM:5540 000 clr A ; Clear Operand (0) ROM:5541 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5543 000 mov DP0H, A ; Data Pointer High Byte ROM:5545 000 clr A ; Clear Operand (0) ROM:5546 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5547 000 mov R4, A ; Move (Op1 <- Op2) ROM:5548 000 mov A, #1 ; Move (Op1 <- Op2) ROM:554A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:554B 000 mov DP0L, A ; Data Pointer Low Byte ROM:554D 000 mov DP0H, R4 ; Data Pointer High Byte ROM:554F 000 movx A, @DPTR ; Move from/to external RAM ROM:5550 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:5552 000 jz ROM_5557 ; Jump if Acc is zero ROM:5552 ROM:5554 000 lcall ROM_5B55 ; Long Subroutine Call ROM:5554 ROM:5557 ROM:5557 ROM_5557: ; CODE XREF: ROM_54C1+91j ROM:5557 000 clr A ; Clear Operand (0) ROM:5558 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:555A 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:555C 000 ret ; Return from subroutine ROM:555C ROM:555D ; --------------------------------------------------------------------------- ROM:555D ROM:555D ROM_555D: ; CODE XREF: ROM_54C1+70j ROM:555D 000 mov DPTR, #698h ; Move (Op1 <- Op2) ROM:5560 000 movx A, @DPTR ; Move from/to external RAM ROM:5561 000 mov R7, A ; Move (Op1 <- Op2) ROM:5562 000 mov B, #0Ch ; B Register ROM:5565 000 mul AB ; Multiply Acc by B ROM:5566 000 add A, #4Ah ; 'J' ; Add Second Operand to Acc ROM:5568 000 mov DP0L, A ; Data Pointer Low Byte ROM:556A 000 clr A ; Clear Operand (0) ROM:556B 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:556D 000 mov DP0H, A ; Data Pointer High Byte ROM:556F 000 clr A ; Clear Operand (0) ROM:5570 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5571 000 mov R4, A ; Move (Op1 <- Op2) ROM:5572 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5574 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5575 000 mov R5, A ; Move (Op1 <- Op2) ROM:5576 000 mov DP0L, A ; Data Pointer Low Byte ROM:5578 000 mov DP0H, R4 ; Data Pointer High Byte ROM:557A 000 movx A, @DPTR ; Move from/to external RAM ROM:557B 000 jnb ACC.7, ROM_552A ; Accumulator ROM:557B ROM:557E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:557F 000 mov B, #0Ch ; B Register ROM:5582 000 mul AB ; Multiply Acc by B ROM:5583 000 add A, #4Eh ; 'N' ; Add Second Operand to Acc ROM:5585 000 mov DP0L, A ; Data Pointer Low Byte ROM:5587 000 clr A ; Clear Operand (0) ROM:5588 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:558A 000 mov DP0H, A ; Data Pointer High Byte ROM:558C 000 clr A ; Clear Operand (0) ROM:558D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:558E 000 mov R6, A ; Move (Op1 <- Op2) ROM:558F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5591 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5592 000 mov DP0L, A ; Data Pointer Low Byte ROM:5594 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5596 000 movx A, @DPTR ; Move from/to external RAM ROM:5597 000 mov R7, A ; Move (Op1 <- Op2) ROM:5598 000 mov DPTR, #69Ch ; Move (Op1 <- Op2) ROM:559B 000 movx A, @DPTR ; Move from/to external RAM ROM:559C 000 mov R2, A ; Move (Op1 <- Op2) ROM:559D 000 inc DPTR ; Increment Operand ROM:559E 000 movx A, @DPTR ; Move from/to external RAM ROM:559F 000 mov DP0L, A ; Data Pointer Low Byte ROM:55A1 000 mov DP0H, R2 ; Data Pointer High Byte ROM:55A3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:55A4 000 movx @DPTR, A ; Move from/to external RAM ROM:55A5 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:55A7 000 jnz ROM_55C7 ; Jump if Acc is not zero ROM:55A7 ROM:55A9 000 mov DPTR, #698h ; Move (Op1 <- Op2) ROM:55AC 000 movx A, @DPTR ; Move from/to external RAM ROM:55AD 000 mov B, #0Ch ; B Register ROM:55B0 000 mul AB ; Multiply Acc by B ROM:55B1 000 add A, #4Ch ; 'L' ; Add Second Operand to Acc ROM:55B3 000 mov DP0L, A ; Data Pointer Low Byte ROM:55B5 000 clr A ; Clear Operand (0) ROM:55B6 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:55B8 000 mov DP0H, A ; Data Pointer High Byte ROM:55BA 000 clr A ; Clear Operand (0) ROM:55BB 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:55BC 000 mov R6, A ; Move (Op1 <- Op2) ROM:55BD 000 mov A, #1 ; Move (Op1 <- Op2) ROM:55BF 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:55C0 000 mov DP0L, A ; Data Pointer Low Byte ROM:55C2 000 mov DP0H, R6 ; Data Pointer High Byte ROM:55C4 000 movx A, @DPTR ; Move from/to external RAM ROM:55C5 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:55C5 ROM:55C7 ROM:55C7 ROM_55C7: ; CODE XREF: ROM_54C1+E6j ROM:55C7 000 dec RAM_31 ; Decrement Operand ROM:55C9 000 mov DPTR, #69Dh ; Move (Op1 <- Op2) ROM:55CC 000 movx A, @DPTR ; Move from/to external RAM ROM:55CD 000 inc A ; Increment Operand ROM:55CE 000 movx @DPTR, A ; Move from/to external RAM ROM:55CF 000 jnz ROM_55D7 ; Jump if Acc is not zero ROM:55CF ROM:55D1 000 mov DPTR, #69Ch ; Move (Op1 <- Op2) ROM:55D4 000 movx A, @DPTR ; Move from/to external RAM ROM:55D5 000 inc A ; Increment Operand ROM:55D6 000 movx @DPTR, A ; Move from/to external RAM ROM:55D6 ROM:55D7 ROM:55D7 ROM_55D7: ; CODE XREF: ROM_54C1+10Ej ROM:55D7 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:55D9 000 mov DP0H, R4 ; Data Pointer High Byte ROM:55DB 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:55DD 000 movx @DPTR, A ; Move from/to external RAM ROM:55DE 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:55E0 000 cjne A, #1, ROM_5602 ; Compare Operands and JNE ROM:55E0 ROM:55E3 000 mov DPTR, #698h ; Move (Op1 <- Op2) ROM:55E6 000 movx A, @DPTR ; Move from/to external RAM ROM:55E7 000 mov B, #0Ch ; B Register ROM:55EA 000 mul AB ; Multiply Acc by B ROM:55EB 000 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:55ED 000 mov DP0L, A ; Data Pointer Low Byte ROM:55EF 000 clr A ; Clear Operand (0) ROM:55F0 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:55F2 000 mov DP0H, A ; Data Pointer High Byte ROM:55F4 000 clr A ; Clear Operand (0) ROM:55F5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:55F6 000 mov R6, A ; Move (Op1 <- Op2) ROM:55F7 000 mov A, #1 ; Move (Op1 <- Op2) ROM:55F9 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:55FA 000 mov DP0L, A ; Data Pointer Low Byte ROM:55FC 000 mov DP0H, R6 ; Data Pointer High Byte ROM:55FE 000 movx A, @DPTR ; Move from/to external RAM ROM:55FF 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:5601 000 movx @DPTR, A ; Move from/to external RAM ROM:5601 ROM:5602 ROM:5602 ROM_5602: ; CODE XREF: ROM_54C1+11Fj ROM:5602 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:5604 000 jz ROM_5609 ; Jump if Acc is zero ROM:5604 ROM:5606 000 ljmp ROM_552A ; Long Jump ROM:5606 ROM:5609 ; --------------------------------------------------------------------------- ROM:5609 ROM:5609 ROM_5609: ; CODE XREF: ROM_54C1+143j ROM:5609 000 mov DPTR, #698h ; Move (Op1 <- Op2) ROM:560C 000 movx A, @DPTR ; Move from/to external RAM ROM:560D 000 mov B, #0Ch ; B Register ROM:5610 000 mul AB ; Multiply Acc by B ROM:5611 000 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:5613 000 mov DP0L, A ; Data Pointer Low Byte ROM:5615 000 clr A ; Clear Operand (0) ROM:5616 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5618 000 mov DP0H, A ; Data Pointer High Byte ROM:561A 000 clr A ; Clear Operand (0) ROM:561B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:561C 000 mov R6, A ; Move (Op1 <- Op2) ROM:561D 000 mov A, #1 ; Move (Op1 <- Op2) ROM:561F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5620 000 mov DP0L, A ; Data Pointer Low Byte ROM:5622 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5624 000 movx A, @DPTR ; Move from/to external RAM ROM:5625 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:5627 000 movx @DPTR, A ; Move from/to external RAM ROM:5628 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:562A 000 ret ; Return from subroutine ROM:562A ROM:562A ; End of function ROM_54C1 ROM:562A ROM:562B ROM:562B ; =============== S U B R O U T I N E ======================================= ROM:562B ROM:562B ROM:562B ROM_562B: ; CODE XREF: ROM_850D+74p ROM:562B 000 mov DPTR, #69Eh ; Move (Op1 <- Op2) ROM:562E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:562F 000 movx @DPTR, A ; Move from/to external RAM ROM:5630 000 mov RAM_30, #1 ; Move (Op1 <- Op2) ROM:5633 000 clr A ; Clear Operand (0) ROM:5634 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:5636 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:5638 000 mov DPTR, #6A4h ; Move (Op1 <- Op2) ROM:563B 000 movx A, @DPTR ; Move from/to external RAM ROM:563C 000 mov RAM_33, A ; Move (Op1 <- Op2) ROM:563E 000 mov A, R3 ; Move (Op1 <- Op2) ROM:563F 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:5641 000 mov R7, A ; Move (Op1 <- Op2) ROM:5642 000 mov DPTR, #69Eh ; Move (Op1 <- Op2) ROM:5645 000 movx A, @DPTR ; Move from/to external RAM ROM:5646 000 mov R6, A ; Move (Op1 <- Op2) ROM:5647 000 mov B, #0Ch ; B Register ROM:564A 000 mul AB ; Multiply Acc by B ROM:564B 000 add A, #46h ; 'F' ; Add Second Operand to Acc ROM:564D 000 mov DP0L, A ; Data Pointer Low Byte ROM:564F 000 clr A ; Clear Operand (0) ROM:5650 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5652 000 mov DP0H, A ; Data Pointer High Byte ROM:5654 000 clr A ; Clear Operand (0) ROM:5655 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5656 000 mov R2, A ; Move (Op1 <- Op2) ROM:5657 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5659 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:565A 000 mov DP0L, A ; Data Pointer Low Byte ROM:565C 000 mov DP0H, R2 ; Data Pointer High Byte ROM:565E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:565F 000 movx @DPTR, A ; Move from/to external RAM ROM:5660 000 mov DPTR, #6A1h ; Move (Op1 <- Op2) ROM:5663 000 movx A, @DPTR ; Move from/to external RAM ROM:5664 000 mov R7, A ; Move (Op1 <- Op2) ROM:5665 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5666 000 mov B, #0Ch ; B Register ROM:5669 000 mul AB ; Multiply Acc by B ROM:566A 000 add A, #48h ; 'H' ; Add Second Operand to Acc ROM:566C 000 mov DP0L, A ; Data Pointer Low Byte ROM:566E 000 clr A ; Clear Operand (0) ROM:566F 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5671 000 mov DP0H, A ; Data Pointer High Byte ROM:5673 000 clr A ; Clear Operand (0) ROM:5674 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5675 000 mov R2, A ; Move (Op1 <- Op2) ROM:5676 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5678 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5679 000 mov DP0L, A ; Data Pointer Low Byte ROM:567B 000 mov DP0H, R2 ; Data Pointer High Byte ROM:567D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:567E 000 movx @DPTR, A ; Move from/to external RAM ROM:567F 000 mov A, R5 ; Move (Op1 <- Op2) ROM:5680 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:5682 000 mov R7, A ; Move (Op1 <- Op2) ROM:5683 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5684 000 mov B, #0Ch ; B Register ROM:5687 000 mul AB ; Multiply Acc by B ROM:5688 000 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:568A 000 mov DP0L, A ; Data Pointer Low Byte ROM:568C 000 clr A ; Clear Operand (0) ROM:568D 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:568F 000 mov DP0H, A ; Data Pointer High Byte ROM:5691 000 clr A ; Clear Operand (0) ROM:5692 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5693 000 mov R4, A ; Move (Op1 <- Op2) ROM:5694 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5696 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5697 000 mov DP0L, A ; Data Pointer Low Byte ROM:5699 000 mov DP0H, R4 ; Data Pointer High Byte ROM:569B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:569C 000 movx @DPTR, A ; Move from/to external RAM ROM:569C ROM:569D ROM:569D ROM_569D: ; CODE XREF: ROM_562B+C3j ROM:569D ; ROM_562B+154j ROM:569D 000 inc RAM_32 ; Increment Operand ROM:569F 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:56A1 000 clr C ; Clear Operand (0) ROM:56A2 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:56A4 000 jc ROM_56D0 ; Jump if Carry is set ROM:56A4 ROM:56A6 000 mov DPTR, #69Eh ; Move (Op1 <- Op2) ROM:56A9 000 movx A, @DPTR ; Move from/to external RAM ROM:56AA 000 mov R7, A ; Move (Op1 <- Op2) ROM:56AB 000 mov B, #0Ch ; B Register ROM:56AE 000 mul AB ; Multiply Acc by B ROM:56AF 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:56B1 000 mov DP0L, A ; Data Pointer Low Byte ROM:56B3 000 clr A ; Clear Operand (0) ROM:56B4 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:56B6 000 mov DP0H, A ; Data Pointer High Byte ROM:56B8 000 clr A ; Clear Operand (0) ROM:56B9 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:56BA 000 mov R4, A ; Move (Op1 <- Op2) ROM:56BB 000 mov A, #1 ; Move (Op1 <- Op2) ROM:56BD 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:56BE 000 mov DP0L, A ; Data Pointer Low Byte ROM:56C0 000 mov DP0H, R4 ; Data Pointer High Byte ROM:56C2 000 movx A, @DPTR ; Move from/to external RAM ROM:56C3 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:56C5 000 jz ROM_56CA ; Jump if Acc is zero ROM:56C5 ROM:56C7 000 lcall ROM_5B55 ; Long Subroutine Call ROM:56C7 ROM:56CA ROM:56CA ROM_56CA: ; CODE XREF: ROM_562B+9Aj ROM:56CA 000 clr A ; Clear Operand (0) ROM:56CB 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:56CD 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:56CF 000 ret ; Return from subroutine ROM:56CF ROM:56D0 ; --------------------------------------------------------------------------- ROM:56D0 ROM:56D0 ROM_56D0: ; CODE XREF: ROM_562B+79j ROM:56D0 000 mov DPTR, #69Eh ; Move (Op1 <- Op2) ROM:56D3 000 movx A, @DPTR ; Move from/to external RAM ROM:56D4 000 mov R7, A ; Move (Op1 <- Op2) ROM:56D5 000 mov B, #0Ch ; B Register ROM:56D8 000 mul AB ; Multiply Acc by B ROM:56D9 000 add A, #4Ah ; 'J' ; Add Second Operand to Acc ROM:56DB 000 mov DP0L, A ; Data Pointer Low Byte ROM:56DD 000 clr A ; Clear Operand (0) ROM:56DE 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:56E0 000 mov DP0H, A ; Data Pointer High Byte ROM:56E2 000 clr A ; Clear Operand (0) ROM:56E3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:56E4 000 mov R4, A ; Move (Op1 <- Op2) ROM:56E5 000 mov A, #1 ; Move (Op1 <- Op2) ROM:56E7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:56E8 000 mov R5, A ; Move (Op1 <- Op2) ROM:56E9 000 mov DP0L, A ; Data Pointer Low Byte ROM:56EB 000 mov DP0H, R4 ; Data Pointer High Byte ROM:56ED 000 movx A, @DPTR ; Move from/to external RAM ROM:56EE 000 jnb ACC.7, ROM_569D ; Accumulator ROM:56EE ROM:56F1 000 mov A, RAM_33 ; Move (Op1 <- Op2) ROM:56F3 000 jz ROM_572C ; Jump if Acc is zero ROM:56F3 ROM:56F5 000 dec RAM_33 ; Decrement Operand ROM:56F7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:56F8 000 mov B, #0Ch ; B Register ROM:56FB 000 mul AB ; Multiply Acc by B ROM:56FC 000 add A, #4Eh ; 'N' ; Add Second Operand to Acc ROM:56FE 000 mov DP0L, A ; Data Pointer Low Byte ROM:5700 000 clr A ; Clear Operand (0) ROM:5701 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5703 000 mov DP0H, A ; Data Pointer High Byte ROM:5705 000 clr A ; Clear Operand (0) ROM:5706 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5707 000 mov R6, A ; Move (Op1 <- Op2) ROM:5708 000 mov A, #1 ; Move (Op1 <- Op2) ROM:570A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:570B 000 mov DP0L, A ; Data Pointer Low Byte ROM:570D 000 mov DP0H, R6 ; Data Pointer High Byte ROM:570F 000 movx A, @DPTR ; Move from/to external RAM ROM:5710 000 mov R7, A ; Move (Op1 <- Op2) ROM:5711 000 mov DPTR, #6A2h ; Move (Op1 <- Op2) ROM:5714 000 movx A, @DPTR ; Move from/to external RAM ROM:5715 000 mov R2, A ; Move (Op1 <- Op2) ROM:5716 000 inc DPTR ; Increment Operand ROM:5717 000 movx A, @DPTR ; Move from/to external RAM ROM:5718 000 mov DP0L, A ; Data Pointer Low Byte ROM:571A 000 mov DP0H, R2 ; Data Pointer High Byte ROM:571C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:571D 000 movx @DPTR, A ; Move from/to external RAM ROM:571E 000 mov DPTR, #6A3h ; Move (Op1 <- Op2) ROM:5721 000 movx A, @DPTR ; Move from/to external RAM ROM:5722 000 inc A ; Increment Operand ROM:5723 000 movx @DPTR, A ; Move from/to external RAM ROM:5724 000 jnz ROM_572C ; Jump if Acc is not zero ROM:5724 ROM:5726 000 mov DPTR, #6A2h ; Move (Op1 <- Op2) ROM:5729 000 movx A, @DPTR ; Move from/to external RAM ROM:572A 000 inc A ; Increment Operand ROM:572B 000 movx @DPTR, A ; Move from/to external RAM ROM:572B ROM:572C ROM:572C ROM_572C: ; CODE XREF: ROM_562B+C8j ROM:572C ; ROM_562B+F9j ROM:572C 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:572E 000 jnz ROM_574E ; Jump if Acc is not zero ROM:572E ROM:5730 000 mov DPTR, #69Eh ; Move (Op1 <- Op2) ROM:5733 000 movx A, @DPTR ; Move from/to external RAM ROM:5734 000 mov B, #0Ch ; B Register ROM:5737 000 mul AB ; Multiply Acc by B ROM:5738 000 add A, #4Ch ; 'L' ; Add Second Operand to Acc ROM:573A 000 mov DP0L, A ; Data Pointer Low Byte ROM:573C 000 clr A ; Clear Operand (0) ROM:573D 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:573F 000 mov DP0H, A ; Data Pointer High Byte ROM:5741 000 clr A ; Clear Operand (0) ROM:5742 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5743 000 mov R6, A ; Move (Op1 <- Op2) ROM:5744 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5746 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5747 000 mov DP0L, A ; Data Pointer Low Byte ROM:5749 000 mov DP0H, R6 ; Data Pointer High Byte ROM:574B 000 movx A, @DPTR ; Move from/to external RAM ROM:574C 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:574C ROM:574E ROM:574E ROM_574E: ; CODE XREF: ROM_562B+103j ROM:574E 000 dec RAM_31 ; Decrement Operand ROM:5750 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:5752 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5754 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5756 000 movx @DPTR, A ; Move from/to external RAM ROM:5757 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:5759 000 cjne A, #1, ROM_577B ; Compare Operands and JNE ROM:5759 ROM:575C 000 mov DPTR, #69Eh ; Move (Op1 <- Op2) ROM:575F 000 movx A, @DPTR ; Move from/to external RAM ROM:5760 000 mov B, #0Ch ; B Register ROM:5763 000 mul AB ; Multiply Acc by B ROM:5764 000 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:5766 000 mov DP0L, A ; Data Pointer Low Byte ROM:5768 000 clr A ; Clear Operand (0) ROM:5769 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:576B 000 mov DP0H, A ; Data Pointer High Byte ROM:576D 000 clr A ; Clear Operand (0) ROM:576E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:576F 000 mov R6, A ; Move (Op1 <- Op2) ROM:5770 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5772 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5773 000 mov DP0L, A ; Data Pointer Low Byte ROM:5775 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5777 000 movx A, @DPTR ; Move from/to external RAM ROM:5778 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:577A 000 movx @DPTR, A ; Move from/to external RAM ROM:577A ROM:577B ROM:577B ROM_577B: ; CODE XREF: ROM_562B+12Ej ROM:577B 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:577D 000 jz ROM_5782 ; Jump if Acc is zero ROM:577D ROM:577F 000 ljmp ROM_569D ; Long Jump ROM:577F ROM:5782 ; --------------------------------------------------------------------------- ROM:5782 ROM:5782 ROM_5782: ; CODE XREF: ROM_562B+152j ROM:5782 000 mov DPTR, #69Eh ; Move (Op1 <- Op2) ROM:5785 000 movx A, @DPTR ; Move from/to external RAM ROM:5786 000 mov B, #0Ch ; B Register ROM:5789 000 mul AB ; Multiply Acc by B ROM:578A 000 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:578C 000 mov DP0L, A ; Data Pointer Low Byte ROM:578E 000 clr A ; Clear Operand (0) ROM:578F 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5791 000 mov DP0H, A ; Data Pointer High Byte ROM:5793 000 clr A ; Clear Operand (0) ROM:5794 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5795 000 mov R6, A ; Move (Op1 <- Op2) ROM:5796 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5798 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5799 000 mov DP0L, A ; Data Pointer Low Byte ROM:579B 000 mov DP0H, R6 ; Data Pointer High Byte ROM:579D 000 movx A, @DPTR ; Move from/to external RAM ROM:579E 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:57A0 000 movx @DPTR, A ; Move from/to external RAM ROM:57A1 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:57A3 000 ret ; Return from subroutine ROM:57A3 ROM:57A3 ; End of function ROM_562B ROM:57A3 ROM:57A4 ROM:57A4 ; =============== S U B R O U T I N E ======================================= ROM:57A4 ROM:57A4 ROM:57A4 ROM_57A4: ; CODE XREF: ROM_7A4D+18p ROM:57A4 ; ROM_B26C+18j ROM:57A4 000 mov DPTR, #6A5h ; Move (Op1 <- Op2) ROM:57A7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:57A8 000 movx @DPTR, A ; Move from/to external RAM ROM:57A9 000 mov RAM_30, #1 ; Move (Op1 <- Op2) ROM:57AC 000 clr A ; Clear Operand (0) ROM:57AD 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:57AF 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:57B1 000 mov A, R5 ; Move (Op1 <- Op2) ROM:57B2 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:57B4 000 mov R5, A ; Move (Op1 <- Op2) ROM:57B5 000 movx A, @DPTR ; Move from/to external RAM ROM:57B6 000 mov R6, A ; Move (Op1 <- Op2) ROM:57B7 000 mov B, #0Ch ; B Register ROM:57BA 000 mul AB ; Multiply Acc by B ROM:57BB 000 add A, #46h ; 'F' ; Add Second Operand to Acc ROM:57BD 000 mov DP0L, A ; Data Pointer Low Byte ROM:57BF 000 clr A ; Clear Operand (0) ROM:57C0 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:57C2 000 mov DP0H, A ; Data Pointer High Byte ROM:57C4 000 clr A ; Clear Operand (0) ROM:57C5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:57C6 000 mov R2, A ; Move (Op1 <- Op2) ROM:57C7 000 mov A, #1 ; Move (Op1 <- Op2) ROM:57C9 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:57CA 000 mov DP0L, A ; Data Pointer Low Byte ROM:57CC 000 mov DP0H, R2 ; Data Pointer High Byte ROM:57CE 000 mov A, R3 ; Move (Op1 <- Op2) ROM:57CF 000 movx @DPTR, A ; Move from/to external RAM ROM:57D0 000 mov DPTR, #6A8h ; Move (Op1 <- Op2) ROM:57D3 000 movx A, @DPTR ; Move from/to external RAM ROM:57D4 000 mov R7, A ; Move (Op1 <- Op2) ROM:57D5 000 mov A, R6 ; Move (Op1 <- Op2) ROM:57D6 000 mov B, #0Ch ; B Register ROM:57D9 000 mul AB ; Multiply Acc by B ROM:57DA 000 add A, #48h ; 'H' ; Add Second Operand to Acc ROM:57DC 000 mov DP0L, A ; Data Pointer Low Byte ROM:57DE 000 clr A ; Clear Operand (0) ROM:57DF 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:57E1 000 mov DP0H, A ; Data Pointer High Byte ROM:57E3 000 clr A ; Clear Operand (0) ROM:57E4 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:57E5 000 mov R2, A ; Move (Op1 <- Op2) ROM:57E6 000 mov A, #1 ; Move (Op1 <- Op2) ROM:57E8 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:57E9 000 mov DP0L, A ; Data Pointer Low Byte ROM:57EB 000 mov DP0H, R2 ; Data Pointer High Byte ROM:57ED 000 mov A, R7 ; Move (Op1 <- Op2) ROM:57EE 000 movx @DPTR, A ; Move from/to external RAM ROM:57EF 000 mov DPTR, #6ABh ; Move (Op1 <- Op2) ROM:57F2 000 movx A, @DPTR ; Move from/to external RAM ROM:57F3 000 mov R7, A ; Move (Op1 <- Op2) ROM:57F4 000 mov A, R6 ; Move (Op1 <- Op2) ROM:57F5 000 mov B, #0Ch ; B Register ROM:57F8 000 mul AB ; Multiply Acc by B ROM:57F9 000 add A, #4Ch ; 'L' ; Add Second Operand to Acc ROM:57FB 000 mov DP0L, A ; Data Pointer Low Byte ROM:57FD 000 clr A ; Clear Operand (0) ROM:57FE 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5800 000 mov DP0H, A ; Data Pointer High Byte ROM:5802 000 clr A ; Clear Operand (0) ROM:5803 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5804 000 mov R2, A ; Move (Op1 <- Op2) ROM:5805 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5807 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5808 000 mov DP0L, A ; Data Pointer Low Byte ROM:580A 000 mov DP0H, R2 ; Data Pointer High Byte ROM:580C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:580D 000 movx @DPTR, A ; Move from/to external RAM ROM:580E 000 mov DPTR, #6A9h ; Move (Op1 <- Op2) ROM:5811 000 movx A, @DPTR ; Move from/to external RAM ROM:5812 000 mov R6, A ; Move (Op1 <- Op2) ROM:5813 000 inc DPTR ; Increment Operand ROM:5814 000 movx A, @DPTR ; Move from/to external RAM ROM:5815 000 mov DP0L, A ; Data Pointer Low Byte ROM:5817 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5819 000 movx A, @DPTR ; Move from/to external RAM ROM:581A 000 mov R7, A ; Move (Op1 <- Op2) ROM:581B 000 mov DPTR, #6A5h ; Move (Op1 <- Op2) ROM:581E 000 movx A, @DPTR ; Move from/to external RAM ROM:581F 000 mov R6, A ; Move (Op1 <- Op2) ROM:5820 000 mov B, #0Ch ; B Register ROM:5823 000 mul AB ; Multiply Acc by B ROM:5824 000 add A, #4Eh ; 'N' ; Add Second Operand to Acc ROM:5826 000 mov DP0L, A ; Data Pointer Low Byte ROM:5828 000 clr A ; Clear Operand (0) ROM:5829 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:582B 000 mov DP0H, A ; Data Pointer High Byte ROM:582D 000 clr A ; Clear Operand (0) ROM:582E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:582F 000 mov R2, A ; Move (Op1 <- Op2) ROM:5830 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5832 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5833 000 mov DP0L, A ; Data Pointer Low Byte ROM:5835 000 mov DP0H, R2 ; Data Pointer High Byte ROM:5837 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5838 000 movx @DPTR, A ; Move from/to external RAM ROM:5839 000 mov R7, RAM_5 ; Move (Op1 <- Op2) ROM:583B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:583C 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:583E 000 mov R7, A ; Move (Op1 <- Op2) ROM:583F 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5840 000 mov B, #0Ch ; B Register ROM:5843 000 mul AB ; Multiply Acc by B ROM:5844 000 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:5846 000 mov DP0L, A ; Data Pointer Low Byte ROM:5848 000 clr A ; Clear Operand (0) ROM:5849 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:584B 000 mov DP0H, A ; Data Pointer High Byte ROM:584D 000 clr A ; Clear Operand (0) ROM:584E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:584F 000 mov R4, A ; Move (Op1 <- Op2) ROM:5850 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5852 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5853 000 mov DP0L, A ; Data Pointer Low Byte ROM:5855 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5857 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5858 000 movx @DPTR, A ; Move from/to external RAM ROM:5858 ROM:5859 ROM:5859 ROM_5859: ; CODE XREF: ROM_57A4+106j ROM:5859 ; ROM_57A4+158j ROM:5859 000 inc RAM_32 ; Increment Operand ROM:585B 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:585D 000 clr C ; Clear Operand (0) ROM:585E 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:5860 000 jc ROM_588C ; Jump if Carry is set ROM:5860 ROM:5862 000 mov DPTR, #6A5h ; Move (Op1 <- Op2) ROM:5865 000 movx A, @DPTR ; Move from/to external RAM ROM:5866 000 mov R7, A ; Move (Op1 <- Op2) ROM:5867 000 mov B, #0Ch ; B Register ROM:586A 000 mul AB ; Multiply Acc by B ROM:586B 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:586D 000 mov DP0L, A ; Data Pointer Low Byte ROM:586F 000 clr A ; Clear Operand (0) ROM:5870 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5872 000 mov DP0H, A ; Data Pointer High Byte ROM:5874 000 clr A ; Clear Operand (0) ROM:5875 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5876 000 mov R4, A ; Move (Op1 <- Op2) ROM:5877 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5879 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:587A 000 mov DP0L, A ; Data Pointer Low Byte ROM:587C 000 mov DP0H, R4 ; Data Pointer High Byte ROM:587E 000 movx A, @DPTR ; Move from/to external RAM ROM:587F 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:5881 000 jz ROM_5886 ; Jump if Acc is zero ROM:5881 ROM:5883 000 lcall ROM_5B55 ; Long Subroutine Call ROM:5883 ROM:5886 ROM:5886 ROM_5886: ; CODE XREF: ROM_57A4+DDj ROM:5886 000 clr A ; Clear Operand (0) ROM:5887 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:5889 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:588B 000 ret ; Return from subroutine ROM:588B ROM:588C ; --------------------------------------------------------------------------- ROM:588C ROM:588C ROM_588C: ; CODE XREF: ROM_57A4+BCj ROM:588C 000 mov DPTR, #6A5h ; Move (Op1 <- Op2) ROM:588F 000 movx A, @DPTR ; Move from/to external RAM ROM:5890 000 mov R1, A ; Move (Op1 <- Op2) ROM:5891 000 mov B, #0Ch ; B Register ROM:5894 000 mul AB ; Multiply Acc by B ROM:5895 000 add A, #4Ah ; 'J' ; Add Second Operand to Acc ROM:5897 000 mov DP0L, A ; Data Pointer Low Byte ROM:5899 000 clr A ; Clear Operand (0) ROM:589A 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:589C 000 mov DP0H, A ; Data Pointer High Byte ROM:589E 000 clr A ; Clear Operand (0) ROM:589F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:58A0 000 mov R6, A ; Move (Op1 <- Op2) ROM:58A1 000 mov A, #1 ; Move (Op1 <- Op2) ROM:58A3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:58A4 000 mov R7, A ; Move (Op1 <- Op2) ROM:58A5 000 mov DP0L, A ; Data Pointer Low Byte ROM:58A7 000 mov DP0H, R6 ; Data Pointer High Byte ROM:58A9 000 movx A, @DPTR ; Move from/to external RAM ROM:58AA 000 jnb ACC.7, ROM_5859 ; Accumulator ROM:58AA ROM:58AD 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:58AF 000 jnz ROM_58B7 ; Jump if Acc is not zero ROM:58AF ROM:58B1 000 mov DPTR, #6ABh ; Move (Op1 <- Op2) ROM:58B4 000 movx A, @DPTR ; Move from/to external RAM ROM:58B5 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:58B5 ROM:58B7 ROM:58B7 ROM_58B7: ; CODE XREF: ROM_57A4+10Bj ROM:58B7 000 dec RAM_31 ; Decrement Operand ROM:58B9 000 mov DPTR, #6AAh ; Move (Op1 <- Op2) ROM:58BC 000 movx A, @DPTR ; Move from/to external RAM ROM:58BD 000 inc A ; Increment Operand ROM:58BE 000 movx @DPTR, A ; Move from/to external RAM ROM:58BF 000 jnz ROM_58C7 ; Jump if Acc is not zero ROM:58BF ROM:58C1 000 mov DPTR, #6A9h ; Move (Op1 <- Op2) ROM:58C4 000 movx A, @DPTR ; Move from/to external RAM ROM:58C5 000 inc A ; Increment Operand ROM:58C6 000 movx @DPTR, A ; Move from/to external RAM ROM:58C6 ROM:58C7 ROM:58C7 ROM_58C7: ; CODE XREF: ROM_57A4+11Bj ROM:58C7 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:58C9 000 jz ROM_58FF ; Jump if Acc is zero ROM:58C9 ROM:58CB 000 mov DPTR, #6A9h ; Move (Op1 <- Op2) ROM:58CE 000 movx A, @DPTR ; Move from/to external RAM ROM:58CF 000 mov R4, A ; Move (Op1 <- Op2) ROM:58D0 000 inc DPTR ; Increment Operand ROM:58D1 000 movx A, @DPTR ; Move from/to external RAM ROM:58D2 000 mov DP0L, A ; Data Pointer Low Byte ROM:58D4 000 mov DP0H, R4 ; Data Pointer High Byte ROM:58D6 000 movx A, @DPTR ; Move from/to external RAM ROM:58D7 000 mov R5, A ; Move (Op1 <- Op2) ROM:58D8 000 mov DPTR, #6A5h ; Move (Op1 <- Op2) ROM:58DB 000 movx A, @DPTR ; Move from/to external RAM ROM:58DC 000 mov B, #0Ch ; B Register ROM:58DF 000 mul AB ; Multiply Acc by B ROM:58E0 000 add A, #4Eh ; 'N' ; Add Second Operand to Acc ROM:58E2 000 mov DP0L, A ; Data Pointer Low Byte ROM:58E4 000 clr A ; Clear Operand (0) ROM:58E5 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:58E7 000 mov DP0H, A ; Data Pointer High Byte ROM:58E9 000 clr A ; Clear Operand (0) ROM:58EA 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:58EB 000 mov R2, A ; Move (Op1 <- Op2) ROM:58EC 000 mov A, #1 ; Move (Op1 <- Op2) ROM:58EE 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:58EF 000 mov DP0L, A ; Data Pointer Low Byte ROM:58F1 000 mov DP0H, R2 ; Data Pointer High Byte ROM:58F3 000 mov A, R5 ; Move (Op1 <- Op2) ROM:58F4 000 movx @DPTR, A ; Move from/to external RAM ROM:58F5 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:58F7 000 mov DP0H, R6 ; Data Pointer High Byte ROM:58F9 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:58FB 000 movx @DPTR, A ; Move from/to external RAM ROM:58FC 000 ljmp ROM_5859 ; Long Jump ROM:58FC ROM:58FF ; --------------------------------------------------------------------------- ROM:58FF ROM:58FF ROM_58FF: ; CODE XREF: ROM_57A4+125j ROM:58FF 000 mov A, R1 ; Move (Op1 <- Op2) ROM:5900 000 mov B, #0Ch ; B Register ROM:5903 000 mul AB ; Multiply Acc by B ROM:5904 000 add A, #4Ah ; 'J' ; Add Second Operand to Acc ROM:5906 000 mov DP0L, A ; Data Pointer Low Byte ROM:5908 000 clr A ; Clear Operand (0) ROM:5909 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:590B 000 mov DP0H, A ; Data Pointer High Byte ROM:590D 000 clr A ; Clear Operand (0) ROM:590E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:590F 000 mov R6, A ; Move (Op1 <- Op2) ROM:5910 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5912 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5913 000 mov DP0L, A ; Data Pointer Low Byte ROM:5915 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5917 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5919 000 movx @DPTR, A ; Move from/to external RAM ROM:591A 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:591C 000 ret ; Return from subroutine ROM:591C ROM:591C ; End of function ROM_57A4 ROM:591C ROM:591D ROM:591D ; =============== S U B R O U T I N E ======================================= ROM:591D ROM:591D ROM:591D ROM_591D: ROM:591D 000 mov DPTR, #6ACh ; Move (Op1 <- Op2) ROM:5920 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5921 000 movx @DPTR, A ; Move from/to external RAM ROM:5922 000 clr A ; Clear Operand (0) ROM:5923 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:5925 000 movx A, @DPTR ; Move from/to external RAM ROM:5926 000 mov R6, A ; Move (Op1 <- Op2) ROM:5927 000 mov B, #0Ch ; B Register ROM:592A 000 mul AB ; Multiply Acc by B ROM:592B 000 add A, #22h ; '"' ; Add Second Operand to Acc ROM:592D 000 mov DP0L, A ; Data Pointer Low Byte ROM:592F 000 clr A ; Clear Operand (0) ROM:5930 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5932 000 mov DP0H, A ; Data Pointer High Byte ROM:5934 000 clr A ; Clear Operand (0) ROM:5935 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5936 000 mov R4, A ; Move (Op1 <- Op2) ROM:5937 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5939 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:593A 000 mov DP0L, A ; Data Pointer Low Byte ROM:593C 000 mov DP0H, R4 ; Data Pointer High Byte ROM:593E 000 mov A, R5 ; Move (Op1 <- Op2) ROM:593F 000 movx @DPTR, A ; Move from/to external RAM ROM:5940 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5941 000 mov B, #0Ch ; B Register ROM:5944 000 mul AB ; Multiply Acc by B ROM:5945 000 add A, #24h ; '$' ; Add Second Operand to Acc ROM:5947 000 mov DP0L, A ; Data Pointer Low Byte ROM:5949 000 clr A ; Clear Operand (0) ROM:594A 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:594C 000 mov DP0H, A ; Data Pointer High Byte ROM:594E 000 clr A ; Clear Operand (0) ROM:594F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5950 000 mov R4, A ; Move (Op1 <- Op2) ROM:5951 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5953 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5954 000 mov DP0L, A ; Data Pointer Low Byte ROM:5956 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5958 000 mov A, R3 ; Move (Op1 <- Op2) ROM:5959 000 movx @DPTR, A ; Move from/to external RAM ROM:595A 000 mov A, R6 ; Move (Op1 <- Op2) ROM:595B 000 mov B, #0Ch ; B Register ROM:595E 000 mul AB ; Multiply Acc by B ROM:595F 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5961 000 mov DP0L, A ; Data Pointer Low Byte ROM:5963 000 clr A ; Clear Operand (0) ROM:5964 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5966 000 mov DP0H, A ; Data Pointer High Byte ROM:5968 000 clr A ; Clear Operand (0) ROM:5969 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:596A 000 mov R6, A ; Move (Op1 <- Op2) ROM:596B 000 mov A, #1 ; Move (Op1 <- Op2) ROM:596D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:596E 000 mov DP0L, A ; Data Pointer Low Byte ROM:5970 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5972 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5974 000 movx @DPTR, A ; Move from/to external RAM ROM:5975 000 mov DPTR, #6ACh ; Move (Op1 <- Op2) ROM:5978 000 movx A, @DPTR ; Move from/to external RAM ROM:5979 000 mov B, #0Ch ; B Register ROM:597C 000 mul AB ; Multiply Acc by B ROM:597D 000 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:597F 000 mov DP0L, A ; Data Pointer Low Byte ROM:5981 000 clr A ; Clear Operand (0) ROM:5982 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5984 000 mov DP0H, A ; Data Pointer High Byte ROM:5986 000 clr A ; Clear Operand (0) ROM:5987 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5988 000 mov R6, A ; Move (Op1 <- Op2) ROM:5989 000 mov A, #1 ; Move (Op1 <- Op2) ROM:598B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:598C 000 mov DP0L, A ; Data Pointer Low Byte ROM:598E 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5990 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:5992 000 movx @DPTR, A ; Move from/to external RAM ROM:5992 ROM:5993 ROM:5993 ROM_5993: ; CODE XREF: ROM_591D+C2j ROM:5993 000 inc RAM_31 ; Increment Operand ROM:5995 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:5997 000 clr C ; Clear Operand (0) ROM:5998 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:599A 000 jc ROM_59C3 ; Jump if Carry is set ROM:599A ROM:599C 000 mov DPTR, #6ACh ; Move (Op1 <- Op2) ROM:599F 000 movx A, @DPTR ; Move from/to external RAM ROM:59A0 000 mov R7, A ; Move (Op1 <- Op2) ROM:59A1 000 mov B, #0Ch ; B Register ROM:59A4 000 mul AB ; Multiply Acc by B ROM:59A5 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:59A7 000 mov DP0L, A ; Data Pointer Low Byte ROM:59A9 000 clr A ; Clear Operand (0) ROM:59AA 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:59AC 000 mov DP0H, A ; Data Pointer High Byte ROM:59AE 000 clr A ; Clear Operand (0) ROM:59AF 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:59B0 000 mov R4, A ; Move (Op1 <- Op2) ROM:59B1 000 mov A, #1 ; Move (Op1 <- Op2) ROM:59B3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:59B4 000 mov DP0L, A ; Data Pointer Low Byte ROM:59B6 000 mov DP0H, R4 ; Data Pointer High Byte ROM:59B8 000 movx A, @DPTR ; Move from/to external RAM ROM:59B9 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:59BB 000 jz ROM_59C0 ; Jump if Acc is zero ROM:59BB ROM:59BD 000 lcall ROM_5B55 ; Long Subroutine Call ROM:59BD ROM:59C0 ROM:59C0 ROM_59C0: ; CODE XREF: ROM_591D+9Ej ROM:59C0 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:59C2 000 ret ; Return from subroutine ROM:59C2 ROM:59C3 ; --------------------------------------------------------------------------- ROM:59C3 ROM:59C3 ROM_59C3: ; CODE XREF: ROM_591D+7Dj ROM:59C3 000 mov DPTR, #6ACh ; Move (Op1 <- Op2) ROM:59C6 000 movx A, @DPTR ; Move from/to external RAM ROM:59C7 000 mov B, #0Ch ; B Register ROM:59CA 000 mul AB ; Multiply Acc by B ROM:59CB 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:59CD 000 mov DP0L, A ; Data Pointer Low Byte ROM:59CF 000 clr A ; Clear Operand (0) ROM:59D0 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:59D2 000 mov DP0H, A ; Data Pointer High Byte ROM:59D4 000 clr A ; Clear Operand (0) ROM:59D5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:59D6 000 mov R6, A ; Move (Op1 <- Op2) ROM:59D7 000 mov A, #1 ; Move (Op1 <- Op2) ROM:59D9 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:59DA 000 mov DP0L, A ; Data Pointer Low Byte ROM:59DC 000 mov DP0H, R6 ; Data Pointer High Byte ROM:59DE 000 movx A, @DPTR ; Move from/to external RAM ROM:59DF 000 jnb ACC.1, ROM_5993 ; Accumulator ROM:59DF ROM:59E2 000 movx A, @DPTR ; Move from/to external RAM ROM:59E3 000 mov DPTR, #6ACh ; Move (Op1 <- Op2) ROM:59E6 000 jnb ACC.2, ROM_5A07 ; Accumulator ROM:59E6 ROM:59E9 000 movx A, @DPTR ; Move from/to external RAM ROM:59EA 000 mov B, #0Ch ; B Register ROM:59ED 000 mul AB ; Multiply Acc by B ROM:59EE 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:59F0 000 mov DP0L, A ; Data Pointer Low Byte ROM:59F2 000 clr A ; Clear Operand (0) ROM:59F3 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:59F5 000 mov DP0H, A ; Data Pointer High Byte ROM:59F7 000 clr A ; Clear Operand (0) ROM:59F8 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:59F9 000 mov R6, A ; Move (Op1 <- Op2) ROM:59FA 000 mov A, #1 ; Move (Op1 <- Op2) ROM:59FC 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:59FD 000 mov DP0L, A ; Data Pointer Low Byte ROM:59FF 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5A01 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5A03 000 movx @DPTR, A ; Move from/to external RAM ROM:5A04 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:5A06 000 ret ; Return from subroutine ROM:5A06 ROM:5A07 ; --------------------------------------------------------------------------- ROM:5A07 ROM:5A07 ROM_5A07: ; CODE XREF: ROM_591D+C9j ROM:5A07 000 movx A, @DPTR ; Move from/to external RAM ROM:5A08 000 mov B, #0Ch ; B Register ROM:5A0B 000 mul AB ; Multiply Acc by B ROM:5A0C 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5A0E 000 mov DP0L, A ; Data Pointer Low Byte ROM:5A10 000 clr A ; Clear Operand (0) ROM:5A11 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5A13 000 mov DP0H, A ; Data Pointer High Byte ROM:5A15 000 clr A ; Clear Operand (0) ROM:5A16 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5A17 000 mov R6, A ; Move (Op1 <- Op2) ROM:5A18 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5A1A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5A1B 000 mov DP0L, A ; Data Pointer Low Byte ROM:5A1D 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5A1F 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5A21 000 movx @DPTR, A ; Move from/to external RAM ROM:5A22 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:5A24 000 ret ; Return from subroutine ROM:5A24 ROM:5A24 ; End of function ROM_591D ROM:5A24 ROM:5A25 ROM:5A25 ; =============== S U B R O U T I N E ======================================= ROM:5A25 ROM:5A25 ROM:5A25 ROM_5A25: ROM:5A25 000 mov DPTR, #6ADh ; Move (Op1 <- Op2) ROM:5A28 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5A29 000 movx @DPTR, A ; Move from/to external RAM ROM:5A2A 000 inc DPTR ; Increment Operand ROM:5A2B 000 mov A, R2 ; Move (Op1 <- Op2) ROM:5A2C 000 movx @DPTR, A ; Move from/to external RAM ROM:5A2D 000 inc DPTR ; Increment Operand ROM:5A2E 000 mov A, R3 ; Move (Op1 <- Op2) ROM:5A2F 000 movx @DPTR, A ; Move from/to external RAM ROM:5A30 000 clr A ; Clear Operand (0) ROM:5A31 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:5A33 000 mov A, R5 ; Move (Op1 <- Op2) ROM:5A34 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:5A36 000 mov R7, A ; Move (Op1 <- Op2) ROM:5A37 000 mov DPTR, #6ADh ; Move (Op1 <- Op2) ROM:5A3A 000 movx A, @DPTR ; Move from/to external RAM ROM:5A3B 000 mov R6, A ; Move (Op1 <- Op2) ROM:5A3C 000 mov B, #0Ch ; B Register ROM:5A3F 000 mul AB ; Multiply Acc by B ROM:5A40 000 add A, #22h ; '"' ; Add Second Operand to Acc ROM:5A42 000 mov DP0L, A ; Data Pointer Low Byte ROM:5A44 000 clr A ; Clear Operand (0) ROM:5A45 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5A47 000 mov DP0H, A ; Data Pointer High Byte ROM:5A49 000 clr A ; Clear Operand (0) ROM:5A4A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5A4B 000 mov R4, A ; Move (Op1 <- Op2) ROM:5A4C 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5A4E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5A4F 000 mov DP0L, A ; Data Pointer Low Byte ROM:5A51 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5A53 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5A54 000 movx @DPTR, A ; Move from/to external RAM ROM:5A55 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5A56 000 mov B, #0Ch ; B Register ROM:5A59 000 mul AB ; Multiply Acc by B ROM:5A5A 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5A5C 000 mov DP0L, A ; Data Pointer Low Byte ROM:5A5E 000 clr A ; Clear Operand (0) ROM:5A5F 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5A61 000 mov DP0H, A ; Data Pointer High Byte ROM:5A63 000 clr A ; Clear Operand (0) ROM:5A64 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5A65 000 mov R6, A ; Move (Op1 <- Op2) ROM:5A66 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5A68 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5A69 000 mov DP0L, A ; Data Pointer Low Byte ROM:5A6B 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5A6D 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5A6F 000 movx @DPTR, A ; Move from/to external RAM ROM:5A70 000 mov DPTR, #6ADh ; Move (Op1 <- Op2) ROM:5A73 000 movx A, @DPTR ; Move from/to external RAM ROM:5A74 000 mov B, #0Ch ; B Register ROM:5A77 000 mul AB ; Multiply Acc by B ROM:5A78 000 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:5A7A 000 mov DP0L, A ; Data Pointer Low Byte ROM:5A7C 000 clr A ; Clear Operand (0) ROM:5A7D 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5A7F 000 mov DP0H, A ; Data Pointer High Byte ROM:5A81 000 clr A ; Clear Operand (0) ROM:5A82 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5A83 000 mov R6, A ; Move (Op1 <- Op2) ROM:5A84 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5A86 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5A87 000 mov DP0L, A ; Data Pointer Low Byte ROM:5A89 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5A8B 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:5A8D 000 movx @DPTR, A ; Move from/to external RAM ROM:5A8D ROM:5A8E ROM:5A8E ROM_5A8E: ; CODE XREF: ROM_5A25+B5j ROM:5A8E 000 inc RAM_31 ; Increment Operand ROM:5A90 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:5A92 000 clr C ; Clear Operand (0) ROM:5A93 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:5A95 000 jc ROM_5ABE ; Jump if Carry is set ROM:5A95 ROM:5A97 000 mov DPTR, #6ADh ; Move (Op1 <- Op2) ROM:5A9A 000 movx A, @DPTR ; Move from/to external RAM ROM:5A9B 000 mov R7, A ; Move (Op1 <- Op2) ROM:5A9C 000 mov B, #0Ch ; B Register ROM:5A9F 000 mul AB ; Multiply Acc by B ROM:5AA0 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5AA2 000 mov DP0L, A ; Data Pointer Low Byte ROM:5AA4 000 clr A ; Clear Operand (0) ROM:5AA5 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5AA7 000 mov DP0H, A ; Data Pointer High Byte ROM:5AA9 000 clr A ; Clear Operand (0) ROM:5AAA 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5AAB 000 mov R4, A ; Move (Op1 <- Op2) ROM:5AAC 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5AAE 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5AAF 000 mov DP0L, A ; Data Pointer Low Byte ROM:5AB1 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5AB3 000 movx A, @DPTR ; Move from/to external RAM ROM:5AB4 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:5AB6 000 jz ROM_5ABB ; Jump if Acc is zero ROM:5AB6 ROM:5AB8 000 lcall ROM_5B55 ; Long Subroutine Call ROM:5AB8 ROM:5ABB ROM:5ABB ROM_5ABB: ; CODE XREF: ROM_5A25+91j ROM:5ABB 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:5ABD 000 ret ; Return from subroutine ROM:5ABD ROM:5ABE ; --------------------------------------------------------------------------- ROM:5ABE ROM:5ABE ROM_5ABE: ; CODE XREF: ROM_5A25+70j ROM:5ABE 000 mov DPTR, #6ADh ; Move (Op1 <- Op2) ROM:5AC1 000 movx A, @DPTR ; Move from/to external RAM ROM:5AC2 000 mov B, #0Ch ; B Register ROM:5AC5 000 mul AB ; Multiply Acc by B ROM:5AC6 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5AC8 000 mov DP0L, A ; Data Pointer Low Byte ROM:5ACA 000 clr A ; Clear Operand (0) ROM:5ACB 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5ACD 000 mov DP0H, A ; Data Pointer High Byte ROM:5ACF 000 clr A ; Clear Operand (0) ROM:5AD0 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5AD1 000 mov R6, A ; Move (Op1 <- Op2) ROM:5AD2 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5AD4 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5AD5 000 mov DP0L, A ; Data Pointer Low Byte ROM:5AD7 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5AD9 000 movx A, @DPTR ; Move from/to external RAM ROM:5ADA 000 jnb ACC.1, ROM_5A8E ; Accumulator ROM:5ADA ROM:5ADD 000 movx A, @DPTR ; Move from/to external RAM ROM:5ADE 000 mov DPTR, #6ADh ; Move (Op1 <- Op2) ROM:5AE1 000 jnb ACC.2, ROM_5B02 ; Accumulator ROM:5AE1 ROM:5AE4 000 movx A, @DPTR ; Move from/to external RAM ROM:5AE5 000 mov B, #0Ch ; B Register ROM:5AE8 000 mul AB ; Multiply Acc by B ROM:5AE9 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5AEB 000 mov DP0L, A ; Data Pointer Low Byte ROM:5AED 000 clr A ; Clear Operand (0) ROM:5AEE 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5AF0 000 mov DP0H, A ; Data Pointer High Byte ROM:5AF2 000 clr A ; Clear Operand (0) ROM:5AF3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5AF4 000 mov R6, A ; Move (Op1 <- Op2) ROM:5AF5 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5AF7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5AF8 000 mov DP0L, A ; Data Pointer Low Byte ROM:5AFA 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5AFC 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5AFE 000 movx @DPTR, A ; Move from/to external RAM ROM:5AFF 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:5B01 000 ret ; Return from subroutine ROM:5B01 ROM:5B02 ; --------------------------------------------------------------------------- ROM:5B02 ROM:5B02 ROM_5B02: ; CODE XREF: ROM_5A25+BCj ROM:5B02 000 movx A, @DPTR ; Move from/to external RAM ROM:5B03 000 mov R7, A ; Move (Op1 <- Op2) ROM:5B04 000 mov B, #0Ch ; B Register ROM:5B07 000 mul AB ; Multiply Acc by B ROM:5B08 000 add A, #28h ; '(' ; Add Second Operand to Acc ROM:5B0A 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B0C 000 clr A ; Clear Operand (0) ROM:5B0D 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5B0F 000 mov DP0H, A ; Data Pointer High Byte ROM:5B11 000 clr A ; Clear Operand (0) ROM:5B12 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B13 000 mov R4, A ; Move (Op1 <- Op2) ROM:5B14 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5B16 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B17 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B19 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5B1B 000 movx A, @DPTR ; Move from/to external RAM ROM:5B1C 000 mov R6, A ; Move (Op1 <- Op2) ROM:5B1D 000 mov DPTR, #6AEh ; Move (Op1 <- Op2) ROM:5B20 000 movx A, @DPTR ; Move from/to external RAM ROM:5B21 000 mov R4, A ; Move (Op1 <- Op2) ROM:5B22 000 inc DPTR ; Increment Operand ROM:5B23 000 movx A, @DPTR ; Move from/to external RAM ROM:5B24 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B26 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5B28 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5B29 000 movx @DPTR, A ; Move from/to external RAM ROM:5B2A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5B2B 000 mov B, #0Ch ; B Register ROM:5B2E 000 mul AB ; Multiply Acc by B ROM:5B2F 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:5B31 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B33 000 clr A ; Clear Operand (0) ROM:5B34 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5B36 000 mov DP0H, A ; Data Pointer High Byte ROM:5B38 000 clr A ; Clear Operand (0) ROM:5B39 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B3A 000 mov R6, A ; Move (Op1 <- Op2) ROM:5B3B 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5B3D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B3E 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B40 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5B42 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5B44 000 movx @DPTR, A ; Move from/to external RAM ROM:5B45 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:5B47 000 ret ; Return from subroutine ROM:5B47 ROM:5B47 ; End of function ROM_5A25 ROM:5B47 ROM:5B48 ROM:5B48 ; =============== S U B R O U T I N E ======================================= ROM:5B48 ROM:5B48 ROM:5B48 ROM_5B48: ; CODE XREF: ROM_5B55+51p ROM:5B48 ; ROM_5B55+8Ap ... ROM:5B48 000 clr A ; Clear Operand (0) ROM:5B49 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:5B49 ROM:5B4B ROM:5B4B ROM_5B4B: ; CODE XREF: ROM_5B48+9j ROM:5B4B 000 inc RAM_30 ; Increment Operand ROM:5B4D 000 inc RAM_31 ; Increment Operand ROM:5B4F 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:5B51 000 cjne A, #0C8h, ROM_5B4B ; '+' ; Compare Operands and JNE ROM:5B51 ROM:5B54 000 ret ; Return from subroutine ROM:5B54 ROM:5B54 ; End of function ROM_5B48 ROM:5B54 ROM:5B55 ROM:5B55 ; =============== S U B R O U T I N E ======================================= ROM:5B55 ROM:5B55 ROM:5B55 ROM_5B55: ; CODE XREF: ROM_52A4+141p ROM:5B55 ; ROM_54C1+93p ... ROM:5B55 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5B56 000 mov B, #0Dh ; B Register ROM:5B59 000 mul AB ; Multiply Acc by B ROM:5B5A 000 add A, #68h ; 'h' ; Add Second Operand to Acc ROM:5B5C 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B5E 000 clr A ; Clear Operand (0) ROM:5B5F 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5B61 000 mov DP0H, A ; Data Pointer High Byte ROM:5B63 000 clr A ; Clear Operand (0) ROM:5B64 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B65 000 mov R4, A ; Move (Op1 <- Op2) ROM:5B66 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5B68 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B69 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B6B 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5B6D 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:5B6F 000 movx @DPTR, A ; Move from/to external RAM ROM:5B70 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5B71 000 mov B, #0Dh ; B Register ROM:5B74 000 mul AB ; Multiply Acc by B ROM:5B75 000 add A, #6Eh ; 'n' ; Add Second Operand to Acc ROM:5B77 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B79 000 clr A ; Clear Operand (0) ROM:5B7A 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5B7C 000 mov DP0H, A ; Data Pointer High Byte ROM:5B7E 000 clr A ; Clear Operand (0) ROM:5B7F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B80 000 mov R4, A ; Move (Op1 <- Op2) ROM:5B81 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5B83 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B84 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B86 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5B88 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:5B8A 000 movx @DPTR, A ; Move from/to external RAM ROM:5B8B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5B8C 000 mov B, #0Dh ; B Register ROM:5B8F 000 mul AB ; Multiply Acc by B ROM:5B90 000 add A, #70h ; 'p' ; Add Second Operand to Acc ROM:5B92 000 mov DP0L, A ; Data Pointer Low Byte ROM:5B94 000 clr A ; Clear Operand (0) ROM:5B95 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5B97 000 mov DP0H, A ; Data Pointer High Byte ROM:5B99 000 clr A ; Clear Operand (0) ROM:5B9A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B9B 000 mov R4, A ; Move (Op1 <- Op2) ROM:5B9C 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5B9E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5B9F 000 mov DP0L, A ; Data Pointer Low Byte ROM:5BA1 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5BA3 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:5BA5 000 movx @DPTR, A ; Move from/to external RAM ROM:5BA6 000 lcall ROM_5B48 ; Long Subroutine Call ROM:5BA6 ROM:5BA9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5BAA 000 mov B, #0Dh ; B Register ROM:5BAD 000 mul AB ; Multiply Acc by B ROM:5BAE 000 add A, #72h ; 'r' ; Add Second Operand to Acc ROM:5BB0 000 mov DP0L, A ; Data Pointer Low Byte ROM:5BB2 000 clr A ; Clear Operand (0) ROM:5BB3 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5BB5 000 mov DP0H, A ; Data Pointer High Byte ROM:5BB7 000 clr A ; Clear Operand (0) ROM:5BB8 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5BB9 000 mov R4, A ; Move (Op1 <- Op2) ROM:5BBA 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5BBC 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5BBD 000 mov DP0L, A ; Data Pointer Low Byte ROM:5BBF 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5BC1 000 push DP0H ; Data Pointer High Byte ROM:5BC3 001 push DP0L ; Data Pointer Low Byte ROM:5BC5 002 movx A, @DPTR ; Move from/to external RAM ROM:5BC6 002 mov R6, A ; Move (Op1 <- Op2) ROM:5BC7 002 mov A, R7 ; Move (Op1 <- Op2) ROM:5BC8 002 mov B, #0Dh ; B Register ROM:5BCB 002 mul AB ; Multiply Acc by B ROM:5BCC 002 add A, #74h ; 't' ; Add Second Operand to Acc ROM:5BCE 002 mov DP0L, A ; Data Pointer Low Byte ROM:5BD0 002 clr A ; Clear Operand (0) ROM:5BD1 002 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5BD3 002 mov DP0H, A ; Data Pointer High Byte ROM:5BD5 002 clr A ; Clear Operand (0) ROM:5BD6 002 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5BD7 002 mov R5, A ; Move (Op1 <- Op2) ROM:5BD8 002 mov A, R6 ; Move (Op1 <- Op2) ROM:5BD9 002 orl A, R5 ; Logical OR (op1 |= op2) ROM:5BDA 002 pop DP0L ; Data Pointer Low Byte ROM:5BDC 001 pop DP0H ; Data Pointer High Byte ROM:5BDE 000 movx @DPTR, A ; Move from/to external RAM ROM:5BDF 000 lcall ROM_5B48 ; Long Subroutine Call ROM:5BDF ROM:5BE2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5BE3 000 mov B, #0Dh ; B Register ROM:5BE6 000 mul AB ; Multiply Acc by B ROM:5BE7 000 add A, #6Eh ; 'n' ; Add Second Operand to Acc ROM:5BE9 000 mov DP0L, A ; Data Pointer Low Byte ROM:5BEB 000 clr A ; Clear Operand (0) ROM:5BEC 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5BEE 000 mov DP0H, A ; Data Pointer High Byte ROM:5BF0 000 clr A ; Clear Operand (0) ROM:5BF1 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5BF2 000 mov R4, A ; Move (Op1 <- Op2) ROM:5BF3 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5BF5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5BF6 000 mov DP0L, A ; Data Pointer Low Byte ROM:5BF8 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5BFA 000 mov A, #4 ; Move (Op1 <- Op2) ROM:5BFC 000 movx @DPTR, A ; Move from/to external RAM ROM:5BFD 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5BFE 000 mov B, #0Dh ; B Register ROM:5C01 000 mul AB ; Multiply Acc by B ROM:5C02 000 add A, #70h ; 'p' ; Add Second Operand to Acc ROM:5C04 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C06 000 clr A ; Clear Operand (0) ROM:5C07 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5C09 000 mov DP0H, A ; Data Pointer High Byte ROM:5C0B 000 clr A ; Clear Operand (0) ROM:5C0C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C0D 000 mov R4, A ; Move (Op1 <- Op2) ROM:5C0E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5C10 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C11 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C13 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5C15 000 mov A, #4 ; Move (Op1 <- Op2) ROM:5C17 000 movx @DPTR, A ; Move from/to external RAM ROM:5C18 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5C19 000 mov B, #0Dh ; B Register ROM:5C1C 000 mul AB ; Multiply Acc by B ROM:5C1D 000 add A, #6Ah ; 'j' ; Add Second Operand to Acc ROM:5C1F 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C21 000 clr A ; Clear Operand (0) ROM:5C22 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5C24 000 mov DP0H, A ; Data Pointer High Byte ROM:5C26 000 clr A ; Clear Operand (0) ROM:5C27 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C28 000 mov R4, A ; Move (Op1 <- Op2) ROM:5C29 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5C2B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C2C 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C2E 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5C30 000 mov A, #2 ; Move (Op1 <- Op2) ROM:5C32 000 movx @DPTR, A ; Move from/to external RAM ROM:5C33 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5C34 000 mov B, #0Dh ; B Register ROM:5C37 000 mul AB ; Multiply Acc by B ROM:5C38 000 add A, #6Ch ; 'l' ; Add Second Operand to Acc ROM:5C3A 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C3C 000 clr A ; Clear Operand (0) ROM:5C3D 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5C3F 000 mov DP0H, A ; Data Pointer High Byte ROM:5C41 000 clr A ; Clear Operand (0) ROM:5C42 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C43 000 mov R4, A ; Move (Op1 <- Op2) ROM:5C44 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5C46 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C47 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C49 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5C4B 000 mov A, #3 ; Move (Op1 <- Op2) ROM:5C4D 000 movx @DPTR, A ; Move from/to external RAM ROM:5C4E 000 lcall ROM_5B48 ; Long Subroutine Call ROM:5C4E ROM:5C51 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5C52 000 mov B, #0Dh ; B Register ROM:5C55 000 mul AB ; Multiply Acc by B ROM:5C56 000 add A, #6Ch ; 'l' ; Add Second Operand to Acc ROM:5C58 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C5A 000 clr A ; Clear Operand (0) ROM:5C5B 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5C5D 000 mov DP0H, A ; Data Pointer High Byte ROM:5C5F 000 clr A ; Clear Operand (0) ROM:5C60 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C61 000 mov R4, A ; Move (Op1 <- Op2) ROM:5C62 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5C64 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C65 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C67 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5C69 000 mov A, #7 ; Move (Op1 <- Op2) ROM:5C6B 000 movx @DPTR, A ; Move from/to external RAM ROM:5C6C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5C6D 000 mov B, #0Dh ; B Register ROM:5C70 000 mul AB ; Multiply Acc by B ROM:5C71 000 add A, #6Ah ; 'j' ; Add Second Operand to Acc ROM:5C73 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C75 000 clr A ; Clear Operand (0) ROM:5C76 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5C78 000 mov DP0H, A ; Data Pointer High Byte ROM:5C7A 000 clr A ; Clear Operand (0) ROM:5C7B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C7C 000 mov R6, A ; Move (Op1 <- Op2) ROM:5C7D 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5C7F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C80 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C82 000 mov DP0H, R6 ; Data Pointer High Byte ROM:5C84 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5C86 000 movx @DPTR, A ; Move from/to external RAM ROM:5C87 000 ret ; Return from subroutine ROM:5C87 ROM:5C87 ; End of function ROM_5B55 ROM:5C87 ROM:5C88 ROM:5C88 ; =============== S U B R O U T I N E ======================================= ROM:5C88 ROM:5C88 ROM:5C88 ROM_5C88: ; CODE XREF: ROM_5CC1+52p ROM:5C88 ; ROM_630B+1Dp ROM:5C88 000 clr A ; Clear Operand (0) ROM:5C89 000 mov R7, A ; Move (Op1 <- Op2) ROM:5C89 ROM:5C8A ROM:5C8A ROM_5C8A: ; CODE XREF: ROM_5C88+35j ROM:5C8A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5C8B 000 mov B, #3 ; B Register ROM:5C8E 000 mul AB ; Multiply Acc by B ROM:5C8F 000 add A, #8Fh ; 'Å' ; Add Second Operand to Acc ROM:5C91 000 mov DP0L, A ; Data Pointer Low Byte ROM:5C93 000 clr A ; Clear Operand (0) ROM:5C94 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5C96 000 mov DP0H, A ; Data Pointer High Byte ROM:5C98 000 clr A ; Clear Operand (0) ROM:5C99 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C9A 000 mov R4, A ; Move (Op1 <- Op2) ROM:5C9B 000 mov A, #1 ; Move (Op1 <- Op2) ROM:5C9D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5C9E 000 mov R5, A ; Move (Op1 <- Op2) ROM:5C9F 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:5CA1 000 mov A, R4 ; Move (Op1 <- Op2) ROM:5CA2 000 mov @R0, A ; Move (Op1 <- Op2) ROM:5CA3 000 inc R0 ; Increment Operand ROM:5CA4 000 mov A, R5 ; Move (Op1 <- Op2) ROM:5CA5 000 mov @R0, A ; Move (Op1 <- Op2) ROM:5CA6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5CA7 000 mov B, #3 ; B Register ROM:5CAA 000 mul AB ; Multiply Acc by B ROM:5CAB 000 add A, #91h ; 'æ' ; Add Second Operand to Acc ROM:5CAD 000 mov DP0L, A ; Data Pointer Low Byte ROM:5CAF 000 clr A ; Clear Operand (0) ROM:5CB0 000 addc A, #5Dh ; ']' ; Add Second Operand to Acc with carry ROM:5CB2 000 mov DP0H, A ; Data Pointer High Byte ROM:5CB4 000 clr A ; Clear Operand (0) ROM:5CB5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:5CB6 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:5CB8 000 mov DP0H, R4 ; Data Pointer High Byte ROM:5CBA 000 movx @DPTR, A ; Move from/to external RAM ROM:5CBB 000 inc R7 ; Increment Operand ROM:5CBC 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5CBD 000 cjne A, #19h, ROM_5C8A ; Compare Operands and JNE ROM:5CBD ROM:5CC0 000 ret ; Return from subroutine ROM:5CC0 ROM:5CC0 ; End of function ROM_5C88 ROM:5CC0 ROM:5CC1 ROM:5CC1 ; =============== S U B R O U T I N E ======================================= ROM:5CC1 ROM:5CC1 ROM:5CC1 ROM_5CC1: ; CODE XREF: ROM_4D5B+9p ROM:5CC1 000 mov DPTR, #161Bh ; Move (Op1 <- Op2) ROM:5CC4 000 movx A, @DPTR ; Move from/to external RAM ROM:5CC5 000 jnz ROM_5CD3 ; Jump if Acc is not zero ROM:5CC5 ROM:5CC7 000 mov DPTR, #SMBUS_SMBPCTLA ; SMBUS Pin Control ROM:5CCA 000 movx A, @DPTR ; Move from/to external RAM ROM:5CCB 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:5CCD 000 xrl A, #3 ; Exclusive OR (op1 ^= op2) ROM:5CCF 000 jz ROM_5CD3 ; Jump if Acc is zero ROM:5CCF ROM:5CD1 000 inc RAM_53 ; Increment Operand ROM:5CD1 ROM:5CD3 ROM:5CD3 ROM_5CD3: ; CODE XREF: ROM_5CC1+4j ROM:5CD3 ; ROM_5CC1+Ej ROM:5CD3 000 mov DPTR, #1621h ; Move (Op1 <- Op2) ROM:5CD6 000 movx A, @DPTR ; Move from/to external RAM ROM:5CD7 000 jnz ROM_5CE5 ; Jump if Acc is not zero ROM:5CD7 ROM:5CD9 000 mov DPTR, #SMBUS_SMBPCTLB ; Move (Op1 <- Op2) ROM:5CDC 000 movx A, @DPTR ; Move from/to external RAM ROM:5CDD 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:5CDF 000 xrl A, #3 ; Exclusive OR (op1 ^= op2) ROM:5CE1 000 jz ROM_5CE5 ; Jump if Acc is zero ROM:5CE1 ROM:5CE3 000 inc RAM_54 ; Increment Operand ROM:5CE3 ROM:5CE5 ROM:5CE5 ROM_5CE5: ; CODE XREF: ROM_5CC1+16j ROM:5CE5 ; ROM_5CC1+20j ROM:5CE5 000 mov DPTR, #163Eh ; Move (Op1 <- Op2) ROM:5CE8 000 movx A, @DPTR ; Move from/to external RAM ROM:5CE9 000 jnz ROM_5CF7 ; Jump if Acc is not zero ROM:5CE9 ROM:5CEB 000 mov DPTR, #SMBUS_SMBPCTLC ; Move (Op1 <- Op2) ROM:5CEE 000 movx A, @DPTR ; Move from/to external RAM ROM:5CEF 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:5CF1 000 xrl A, #3 ; Exclusive OR (op1 ^= op2) ROM:5CF3 000 jz ROM_5CF7 ; Jump if Acc is zero ROM:5CF3 ROM:5CF5 000 inc RAM_55 ; Increment Operand ROM:5CF5 ROM:5CF7 ROM:5CF7 ROM_5CF7: ; CODE XREF: ROM_5CC1+28j ROM:5CF7 ; ROM_5CC1+32j ROM:5CF7 000 mov A, RAM_53 ; Move (Op1 <- Op2) ROM:5CF9 000 setb C ; Set Direct Bit ROM:5CFA 000 subb A, #1Eh ; Subtract Second Operand from Acc with Borrow ROM:5CFC 000 jnc ROM_5D0A ; Jump if Carry is clear ROM:5CFC ROM:5CFE 000 mov A, RAM_54 ; Move (Op1 <- Op2) ROM:5D00 000 subb A, #1Eh ; Subtract Second Operand from Acc with Borrow ROM:5D02 000 jnc ROM_5D0A ; Jump if Carry is clear ROM:5D02 ROM:5D04 000 mov A, RAM_55 ; Move (Op1 <- Op2) ROM:5D06 000 subb A, #1Eh ; Subtract Second Operand from Acc with Borrow ROM:5D08 000 jc ROM_5D1F ; Jump if Carry is set ROM:5D08 ROM:5D0A ROM:5D0A ROM_5D0A: ; CODE XREF: ROM_5CC1+3Bj ROM:5D0A ; ROM_5CC1+41j ROM:5D0A 000 mov DPTR, #GCTRL_RSTC3 ; Reset Control 3 ROM:5D0D 000 mov A, #0Fh ; Move (Op1 <- Op2) ROM:5D0F 000 movx @DPTR, A ; Move from/to external RAM ROM:5D10 000 lcall ROM_5B48 ; Long Subroutine Call ROM:5D10 ROM:5D13 000 lcall ROM_5C88 ; Long Subroutine Call ROM:5D13 ROM:5D16 000 clr A ; Clear Operand (0) ROM:5D17 000 mov RAM_53, A ; Move (Op1 <- Op2) ROM:5D19 000 mov RAM_54, A ; Move (Op1 <- Op2) ROM:5D1B 000 mov RAM_55, A ; Move (Op1 <- Op2) ROM:5D1D 000 mov RAM_2B, A ; Move (Op1 <- Op2) ROM:5D1D ROM:5D1F ROM:5D1F ROM_5D1F: ; CODE XREF: ROM_5CC1+47j ROM:5D1F 000 ret ; Return from subroutine ROM:5D1F ROM:5D1F ; End of function ROM_5CC1 ROM:5D1F ROM:5D1F ; --------------------------------------------------------------------------- ROM:5D20 db 1Ch, 1, 1Ch, 3, 1Ch, 2, 1Ch, 0, 1Ch, 4, 1Ch, 5, 1Ch ROM:5D20 db 12h, 1Ch, 14h, 1Ch, 13h, 1Ch, 11h, 1Ch, 15h, 1Ch, 16h ROM:5D20 db 1Ch, 2Ah, 1Ch, 2Ch, 1Ch, 2Bh, 1Ch, 29h, 1Ch, 2Dh, 1Ch ROM:5D20 db 2Eh, 1Ch, 1, 1Ch, 3, 1Ch, 2, 1Ch, 0, 1Ch, 4, 1Ch, 6 ROM:5D20 db 1Ch, 12h, 1Ch, 14h, 1Ch, 13h, 1Ch, 11h, 1Ch, 15h, 1Ch ROM:5D20 db 17h, 1Ch, 2Ah, 1Ch, 2Ch, 1Ch, 2Bh, 1Ch, 29h, 1Ch, 2Dh ROM:5D20 db 1Ch, 2Fh, 1Ch, 0, 1Ch, 10h, 1Ch, 0Ah, 16h, 1Bh, 16h ROM:5D20 db 1Ch, 16h, 2, 18h, 1Ch, 11h, 1Ch, 21h, 1Ch, 1Bh, 16h ROM:5D20 db 21h, 16h, 22h, 16h, 3, 6, 1Ch, 29h, 1Ch, 32h, 1Ch, 31h ROM:5D20 db 16h, 3Eh, 16h, 3Fh, 16h, 6, 0C0h, 1Ch, 22h, 2Fh, 1Ch ROM:5D20 db 23h, 5Ah, 1Ch, 24h, 3, 1Ch, 25h, 30h, 1Ch, 26h, 19h ROM:5D20 db 1Ch, 27h, 0C5h, 1Ch, 28h, 1, 1Ch, 10h, 1, 1Ch, 8, 8 ROM:5D20 db 1Ch, 1, 3, 1Ch, 1, 1, 1Ch, 0, 0FFh, 1Ch, 0Ch, 1, 1Ch ROM:5D20 db 0Bh, 0FFh, 1Ch, 21h, 1, 1Ch, 19h, 8, 1Ch, 12h, 3, 1Ch ROM:5D20 db 12h, 1, 1Ch, 11h, 0FFh, 1Ch, 1Dh, 1, 1Ch, 1Ch, 0FFh ROM:5D20 db 1Ch, 32h, 1, 1Ch, 2Ah, 3, 1Ch, 2Ah, 1, 1Ch, 29h, 0FFh ROM:5DDA ROM:5DDA ; =============== S U B R O U T I N E ======================================= ROM:5DDA ROM:5DDA ROM:5DDA configure_ADC: ; CODE XREF: ROM_622F+37p ROM:5DDA 000 mov DPTR, #ADC_ADCCFG ; dptr = ADC_ADCCFG; ROM:5DDD 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:5DDE 000 anl A, #11111110b ; a &= 11111110b; ROM:5DE0 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:5DE1 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:5DE2 000 orl A, #10000000b ; a |= 10000000b; ROM:5DE4 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:5DE5 ROM:5DE5 // here we check which voltage channel is used: ROM:5DE5 ROM:5DE5 000 mov A, R7 ; a = R7; ROM:5DE6 000 dec A ; a--; ROM:5DE7 000 jz channel_1 ; if (a == 0) goto channel_1; ROM:5DE7 ROM:5DE9 000 dec A ; a--; ROM:5DEA 000 jz channel_2 ; if (a == 0) goto channel_2; ROM:5DEA ROM:5DEC 000 dec A ; a--; ROM:5DED 000 jz channel_3 ; if (a == 0) goto channel_3; ROM:5DED ROM:5DEF 000 add A, #3 ; a += 3; ROM:5DF1 000 jnz default ; if (a <> 0) goto default; ROM:5DF1 ROM:5DF3 ROM:5DF3 channel_0: ; // The VCH0DATx is available for reading. This bit is ROM:5DF3 000 mov A, R5 ; // when the ADC module is disabled (ADCEN in ADCCFG register is ROM:5DF3 ; // cleared) or by writing 1 to it. End of conversion - new data is available in VCH0DATx ROM:5DF3 ; ROM:5DF3 ; a = R5; ROM:5DF4 000 orl A, #10000000b ; a |= 10000000b; ROM:5DF6 000 mov DPTR, #ADC_VCH0CTL ; dptr = ADC_VCH0CTL; ROM:5DF9 000 movx @DPTR, A ; write_byte_to(dptr, a); // Voltage Channel 0 Control ROM:5DFA 000 sjmp default ; goto default; ROM:5DFA ROM:5DFC ; --------------------------------------------------------------------------- ROM:5DFC ROM:5DFC channel_1: ; CODE XREF: configure_ADC+Dj ROM:5DFC 000 mov A, R5 ; // The VCH1DATx is available for reading. This bit is ROM:5DFC ; // when the ADC module is disabled (ADCEN in ADCCFG register is ROM:5DFC ; // cleared) or by writing 1 to it. End of conversion - new data is available in VCH1DATx ROM:5DFC ; ROM:5DFC ; a = R5; ROM:5DFD 000 orl A, #10000000b ; a |= 10000000b; ROM:5DFF 000 mov DPTR, #ADC_VCH1CTL ; dptr = ADC_VCH1CTL; ROM:5E02 000 movx @DPTR, A ; write_byte_to(dptr, a); // Voltage Channel 1 Control ROM:5E03 000 sjmp default ; goto default; ROM:5E03 ROM:5E05 ; --------------------------------------------------------------------------- ROM:5E05 ROM:5E05 channel_2: ; CODE XREF: configure_ADC+10j ROM:5E05 000 mov A, R5 ; // The VCH2DATx is available for reading. This bit is ROM:5E05 ; // when the ADC module is disabled (ADCEN in ADCCFG register is ROM:5E05 ; // cleared) or by writing 1 to it. End of conversion - new data is available in VCH2DATx ROM:5E05 ; ROM:5E05 ; a = R5; ROM:5E06 000 orl A, #10000000b ; a |= 10000000b; ROM:5E08 000 mov DPTR, #ADC_VCH2CTL ; dptr = ADC_VCH2CTL; ROM:5E0B 000 movx @DPTR, A ; write_byte_to(dptr, a); // Voltage Channel 2 Control ROM:5E0C 000 sjmp default ; goto default; ROM:5E0C ROM:5E0E ; --------------------------------------------------------------------------- ROM:5E0E ROM:5E0E channel_3: ; CODE XREF: configure_ADC+13j ROM:5E0E 000 mov A, R5 ; // The VCH3DATx is available for reading. This bit is ROM:5E0E ; // when the ADC module is disabled (ADCEN in ADCCFG register is ROM:5E0E ; // cleared) or by writing 1 to it. End of conversion - new data is available in VCH3DATx ROM:5E0E ; ROM:5E0E ; a = R5; ROM:5E0F 000 orl A, #10000000b ; a |= 10000000b; ROM:5E11 000 mov DPTR, #ADC_VCH3CTL ; dptr = ADC_VCH3CTL; ROM:5E14 000 movx @DPTR, A ; write_byte_to(dptr, a); // Voltage Channel 3 Control ROM:5E14 ; goto default; ROM:5E14 ROM:5E15 ROM:5E15 // Read and set ADC Status ROM:5E15 ROM:5E15 ROM:5E15 default: ; CODE XREF: configure_ADC+17j ROM:5E15 ; configure_ADC+20j ... ROM:5E15 000 mov DPTR, #ADC_ADCSTS ; dptr = ADC_CSTS; // ADC Status ROM:5E18 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:5E19 000 anl A, #11111011b ; a &= 11111011b; ROM:5E19 ; ROM:5E19 ; // This mask mean: ROM:5E19 ; // 7: Digital filter operation at high accuracy ROM:5E19 ; // 6: Unknown ROM:5E19 ; // 5-4: Decimation ratio ROM:5E19 ; // 3: Start ADC accuracy initialization ROM:5E19 ; // 2: ADC power state is normal ROM:5E19 ; // 1: Data overflow ROM:5E19 ; // 0: End of ADC cycle ROM:5E19 ; ROM:5E1B 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:5E1C 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:5E1D 000 orl A, #10b ; a |= 00000010b; ROM:5E1D ; ROM:5E1D ; // This mask mean: ROM:5E1D ; // 1: Set overflow state to overflow ROM:5E1D ; ROM:5E1F 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:5E20 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:5E21 000 orl A, #1 ; a |= 00000001b; ROM:5E21 ; ROM:5E21 ; // This mask mean: ROM:5E21 ; // 0: Set ADC cycle to the end ROM:5E21 ; ROM:5E23 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:5E24 000 inc DPTR ; dptr++; // Move pointer to ADC_ADCCFG - ADC configuration ROM:5E25 000 movx A, @DPTR ; a = read_byte_from(dptr); ROM:5E26 000 orl A, #1 ; a |= 00000001b; ROM:5E28 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:5E29 000 mov DPTR, #0D3h ; dptr = 0x0D3; ROM:5E2C 000 mov A, #0FFh ; a = 0x0ff; ROM:5E2E 000 movx @DPTR, A ; write_byte_to(dptr, a); ROM:5E2E ROM:5E2F ROM:5E2F ROM_5E2F: ; CODE XREF: configure_ADC+70j ROM:5E2F ; configure_ADC+86j ... ROM:5E2F 000 mov DPTR, #ADC_ADCSTS ; ADC Status ROM:5E32 000 movx A, @DPTR ; Move from/to external RAM ROM:5E33 000 jb ACC.0, ROM_5E94 ; Accumulator ROM:5E33 ROM:5E36 000 mov DPTR, #0D3h ; '+' ; Move (Op1 <- Op2) ROM:5E39 000 movx A, @DPTR ; Move from/to external RAM ROM:5E3A 000 dec A ; Decrement Operand ROM:5E3B 000 movx @DPTR, A ; Move from/to external RAM ROM:5E3C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5E3D 000 jnz ROM_5E51 ; Jump if Acc is not zero ROM:5E3D ROM:5E3F 000 mov DPTR, #ADC_VCH0CTL ; Voltage Channel 0 Channel Control ROM:5E42 000 movx A, @DPTR ; Move from/to external RAM ROM:5E43 000 jb ACC.7, ROM_5E94 ; Accumulator ROM:5E43 ROM:5E46 000 mov DPTR, #0D3h ; '+' ; Move (Op1 <- Op2) ROM:5E49 000 movx A, @DPTR ; Move from/to external RAM ROM:5E4A 000 jnz ROM_5E2F ; Jump if Acc is not zero ROM:5E4A ROM:5E4C 000 mov DPTR, #ADC_VCH0CTL ; Voltage Channel 0 Channel Control ROM:5E4F 000 sjmp ROM_5E91 ; Short jump ROM:5E4F ROM:5E51 ; --------------------------------------------------------------------------- ROM:5E51 ROM:5E51 ROM_5E51: ; CODE XREF: configure_ADC+63j ROM:5E51 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5E52 000 cjne A, #1, ROM_5E67 ; Compare Operands and JNE ROM:5E52 ROM:5E55 000 mov DPTR, #ADC_VCH1CTL ; Voltage Channel 1 Control ROM:5E58 000 movx A, @DPTR ; Move from/to external RAM ROM:5E59 000 jb ACC.7, ROM_5E94 ; Accumulator ROM:5E59 ROM:5E5C 000 mov DPTR, #0D3h ; '+' ; Move (Op1 <- Op2) ROM:5E5F 000 movx A, @DPTR ; Move from/to external RAM ROM:5E60 000 jnz ROM_5E2F ; Jump if Acc is not zero ROM:5E60 ROM:5E62 000 mov DPTR, #ADC_VCH1CTL ; Voltage Channel 1 Control ROM:5E65 000 sjmp ROM_5E91 ; Short jump ROM:5E65 ROM:5E67 ; --------------------------------------------------------------------------- ROM:5E67 ROM:5E67 ROM_5E67: ; CODE XREF: configure_ADC+78j ROM:5E67 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5E68 000 cjne A, #2, ROM_5E7D ; Compare Operands and JNE ROM:5E68 ROM:5E6B 000 mov DPTR, #ADC_VCH2CTL ; Voltage Channel 2 Control ROM:5E6E 000 movx A, @DPTR ; Move from/to external RAM ROM:5E6F 000 jb ACC.7, ROM_5E94 ; Accumulator ROM:5E6F ROM:5E72 000 mov DPTR, #0D3h ; '+' ; Move (Op1 <- Op2) ROM:5E75 000 movx A, @DPTR ; Move from/to external RAM ROM:5E76 000 jnz ROM_5E2F ; Jump if Acc is not zero ROM:5E76 ROM:5E78 000 mov DPTR, #ADC_VCH2CTL ; Voltage Channel 2 Control ROM:5E7B 000 sjmp ROM_5E91 ; Short jump ROM:5E7B ROM:5E7D ; --------------------------------------------------------------------------- ROM:5E7D ROM:5E7D ROM_5E7D: ; CODE XREF: configure_ADC+8Ej ROM:5E7D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5E7E 000 cjne A, #3, ROM_5E94 ; Compare Operands and JNE ROM:5E7E ROM:5E81 000 mov DPTR, #ADC_VCH3CTL ; Voltage Channel 3 Control ROM:5E84 000 movx A, @DPTR ; Move from/to external RAM ROM:5E85 000 jb ACC.7, ROM_5E94 ; Accumulator ROM:5E85 ROM:5E88 000 mov DPTR, #0D3h ; '+' ; Move (Op1 <- Op2) ROM:5E8B 000 movx A, @DPTR ; Move from/to external RAM ROM:5E8C 000 jnz ROM_5E2F ; Jump if Acc is not zero ROM:5E8C ROM:5E8E 000 mov DPTR, #ADC_VCH3CTL ; Voltage Channel 3 Control ROM:5E8E ROM:5E91 ROM:5E91 ROM_5E91: ; CODE XREF: configure_ADC+75j ROM:5E91 ; configure_ADC+8Bj ... ROM:5E91 000 mov A, #1Fh ; Move (Op1 <- Op2) ROM:5E93 000 movx @DPTR, A ; Move from/to external RAM ROM:5E93 ROM:5E94 ROM:5E94 ROM_5E94: ; CODE XREF: configure_ADC+59j ROM:5E94 ; configure_ADC+69j ... ROM:5E94 000 ret ; Return from subroutine ROM:5E94 ROM:5E94 ; End of function configure_ADC ROM:5E94 ROM:5E95 ROM:5E95 ; =============== S U B R O U T I N E ======================================= ROM:5E95 ROM:5E95 ROM:5E95 ROM_5E95: ; CODE XREF: ROM_622F+2Dp ROM:5E95 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5E96 000 mov R6, A ; Move (Op1 <- Op2) ROM:5E97 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:5E99 000 clr A ; Clear Operand (0) ROM:5E9A 000 add A, R5 ; Add Second Operand to Acc ROM:5E9B 000 mov R7, A ; Move (Op1 <- Op2) ROM:5E9C 000 mov A, R4 ; Move (Op1 <- Op2) ROM:5E9D 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:5E9E 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5EA1 000 movx @DPTR, A ; Move from/to external RAM ROM:5EA2 000 inc DPTR ; Increment Operand ROM:5EA3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5EA4 000 movx @DPTR, A ; Move from/to external RAM ROM:5EA5 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5EA8 000 movx A, @DPTR ; Move from/to external RAM ROM:5EA9 000 jnz ROM_5EAD ; Jump if Acc is not zero ROM:5EA9 ROM:5EAB 000 inc DPTR ; Increment Operand ROM:5EAC 000 movx A, @DPTR ; Move from/to external RAM ROM:5EAC ROM:5EAD ROM:5EAD ROM_5EAD: ; CODE XREF: ROM_5E95+14j ROM:5EAD 000 jz ROM_5EBE ; Jump if Acc is zero ROM:5EAD ROM:5EAF 000 setb C ; Set Direct Bit ROM:5EB0 000 mov DPTR, #6B3h ; Move (Op1 <- Op2) ROM:5EB3 000 movx A, @DPTR ; Move from/to external RAM ROM:5EB4 000 subb A, #0FFh ; Subtract Second Operand from Acc with Borrow ROM:5EB6 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5EB9 000 movx A, @DPTR ; Move from/to external RAM ROM:5EBA 000 subb A, #3Fh ; '?' ; Subtract Second Operand from Acc with Borrow ROM:5EBC 000 jc ROM_5EC7 ; Jump if Carry is set ROM:5EBC ROM:5EBE ROM:5EBE ROM_5EBE: ; CODE XREF: ROM_5E95:ROM_5EADj ROM:5EBE 000 mov DPTR, #22BAh ; Move (Op1 <- Op2) ROM:5EC1 000 clr A ; Clear Operand (0) ROM:5EC2 000 movx @DPTR, A ; Move from/to external RAM ROM:5EC3 000 inc DPTR ; Increment Operand ROM:5EC4 000 ljmp ROM_6009 ; Long Jump ROM:5EC4 ROM:5EC7 ; --------------------------------------------------------------------------- ROM:5EC7 ROM:5EC7 ROM_5EC7: ; CODE XREF: ROM_5E95+27j ROM:5EC7 000 clr C ; Clear Operand (0) ROM:5EC8 000 mov DPTR, #6B3h ; Move (Op1 <- Op2) ROM:5ECB 000 movx A, @DPTR ; Move from/to external RAM ROM:5ECC 000 subb A, #80h ; 'Ç' ; Subtract Second Operand from Acc with Borrow ROM:5ECE 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5ED1 000 movx A, @DPTR ; Move from/to external RAM ROM:5ED2 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:5ED4 000 jnc ROM_5EE2 ; Jump if Carry is clear ROM:5ED4 ROM:5ED6 000 mov DPTR, #22BAh ; Move (Op1 <- Op2) ROM:5ED9 000 mov A, #0Fh ; Move (Op1 <- Op2) ROM:5EDB 000 movx @DPTR, A ; Move from/to external RAM ROM:5EDC 000 inc DPTR ; Increment Operand ROM:5EDD 000 mov A, #27h ; ''' ; Move (Op1 <- Op2) ROM:5EDF 000 ljmp ROM_6009 ; Long Jump ROM:5EDF ROM:5EE2 ; --------------------------------------------------------------------------- ROM:5EE2 ROM:5EE2 ROM_5EE2: ; CODE XREF: ROM_5E95+3Fj ROM:5EE2 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5EE5 000 mov A, #2 ; Move (Op1 <- Op2) ROM:5EE7 000 movx @DPTR, A ; Move from/to external RAM ROM:5EE8 000 inc DPTR ; Increment Operand ROM:5EE9 000 mov A, #0Eh ; Move (Op1 <- Op2) ROM:5EEB 000 movx @DPTR, A ; Move from/to external RAM ROM:5EEC 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5EEF 000 movx A, @DPTR ; Move from/to external RAM ROM:5EF0 000 mov R4, A ; Move (Op1 <- Op2) ROM:5EF1 000 inc DPTR ; Increment Operand ROM:5EF2 000 movx A, @DPTR ; Move from/to external RAM ROM:5EF3 000 mov R5, A ; Move (Op1 <- Op2) ROM:5EF4 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5EF7 000 movx A, @DPTR ; Move from/to external RAM ROM:5EF8 000 mov R6, A ; Move (Op1 <- Op2) ROM:5EF9 000 inc DPTR ; Increment Operand ROM:5EFA 000 movx A, @DPTR ; Move from/to external RAM ROM:5EFB 000 mov R7, A ; Move (Op1 <- Op2) ROM:5EFC 000 lcall ROM_B5CE ; Long Subroutine Call ROM:5EFC ROM:5EFF 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5F00 000 swap A ; Swap nibbles of Acc ROM:5F01 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:5F03 000 mov DPTR, #6B0h ; Move (Op1 <- Op2) ROM:5F06 000 movx @DPTR, A ; Move from/to external RAM ROM:5F07 000 inc DPTR ; Increment Operand ROM:5F08 000 clr A ; Clear Operand (0) ROM:5F09 000 movx @DPTR, A ; Move from/to external RAM ROM:5F0A 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5F0D 000 movx A, @DPTR ; Move from/to external RAM ROM:5F0E 000 mov R4, A ; Move (Op1 <- Op2) ROM:5F0F 000 inc DPTR ; Increment Operand ROM:5F10 000 movx A, @DPTR ; Move from/to external RAM ROM:5F11 000 mov R5, A ; Move (Op1 <- Op2) ROM:5F12 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5F15 000 movx A, @DPTR ; Move from/to external RAM ROM:5F16 000 mov R6, A ; Move (Op1 <- Op2) ROM:5F17 000 inc DPTR ; Increment Operand ROM:5F18 000 movx A, @DPTR ; Move from/to external RAM ROM:5F19 000 mov R7, A ; Move (Op1 <- Op2) ROM:5F1A 000 lcall ROM_B5CE ; Long Subroutine Call ROM:5F1A ROM:5F1D 000 mov A, R5 ; Move (Op1 <- Op2) ROM:5F1E 000 swap A ; Swap nibbles of Acc ROM:5F1F 000 mov R0, A ; Move (Op1 <- Op2) ROM:5F20 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:5F22 000 xch A, R0 ; Exchange Operands ROM:5F23 000 xrl A, R0 ; Exclusive OR (op1 ^= op2) ROM:5F24 000 mov R7, A ; Move (Op1 <- Op2) ROM:5F25 000 mov A, R4 ; Move (Op1 <- Op2) ROM:5F26 000 swap A ; Swap nibbles of Acc ROM:5F27 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:5F29 000 orl A, R0 ; Logical OR (op1 |= op2) ROM:5F2A 000 mov R6, A ; Move (Op1 <- Op2) ROM:5F2B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5F2C 000 add A, #6 ; Add Second Operand to Acc ROM:5F2E 000 mov R7, A ; Move (Op1 <- Op2) ROM:5F2F 000 clr A ; Clear Operand (0) ROM:5F30 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:5F31 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5F34 000 movx @DPTR, A ; Move from/to external RAM ROM:5F35 000 inc DPTR ; Increment Operand ROM:5F36 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5F37 000 movx @DPTR, A ; Move from/to external RAM ROM:5F38 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5F3B 000 movx A, @DPTR ; Move from/to external RAM ROM:5F3C 000 mov R4, A ; Move (Op1 <- Op2) ROM:5F3D 000 inc DPTR ; Increment Operand ROM:5F3E 000 movx A, @DPTR ; Move from/to external RAM ROM:5F3F 000 mov R5, A ; Move (Op1 <- Op2) ROM:5F40 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5F43 000 movx A, @DPTR ; Move from/to external RAM ROM:5F44 000 mov R6, A ; Move (Op1 <- Op2) ROM:5F45 000 inc DPTR ; Increment Operand ROM:5F46 000 movx A, @DPTR ; Move from/to external RAM ROM:5F47 000 mov R7, A ; Move (Op1 <- Op2) ROM:5F48 000 lcall ROM_B5CE ; Long Subroutine Call ROM:5F48 ROM:5F4B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5F4C 000 mov R6, A ; Move (Op1 <- Op2) ROM:5F4D 000 mov DPTR, #6B1h ; Move (Op1 <- Op2) ROM:5F50 000 movx A, @DPTR ; Move from/to external RAM ROM:5F51 000 add A, #0 ; Add Second Operand to Acc ROM:5F53 000 movx @DPTR, A ; Move from/to external RAM ROM:5F54 000 mov DPTR, #6B0h ; Move (Op1 <- Op2) ROM:5F57 000 movx A, @DPTR ; Move from/to external RAM ROM:5F58 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:5F59 000 movx @DPTR, A ; Move from/to external RAM ROM:5F5A 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5F5D 000 movx A, @DPTR ; Move from/to external RAM ROM:5F5E 000 mov R4, A ; Move (Op1 <- Op2) ROM:5F5F 000 inc DPTR ; Increment Operand ROM:5F60 000 movx A, @DPTR ; Move from/to external RAM ROM:5F61 000 mov R5, A ; Move (Op1 <- Op2) ROM:5F62 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5F65 000 movx A, @DPTR ; Move from/to external RAM ROM:5F66 000 mov R6, A ; Move (Op1 <- Op2) ROM:5F67 000 inc DPTR ; Increment Operand ROM:5F68 000 movx A, @DPTR ; Move from/to external RAM ROM:5F69 000 mov R7, A ; Move (Op1 <- Op2) ROM:5F6A 000 lcall ROM_B5CE ; Long Subroutine Call ROM:5F6A ROM:5F6D 000 mov A, R5 ; Move (Op1 <- Op2) ROM:5F6E 000 swap A ; Swap nibbles of Acc ROM:5F6F 000 mov R0, A ; Move (Op1 <- Op2) ROM:5F70 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:5F72 000 xch A, R0 ; Exchange Operands ROM:5F73 000 xrl A, R0 ; Exclusive OR (op1 ^= op2) ROM:5F74 000 mov R7, A ; Move (Op1 <- Op2) ROM:5F75 000 mov A, R4 ; Move (Op1 <- Op2) ROM:5F76 000 swap A ; Swap nibbles of Acc ROM:5F77 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:5F79 000 orl A, R0 ; Logical OR (op1 |= op2) ROM:5F7A 000 mov R6, A ; Move (Op1 <- Op2) ROM:5F7B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5F7C 000 add A, #0Eh ; Add Second Operand to Acc ROM:5F7E 000 mov R7, A ; Move (Op1 <- Op2) ROM:5F7F 000 clr A ; Clear Operand (0) ROM:5F80 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:5F81 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5F84 000 movx @DPTR, A ; Move from/to external RAM ROM:5F85 000 inc DPTR ; Increment Operand ROM:5F86 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5F87 000 movx @DPTR, A ; Move from/to external RAM ROM:5F88 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5F8B 000 movx A, @DPTR ; Move from/to external RAM ROM:5F8C 000 mov R4, A ; Move (Op1 <- Op2) ROM:5F8D 000 inc DPTR ; Increment Operand ROM:5F8E 000 movx A, @DPTR ; Move from/to external RAM ROM:5F8F 000 mov R5, A ; Move (Op1 <- Op2) ROM:5F90 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5F93 000 movx A, @DPTR ; Move from/to external RAM ROM:5F94 000 mov R6, A ; Move (Op1 <- Op2) ROM:5F95 000 inc DPTR ; Increment Operand ROM:5F96 000 movx A, @DPTR ; Move from/to external RAM ROM:5F97 000 mov R7, A ; Move (Op1 <- Op2) ROM:5F98 000 lcall ROM_B5CE ; Long Subroutine Call ROM:5F98 ROM:5F9B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:5F9C 000 swap A ; Swap nibbles of Acc ROM:5F9D 000 mov R0, A ; Move (Op1 <- Op2) ROM:5F9E 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:5FA0 000 xch A, R0 ; Exchange Operands ROM:5FA1 000 xrl A, R0 ; Exclusive OR (op1 ^= op2) ROM:5FA2 000 mov R7, A ; Move (Op1 <- Op2) ROM:5FA3 000 mov A, R6 ; Move (Op1 <- Op2) ROM:5FA4 000 swap A ; Swap nibbles of Acc ROM:5FA5 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:5FA7 000 orl A, R0 ; Logical OR (op1 |= op2) ROM:5FA8 000 mov R6, A ; Move (Op1 <- Op2) ROM:5FA9 000 mov DPTR, #6B1h ; Move (Op1 <- Op2) ROM:5FAC 000 movx A, @DPTR ; Move from/to external RAM ROM:5FAD 000 add A, R7 ; Add Second Operand to Acc ROM:5FAE 000 movx @DPTR, A ; Move from/to external RAM ROM:5FAF 000 mov DPTR, #6B0h ; Move (Op1 <- Op2) ROM:5FB2 000 movx A, @DPTR ; Move from/to external RAM ROM:5FB3 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:5FB4 000 movx @DPTR, A ; Move from/to external RAM ROM:5FB5 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5FB8 000 movx A, @DPTR ; Move from/to external RAM ROM:5FB9 000 mov R4, A ; Move (Op1 <- Op2) ROM:5FBA 000 inc DPTR ; Increment Operand ROM:5FBB 000 movx A, @DPTR ; Move from/to external RAM ROM:5FBC 000 mov R5, A ; Move (Op1 <- Op2) ROM:5FBD 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5FC0 000 movx A, @DPTR ; Move from/to external RAM ROM:5FC1 000 mov R6, A ; Move (Op1 <- Op2) ROM:5FC2 000 inc DPTR ; Increment Operand ROM:5FC3 000 movx A, @DPTR ; Move from/to external RAM ROM:5FC4 000 mov R7, A ; Move (Op1 <- Op2) ROM:5FC5 000 lcall ROM_B5CE ; Long Subroutine Call ROM:5FC5 ROM:5FC8 000 mov A, R5 ; Move (Op1 <- Op2) ROM:5FC9 000 swap A ; Swap nibbles of Acc ROM:5FCA 000 mov R0, A ; Move (Op1 <- Op2) ROM:5FCB 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:5FCD 000 xch A, R0 ; Exchange Operands ROM:5FCE 000 xrl A, R0 ; Exclusive OR (op1 ^= op2) ROM:5FCF 000 mov R6, A ; Move (Op1 <- Op2) ROM:5FD0 000 mov A, R4 ; Move (Op1 <- Op2) ROM:5FD1 000 swap A ; Swap nibbles of Acc ROM:5FD2 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:5FD4 000 orl A, R0 ; Logical OR (op1 |= op2) ROM:5FD5 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5FD8 000 movx @DPTR, A ; Move from/to external RAM ROM:5FD9 000 inc DPTR ; Increment Operand ROM:5FDA 000 xch A, R6 ; Exchange Operands ROM:5FDB 000 movx @DPTR, A ; Move from/to external RAM ROM:5FDC 000 mov DPTR, #6B2h ; Move (Op1 <- Op2) ROM:5FDF 000 movx A, @DPTR ; Move from/to external RAM ROM:5FE0 000 mov R4, A ; Move (Op1 <- Op2) ROM:5FE1 000 inc DPTR ; Increment Operand ROM:5FE2 000 movx A, @DPTR ; Move from/to external RAM ROM:5FE3 000 mov R5, A ; Move (Op1 <- Op2) ROM:5FE4 000 mov DPTR, #6B4h ; Move (Op1 <- Op2) ROM:5FE7 000 movx A, @DPTR ; Move from/to external RAM ROM:5FE8 000 mov R6, A ; Move (Op1 <- Op2) ROM:5FE9 000 inc DPTR ; Increment Operand ROM:5FEA 000 movx A, @DPTR ; Move from/to external RAM ROM:5FEB 000 mov R7, A ; Move (Op1 <- Op2) ROM:5FEC 000 lcall ROM_B5CE ; Long Subroutine Call ROM:5FEC ROM:5FEF 000 mov DPTR, #6B1h ; Move (Op1 <- Op2) ROM:5FF2 000 movx A, @DPTR ; Move from/to external RAM ROM:5FF3 000 add A, R7 ; Add Second Operand to Acc ROM:5FF4 000 movx @DPTR, A ; Move from/to external RAM ROM:5FF5 000 mov DPTR, #6B0h ; Move (Op1 <- Op2) ROM:5FF8 000 movx A, @DPTR ; Move from/to external RAM ROM:5FF9 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:5FFA 000 movx @DPTR, A ; Move from/to external RAM ROM:5FFB 000 movx A, @DPTR ; Move from/to external RAM ROM:5FFC 000 inc DPTR ; Increment Operand ROM:5FFD 000 movx A, @DPTR ; Move from/to external RAM ROM:5FFE 000 mov DPTR, #22BAh ; Move (Op1 <- Op2) ROM:6001 000 movx @DPTR, A ; Move from/to external RAM ROM:6002 000 mov DPTR, #6B0h ; Move (Op1 <- Op2) ROM:6005 000 movx A, @DPTR ; Move from/to external RAM ROM:6006 000 mov DPTR, #22BBh ; Move (Op1 <- Op2) ROM:6006 ROM:6009 ROM:6009 ROM_6009: ; CODE XREF: ROM_5E95+2Fj ROM:6009 ; ROM_5E95+4Aj ROM:6009 000 movx @DPTR, A ; Move from/to external RAM ROM:600A 000 mov DPTR, #22BAh ; Move (Op1 <- Op2) ROM:600D 000 movx A, @DPTR ; Move from/to external RAM ROM:600E 000 mov DPTR, #55Ch ; Move (Op1 <- Op2) ROM:600E ROM:6011 ROM:6011 ROM_6011: ; CODE XREF: ROM:64FEj ROM:6011 000 movx @DPTR, A ; Move from/to external RAM ROM:6012 000 mov DPTR, #22BBh ; Move (Op1 <- Op2) ROM:6015 000 movx A, @DPTR ; Move from/to external RAM ROM:6016 000 mov DPTR, #55Dh ; Move (Op1 <- Op2) ROM:6019 000 movx @DPTR, A ; Move from/to external RAM ROM:601A 000 ret ; Return from subroutine ROM:601A ROM:601A ; End of function ROM_5E95 ROM:601A ROM:601B ROM:601B ; =============== S U B R O U T I N E ======================================= ROM:601B ROM:601B ROM:601B ROM_601B: ; CODE XREF: ROM_601B+4j ROM:601B ; ROM_6022+18p ... ROM:601B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:601C 000 jz ROM_6021 ; Jump if Acc is zero ROM:601C ROM:601E 000 dec R7 ; Decrement Operand ROM:601F 000 sjmp ROM_601B ; Short jump ROM:601F ROM:6021 ; --------------------------------------------------------------------------- ROM:6021 ROM:6021 ROM_6021: ; CODE XREF: ROM_601B+1j ROM:6021 000 ret ; Return from subroutine ROM:6021 ROM:6021 ; End of function ROM_601B ROM:6021 ROM:6022 ROM:6022 ; =============== S U B R O U T I N E ======================================= ROM:6022 ROM:6022 ROM:6022 ROM_6022: ; CODE XREF: ROM_61FA+29FDp ROM:6022 000 clr A ; Clear Operand (0) ROM:6023 000 mov R6, A ; Move (Op1 <- Op2) ROM:6024 000 mov R5, A ; Move (Op1 <- Op2) ROM:6025 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:6028 000 mov A, #3 ; Move (Op1 <- Op2) ROM:602A 000 movx @DPTR, A ; Move from/to external RAM ROM:602B 000 mov DPTR, #163Bh ; Move (Op1 <- Op2) ROM:602E 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:6030 000 movx @DPTR, A ; Move from/to external RAM ROM:6031 000 mov DPTR, #1606h ; Move (Op1 <- Op2) ROM:6034 000 movx A, @DPTR ; Move from/to external RAM ROM:6035 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:6037 000 movx @DPTR, A ; Move from/to external RAM ROM:6038 000 mov R7, #9Dh ; '¥' ; Move (Op1 <- Op2) ROM:603A 000 lcall ROM_601B ; Long Subroutine Call ROM:603A ROM:603D 000 mov DPTR, #163Bh ; Move (Op1 <- Op2) ROM:6040 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:6042 000 movx @DPTR, A ; Move from/to external RAM ROM:6042 ROM:6043 ROM:6043 ROM_6043: ; CODE XREF: ROM_6022+32j ROM:6043 000 mov DPTR, #1606h ; Move (Op1 <- Op2) ROM:6046 000 movx A, @DPTR ; Move from/to external RAM ROM:6047 000 rrc A ; Rotate Acc right through Carry ROM:6048 000 rrc A ; Rotate Acc right through Carry ROM:6049 000 rrc A ; Rotate Acc right through Carry ROM:604A 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:604C 000 jb ACC.0, ROM_605E ; Accumulator ROM:604C ROM:604F 000 inc R6 ; Increment Operand ROM:6050 000 mov A, R6 ; Move (Op1 <- Op2) ROM:6051 000 setb C ; Set Direct Bit ROM:6052 000 subb A, #0FEh ; '¦' ; Subtract Second Operand from Acc with Borrow ROM:6054 000 jc ROM_6043 ; Jump if Carry is set ROM:6054 ROM:6056 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:6059 000 clr A ; Clear Operand (0) ROM:605A 000 movx @DPTR, A ; Move from/to external RAM ROM:605B 000 mov R7, #0Bh ; Move (Op1 <- Op2) ROM:605D 000 ret ; Return from subroutine ROM:605D ROM:605E ; --------------------------------------------------------------------------- ROM:605E ROM:605E ROM_605E: ; CODE XREF: ROM_6022+2Aj ROM:605E 000 clr A ; Clear Operand (0) ROM:605F 000 mov R5, A ; Move (Op1 <- Op2) ROM:605F ROM:6060 ROM:6060 ROM_6060: ; CODE XREF: ROM_6022+54j ROM:6060 000 mov DPTR, #1606h ; Move (Op1 <- Op2) ROM:6063 000 movx A, @DPTR ; Move from/to external RAM ROM:6064 000 rrc A ; Rotate Acc right through Carry ROM:6065 000 rrc A ; Rotate Acc right through Carry ROM:6066 000 rrc A ; Rotate Acc right through Carry ROM:6067 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:6069 000 jb ACC.0, ROM_6074 ; Accumulator ROM:6069 ROM:606C 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:606F 000 clr A ; Clear Operand (0) ROM:6070 000 movx @DPTR, A ; Move from/to external RAM ROM:6071 000 mov R7, #0Ch ; Move (Op1 <- Op2) ROM:6073 000 ret ; Return from subroutine ROM:6073 ROM:6074 ; --------------------------------------------------------------------------- ROM:6074 ROM:6074 ROM_6074: ; CODE XREF: ROM_6022+47j ROM:6074 000 inc R5 ; Increment Operand ROM:6075 000 mov A, R5 ; Move (Op1 <- Op2) ROM:6076 000 cjne A, #1, ROM_6060 ; Compare Operands and JNE ROM:6076 ROM:6079 000 clr A ; Clear Operand (0) ROM:607A 000 mov R6, A ; Move (Op1 <- Op2) ROM:607A ROM:607B ROM:607B ROM_607B: ; CODE XREF: ROM_6022+6Aj ROM:607B 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:607E 000 movx A, @DPTR ; Move from/to external RAM ROM:607F 000 rrc A ; Rotate Acc right through Carry ROM:6080 000 rrc A ; Rotate Acc right through Carry ROM:6081 000 rrc A ; Rotate Acc right through Carry ROM:6082 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:6084 000 jnb ACC.0, ROM_6096 ; Accumulator ROM:6084 ROM:6087 000 inc R6 ; Increment Operand ROM:6088 000 mov A, R6 ; Move (Op1 <- Op2) ROM:6089 000 setb C ; Set Direct Bit ROM:608A 000 subb A, #0FEh ; '¦' ; Subtract Second Operand from Acc with Borrow ROM:608C 000 jc ROM_607B ; Jump if Carry is set ROM:608C ROM:608E 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:6091 000 clr A ; Clear Operand (0) ROM:6092 000 movx @DPTR, A ; Move from/to external RAM ROM:6093 000 mov R7, #0Dh ; Move (Op1 <- Op2) ROM:6095 000 ret ; Return from subroutine ROM:6095 ROM:6096 ; --------------------------------------------------------------------------- ROM:6096 ROM:6096 ROM_6096: ; CODE XREF: ROM_6022+62j ROM:6096 000 clr A ; Clear Operand (0) ROM:6097 000 mov R5, A ; Move (Op1 <- Op2) ROM:6097 ROM:6098 ROM:6098 ROM_6098: ; CODE XREF: ROM_6022+91j ROM:6098 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:609B 000 movx A, @DPTR ; Move from/to external RAM ROM:609C 000 rrc A ; Rotate Acc right through Carry ROM:609D 000 rrc A ; Rotate Acc right through Carry ROM:609E 000 rrc A ; Rotate Acc right through Carry ROM:609F 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:60A1 000 jnb ACC.0, ROM_60AC ; Accumulator ROM:60A1 ROM:60A4 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:60A7 000 clr A ; Clear Operand (0) ROM:60A8 000 movx @DPTR, A ; Move from/to external RAM ROM:60A9 000 mov R7, #0Eh ; Move (Op1 <- Op2) ROM:60AB 000 ret ; Return from subroutine ROM:60AB ROM:60AC ; --------------------------------------------------------------------------- ROM:60AC ROM:60AC ROM_60AC: ; CODE XREF: ROM_6022+7Fj ROM:60AC 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:60AE 000 lcall ROM_601B ; Long Subroutine Call ROM:60AE ROM:60B1 000 inc R5 ; Increment Operand ROM:60B2 000 mov A, R5 ; Move (Op1 <- Op2) ROM:60B3 000 cjne A, #4, ROM_6098 ; Compare Operands and JNE ROM:60B3 ROM:60B6 000 clr A ; Clear Operand (0) ROM:60B7 000 mov R6, A ; Move (Op1 <- Op2) ROM:60B7 ROM:60B8 ROM:60B8 ROM_60B8: ; CODE XREF: ROM_6022+A7j ROM:60B8 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:60BB 000 movx A, @DPTR ; Move from/to external RAM ROM:60BC 000 rrc A ; Rotate Acc right through Carry ROM:60BD 000 rrc A ; Rotate Acc right through Carry ROM:60BE 000 rrc A ; Rotate Acc right through Carry ROM:60BF 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:60C1 000 jb ACC.0, ROM_60D3 ; Accumulator ROM:60C1 ROM:60C4 000 inc R6 ; Increment Operand ROM:60C5 000 mov A, R6 ; Move (Op1 <- Op2) ROM:60C6 000 setb C ; Set Direct Bit ROM:60C7 000 subb A, #0FEh ; '¦' ; Subtract Second Operand from Acc with Borrow ROM:60C9 000 jc ROM_60B8 ; Jump if Carry is set ROM:60C9 ROM:60CB 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:60CE 000 clr A ; Clear Operand (0) ROM:60CF 000 movx @DPTR, A ; Move from/to external RAM ROM:60D0 000 mov R7, #0Fh ; Move (Op1 <- Op2) ROM:60D2 000 ret ; Return from subroutine ROM:60D2 ROM:60D3 ; --------------------------------------------------------------------------- ROM:60D3 ROM:60D3 ROM_60D3: ; CODE XREF: ROM_6022+9Fj ROM:60D3 000 mov R7, #9Dh ; '¥' ; Move (Op1 <- Op2) ROM:60D5 000 lcall ROM_601B ; Long Subroutine Call ROM:60D5 ROM:60D8 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:60DB 000 clr A ; Clear Operand (0) ROM:60DC 000 movx @DPTR, A ; Move from/to external RAM ROM:60DD 000 mov R7, #0FFh ; Move (Op1 <- Op2) ROM:60DF 000 ret ; Return from subroutine ROM:60DF ROM:60DF ; End of function ROM_6022 ROM:60DF ROM:60E0 ROM:60E0 ; =============== S U B R O U T I N E ======================================= ROM:60E0 ROM:60E0 ROM:60E0 ROM_60E0: ; CODE XREF: ROM_610E:ROM_612Bp ROM:60E0 000 mov DPTR, #163Bh ; Move (Op1 <- Op2) ROM:60E3 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:60E5 000 movx @DPTR, A ; Move from/to external RAM ROM:60E6 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:60E9 000 movx A, @DPTR ; Move from/to external RAM ROM:60EA 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:60EC 000 movx @DPTR, A ; Move from/to external RAM ROM:60ED 000 mov C, RAM_2D.2 ; Move (Op1 <- Op2) ROM:60EF 000 clr A ; Clear Operand (0) ROM:60EF ROM:60F0 ROM:60F0 ROM_60F0: ; CODE XREF: ROM_6477+3j ROM:60F0 000 rlc A ; Rotate Acc left through Carry ROM:60F1 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:60F3 000 rlc A ; Rotate Acc left through Carry ROM:60F4 000 rlc A ; Rotate Acc left through Carry ROM:60F5 000 rlc A ; Rotate Acc left through Carry ROM:60F6 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:60F8 000 mov R7, A ; Move (Op1 <- Op2) ROM:60F9 000 movx A, @DPTR ; Move from/to external RAM ROM:60FA 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:60FC 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:60FD 000 movx @DPTR, A ; Move from/to external RAM ROM:60FE 000 mov R7, #14h ; Move (Op1 <- Op2) ROM:60FE ROM:6100 ROM:6100 ROM_6100: ; CODE XREF: ROM:1821j ROM:6100 000 lcall ROM_601B ; Long Subroutine Call ROM:6100 ROM:6103 000 mov DPTR, #163Bh ; Move (Op1 <- Op2) ROM:6106 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:6108 000 movx @DPTR, A ; Move from/to external RAM ROM:6109 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:610B 000 ljmp ROM_601B ; Long Jump ROM:610B ROM:610B ; End of function ROM_60E0 ROM:610B ROM:610E ROM:610E ; =============== S U B R O U T I N E ======================================= ROM:610E ROM:610E ROM:610E ROM_610E: ; CODE XREF: ROM_61FA+2A09p ROM:610E ; ROM_61FA+2A0Ep ... ROM:610E 000 mov R6, RAM_7 ; Move (Op1 <- Op2) ROM:6110 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:6113 000 mov A, #3 ; Move (Op1 <- Op2) ROM:6115 000 movx @DPTR, A ; Move from/to external RAM ROM:6116 000 clr A ; Clear Operand (0) ROM:6117 000 mov R5, A ; Move (Op1 <- Op2) ROM:6117 ROM:6118 ROM:6118 ROM_6118: ; CODE XREF: ROM_610E+22j ROM:6118 000 mov A, R6 ; Move (Op1 <- Op2) ROM:6119 000 mov R0, RAM_5 ; Move (Op1 <- Op2) ROM:611B 000 inc R0 ; Increment Operand ROM:611C 000 sjmp ROM_6120 ; Short jump ROM:611C ROM:611E ; --------------------------------------------------------------------------- ROM:611E ROM:611E ROM_611E: ; CODE XREF: ROM_610E:ROM_6120j ROM:611E 000 clr C ; Clear Operand (0) ROM:611F 000 rrc A ; Rotate Acc right through Carry ROM:611F ROM:6120 ROM:6120 ROM_6120: ; CODE XREF: ROM_610E+Ej ROM:6120 000 djnz R0, ROM_611E ; Decrement Operand and JNZ ROM:6120 ROM:6122 000 jnb ACC.0, ROM_6129 ; Accumulator ROM:6122 ROM:6125 000 setb RAM_2D.2 ; Set Direct Bit ROM:6127 000 sjmp ROM_612B ; Short jump ROM:6127 ROM:6129 ; --------------------------------------------------------------------------- ROM:6129 ROM:6129 ROM_6129: ; CODE XREF: ROM_610E+14j ROM:6129 000 clr RAM_2D.2 ; Clear Operand (0) ROM:6129 ROM:612B ROM:612B ROM_612B: ; CODE XREF: ROM_610E+19j ROM:612B 000 lcall ROM_60E0 ; Long Subroutine Call ROM:612B ROM:612E 000 inc R5 ; Increment Operand ROM:612F 000 mov A, R5 ; Move (Op1 <- Op2) ROM:6130 000 cjne A, #8, ROM_6118 ; Compare Operands and JNE ROM:6130 ROM:6133 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:6136 000 clr A ; Clear Operand (0) ROM:6137 000 movx @DPTR, A ; Move from/to external RAM ROM:6138 000 ret ; Return from subroutine ROM:6138 ROM:6138 ; End of function ROM_610E ROM:6138 ROM:6139 ROM:6139 ; =============== S U B R O U T I N E ======================================= ROM:6139 ROM:6139 ROM:6139 ROM_6139: ; CODE XREF: ROM_6160:ROM_616Ap ROM:6139 000 mov DPTR, #163Bh ; Move (Op1 <- Op2) ROM:613C 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:613E 000 movx @DPTR, A ; Move from/to external RAM ROM:613F 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:6142 000 movx A, @DPTR ; Move from/to external RAM ROM:6143 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:6145 000 movx @DPTR, A ; Move from/to external RAM ROM:6146 000 mov DPTR, #163Bh ; Move (Op1 <- Op2) ROM:6149 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:614B 000 movx @DPTR, A ; Move from/to external RAM ROM:614C 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:614F 000 movx A, @DPTR ; Move from/to external RAM ROM:6150 000 rrc A ; Rotate Acc right through Carry ROM:6151 000 rrc A ; Rotate Acc right through Carry ROM:6152 000 rrc A ; Rotate Acc right through Carry ROM:6153 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:6155 000 rrc A ; Rotate Acc right through Carry ROM:6156 000 mov RAM_2D.3, C ; Move (Op1 <- Op2) ROM:6158 000 mov R7, #0Fh ; Move (Op1 <- Op2) ROM:615A 000 lcall ROM_601B ; Long Subroutine Call ROM:615A ROM:615D 000 mov C, RAM_2D.3 ; Move (Op1 <- Op2) ROM:615F 000 ret ; Return from subroutine ROM:615F ROM:615F ; End of function ROM_6139 ROM:615F ROM:6160 ROM:6160 ; =============== S U B R O U T I N E ======================================= ROM:6160 ROM:6160 ROM:6160 ROM_6160: ; CODE XREF: ROM_8B9D+2Ep ROM:6160 ; ROM_61FA+2A1Bp ROM:6160 000 clr A ; Clear Operand (0) ROM:6161 000 mov R6, A ; Move (Op1 <- Op2) ROM:6162 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:6165 000 mov A, #3 ; Move (Op1 <- Op2) ROM:6167 000 movx @DPTR, A ; Move from/to external RAM ROM:6168 000 clr A ; Clear Operand (0) ROM:6169 000 mov R5, A ; Move (Op1 <- Op2) ROM:6169 ROM:616A ROM:616A ROM_616A: ; CODE XREF: ROM_6160+1Dj ROM:616A 000 lcall ROM_6139 ; Long Subroutine Call ROM:616A ROM:616D 000 clr A ; Clear Operand (0) ROM:616E 000 rlc A ; Rotate Acc left through Carry ROM:616F 000 mov R7, A ; Move (Op1 <- Op2) ROM:6170 000 mov R0, RAM_5 ; Move (Op1 <- Op2) ROM:6172 000 inc R0 ; Increment Operand ROM:6173 000 sjmp ROM_6177 ; Short jump ROM:6173 ROM:6175 ; --------------------------------------------------------------------------- ROM:6175 ROM:6175 ROM_6175: ; CODE XREF: ROM_6160:ROM_6177j ROM:6175 000 clr C ; Clear Operand (0) ROM:6176 000 rlc A ; Rotate Acc left through Carry ROM:6176 ROM:6177 ROM:6177 ROM_6177: ; CODE XREF: ROM_6160+13j ROM:6177 000 djnz R0, ROM_6175 ; Decrement Operand and JNZ ROM:6177 ROM:6179 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:617A 000 mov R6, A ; Move (Op1 <- Op2) ROM:617B 000 inc R5 ; Increment Operand ROM:617C 000 mov A, R5 ; Move (Op1 <- Op2) ROM:617D 000 cjne A, #8, ROM_616A ; Compare Operands and JNE ROM:617D ROM:6180 000 mov DPTR, #SMFI_RESERVED ; Move (Op1 <- Op2) ROM:6183 000 clr A ; Clear Operand (0) ROM:6184 000 movx @DPTR, A ; Move from/to external RAM ROM:6185 000 mov R7, RAM_6 ; Move (Op1 <- Op2) ROM:6187 000 ret ; Return from subroutine ROM:6187 ROM:6187 ; End of function ROM_6160 ROM:6187 ROM:6188 ; --------------------------------------------------------------------------- ROM:6188 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:6189 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:618A subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:618B subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:618C sjmp ROM_610E+1 ; Short jump ROM:618C ROM:618E ; --------------------------------------------------------------------------- ROM:618E anl C, P0.3 ; Port 0 ROM:6190 div AB ; Divide Acc by B ROM:6191 mov FSR_9F, SPDR ; SPI Data Register ROM:6194 mov TL0, @R1 ; Timer 0 Low Byte ROM:6196 mov FSR_9F, R3 ; Move (Op1 <- Op2) ROM:6196 ROM:6198 ROM:6198 ; =============== S U B R O U T I N E ======================================= ROM:6198 ROM:6198 ROM:6198 ROM_6198: ; CODE XREF: ROM_62B3p ROM:6198 000 mov DPTR, #540h ; Move (Op1 <- Op2) ROM:619B 000 movx A, @DPTR ; Move from/to external RAM ROM:619C 000 inc A ; Increment Operand ROM:619D 000 movx @DPTR, A ; Move from/to external RAM ROM:619E 000 mov DPTR, #2285h ; Move (Op1 <- Op2) ROM:61A1 000 movx A, @DPTR ; Move from/to external RAM ROM:61A2 000 jnz ROM_61AA ; Jump if Acc is not zero ROM:61A2 ROM:61A4 000 orl FSR_8E, #0C0h ; Logical OR (op1 |= op2) ROM:61A7 000 orl FSR_D8, #3 ; Logical OR (op1 |= op2) ROM:61A7 ROM:61AA ROM:61AA ROM_61AA: ; CODE XREF: ROM_6198+Aj ROM:61AA 000 mov DPTR, #2285h ; Move (Op1 <- Op2) ROM:61AD 000 movx A, @DPTR ; Move from/to external RAM ROM:61AE 000 cjne A, #1, ROM_61B7 ; Compare Operands and JNE ROM:61AE ROM:61B1 000 anl FSR_8E, #3Fh ; Logical AND (op1 &= op2) ROM:61B4 000 clr A ; Clear Operand (0) ROM:61B5 000 mov FSR_D8, A ; Move (Op1 <- Op2) ROM:61B5 ROM:61B7 ROM:61B7 ROM_61B7: ; CODE XREF: ROM_6198+16j ROM:61B7 000 lcall ROM_94DD ; Long Subroutine Call ROM:61B7 ROM:61BA 000 lcall ROM_742D ; Long Subroutine Call ROM:61BA ROM:61BD 000 lcall ROM_7D7C ; Long Subroutine Call ROM:61BD ROM:61C0 000 lcall ROM_7E25 ; Long Subroutine Call ROM:61C0 ROM:61C3 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:61C6 000 movx A, @DPTR ; Move from/to external RAM ROM:61C7 000 add A, #0FDh ; '²' ; Add Second Operand to Acc ROM:61C9 000 jz ROM_61D8 ; Jump if Acc is zero ROM:61C9 ROM:61CB 000 add A, #0FEh ; '¦' ; Add Second Operand to Acc ROM:61CD 000 jz ROM_61D8 ; Jump if Acc is zero ROM:61CD ROM:61CF 000 add A, #4 ; Add Second Operand to Acc ROM:61D1 000 jnz ROM_61E4 ; Jump if Acc is not zero ROM:61D1 ROM:61D3 000 lcall ROM_73EB ; Long Subroutine Call ROM:61D3 ROM:61D6 000 sjmp ROM_61E4 ; Short jump ROM:61D6 ROM:61D8 ; --------------------------------------------------------------------------- ROM:61D8 ROM:61D8 ROM_61D8: ; CODE XREF: ROM_6198+31j ROM:61D8 ; ROM_6198+35j ROM:61D8 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:61DB 000 movx A, @DPTR ; Move from/to external RAM ROM:61DC 000 jnz ROM_61E4 ; Jump if Acc is not zero ROM:61DC ROM:61DE 000 lcall ROM_7405 ; Long Subroutine Call ROM:61DE ROM:61E1 000 lcall ROM_7151 ; Long Subroutine Call ROM:61E1 ROM:61E4 ROM:61E4 ROM_61E4: ; CODE XREF: ROM_6198+39j ROM:61E4 ; ROM_6198+3Ej ... ROM:61E4 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:61E7 000 movx A, @DPTR ; Move from/to external RAM ROM:61E8 000 jnz ROM_61F0 ; Jump if Acc is not zero ROM:61E8 ROM:61EA 000 lcall ROM_738E ; Long Subroutine Call ROM:61EA ROM:61ED 000 lcall ROM_72DB ; Long Subroutine Call ROM:61ED ROM:61F0 ROM:61F0 ROM_61F0: ; CODE XREF: ROM_6198+50j ROM:61F0 000 ret ; Return from subroutine ROM:61F0 ROM:61F0 ; End of function ROM_6198 ROM:61F0 ROM:61F1 ROM:61F1 ; =============== S U B R O U T I N E ======================================= ROM:61F1 ROM:61F1 ROM:61F1 ROM_61F1: ; CODE XREF: ROM_62B3+Dp ROM:61F1 ROM:61F1 ; FUNCTION CHUNK AT ROM:9463 SIZE 0000007A BYTES ROM:61F1 ROM:61F1 000 mov DPTR, #541h ; Move (Op1 <- Op2) ROM:61F4 000 movx A, @DPTR ; Move from/to external RAM ROM:61F5 000 inc A ; Increment Operand ROM:61F6 000 movx @DPTR, A ; Move from/to external RAM ROM:61F7 000 ljmp ROM_9463 ; Long Jump ROM:61F7 ROM:61F7 ; End of function ROM_61F1 ROM:61F7 ROM:61FA ROM:61FA ; =============== S U B R O U T I N E ======================================= ROM:61FA ROM:61FA ROM:61FA ROM_61FA: ; CODE XREF: ROM_62B3+1Cp ROM:61FA ROM:61FA ; FUNCTION CHUNK AT ROM:8BE4 SIZE 00000123 BYTES ROM:61FA ROM:61FA 000 mov DPTR, #542h ; Move (Op1 <- Op2) ROM:61FD 000 movx A, @DPTR ; Move from/to external RAM ROM:61FE 000 inc A ; Increment Operand ROM:61FF 000 movx @DPTR, A ; Move from/to external RAM ROM:6200 000 lcall ROM_8442 ; Long Subroutine Call ROM:6200 ROM:6203 000 lcall ROM_8D07 ; Long Subroutine Call ROM:6203 ROM:6206 000 ljmp ROM_8BE4 ; Long Jump ROM:6206 ROM:6206 ; End of function ROM_61FA ROM:6206 ROM:6209 ROM:6209 ; =============== S U B R O U T I N E ======================================= ROM:6209 ROM:6209 ROM:6209 ROM_6209: ; CODE XREF: ROM_62B3+29p ROM:6209 000 lcall ROM_850D ; Long Subroutine Call ROM:6209 ROM:620C 000 lcall ROM_81FB ; Long Subroutine Call ROM:620C ROM:620F 000 lcall ROM_8B4C ; Long Subroutine Call ROM:620F ROM:6212 000 lcall ROM_8B76 ; Long Subroutine Call ROM:6212 ROM:6215 000 lcall ROM_9311 ; Long Subroutine Call ROM:6215 ROM:6218 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:621B 000 movx A, @DPTR ; Move from/to external RAM ROM:621C 000 cjne A, #1, ROM_6225 ; Compare Operands and JNE ROM:621C ROM:621F 000 lcall ROM_929F ; Long Subroutine Call ROM:621F ROM:6222 000 lcall ROM_7774 ; Long Subroutine Call ROM:6222 ROM:6225 ROM:6225 ROM_6225: ; CODE XREF: ROM_6209+13j ROM:6225 000 ret ; Return from subroutine ROM:6225 ROM:6225 ; End of function ROM_6209 ROM:6225 ROM:6226 ROM:6226 ; =============== S U B R O U T I N E ======================================= ROM:6226 ROM:6226 ROM:6226 ROM_6226: ; CODE XREF: ROM_62B3+38p ROM:6226 ROM:6226 ; FUNCTION CHUNK AT ROM:914D SIZE 000000E5 BYTES ROM:6226 ROM:6226 000 mov DPTR, #544h ; Move (Op1 <- Op2) ROM:6229 000 movx A, @DPTR ; Move from/to external RAM ROM:622A 000 inc A ; Increment Operand ROM:622B 000 movx @DPTR, A ; Move from/to external RAM ROM:622C 000 ljmp ROM_914D ; Long Jump ROM:622C ROM:622C ; End of function ROM_6226 ROM:622C ROM:622F ROM:622F ; =============== S U B R O U T I N E ======================================= ROM:622F ROM:622F ROM:622F ROM_622F: ; CODE XREF: ROM_62B3+45p ROM:622F 000 mov DPTR, #22BEh ; Move (Op1 <- Op2) ROM:6232 000 clr A ; Clear Operand (0) ROM:6233 000 movx @DPTR, A ; Move from/to external RAM ROM:6234 000 inc DPTR ; Increment Operand ROM:6235 000 mov A, #24h ; '$' ; Move (Op1 <- Op2) ROM:6237 000 movx @DPTR, A ; Move from/to external RAM ROM:6238 000 mov DPTR, #545h ; Move (Op1 <- Op2) ROM:623B 000 movx A, @DPTR ; Move from/to external RAM ROM:623C 000 inc A ; Increment Operand ROM:623D 000 movx @DPTR, A ; Move from/to external RAM ROM:623E 000 lcall ROM_765B ; Long Subroutine Call ROM:623E ROM:6241 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:6244 000 movx A, @DPTR ; Move from/to external RAM ROM:6245 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:6247 000 jnz ROM_6279 ; Jump if Acc is not zero ROM:6247 ROM:6249 000 lcall ROM_985F ; Long Subroutine Call ROM:6249 ROM:624C 000 lcall ROM_8F83 ; Long Subroutine Call ROM:624C ROM:624F 000 lcall ROM_90AC ; Long Subroutine Call ROM:624F ROM:6252 000 mov DPTR, #PWM_F1TMRR ; Fan 1 Tachometer MSB Reading ROM:6255 000 movx A, @DPTR ; Move from/to external RAM ROM:6256 000 mov R7, A ; Move (Op1 <- Op2) ROM:6257 000 mov DPTR, #PWM_F1TLRR ; Fan 1 Tachometer LSB Reading ROM:625A 000 movx A, @DPTR ; Move from/to external RAM ROM:625B 000 mov R5, A ; Move (Op1 <- Op2) ROM:625C 000 lcall ROM_5E95 ; Long Subroutine Call ROM:625C ROM:625F 000 lcall ROM_8FFB ; Long Subroutine Call ROM:625F ROM:6262 000 mov R5, #7 ; Move (Op1 <- Op2) ROM:6264 000 mov R7, #3 ; Move (Op1 <- Op2) ROM:6266 000 lcall configure_ADC ; Long Subroutine Call ROM:6266 ROM:6269 000 mov DPTR, #ADC_VCH3DATL ; Voltage Channel 3 Data Buffer LSB ROM:626C 000 movx A, @DPTR ; Move from/to external RAM ROM:626D 000 mov DPTR, #22B0h ; Move (Op1 <- Op2) ROM:6270 000 movx @DPTR, A ; Move from/to external RAM ROM:6271 000 mov DPTR, #ADC_VCH3DATM ; Voltage Channel 3 Data Buffer MSB ROM:6274 000 movx A, @DPTR ; Move from/to external RAM ROM:6275 000 mov DPTR, #22B1h ; Move (Op1 <- Op2) ROM:6278 000 movx @DPTR, A ; Move from/to external RAM ROM:6278 ROM:6279 ROM:6279 ROM_6279: ; CODE XREF: ROM_622F+18j ROM:6279 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:627C 000 movx A, @DPTR ; Move from/to external RAM ROM:627D 000 cjne A, #3, ROM_6283 ; Compare Operands and JNE ROM:627D ROM:6280 000 lcall ROM_7680 ; Long Subroutine Call ROM:6280 ROM:6283 ROM:6283 ROM_6283: ; CODE XREF: ROM_622F+4Ej ROM:6283 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:6286 000 movx A, @DPTR ; Move from/to external RAM ROM:6287 000 cjne A, #5, ROM_629F ; Compare Operands and JNE ROM:6287 ROM:628A 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:628D 000 movx A, @DPTR ; Move from/to external RAM ROM:628E 000 clr C ; Clear Operand (0) ROM:628F 000 subb A, #80h ; 'Ç' ; Subtract Second Operand from Acc with Borrow ROM:6291 000 jc ROM_629F ; Jump if Carry is set ROM:6291 ROM:6293 000 movx A, @DPTR ; Move from/to external RAM ROM:6294 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:6296 000 movx @DPTR, A ; Move from/to external RAM ROM:6297 000 clr A ; Clear Operand (0) ROM:6298 000 mov DPTR, #0Ch ; Move (Op1 <- Op2) ROM:629B 000 movx @DPTR, A ; Move from/to external RAM ROM:629C 000 lcall ROM_108F ; Long Subroutine Call ROM:629C ROM:629F ROM:629F ROM_629F: ; CODE XREF: ROM_622F+58j ROM:629F ; ROM_622F+62j ROM:629F 000 ret ; Return from subroutine ROM:629F ROM:629F ; End of function ROM_622F ROM:629F ROM:62A0 ROM:62A0 ; =============== S U B R O U T I N E ======================================= ROM:62A0 ROM:62A0 ROM:62A0 ROM_62A0: ; CODE XREF: ROM_62B3+54p ROM:62A0 000 mov DPTR, #546h ; Move (Op1 <- Op2) ROM:62A3 000 movx A, @DPTR ; Move from/to external RAM ROM:62A4 000 inc A ; Increment Operand ROM:62A5 000 movx @DPTR, A ; Move from/to external RAM ROM:62A6 000 ret ; Return from subroutine ROM:62A6 ROM:62A6 ; End of function ROM_62A0 ROM:62A6 ROM:62A7 ; --------------------------------------------------------------------------- ROM:62A7 ret ; Return from subroutine ROM:62A7 ROM:62A8 ROM:62A8 ; =============== S U B R O U T I N E ======================================= ROM:62A8 ROM:62A8 ROM:62A8 nullsub_5: ; CODE XREF: ROM_10FAp ROM:62A8 000 ret ; Return from subroutine ROM:62A8 ROM:62A8 ; End of function nullsub_5 ROM:62A8 ROM:62A9 ; --------------------------------------------------------------------------- ROM:62A9 clr RAM_20.2 ; Clear Operand (0) ROM:62AB ret ; Return from subroutine ROM:62AB ROM:62AC ROM:62AC ; =============== S U B R O U T I N E ======================================= ROM:62AC ROM:62AC ROM:62AC ROM_62AC: ; CODE XREF: write_prepare+1Ep ROM:62AC 000 mov DPTR, #2 ; Move (Op1 <- Op2) ROM:62AF 000 mov A, #11h ; Move (Op1 <- Op2) ROM:62B1 000 movx @DPTR, A ; Move from/to external RAM ROM:62B2 000 ret ; Return from subroutine ROM:62B2 ROM:62B2 ; End of function ROM_62AC ROM:62B2 ROM:62B3 ROM:62B3 ; =============== S U B R O U T I N E ======================================= ROM:62B3 ROM:62B3 ROM:62B3 ROM_62B3: ROM:62B3 000 lcall ROM_6198 ; Long Subroutine Call ROM:62B3 ROM:62B6 000 mov DPTR, #0B8h ; '+' ; Move (Op1 <- Op2) ROM:62B9 000 movx A, @DPTR ; Move from/to external RAM ROM:62BA 000 inc A ; Increment Operand ROM:62BB 000 movx @DPTR, A ; Move from/to external RAM ROM:62BC 000 movx A, @DPTR ; Move from/to external RAM ROM:62BD 000 jnb ACC.0, ROM_630A ; Accumulator ROM:62BD ROM:62C0 000 lcall ROM_61F1 ; Long Subroutine Call ROM:62C0 ROM:62C3 000 mov DPTR, #0B9h ; '¦' ; Move (Op1 <- Op2) ROM:62C6 000 movx A, @DPTR ; Move from/to external RAM ROM:62C7 000 inc A ; Increment Operand ROM:62C8 000 movx @DPTR, A ; Move from/to external RAM ROM:62C9 000 movx A, @DPTR ; Move from/to external RAM ROM:62CA 000 xrl A, #5 ; Exclusive OR (op1 ^= op2) ROM:62CC 000 jnz ROM_630A ; Jump if Acc is not zero ROM:62CC ROM:62CE 000 movx @DPTR, A ; Move from/to external RAM ROM:62CF 000 lcall ROM_61FA ; Long Subroutine Call ROM:62CF ROM:62D2 000 mov DPTR, #0BAh ; '¦' ; Move (Op1 <- Op2) ROM:62D5 000 movx A, @DPTR ; Move from/to external RAM ROM:62D6 000 inc A ; Increment Operand ROM:62D7 000 movx @DPTR, A ; Move from/to external RAM ROM:62D8 000 movx A, @DPTR ; Move from/to external RAM ROM:62D9 000 jnb ACC.0, ROM_630A ; Accumulator ROM:62D9 ROM:62DC 000 lcall ROM_6209 ; Long Subroutine Call ROM:62DC ROM:62DF 000 mov DPTR, #0BBh ; '+' ; Move (Op1 <- Op2) ROM:62E2 000 movx A, @DPTR ; Move from/to external RAM ROM:62E3 000 inc A ; Increment Operand ROM:62E4 000 movx @DPTR, A ; Move from/to external RAM ROM:62E5 000 movx A, @DPTR ; Move from/to external RAM ROM:62E6 000 xrl A, #5 ; Exclusive OR (op1 ^= op2) ROM:62E8 000 jnz ROM_630A ; Jump if Acc is not zero ROM:62E8 ROM:62EA 000 movx @DPTR, A ; Move from/to external RAM ROM:62EB 000 lcall ROM_6226 ; Long Subroutine Call ROM:62EB ROM:62EE 000 mov DPTR, #0BCh ; '+' ; Move (Op1 <- Op2) ROM:62F1 000 movx A, @DPTR ; Move from/to external RAM ROM:62F2 000 inc A ; Increment Operand ROM:62F3 000 movx @DPTR, A ; Move from/to external RAM ROM:62F4 000 movx A, @DPTR ; Move from/to external RAM ROM:62F5 000 jnb ACC.0, ROM_630A ; Accumulator ROM:62F5 ROM:62F8 000 lcall ROM_622F ; Long Subroutine Call ROM:62F8 ROM:62FB 000 mov DPTR, #0BDh ; '+' ; Move (Op1 <- Op2) ROM:62FE 000 movx A, @DPTR ; Move from/to external RAM ROM:62FF 000 inc A ; Increment Operand ROM:6300 000 movx @DPTR, A ; Move from/to external RAM ROM:6301 000 movx A, @DPTR ; Move from/to external RAM ROM:6302 000 cjne A, #3Ch, ROM_630A ; '<' ; Compare Operands and JNE ROM:6302 ROM:6305 000 clr A ; Clear Operand (0) ROM:6306 000 movx @DPTR, A ; Move from/to external RAM ROM:6307 000 lcall ROM_62A0 ; Long Subroutine Call ROM:6307 ROM:630A ROM:630A ROM_630A: ; CODE XREF: ROM_62B3+Aj ROM:630A ; ROM_62B3+19j ... ROM:630A 000 ret ; Return from subroutine ROM:630A ROM:630A ; End of function ROM_62B3 ROM:630A ROM:630B ROM:630B ; =============== S U B R O U T I N E ======================================= ROM:630B ROM:630B ROM:630B ROM_630B: ; CODE XREF: ROM_108F+4Ap ROM:630B 000 lcall interact_over_ports ; Long Subroutine Call ROM:630B ROM:630E 000 mov DPTR, #500h ; Move (Op1 <- Op2) ROM:6311 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:6313 000 movx @DPTR, A ; Move from/to external RAM ROM:6314 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:6317 000 clr A ; Clear Operand (0) ROM:6318 000 movx @DPTR, A ; Move from/to external RAM ROM:6319 000 inc DPTR ; Increment Operand ROM:631A 000 movx @DPTR, A ; Move from/to external RAM ROM:631B 000 inc DPTR ; Increment Operand ROM:631C 000 movx @DPTR, A ; Move from/to external RAM ROM:631D 000 inc DPTR ; Increment Operand ROM:631E 000 movx @DPTR, A ; Move from/to external RAM ROM:631F 000 lcall ROM_7788 ; Long Subroutine Call ROM:631F ROM:6322 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:6325 000 mov A, #5 ; Move (Op1 <- Op2) ROM:6327 000 movx @DPTR, A ; Move from/to external RAM ROM:6328 000 lcall ROM_5C88 ; Long Subroutine Call ROM:6328 ROM:632B 000 mov DPTR, #PWM_CTR ; Cycle Time ROM:632E 000 mov A, #0EEh ; 'e' ; Move (Op1 <- Op2) ROM:6330 000 movx @DPTR, A ; Move from/to external RAM ROM:6331 000 mov DPTR, #1841h ; Move (Op1 <- Op2) ROM:6334 000 movx @DPTR, A ; Move from/to external RAM ROM:6335 000 inc DPTR ; Increment Operand ROM:6336 000 movx @DPTR, A ; Move from/to external RAM ROM:6337 000 inc DPTR ; Increment Operand ROM:6338 000 movx @DPTR, A ; Move from/to external RAM ROM:6339 000 mov DPTR, #582h ; Move (Op1 <- Op2) ROM:633C 000 clr A ; Clear Operand (0) ROM:633D 000 movx @DPTR, A ; Move from/to external RAM ROM:633E 000 inc DPTR ; Increment Operand ROM:633F 000 mov A, #0Ah ; Move (Op1 <- Op2) ROM:6341 000 movx @DPTR, A ; Move from/to external RAM ROM:6342 000 mov DPTR, #521h ; Move (Op1 <- Op2) ROM:6345 000 movx @DPTR, A ; Move from/to external RAM ROM:6346 000 mov DPTR, #51Ch ; Move (Op1 <- Op2) ROM:6349 000 movx @DPTR, A ; Move from/to external RAM ROM:634A 000 mov DPTR, #519h ; Move (Op1 <- Op2) ROM:634D 000 mov A, #3 ; Move (Op1 <- Op2) ROM:634F 000 movx @DPTR, A ; Move from/to external RAM ROM:6350 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:6353 000 sjmp ROM_6388 ; Short jump ROM:6353 ROM:6355 ; --------------------------------------------------------------------------- ROM:6355 ROM:6355 ROM_6355: ; CODE XREF: ROM_630B+69j ROM:6355 ; ROM_630B+78j ... ROM:6355 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:6358 000 movx A, @DPTR ; Move from/to external RAM ROM:6359 000 cpl A ; Complement Operand ROM:635A 000 jz ROM_6392 ; Jump if Acc is zero ROM:635A ROM:635C 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:635F 000 movx A, @DPTR ; Move from/to external RAM ROM:6360 000 jb ACC.0, ROM_6376 ; Accumulator ROM:6360 ROM:6363 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:6366 000 movx A, @DPTR ; Move from/to external RAM ROM:6367 000 jnz ROM_636B ; Jump if Acc is not zero ROM:6367 ROM:6369 000 sjmp ROM_637D ; Short jump ROM:6369 ROM:636B ; --------------------------------------------------------------------------- ROM:636B ROM:636B ROM_636B: ; CODE XREF: ROM_630B+5Cj ROM:636B 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:636E 000 clr A ; Clear Operand (0) ROM:636F 000 movx @DPTR, A ; Move from/to external RAM ROM:6370 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:6373 000 movx @DPTR, A ; Move from/to external RAM ROM:6374 000 sjmp ROM_6355 ; Short jump ROM:6374 ROM:6376 ; --------------------------------------------------------------------------- ROM:6376 ROM:6376 ROM_6376: ; CODE XREF: ROM_630B+55j ROM:6376 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:6379 000 movx A, @DPTR ; Move from/to external RAM ROM:637A 000 cjne A, #1, ROM_6385 ; Compare Operands and JNE ROM:637A ROM:637D ROM:637D ROM_637D: ; CODE XREF: ROM_630B+5Ej ROM:637D 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:6380 000 movx A, @DPTR ; Move from/to external RAM ROM:6381 000 inc A ; Increment Operand ROM:6382 000 movx @DPTR, A ; Move from/to external RAM ROM:6383 000 sjmp ROM_6355 ; Short jump ROM:6383 ROM:6385 ; --------------------------------------------------------------------------- ROM:6385 ROM:6385 ROM_6385: ; CODE XREF: ROM_630B+6Fj ROM:6385 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:6385 ROM:6388 ROM:6388 ROM_6388: ; CODE XREF: ROM_630B+48j ROM:6388 000 mov A, #1 ; Move (Op1 <- Op2) ROM:638A 000 movx @DPTR, A ; Move from/to external RAM ROM:638B 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:638E 000 clr A ; Clear Operand (0) ROM:638F 000 movx @DPTR, A ; Move from/to external RAM ROM:6390 000 sjmp ROM_6355 ; Short jump ROM:6390 ROM:6392 ; --------------------------------------------------------------------------- ROM:6392 ROM:6392 ROM_6392: ; CODE XREF: ROM_630B+4Fj ROM:6392 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:6395 000 movx A, @DPTR ; Move from/to external RAM ROM:6396 000 jnz ROM_63A1 ; Jump if Acc is not zero ROM:6396 ROM:6398 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:639B 000 inc A ; Increment Operand ROM:639C 000 movx @DPTR, A ; Move from/to external RAM ROM:639D 000 inc DPTR ; Increment Operand ROM:639E 000 mov A, #14h ; Move (Op1 <- Op2) ROM:63A0 000 movx @DPTR, A ; Move from/to external RAM ROM:63A0 ROM:63A1 ROM:63A1 ROM_63A1: ; CODE XREF: ROM_630B+8Bj ROM:63A1 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:63A4 000 movx A, @DPTR ; Move from/to external RAM ROM:63A5 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:63A7 000 movx @DPTR, A ; Move from/to external RAM ROM:63A8 000 ret ; Return from subroutine ROM:63A8 ROM:63A8 ; End of function ROM_630B ROM:63A8 ROM:63A9 ; --------------------------------------------------------------------------- ROM:63A9 mov R6, RAM_7 ; Move (Op1 <- Op2) ROM:63AB mov R7, RAM_5 ; Move (Op1 <- Op2) ROM:63AD mov A, R6 ; Move (Op1 <- Op2) ROM:63AE mov B, #3 ; B Register ROM:63B1 mul AB ; Multiply Acc by B ROM:63B2 add A, #0D8h ; '+' ; Add Second Operand to Acc ROM:63B4 mov DP0L, A ; Data Pointer Low Byte ROM:63B6 clr A ; Clear Operand (0) ROM:63B7 addc A, #66h ; 'f' ; Add Second Operand to Acc with carry ROM:63B9 mov DP0H, A ; Data Pointer High Byte ROM:63BB mov A, #1 ; Move (Op1 <- Op2) ROM:63BD movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:63BE mov R2, A ; Move (Op1 <- Op2) ROM:63BF mov A, #2 ; Move (Op1 <- Op2) ROM:63C1 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:63C2 mov DP0L, A ; Data Pointer Low Byte ROM:63C4 mov DP0H, R2 ; Data Pointer High Byte ROM:63C6 ljmp jump_to_DPTR ; jump to DPTR ROM:63C6 ROM:63C9 ; --------------------------------------------------------------------------- ROM:63C9 mov A, R7 ; Move (Op1 <- Op2) ROM:63CA jnz ROM_63D3 ; Jump if Acc is not zero ROM:63CA ROM:63CC mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:63CF movx A, @DPTR ; Move from/to external RAM ROM:63D0 orl A, #40h ; Logical OR (op1 |= op2) ROM:63D2 movx @DPTR, A ; Move from/to external RAM ROM:63D2 ROM:63D3 ROM:63D3 ROM_63D3: ; CODE XREF: ROM:63CAj ROM:63D3 ret ; Return from subroutine ROM:63D3 ROM:63D4 ; --------------------------------------------------------------------------- ROM:63D4 mov DPTR, #6B6h ; Move (Op1 <- Op2) ROM:63D7 mov A, R7 ; Move (Op1 <- Op2) ROM:63D8 movx @DPTR, A ; Move from/to external RAM ROM:63D9 jnz ROM_63DF ; Jump if Acc is not zero ROM:63D9 ROM:63DB mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:63DD sjmp ROM_63ED ; Short jump ROM:63DD ROM:63DF ; --------------------------------------------------------------------------- ROM:63DF ROM:63DF ROM_63DF: ; CODE XREF: ROM:63D9j ROM:63DF mov DPTR, #6B6h ; Move (Op1 <- Op2) ROM:63E2 movx A, @DPTR ; Move from/to external RAM ROM:63E3 cjne A, #1, ROM_63F7 ; Compare Operands and JNE ROM:63E3 ROM:63E6 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:63E8 lcall ROM_3F32 ; Long Subroutine Call ROM:63E8 ROM:63EB mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:63EB ROM:63ED ROM:63ED ROM_63ED: ; CODE XREF: ROM:63DDj ROM:63ED lcall ROM_3F32 ; Long Subroutine Call ROM:63ED ROM:63F0 mov R7, #3Fh ; '?' ; Move (Op1 <- Op2) ROM:63F2 lcall ROM_3F32 ; Long Subroutine Call ROM:63F2 ROM:63F5 setb RAM_26.2 ; Set Direct Bit ROM:63F5 ROM:63F7 ROM:63F7 ROM_63F7: ; CODE XREF: ROM:63E3j ROM:63F7 ret ; Return from subroutine ROM:63F7 ROM:63F8 ; --------------------------------------------------------------------------- ROM:63F8 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:63FB movx A, @DPTR ; Move from/to external RAM ROM:63FC cjne A, #1, ROM_6409 ; Compare Operands and JNE ROM:63FC ROM:63FF mov A, R7 ; Move (Op1 <- Op2) ROM:6400 jnz ROM_6409 ; Jump if Acc is not zero ROM:6400 ROM:6402 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:6405 movx A, @DPTR ; Move from/to external RAM ROM:6406 xrl A, #10h ; Exclusive OR (op1 ^= op2) ROM:6408 movx @DPTR, A ; Move from/to external RAM ROM:6408 ROM:6409 ROM:6409 ROM_6409: ; CODE XREF: ROM:63FCj ROM:6409 ; ROM:6400j ROM:6409 ret ; Return from subroutine ROM:6409 ROM:640A ; --------------------------------------------------------------------------- ROM:640A mov A, R7 ; Move (Op1 <- Op2) ROM:640B xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:640D mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:640F jz ROM_6413 ; Jump if Acc is zero ROM:640F ROM:6411 sjmp ROM_6418 ; Short jump ROM:6411 ROM:6413 ; --------------------------------------------------------------------------- ROM:6413 ROM:6413 ROM_6413: ; CODE XREF: ROM:640Fj ROM:6413 lcall ROM_3F32 ; Long Subroutine Call ROM:6413 ROM:6416 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:6416 ROM:6418 ROM:6418 ROM_6418: ; CODE XREF: ROM:6411j ROM:6418 lcall ROM_3F32 ; Long Subroutine Call ROM:6418 ROM:641B mov R7, #21h ; '!' ; Move (Op1 <- Op2) ROM:641D lcall ROM_3F32 ; Long Subroutine Call ROM:641D ROM:6420 setb RAM_26.2 ; Set Direct Bit ROM:6422 ret ; Return from subroutine ROM:6422 ROM:6423 ; --------------------------------------------------------------------------- ROM:6423 mov A, R7 ; Move (Op1 <- Op2) ROM:6424 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:6426 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:6428 jz ROM_642C ; Jump if Acc is zero ROM:6428 ROM:642A sjmp ROM_6431 ; Short jump ROM:642A ROM:642C ; --------------------------------------------------------------------------- ROM:642C ROM:642C ROM_642C: ; CODE XREF: ROM:6428j ROM:642C lcall ROM_3F32 ; Long Subroutine Call ROM:642C ROM:642F mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:642F ROM:6431 ROM:6431 ROM_6431: ; CODE XREF: ROM:642Aj ROM:6431 ; ROM:643Ej ROM:6431 lcall ROM_3F32 ; Long Subroutine Call ROM:6431 ROM:6434 mov R7, #32h ; '2' ; Move (Op1 <- Op2) ROM:6436 lcall ROM_3F32 ; Long Subroutine Call ROM:6436 ROM:6439 setb RAM_26.2 ; Set Direct Bit ROM:643B ret ; Return from subroutine ROM:643B ROM:643B ; --------------------------------------------------------------------------- ROM:643C db 90h, 6 ROM:643E ; --------------------------------------------------------------------------- ROM:643E cjne @R1, #0EFh, ROM_6431 ; 'n' ; Compare Operands and JNE ROM:643E ROM:6441 jnz ROM_6459 ; Jump if Acc is not zero ROM:6441 ROM:6443 mov DPTR, #59Eh ; Move (Op1 <- Op2) ROM:6446 movx @DPTR, A ; Move from/to external RAM ROM:6447 inc DPTR ; Increment Operand ROM:6448 movx @DPTR, A ; Move from/to external RAM ROM:6449 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:644C movx @DPTR, A ; Move from/to external RAM ROM:644D mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:644F lcall ROM_3F32 ; Long Subroutine Call ROM:644F ROM:6452 mov R7, #23h ; '#' ; Move (Op1 <- Op2) ROM:6454 lcall ROM_3F32 ; Long Subroutine Call ROM:6454 ROM:6457 setb RAM_26.2 ; Set Direct Bit ROM:6457 ROM:6459 ROM:6459 ROM_6459: ; CODE XREF: ROM:6441j ROM:6459 mov DPTR, #6B7h ; Move (Op1 <- Op2) ROM:645C movx A, @DPTR ; Move from/to external RAM ROM:645D cjne A, #1, ROM_6471 ; Compare Operands and JNE ROM:645D ROM:6460 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:6462 lcall ROM_3F32 ; Long Subroutine Call ROM:6462 ROM:6465 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:6467 lcall ROM_3F32 ; Long Subroutine Call ROM:6467 ROM:646A mov R7, #23h ; '#' ; Move (Op1 <- Op2) ROM:646C lcall ROM_3F32 ; Long Subroutine Call ROM:646C ROM:646F setb RAM_26.2 ; Set Direct Bit ROM:646F ROM:6471 ROM:6471 ROM_6471: ; CODE XREF: ROM:645Dj ROM:6471 ret ; Return from subroutine ROM:6471 ROM:6471 ; --------------------------------------------------------------------------- ROM:6472 db 0EFh, 70h, 11h, 90h, 5 ROM:6477 ROM:6477 ; =============== S U B R O U T I N E ======================================= ROM:6477 ROM:6477 ROM:6477 ROM_6477: ; CODE XREF: ROM:6691p ROM:6477 ROM:6477 ; FUNCTION CHUNK AT ROM:9370 SIZE 00000012 BYTES ROM:6477 ROM:6477 000 jnb ACC.0, ROM_64DE ; Accumulator ROM:6477 ROM:647A 000 ajmp ROM_60F0 ; Absolute Jump ROM:647A ROM:647C ; --------------------------------------------------------------------------- ROM:647C 000 movx A, @DPTR ; Move from/to external RAM ROM:647D 000 jnb ACC.0, ROM_6483 ; Accumulator ROM:647D ROM:6480 000 ljmp ROM_9370 ; Long Jump ROM:6480 ROM:6483 ; --------------------------------------------------------------------------- ROM:6483 ROM:6483 ROM_6483: ; CODE XREF: ROM_6477+6j ROM:6483 000 lcall ROM_935E ; Long Subroutine Call ROM:6483 ROM:6486 000 ret ; Return from subroutine ROM:6486 ROM:6487 ; --------------------------------------------------------------------------- ROM:6487 000 mov A, R7 ; Move (Op1 <- Op2) ROM:6488 000 jnz ROM_6491 ; Jump if Acc is not zero ROM:6488 ROM:648A 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:648D 000 movx A, @DPTR ; Move from/to external RAM ROM:648E 000 xrl A, #40h ; Exclusive OR (op1 ^= op2) ROM:6490 000 movx @DPTR, A ; Move from/to external RAM ROM:6490 ROM:6491 ROM:6491 ROM_6491: ; CODE XREF: ROM_6477+11j ROM:6491 000 ret ; Return from subroutine ROM:6491 ROM:6492 ; --------------------------------------------------------------------------- ROM:6492 000 mov DPTR, #6B8h ; Move (Op1 <- Op2) ROM:6495 000 mov A, R7 ; Move (Op1 <- Op2) ROM:6496 000 movx @DPTR, A ; Move from/to external RAM ROM:6497 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:649A 000 movx A, @DPTR ; Move from/to external RAM ROM:649B 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:649D 000 xrl A, #2 ; Exclusive OR (op1 ^= op2) ROM:649F 000 jz ROM_64AC ; Jump if Acc is zero ROM:649F ROM:64A1 000 mov DPTR, #6B8h ; Move (Op1 <- Op2) ROM:64A4 000 movx A, @DPTR ; Move from/to external RAM ROM:64A5 000 jnz ROM_64E5 ; Jump if Acc is not zero ROM:64A5 ROM:64A7 000 mov R7, #25h ; '%' ; Move (Op1 <- Op2) ROM:64A9 000 ljmp ROM_19E0 ; Long Jump ROM:64A9 ROM:64AC ; --------------------------------------------------------------------------- ROM:64AC ROM:64AC ROM_64AC: ; CODE XREF: ROM_6477+28j ROM:64AC 000 mov DPTR, #6B8h ; Move (Op1 <- Op2) ROM:64AF 000 movx A, @DPTR ; Move from/to external RAM ROM:64B0 000 jnz ROM_64C3 ; Jump if Acc is not zero ROM:64B0 ROM:64B2 ROM:64B2 ROM_64B2: ; CODE XREF: ROM:64FBj ROM:64B2 000 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:64B4 000 lcall ROM_3F32 ; Long Subroutine Call ROM:64B4 ROM:64B7 000 mov R7, #1Fh ; Move (Op1 <- Op2) ROM:64B9 000 lcall ROM_3F32 ; Long Subroutine Call ROM:64B9 ROM:64BC 000 mov R7, #4Dh ; 'M' ; Move (Op1 <- Op2) ROM:64BE 000 lcall ROM_3F32 ; Long Subroutine Call ROM:64BE ROM:64C1 000 setb RAM_26.2 ; Set Direct Bit ROM:64C1 ROM:64C3 ROM:64C3 ROM_64C3: ; CODE XREF: ROM_6477+39j ROM:64C3 000 mov DPTR, #6B8h ; Move (Op1 <- Op2) ROM:64C6 000 movx A, @DPTR ; Move from/to external RAM ROM:64C7 000 cjne A, #1, ROM_64E5 ; Compare Operands and JNE ROM:64C7 ROM:64CA 000 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:64CC 000 lcall ROM_3F32 ; Long Subroutine Call ROM:64CC ROM:64CF 000 mov R7, #4Dh ; 'M' ; Move (Op1 <- Op2) ROM:64D1 000 lcall ROM_3F32 ; Long Subroutine Call ROM:64D1 ROM:64D4 000 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:64D6 000 lcall ROM_3F32 ; Long Subroutine Call ROM:64D6 ROM:64D9 000 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:64DB 000 lcall ROM_3F32 ; Long Subroutine Call ROM:64DB ROM:64DE ROM:64DE ROM_64DE: ; CODE XREF: ROM_6477j ROM:64DE 000 mov R7, #1Fh ; Move (Op1 <- Op2) ROM:64E0 000 lcall ROM_3F32 ; Long Subroutine Call ROM:64E0 ROM:64E3 000 setb RAM_26.2 ; Set Direct Bit ROM:64E3 ROM:64E5 ROM:64E5 ROM_64E5: ; CODE XREF: ROM_6477+2Ej ROM:64E5 ; ROM_6477+50j ROM:64E5 000 ret ; Return from subroutine ROM:64E5 ROM:64E5 ; End of function ROM_6477 ROM:64E5 ROM:64E5 ; --------------------------------------------------------------------------- ROM:64E6 db 90h, 6, 0B9h, 0EFh, 0F0h, 70h, 0Ch, 7Fh, 0E0h, 12h ROM:64E6 db 3Fh, 32h, 7Fh, 15h, 12h, 3Fh, 32h, 0D2h, 32h, 90h, 6 ROM:64FB ; --------------------------------------------------------------------------- ROM:64FB cjne R1, #0E0h, ROM_64B2 ; 'a' ; Compare Operands and JNE ROM:64FB ROM:64FE ajmp ROM_6011 ; Absolute Jump ROM:64FE ROM:6500 ; --------------------------------------------------------------------------- ROM:6500 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:6502 lcall ROM_3F32 ; Long Subroutine Call ROM:6502 ROM:6505 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:6507 lcall ROM_3F32 ; Long Subroutine Call ROM:6507 ROM:650A mov R7, #15h ; Move (Op1 <- Op2) ROM:650C lcall ROM_3F32 ; Long Subroutine Call ROM:650C ROM:650F setb RAM_26.2 ; Set Direct Bit ROM:6511 ret ; Return from subroutine ROM:6511 ROM:6512 ; --------------------------------------------------------------------------- ROM:6512 mov DPTR, #6BAh ; Move (Op1 <- Op2) ROM:6515 mov A, R7 ; Move (Op1 <- Op2) ROM:6516 movx @DPTR, A ; Move from/to external RAM ROM:6517 jnz ROM_6525 ; Jump if Acc is not zero ROM:6517 ROM:6519 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:651B lcall ROM_3F32 ; Long Subroutine Call ROM:651B ROM:651E mov R7, #34h ; '4' ; Move (Op1 <- Op2) ROM:6520 lcall ROM_3F32 ; Long Subroutine Call ROM:6520 ROM:6523 setb RAM_26.2 ; Set Direct Bit ROM:6523 ROM:6525 ROM:6525 ROM_6525: ; CODE XREF: ROM:6517j ROM:6525 mov DPTR, #6BAh ; Move (Op1 <- Op2) ROM:6528 movx A, @DPTR ; Move from/to external RAM ROM:6529 cjne A, #1, ROM_653D ; Compare Operands and JNE ROM:6529 ROM:652C mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:652E lcall ROM_3F32 ; Long Subroutine Call ROM:652E ROM:6531 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:6533 lcall ROM_3F32 ; Long Subroutine Call ROM:6533 ROM:6536 mov R7, #34h ; '4' ; Move (Op1 <- Op2) ROM:6538 lcall ROM_3F32 ; Long Subroutine Call ROM:6538 ROM:653B setb RAM_26.2 ; Set Direct Bit ROM:653B ROM:653D ROM:653D ROM_653D: ; CODE XREF: ROM:6529j ROM:653D ret ; Return from subroutine ROM:653D ROM:653E ; --------------------------------------------------------------------------- ROM:653E mov DPTR, #6BBh ; Move (Op1 <- Op2) ROM:6541 mov A, R7 ; Move (Op1 <- Op2) ROM:6542 movx @DPTR, A ; Move from/to external RAM ROM:6543 jnz ROM_6551 ; Jump if Acc is not zero ROM:6543 ROM:6545 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:6547 lcall ROM_3F32 ; Long Subroutine Call ROM:6547 ROM:654A mov R7, #4Dh ; 'M' ; Move (Op1 <- Op2) ROM:654C lcall ROM_3F32 ; Long Subroutine Call ROM:654C ROM:654F setb RAM_26.2 ; Set Direct Bit ROM:654F ROM:6551 ROM:6551 ROM_6551: ; CODE XREF: ROM:6543j ROM:6551 mov DPTR, #6BBh ; Move (Op1 <- Op2) ROM:6554 movx A, @DPTR ; Move from/to external RAM ROM:6555 cjne A, #1, ROM_6569 ; Compare Operands and JNE ROM:6555 ROM:6558 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:655A lcall ROM_3F32 ; Long Subroutine Call ROM:655A ROM:655D mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:655F lcall ROM_3F32 ; Long Subroutine Call ROM:655F ROM:6562 mov R7, #4Dh ; 'M' ; Move (Op1 <- Op2) ROM:6564 lcall ROM_3F32 ; Long Subroutine Call ROM:6564 ROM:6567 setb RAM_26.2 ; Set Direct Bit ROM:6567 ROM:6569 ROM:6569 ROM_6569: ; CODE XREF: ROM:6555j ROM:6569 ret ; Return from subroutine ROM:6569 ROM:656A ; --------------------------------------------------------------------------- ROM:656A mov DPTR, #6BCh ; Move (Op1 <- Op2) ROM:656D mov A, R7 ; Move (Op1 <- Op2) ROM:656E movx @DPTR, A ; Move from/to external RAM ROM:656F ret ; Return from subroutine ROM:656F ROM:6570 ; --------------------------------------------------------------------------- ROM:6570 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:6573 movx A, @DPTR ; Move from/to external RAM ROM:6574 cjne A, #5, ROM_6589 ; Compare Operands and JNE ROM:6574 ROM:6577 mov A, R7 ; Move (Op1 <- Op2) ROM:6578 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:657A mov DPTR, #192h ; Move (Op1 <- Op2) ROM:657D jz ROM_6584 ; Jump if Acc is zero ROM:657D ROM:657F movx A, @DPTR ; Move from/to external RAM ROM:6580 orl A, #4 ; Logical OR (op1 |= op2) ROM:6582 movx @DPTR, A ; Move from/to external RAM ROM:6583 ret ; Return from subroutine ROM:6583 ROM:6584 ; --------------------------------------------------------------------------- ROM:6584 ROM:6584 ROM_6584: ; CODE XREF: ROM:657Dj ROM:6584 movx A, @DPTR ; Move from/to external RAM ROM:6585 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:6587 movx @DPTR, A ; Move from/to external RAM ROM:6588 ret ; Return from subroutine ROM:6588 ROM:6589 ; --------------------------------------------------------------------------- ROM:6589 ROM:6589 ROM_6589: ; CODE XREF: ROM:6574j ROM:6589 mov A, R7 ; Move (Op1 <- Op2) ROM:658A xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:658C mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:658E jz ROM_6592 ; Jump if Acc is zero ROM:658E ROM:6590 sjmp ROM_6597 ; Short jump ROM:6590 ROM:6592 ; --------------------------------------------------------------------------- ROM:6592 ROM:6592 ROM_6592: ; CODE XREF: ROM:658Ej ROM:6592 lcall ROM_3F32 ; Long Subroutine Call ROM:6592 ROM:6595 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:6595 ROM:6597 ROM:6597 ROM_6597: ; CODE XREF: ROM:6590j ROM:6597 lcall ROM_3F32 ; Long Subroutine Call ROM:6597 ROM:659A mov R7, #69h ; 'i' ; Move (Op1 <- Op2) ROM:659C lcall ROM_3F32 ; Long Subroutine Call ROM:659C ROM:659F setb RAM_26.2 ; Set Direct Bit ROM:65A1 ret ; Return from subroutine ROM:65A1 ROM:65A2 ; --------------------------------------------------------------------------- ROM:65A2 mov A, R7 ; Move (Op1 <- Op2) ROM:65A3 jnz ROM_65AA ; Jump if Acc is not zero ROM:65A3 ROM:65A5 mov R7, #51h ; 'Q' ; Move (Op1 <- Op2) ROM:65A7 lcall ROM_19E0 ; Long Subroutine Call ROM:65A7 ROM:65AA ROM:65AA ROM_65AA: ; CODE XREF: ROM:65A3j ROM:65AA ret ; Return from subroutine ROM:65AA ROM:65AA ; --------------------------------------------------------------------------- ROM:65AB db 0EFh, 70h, 5, 7Fh, 52h, 12h ROM:65B1 ROM:65B1 ; =============== S U B R O U T I N E ======================================= ROM:65B1 ROM:65B1 ROM:65B1 ROM_65B1: ; CODE XREF: ROM:ROM_6661p ROM:65B1 000 dec R1 ; Decrement Operand ROM:65B2 000 movx A, @DPTR ; Move from/to external RAM ROM:65B3 000 ret ; Return from subroutine ROM:65B3 ROM:65B3 ; End of function ROM_65B1 ROM:65B3 ROM:65B3 ; --------------------------------------------------------------------------- ROM:65B4 db 34h ROM:65B5 db 61h ROM:65B6 db 0B4h ROM:65B7 db 76h ROM:65B8 db 0 ROM:65B9 db 0, 0, 0, 11h, 0BEh, 0, 0, 0B5h, 52h, 64h, 0B6h, 2Ch ROM:65B9 db 58h, 0B3h, 0Dh, 0, 0, 12h, 0, 0, 84h, 0, 0, 66h, 54h ROM:65B9 db 0B7h, 5Bh, 2Dh, 1Dh, 24h, 15h, 96h, 0, 0, 0, 0C5h, 0 ROM:65B9 db 0, 0, 6Ah, 0A3h, 0A2h, 0A1h, 2Eh, 0B1h, 0B2h, 0Eh, 0 ROM:65B9 db 0, 0, 14h, 0, 94h, 0E5h, 0E4h, 1, 4Eh, 0B8h, 55h, 2Bh ROM:65B9 db 1Bh, 23h, 1Ch, 97h, 8Eh, 0, 0, 0, 0, 0, 0 ROM:6600 ; --------------------------------------------------------------------------- ROM:6600 ROM:6600 ROM_6600: ; CODE XREF: ROM:9511j ROM:6600 anl A, R5 ; Logical AND (op1 &= op2) ROM:6601 mov @R1, FSR_A6 ; Move (Op1 <- Op2) ROM:6601 ROM:6601 ; --------------------------------------------------------------------------- ROM:6603 db 0A5h, 25h, 1Eh ROM:6606 ; --------------------------------------------------------------------------- ROM:6606 ROM:6606 ROM_6606: ; CODE XREF: ROM:66BBp ROM:6606 add A, @R0 ; Add Second Operand to Acc ROM:6607 dec @R0 ; Decrement Operand ROM:6608 clr C ; Clear Operand (0) ROM:6609 nop ; No operation ROM:660A nop ; No operation ROM:660B nop ; No operation ROM:660C xch A, @R0 ; Exchange Operands ROM:660D cjne R5, #0C4h, ROM_6688 ; '-' ; Compare Operands and JNE ROM:660D ROM:6610 inc R1 ; Increment Operand ROM:6611 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:6612 subb A, R6 ; Subtract Second Operand from Acc with Borrow ROM:6613 subb A, R5 ; Subtract Second Operand from Acc with Borrow ROM:6614 add A, R2 ; Add Second Operand to Acc ROM:6615 anl C, /RAM_24.1 ; Logical AND (op1 &= op2) ROM:6617 dec R2 ; Decrement Operand ROM:6618 nop ; No operation ROM:6619 nop ; No operation ROM:661A anl A, R1 ; Logical AND (op1 &= op2) ROM:661B mov RAM_0, R5 ; Move (Op1 <- Op2) ROM:661D nop ; No operation ROM:661E nop ; No operation ROM:661F nop ; No operation ROM:6620 anl A, R2 ; Logical AND (op1 &= op2) ROM:6621 anl A, R5 ; Logical AND (op1 &= op2) ROM:6622 mov R1, RAM_41 ; Move (Op1 <- Op2) ROM:6624 reti ; Return from Interrupt ROM:6624 ROM:6624 ; --------------------------------------------------------------------------- ROM:6625 db 67h, 0, 0, 0, 0, 0, 0, 8Bh, 9Ah, 9Bh, 0BFh, 29h, 0AAh ROM:6625 db 13h, 51h, 33h, 0, 0, 35h, 0, 0, 0A0h, 0, 0, 36h, 0 ROM:6625 db 0, 0A4h, 0, 0, 9Ch, 0, 0, 0A8h, 0, 0, 31h, 0, 0, 45h ROM:6625 db 0BEh, 0BEh, 45h, 4Dh, 0B3h, 0B3h, 4Dh, 4Ch, 0B7h, 0B7h ROM:6625 db 4Ch, 4Ah, 0BBh, 0BBh, 4Ah, 3Dh, 0B0h, 0B0h, 3Dh, 3Eh ROM:6661 ; --------------------------------------------------------------------------- ROM:6661 ROM:6661 ROM_6661: ; CODE XREF: ROM:669Ej ROM:6661 acall ROM_65B1 ; Absolute Call ROM:6661 ROM:6663 addc A, R6 ; Add Second Operand to Acc with carry ROM:6664 orl A, @R0 ; Logical OR (op1 |= op2) ROM:6665 cpl P3.2 ; Port 3 ROM:6667 orl A, @R0 ; Logical OR (op1 |= op2) ROM:6667 ROM:6668 ROM:6668 ROM_6668: ; CODE XREF: ROM:ROM_66D1j ROM:6668 addc A, R4 ; Add Second Operand to Acc with carry ROM:6669 cjne A, #0B4h, ROM_66A7+1 ; '¦' ; Compare Operands and JNE ROM:6669 ROM:666C ROM:666C ROM_666C: ; CODE XREF: ROM:66D3j ROM:666C orl FSR_B5, #0B5h ; Logical OR (op1 |= op2) ROM:666F ROM:666F ROM_666F: ; CODE XREF: ROM:ROM_66D5j ROM:666F orl RAM_44, #0B6h ; Logical OR (op1 |= op2) ROM:6672 cjne @R0, #44h, ROM_66B0 ; 'D' ; Compare Operands and JNE ROM:6672 ROM:6675 cjne R0, #0B8h, ROM_66B3 ; '+' ; Compare Operands and JNE ROM:6675 ROM:6678 orl FSR_B9, A ; Logical OR (op1 |= op2) ROM:667A cjne R1, #42h, ROM_66C6+2 ; 'B' ; Compare Operands and JNE ROM:667A ROM:667D cjne R2, #0BAh, ROM_66CB ; '¦' ; Compare Operands and JNE ROM:667D ROM:6680 addc A, R2 ; Add Second Operand to Acc with carry ROM:6681 cjne R4, #0BCh, ROM_66BD+1 ; '+' ; Compare Operands and JNE ROM:6681 ROM:6684 orl A, R1 ; Logical OR (op1 |= op2) ROM:6685 cjne R5, #0BDh, ROM_66D1 ; '+' ; Compare Operands and JNE ROM:6685 ROM:6688 ROM:6688 ROM_6688: ; CODE XREF: ROM:660Dj ROM:6688 subb A, R2 ; Subtract Second Operand from Acc with Borrow ROM:6689 subb A, #99h ; 'Ö' ; Subtract Second Operand from Acc with Borrow ROM:668B subb A, @R1 ; Subtract Second Operand from Acc with Borrow ROM:668C subb A, R3 ; Subtract Second Operand from Acc with Borrow ROM:668D subb A, DP0L ; Data Pointer Low Byte ROM:668F movc A, @A+PC ; Move code byte relative to second op to Acc ROM:6690 inc @R1 ; Increment Operand ROM:6691 acall ROM_6477 ; Absolute Call ROM:6691 ROM:6693 mov R6, #0C3h ; '+' ; Move (Op1 <- Op2) ROM:6695 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6696 push FSR_C2 ; Push from Direct RAM to Stack ROM:6698 anl A, R2 ; Logical AND (op1 &= op2) ROM:6699 anl A, R2 ; Logical AND (op1 &= op2) ROM:669A mov @R1, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:669A ROM:669C ROM:669C ROM_669C: ; CODE XREF: ROM:66C3j ROM:669C nop ; No operation ROM:669D nop ; No operation ROM:669E cjne R6, #0BEh, ROM_6661 ; '+' ; Compare Operands and JNE ROM:669E ROM:66A1 addc A, R1 ; Add Second Operand to Acc with carry ROM:66A2 clr FSR_C0.2 ; Clear Operand (0) ROM:66A4 clr C ; Clear Operand (0) ROM:66A5 clr C ; Clear Operand (0) ROM:66A6 inc R1 ; Increment Operand ROM:66A7 ROM:66A7 ROM_66A7: ; CODE XREF: ROM:6669j ROM:66A7 mov R6, #6 ; Move (Op1 <- Op2) ROM:66A9 inc @R1 ; Increment Operand ROM:66AA inc RAM_78 ; Increment Operand ROM:66AC subb A, P2 ; Port 2 ROM:66AE nop ; No operation ROM:66AF nop ; No operation ROM:66AF ROM:66B0 ROM:66B0 ROM_66B0: ; CODE XREF: ROM:6672j ROM:66B0 nop ; No operation ROM:66B1 nop ; No operation ROM:66B2 nop ; No operation ROM:66B2 ROM:66B3 ROM:66B3 ROM_66B3: ; CODE XREF: ROM:6675j ROM:66B3 nop ; No operation ROM:66B4 nop ; No operation ROM:66B5 nop ; No operation ROM:66B6 nop ; No operation ROM:66B7 nop ; No operation ROM:66B8 ret ; Return from subroutine ROM:66B8 ROM:66B9 ; --------------------------------------------------------------------------- ROM:66B9 pop RAM_5 ; Pop from Stack and put in Direct RAM ROM:66BB acall ROM_6606 ; Absolute Call ROM:66BB ROM:66BD ROM:66BD ROM_66BD: ; CODE XREF: ROM:6681j ROM:66BD setb RAM_20.4 ; Set Direct Bit ROM:66BF setb C ; Set Direct Bit ROM:66C0 inc R4 ; Increment Operand ROM:66C1 da A ; Decimal Adjust Accumulator ROM:66C2 rr A ; Rotate Acc right ROM:66C3 djnz RAM_B, ROM_669C ; Decrement Operand and JNZ ROM:66C3 ROM:66C6 ROM:66C6 ROM_66C6: ; CODE XREF: ROM:667Aj ROM:66C6 ljmp ROM_B7DD+1F2Dh ; BAD INSTRUCTION! JUMP TO ZERO PLACE ROM:66C6 ROM:66C9 ; --------------------------------------------------------------------------- ROM:66C9 djnz R0, ROM_66CB+1 ; Decrement Operand and JNZ ROM:66C9 ROM:66CB ROM:66CB ROM_66CB: ; CODE XREF: ROM:667Dj ROM:66CB ; ROM:66C9j ROM:66CB djnz R1, ROM_66D5+1 ; Decrement Operand and JNZ ROM:66CB ROM:66CD djnz R2, ROM_6747 ; Decrement Operand and JNZ ROM:66CD ROM:66CF djnz R3, ROM_66D7+1 ; Decrement Operand and JNZ ROM:66CF ROM:66D1 ROM:66D1 ROM_66D1: ; CODE XREF: ROM:6685j ROM:66D1 djnz R4, ROM_6668 ; Decrement Operand and JNZ ROM:66D1 ROM:66D3 djnz R5, ROM_666C+1 ; Decrement Operand and JNZ ROM:66D3 ROM:66D5 ROM:66D5 ROM_66D5: ; CODE XREF: ROM:ROM_66CBj ROM:66D5 djnz R6, ROM_666F+1 ; Decrement Operand and JNZ ROM:66D5 ROM:66D7 ROM:66D7 ROM_66D7: ; CODE XREF: ROM:66CFj ROM:66D7 ; ROM:ROM_66D7j ROM:66D7 djnz R7, ROM_66D7+1 ; Decrement Operand and JNZ ROM:66D7 ROM:66D9 xrl T2MOD, #0FFh ; Timer 2 Mode ROM:66DC xrl FSR_D4, #0FFh ; Exclusive OR (op1 ^= op2) ROM:66DF xrl FSR_F8, #0FFh ; Exclusive OR (op1 ^= op2) ROM:66E2 xrl A, #0Ah ; Exclusive OR (op1 ^= op2) ROM:66E4 mov R7, A ; Move (Op1 <- Op2) ROM:66E5 xrl A, #23h ; Exclusive OR (op1 ^= op2) ROM:66E7 mov R7, A ; Move (Op1 <- Op2) ROM:66E8 xrl A, #3Ch ; Exclusive OR (op1 ^= op2) ROM:66EA mov R7, A ; Move (Op1 <- Op2) ROM:66EB xrl A, #72h ; Exclusive OR (op1 ^= op2) ROM:66ED mov R7, A ; Move (Op1 <- Op2) ROM:66EE xrl A, #87h ; Exclusive OR (op1 ^= op2) ROM:66F0 mov R7, A ; Move (Op1 <- Op2) ROM:66F1 xrl A, #92h ; Exclusive OR (op1 ^= op2) ROM:66F3 mov R7, A ; Move (Op1 <- Op2) ROM:66F4 xrl A, #0E6h ; Exclusive OR (op1 ^= op2) ROM:66F6 mov R7, A ; Move (Op1 <- Op2) ROM:66F7 xrl A, RAM_12 ; Exclusive OR (op1 ^= op2) ROM:66F9 mov R7, A ; Move (Op1 <- Op2) ROM:66FA xrl A, RAM_3E ; Exclusive OR (op1 ^= op2) ROM:66FC mov R7, A ; Move (Op1 <- Op2) ROM:66FD xrl A, RAM_6A ; Exclusive OR (op1 ^= op2) ROM:66FF mov R7, A ; Move (Op1 <- Op2) ROM:6700 xrl A, RAM_70 ; Exclusive OR (op1 ^= op2) ROM:6702 mov R7, A ; Move (Op1 <- Op2) ROM:6703 xrl A, FSR_A2 ; Exclusive OR (op1 ^= op2) ROM:6705 mov R7, A ; Move (Op1 <- Op2) ROM:6706 xrl A, FSR_AB ; Exclusive OR (op1 ^= op2) ROM:6708 ret ; Return from subroutine ROM:6708 ROM:6708 ; --------------------------------------------------------------------------- ROM:6709 db 22h ; " ROM:670A db 22h ; " ROM:670B db 22h ; " ROM:670C db 22h ; " ROM:670D db 22h ; " ROM:670E db 22h ; " ROM:670F db 22h ; " ROM:6710 ROM_6710: db 22h ; " ; CODE XREF: ROM:671Ej ROM:6711 db 22h ; " ROM:6712 db 22h ; " ROM:6713 db 22h ; " ROM:6714 db 22h ; " ROM:6715 db 22h ; " ROM:6716 db 22h ; " ROM:6717 db 22h ; " ROM:6718 db 22h ; " ROM:6719 db 90h, 5 ROM:671B ; --------------------------------------------------------------------------- ROM:671B jnb ACC.0, ROM_6762 ; Accumulator ROM:671B ROM:671E sjmp ROM_6710 ; Short jump ROM:671E ROM:6720 ; --------------------------------------------------------------------------- ROM:6720 lcall ROM_25D8 ; Long Subroutine Call ROM:6720 ROM:6723 jnc ROM_6760 ; Jump if Carry is clear ROM:6723 ROM:6725 mov A, RAM_62 ; Move (Op1 <- Op2) ROM:6727 add A, #0CFh ; '-' ; Add Second Operand to Acc ROM:6729 jz ROM_674A ; Jump if Acc is zero ROM:6729 ROM:672B dec A ; Decrement Operand ROM:672C jz ROM_6752 ; Jump if Acc is zero ROM:672C ROM:672E add A, #2 ; Add Second Operand to Acc ROM:6730 jnz ROM_675A ; Jump if Acc is not zero ROM:6730 ROM:6732 mov DPTR, #530h ; Move (Op1 <- Op2) ROM:6735 movx A, @DPTR ; Move from/to external RAM ROM:6736 jb ACC.0, ROM_6740 ; Accumulator ROM:6736 ROM:6739 movx A, @DPTR ; Move from/to external RAM ROM:673A anl A, #0FEh ; Logical AND (op1 &= op2) ROM:673C movx @DPTR, A ; Move from/to external RAM ROM:673D ljmp ROM_934E ; Long Jump ROM:673D ROM:6740 ; --------------------------------------------------------------------------- ROM:6740 ROM:6740 ROM_6740: ; CODE XREF: ROM:6736j ROM:6740 mov DPTR, #530h ; Move (Op1 <- Op2) ROM:6743 movx A, @DPTR ; Move from/to external RAM ROM:6744 orl A, #1 ; Logical OR (op1 |= op2) ROM:6746 movx @DPTR, A ; Move from/to external RAM ROM:6746 ROM:6747 ROM:6747 ROM_6747: ; CODE XREF: ROM:66CDj ROM:6747 ljmp ROM_9356 ; Long Jump ROM:6747 ROM:674A ; --------------------------------------------------------------------------- ROM:674A ROM:674A ROM_674A: ; CODE XREF: ROM:6729j ROM:674A mov DPTR, #530h ; Move (Op1 <- Op2) ROM:674D movx A, @DPTR ; Move from/to external RAM ROM:674E anl A, #0FEh ; Logical AND (op1 &= op2) ROM:6750 movx @DPTR, A ; Move from/to external RAM ROM:6751 ret ; Return from subroutine ROM:6751 ROM:6752 ; --------------------------------------------------------------------------- ROM:6752 ROM:6752 ROM_6752: ; CODE XREF: ROM:672Cj ROM:6752 mov DPTR, #530h ; Move (Op1 <- Op2) ROM:6755 movx A, @DPTR ; Move from/to external RAM ROM:6756 orl A, #1 ; Logical OR (op1 |= op2) ROM:6758 movx @DPTR, A ; Move from/to external RAM ROM:6759 ret ; Return from subroutine ROM:6759 ROM:675A ; --------------------------------------------------------------------------- ROM:675A ROM:675A ROM_675A: ; CODE XREF: ROM:6730j ROM:675A mov DPTR, #6Fh ; 'o' ; Move (Op1 <- Op2) ROM:675D movx A, @DPTR ; Move from/to external RAM ROM:675E inc A ; Increment Operand ROM:675F movx @DPTR, A ; Move from/to external RAM ROM:675F ROM:6760 ROM:6760 ROM_6760: ; CODE XREF: ROM:6723j ROM:6760 ret ; Return from subroutine ROM:6760 ROM:6760 ; --------------------------------------------------------------------------- ROM:6761 db 90h ROM:6762 ROM_6762: db 0 ; CODE XREF: ROM:671Bj ROM:6763 db 2 ROM:6764 db 0E0h ROM:6765 db 0FFh ROM:6766 db 2 ROM:6767 db 14h ROM:6768 db 62h ROM:6769 db 22h ROM:676A db 22h ROM:676B db 22h ROM:676C db 22h ROM:676D db 22h ROM:676E db 22h ROM:676F db 22h ROM:6770 db 2 ROM:6771 db 4Eh ROM:6772 db 0ECh ROM:6773 db 22h ROM:6774 db 22h ROM:6775 db 22h ROM:6776 db 22h ROM:6777 ; --------------------------------------------------------------------------- ROM:6777 lcall ROM_25E6 ; Long Subroutine Call ROM:6777 ROM:677A jnc ROM_67A2 ; Jump if Carry is clear ROM:677A ROM:677C mov A, RAM_61 ; Move (Op1 <- Op2) ROM:677E cjne A, #2, ROM_6784 ; Compare Operands and JNE ROM:677E ROM:6781 mov RAM_57, RAM_62 ; Move (Op1 <- Op2) ROM:6781 ROM:6784 ROM:6784 ROM_6784: ; CODE XREF: ROM:677Ej ROM:6784 mov A, RAM_61 ; Move (Op1 <- Op2) ROM:6786 cjne A, #3, ROM_67A2 ; Compare Operands and JNE ROM:6786 ROM:6789 mov RAM_58, RAM_62 ; Move (Op1 <- Op2) ROM:678C mov R7, RAM_57 ; Move (Op1 <- Op2) ROM:678E mov A, R7 ; Move (Op1 <- Op2) ROM:678F mov R6, A ; Move (Op1 <- Op2) ROM:6790 mov R5, RAM_58 ; Move (Op1 <- Op2) ROM:6792 mov R4, #0 ; Move (Op1 <- Op2) ROM:6794 clr A ; Clear Operand (0) ROM:6795 add A, R5 ; Add Second Operand to Acc ROM:6796 mov R7, A ; Move (Op1 <- Op2) ROM:6797 mov A, R4 ; Move (Op1 <- Op2) ROM:6798 addc A, R6 ; Add Second Operand to Acc with carry ROM:6799 mov DP0L, R7 ; Data Pointer Low Byte ROM:679B mov DP0H, A ; Data Pointer High Byte ROM:679D movx A, @DPTR ; Move from/to external RAM ROM:679E mov R7, A ; Move (Op1 <- Op2) ROM:679F lcall ROM_1462 ; Long Subroutine Call ROM:679F ROM:67A2 ROM:67A2 ROM_67A2: ; CODE XREF: ROM:677Aj ROM:67A2 ; ROM:6786j ROM:67A2 ret ; Return from subroutine ROM:67A2 ROM:67A2 ; --------------------------------------------------------------------------- ROM:67A3 db 22h ; " ROM:67A4 db 22h ; " ROM:67A5 db 22h ; " ROM:67A6 db 22h ; " ROM:67A7 db 22h ; " ROM:67A8 db 22h ; " ROM:67A9 db 22h ; " ROM:67AA db 22h ; " ROM:67AB db 22h ; " ROM:67AC db 22h ; " ROM:67AD ; --------------------------------------------------------------------------- ROM:67AD mov DPTR, #2 ; Move (Op1 <- Op2) ROM:67B0 movx A, @DPTR ; Move from/to external RAM ROM:67B1 mov R7, A ; Move (Op1 <- Op2) ROM:67B2 ljmp ROM_1462 ; Long Jump ROM:67B2 ROM:67B2 ; --------------------------------------------------------------------------- ROM:67B5 db 22h ; " ROM:67B6 db 22h ; " ROM:67B7 ; --------------------------------------------------------------------------- ROM:67B7 lcall ROM_25F3 ; Long Subroutine Call ROM:67B7 ROM:67BA mov A, R7 ; Move (Op1 <- Op2) ROM:67BB jz ROM_67C6 ; Jump if Acc is zero ROM:67BB ROM:67BD mov A, RAM_62 ; Move (Op1 <- Op2) ROM:67BF add A, #7Dh ; '}' ; Add Second Operand to Acc ROM:67C1 jnz ROM_67C6 ; Jump if Acc is not zero ROM:67C1 ROM:67C3 lcall ROM_25F3 ; Long Subroutine Call ROM:67C3 ROM:67C6 ROM:67C6 ROM_67C6: ; CODE XREF: ROM:67BBj ROM:67C6 ; ROM:67C1j ROM:67C6 ret ; Return from subroutine ROM:67C6 ROM:67C7 ; --------------------------------------------------------------------------- ROM:67C7 lcall ROM_25F3 ; Long Subroutine Call ROM:67C7 ROM:67CA mov A, R7 ; Move (Op1 <- Op2) ROM:67CB jz ROM_67D7 ; Jump if Acc is zero ROM:67CB ROM:67CD mov R7, RAM_62 ; Move (Op1 <- Op2) ROM:67CF lcall set_ptr_to ; void set_ptr_to(byte arg); //write pointer "1:arg" (R7) to DPTR and in 0xBE-0xBF ROM:67CF ROM:67D2 mov DPTR, #KBC_KBHIKDOR ; KBC Host Interface Keyboard Data Output Register ROM:67D5 mov A, R7 ; Move (Op1 <- Op2) ROM:67D6 movx @DPTR, A ; Move from/to external RAM ROM:67D6 ROM:67D7 ROM:67D7 ROM_67D7: ; CODE XREF: ROM:67CBj ROM:67D7 ret ; Return from subroutine ROM:67D7 ROM:67D8 ; --------------------------------------------------------------------------- ROM:67D8 lcall ROM_25F3 ; Long Subroutine Call ROM:67D8 ROM:67DB mov A, R7 ; Move (Op1 <- Op2) ROM:67DC jz ROM_67EE ; Jump if Acc is zero ROM:67DC ROM:67DE mov RAM_66, RAM_62 ; Move (Op1 <- Op2) ROM:67E1 lcall ROM_25F3 ; Long Subroutine Call ROM:67E1 ROM:67E4 mov A, R7 ; Move (Op1 <- Op2) ROM:67E5 jz ROM_67EE ; Jump if Acc is zero ROM:67E5 ROM:67E7 mov R5, RAM_62 ; Move (Op1 <- Op2) ROM:67E9 mov R7, RAM_66 ; Move (Op1 <- Op2) ROM:67EB lcall ROM_6825 ; Long Subroutine Call ROM:67EB ROM:67EE ROM:67EE ROM_67EE: ; CODE XREF: ROM:67DCj ROM:67EE ; ROM:67E5j ROM:67EE ret ; Return from subroutine ROM:67EE ROM:67EE ; --------------------------------------------------------------------------- ROM:67EF db 22h ; " ROM:67F0 db 22h ; " ROM:67F1 db 22h ; " ROM:67F2 db 22h ; " ROM:67F3 db 22h ; " ROM:67F4 db 22h ; " ROM:67F5 db 22h ; " ROM:67F6 db 22h ; " ROM:67F7 db 22h ; " ROM:67F8 db 22h ; " ROM:67F9 db 22h ; " ROM:67FA db 22h ; " ROM:67FB db 22h ; " ROM:67FC db 22h ; " ROM:67FD db 22h ; " ROM:67FE db 22h ; " ROM:67FF db 22h ; " ROM:6800 db 22h ; " ROM:6801 db 22h ; " ROM:6802 db 22h ; " ROM:6803 db 22h ; " ROM:6804 db 22h ; " ROM:6805 db 22h ; " ROM:6806 db 22h ; " ROM:6807 db 22h ; " ROM:6808 db 22h ; " ROM:6809 db 22h ; " ROM:680A db 22h ; " ROM:680B db 22h ; " ROM:680C db 22h ; " ROM:680D db 22h ; " ROM:680E db 22h ; " ROM:680F db 30h ; 0 ROM:6810 db 32h ; 2 ROM:6811 db 32h ; 2 ROM:6812 db 31h ; 1 ROM:6813 db 24h ; $ ROM:6814 db 0 ROM:6815 ROM:6815 ; =============== S U B R O U T I N E ======================================= ROM:6815 ROM:6815 ; void set_ptr_to(byte arg); //write pointer "1:arg" (R7) to DPTR and in 0xBE-0xBF ROM:6815 ROM:6815 set_ptr_to: ; CODE XREF: ROM:18B5p ROM:6815 ; ROM:67CFp ROM:6815 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6817 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:6819 000 mov @R0, A ; write_byte_to(0xBE, 1); // write 1 to 0xBE addr ROM:681A 000 inc R0 ; Increment Operand ROM:681B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:681C 000 mov @R0, A ; write_byte_to(0xBF, R7); //write content of R7 to 0xBF addr ROM:681D 000 mov DP0L, A ; Data Pointer Low Byte ROM:681F 000 mov DP0H, #1 ; dptr = (1:R7); ROM:681F ; End of function set_ptr_to ROM:681F ROM:6822 ROM:6822 ; =============== S U B R O U T I N E ======================================= ROM:6822 ROM:6822 ; byte read_mem_byte(word addr); // addr - DPTR, output in R7 ROM:6822 ROM:6822 read_mem_byte: ROM:6822 000 movx A, @DPTR ; Move from/to external RAM ROM:6823 000 mov R7, A ; Move (Op1 <- Op2) ROM:6824 000 ret ; Return from subroutine ROM:6824 ROM:6824 ; End of function read_mem_byte ROM:6824 ROM:6825 ROM:6825 ; =============== S U B R O U T I N E ======================================= ROM:6825 ROM:6825 ROM:6825 ROM_6825: ; CODE XREF: ROM:18DCp ROM:6825 ; ROM:67EBp ROM:6825 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6827 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:6829 000 mov @R0, A ; Move (Op1 <- Op2) ROM:682A 000 inc R0 ; Increment Operand ROM:682B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:682C 000 mov @R0, A ; Move (Op1 <- Op2) ROM:682D 000 mov DP0L, A ; Data Pointer Low Byte ROM:682F 000 mov DP0H, #1 ; Data Pointer High Byte ROM:6832 000 mov A, R5 ; Move (Op1 <- Op2) ROM:6833 000 movx @DPTR, A ; Move from/to external RAM ROM:6834 000 ret ; Return from subroutine ROM:6834 ROM:6834 ; End of function ROM_6825 ROM:6834 ROM:6834 ; --------------------------------------------------------------------------- ROM:6835 ROM_6835: db 22h ; CODE XREF: ROM:1BFDj ROM:6836 db 22h ROM:6837 db 22h ROM:6838 db 22h ROM:6839 db 22h ROM:683A db 22h ROM:683B db 22h ROM:683C db 22h ROM:683D db 22h ROM:683E db 22h ROM:683F db 22h ROM:6840 ROM_6840: db 22h ; DATA XREF: ROM:6AB7o ROM:6841 ROM_6841: db 22h ; DATA XREF: ROM:6AB7o ROM:6842 ROM_6842: db 22h ; DATA XREF: ROM:6AB7o ROM:6843 ROM_6843: db 22h ; DATA XREF: ROM:6AB7o ROM:6844 ROM_6844: db 22h ; DATA XREF: ROM:6AB7o ROM:6845 ROM_6845: db 22h ; DATA XREF: ROM:6AB7o ROM:6846 ROM:6846 ; =============== S U B R O U T I N E ======================================= ROM:6846 ROM:6846 ROM:6846 return_id: ; DATA XREF: ROM:6AB7o ROM:6846 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:6849 000 mov A, #85h ; 'à' ; Move (Op1 <- Op2) ROM:684B 000 movx @DPTR, A ; Move from/to external RAM ROM:684B ROM:684C ROM:684C check_status: ; CODE XREF: return_id+Aj ROM:684C 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:684F 000 movx A, @DPTR ; Move from/to external RAM ROM:6850 000 jb ACC.0, check_status ; Accumulator ROM:6850 ROM:6853 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:6856 000 mov A, #2 ; Move (Op1 <- Op2) ROM:6858 000 movx @DPTR, A ; Move from/to external RAM ROM:6858 ROM:6859 ROM:6859 check_status_again: ; CODE XREF: return_id+17j ROM:6859 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:685C 000 movx A, @DPTR ; Move from/to external RAM ROM:685D 000 jb ACC.0, check_status_again ; Accumulator ROM:685D ROM:6860 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:6863 000 clr A ; Clear Operand (0) ROM:6864 000 movx @DPTR, A ; Move from/to external RAM ROM:6864 ROM:6865 ROM:6865 check_status_again_2: ; CODE XREF: return_id+23j ROM:6865 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:6868 000 movx A, @DPTR ; Move from/to external RAM ROM:6869 000 jb ACC.0, check_status_again_2 ; Accumulator ROM:6869 ROM:686C ROM:686C return_zero: ; Host Interface PM Channel 1 Data Out Port ROM:686C 000 mov DPTR, #PMC_PM1DO ROM:686F 000 clr A ; Clear Operand (0) ROM:6870 000 movx @DPTR, A ; Move from/to external RAM ROM:6871 000 ret ; Return from subroutine ROM:6871 ROM:6871 ; End of function return_id ROM:6871 ROM:6871 ; --------------------------------------------------------------------------- ROM:6872 ROM_6872: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6873 ROM_6873: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6874 ROM_6874: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6875 ROM_6875: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6876 ROM_6876: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6877 ROM_6877: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6878 ROM_6878: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6879 ROM_6879: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:687A ROM_687A: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:687B ROM_687B: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:687C ROM_687C: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:687D ROM_687D: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:687E ROM_687E: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:687F ROM_687F: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6880 ROM_6880: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6881 ROM_6881: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6882 ROM_6882: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6883 ROM_6883: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6884 ROM_6884: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6885 ROM_6885: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6886 ROM_6886: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6887 ROM_6887: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6888 ROM_6888: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6889 ROM_6889: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:688A ROM_688A: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:688B ROM_688B: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:688C ROM_688C: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:688D ROM_688D: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:688E ROM_688E: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:688F ROM_688F: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6890 ROM_6890: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6891 ROM_6891: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6892 ROM_6892: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6893 ROM_6893: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6894 ROM_6894: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6895 ROM_6895: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6896 ROM_6896: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6897 ROM_6897: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6898 ROM_6898: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:6899 ROM_6899: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:689A ROM_689A: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:689B ROM_689B: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:689C ROM_689C: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:689D ROM_689D: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:689E ROM_689E: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:689F ROM_689F: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A0 ROM_68A0: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A1 ROM_68A1: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A2 ROM_68A2: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A3 ROM_68A3: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A4 ROM_68A4: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A5 ROM_68A5: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A6 ROM_68A6: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A7 ROM_68A7: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A8 ROM_68A8: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68A9 ROM_68A9: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68AA ROM_68AA: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68AB ROM_68AB: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68AC ROM_68AC: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68AD ROM_68AD: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68AE ROM_68AE: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68AF ROM_68AF: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B0 ROM_68B0: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B1 ROM_68B1: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B2 ROM_68B2: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B3 ROM_68B3: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B4 ROM_68B4: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B5 ROM_68B5: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B6 ROM_68B6: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B7 ROM_68B7: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B8 ROM_68B8: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68B9 ROM_68B9: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68BA ROM_68BA: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68BB ROM_68BB: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68BC ROM_68BC: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68BD ROM_68BD: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68BE ROM_68BE: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68BF ROM_68BF: db 22h ; " ; DATA XREF: ROM:6AB7o ROM:68C0 ROM:68C0 ; =============== S U B R O U T I N E ======================================= ROM:68C0 ROM:68C0 ROM:68C0 ROM_68C0: ; DATA XREF: ROM:6AB7o ROM:68C0 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:68C3 000 mov A, #1 ; Move (Op1 <- Op2) ROM:68C5 000 movx @DPTR, A ; Move from/to external RAM ROM:68C6 000 inc DPTR ; Increment Operand ROM:68C7 000 movx @DPTR, A ; Move from/to external RAM ROM:68C8 000 ret ; Return from subroutine ROM:68C8 ROM:68C8 ; End of function ROM_68C0 ROM:68C8 ROM:68C9 ROM:68C9 ; =============== S U B R O U T I N E ======================================= ROM:68C9 ROM:68C9 ROM:68C9 return_id_only: ; DATA XREF: ROM:6AB7o ROM:68C9 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:68CC 000 mov A, #85h ; 'à' ; Move (Op1 <- Op2) ROM:68CE 000 movx @DPTR, A ; Move from/to external RAM ROM:68CE ROM:68CF ROM:68CF check_status: ; CODE XREF: return_id_only+Aj ROM:68CF 000 mov DPTR, #PMC_PM1STS ; Host Interface PM Channel 1 Status ROM:68D2 000 movx A, @DPTR ; Move from/to external RAM ROM:68D3 000 jb ACC.0, check_status ; Accumulator ROM:68D3 ROM:68D6 000 mov DPTR, #PMC_PM1DO ; Host Interface PM Channel 1 Data Out Port ROM:68D9 000 mov A, #2 ; Move (Op1 <- Op2) ROM:68DB 000 movx @DPTR, A ; Move from/to external RAM ROM:68DC 000 ret ; Return from subroutine ROM:68DC ROM:68DC ; End of function return_id_only ROM:68DC ROM:68DC ; --------------------------------------------------------------------------- ROM:68DD ROM_68DD: db 22h ; DATA XREF: ROM:6AB7o ROM:68DE ROM_68DE: db 22h ; DATA XREF: ROM:6AB7o ROM:68DF ROM_68DF: db 22h ; DATA XREF: ROM:6AB7o ROM:68E0 ROM_68E0: db 22h ; DATA XREF: ROM:6AB7o ROM:68E1 ROM_68E1: db 22h ; DATA XREF: ROM:6AB7o ROM:68E2 ROM:68E2 ; =============== S U B R O U T I N E ======================================= ROM:68E2 ROM:68E2 ROM:68E2 ROM_68E2: ; DATA XREF: ROM:6AB7o ROM:68E2 ROM:68E2 ; FUNCTION CHUNK AT ROM:4F68 SIZE 00000083 BYTES ROM:68E2 ROM:68E2 000 mov R4, #4Fh ; 'O' ; Move (Op1 <- Op2) ROM:68E4 000 mov R5, #68h ; 'h' ; Move (Op1 <- Op2) ROM:68E6 000 clr A ; Clear Operand (0) ROM:68E7 000 mov R7, A ; Move (Op1 <- Op2) ROM:68E8 000 lcall do_something_with_offset_table_1 ; Long Subroutine Call ROM:68E8 ROM:68EB 000 ljmp parse_CMD_and_print_PM_CH1 ; Long Jump ROM:68EB ROM:68EB ; End of function ROM_68E2 ROM:68EB ROM:68EB ; --------------------------------------------------------------------------- ROM:68EE ROM_68EE: db 22h ; DATA XREF: ROM:6AB7o ROM:68EF ROM_68EF: db 22h ; DATA XREF: ROM:6AB7o ROM:68F0 ROM_68F0: db 22h ; DATA XREF: ROM:6AB7o ROM:68F1 ROM_68F1: db 22h ; DATA XREF: ROM:6AB7o ROM:68F2 ROM_68F2: db 22h ; DATA XREF: ROM:6AB7o ROM:68F3 ROM_68F3: db 22h ; DATA XREF: ROM:6AB7o ROM:68F4 ROM_68F4: db 22h ; DATA XREF: ROM:6AB7o ROM:68F5 ROM_68F5: db 22h ; DATA XREF: ROM:6AB7o ROM:68F6 ROM_68F6: db 22h ; DATA XREF: ROM:6AB7o ROM:68F7 ROM_68F7: db 22h ; DATA XREF: ROM:6AB7o ROM:68F8 ROM_68F8: db 22h ; DATA XREF: ROM:6AB7o ROM:68F9 ROM_68F9: db 22h ; DATA XREF: ROM:6AB7o ROM:68FA ROM_68FA: db 22h ; DATA XREF: ROM:6AB7o ROM:68FB ROM_68FB: db 22h ; DATA XREF: ROM:6AB7o ROM:68FC ROM_68FC: db 22h ; DATA XREF: ROM:6AB7o ROM:68FD ROM_68FD: db 22h ; DATA XREF: ROM:6AB7o ROM:68FE ROM_68FE: db 22h ; DATA XREF: ROM:6AB7o ROM:68FF ROM_68FF: db 22h ; DATA XREF: ROM:6AB7o ROM:6900 ROM_6900: db 22h ; DATA XREF: ROM:6AB7o ROM:6901 ROM_6901: db 22h ; DATA XREF: ROM:6AB7o ROM:6902 ROM_6902: db 22h ; DATA XREF: ROM:6AB7o ROM:6903 ROM_6903: db 22h ; DATA XREF: ROM:6AB7o ROM:6904 ROM_6904: db 22h ; DATA XREF: ROM:6AB7o ROM:6905 ROM_6905: db 22h ; DATA XREF: ROM:6AB7o ROM:6906 ROM_6906: db 22h ; DATA XREF: ROM:6AB7o ROM:6907 ROM_6907: db 22h ; DATA XREF: ROM:6AB7o ROM:6908 ROM_6908: db 22h ; DATA XREF: ROM:6AB7o ROM:6909 ROM_6909: db 22h ; DATA XREF: ROM:6AB7o ROM:690A ROM_690A: db 22h ; DATA XREF: ROM:6AB7o ROM:690B ROM_690B: db 22h ; DATA XREF: ROM:6AB7o ROM:690C ROM_690C: db 22h ; DATA XREF: ROM:6AB7o ROM:690D ROM_690D: db 22h ; DATA XREF: ROM:6AB7o ROM:690E ROM_690E: db 22h ; DATA XREF: ROM:6AB7o ROM:690F ROM_690F: db 22h ; DATA XREF: ROM:6AB7o ROM:6910 ROM_6910: db 22h ; DATA XREF: ROM:6AB7o ROM:6911 ROM:6911 ; =============== S U B R O U T I N E ======================================= ROM:6911 ROM:6911 ROM:6911 forward_from_PM_CH1_to_0x539: ; DATA XREF: ROM:6AB7o ROM:6911 000 mov DPTR, #PMC_PM1DI ; Host Interface PM Channel 1 Data In Port ROM:6914 000 movx A, @DPTR ; Move from/to external RAM ROM:6915 000 mov DPTR, #539h ; Move (Op1 <- Op2) ROM:6918 000 movx @DPTR, A ; Move from/to external RAM ROM:6919 000 ret ; Return from subroutine ROM:6919 ROM:6919 ; End of function forward_from_PM_CH1_to_0x539 ROM:6919 ROM:6919 ; --------------------------------------------------------------------------- ROM:691A ROM_691A: db 22h ; DATA XREF: ROM:1C34o ROM:691B ROM_691B: db 22h ; DATA XREF: ROM:1C3Co ROM:691C ROM_691C: db 22h ; DATA XREF: ROM:1C3Eo ROM:691D ROM_691D: db 22h ; DATA XREF: ROM:1C40o ROM:691E ROM_691E: db 22h ; DATA XREF: ROM:1C42o ROM:691F db 7Fh ROM:6920 db 0 ROM:6921 db 22h ROM:6922 db 0E5h ROM:6923 db 63h ROM:6924 ROM:6924 ; =============== S U B R O U T I N E ======================================= ROM:6924 ROM:6924 ROM:6924 ROM_6924: ROM:6924 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6926 000 add A, ACC ; Accumulator ROM:6928 000 add A, #0B7h ; '+' ; Add Second Operand to Acc ROM:692A 000 mov DP0L, A ; Data Pointer Low Byte ROM:692C 000 clr A ; Clear Operand (0) ROM:692D 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:692F 000 mov DP0H, A ; Data Pointer High Byte ROM:6931 000 clr A ; Clear Operand (0) ROM:6932 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6933 000 mov R6, A ; Move (Op1 <- Op2) ROM:6934 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6936 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6937 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6939 000 mov R1, A ; Move (Op1 <- Op2) ROM:693A 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:693A ROM:693A ; End of function ROM_6924 ROM:693A ROM:693D ROM:693D ; =============== S U B R O U T I N E ======================================= ROM:693D ROM:693D ROM:693D ROM_693D: ROM:693D 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:693F 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6941 000 add A, ACC ; Accumulator ROM:6943 000 add A, #0B7h ; '+' ; Add Second Operand to Acc ROM:6945 000 mov DP0L, A ; Data Pointer Low Byte ROM:6947 000 clr A ; Clear Operand (0) ROM:6948 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:694A 000 mov DP0H, A ; Data Pointer High Byte ROM:694C 000 clr A ; Clear Operand (0) ROM:694D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:694E 000 mov R6, A ; Move (Op1 <- Op2) ROM:694F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6951 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6952 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6954 000 mov R1, A ; Move (Op1 <- Op2) ROM:6955 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6955 ROM:6955 ; End of function ROM_693D ROM:6955 ROM:6958 ROM:6958 ; =============== S U B R O U T I N E ======================================= ROM:6958 ROM:6958 ROM:6958 ROM_6958: ROM:6958 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:695A 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:695C 000 add A, ACC ; Accumulator ROM:695E 000 add A, #0B7h ; '+' ; Add Second Operand to Acc ROM:6960 000 mov DP0L, A ; Data Pointer Low Byte ROM:6962 000 clr A ; Clear Operand (0) ROM:6963 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:6965 000 mov DP0H, A ; Data Pointer High Byte ROM:6967 000 clr A ; Clear Operand (0) ROM:6968 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6969 000 mov R6, A ; Move (Op1 <- Op2) ROM:696A 000 mov A, #1 ; Move (Op1 <- Op2) ROM:696C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:696D 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:696F 000 mov R1, A ; Move (Op1 <- Op2) ROM:6970 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6970 ROM:6970 ; End of function ROM_6958 ROM:6970 ROM:6973 ROM:6973 ; =============== S U B R O U T I N E ======================================= ROM:6973 ROM:6973 ROM:6973 ROM_6973: ROM:6973 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:6975 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6977 000 add A, ACC ; Accumulator ROM:6979 000 add A, #0B7h ; '+' ; Add Second Operand to Acc ROM:697B 000 mov DP0L, A ; Data Pointer Low Byte ROM:697D 000 clr A ; Clear Operand (0) ROM:697E 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:6980 000 mov DP0H, A ; Data Pointer High Byte ROM:6982 000 clr A ; Clear Operand (0) ROM:6983 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6984 000 mov R6, A ; Move (Op1 <- Op2) ROM:6985 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6987 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6988 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:698A 000 mov R1, A ; Move (Op1 <- Op2) ROM:698B 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:698B ROM:698B ; End of function ROM_6973 ROM:698B ROM:698E ROM:698E ; =============== S U B R O U T I N E ======================================= ROM:698E ROM:698E ROM:698E ROM_698E: ; DATA XREF: ROM:1C1Co ROM:698E 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:6990 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6992 000 add A, ACC ; Accumulator ROM:6994 000 add A, #0B7h ; '+' ; Add Second Operand to Acc ROM:6996 000 mov DP0L, A ; Data Pointer Low Byte ROM:6998 000 clr A ; Clear Operand (0) ROM:6999 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:699B 000 mov DP0H, A ; Data Pointer High Byte ROM:699D 000 clr A ; Clear Operand (0) ROM:699E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:699F 000 mov R6, A ; Move (Op1 <- Op2) ROM:69A0 000 mov A, #1 ; Move (Op1 <- Op2) ROM:69A2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:69A3 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:69A5 000 mov R1, A ; Move (Op1 <- Op2) ROM:69A6 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:69A6 ROM:69A6 ; End of function ROM_698E ROM:69A6 ROM:69A9 ROM:69A9 ; =============== S U B R O U T I N E ======================================= ROM:69A9 ROM:69A9 ROM:69A9 ROM_69A9: ; DATA XREF: ROM:1C1Eo ROM:69A9 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:69AB 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:69AD 000 add A, ACC ; Accumulator ROM:69AF 000 add A, #0B7h ; '+' ; Add Second Operand to Acc ROM:69B1 000 mov DP0L, A ; Data Pointer Low Byte ROM:69B3 000 clr A ; Clear Operand (0) ROM:69B4 000 addc A, #6Ah ; 'j' ; Add Second Operand to Acc with carry ROM:69B6 000 mov DP0H, A ; Data Pointer High Byte ROM:69B8 000 clr A ; Clear Operand (0) ROM:69B9 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:69BA 000 mov R6, A ; Move (Op1 <- Op2) ROM:69BB 000 mov A, #1 ; Move (Op1 <- Op2) ROM:69BD 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:69BE 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:69C0 000 mov R1, A ; Move (Op1 <- Op2) ROM:69C1 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:69C1 ROM:69C1 ; End of function ROM_69A9 ROM:69C1 ROM:69C4 ROM:69C4 ; =============== S U B R O U T I N E ======================================= ROM:69C4 ROM:69C4 ROM:69C4 ROM_69C4: ; DATA XREF: ROM:1C20o ROM:69C4 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:69C6 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:69C8 000 add A, ACC ; Accumulator ROM:69CA 000 add A, #0B7h ; '+' ; Add Second Operand to Acc ROM:69CC 000 mov DP0L, A ; Data Pointer Low Byte ROM:69CE 000 clr A ; Clear Operand (0) ROM:69CF 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:69D1 000 mov DP0H, A ; Data Pointer High Byte ROM:69D3 000 clr A ; Clear Operand (0) ROM:69D4 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:69D5 000 mov R6, A ; Move (Op1 <- Op2) ROM:69D6 000 mov A, #1 ; Move (Op1 <- Op2) ROM:69D8 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:69D9 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:69DB 000 mov R1, A ; Move (Op1 <- Op2) ROM:69DC 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:69DC ROM:69DC ; End of function ROM_69C4 ROM:69DC ROM:69DF ROM:69DF ; =============== S U B R O U T I N E ======================================= ROM:69DF ROM:69DF ROM:69DF ROM_69DF: ; DATA XREF: ROM:1C22o ROM:69DF 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:69E1 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:69E3 000 add A, ACC ; Accumulator ROM:69E5 000 add A, #0B7h ; '+' ; Add Second Operand to Acc ROM:69E7 000 mov DP0L, A ; Data Pointer Low Byte ROM:69E9 000 clr A ; Clear Operand (0) ROM:69EA 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:69EC 000 mov DP0H, A ; Data Pointer High Byte ROM:69EE 000 clr A ; Clear Operand (0) ROM:69EF 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:69F0 000 mov R6, A ; Move (Op1 <- Op2) ROM:69F1 000 mov A, #1 ; Move (Op1 <- Op2) ROM:69F3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:69F4 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:69F6 000 mov R1, A ; Move (Op1 <- Op2) ROM:69F7 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:69F7 ROM:69F7 ; End of function ROM_69DF ROM:69F7 ROM:69FA ROM:69FA ; =============== S U B R O U T I N E ======================================= ROM:69FA ROM:69FA ROM:69FA ROM_69FA: ; DATA XREF: ROM:1C26o ROM:69FA 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:69FC 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:69FE 000 add A, ACC ; Accumulator ROM:6A00 000 add A, #0D7h ; '+' ; Add Second Operand to Acc ROM:6A02 000 mov DP0L, A ; Data Pointer Low Byte ROM:6A04 000 clr A ; Clear Operand (0) ROM:6A05 000 addc A, #6Ah ; 'j' ; Add Second Operand to Acc with carry ROM:6A07 000 mov DP0H, A ; Data Pointer High Byte ROM:6A09 000 clr A ; Clear Operand (0) ROM:6A0A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A0B 000 mov R6, A ; Move (Op1 <- Op2) ROM:6A0C 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6A0E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A0F 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6A11 000 mov R1, A ; Move (Op1 <- Op2) ROM:6A12 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6A12 ROM:6A12 ; End of function ROM_69FA ROM:6A12 ROM:6A15 ROM:6A15 ; =============== S U B R O U T I N E ======================================= ROM:6A15 ROM:6A15 ROM:6A15 ROM_6A15: ; DATA XREF: ROM:1C28o ROM:6A15 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:6A17 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6A19 000 add A, ACC ; Accumulator ROM:6A1B 000 add A, #0F7h ; '˜' ; Add Second Operand to Acc ROM:6A1D 000 mov DP0L, A ; Data Pointer Low Byte ROM:6A1F 000 clr A ; Clear Operand (0) ROM:6A20 000 addc A, #6Ah ; 'j' ; Add Second Operand to Acc with carry ROM:6A22 000 mov DP0H, A ; Data Pointer High Byte ROM:6A24 000 clr A ; Clear Operand (0) ROM:6A25 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A26 000 mov R6, A ; Move (Op1 <- Op2) ROM:6A27 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6A29 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A2A 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6A2C 000 mov R1, A ; Move (Op1 <- Op2) ROM:6A2D 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6A2D ROM:6A2D ; End of function ROM_6A15 ROM:6A2D ROM:6A30 ROM:6A30 ; =============== S U B R O U T I N E ======================================= ROM:6A30 ROM:6A30 ROM:6A30 ROM_6A30: ; DATA XREF: ROM:1C2Ao ROM:6A30 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:6A32 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6A34 000 add A, ACC ; Accumulator ROM:6A36 000 add A, #17h ; Add Second Operand to Acc ROM:6A38 000 mov DP0L, A ; Data Pointer Low Byte ROM:6A3A 000 clr A ; Clear Operand (0) ROM:6A3B 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:6A3D 000 mov DP0H, A ; Data Pointer High Byte ROM:6A3F 000 clr A ; Clear Operand (0) ROM:6A40 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A41 000 mov R6, A ; Move (Op1 <- Op2) ROM:6A42 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6A44 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A45 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6A47 000 mov R1, A ; Move (Op1 <- Op2) ROM:6A48 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6A48 ROM:6A48 ; End of function ROM_6A30 ROM:6A48 ROM:6A4B ROM:6A4B ; =============== S U B R O U T I N E ======================================= ROM:6A4B ROM:6A4B ROM:6A4B ROM_6A4B: ; DATA XREF: ROM:1C2Co ROM:6A4B 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:6A4D 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6A4F 000 add A, ACC ; Accumulator ROM:6A51 000 add A, #37h ; '7' ; Add Second Operand to Acc ROM:6A53 000 mov DP0L, A ; Data Pointer Low Byte ROM:6A55 000 clr A ; Clear Operand (0) ROM:6A56 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:6A58 000 mov DP0H, A ; Data Pointer High Byte ROM:6A5A 000 clr A ; Clear Operand (0) ROM:6A5B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A5C 000 mov R6, A ; Move (Op1 <- Op2) ROM:6A5D 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6A5F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A60 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6A62 000 mov R1, A ; Move (Op1 <- Op2) ROM:6A63 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6A63 ROM:6A63 ; End of function ROM_6A4B ROM:6A63 ROM:6A66 ROM:6A66 ; =============== S U B R O U T I N E ======================================= ROM:6A66 ROM:6A66 ROM:6A66 ROM_6A66: ; DATA XREF: ROM:1C2Eo ROM:6A66 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:6A68 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6A6A 000 add A, ACC ; Accumulator ROM:6A6C 000 add A, #57h ; 'W' ; Add Second Operand to Acc ROM:6A6E 000 mov DP0L, A ; Data Pointer Low Byte ROM:6A70 000 clr A ; Clear Operand (0) ROM:6A71 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:6A73 000 mov DP0H, A ; Data Pointer High Byte ROM:6A75 000 clr A ; Clear Operand (0) ROM:6A76 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A77 000 mov R6, A ; Move (Op1 <- Op2) ROM:6A78 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6A7A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A7B 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6A7D 000 mov R1, A ; Move (Op1 <- Op2) ROM:6A7E 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6A7E ROM:6A7E ; End of function ROM_6A66 ROM:6A7E ROM:6A81 ROM:6A81 ; =============== S U B R O U T I N E ======================================= ROM:6A81 ROM:6A81 ROM:6A81 ROM_6A81: ; DATA XREF: ROM:1C30o ROM:6A81 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:6A83 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:6A85 000 add A, ACC ; Accumulator ROM:6A87 000 add A, #77h ; 'w' ; Add Second Operand to Acc ROM:6A89 000 mov DP0L, A ; Data Pointer Low Byte ROM:6A8B 000 clr A ; Clear Operand (0) ROM:6A8C 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:6A8E 000 mov DP0H, A ; Data Pointer High Byte ROM:6A90 000 clr A ; Clear Operand (0) ROM:6A91 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A92 000 mov R6, A ; Move (Op1 <- Op2) ROM:6A93 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6A95 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6A96 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6A98 000 mov R1, A ; Move (Op1 <- Op2) ROM:6A99 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6A99 ROM:6A99 ; End of function ROM_6A81 ROM:6A99 ROM:6A9C ROM:6A9C ; =============== S U B R O U T I N E ======================================= ROM:6A9C ROM:6A9C ROM:6A9C ROM_6A9C: ; DATA XREF: ROM:1C32o ROM:6A9C 000 mov A, RAM_63 ; Move (Op1 <- Op2) ROM:6A9E 000 anl A, #1111b ; Logical AND (op1 &= op2) ROM:6AA0 000 add A, ACC ; Accumulator ROM:6AA2 000 add A, #97h ; 'ù' ; Add Second Operand to Acc ROM:6AA4 000 mov DP0L, A ; Data Pointer Low Byte ROM:6AA6 000 clr A ; Clear Operand (0) ROM:6AA7 000 addc A, #6Bh ; 'k' ; Add Second Operand to Acc with carry ROM:6AA9 000 mov DP0H, A ; Data Pointer High Byte ROM:6AAB 000 clr A ; Clear Operand (0) ROM:6AAC 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6AAD 000 mov R6, A ; Move (Op1 <- Op2) ROM:6AAE 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6AB0 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6AB1 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6AB3 000 mov R1, A ; Move (Op1 <- Op2) ROM:6AB4 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6AB4 ROM:6AB4 ; End of function ROM_6A9C ROM:6AB4 ROM:6AB4 ; --------------------------------------------------------------------------- ROM:6AB7 offset_table <ROM_6840, ROM_6841, ROM_6842, ROM_6843, ROM_6844, \ ROM:6AB7 ROM_6845, return_id, ROM_6872, ROM_6873, ROM_6874, \ ROM:6AB7 ROM_6875, ROM_6876, ROM_6877, ROM_6878, ROM_6879, \ ROM:6AB7 ROM_687A, ROM_687B, ROM_687C, ROM_687D, ROM_687E, \ ROM:6AB7 ROM_687F, ROM_6880, ROM_6881, ROM_6882, ROM_6883, \ ROM:6AB7 ROM_6884, ROM_6885, ROM_6886, ROM_6887, ROM_6888, \ ROM:6AB7 ROM_6889, ROM_688A, ROM_688B, ROM_688C, ROM_688D, \ ROM:6AB7 ROM_688E, ROM_688F, ROM_6890, ROM_6891, ROM_6892, \ ROM:6AB7 ROM_6893, ROM_6894, ROM_6895, ROM_6896, ROM_6897, \ ROM:6AB7 ROM_6898, ROM_6899, ROM_689A, ROM_689B, ROM_689C, \ ROM:6AB7 ROM_689D, ROM_689E, ROM_689F, ROM_68A0, ROM_68A1, \ ROM:6AB7 ROM_68A2, ROM_68A3, ROM_68A4, ROM_68A5, ROM_68A6, \ ROM:6AB7 ROM_68A7, ROM_68A8, ROM_68A9, ROM_68AA, ROM_68AB, \ ROM:6AB7 ROM_68AC, ROM_68AD, ROM_68AE, ROM_68AF, ROM_68B0, \ ROM:6AB7 ROM_68B1, ROM_68B2, ROM_68B3, ROM_68B4, ROM_68B5, \ ROM:6AB7 ROM_68B6, ROM_68B7, ROM_68B8, ROM_68B9, ROM_68BA, \ ROM:6AB7 ROM_68BB, ROM_68BC, ROM_68BD, ROM_68BE, ROM_68BF, \ ROM:6AB7 ROM_68C0, return_id_only, ROM_68DD, ROM_68DE, ROM_68DF, \ ROM:6AB7 ROM_68E0, ROM_68E1, ROM_68E2, ROM_68EE, ROM_68EF, \ ROM:6AB7 ROM_68F0, ROM_68F1, ROM_68F2, ROM_68F3, ROM_68F4, \ ROM:6AB7 ROM_68F5, ROM_68F6, ROM_68F7, ROM_68F8, ROM_68F9, \ ROM:6AB7 ROM_68FA, ROM_68FB, ROM_68FC, ROM_68FD, ROM_68FE, \ ROM:6AB7 ROM_68FF, ROM_6900, ROM_6901, ROM_6902, ROM_6903, \ ROM:6AB7 ROM_6904, ROM_6905, ROM_6906, ROM_6907, ROM_6908, \ ROM:6AB7 ROM_6909, ROM_690A, ROM_690B, ROM_690C, ROM_690D, \ ROM:6AB7 ROM_690E, ROM_690F, ROM_6910, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539, \ ROM:6AB7 forward_from_PM_CH1_to_0x539> ROM:6BD7 ROM_6BD7: db 22h ; DATA XREF: ROM:6F31o ROM:6BD8 ROM_6BD8: db 22h ; DATA XREF: ROM:6F33o ROM:6BD9 ROM_6BD9: db 22h ; DATA XREF: ROM:6F35o ROM:6BDA ROM_6BDA: db 22h ; DATA XREF: ROM:6F37o ROM:6BDB ROM_6BDB: db 22h ; DATA XREF: ROM:6F39o ROM:6BDC ROM_6BDC: db 22h ; DATA XREF: ROM:6F3Bo ROM:6BDD ROM_6BDD: db 22h ; DATA XREF: ROM:6F3Do ROM:6BDE ROM_6BDE: db 22h ; DATA XREF: ROM:6F3Fo ROM:6BDF ROM_6BDF: db 22h ; DATA XREF: ROM:6F41o ROM:6BE0 ROM_6BE0: db 22h ; DATA XREF: ROM:6F43o ROM:6BE1 ROM_6BE1: db 22h ; DATA XREF: ROM:6F45o ROM:6BE2 ROM_6BE2: db 22h ; DATA XREF: ROM:6F47o ROM:6BE3 ROM_6BE3: db 22h ; DATA XREF: ROM:6F49o ROM:6BE4 ROM_6BE4: db 22h ; DATA XREF: ROM:6F4Bo ROM:6BE5 ROM_6BE5: db 22h ; DATA XREF: ROM:6F4Do ROM:6BE6 ROM_6BE6: db 22h ; DATA XREF: ROM:6F4Fo ROM:6BE7 ROM_6BE7: db 22h ; DATA XREF: ROM:6F51o ROM:6BE8 ROM_6BE8: db 22h ; DATA XREF: ROM:6F53o ROM:6BE9 ROM_6BE9: db 22h ; DATA XREF: ROM:6F55o ROM:6BEA ROM_6BEA: db 22h ; DATA XREF: ROM:6F57o ROM:6BEB ROM_6BEB: db 22h ; DATA XREF: ROM:6F59o ROM:6BEC ROM:6BEC ; =============== S U B R O U T I N E ======================================= ROM:6BEC ROM:6BEC ROM:6BEC ROM_6BEC: ; DATA XREF: ROM:6F5Bo ROM:6BEC 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6BEF 000 clr A ; Clear Operand (0) ROM:6BF0 000 movx @DPTR, A ; Move from/to external RAM ROM:6BF1 000 ret ; Return from subroutine ROM:6BF1 ROM:6BF1 ; End of function ROM_6BEC ROM:6BF1 ROM:6BF1 ; --------------------------------------------------------------------------- ROM:6BF2 ROM_6BF2: db 22h ; DATA XREF: ROM:6F5Do ROM:6BF3 ROM_6BF3: db 22h ; DATA XREF: ROM:6F5Fo ROM:6BF4 ROM_6BF4: db 22h ; DATA XREF: ROM:6F61o ROM:6BF5 ROM_6BF5: db 22h ; DATA XREF: ROM:6F63o ROM:6BF6 ROM:6BF6 ; =============== S U B R O U T I N E ======================================= ROM:6BF6 ROM:6BF6 ROM:6BF6 ROM_6BF6: ; DATA XREF: ROM:6F65o ROM:6BF6 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6BF9 000 clr A ; Clear Operand (0) ROM:6BFA 000 movx @DPTR, A ; Move from/to external RAM ROM:6BFB 000 ret ; Return from subroutine ROM:6BFB ROM:6BFB ; End of function ROM_6BF6 ROM:6BFB ROM:6BFB ; --------------------------------------------------------------------------- ROM:6BFC ROM_6BFC: db 22h ; DATA XREF: ROM:6F67o ROM:6BFD ROM_6BFD: db 22h ; DATA XREF: ROM:6F69o ROM:6BFE ROM_6BFE: db 22h ; DATA XREF: ROM:6F6Bo ROM:6BFF ROM_6BFF: db 22h ; DATA XREF: ROM:6F6Do ROM:6C00 ROM_6C00: db 22h ; DATA XREF: ROM:6F6Fo ROM:6C01 ROM_6C01: db 22h ; DATA XREF: ROM:6F71o ROM:6C02 ROM:6C02 ; =============== S U B R O U T I N E ======================================= ROM:6C02 ROM:6C02 ROM:6C02 ROM_6C02: ; DATA XREF: ROM:6F73o ROM:6C02 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6C05 000 clr A ; Clear Operand (0) ROM:6C06 000 movx @DPTR, A ; Move from/to external RAM ROM:6C07 000 ret ; Return from subroutine ROM:6C07 ROM:6C07 ; End of function ROM_6C02 ROM:6C07 ROM:6C07 ; --------------------------------------------------------------------------- ROM:6C08 ROM_6C08: db 22h ; DATA XREF: ROM:6F75o ROM:6C09 ROM_6C09: db 22h ; DATA XREF: ROM:6F77o ROM:6C0A ROM_6C0A: db 22h ; DATA XREF: ROM:6F79o ROM:6C0B ROM_6C0B: db 22h ; DATA XREF: ROM:6F7Bo ROM:6C0C ROM_6C0C: db 22h ; DATA XREF: ROM:6F7Do ROM:6C0D ROM_6C0D: db 22h ; DATA XREF: ROM:6F7Fo ROM:6C0E ROM_6C0E: db 22h ; DATA XREF: ROM:6F81o ROM:6C0F ROM_6C0F: db 22h ; DATA XREF: ROM:6F83o ROM:6C10 ROM_6C10: db 22h ; DATA XREF: ROM:6F85o ROM:6C11 ROM_6C11: db 22h ; DATA XREF: ROM:6F87o ROM:6C12 ROM_6C12: db 22h ; DATA XREF: ROM:6F89o ROM:6C13 ROM_6C13: db 22h ; DATA XREF: ROM:6F8Bo ROM:6C14 ROM_6C14: db 22h ; DATA XREF: ROM:6F8Do ROM:6C15 ROM_6C15: db 22h ; DATA XREF: ROM:6F8Fo ROM:6C16 ROM_6C16: db 22h ; DATA XREF: ROM:6F91o ROM:6C17 ROM_6C17: db 22h ; DATA XREF: ROM:6F93o ROM:6C18 ROM_6C18: db 22h ; DATA XREF: ROM:6F95o ROM:6C19 ROM:6C19 ; =============== S U B R O U T I N E ======================================= ROM:6C19 ROM:6C19 ROM:6C19 return_PM_ch2_zero: ; DATA XREF: ROM:6F97o ROM:6C19 000 lcall erase_RAM_68 ; Long Subroutine Call ROM:6C19 ROM:6C1C 000 jnc return ; Jump if Carry is clear ROM:6C1C ROM:6C1E 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6C21 000 clr A ; Clear Operand (0) ROM:6C22 000 movx @DPTR, A ; Move from/to external RAM ROM:6C22 ROM:6C23 ROM:6C23 return: ; CODE XREF: return_PM_ch2_zero+3j ROM:6C23 000 ret ; Return from subroutine ROM:6C23 ROM:6C23 ; End of function return_PM_ch2_zero ROM:6C23 ROM:6C24 ROM:6C24 ; =============== S U B R O U T I N E ======================================= ROM:6C24 ROM:6C24 ROM:6C24 return_PM_ch2_zero_again: ; DATA XREF: ROM:6F99o ROM:6C24 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6C27 000 clr A ; Clear Operand (0) ROM:6C28 000 movx @DPTR, A ; Move from/to external RAM ROM:6C29 000 ret ; Return from subroutine ROM:6C29 ROM:6C29 ; End of function return_PM_ch2_zero_again ROM:6C29 ROM:6C2A ROM:6C2A ; =============== S U B R O U T I N E ======================================= ROM:6C2A ROM:6C2A ROM:6C2A return_PM_ch2_zero_again_2: ; DATA XREF: ROM:6F9Bo ROM:6C2A 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6C2D 000 clr A ; Clear Operand (0) ROM:6C2E 000 movx @DPTR, A ; Move from/to external RAM ROM:6C2F 000 ret ; Return from subroutine ROM:6C2F ROM:6C2F ; End of function return_PM_ch2_zero_again_2 ROM:6C2F ROM:6C30 ROM:6C30 ; =============== S U B R O U T I N E ======================================= ROM:6C30 ROM:6C30 ROM:6C30 return_PM_ch2_zero_again_3: ; DATA XREF: ROM:6F9Do ROM:6C30 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6C33 000 clr A ; Clear Operand (0) ROM:6C34 000 movx @DPTR, A ; Move from/to external RAM ROM:6C35 000 ret ; Return from subroutine ROM:6C35 ROM:6C35 ; End of function return_PM_ch2_zero_again_3 ROM:6C35 ROM:6C36 ROM:6C36 ; =============== S U B R O U T I N E ======================================= ROM:6C36 ROM:6C36 ROM:6C36 return_PM_ch2_zero_again_4: ; DATA XREF: ROM:6F9Fo ROM:6C36 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6C39 000 clr A ; Clear Operand (0) ROM:6C3A 000 movx @DPTR, A ; Move from/to external RAM ROM:6C3B 000 ret ; Return from subroutine ROM:6C3B ROM:6C3B ; End of function return_PM_ch2_zero_again_4 ROM:6C3B ROM:6C3C ROM:6C3C ; =============== S U B R O U T I N E ======================================= ROM:6C3C ROM:6C3C ROM:6C3C return_PM_ch2_zero_again_5: ; DATA XREF: ROM:6FA1o ROM:6C3C 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6C3F 000 clr A ; Clear Operand (0) ROM:6C40 000 movx @DPTR, A ; Move from/to external RAM ROM:6C41 000 ret ; Return from subroutine ROM:6C41 ROM:6C41 ; End of function return_PM_ch2_zero_again_5 ROM:6C41 ROM:6C42 ROM:6C42 ; =============== S U B R O U T I N E ======================================= ROM:6C42 ROM:6C42 ROM:6C42 return_PM_ch2_zero_again_6: ; DATA XREF: ROM:6FA3o ROM:6C42 000 mov DPTR, #PMC_PM2DO ; Host Interface PM Channel 2 Data Out Port ROM:6C45 000 clr A ; Clear Operand (0) ROM:6C46 000 movx @DPTR, A ; Move from/to external RAM ROM:6C47 000 ret ; Return from subroutine ROM:6C47 ROM:6C47 ; End of function return_PM_ch2_zero_again_6 ROM:6C47 ROM:6C47 ; --------------------------------------------------------------------------- ROM:6C48 ROM_6C48: db 22h ; DATA XREF: ROM:6FA5o ROM:6C49 ROM_6C49: db 22h ; DATA XREF: ROM:6FA7o ROM:6C4A ROM_6C4A: db 22h ; DATA XREF: ROM:6FA9o ROM:6C4B ROM_6C4B: db 22h ; DATA XREF: ROM:6FABo ROM:6C4C ROM_6C4C: db 22h ; DATA XREF: ROM:6FADo ROM:6C4D ROM_6C4D: db 22h ; DATA XREF: ROM:6FAFo ROM:6C4E ROM_6C4E: db 22h ; DATA XREF: ROM:6FB1o ROM:6C4F ROM_6C4F: db 22h ; DATA XREF: ROM:6FB3o ROM:6C50 ROM_6C50: db 22h ; DATA XREF: ROM:6FB5o ROM:6C51 ROM_6C51: db 22h ; DATA XREF: ROM:6FB7o ROM:6C52 ROM_6C52: db 22h ; DATA XREF: ROM:6FB9o ROM:6C53 ROM_6C53: db 22h ; DATA XREF: ROM:6FBBo ROM:6C54 ROM_6C54: db 22h ; DATA XREF: ROM:6FBDo ROM:6C55 ROM_6C55: db 22h ; DATA XREF: ROM:6FBFo ROM:6C56 ROM_6C56: db 22h ; DATA XREF: ROM:6FC1o ROM:6C57 ROM_6C57: db 22h ; DATA XREF: ROM:6FC3o ROM:6C58 ROM_6C58: db 22h ; DATA XREF: ROM:6FC5o ROM:6C59 ROM_6C59: db 22h ; DATA XREF: ROM:6FC7o ROM:6C5A ROM_6C5A: db 22h ; DATA XREF: ROM:6FC9o ROM:6C5B ROM_6C5B: db 22h ; DATA XREF: ROM:6FCBo ROM:6C5C ROM_6C5C: db 22h ; DATA XREF: ROM:6FCDo ROM:6C5D ROM_6C5D: db 22h ; DATA XREF: ROM:6FCFo ROM:6C5E ROM_6C5E: db 22h ; DATA XREF: ROM:6FD1o ROM:6C5F ROM_6C5F: db 22h ; DATA XREF: ROM:6FD3o ROM:6C60 ROM_6C60: db 22h ; DATA XREF: ROM:6FD5o ROM:6C61 ROM_6C61: db 22h ; DATA XREF: ROM:6FD7o ROM:6C62 ROM_6C62: db 22h ; DATA XREF: ROM:6FD9o ROM:6C63 ROM_6C63: db 22h ; DATA XREF: ROM:6FDBo ROM:6C64 ROM_6C64: db 22h ; DATA XREF: ROM:6FDDo ROM:6C65 ROM_6C65: db 22h ; DATA XREF: ROM:6FDFo ROM:6C66 ROM_6C66: db 22h ; DATA XREF: ROM:6FE1o ROM:6C67 ROM_6C67: db 22h ; DATA XREF: ROM:6FE3o ROM:6C68 ROM_6C68: db 22h ; DATA XREF: ROM:6FE5o ROM:6C69 ROM_6C69: db 22h ; DATA XREF: ROM:6FE7o ROM:6C6A ROM_6C6A: db 22h ; DATA XREF: ROM:6FE9o ROM:6C6B ROM_6C6B: db 22h ; DATA XREF: ROM:6FEBo ROM:6C6C ROM_6C6C: db 22h ; DATA XREF: ROM:6FEDo ROM:6C6D ROM_6C6D: db 22h ; DATA XREF: ROM:6FEFo ROM:6C6E ROM_6C6E: db 22h ; DATA XREF: ROM:6FF1o ROM:6C6F ROM_6C6F: db 22h ; DATA XREF: ROM:6FF3o ROM:6C70 ROM_6C70: db 22h ; DATA XREF: ROM:6FF5o ROM:6C71 ROM_6C71: db 22h ; DATA XREF: ROM:6FF7o ROM:6C72 ROM_6C72: db 22h ; DATA XREF: ROM:6FF9o ROM:6C73 ROM_6C73: db 22h ; DATA XREF: ROM:6FFBo ROM:6C74 ROM_6C74: db 22h ; DATA XREF: ROM:6FFDo ROM:6C75 ROM_6C75: db 22h ; DATA XREF: ROM:ROM_6FFFo ROM:6C76 ROM_6C76: db 22h ; DATA XREF: ROM:7001o ROM:6C77 ROM_6C77: db 22h ; DATA XREF: ROM:7003o ROM:6C78 ROM_6C78: db 22h ; DATA XREF: ROM:7005o ROM:6C79 ROM_6C79: db 22h ; DATA XREF: ROM:7007o ROM:6C7A ROM_6C7A: db 22h ; DATA XREF: ROM:7009o ROM:6C7B ROM_6C7B: db 22h ; DATA XREF: ROM:700Bo ROM:6C7C ROM_6C7C: db 22h ; DATA XREF: ROM:700Do ROM:6C7D ROM_6C7D: db 22h ; DATA XREF: ROM:700Fo ROM:6C7E ROM_6C7E: db 22h ; DATA XREF: ROM:7011o ROM:6C7F ROM_6C7F: db 22h ; DATA XREF: ROM:7013o ROM:6C80 ROM_6C80: db 22h ; DATA XREF: ROM:7015o ROM:6C81 ROM_6C81: db 22h ; DATA XREF: ROM:7017o ROM:6C82 ROM_6C82: db 22h ; DATA XREF: ROM:7019o ROM:6C83 ROM_6C83: db 22h ; DATA XREF: ROM:701Bo ROM:6C84 ROM_6C84: db 22h ; DATA XREF: ROM:701Do ROM:6C85 ROM_6C85: db 22h ; DATA XREF: ROM:701Fo ROM:6C86 ROM_6C86: db 22h ; DATA XREF: ROM:7021o ROM:6C87 ROM_6C87: db 22h ; DATA XREF: ROM:7023o ROM:6C88 ROM_6C88: db 22h ; DATA XREF: ROM:7025o ROM:6C89 ROM_6C89: db 22h ; DATA XREF: ROM:7027o ROM:6C8A ROM_6C8A: db 22h ; DATA XREF: ROM:7029o ROM:6C8B ROM_6C8B: db 22h ; DATA XREF: ROM:702Bo ROM:6C8C ROM_6C8C: db 22h ; DATA XREF: ROM:702Do ROM:6C8D ROM_6C8D: db 22h ; DATA XREF: ROM:702Fo ROM:6C8E ROM_6C8E: db 22h ; DATA XREF: ROM:7031o ROM:6C8F ROM_6C8F: db 22h ; DATA XREF: ROM:7033o ROM:6C90 db 22h ROM:6C91 db 22h ROM:6C92 db 22h ROM:6C93 db 22h ROM:6C94 db 22h ROM:6C95 db 22h ROM:6C96 db 22h ROM:6C97 db 22h ROM:6C98 db 22h ROM:6C99 db 22h ROM:6C9A db 22h ROM:6C9B db 22h ROM:6C9C db 22h ROM:6C9D db 22h ROM:6C9E db 22h ROM:6C9F db 22h ROM:6CA0 db 22h ROM:6CA1 db 22h ROM:6CA2 db 22h ROM:6CA3 db 22h ROM:6CA4 db 22h ROM:6CA5 db 22h ROM:6CA6 db 22h ROM:6CA7 db 22h ROM:6CA8 db 22h ROM:6CA9 db 22h ROM:6CAA db 22h ROM:6CAB db 22h ROM:6CAC db 22h ROM:6CAD db 22h ROM:6CAE db 22h ROM:6CAF db 22h ROM:6CB0 db 22h ROM:6CB1 db 22h ROM:6CB2 db 22h ROM:6CB3 db 22h ROM:6CB4 db 22h ROM:6CB5 db 22h ROM:6CB6 db 22h ROM:6CB7 db 22h ROM:6CB8 db 22h ROM:6CB9 db 22h ROM:6CBA db 22h ROM:6CBB db 22h ROM:6CBC db 22h ROM:6CBD db 22h ROM:6CBE db 22h ROM:6CBF db 22h ROM:6CC0 db 22h ROM:6CC1 db 22h ROM:6CC2 db 22h ROM:6CC3 db 22h ROM:6CC4 db 22h ROM:6CC5 db 22h ROM:6CC6 db 22h ROM:6CC7 db 22h ROM:6CC8 db 22h ROM:6CC9 db 22h ROM:6CCA db 22h ROM:6CCB db 22h ROM:6CCC db 22h ROM:6CCD db 22h ROM:6CCE db 22h ROM:6CCF db 22h ROM:6CD0 db 22h ROM:6CD1 db 22h ROM:6CD2 db 22h ROM:6CD3 db 22h ROM:6CD4 db 22h ROM:6CD5 db 22h ROM:6CD6 db 22h ROM:6CD7 db 22h ROM:6CD8 db 22h ROM:6CD9 db 22h ROM:6CDA db 22h ROM:6CDB db 22h ROM:6CDC db 22h ROM:6CDD db 22h ROM:6CDE db 22h ROM:6CDF db 22h ROM:6CE0 db 22h ROM:6CE1 db 22h ROM:6CE2 db 22h ROM:6CE3 db 22h ROM:6CE4 db 22h ROM:6CE5 db 22h ROM:6CE6 db 22h ROM:6CE7 db 22h ROM:6CE8 db 22h ROM:6CE9 db 22h ROM:6CEA db 22h ROM:6CEB db 22h ROM:6CEC db 22h ROM:6CED db 22h ROM:6CEE db 22h ROM:6CEF db 22h ROM:6CF0 db 22h ROM:6CF1 db 22h ROM:6CF2 db 22h ROM:6CF3 db 22h ROM:6CF4 db 22h ROM:6CF5 db 22h ROM:6CF6 db 22h ROM:6CF7 db 22h ROM:6CF8 db 22h ROM:6CF9 db 22h ROM:6CFA db 22h ROM:6CFB db 22h ROM:6CFC db 22h ROM:6CFD db 22h ROM:6CFE db 22h ROM:6CFF db 22h ROM:6D00 db 22h ROM:6D01 db 22h ROM:6D02 db 22h ROM:6D03 db 22h ROM:6D04 db 22h ROM:6D05 db 22h ROM:6D06 db 22h ROM:6D07 db 22h ROM:6D08 db 22h ROM:6D09 db 22h ROM:6D0A db 22h ROM:6D0B db 22h ROM:6D0C db 22h ROM:6D0D db 22h ROM:6D0E ROM:6D0E ; =============== S U B R O U T I N E ======================================= ROM:6D0E ROM:6D0E ROM:6D0E ROM_6D0E: ROM:6D0E 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6D10 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6D12 000 add A, ACC ; Accumulator ROM:6D14 000 add A, #31h ; '1' ; Add Second Operand to Acc ROM:6D16 000 mov DP0L, A ; Data Pointer Low Byte ROM:6D18 000 clr A ; Clear Operand (0) ROM:6D19 000 addc A, #6Fh ; 'o' ; Add Second Operand to Acc with carry ROM:6D1B 000 mov DP0H, A ; Data Pointer High Byte ROM:6D1D 000 clr A ; Clear Operand (0) ROM:6D1E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D1F 000 mov R6, A ; Move (Op1 <- Op2) ROM:6D20 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6D22 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D23 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6D25 000 mov R1, A ; Move (Op1 <- Op2) ROM:6D26 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6D26 ROM:6D26 ; End of function ROM_6D0E ROM:6D26 ROM:6D29 ROM:6D29 ; =============== S U B R O U T I N E ======================================= ROM:6D29 ROM:6D29 ROM:6D29 ROM_6D29: ROM:6D29 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6D2B 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6D2D 000 add A, ACC ; Accumulator ROM:6D2F 000 add A, #51h ; 'Q' ; Add Second Operand to Acc ROM:6D31 000 mov DP0L, A ; Data Pointer Low Byte ROM:6D33 000 clr A ; Clear Operand (0) ROM:6D34 000 addc A, #6Fh ; 'o' ; Add Second Operand to Acc with carry ROM:6D36 000 mov DP0H, A ; Data Pointer High Byte ROM:6D38 000 clr A ; Clear Operand (0) ROM:6D39 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D3A 000 mov R6, A ; Move (Op1 <- Op2) ROM:6D3B 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6D3D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D3E 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6D40 000 mov R1, A ; Move (Op1 <- Op2) ROM:6D41 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6D41 ROM:6D41 ; End of function ROM_6D29 ROM:6D41 ROM:6D44 ROM:6D44 ; =============== S U B R O U T I N E ======================================= ROM:6D44 ROM:6D44 ROM:6D44 ROM_6D44: ROM:6D44 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6D46 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6D48 000 add A, ACC ; Accumulator ROM:6D4A 000 add A, #71h ; 'q' ; Add Second Operand to Acc ROM:6D4C 000 mov DP0L, A ; Data Pointer Low Byte ROM:6D4E 000 clr A ; Clear Operand (0) ROM:6D4F 000 addc A, #6Fh ; 'o' ; Add Second Operand to Acc with carry ROM:6D51 000 mov DP0H, A ; Data Pointer High Byte ROM:6D53 000 clr A ; Clear Operand (0) ROM:6D54 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D55 000 mov R6, A ; Move (Op1 <- Op2) ROM:6D56 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6D58 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D59 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6D5B 000 mov R1, A ; Move (Op1 <- Op2) ROM:6D5C 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6D5C ROM:6D5C ; End of function ROM_6D44 ROM:6D5C ROM:6D5F ROM:6D5F ; =============== S U B R O U T I N E ======================================= ROM:6D5F ROM:6D5F ROM:6D5F ROM_6D5F: ROM:6D5F 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6D61 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6D63 000 add A, ACC ; Accumulator ROM:6D65 000 add A, #91h ; 'æ' ; Add Second Operand to Acc ROM:6D67 000 mov DP0L, A ; Data Pointer Low Byte ROM:6D69 000 clr A ; Clear Operand (0) ROM:6D6A 000 addc A, #6Fh ; 'o' ; Add Second Operand to Acc with carry ROM:6D6C 000 mov DP0H, A ; Data Pointer High Byte ROM:6D6E 000 clr A ; Clear Operand (0) ROM:6D6F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D70 000 mov R6, A ; Move (Op1 <- Op2) ROM:6D71 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6D73 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D74 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6D76 000 mov R1, A ; Move (Op1 <- Op2) ROM:6D77 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6D77 ROM:6D77 ; End of function ROM_6D5F ROM:6D77 ROM:6D7A ROM:6D7A ; =============== S U B R O U T I N E ======================================= ROM:6D7A ROM:6D7A ROM:6D7A ROM_6D7A: ROM:6D7A 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6D7C 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6D7E 000 add A, ACC ; Accumulator ROM:6D80 000 add A, #0B1h ; '¦' ; Add Second Operand to Acc ROM:6D82 000 mov DP0L, A ; Data Pointer Low Byte ROM:6D84 000 clr A ; Clear Operand (0) ROM:6D85 000 addc A, #6Fh ; 'o' ; Add Second Operand to Acc with carry ROM:6D87 000 mov DP0H, A ; Data Pointer High Byte ROM:6D89 000 clr A ; Clear Operand (0) ROM:6D8A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D8B 000 mov R6, A ; Move (Op1 <- Op2) ROM:6D8C 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6D8E 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6D8F 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6D91 000 mov R1, A ; Move (Op1 <- Op2) ROM:6D92 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6D92 ROM:6D92 ; End of function ROM_6D7A ROM:6D92 ROM:6D95 ROM:6D95 ; =============== S U B R O U T I N E ======================================= ROM:6D95 ROM:6D95 ROM:6D95 ROM_6D95: ROM:6D95 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6D97 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6D99 000 add A, ACC ; Accumulator ROM:6D9B 000 add A, #0D1h ; '-' ; Add Second Operand to Acc ROM:6D9D 000 mov DP0L, A ; Data Pointer Low Byte ROM:6D9F 000 clr A ; Clear Operand (0) ROM:6DA0 000 addc A, #6Fh ; 'o' ; Add Second Operand to Acc with carry ROM:6DA2 000 mov DP0H, A ; Data Pointer High Byte ROM:6DA4 000 clr A ; Clear Operand (0) ROM:6DA5 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6DA6 000 mov R6, A ; Move (Op1 <- Op2) ROM:6DA7 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6DA9 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6DAA 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6DAC 000 mov R1, A ; Move (Op1 <- Op2) ROM:6DAD 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6DAD ROM:6DAD ; End of function ROM_6D95 ROM:6DAD ROM:6DB0 ROM:6DB0 ; =============== S U B R O U T I N E ======================================= ROM:6DB0 ROM:6DB0 ROM:6DB0 ROM_6DB0: ROM:6DB0 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6DB2 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6DB4 000 add A, ACC ; Accumulator ROM:6DB6 000 add A, #0F1h ; '±' ; Add Second Operand to Acc ROM:6DB8 000 mov DP0L, A ; Data Pointer Low Byte ROM:6DBA 000 clr A ; Clear Operand (0) ROM:6DBB 000 addc A, #6Fh ; 'o' ; Add Second Operand to Acc with carry ROM:6DBD 000 mov DP0H, A ; Data Pointer High Byte ROM:6DBF 000 clr A ; Clear Operand (0) ROM:6DC0 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6DC1 000 mov R6, A ; Move (Op1 <- Op2) ROM:6DC2 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6DC4 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6DC5 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6DC7 000 mov R1, A ; Move (Op1 <- Op2) ROM:6DC8 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6DC8 ROM:6DC8 ; End of function ROM_6DB0 ROM:6DC8 ROM:6DCB ROM:6DCB ; =============== S U B R O U T I N E ======================================= ROM:6DCB ROM:6DCB ROM:6DCB ROM_6DCB: ROM:6DCB 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6DCD 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6DCF 000 add A, ACC ; Accumulator ROM:6DD1 000 add A, #11h ; Add Second Operand to Acc ROM:6DD3 000 mov DP0L, A ; Data Pointer Low Byte ROM:6DD5 000 clr A ; Clear Operand (0) ROM:6DD6 000 addc A, #70h ; 'p' ; Add Second Operand to Acc with carry ROM:6DD8 000 mov DP0H, A ; Data Pointer High Byte ROM:6DDA 000 clr A ; Clear Operand (0) ROM:6DDB 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6DDC 000 mov R6, A ; Move (Op1 <- Op2) ROM:6DDD 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6DDF 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6DE0 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6DE2 000 mov R1, A ; Move (Op1 <- Op2) ROM:6DE3 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6DE3 ROM:6DE3 ; End of function ROM_6DCB ROM:6DE3 ROM:6DE6 ROM:6DE6 ; =============== S U B R O U T I N E ======================================= ROM:6DE6 ROM:6DE6 ROM:6DE6 ROM_6DE6: ROM:6DE6 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6DE8 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6DEA 000 add A, ACC ; Accumulator ROM:6DEC 000 add A, #31h ; '1' ; Add Second Operand to Acc ROM:6DEE 000 mov DP0L, A ; Data Pointer Low Byte ROM:6DF0 000 clr A ; Clear Operand (0) ROM:6DF1 000 addc A, #70h ; 'p' ; Add Second Operand to Acc with carry ROM:6DF3 000 mov DP0H, A ; Data Pointer High Byte ROM:6DF5 000 clr A ; Clear Operand (0) ROM:6DF6 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6DF7 000 mov R6, A ; Move (Op1 <- Op2) ROM:6DF8 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6DFA 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6DFB 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6DFD 000 mov R1, A ; Move (Op1 <- Op2) ROM:6DFE 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6DFE ROM:6DFE ; End of function ROM_6DE6 ROM:6DFE ROM:6E01 ROM:6E01 ; =============== S U B R O U T I N E ======================================= ROM:6E01 ROM:6E01 ROM:6E01 ROM_6E01: ROM:6E01 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6E03 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6E05 000 add A, ACC ; Accumulator ROM:6E07 000 add A, #31h ; '1' ; Add Second Operand to Acc ROM:6E09 000 mov DP0L, A ; Data Pointer Low Byte ROM:6E0B 000 clr A ; Clear Operand (0) ROM:6E0C 000 addc A, #70h ; 'p' ; Add Second Operand to Acc with carry ROM:6E0E 000 mov DP0H, A ; Data Pointer High Byte ROM:6E10 000 clr A ; Clear Operand (0) ROM:6E11 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E12 000 mov R6, A ; Move (Op1 <- Op2) ROM:6E13 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6E15 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E16 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6E18 000 mov R1, A ; Move (Op1 <- Op2) ROM:6E19 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6E19 ROM:6E19 ; End of function ROM_6E01 ROM:6E19 ROM:6E1C ROM:6E1C ; =============== S U B R O U T I N E ======================================= ROM:6E1C ROM:6E1C ROM:6E1C ROM_6E1C: ROM:6E1C 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6E1E 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6E20 000 add A, ACC ; Accumulator ROM:6E22 000 add A, #71h ; 'q' ; Add Second Operand to Acc ROM:6E24 000 mov DP0L, A ; Data Pointer Low Byte ROM:6E26 000 clr A ; Clear Operand (0) ROM:6E27 000 addc A, #70h ; 'p' ; Add Second Operand to Acc with carry ROM:6E29 000 mov DP0H, A ; Data Pointer High Byte ROM:6E2B 000 clr A ; Clear Operand (0) ROM:6E2C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E2D 000 mov R6, A ; Move (Op1 <- Op2) ROM:6E2E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6E30 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E31 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6E33 000 mov R1, A ; Move (Op1 <- Op2) ROM:6E34 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6E34 ROM:6E34 ; End of function ROM_6E1C ROM:6E34 ROM:6E37 ROM:6E37 ; =============== S U B R O U T I N E ======================================= ROM:6E37 ROM:6E37 ROM:6E37 ROM_6E37: ROM:6E37 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6E39 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6E3B 000 add A, ACC ; Accumulator ROM:6E3D 000 add A, #91h ; 'æ' ; Add Second Operand to Acc ROM:6E3F 000 mov DP0L, A ; Data Pointer Low Byte ROM:6E41 000 clr A ; Clear Operand (0) ROM:6E42 000 addc A, #70h ; 'p' ; Add Second Operand to Acc with carry ROM:6E44 000 mov DP0H, A ; Data Pointer High Byte ROM:6E46 000 clr A ; Clear Operand (0) ROM:6E47 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E48 000 mov R6, A ; Move (Op1 <- Op2) ROM:6E49 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6E4B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E4C 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6E4E 000 mov R1, A ; Move (Op1 <- Op2) ROM:6E4F 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6E4F ROM:6E4F ; End of function ROM_6E37 ROM:6E4F ROM:6E52 ROM:6E52 ; =============== S U B R O U T I N E ======================================= ROM:6E52 ROM:6E52 ROM:6E52 ROM_6E52: ROM:6E52 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6E54 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6E56 000 add A, ACC ; Accumulator ROM:6E58 000 add A, #0B1h ; '¦' ; Add Second Operand to Acc ROM:6E5A 000 mov DP0L, A ; Data Pointer Low Byte ROM:6E5C 000 clr A ; Clear Operand (0) ROM:6E5D 000 addc A, #70h ; 'p' ; Add Second Operand to Acc with carry ROM:6E5F 000 mov DP0H, A ; Data Pointer High Byte ROM:6E61 000 clr A ; Clear Operand (0) ROM:6E62 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E63 000 mov R6, A ; Move (Op1 <- Op2) ROM:6E64 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6E66 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E67 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6E69 000 mov R1, A ; Move (Op1 <- Op2) ROM:6E6A 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6E6A ROM:6E6A ; End of function ROM_6E52 ROM:6E6A ROM:6E6D ROM:6E6D ; =============== S U B R O U T I N E ======================================= ROM:6E6D ROM:6E6D ROM:6E6D ROM_6E6D: ROM:6E6D 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6E6F 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6E71 000 add A, ACC ; Accumulator ROM:6E73 000 add A, #0D1h ; '-' ; Add Second Operand to Acc ROM:6E75 000 mov DP0L, A ; Data Pointer Low Byte ROM:6E77 000 clr A ; Clear Operand (0) ROM:6E78 000 addc A, #70h ; 'p' ; Add Second Operand to Acc with carry ROM:6E7A 000 mov DP0H, A ; Data Pointer High Byte ROM:6E7C 000 clr A ; Clear Operand (0) ROM:6E7D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E7E 000 mov R6, A ; Move (Op1 <- Op2) ROM:6E7F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6E81 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E82 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6E84 000 mov R1, A ; Move (Op1 <- Op2) ROM:6E85 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6E85 ROM:6E85 ; End of function ROM_6E6D ROM:6E85 ROM:6E88 ROM:6E88 ; =============== S U B R O U T I N E ======================================= ROM:6E88 ROM:6E88 ROM:6E88 ROM_6E88: ROM:6E88 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6E8A 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6E8C 000 add A, ACC ; Accumulator ROM:6E8E 000 add A, #0F1h ; '±' ; Add Second Operand to Acc ROM:6E90 000 mov DP0L, A ; Data Pointer Low Byte ROM:6E92 000 clr A ; Clear Operand (0) ROM:6E93 000 addc A, #70h ; 'p' ; Add Second Operand to Acc with carry ROM:6E95 000 mov DP0H, A ; Data Pointer High Byte ROM:6E97 000 clr A ; Clear Operand (0) ROM:6E98 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E99 000 mov R6, A ; Move (Op1 <- Op2) ROM:6E9A 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6E9C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6E9D 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6E9F 000 mov R1, A ; Move (Op1 <- Op2) ROM:6EA0 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6EA0 ROM:6EA0 ; End of function ROM_6E88 ROM:6EA0 ROM:6EA3 ROM:6EA3 ; =============== S U B R O U T I N E ======================================= ROM:6EA3 ROM:6EA3 ROM:6EA3 ROM_6EA3: ROM:6EA3 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6EA5 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6EA7 000 add A, ACC ; Accumulator ROM:6EA9 000 add A, #11h ; Add Second Operand to Acc ROM:6EAB 000 mov DP0L, A ; Data Pointer Low Byte ROM:6EAD 000 clr A ; Clear Operand (0) ROM:6EAE 000 addc A, #71h ; 'q' ; Add Second Operand to Acc with carry ROM:6EB0 000 mov DP0H, A ; Data Pointer High Byte ROM:6EB2 000 clr A ; Clear Operand (0) ROM:6EB3 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6EB4 000 mov R6, A ; Move (Op1 <- Op2) ROM:6EB5 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6EB7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6EB8 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6EBA 000 mov R1, A ; Move (Op1 <- Op2) ROM:6EBB 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6EBB ROM:6EBB ; End of function ROM_6EA3 ROM:6EBB ROM:6EBE ROM:6EBE ; =============== S U B R O U T I N E ======================================= ROM:6EBE ROM:6EBE ROM:6EBE erase_RAM_68: ; CODE XREF: return_PM_ch2_zerop ROM:6EBE 000 mov A, RAM_68 ; Move (Op1 <- Op2) ROM:6EC0 000 jnz clear_RAM_68 ; Jump if Acc is not zero ROM:6EC0 ROM:6EC2 000 mov RAM_68, #1 ; Move (Op1 <- Op2) ROM:6EC5 000 clr C ; Clear Operand (0) ROM:6EC6 000 ret ; Return from subroutine ROM:6EC6 ROM:6EC7 ; --------------------------------------------------------------------------- ROM:6EC7 ROM:6EC7 clear_RAM_68: ; CODE XREF: erase_RAM_68+2j ROM:6EC7 000 clr A ; Clear Operand (0) ROM:6EC8 000 mov RAM_68, A ; Move (Op1 <- Op2) ROM:6ECA 000 setb C ; Set Direct Bit ROM:6ECB 000 ret ; Return from subroutine ROM:6ECB ROM:6ECB ; End of function erase_RAM_68 ROM:6ECB ROM:6ECB ; --------------------------------------------------------------------------- ROM:6ECC dw ROM_7F00 ROM:6ECE db 22h ; " ROM:6ECF ROM:6ECF ; =============== S U B R O U T I N E ======================================= ROM:6ECF ROM:6ECF ROM:6ECF ROM_6ECF: ROM:6ECF 000 mov DPTR, #PMC_PM2STS ; Host Interface PM Channel 2 Status ROM:6ED2 000 movx A, @DPTR ; Move from/to external RAM ROM:6ED3 000 jnb ACC.3, ROM_6EE8 ; Accumulator ROM:6ED3 ROM:6ED6 000 mov DPTR, #PMC_PM2DI ; Host Interface PM Channel 2 Data In Port ROM:6ED9 000 movx A, @DPTR ; Move from/to external RAM ROM:6EDA 000 mov RAM_67, A ; Move (Op1 <- Op2) ROM:6EDC 000 clr A ; Clear Operand (0) ROM:6EDD 000 mov RAM_68, A ; Move (Op1 <- Op2) ROM:6EDF 000 mov R7, #6Ch ; 'l' ; Move (Op1 <- Op2) ROM:6EE1 000 lcall ROM_11E6 ; Long Subroutine Call ROM:6EE1 ROM:6EE4 000 mov R7, RAM_67 ; Move (Op1 <- Op2) ROM:6EE6 000 sjmp ROM_6EF9 ; Short jump ROM:6EE6 ROM:6EE8 ; --------------------------------------------------------------------------- ROM:6EE8 ROM:6EE8 ROM_6EE8: ; CODE XREF: ROM_6ECF+4j ROM:6EE8 000 mov DPTR, #PMC_PM2DI ; Host Interface PM Channel 2 Data In Port ROM:6EEB 000 movx A, @DPTR ; Move from/to external RAM ROM:6EEC 000 mov RAM_69, A ; Move (Op1 <- Op2) ROM:6EEE 000 mov A, RAM_68 ; Move (Op1 <- Op2) ROM:6EF0 000 jz ROM_6F18 ; Jump if Acc is zero ROM:6EF0 ROM:6EF2 000 mov R7, #68h ; 'h' ; Move (Op1 <- Op2) ROM:6EF4 000 lcall ROM_11E6 ; Long Subroutine Call ROM:6EF4 ROM:6EF7 000 mov R7, RAM_69 ; Move (Op1 <- Op2) ROM:6EF7 ROM:6EF9 ROM:6EF9 ROM_6EF9: ; CODE XREF: ROM_6ECF+17j ROM:6EF9 000 lcall ROM_11E6 ; Long Subroutine Call ROM:6EF9 ROM:6EFC 000 mov A, RAM_67 ; Move (Op1 <- Op2) ROM:6EFE 000 swap A ; Swap nibbles of Acc ROM:6EFF 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:6F01 000 add A, ACC ; Accumulator ROM:6F03 000 add A, #31h ; '1' ; Add Second Operand to Acc ROM:6F05 000 mov DP0L, A ; Data Pointer Low Byte ROM:6F07 000 clr A ; Clear Operand (0) ROM:6F08 000 addc A, #71h ; 'q' ; Add Second Operand to Acc with carry ROM:6F0A 000 mov DP0H, A ; Data Pointer High Byte ROM:6F0C 000 clr A ; Clear Operand (0) ROM:6F0D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6F0E 000 mov R6, A ; Move (Op1 <- Op2) ROM:6F0F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:6F11 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:6F12 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:6F14 000 mov R1, A ; Move (Op1 <- Op2) ROM:6F15 000 ljmp jump_to_R2R1 ; jump to pair R2:R1 ROM:6F15 ROM:6F18 ; --------------------------------------------------------------------------- ROM:6F18 ROM:6F18 ROM_6F18: ; CODE XREF: ROM_6ECF+21j ROM:6F18 000 mov R7, #68h ; 'h' ; Move (Op1 <- Op2) ROM:6F1A 000 lcall ROM_11E6 ; Long Subroutine Call ROM:6F1A ROM:6F1D 000 mov R7, RAM_69 ; Move (Op1 <- Op2) ROM:6F1F 000 lcall ROM_11E6 ; Long Subroutine Call ROM:6F1F ROM:6F22 ROM:6F22 ROM_6F22: ; CODE XREF: ROM_6ECF+5Fj ROM:6F22 000 mov DPTR, #6Bh ; 'k' ; Move (Op1 <- Op2) ROM:6F25 000 movx A, @DPTR ; Move from/to external RAM ROM:6F26 000 clr C ; Clear Operand (0) ROM:6F27 000 subb A, #0FFh ; Subtract Second Operand from Acc with Borrow ROM:6F29 000 jnc ROM_6F30 ; Jump if Carry is clear ROM:6F29 ROM:6F2B 000 movx A, @DPTR ; Move from/to external RAM ROM:6F2C 000 inc A ; Increment Operand ROM:6F2D 000 movx @DPTR, A ; Move from/to external RAM ROM:6F2E 000 sjmp ROM_6F22 ; Short jump ROM:6F2E ROM:6F30 ; --------------------------------------------------------------------------- ROM:6F30 ROM:6F30 ROM_6F30: ; CODE XREF: ROM_6ECF+5Aj ROM:6F30 000 ret ; Return from subroutine ROM:6F30 ROM:6F30 ; End of function ROM_6ECF ROM:6F30 ROM:6F30 ; --------------------------------------------------------------------------- ROM:6F31 dw ROM_6BD7 ROM:6F33 dw ROM_6BD8 ROM:6F35 dw ROM_6BD9 ROM:6F37 dw ROM_6BDA ROM:6F39 dw ROM_6BDB ROM:6F3B dw ROM_6BDC ROM:6F3D dw ROM_6BDD ROM:6F3F dw ROM_6BDE ROM:6F41 dw ROM_6BDF ROM:6F43 dw ROM_6BE0 ROM:6F45 dw ROM_6BE1 ROM:6F47 dw ROM_6BE2 ROM:6F49 dw ROM_6BE3 ROM:6F4B dw ROM_6BE4 ROM:6F4D dw ROM_6BE5 ROM:6F4F dw ROM_6BE6 ROM:6F51 dw ROM_6BE7 ROM:6F53 dw ROM_6BE8 ROM:6F55 dw ROM_6BE9 ROM:6F57 dw ROM_6BEA ROM:6F59 dw ROM_6BEB ROM:6F5B dw ROM_6BEC ROM:6F5D dw ROM_6BF2 ROM:6F5F dw ROM_6BF3 ROM:6F61 dw ROM_6BF4 ROM:6F63 dw ROM_6BF5 ROM:6F65 dw ROM_6BF6 ROM:6F67 dw ROM_6BFC ROM:6F69 dw ROM_6BFD ROM:6F6B dw ROM_6BFE ROM:6F6D dw ROM_6BFF ROM:6F6F dw ROM_6C00 ROM:6F71 dw ROM_6C01 ROM:6F73 dw ROM_6C02 ROM:6F75 dw ROM_6C08 ROM:6F77 dw ROM_6C09 ROM:6F79 dw ROM_6C0A ROM:6F7B dw ROM_6C0B ROM:6F7D dw ROM_6C0C ROM:6F7F dw ROM_6C0D ROM:6F81 dw ROM_6C0E ROM:6F83 dw ROM_6C0F ROM:6F85 dw ROM_6C10 ROM:6F87 dw ROM_6C11 ROM:6F89 dw ROM_6C12 ROM:6F8B dw ROM_6C13 ROM:6F8D dw ROM_6C14 ROM:6F8F dw ROM_6C15 ROM:6F91 dw ROM_6C16 ROM:6F93 dw ROM_6C17 ROM:6F95 dw ROM_6C18 ROM:6F97 dw return_PM_ch2_zero ROM:6F99 dw return_PM_ch2_zero_again ROM:6F9B dw return_PM_ch2_zero_again_2 ROM:6F9D dw return_PM_ch2_zero_again_3 ROM:6F9F dw return_PM_ch2_zero_again_4 ROM:6FA1 dw return_PM_ch2_zero_again_5 ROM:6FA3 dw return_PM_ch2_zero_again_6 ROM:6FA5 dw ROM_6C48 ROM:6FA7 dw ROM_6C49 ROM:6FA9 dw ROM_6C4A ROM:6FAB dw ROM_6C4B ROM:6FAD dw ROM_6C4C ROM:6FAF dw ROM_6C4D ROM:6FB1 dw ROM_6C4E ROM:6FB3 dw ROM_6C4F ROM:6FB5 dw ROM_6C50 ROM:6FB7 dw ROM_6C51 ROM:6FB9 dw ROM_6C52 ROM:6FBB dw ROM_6C53 ROM:6FBD dw ROM_6C54 ROM:6FBF dw ROM_6C55 ROM:6FC1 dw ROM_6C56 ROM:6FC3 dw ROM_6C57 ROM:6FC5 dw ROM_6C58 ROM:6FC7 dw ROM_6C59 ROM:6FC9 dw ROM_6C5A ROM:6FCB dw ROM_6C5B ROM:6FCD dw ROM_6C5C ROM:6FCF dw ROM_6C5D ROM:6FD1 dw ROM_6C5E ROM:6FD3 dw ROM_6C5F ROM:6FD5 dw ROM_6C60 ROM:6FD7 dw ROM_6C61 ROM:6FD9 dw ROM_6C62 ROM:6FDB dw ROM_6C63 ROM:6FDD dw ROM_6C64 ROM:6FDF dw ROM_6C65 ROM:6FE1 dw ROM_6C66 ROM:6FE3 dw ROM_6C67 ROM:6FE5 dw ROM_6C68 ROM:6FE7 dw ROM_6C69 ROM:6FE9 dw ROM_6C6A ROM:6FEB dw ROM_6C6B ROM:6FED dw ROM_6C6C ROM:6FEF dw ROM_6C6D ROM:6FF1 dw ROM_6C6E ROM:6FF3 dw ROM_6C6F ROM:6FF5 dw ROM_6C70 ROM:6FF7 dw ROM_6C71 ROM:6FF9 dw ROM_6C72 ROM:6FFB dw ROM_6C73 ROM:6FFD dw ROM_6C74 ROM:6FFF ROM_6FFF: dw ROM_6C75 ; CODE XREF: code:code_615p ROM:7001 dw ROM_6C76 ROM:7003 dw ROM_6C77 ROM:7005 dw ROM_6C78 ROM:7007 dw ROM_6C79 ROM:7009 dw ROM_6C7A ROM:700B dw ROM_6C7B ROM:700D dw ROM_6C7C ROM:700F dw ROM_6C7D ROM:7011 dw ROM_6C7E ROM:7013 dw ROM_6C7F ROM:7015 dw ROM_6C80 ROM:7017 dw ROM_6C81 ROM:7019 dw ROM_6C82 ROM:701B dw ROM_6C83 ROM:701D dw ROM_6C84 ROM:701F dw ROM_6C85 ROM:7021 dw ROM_6C86 ROM:7023 dw ROM_6C87 ROM:7025 dw ROM_6C88 ROM:7027 dw ROM_6C89 ROM:7029 dw ROM_6C8A ROM:702B dw ROM_6C8B ROM:702D dw ROM_6C8C ROM:702F dw ROM_6C8D ROM:7031 dw ROM_6C8E ROM:7033 dw ROM_6C8F ROM:7035 db 6Ch ; l ROM:7036 db 90h ; É ROM:7037 db 6Ch ; l ROM:7038 db 91h ; æ ROM:7039 db 6Ch ; l ROM:703A db 92h ; Æ ROM:703B db 6Ch ; l ROM:703C db 93h ; ô ROM:703D db 6Ch ; l ROM:703E db 94h ROM:703F db 6Ch ; l ROM:7040 db 95h ; ò ROM:7041 db 6Ch ; l ROM:7042 db 96h ; û ROM:7043 db 6Ch ; l ROM:7044 db 97h ; ù ROM:7045 db 6Ch ; l ROM:7046 db 98h ; ÿ ROM:7047 db 6Ch ; l ROM:7048 db 99h ; Ö ROM:7049 db 6Ch ; l ROM:704A db 9Ah ; Ü ROM:704B db 6Ch ; l ROM:704C db 9Bh ; ¢ ROM:704D db 6Ch ; l ROM:704E db 9Ch ; £ ROM:704F db 6Ch ; l ROM:7050 db 9Dh ; ¥ ROM:7051 db 6Ch ; l ROM:7052 db 9Eh ; P ROM:7053 db 6Ch ; l ROM:7054 db 9Fh ; ƒ ROM:7055 db 6Ch ; l ROM:7056 db 0A0h ; á ROM:7057 db 6Ch ; l ROM:7058 db 0A1h ; í ROM:7059 db 6Ch ; l ROM:705A db 0A2h, 6Ch, 0A3h, 6Ch, 0A4h, 6Ch, 0A5h, 6Ch, 0A6h, 6Ch ROM:705A db 0A7h, 6Ch, 0A8h, 6Ch, 0A9h, 6Ch, 0AAh, 6Ch, 0ABh ROM:706D db 6Ch ; l ROM:706E db 0ACh ; ¼ ROM:706F db 6Ch ; l ROM:7070 db 0ADh ; ¡ ROM:7071 db 6Ch ; l ROM:7072 db 0AEh ; « ROM:7073 db 6Ch ; l ROM:7074 db 0AFh ; » ROM:7075 db 6Ch ; l ROM:7076 db 0B0h ; ¦ ROM:7077 db 6Ch ; l ROM:7078 db 0B1h ; ¦ ROM:7079 db 6Ch ; l ROM:707A db 0B2h ; ¦ ROM:707B db 6Ch ; l ROM:707C db 0B3h ; ¦ ROM:707D db 6Ch ; l ROM:707E db 0B4h ; ¦ ROM:707F db 6Ch ; l ROM:7080 db 0B5h ; ¦ ROM:7081 db 6Ch ; l ROM:7082 db 0B6h, 6Ch ROM:7084 db 0B7h ; + ROM:7085 db 6Ch ; l ROM:7086 db 0B8h ; + ROM:7087 db 6Ch ; l ROM:7088 db 0B9h ; ¦ ROM:7089 db 6Ch ; l ROM:708A db 0BAh ; ¦ ROM:708B db 6Ch ; l ROM:708C db 0BBh ; + ROM:708D db 6Ch ; l ROM:708E db 0BCh ; + ROM:708F db 6Ch ; l ROM:7090 db 0BDh ; + ROM:7091 db 6Ch ; l ROM:7092 db 0BEh ; + ROM:7093 db 6Ch ; l ROM:7094 db 0BFh ; + ROM:7095 db 6Ch ; l ROM:7096 db 0C0h ; + ROM:7097 db 6Ch ; l ROM:7098 db 0C1h ; - ROM:7099 db 6Ch ; l ROM:709A db 0C2h, 6Ch, 0C3h, 6Ch, 0C4h, 6Ch, 0C5h, 6Ch, 0C6h, 6Ch ROM:709A db 0C7h, 6Ch, 0C8h, 6Ch, 0C9h, 6Ch, 0CAh, 6Ch, 0CBh, 6Ch ROM:709A db 0CCh, 6Ch, 0CDh, 6Ch, 0CEh, 6Ch, 0CFh, 6Ch, 0D0h, 6Ch ROM:709A db 0D1h, 6Ch, 0D2h, 6Ch, 0D3h, 6Ch, 0D4h, 6Ch, 0D5h, 6Ch ROM:709A db 0D6h, 6Ch, 0D7h, 6Ch, 0D8h, 6Ch, 0D9h, 6Ch, 0DAh, 6Ch ROM:709A db 0DBh, 6Ch, 0DCh, 6Ch, 0DDh, 6Ch, 0DEh, 6Ch, 0DFh, 6Ch ROM:709A db 0E0h, 6Ch, 0E1h, 6Ch, 0E2h, 6Ch, 0E3h, 6Ch, 0E4h, 6Ch ROM:70E0 db 0E5h ; s ROM:70E1 db 6Ch ; l ROM:70E2 db 0E6h ; µ ROM:70E3 db 6Ch ; l ROM:70E4 db 0E7h ; t ROM:70E5 db 6Ch ; l ROM:70E6 db 0E8h ; F ROM:70E7 db 6Ch ; l ROM:70E8 db 0E9h ; T ROM:70E9 db 6Ch ; l ROM:70EA db 0EAh ; O ROM:70EB db 6Ch ; l ROM:70EC db 0EBh ; d ROM:70ED db 6Ch ; l ROM:70EE db 0ECh ; 8 ROM:70EF db 6Ch ; l ROM:70F0 db 0EDh ; f ROM:70F1 db 6Ch ; l ROM:70F2 db 0EEh ; e ROM:70F3 db 6Ch ; l ROM:70F4 db 0EFh ; n ROM:70F5 db 6Ch ; l ROM:70F6 db 0F0h ; = ROM:70F7 db 6Ch ; l ROM:70F8 db 0F1h ; ± ROM:70F9 db 6Ch ; l ROM:70FA db 0F2h ; = ROM:70FB db 6Ch ; l ROM:70FC db 0F3h ; = ROM:70FD db 6Ch ; l ROM:70FE db 0F4h ; ( ROM:70FF db 6Ch ; l ROM:7100 db 0F5h ; ) ROM:7101 db 6Ch ; l ROM:7102 db 0F6h ; ÷ ROM:7103 db 6Ch ; l ROM:7104 db 0F7h ; ˜ ROM:7105 db 6Ch ; l ROM:7106 db 0F8h ; ° ROM:7107 db 6Ch ; l ROM:7108 db 0F9h ; · ROM:7109 db 6Ch ; l ROM:710A db 0FAh ; · ROM:710B db 6Ch ; l ROM:710C db 0FBh ; v ROM:710D db 6Ch ; l ROM:710E db 0FCh ; n ROM:710F db 6Ch ; l ROM:7110 db 0FDh ; ² ROM:7111 db 6Ch ; l ROM:7112 db 0FEh ; ¦ ROM:7113 db 6Ch ; l ROM:7114 db 0FFh ROM:7115 db 6Dh ; m ROM:7116 db 0 ROM:7117 db 6Dh ; m ROM:7118 db 1 ROM:7119 db 6Dh ; m ROM:711A db 2 ROM:711B db 6Dh ROM:711C db 3 ROM:711D db 6Dh ROM:711E db 4 ROM:711F db 6Dh ROM:7120 db 5 ROM:7121 db 6Dh ROM:7122 db 6 ROM:7123 db 6Dh ROM:7124 db 7 ROM:7125 db 6Dh ROM:7126 db 8 ROM:7127 db 6Dh ROM:7128 db 9 ROM:7129 db 6Dh ROM:712A db 0Ah ROM:712B db 6Dh ROM:712C db 0Bh ROM:712D db 6Dh ROM:712E db 0Ch ROM:712F db 6Dh ROM:7130 db 0Dh ROM:7131 db 6Dh ROM:7132 db 0Eh ROM:7133 db 6Dh ROM:7134 db 29h ROM:7135 db 6Dh ROM:7136 db 44h ROM:7137 db 6Dh ROM:7138 db 5Fh ROM:7139 db 6Dh ROM:713A db 7Ah ROM:713B db 6Dh ROM:713C db 95h ROM:713D db 6Dh ROM:713E db 0B0h ROM:713F db 6Dh ROM:7140 db 0CBh ROM:7141 db 6Dh ROM:7142 db 0E6h ROM:7143 db 6Eh ROM:7144 db 1 ROM:7145 db 6Eh ROM:7146 db 1Ch ROM:7147 db 6Eh ROM:7148 db 37h ROM:7149 db 6Eh ROM:714A db 52h ROM:714B db 6Eh ROM:714C db 6Dh ROM:714D db 6Eh ROM:714E db 88h ROM:714F db 6Eh ROM:7150 db 0A3h ROM:7151 ROM:7151 ; =============== S U B R O U T I N E ======================================= ROM:7151 ROM:7151 ROM:7151 ROM_7151: ; CODE XREF: ROM_6198+49p ROM:7151 000 mov DPTR, #513h ; Move (Op1 <- Op2) ROM:7154 000 movx A, @DPTR ; Move from/to external RAM ROM:7155 000 jz ROM_715A ; Jump if Acc is zero ROM:7155 ROM:7157 000 ljmp ROM_72D4 ; Long Jump ROM:7157 ROM:715A ; --------------------------------------------------------------------------- ROM:715A ROM:715A ROM_715A: ; CODE XREF: ROM_7151+4j ROM:715A 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:715D 000 movx A, @DPTR ; Move from/to external RAM ROM:715E 000 dec A ; Decrement Operand ROM:715F 000 cjne A, #0Ah, ROM_7162 ; Compare Operands and JNE ROM:7162 ROM:7162 ROM_7162: ; Jump if Carry is set ROM:7162 000 jc ROM_7167 ROM:7162 ROM:7164 000 ljmp ROM_72DA ; Long Jump ROM:7164 ROM:7167 ; --------------------------------------------------------------------------- ROM:7167 ROM:7167 ROM_7167: ; CODE XREF: ROM_7151:ROM_7162j ROM:7167 000 mov DPTR, #7175h ; Move (Op1 <- Op2) ROM:716A 000 mov B, #3 ; B Register ROM:716D 000 mul AB ; Multiply Acc by B ROM:716E 000 xch A, DP0H ; Data Pointer High Byte ROM:7170 000 add A, B ; B Register ROM:7172 000 xch A, DP0H ; Data Pointer High Byte ROM:7174 000 jmp @A+DPTR ; Jump indirect relative to Data Pointer ROM:7174 ROM:7175 ; --------------------------------------------------------------------------- ROM:7175 000 ljmp ROM_7193 ; Long Jump ROM:7175 ROM:7178 ; --------------------------------------------------------------------------- ROM:7178 000 ljmp ROM_71B9 ; Long Jump ROM:7178 ROM:717B ; --------------------------------------------------------------------------- ROM:717B 000 ljmp ROM_71CF ; Long Jump ROM:717B ROM:717E ; --------------------------------------------------------------------------- ROM:717E 000 ljmp ROM_71E1 ; Long Jump ROM:717E ROM:7181 ; --------------------------------------------------------------------------- ROM:7181 000 ljmp ROM_71EF ; Long Jump ROM:7181 ROM:7184 ; --------------------------------------------------------------------------- ROM:7184 000 ljmp ROM_722E ; Long Jump ROM:7184 ROM:7187 ; --------------------------------------------------------------------------- ROM:7187 000 ljmp ROM_7256 ; Long Jump ROM:7187 ROM:718A ; --------------------------------------------------------------------------- ROM:718A 000 ljmp ROM_7287 ; Long Jump ROM:718A ROM:718D ; --------------------------------------------------------------------------- ROM:718D 000 ljmp ROM_7298 ; Long Jump ROM:718D ROM:7190 ; --------------------------------------------------------------------------- ROM:7190 000 ljmp ROM_72AA ; Long Jump ROM:7190 ROM:7193 ; --------------------------------------------------------------------------- ROM:7193 ROM:7193 ROM_7193: ; CODE XREF: ROM_7151+24j ROM:7193 000 mov DPTR, #521h ; Move (Op1 <- Op2) ROM:7196 000 movx A, @DPTR ; Move from/to external RAM ROM:7197 000 jz ROM_719C ; Jump if Acc is zero ROM:7197 ROM:7199 000 ljmp ROM_72DA ; Long Jump ROM:7199 ROM:719C ; --------------------------------------------------------------------------- ROM:719C ROM:719C ROM_719C: ; CODE XREF: ROM_7151+46j ROM:719C 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:719F 000 movx A, @DPTR ; Move from/to external RAM ROM:71A0 000 jnb ACC.3, ROM_71A5 ; Accumulator ROM:71A0 ROM:71A3 000 sjmp ROM_71B2 ; Short jump ROM:71A3 ROM:71A5 ; --------------------------------------------------------------------------- ROM:71A5 ROM:71A5 ROM_71A5: ; CODE XREF: ROM_7151+4Fj ROM:71A5 000 mov DPTR, #582h ; Move (Op1 <- Op2) ROM:71A8 000 movx A, @DPTR ; Move from/to external RAM ROM:71A9 000 mov R6, A ; Move (Op1 <- Op2) ROM:71AA 000 inc DPTR ; Increment Operand ROM:71AB 000 movx A, @DPTR ; Move from/to external RAM ROM:71AC 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:71AD 000 jz ROM_71B2 ; Jump if Acc is zero ROM:71AD ROM:71AF 000 ljmp ROM_72DA ; Long Jump ROM:71AF ROM:71B2 ; --------------------------------------------------------------------------- ROM:71B2 ROM:71B2 ROM_71B2: ; CODE XREF: ROM_7151+52j ROM:71B2 ; ROM_7151+5Cj ROM:71B2 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:71B5 000 mov A, #2 ; Move (Op1 <- Op2) ROM:71B7 000 movx @DPTR, A ; Move from/to external RAM ROM:71B8 000 ret ; Return from subroutine ROM:71B8 ROM:71B9 ; --------------------------------------------------------------------------- ROM:71B9 ROM:71B9 ROM_71B9: ; CODE XREF: ROM_7151+27j ROM:71B9 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:71BC 000 movx A, @DPTR ; Move from/to external RAM ROM:71BD 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:71BF 000 movx @DPTR, A ; Move from/to external RAM ROM:71C0 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:71C3 000 movx A, @DPTR ; Move from/to external RAM ROM:71C4 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:71C6 000 movx @DPTR, A ; Move from/to external RAM ROM:71C7 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:71CA 000 mov A, #3 ; Move (Op1 <- Op2) ROM:71CC 000 ljmp ROM_7293 ; Long Jump ROM:71CC ROM:71CF ; --------------------------------------------------------------------------- ROM:71CF ROM:71CF ROM_71CF: ; CODE XREF: ROM_7151+2Aj ROM:71CF 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:71D2 000 movx A, @DPTR ; Move from/to external RAM ROM:71D3 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:71D5 000 movx @DPTR, A ; Move from/to external RAM ROM:71D6 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:71D9 000 mov A, #4 ; Move (Op1 <- Op2) ROM:71DB 000 movx @DPTR, A ; Move from/to external RAM ROM:71DC 000 inc DPTR ; Increment Operand ROM:71DD 000 mov A, #28h ; '(' ; Move (Op1 <- Op2) ROM:71DF 000 movx @DPTR, A ; Move from/to external RAM ROM:71E0 000 ret ; Return from subroutine ROM:71E0 ROM:71E1 ; --------------------------------------------------------------------------- ROM:71E1 ROM:71E1 ROM_71E1: ; CODE XREF: ROM_7151+2Dj ROM:71E1 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:71E4 000 movx A, @DPTR ; Move from/to external RAM ROM:71E5 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:71E7 000 movx @DPTR, A ; Move from/to external RAM ROM:71E8 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:71EB 000 mov A, #5 ; Move (Op1 <- Op2) ROM:71ED 000 sjmp ROM_7228 ; Short jump ROM:71ED ROM:71EF ; --------------------------------------------------------------------------- ROM:71EF ROM:71EF ROM_71EF: ; CODE XREF: ROM_7151+30j ROM:71EF 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:71F2 000 movx A, @DPTR ; Move from/to external RAM ROM:71F3 000 mov R7, A ; Move (Op1 <- Op2) ROM:71F4 000 swap A ; Swap nibbles of Acc ROM:71F5 000 rrc A ; Rotate Acc right through Carry ROM:71F6 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:71F8 000 jb ACC.0, ROM_71FE ; Accumulator ROM:71F8 ROM:71FB 000 ljmp ROM_72DA ; Long Jump ROM:71FB ROM:71FE ; --------------------------------------------------------------------------- ROM:71FE ROM:71FE ROM_71FE: ; CODE XREF: ROM_7151+A7j ROM:71FE 000 lcall ROM_37E5 ; Long Subroutine Call ROM:71FE ROM:7201 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7204 000 movx A, @DPTR ; Move from/to external RAM ROM:7205 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:7207 000 movx @DPTR, A ; Move from/to external RAM ROM:7208 000 mov DPTR, #161Fh ; Move (Op1 <- Op2) ROM:720B 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:720D 000 movx @DPTR, A ; Move from/to external RAM ROM:720E 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:7211 000 movx A, @DPTR ; Move from/to external RAM ROM:7212 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:7214 000 movx @DPTR, A ; Move from/to external RAM ROM:7215 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:7218 000 movx A, @DPTR ; Move from/to external RAM ROM:7219 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:721B 000 movx @DPTR, A ; Move from/to external RAM ROM:721C 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:721F 000 movx A, @DPTR ; Move from/to external RAM ROM:7220 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7222 000 movx @DPTR, A ; Move from/to external RAM ROM:7223 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:7226 000 mov A, #6 ; Move (Op1 <- Op2) ROM:7226 ROM:7228 ROM:7228 ROM_7228: ; CODE XREF: ROM_7151+9Cj ROM:7228 000 movx @DPTR, A ; Move from/to external RAM ROM:7229 000 inc DPTR ; Increment Operand ROM:722A 000 mov A, #1 ; Move (Op1 <- Op2) ROM:722C 000 movx @DPTR, A ; Move from/to external RAM ROM:722D 000 ret ; Return from subroutine ROM:722D ROM:722E ; --------------------------------------------------------------------------- ROM:722E ROM:722E ROM_722E: ; CODE XREF: ROM_7151+33j ROM:722E 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7231 000 movx A, @DPTR ; Move from/to external RAM ROM:7232 000 rrc A ; Rotate Acc right through Carry ROM:7233 000 rrc A ; Rotate Acc right through Carry ROM:7234 000 anl A, #3Fh ; Logical AND (op1 &= op2) ROM:7236 000 jb ACC.0, ROM_723C ; Accumulator ROM:7236 ROM:7239 000 ljmp ROM_72DA ; Long Jump ROM:7239 ROM:723C ; --------------------------------------------------------------------------- ROM:723C ROM:723C ROM_723C: ; CODE XREF: ROM_7151+E5j ROM:723C 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:723F 000 movx A, @DPTR ; Move from/to external RAM ROM:7240 000 rrc A ; Rotate Acc right through Carry ROM:7241 000 rrc A ; Rotate Acc right through Carry ROM:7242 000 rrc A ; Rotate Acc right through Carry ROM:7243 000 anl A, #1Fh ; Logical AND (op1 &= op2) ROM:7245 000 jb ACC.0, ROM_724B ; Accumulator ROM:7245 ROM:7248 000 ljmp ROM_72DA ; Long Jump ROM:7248 ROM:724B ; --------------------------------------------------------------------------- ROM:724B ROM:724B ROM_724B: ; CODE XREF: ROM_7151+F4j ROM:724B 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:724E 000 mov A, #7 ; Move (Op1 <- Op2) ROM:7250 000 movx @DPTR, A ; Move from/to external RAM ROM:7251 000 inc DPTR ; Increment Operand ROM:7252 000 mov A, #64h ; 'd' ; Move (Op1 <- Op2) ROM:7254 000 movx @DPTR, A ; Move from/to external RAM ROM:7255 000 ret ; Return from subroutine ROM:7255 ROM:7256 ; --------------------------------------------------------------------------- ROM:7256 ROM:7256 ROM_7256: ; CODE XREF: ROM_7151+36j ROM:7256 000 mov DPTR, #GPIO_GRDRG ; Port G Data Register ROM:7259 000 movx A, @DPTR ; Move from/to external RAM ROM:725A 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:725C 000 movx @DPTR, A ; Move from/to external RAM ROM:725D 000 lcall ROM_7500 ; Long Subroutine Call ROM:725D ROM:7260 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:7263 000 movx A, @DPTR ; Move from/to external RAM ROM:7264 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:7266 000 movx @DPTR, A ; Move from/to external RAM ROM:7267 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:726A 000 movx A, @DPTR ; Move from/to external RAM ROM:726B 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:726D 000 movx @DPTR, A ; Move from/to external RAM ROM:726E 000 movx A, @DPTR ; Move from/to external RAM ROM:726F 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:7271 000 movx @DPTR, A ; Move from/to external RAM ROM:7272 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:7275 000 movx A, @DPTR ; Move from/to external RAM ROM:7276 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:7278 000 movx @DPTR, A ; Move from/to external RAM ROM:7279 000 lcall ROM_16B6 ; Long Subroutine Call ROM:7279 ROM:727C 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:727F 000 mov A, #8 ; Move (Op1 <- Op2) ROM:7281 000 movx @DPTR, A ; Move from/to external RAM ROM:7282 000 inc DPTR ; Increment Operand ROM:7283 000 mov A, #32h ; '2' ; Move (Op1 <- Op2) ROM:7285 000 movx @DPTR, A ; Move from/to external RAM ROM:7286 000 ret ; Return from subroutine ROM:7286 ROM:7287 ; --------------------------------------------------------------------------- ROM:7287 ROM:7287 ROM_7287: ; CODE XREF: ROM_7151+39j ROM:7287 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:728A 000 movx A, @DPTR ; Move from/to external RAM ROM:728B 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:728D 000 movx @DPTR, A ; Move from/to external RAM ROM:728E 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:7291 000 mov A, #9 ; Move (Op1 <- Op2) ROM:7291 ROM:7293 ROM:7293 ROM_7293: ; CODE XREF: ROM_7151+7Bj ROM:7293 000 movx @DPTR, A ; Move from/to external RAM ROM:7294 000 inc DPTR ; Increment Operand ROM:7295 000 clr A ; Clear Operand (0) ROM:7296 000 movx @DPTR, A ; Move from/to external RAM ROM:7297 000 ret ; Return from subroutine ROM:7297 ROM:7298 ; --------------------------------------------------------------------------- ROM:7298 ROM:7298 ROM_7298: ; CODE XREF: ROM_7151+3Cj ROM:7298 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:729B 000 movx A, @DPTR ; Move from/to external RAM ROM:729C 000 jnb ACC.0, ROM_72DA ; Accumulator ROM:729C ROM:729F 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:72A2 000 mov A, #0Ah ; Move (Op1 <- Op2) ROM:72A4 000 movx @DPTR, A ; Move from/to external RAM ROM:72A5 000 inc DPTR ; Increment Operand ROM:72A6 000 mov A, #14h ; Move (Op1 <- Op2) ROM:72A8 000 movx @DPTR, A ; Move from/to external RAM ROM:72A9 000 ret ; Return from subroutine ROM:72A9 ROM:72AA ; --------------------------------------------------------------------------- ROM:72AA ROM:72AA ROM_72AA: ; CODE XREF: ROM_7151+3Fj ROM:72AA 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:72AD 000 movx A, @DPTR ; Move from/to external RAM ROM:72AE 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:72B0 000 movx @DPTR, A ; Move from/to external RAM ROM:72B1 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:72B4 000 movx A, @DPTR ; Move from/to external RAM ROM:72B5 000 cjne A, #5, ROM_72BF ; Compare Operands and JNE ROM:72B5 ROM:72B8 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:72BB 000 movx A, @DPTR ; Move from/to external RAM ROM:72BC 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:72BE 000 movx @DPTR, A ; Move from/to external RAM ROM:72BE ROM:72BF ROM:72BF ROM_72BF: ; CODE XREF: ROM_7151+164j ROM:72BF 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:72C2 000 mov A, #1 ; Move (Op1 <- Op2) ROM:72C4 000 movx @DPTR, A ; Move from/to external RAM ROM:72C5 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:72C8 000 movx A, @DPTR ; Move from/to external RAM ROM:72C9 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:72CB 000 movx @DPTR, A ; Move from/to external RAM ROM:72CC 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:72CF 000 clr A ; Clear Operand (0) ROM:72D0 000 movx @DPTR, A ; Move from/to external RAM ROM:72D1 000 inc DPTR ; Increment Operand ROM:72D2 000 movx @DPTR, A ; Move from/to external RAM ROM:72D3 000 ret ; Return from subroutine ROM:72D3 ROM:72D4 ; --------------------------------------------------------------------------- ROM:72D4 ROM:72D4 ROM_72D4: ; CODE XREF: ROM_7151+6j ROM:72D4 000 mov DPTR, #513h ; Move (Op1 <- Op2) ROM:72D7 000 movx A, @DPTR ; Move from/to external RAM ROM:72D8 000 dec A ; Decrement Operand ROM:72D9 000 movx @DPTR, A ; Move from/to external RAM ROM:72D9 ROM:72DA ROM:72DA ROM_72DA: ; CODE XREF: ROM_7151+13j ROM:72DA ; ROM_7151+48j ... ROM:72DA 000 ret ; Return from subroutine ROM:72DA ROM:72DA ; End of function ROM_7151 ROM:72DA ROM:72DB ROM:72DB ; =============== S U B R O U T I N E ======================================= ROM:72DB ROM:72DB ROM:72DB ROM_72DB: ; CODE XREF: ROM_6198+55p ROM:72DB 000 mov DPTR, #515h ; Move (Op1 <- Op2) ROM:72DE 000 movx A, @DPTR ; Move from/to external RAM ROM:72DF 000 jz ROM_72E4 ; Jump if Acc is zero ROM:72DF ROM:72E1 000 ljmp ROM_7387 ; Long Jump ROM:72E1 ROM:72E4 ; --------------------------------------------------------------------------- ROM:72E4 ROM:72E4 ROM_72E4: ; CODE XREF: ROM_72DB+4j ROM:72E4 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:72E7 000 movx A, @DPTR ; Move from/to external RAM ROM:72E8 000 add A, #0FCh ; 'n' ; Add Second Operand to Acc ROM:72EA 000 jz ROM_730E ; Jump if Acc is zero ROM:72EA ROM:72EC 000 dec A ; Decrement Operand ROM:72ED 000 jz ROM_731C ; Jump if Acc is zero ROM:72ED ROM:72EF 000 dec A ; Decrement Operand ROM:72F0 000 jz ROM_732E ; Jump if Acc is zero ROM:72F0 ROM:72F2 000 add A, #5 ; Add Second Operand to Acc ROM:72F4 000 jz ROM_72F9 ; Jump if Acc is zero ROM:72F4 ROM:72F6 000 ljmp ROM_738D ; Long Jump ROM:72F6 ROM:72F9 ; --------------------------------------------------------------------------- ROM:72F9 ROM:72F9 ROM_72F9: ; CODE XREF: ROM_72DB+19j ROM:72F9 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:72FC 000 movx A, @DPTR ; Move from/to external RAM ROM:72FD 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:72FF 000 movx @DPTR, A ; Move from/to external RAM ROM:7300 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:7303 000 movx A, @DPTR ; Move from/to external RAM ROM:7304 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:7306 000 movx @DPTR, A ; Move from/to external RAM ROM:7307 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:730A 000 mov A, #4 ; Move (Op1 <- Op2) ROM:730C 000 movx @DPTR, A ; Move from/to external RAM ROM:730D 000 ret ; Return from subroutine ROM:730D ROM:730E ; --------------------------------------------------------------------------- ROM:730E ROM:730E ROM_730E: ; CODE XREF: ROM_72DB+Fj ROM:730E 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7311 000 movx A, @DPTR ; Move from/to external RAM ROM:7312 000 jb ACC.0, ROM_738D ; Accumulator ROM:7312 ROM:7315 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:7318 000 mov A, #5 ; Move (Op1 <- Op2) ROM:731A 000 sjmp ROM_7328 ; Short jump ROM:731A ROM:731C ; --------------------------------------------------------------------------- ROM:731C ROM:731C ROM_731C: ; CODE XREF: ROM_72DB+12j ROM:731C 000 mov DPTR, #GPIO_GRDRG ; Port G Data Register ROM:731F 000 movx A, @DPTR ; Move from/to external RAM ROM:7320 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:7322 000 movx @DPTR, A ; Move from/to external RAM ROM:7323 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:7326 000 mov A, #6 ; Move (Op1 <- Op2) ROM:7326 ROM:7328 ROM:7328 ROM_7328: ; CODE XREF: ROM_72DB+3Fj ROM:7328 000 movx @DPTR, A ; Move from/to external RAM ROM:7329 000 inc DPTR ; Increment Operand ROM:732A 000 mov A, #1 ; Move (Op1 <- Op2) ROM:732C 000 movx @DPTR, A ; Move from/to external RAM ROM:732D 000 ret ; Return from subroutine ROM:732D ROM:732E ; --------------------------------------------------------------------------- ROM:732E ROM:732E ROM_732E: ; CODE XREF: ROM_72DB+15j ROM:732E 000 lcall ROM_7578 ; Long Subroutine Call ROM:732E ROM:7331 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:7334 000 movx A, @DPTR ; Move from/to external RAM ROM:7335 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:7337 000 movx @DPTR, A ; Move from/to external RAM ROM:7338 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:733B 000 movx A, @DPTR ; Move from/to external RAM ROM:733C 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:733E 000 movx @DPTR, A ; Move from/to external RAM ROM:733F 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:7342 000 clr A ; Clear Operand (0) ROM:7343 000 movx @DPTR, A ; Move from/to external RAM ROM:7344 000 inc DPTR ; Increment Operand ROM:7345 000 movx @DPTR, A ; Move from/to external RAM ROM:7346 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:7349 000 movx A, @DPTR ; Move from/to external RAM ROM:734A 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:734D 000 jnb ACC.1, ROM_7359 ; Accumulator ROM:734D ROM:7350 000 mov A, #3 ; Move (Op1 <- Op2) ROM:7352 000 movx @DPTR, A ; Move from/to external RAM ROM:7353 000 mov DPTR, #509h ; Move (Op1 <- Op2) ROM:7356 000 dec A ; Decrement Operand ROM:7357 000 movx @DPTR, A ; Move from/to external RAM ROM:7358 000 ret ; Return from subroutine ROM:7358 ROM:7359 ; --------------------------------------------------------------------------- ROM:7359 ROM:7359 ROM_7359: ; CODE XREF: ROM_72DB+72j ROM:7359 000 mov A, #5 ; Move (Op1 <- Op2) ROM:735B 000 movx @DPTR, A ; Move from/to external RAM ROM:735C 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:735F 000 movx A, @DPTR ; Move from/to external RAM ROM:7360 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:7362 000 movx @DPTR, A ; Move from/to external RAM ROM:7363 000 mov DPTR, #GPIO_GPDRJ ; Port J Data Register ROM:7366 000 movx A, @DPTR ; Move from/to external RAM ROM:7367 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:7369 000 movx @DPTR, A ; Move from/to external RAM ROM:736A 000 mov DPTR, #508h ; Move (Op1 <- Op2) ROM:736D 000 mov A, #0Ah ; Move (Op1 <- Op2) ROM:736F 000 movx @DPTR, A ; Move from/to external RAM ROM:7370 000 mov DPTR, #59Eh ; Move (Op1 <- Op2) ROM:7373 000 movx A, @DPTR ; Move from/to external RAM ROM:7374 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:7377 000 movx @DPTR, A ; Move from/to external RAM ROM:7378 000 mov DPTR, #503h ; Move (Op1 <- Op2) ROM:737B 000 movx A, @DPTR ; Move from/to external RAM ROM:737C 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:737E 000 movx @DPTR, A ; Move from/to external RAM ROM:737F 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:7382 000 movx A, @DPTR ; Move from/to external RAM ROM:7383 000 anl A, #0FCh ; Logical AND (op1 &= op2) ROM:7385 000 movx @DPTR, A ; Move from/to external RAM ROM:7386 000 ret ; Return from subroutine ROM:7386 ROM:7387 ; --------------------------------------------------------------------------- ROM:7387 ROM:7387 ROM_7387: ; CODE XREF: ROM_72DB+6j ROM:7387 000 mov DPTR, #515h ; Move (Op1 <- Op2) ROM:738A 000 movx A, @DPTR ; Move from/to external RAM ROM:738B 000 dec A ; Decrement Operand ROM:738C 000 movx @DPTR, A ; Move from/to external RAM ROM:738C ROM:738D ROM:738D ROM_738D: ; CODE XREF: ROM_72DB+1Bj ROM:738D ; ROM_72DB+37j ROM:738D 000 ret ; Return from subroutine ROM:738D ROM:738D ; End of function ROM_72DB ROM:738D ROM:738E ROM:738E ; =============== S U B R O U T I N E ======================================= ROM:738E ROM:738E ROM:738E ROM_738E: ; CODE XREF: ROM_6198+52p ROM:738E 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7391 000 movx A, @DPTR ; Move from/to external RAM ROM:7392 000 swap A ; Swap nibbles of Acc ROM:7393 000 rrc A ; Rotate Acc right through Carry ROM:7394 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:7396 000 jb ACC.0, ROM_73B8 ; Accumulator ROM:7396 ROM:7399 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:739C 000 movx A, @DPTR ; Move from/to external RAM ROM:739D 000 jnz ROM_73B8 ; Jump if Acc is not zero ROM:739D ROM:739F 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:73A2 000 movx A, @DPTR ; Move from/to external RAM ROM:73A3 000 xrl A, #5 ; Exclusive OR (op1 ^= op2) ROM:73A5 000 jz ROM_73EA ; Jump if Acc is zero ROM:73A5 ROM:73A7 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:73AA 000 mov A, #1 ; Move (Op1 <- Op2) ROM:73AC 000 movx @DPTR, A ; Move from/to external RAM ROM:73AD 000 inc DPTR ; Increment Operand ROM:73AE 000 clr A ; Clear Operand (0) ROM:73AF 000 movx @DPTR, A ; Move from/to external RAM ROM:73B0 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:73B3 000 movx A, @DPTR ; Move from/to external RAM ROM:73B4 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:73B6 000 movx @DPTR, A ; Move from/to external RAM ROM:73B7 000 ret ; Return from subroutine ROM:73B7 ROM:73B8 ; --------------------------------------------------------------------------- ROM:73B8 ROM:73B8 ROM_73B8: ; CODE XREF: ROM_738E+8j ROM:73B8 ; ROM_738E+Fj ROM:73B8 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:73BB 000 movx A, @DPTR ; Move from/to external RAM ROM:73BC 000 clr C ; Clear Operand (0) ROM:73BD 000 rrc A ; Rotate Acc right through Carry ROM:73BE 000 jb ACC.0, ROM_73EA ; Accumulator ROM:73BE ROM:73C1 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:73C4 000 movx A, @DPTR ; Move from/to external RAM ROM:73C5 000 swap A ; Swap nibbles of Acc ROM:73C6 000 rrc A ; Rotate Acc right through Carry ROM:73C7 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:73C9 000 jnb ACC.0, ROM_73EA ; Accumulator ROM:73C9 ROM:73CC 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:73CF 000 movx A, @DPTR ; Move from/to external RAM ROM:73D0 000 jnz ROM_73EA ; Jump if Acc is not zero ROM:73D0 ROM:73D2 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:73D5 000 movx A, @DPTR ; Move from/to external RAM ROM:73D6 000 xrl A, #3 ; Exclusive OR (op1 ^= op2) ROM:73D8 000 jz ROM_73EA ; Jump if Acc is zero ROM:73D8 ROM:73DA 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:73DD 000 mov A, #1 ; Move (Op1 <- Op2) ROM:73DF 000 movx @DPTR, A ; Move from/to external RAM ROM:73E0 000 inc DPTR ; Increment Operand ROM:73E1 000 clr A ; Clear Operand (0) ROM:73E2 000 movx @DPTR, A ; Move from/to external RAM ROM:73E3 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:73E6 000 movx A, @DPTR ; Move from/to external RAM ROM:73E7 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:73E9 000 movx @DPTR, A ; Move from/to external RAM ROM:73E9 ROM:73EA ROM:73EA ROM_73EA: ; CODE XREF: ROM_738E+17j ROM:73EA ; ROM_738E+30j ... ROM:73EA 000 ret ; Return from subroutine ROM:73EA ROM:73EA ; End of function ROM_738E ROM:73EA ROM:73EB ROM:73EB ; =============== S U B R O U T I N E ======================================= ROM:73EB ROM:73EB ROM:73EB ROM_73EB: ; CODE XREF: ROM_6198+3Bp ROM:73EB 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:73EE 000 movx A, @DPTR ; Move from/to external RAM ROM:73EF 000 rrc A ; Rotate Acc right through Carry ROM:73F0 000 rrc A ; Rotate Acc right through Carry ROM:73F1 000 anl A, #3Fh ; Logical AND (op1 &= op2) ROM:73F3 000 jb ACC.0, ROM_7404 ; Accumulator ROM:73F3 ROM:73F6 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:73F9 000 movx A, @DPTR ; Move from/to external RAM ROM:73FA 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:73FC 000 movx @DPTR, A ; Move from/to external RAM ROM:73FD 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:7400 000 movx A, @DPTR ; Move from/to external RAM ROM:7401 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7403 000 movx @DPTR, A ; Move from/to external RAM ROM:7403 ROM:7404 ROM:7404 ROM_7404: ; CODE XREF: ROM_73EB+8j ROM:7404 000 ret ; Return from subroutine ROM:7404 ROM:7404 ; End of function ROM_73EB ROM:7404 ROM:7405 ROM:7405 ; =============== S U B R O U T I N E ======================================= ROM:7405 ROM:7405 ROM:7405 ROM_7405: ; CODE XREF: ROM_6198+46p ROM:7405 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:7408 000 movx A, @DPTR ; Move from/to external RAM ROM:7409 000 clr C ; Clear Operand (0) ROM:740A 000 rrc A ; Rotate Acc right through Carry ROM:740B 000 jnb ACC.0, ROM_742C ; Accumulator ROM:740B ROM:740E 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7411 000 movx A, @DPTR ; Move from/to external RAM ROM:7412 000 swap A ; Swap nibbles of Acc ROM:7413 000 rrc A ; Rotate Acc right through Carry ROM:7414 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:7416 000 jnb ACC.0, ROM_742C ; Accumulator ROM:7416 ROM:7419 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:7419 ROM:7419 ; End of function ROM_7405 ROM:7419 ROM:741C ; START OF FUNCTION CHUNK FOR ROM_2B2F ROM:741C ROM:741C ROM_741C: ; CODE XREF: ROM_2B2F+1D1j ROM:741C 000 movx A, @DPTR ; Move from/to external RAM ROM:741D 000 jnz ROM_742C ; Jump if Acc is not zero ROM:741D ROM:741F 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:7422 000 movx A, @DPTR ; Move from/to external RAM ROM:7423 000 jnz ROM_742C ; Jump if Acc is not zero ROM:7423 ROM:7425 000 mov A, #5 ; Move (Op1 <- Op2) ROM:7427 000 movx @DPTR, A ; Move from/to external RAM ROM:7428 000 inc DPTR ; Increment Operand ROM:7429 000 mov A, #2 ; Move (Op1 <- Op2) ROM:742B 000 movx @DPTR, A ; Move from/to external RAM ROM:742B ROM:742C ROM:742C ROM_742C: ; CODE XREF: ROM_7405+6j ROM:742C ; ROM_7405+11j ... ROM:742C 000 ret ; Return from subroutine ROM:742C ROM:742C ; END OF FUNCTION CHUNK FOR ROM_2B2F ROM:742D ROM:742D ; =============== S U B R O U T I N E ======================================= ROM:742D ROM:742D ROM:742D ROM_742D: ; CODE XREF: ROM_6198+22p ROM:742D 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7430 000 movx A, @DPTR ; Move from/to external RAM ROM:7431 000 swap A ; Swap nibbles of Acc ROM:7432 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7434 000 rrc A ; Rotate Acc right through Carry ROM:7435 000 mov RAM_2D.4, C ; Move (Op1 <- Op2) ROM:7437 000 mov DPTR, #50Fh ; Move (Op1 <- Op2) ROM:743A 000 movx A, @DPTR ; Move from/to external RAM ROM:743B 000 jnb ACC.0, ROM_7441 ; Accumulator ROM:743B ROM:743E 000 setb C ; Set Direct Bit ROM:743F 000 sjmp ROM_7442 ; Short jump ROM:743F ROM:7441 ; --------------------------------------------------------------------------- ROM:7441 ROM:7441 ROM_7441: ; CODE XREF: ROM_742D+Ej ROM:7441 000 clr C ; Clear Operand (0) ROM:7441 ROM:7442 ROM:7442 ROM_7442: ; CODE XREF: ROM_742D+12j ROM:7442 000 mov RAM_2D.5, C ; Move (Op1 <- Op2) ROM:7444 000 mov DPTR, #514h ; Move (Op1 <- Op2) ROM:7447 000 movx A, @DPTR ; Move from/to external RAM ROM:7448 000 jz ROM_744D ; Jump if Acc is zero ROM:7448 ROM:744A 000 ljmp ROM_74CC ; Long Jump ROM:744A ROM:744D ; --------------------------------------------------------------------------- ROM:744D ROM:744D ROM_744D: ; CODE XREF: ROM_742D+1Bj ROM:744D 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:7450 000 movx A, @DPTR ; Move from/to external RAM ROM:7451 000 jnz ROM_74CC ; Jump if Acc is not zero ROM:7451 ROM:7453 000 mov C, RAM_2D.5 ; Move (Op1 <- Op2) ROM:7455 000 clr A ; Clear Operand (0) ROM:7456 000 rlc A ; Rotate Acc left through Carry ROM:7457 000 mov R7, A ; Move (Op1 <- Op2) ROM:7458 000 jnb RAM_2D.4, ROM_745F ; Jump if Bit is clear ROM:7458 ROM:745B 000 mov R6, #1 ; Move (Op1 <- Op2) ROM:745D 000 sjmp ROM_7461 ; Short jump ROM:745D ROM:745F ; --------------------------------------------------------------------------- ROM:745F ROM:745F ROM_745F: ; CODE XREF: ROM_742D+2Bj ROM:745F 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:745F ROM:7461 ROM:7461 ROM_7461: ; CODE XREF: ROM_742D+30j ROM:7461 000 mov A, R6 ; Move (Op1 <- Op2) ROM:7462 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:7463 000 jz ROM_747A ; Jump if Acc is zero ROM:7463 ROM:7465 000 mov DPTR, #518h ; Move (Op1 <- Op2) ROM:7468 000 mov A, #3 ; Move (Op1 <- Op2) ROM:746A 000 movx @DPTR, A ; Move from/to external RAM ROM:746B 000 mov DPTR, #50Fh ; Move (Op1 <- Op2) ROM:746E 000 movx A, @DPTR ; Move from/to external RAM ROM:746F 000 jb RAM_2D.4, ROM_7476 ; Jump if Bit is set ROM:746F ROM:7472 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:7474 000 movx @DPTR, A ; Move from/to external RAM ROM:7475 000 ret ; Return from subroutine ROM:7475 ROM:7476 ; --------------------------------------------------------------------------- ROM:7476 ROM:7476 ROM_7476: ; CODE XREF: ROM_742D+42j ROM:7476 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:7478 000 movx @DPTR, A ; Move from/to external RAM ROM:7479 000 ret ; Return from subroutine ROM:7479 ROM:747A ; --------------------------------------------------------------------------- ROM:747A ROM:747A ROM_747A: ; CODE XREF: ROM_742D+36j ROM:747A 000 mov DPTR, #518h ; Move (Op1 <- Op2) ROM:747D 000 movx A, @DPTR ; Move from/to external RAM ROM:747E 000 jz ROM_74CC ; Jump if Acc is zero ROM:747E ROM:7480 000 movx A, @DPTR ; Move from/to external RAM ROM:7481 000 dec A ; Decrement Operand ROM:7482 000 movx @DPTR, A ; Move from/to external RAM ROM:7483 000 movx A, @DPTR ; Move from/to external RAM ROM:7484 000 jnz ROM_74CC ; Jump if Acc is not zero ROM:7484 ROM:7486 000 mov DPTR, #50Fh ; Move (Op1 <- Op2) ROM:7489 000 movx A, @DPTR ; Move from/to external RAM ROM:748A 000 jnb ACC.0, ROM_7493 ; Accumulator ROM:748A ROM:748D 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:7490 000 movx A, @DPTR ; Move from/to external RAM ROM:7491 000 sjmp ROM_74C1 ; Short jump ROM:7491 ROM:7493 ; --------------------------------------------------------------------------- ROM:7493 ROM:7493 ROM_7493: ; CODE XREF: ROM_742D+5Dj ROM:7493 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:7496 000 movx A, @DPTR ; Move from/to external RAM ROM:7497 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:7499 000 jz ROM_74C5 ; Jump if Acc is zero ROM:7499 ROM:749B 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:749E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:74A0 000 movx @DPTR, A ; Move from/to external RAM ROM:74A1 000 inc DPTR ; Increment Operand ROM:74A2 000 inc A ; Increment Operand ROM:74A3 000 movx @DPTR, A ; Move from/to external RAM ROM:74A4 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:74A7 000 movx A, @DPTR ; Move from/to external RAM ROM:74A8 000 jnb ACC.2, ROM_74B3 ; Accumulator ROM:74A8 ROM:74AB 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:74AE 000 movx A, @DPTR ; Move from/to external RAM ROM:74AF 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:74B1 000 movx @DPTR, A ; Move from/to external RAM ROM:74B2 000 ret ; Return from subroutine ROM:74B2 ROM:74B3 ; --------------------------------------------------------------------------- ROM:74B3 ROM:74B3 ROM_74B3: ; CODE XREF: ROM_742D+7Bj ROM:74B3 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:74B6 000 movx A, @DPTR ; Move from/to external RAM ROM:74B7 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:74B9 000 movx @DPTR, A ; Move from/to external RAM ROM:74BA 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:74BD 000 movx A, @DPTR ; Move from/to external RAM ROM:74BE 000 jnb RAM_25.6, ROM_74C9 ; Jump if Bit is clear ROM:74BE ROM:74C1 ROM:74C1 ROM_74C1: ; CODE XREF: ROM_742D+64j ROM:74C1 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:74C3 000 movx @DPTR, A ; Move from/to external RAM ROM:74C4 000 ret ; Return from subroutine ROM:74C4 ROM:74C5 ; --------------------------------------------------------------------------- ROM:74C5 ROM:74C5 ROM_74C5: ; CODE XREF: ROM_742D+6Cj ROM:74C5 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:74C8 000 movx A, @DPTR ; Move from/to external RAM ROM:74C8 ROM:74C9 ROM:74C9 ROM_74C9: ; CODE XREF: ROM_742D+91j ROM:74C9 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:74CB 000 movx @DPTR, A ; Move from/to external RAM ROM:74CB ROM:74CC ROM:74CC ROM_74CC: ; CODE XREF: ROM_742D+1Dj ROM:74CC ; ROM_742D+24j ... ROM:74CC 000 ret ; Return from subroutine ROM:74CC ROM:74CC ; End of function ROM_742D ROM:74CC ROM:74CC ; --------------------------------------------------------------------------- ROM:74CD db 22h ; " ROM:74CE db 22h ; " ROM:74CF db 22h ; " ROM:74D0 db 22h ; " ROM:74D1 db 22h ; " ROM:74D2 ; --------------------------------------------------------------------------- ROM:74D2 mov DPTR, #PWM_ZTIER ; Zone Temperature Interrupt Enable ROM:74D5 clr A ; Clear Operand (0) ROM:74D6 movx @DPTR, A ; Move from/to external RAM ROM:74D7 mov DPTR, #PWM_PCFSR ; Prescaler Clock Frequency Select Register ROM:74DA mov A, #89h ; 'ë' ; Move (Op1 <- Op2) ROM:74DC movx @DPTR, A ; Move from/to external RAM ROM:74DD inc DPTR ; Increment Operand ROM:74DE clr A ; Clear Operand (0) ROM:74DF movx @DPTR, A ; Move from/to external RAM ROM:74E0 inc DPTR ; Increment Operand ROM:74E1 mov A, #3 ; Move (Op1 <- Op2) ROM:74E3 movx @DPTR, A ; Move from/to external RAM ROM:74E4 mov DPTR, #PWM_CTR ; Cycle Time ROM:74E7 mov A, #0E6h ; 'µ' ; Move (Op1 <- Op2) ROM:74E9 movx @DPTR, A ; Move from/to external RAM ROM:74EA mov DPTR, #PWM_C0CPRS ; Channel 0 Clock Prescaler Register ROM:74ED mov A, #84h ; 'ä' ; Move (Op1 <- Op2) ROM:74EF movx @DPTR, A ; Move from/to external RAM ROM:74F0 mov DPTR, #PWM_C7CPRS ; Channel 7 Clock Prescaler Register ROM:74F3 mov A, #8Dh ; 'ì' ; Move (Op1 <- Op2) ROM:74F5 movx @DPTR, A ; Move from/to external RAM ROM:74F6 inc DPTR ; Increment Operand ROM:74F7 clr A ; Clear Operand (0) ROM:74F8 movx @DPTR, A ; Move from/to external RAM ROM:74F9 mov DPTR, #PWM_ZTIER ; Zone Temperature Interrupt Enable ROM:74FC mov A, #2 ; Move (Op1 <- Op2) ROM:74FE movx @DPTR, A ; Move from/to external RAM ROM:74FF ret ; Return from subroutine ROM:74FF ROM:7500 ROM:7500 ; =============== S U B R O U T I N E ======================================= ROM:7500 ROM:7500 ROM:7500 ROM_7500: ; CODE XREF: ROM_7151+10Cp ROM:7500 000 mov DPTR, #163Eh ; Move (Op1 <- Op2) ROM:7503 000 clr A ; Clear Operand (0) ROM:7504 000 movx @DPTR, A ; Move from/to external RAM ROM:7505 000 inc DPTR ; Increment Operand ROM:7506 000 movx @DPTR, A ; Move from/to external RAM ROM:7507 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:750A 000 movx A, @DPTR ; Move from/to external RAM ROM:750B 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:750D 000 movx @DPTR, A ; Move from/to external RAM ROM:750E 000 mov DPTR, #INTC_IER1 ; Interrupt Enable Register 1 ROM:7511 000 movx A, @DPTR ; Move from/to external RAM ROM:7512 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:7514 000 movx @DPTR, A ; Move from/to external RAM ROM:7515 000 mov R0, #38h ; '8' ; Move (Op1 <- Op2) ROM:7517 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:7518 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:751A 000 mov @R0, A ; Move (Op1 <- Op2) ROM:751B 000 mov DPTR, #120h ; Move (Op1 <- Op2) ROM:751E 000 movx A, @DPTR ; Move from/to external RAM ROM:751F 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:7521 000 movx @DPTR, A ; Move from/to external RAM ROM:7522 000 mov DPTR, #5D6h ; Move (Op1 <- Op2) ROM:7525 000 clr A ; Clear Operand (0) ROM:7526 000 movx @DPTR, A ; Move from/to external RAM ROM:7527 000 mov DPTR, #5E1h ; Move (Op1 <- Op2) ROM:752A 000 mov A, #4 ; Move (Op1 <- Op2) ROM:752C 000 movx @DPTR, A ; Move from/to external RAM ROM:752D 000 mov DPTR, #22B2h ; Move (Op1 <- Op2) ROM:7530 000 clr A ; Clear Operand (0) ROM:7531 000 movx @DPTR, A ; Move from/to external RAM ROM:7532 000 mov DPTR, #530h ; Move (Op1 <- Op2) ROM:7535 000 movx A, @DPTR ; Move from/to external RAM ROM:7536 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:7538 000 movx @DPTR, A ; Move from/to external RAM ROM:7539 000 mov DPTR, #510h ; Move (Op1 <- Op2) ROM:753C 000 mov A, #7 ; Move (Op1 <- Op2) ROM:753E 000 movx @DPTR, A ; Move from/to external RAM ROM:753F 000 mov DPTR, #51Ch ; Move (Op1 <- Op2) ROM:7542 000 mov A, #3 ; Move (Op1 <- Op2) ROM:7544 000 movx @DPTR, A ; Move from/to external RAM ROM:7545 000 mov DPTR, #59Bh ; Move (Op1 <- Op2) ROM:7548 000 mov A, #1Eh ; Move (Op1 <- Op2) ROM:754A 000 movx @DPTR, A ; Move from/to external RAM ROM:754B 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:754E 000 movx A, @DPTR ; Move from/to external RAM ROM:754F 000 cjne A, #3, ROM_7558 ; Compare Operands and JNE ROM:754F ROM:7552 000 mov DPTR, #59Bh ; Move (Op1 <- Op2) ROM:7555 000 mov A, #2 ; Move (Op1 <- Op2) ROM:7557 000 movx @DPTR, A ; Move from/to external RAM ROM:7557 ROM:7558 ROM:7558 ROM_7558: ; CODE XREF: ROM_7500+4Fj ROM:7558 000 mov DPTR, #197h ; Move (Op1 <- Op2) ROM:755B 000 mov A, #2 ; Move (Op1 <- Op2) ROM:755D 000 movx @DPTR, A ; Move from/to external RAM ROM:755E 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:7561 000 movx A, @DPTR ; Move from/to external RAM ROM:7562 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:7564 000 movx @DPTR, A ; Move from/to external RAM ROM:7565 000 movx A, @DPTR ; Move from/to external RAM ROM:7566 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:7568 000 movx @DPTR, A ; Move from/to external RAM ROM:7569 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7569 ; End of function ROM_7500 ROM:7569 ROM:756C ROM:756C ; =============== S U B R O U T I N E ======================================= ROM:756C ROM:756C ROM:756C ROM_756C: ROM:756C 000 movx A, @DPTR ; Move from/to external RAM ROM:756D 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:756F 000 movx @DPTR, A ; Move from/to external RAM ROM:7570 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:7573 000 movx A, @DPTR ; Move from/to external RAM ROM:7574 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:7576 000 movx @DPTR, A ; Move from/to external RAM ROM:7577 000 ret ; Return from subroutine ROM:7577 ROM:7577 ; End of function ROM_756C ROM:7577 ROM:7578 ROM:7578 ; =============== S U B R O U T I N E ======================================= ROM:7578 ROM:7578 ROM:7578 ROM_7578: ; CODE XREF: ROM_72DB:ROM_732Ep ROM:7578 000 mov DPTR, #163Eh ; Move (Op1 <- Op2) ROM:757B 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:757D 000 movx @DPTR, A ; Move from/to external RAM ROM:757E 000 inc DPTR ; Increment Operand ROM:757F 000 movx @DPTR, A ; Move from/to external RAM ROM:7580 000 lcall send_to_GPIO_F_4 ; Long Subroutine Call ROM:7580 ROM:7583 000 mov DPTR, #KBC_KBHISR ; KBC Host Interface Keyboard/Mouse Status Register ROM:7586 000 movx A, @DPTR ; Move from/to external RAM ROM:7587 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:7589 000 movx @DPTR, A ; Move from/to external RAM ROM:758A 000 mov R0, #38h ; '8' ; Move (Op1 <- Op2) ROM:758C 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:758D 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:758F 000 mov @R0, A ; Move (Op1 <- Op2) ROM:7590 000 mov DPTR, #1604h ; Move (Op1 <- Op2) ROM:7593 000 movx A, @DPTR ; Move from/to external RAM ROM:7594 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7596 000 movx @DPTR, A ; Move from/to external RAM ROM:7597 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:759A 000 movx A, @DPTR ; Move from/to external RAM ROM:759B 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:759D 000 movx @DPTR, A ; Move from/to external RAM ROM:759E 000 movx A, @DPTR ; Move from/to external RAM ROM:759F 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:75A1 000 movx @DPTR, A ; Move from/to external RAM ROM:75A2 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:75A5 000 movx A, @DPTR ; Move from/to external RAM ROM:75A6 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:75A8 000 movx @DPTR, A ; Move from/to external RAM ROM:75A9 000 mov DPTR, #GPIO_GPDRJ ; Port J Data Register ROM:75AC 000 movx A, @DPTR ; Move from/to external RAM ROM:75AD 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:75AF 000 movx @DPTR, A ; Move from/to external RAM ROM:75B0 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:75B3 000 movx A, @DPTR ; Move from/to external RAM ROM:75B4 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:75B6 000 movx @DPTR, A ; Move from/to external RAM ROM:75B7 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:75BA 000 movx A, @DPTR ; Move from/to external RAM ROM:75BB 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:75BD 000 movx @DPTR, A ; Move from/to external RAM ROM:75BE 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:75C1 000 movx A, @DPTR ; Move from/to external RAM ROM:75C2 000 anl A, #0F3h ; Logical AND (op1 &= op2) ROM:75C4 000 movx @DPTR, A ; Move from/to external RAM ROM:75C5 000 mov DPTR, #22B4h ; Move (Op1 <- Op2) ROM:75C8 000 clr A ; Clear Operand (0) ROM:75C9 000 movx @DPTR, A ; Move from/to external RAM ROM:75CA 000 mov DPTR, #2285h ; Move (Op1 <- Op2) ROM:75CD 000 movx @DPTR, A ; Move from/to external RAM ROM:75CE 000 mov DPTR, #DAC_DACDAT0 ; DAC Data Channel 0 ROM:75D1 000 movx @DPTR, A ; Move from/to external RAM ROM:75D2 000 ret ; Return from subroutine ROM:75D2 ROM:75D2 ; End of function ROM_7578 ROM:75D2 ROM:75D3 ; --------------------------------------------------------------------------- ROM:75D3 ; START OF FUNCTION CHUNK FOR set_sleep_mode ROM:75D3 ROM:75D3 ROM_75D3: ; CODE XREF: set_sleep_mode+10j ROM:75D3 000 mov DPTR, #1634h ; Move (Op1 <- Op2) ROM:75D6 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:75D8 000 movx @DPTR, A ; Move from/to external RAM ROM:75D9 000 inc DPTR ; Increment Operand ROM:75DA 000 movx @DPTR, A ; Move from/to external RAM ROM:75DB 000 mov DPTR, #INTC_IER0 ; Interrupt Enable Register 0 ROM:75DE 000 clr A ; Clear Operand (0) ROM:75DF 000 movx @DPTR, A ; Move from/to external RAM ROM:75E0 000 inc DPTR ; Increment Operand ROM:75E1 000 movx @DPTR, A ; Move from/to external RAM ROM:75E2 000 inc DPTR ; Increment Operand ROM:75E3 000 movx @DPTR, A ; Move from/to external RAM ROM:75E4 000 mov DPTR, #INTC_BASE ; Interrupt Controller ROM:75E7 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:75E9 000 movx @DPTR, A ; Move from/to external RAM ROM:75EA 000 inc DPTR ; Increment Operand ROM:75EB 000 movx @DPTR, A ; Move from/to external RAM ROM:75EC 000 inc DPTR ; Increment Operand ROM:75ED 000 movx @DPTR, A ; Move from/to external RAM ROM:75EE 000 inc DPTR ; Increment Operand ROM:75EF 000 movx @DPTR, A ; Move from/to external RAM ROM:75F0 000 ret ; Return from subroutine ROM:75F0 ROM:75F0 ; END OF FUNCTION CHUNK FOR set_sleep_mode ROM:75F1 ROM:75F1 ; =============== S U B R O U T I N E ======================================= ROM:75F1 ROM:75F1 ; Attributes: noreturn ROM:75F1 ROM:75F1 ROM_75F1: ROM:75F1 000 mov DPTR, #GPIO_GRCRE4 ; Port Control E4 register ROM:75F4 000 mov A, #4 ; Move (Op1 <- Op2) ROM:75F6 000 movx @DPTR, A ; Move from/to external RAM ROM:75F7 000 inc DPTR ; Increment Operand ROM:75F8 000 movx @DPTR, A ; Move from/to external RAM ROM:75F9 000 mov DPTR, #WUC_WUESR1 ; Wake-Up Edge Sense Register ROM:75FC 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:75FE 000 movx @DPTR, A ; Move from/to external RAM ROM:75FF 000 inc DPTR ; Increment Operand ROM:7600 000 movx @DPTR, A ; Move from/to external RAM ROM:7601 000 inc DPTR ; Increment Operand ROM:7602 000 movx @DPTR, A ; Move from/to external RAM ROM:7603 000 inc DPTR ; Increment Operand ROM:7604 000 movx @DPTR, A ; Move from/to external RAM ROM:7605 000 mov DPTR, #1B11h ; Move (Op1 <- Op2) ROM:7608 000 movx @DPTR, A ; Move from/to external RAM ROM:7609 000 mov DPTR, #WUC_WUENR2 ; Wake-Up Enable Register ROM:760C 000 clr A ; Clear Operand (0) ROM:760D 000 movx @DPTR, A ; Move from/to external RAM ROM:760E 000 movx A, @DPTR ; Move from/to external RAM ROM:760F 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7611 000 movx @DPTR, A ; Move from/to external RAM ROM:7612 000 mov DPTR, #WUC_WUEMR2 ; Wake-Up Edge Mode Register ROM:7615 000 mov A, #20h ; ' ' ; Move (Op1 <- Op2) ROM:7617 000 movx @DPTR, A ; Move from/to external RAM ROM:7618 000 mov DPTR, #WUC_WUENR4 ; Wake-Up Enable Register ROM:761B 000 clr A ; Clear Operand (0) ROM:761C 000 movx @DPTR, A ; Move from/to external RAM ROM:761D 000 movx A, @DPTR ; Move from/to external RAM ROM:761E 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:7620 000 movx @DPTR, A ; Move from/to external RAM ROM:7621 000 mov DPTR, #WUC_WUEMR4 ; Wake-Up Edge Mode Register ROM:7624 000 clr A ; Clear Operand (0) ROM:7625 000 movx @DPTR, A ; Move from/to external RAM ROM:7626 000 mov DPTR, #INTC_IPOLR0 ; Interrupt Polarity Register 0 ROM:7629 000 movx @DPTR, A ; Move from/to external RAM ROM:762A 000 inc DPTR ; Increment Operand ROM:762B 000 movx @DPTR, A ; Move from/to external RAM ROM:762C 000 mov DPTR, #INTC_ISR0 ; Interrupt Status Register 0 ROM:762F 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:7631 000 movx @DPTR, A ; Move from/to external RAM ROM:7632 000 inc DPTR ; Increment Operand ROM:7633 000 movx @DPTR, A ; Move from/to external RAM ROM:7634 000 inc DPTR ; Increment Operand ROM:7635 000 movx @DPTR, A ; Move from/to external RAM ROM:7636 000 inc DPTR ; Increment Operand ROM:7637 000 movx @DPTR, A ; Move from/to external RAM ROM:7638 000 inc DPTR ; Increment Operand ROM:7639 000 mov A, #20h ; ' ' ; Move (Op1 <- Op2) ROM:763B 000 movx @DPTR, A ; Move from/to external RAM ROM:763C 000 inc DPTR ; Increment Operand ROM:763D 000 mov A, #40h ; '@' ; Move (Op1 <- Op2) ROM:763F 000 movx @DPTR, A ; Move from/to external RAM ROM:7640 000 inc DPTR ; Increment Operand ROM:7641 000 clr A ; Clear Operand (0) ROM:7642 000 movx @DPTR, A ; Move from/to external RAM ROM:7643 000 inc DPTR ; Increment Operand ROM:7644 000 movx @DPTR, A ; Move from/to external RAM ROM:7645 000 setb IE.7 ; Interrupt Enable Register 0 ROM:7645 ; End of function ROM_75F1 ROM:7645 ROM:7647 ROM:7647 ; =============== S U B R O U T I N E ======================================= ROM:7647 ROM:7647 ; Attributes: noreturn static ROM:7647 ROM:7647 set_sleep_mode: ROM:7647 ROM:7647 ; FUNCTION CHUNK AT ROM:75D3 SIZE 0000001E BYTES ROM:7647 ROM:7647 000 mov DPTR, #ECPM_PLLCTRL ; begin of "Go to Doze/Sleep mode" ROM:764A 000 inc A ; Increment Operand ROM:764B 000 movx @DPTR, A ; Move from/to external RAM ROM:764C 000 mov PCON, #2 ; end of "Go to Doze/Sleep mode" ROM:764F 000 nop ; Repeat "nop" eight times immediately ROM:764F ; for internal bus turn-around ROM:764F ; ROM:7650 000 nop ; No operation ROM:7651 000 nop ; No operation ROM:7652 000 nop ; No operation ROM:7653 000 nop ; No operation ROM:7654 000 nop ; No operation ROM:7655 000 nop ; No operation ROM:7656 000 nop ; No operation ROM:7657 000 ljmp ROM_75D3 ; Long Jump ROM:7657 ROM:7657 ; End of function set_sleep_mode ROM:7657 ROM:765A ; --------------------------------------------------------------------------- ROM:765A ret ; Return from subroutine ROM:765A ROM:765B ROM:765B ; =============== S U B R O U T I N E ======================================= ROM:765B ROM:765B ROM:765B ROM_765B: ; CODE XREF: ROM_622F+Fp ROM:765B 000 mov DPTR, #508h ; Move (Op1 <- Op2) ROM:765E 000 movx A, @DPTR ; Move from/to external RAM ROM:765F 000 jz return ; Jump if Acc is zero ROM:765F ROM:7661 000 mov DPTR, #508h ; Move (Op1 <- Op2) ROM:7664 000 movx A, @DPTR ; Move from/to external RAM ROM:7665 000 dec A ; Decrement Operand ROM:7666 000 movx @DPTR, A ; Move from/to external RAM ROM:7667 000 movx A, @DPTR ; Move from/to external RAM ROM:7668 000 jnz return ; Jump if Acc is not zero ROM:7668 ROM:766A 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:766D 000 movx A, @DPTR ; Move from/to external RAM ROM:766E 000 cjne A, #5, return ; Compare Operands and JNE ROM:766E ROM:7671 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:7674 000 movx A, @DPTR ; Move from/to external RAM ROM:7675 000 jb ACC.3, return ; Accumulator ROM:7675 ROM:7678 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:767B 000 movx A, @DPTR ; Move from/to external RAM ROM:767C 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:767E 000 movx @DPTR, A ; Move from/to external RAM ROM:767E ROM:767F ROM:767F return: ; CODE XREF: ROM_765B+4j ROM:767F ; ROM_765B+Dj ... ROM:767F 000 ret ; Return from subroutine ROM:767F ROM:767F ; End of function ROM_765B ROM:767F ROM:7680 ROM:7680 ; =============== S U B R O U T I N E ======================================= ROM:7680 ROM:7680 ROM:7680 ROM_7680: ; CODE XREF: ROM_622F+51p ROM:7680 000 mov DPTR, #509h ; Move (Op1 <- Op2) ROM:7683 000 movx A, @DPTR ; Move from/to external RAM ROM:7684 000 jz ROM_768A ; Jump if Acc is zero ROM:7684 ROM:7686 000 movx A, @DPTR ; Move from/to external RAM ROM:7687 000 dec A ; Decrement Operand ROM:7688 000 movx @DPTR, A ; Move from/to external RAM ROM:7689 000 ret ; Return from subroutine ROM:7689 ROM:768A ; --------------------------------------------------------------------------- ROM:768A ROM:768A ROM_768A: ; CODE XREF: ROM_7680+4j ROM:768A 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:768D 000 movx A, @DPTR ; Move from/to external RAM ROM:768E 000 clr C ; Clear Operand (0) ROM:768F 000 rrc A ; Rotate Acc right through Carry ROM:7690 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:7692 000 cpl A ; Complement Operand ROM:7693 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:7695 000 add A, ACC ; Accumulator ROM:7697 000 mov R7, A ; Move (Op1 <- Op2) ROM:7698 000 movx A, @DPTR ; Move from/to external RAM ROM:7699 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:769B 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:769C 000 movx @DPTR, A ; Move from/to external RAM ROM:769D 000 movx A, @DPTR ; Move from/to external RAM ROM:769E 000 clr C ; Clear Operand (0) ROM:769F 000 rrc A ; Rotate Acc right through Carry ROM:76A0 000 mov DPTR, #509h ; Move (Op1 <- Op2) ROM:76A3 000 jnb ACC.0, ROM_76A9 ; Accumulator ROM:76A3 ROM:76A6 000 clr A ; Clear Operand (0) ROM:76A7 000 movx @DPTR, A ; Move from/to external RAM ROM:76A8 000 ret ; Return from subroutine ROM:76A8 ROM:76A9 ; --------------------------------------------------------------------------- ROM:76A9 ROM:76A9 ROM_76A9: ; CODE XREF: ROM_7680+23j ROM:76A9 000 mov A, #2 ; Move (Op1 <- Op2) ROM:76AB 000 movx @DPTR, A ; Move from/to external RAM ROM:76AC 000 ret ; Return from subroutine ROM:76AC ROM:76AC ; End of function ROM_7680 ROM:76AC ROM:76AD ROM:76AD ; =============== S U B R O U T I N E ======================================= ROM:76AD ROM:76AD ROM:76AD ROM_76AD: ROM:76AD 000 mov DPTR, #59Eh ; Move (Op1 <- Op2) ROM:76B0 000 movx A, @DPTR ; Move from/to external RAM ROM:76B1 000 jnz ROM_76BA ; Jump if Acc is not zero ROM:76B1 ROM:76B3 000 inc DPTR ; Increment Operand ROM:76B4 000 movx A, @DPTR ; Move from/to external RAM ROM:76B5 000 jnz ROM_76BA ; Jump if Acc is not zero ROM:76B5 ROM:76B7 000 ljmp return ; Long Jump ROM:76B7 ROM:76BA ; --------------------------------------------------------------------------- ROM:76BA ROM:76BA ROM_76BA: ; CODE XREF: ROM_76AD+4j ROM:76BA ; ROM_76AD+8j ROM:76BA 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:76BD 000 movx A, @DPTR ; Move from/to external RAM ROM:76BE 000 swap A ; Swap nibbles of Acc ROM:76BF 000 rrc A ; Rotate Acc right through Carry ROM:76C0 000 rrc A ; Rotate Acc right through Carry ROM:76C1 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:76C3 000 cpl A ; Complement Operand ROM:76C4 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:76C6 000 swap A ; Swap nibbles of Acc ROM:76C7 000 rlc A ; Rotate Acc left through Carry ROM:76C8 000 rlc A ; Rotate Acc left through Carry ROM:76C9 000 anl A, #0C0h ; Logical AND (op1 &= op2) ROM:76CB 000 mov R7, A ; Move (Op1 <- Op2) ROM:76CC 000 movx A, @DPTR ; Move from/to external RAM ROM:76CD 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:76CF 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:76D0 000 movx @DPTR, A ; Move from/to external RAM ROM:76D1 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:76D4 000 movx A, @DPTR ; Move from/to external RAM ROM:76D5 000 cpl A ; Complement Operand ROM:76D6 000 jnz ROM_76DB ; Jump if Acc is not zero ROM:76D6 ROM:76D8 000 ljmp return ; Long Jump ROM:76D8 ROM:76DB ; --------------------------------------------------------------------------- ROM:76DB ROM:76DB ROM_76DB: ; CODE XREF: ROM_76AD+29j ROM:76DB 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:76DE 000 movx A, @DPTR ; Move from/to external RAM ROM:76DF 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:76E1 000 jnz ROM_7727 ; Jump if Acc is not zero ROM:76E1 ROM:76E3 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:76E6 000 movx A, @DPTR ; Move from/to external RAM ROM:76E7 000 jz ROM_76EB ; Jump if Acc is zero ROM:76E7 ROM:76E9 000 sjmp ROM_7735 ; Short jump ROM:76E9 ROM:76EB ; --------------------------------------------------------------------------- ROM:76EB ROM:76EB ROM_76EB: ; CODE XREF: ROM_76AD+3Aj ROM:76EB 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:76EE 000 movx A, @DPTR ; Move from/to external RAM ROM:76EF 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:76F1 000 movx @DPTR, A ; Move from/to external RAM ROM:76F2 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:76F5 000 clr A ; Clear Operand (0) ROM:76F6 000 movx @DPTR, A ; Move from/to external RAM ROM:76F6 ROM:76F7 ROM:76F7 ROM_76F7: ; CODE XREF: ROM_76AD+6Bj ROM:76F7 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:76FA 000 movx A, @DPTR ; Move from/to external RAM ROM:76FB 000 cpl A ; Complement Operand ROM:76FC 000 jz ROM_771A ; Jump if Acc is zero ROM:76FC ROM:76FE 000 inc DPTR ; Increment Operand ROM:76FF 000 clr A ; Clear Operand (0) ROM:7700 000 movx @DPTR, A ; Move from/to external RAM ROM:7700 ROM:7701 ROM:7701 ROM_7701: ; CODE XREF: ROM_76AD+61j ROM:7701 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:7704 000 movx A, @DPTR ; Move from/to external RAM ROM:7705 000 xrl A, #7Fh ; Exclusive OR (op1 ^= op2) ROM:7707 000 jz ROM_7710 ; Jump if Acc is zero ROM:7707 ROM:7709 000 nop ; No operation ROM:770A 000 nop ; No operation ROM:770B 000 movx A, @DPTR ; Move from/to external RAM ROM:770C 000 inc A ; Increment Operand ROM:770D 000 movx @DPTR, A ; Move from/to external RAM ROM:770E 000 sjmp ROM_7701 ; Short jump ROM:770E ROM:7710 ; --------------------------------------------------------------------------- ROM:7710 ROM:7710 ROM_7710: ; CODE XREF: ROM_76AD+5Aj ROM:7710 000 nop ; No operation ROM:7711 000 nop ; No operation ROM:7712 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:7715 000 movx A, @DPTR ; Move from/to external RAM ROM:7716 000 inc A ; Increment Operand ROM:7717 000 movx @DPTR, A ; Move from/to external RAM ROM:7718 000 sjmp ROM_76F7 ; Short jump ROM:7718 ROM:771A ; --------------------------------------------------------------------------- ROM:771A ROM:771A ROM_771A: ; CODE XREF: ROM_76AD+4Fj ROM:771A 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:771D 000 movx A, @DPTR ; Move from/to external RAM ROM:771E 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:7720 000 movx @DPTR, A ; Move from/to external RAM ROM:7721 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:7724 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:7726 000 movx @DPTR, A ; Move from/to external RAM ROM:7726 ROM:7727 ROM:7727 ROM_7727: ; CODE XREF: ROM_76AD+34j ROM:7727 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:772A 000 movx A, @DPTR ; Move from/to external RAM ROM:772B 000 xrl A, #5 ; Exclusive OR (op1 ^= op2) ROM:772D 000 jnz return ; Jump if Acc is not zero ROM:772D ROM:772F 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:7732 000 movx A, @DPTR ; Move from/to external RAM ROM:7733 000 jz ROM_7739 ; Jump if Acc is zero ROM:7733 ROM:7735 ROM:7735 ROM_7735: ; CODE XREF: ROM_76AD+3Cj ROM:7735 000 movx A, @DPTR ; Move from/to external RAM ROM:7736 000 dec A ; Decrement Operand ROM:7737 000 movx @DPTR, A ; Move from/to external RAM ROM:7738 000 ret ; Return from subroutine ROM:7738 ROM:7739 ; --------------------------------------------------------------------------- ROM:7739 ROM:7739 ROM_7739: ; CODE XREF: ROM_76AD+86j ROM:7739 000 mov DPTR, #512h ; Move (Op1 <- Op2) ROM:773C 000 mov A, #1 ; Move (Op1 <- Op2) ROM:773E 000 movx @DPTR, A ; Move from/to external RAM ROM:773F 000 inc DPTR ; Increment Operand ROM:7740 000 inc A ; Increment Operand ROM:7741 000 movx @DPTR, A ; Move from/to external RAM ROM:7742 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:7745 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:7747 000 movx @DPTR, A ; Move from/to external RAM ROM:7748 000 mov DPTR, #16Ah ; Move (Op1 <- Op2) ROM:774B 000 movx A, @DPTR ; Move from/to external RAM ROM:774C 000 jnz ROM_7759 ; Jump if Acc is not zero ROM:774C ROM:774E 000 mov DPTR, #59Eh ; Move (Op1 <- Op2) ROM:7751 000 movx @DPTR, A ; Move from/to external RAM ROM:7752 000 inc DPTR ; Increment Operand ROM:7753 000 movx @DPTR, A ; Move from/to external RAM ROM:7754 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:7757 000 movx @DPTR, A ; Move from/to external RAM ROM:7758 000 ret ; Return from subroutine ROM:7758 ROM:7759 ; --------------------------------------------------------------------------- ROM:7759 ROM:7759 ROM_7759: ; CODE XREF: ROM_76AD+9Fj ROM:7759 000 mov DPTR, #16Ah ; Move (Op1 <- Op2) ROM:775C 000 movx A, @DPTR ; Move from/to external RAM ROM:775D 000 dec A ; Decrement Operand ROM:775E 000 movx @DPTR, A ; Move from/to external RAM ROM:775F 000 movx A, @DPTR ; Move from/to external RAM ROM:7760 000 jnz return ; Jump if Acc is not zero ROM:7760 ROM:7762 000 mov DPTR, #59Eh ; Move (Op1 <- Op2) ROM:7765 000 movx @DPTR, A ; Move from/to external RAM ROM:7766 000 inc DPTR ; Increment Operand ROM:7767 000 movx @DPTR, A ; Move from/to external RAM ROM:7768 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:776B 000 movx @DPTR, A ; Move from/to external RAM ROM:776C 000 mov DPTR, #1605h ; Move (Op1 <- Op2) ROM:776F 000 movx A, @DPTR ; Move from/to external RAM ROM:7770 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:7772 000 movx @DPTR, A ; Move from/to external RAM ROM:7772 ROM:7773 ROM:7773 return: ; CODE XREF: ROM_76AD+Aj ROM:7773 ; ROM_76AD+2Bj ... ROM:7773 000 ret ; Return from subroutine ROM:7773 ROM:7773 ; End of function ROM_76AD ROM:7773 ROM:7774 ROM:7774 ; =============== S U B R O U T I N E ======================================= ROM:7774 ROM:7774 ROM:7774 ROM_7774: ; CODE XREF: ROM_6209+19p ROM:7774 000 mov DPTR, #59Bh ; Move (Op1 <- Op2) ROM:7777 000 movx A, @DPTR ; Move from/to external RAM ROM:7778 000 jz ROM_7787 ; Jump if Acc is zero ROM:7778 ROM:777A 000 movx A, @DPTR ; Move from/to external RAM ROM:777B 000 dec A ; Decrement Operand ROM:777C 000 movx @DPTR, A ; Move from/to external RAM ROM:777D 000 movx A, @DPTR ; Move from/to external RAM ROM:777E 000 jnz ROM_7787 ; Jump if Acc is not zero ROM:777E ROM:7780 000 mov DPTR, #GPIO_GPDRJ ; Port J Data Register ROM:7783 000 movx A, @DPTR ; Move from/to external RAM ROM:7784 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7786 000 movx @DPTR, A ; Move from/to external RAM ROM:7786 ROM:7787 ROM:7787 ROM_7787: ; CODE XREF: ROM_7774+4j ROM:7787 ; ROM_7774+Aj ROM:7787 000 ret ; Return from subroutine ROM:7787 ROM:7787 ; End of function ROM_7774 ROM:7787 ROM:7788 ROM:7788 ; =============== S U B R O U T I N E ======================================= ROM:7788 ROM:7788 ROM:7788 ROM_7788: ; CODE XREF: ROM_630B+14p ROM:7788 000 mov R5, #0BFh ; '+' ; Move (Op1 <- Op2) ROM:778A 000 mov R4, #22h ; '"' ; Move (Op1 <- Op2) ROM:778C 000 mov R7, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:778E 000 mov R6, #22h ; '"' ; Move (Op1 <- Op2) ROM:7790 000 ljmp ROM_926C ; Long Jump ROM:7790 ROM:7790 ; End of function ROM_7788 ROM:7790 ROM:7793 ROM:7793 ; =============== S U B R O U T I N E ======================================= ROM:7793 ROM:7793 ROM:7793 ROM_7793: ; CODE XREF: ROM_781B+Cj ROM:7793 ; ROM_782A:ROM_79A6j ... ROM:7793 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7796 000 clr A ; Clear Operand (0) ROM:7797 000 movx @DPTR, A ; Move from/to external RAM ROM:7798 000 inc DPTR ; Increment Operand ROM:7799 000 movx @DPTR, A ; Move from/to external RAM ROM:779A 000 inc DPTR ; Increment Operand ROM:779B 000 movx @DPTR, A ; Move from/to external RAM ROM:779C 000 ret ; Return from subroutine ROM:779C ROM:779C ; End of function ROM_7793 ROM:779C ROM:779D ROM:779D ; =============== S U B R O U T I N E ======================================= ROM:779D ROM:779D ROM:779D ROM_779D: ROM:779D 000 clr IE.7 ; Interrupt Enable Register 0 ROM:779F 000 mov R4, #4Fh ; 'O' ; Move (Op1 <- Op2) ROM:77A1 000 mov R5, #68h ; 'h' ; Move (Op1 <- Op2) ROM:77A3 000 clr A ; Clear Operand (0) ROM:77A4 000 mov R7, A ; Move (Op1 <- Op2) ROM:77A5 000 lcall do_something_with_offset_table_1 ; Long Subroutine Call ROM:77A5 ROM:77A8 000 setb RAM_22.1 ; Set Direct Bit ROM:77AA 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:77AA ROM:77AD 000 mov A, R7 ; Move (Op1 <- Op2) ROM:77AE 000 jz return ; Jump if Acc is zero ROM:77AE ROM:77B0 000 clr RAM_22.1 ; Clear Operand (0) ROM:77B2 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:77B2 ROM:77B5 ROM:77B5 return: ; CODE XREF: ROM_779D+11j ROM:77B5 000 ret ; Return from subroutine ROM:77B5 ROM:77B5 ; End of function ROM_779D ROM:77B5 ROM:77B6 ROM:77B6 ; =============== S U B R O U T I N E ======================================= ROM:77B6 ROM:77B6 ROM:77B6 ROM_77B6: ROM:77B6 000 mov R4, #4Fh ; 'O' ; Move (Op1 <- Op2) ROM:77B8 000 mov R5, #68h ; 'h' ; Move (Op1 <- Op2) ROM:77BA 000 clr A ; Clear Operand (0) ROM:77BB 000 mov R7, A ; Move (Op1 <- Op2) ROM:77BC 000 lcall do_something_with_offset_table_1 ; Long Subroutine Call ROM:77BC ROM:77BF 000 setb RAM_22.1 ; Set Direct Bit ROM:77C1 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:77C1 ROM:77C4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:77C5 000 jz ROM_77CC ; Jump if Acc is zero ROM:77C5 ROM:77C7 000 clr RAM_22.1 ; Clear Operand (0) ROM:77C9 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:77C9 ROM:77CC ROM:77CC ROM_77CC: ; CODE XREF: ROM_77B6+Fj ROM:77CC 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:77CF 000 mov A, #0ADh ; '¡' ; Move (Op1 <- Op2) ROM:77D1 000 movx @DPTR, A ; Move from/to external RAM ROM:77D2 000 mov RAM_33, #20h ; ' ' ; Move (Op1 <- Op2) ROM:77D5 000 clr A ; Clear Operand (0) ROM:77D6 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:77D8 000 mov RAM_31, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:77DB 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:77DD 000 ljmp write_chain_in_memory ; Long Jump ROM:77DD ROM:77DD ; End of function ROM_77B6 ROM:77DD ROM:77E0 ROM:77E0 ; =============== S U B R O U T I N E ======================================= ROM:77E0 ROM:77E0 ROM:77E0 ROM_77E0: ROM:77E0 000 mov R4, #4Fh ; 'O' ; Move (Op1 <- Op2) ROM:77E2 000 mov R5, #68h ; 'h' ; Move (Op1 <- Op2) ROM:77E4 000 clr A ; Clear Operand (0) ROM:77E5 000 mov R7, A ; Move (Op1 <- Op2) ROM:77E6 000 lcall do_something_with_offset_table_1 ; Long Subroutine Call ROM:77E6 ROM:77E9 000 setb RAM_22.1 ; Set Direct Bit ROM:77EB 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:77EB ROM:77EE 000 mov A, R7 ; Move (Op1 <- Op2) ROM:77EF 000 jz ROM_77F6 ; Jump if Acc is zero ROM:77EF ROM:77F1 000 clr RAM_22.1 ; Clear Operand (0) ROM:77F3 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:77F3 ROM:77F6 ROM:77F6 ROM_77F6: ; CODE XREF: ROM_77E0+Fj ROM:77F6 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:77F9 000 mov A, #0ADh ; '¡' ; Move (Op1 <- Op2) ROM:77FB 000 movx @DPTR, A ; Move from/to external RAM ROM:77FC 000 mov RAM_33, #20h ; ' ' ; Move (Op1 <- Op2) ROM:77FF 000 clr A ; Clear Operand (0) ROM:7800 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:7802 000 mov RAM_31, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:7805 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:7807 000 lcall write_chain_in_memory ; Long Subroutine Call ROM:7807 ROM:780A 000 clr A ; Clear Operand (0) ROM:780B 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:780D 000 mov RAM_31, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:7810 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:7812 000 mov R5, A ; Move (Op1 <- Op2) ROM:7813 000 mov R4, #3 ; Move (Op1 <- Op2) ROM:7815 000 mov R7, #0FFh ; Move (Op1 <- Op2) ROM:7817 000 mov R6, A ; Move (Op1 <- Op2) ROM:7818 000 ljmp ROM_5205 ; Long Jump ROM:7818 ROM:7818 ; End of function ROM_77E0 ROM:7818 ROM:781B ROM:781B ; =============== S U B R O U T I N E ======================================= ROM:781B ROM:781B ROM:781B ROM_781B: ROM:781B 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:781E 000 movx A, @DPTR ; Move from/to external RAM ROM:781F 000 mov DPTR, #0F000h ; Move (Op1 <- Op2) ROM:7822 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:7823 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7826 000 movx @DPTR, A ; Move from/to external RAM ROM:7827 000 ljmp ROM_7793 ; Long Jump ROM:7827 ROM:7827 ; End of function ROM_781B ROM:7827 ROM:782A ROM:782A ; =============== S U B R O U T I N E ======================================= ROM:782A ROM:782A ROM:782A ROM_782A: ROM:782A 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:782D 000 clr A ; Clear Operand (0) ROM:782E 000 movx @DPTR, A ; Move from/to external RAM ROM:782E ROM:782F ROM:782F ROM_782F: ; CODE XREF: ROM_782A+36j ROM:782F 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:7832 000 movx A, @DPTR ; Move from/to external RAM ROM:7833 000 cpl A ; Complement Operand ROM:7834 000 jz ROM_7862 ; Jump if Acc is zero ROM:7834 ROM:7836 000 movx A, @DPTR ; Move from/to external RAM ROM:7837 000 add A, #0 ; Add Second Operand to Acc ROM:7839 000 mov R6, A ; Move (Op1 <- Op2) ROM:783A 000 clr A ; Clear Operand (0) ROM:783B 000 addc A, #3 ; Add Second Operand to Acc with carry ROM:783D 000 mov DPTR, #6BDh ; Move (Op1 <- Op2) ROM:7840 000 movx @DPTR, A ; Move from/to external RAM ROM:7841 000 inc DPTR ; Increment Operand ROM:7842 000 xch A, R6 ; Exchange Operands ROM:7843 000 movx @DPTR, A ; Move from/to external RAM ROM:7844 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:7847 000 movx A, @DPTR ; Move from/to external RAM ROM:7848 000 mov DPTR, #0F000h ; Move (Op1 <- Op2) ROM:784B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:784C 000 mov R7, A ; Move (Op1 <- Op2) ROM:784D 000 mov DPTR, #6BDh ; Move (Op1 <- Op2) ROM:7850 000 movx A, @DPTR ; Move from/to external RAM ROM:7851 000 mov R4, A ; Move (Op1 <- Op2) ROM:7852 000 inc DPTR ; Increment Operand ROM:7853 000 movx A, @DPTR ; Move from/to external RAM ROM:7854 000 mov DP0L, A ; Data Pointer Low Byte ROM:7856 000 mov DP0H, R4 ; Data Pointer High Byte ROM:7858 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7859 000 movx @DPTR, A ; Move from/to external RAM ROM:785A 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:785D 000 movx A, @DPTR ; Move from/to external RAM ROM:785E 000 inc A ; Increment Operand ROM:785F 000 movx @DPTR, A ; Move from/to external RAM ROM:7860 000 sjmp ROM_782F ; Short jump ROM:7860 ROM:7862 ; --------------------------------------------------------------------------- ROM:7862 ROM:7862 ROM_7862: ; CODE XREF: ROM_782A+Aj ROM:7862 000 ljmp ROM_799E ; Long Jump ROM:7862 ROM:7865 ; --------------------------------------------------------------------------- ROM:7865 ROM:7865 ROM_7865: ; CODE XREF: ROM_782A+13Aj ROM:7865 ; ROM_782A+179j ROM:7865 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7868 000 movx A, @DPTR ; Move from/to external RAM ROM:7869 000 xrl A, #0Eh ; Exclusive OR (op1 ^= op2) ROM:786B 000 jnz ROM_7870 ; Jump if Acc is not zero ROM:786B ROM:786D 000 ljmp ROM_79A6 ; Long Jump ROM:786D ROM:7870 ; --------------------------------------------------------------------------- ROM:7870 ROM:7870 ROM_7870: ; CODE XREF: ROM_782A+41j ROM:7870 000 movx A, @DPTR ; Move from/to external RAM ROM:7871 000 cjne A, #6, ROM_788B ; Compare Operands and JNE ROM:7871 ROM:7874 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7877 000 movx A, @DPTR ; Move from/to external RAM ROM:7878 000 mov DPTR, #58Eh ; Move (Op1 <- Op2) ROM:787B 000 movx @DPTR, A ; Move from/to external RAM ROM:787C 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:787F 000 movx A, @DPTR ; Move from/to external RAM ROM:7880 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:7882 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:7885 000 movx @DPTR, A ; Move from/to external RAM ROM:7886 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7889 000 clr A ; Clear Operand (0) ROM:788A 000 movx @DPTR, A ; Move from/to external RAM ROM:788A ROM:788B ROM:788B ROM_788B: ; CODE XREF: ROM_782A+47j ROM:788B 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:788E 000 movx A, @DPTR ; Move from/to external RAM ROM:788F 000 xrl A, #7 ; Exclusive OR (op1 ^= op2) ROM:7891 000 jnz ROM_78D1 ; Jump if Acc is not zero ROM:7891 ROM:7893 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:7896 000 movx A, @DPTR ; Move from/to external RAM ROM:7897 000 add A, #0 ; Add Second Operand to Acc ROM:7899 000 mov R6, A ; Move (Op1 <- Op2) ROM:789A 000 clr A ; Clear Operand (0) ROM:789B 000 addc A, #3 ; Add Second Operand to Acc with carry ROM:789D 000 mov DPTR, #6BDh ; Move (Op1 <- Op2) ROM:78A0 000 movx @DPTR, A ; Move from/to external RAM ROM:78A1 000 inc DPTR ; Increment Operand ROM:78A2 000 xch A, R6 ; Exchange Operands ROM:78A3 000 movx @DPTR, A ; Move from/to external RAM ROM:78A4 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:78A7 000 movx A, @DPTR ; Move from/to external RAM ROM:78A8 000 mov R7, A ; Move (Op1 <- Op2) ROM:78A9 000 mov DPTR, #6BDh ; Move (Op1 <- Op2) ROM:78AC 000 movx A, @DPTR ; Move from/to external RAM ROM:78AD 000 mov R4, A ; Move (Op1 <- Op2) ROM:78AE 000 inc DPTR ; Increment Operand ROM:78AF 000 movx A, @DPTR ; Move from/to external RAM ROM:78B0 000 mov DP0L, A ; Data Pointer Low Byte ROM:78B2 000 mov DP0H, R4 ; Data Pointer High Byte ROM:78B4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:78B5 000 movx @DPTR, A ; Move from/to external RAM ROM:78B6 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:78B9 000 movx A, @DPTR ; Move from/to external RAM ROM:78BA 000 inc A ; Increment Operand ROM:78BB 000 movx @DPTR, A ; Move from/to external RAM ROM:78BC 000 mov DPTR, #58Eh ; Move (Op1 <- Op2) ROM:78BF 000 movx A, @DPTR ; Move from/to external RAM ROM:78C0 000 mov R7, A ; Move (Op1 <- Op2) ROM:78C1 000 inc DPTR ; Increment Operand ROM:78C2 000 movx A, @DPTR ; Move from/to external RAM ROM:78C3 000 clr C ; Clear Operand (0) ROM:78C4 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:78C5 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:78C8 000 jc ROM_78CF ; Jump if Carry is set ROM:78C8 ROM:78CA 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:78CC 000 movx @DPTR, A ; Move from/to external RAM ROM:78CD 000 sjmp ROM_78D1 ; Short jump ROM:78CD ROM:78CF ; --------------------------------------------------------------------------- ROM:78CF ROM:78CF ROM_78CF: ; CODE XREF: ROM_782A+9Ej ROM:78CF 000 clr A ; Clear Operand (0) ROM:78D0 000 movx @DPTR, A ; Move from/to external RAM ROM:78D0 ROM:78D1 ROM:78D1 ROM_78D1: ; CODE XREF: ROM_782A+67j ROM:78D1 ; ROM_782A+A3j ROM:78D1 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:78D4 000 movx A, @DPTR ; Move from/to external RAM ROM:78D5 000 xrl A, #8 ; Exclusive OR (op1 ^= op2) ROM:78D7 000 jnz ROM_7918 ; Jump if Acc is not zero ROM:78D7 ROM:78D9 000 mov R4, #4Fh ; 'O' ; Move (Op1 <- Op2) ROM:78DB 000 mov R5, #68h ; 'h' ; Move (Op1 <- Op2) ROM:78DD 000 mov R7, A ; Move (Op1 <- Op2) ROM:78DE 000 lcall do_something_with_offset_table_1 ; Long Subroutine Call ROM:78DE ROM:78E1 000 setb RAM_22.1 ; Set Direct Bit ROM:78E3 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:78E3 ROM:78E6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:78E7 000 jz ROM_78EE ; Jump if Acc is zero ROM:78E7 ROM:78E9 000 clr RAM_22.1 ; Clear Operand (0) ROM:78EB 000 lcall some_with__0F_FF_FD_00 ; some_with__0F_FF_FD_00, return value in 0xF memory adress ROM:78EB ROM:78EE ROM:78EE ROM_78EE: ; CODE XREF: ROM_782A+BDj ROM:78EE 000 mov DPTR, #0Fh ; Move (Op1 <- Op2) ROM:78F1 000 mov A, #0ADh ; '¡' ; Move (Op1 <- Op2) ROM:78F3 000 movx @DPTR, A ; Move from/to external RAM ROM:78F4 000 mov RAM_33, #20h ; ' ' ; Move (Op1 <- Op2) ROM:78F7 000 clr A ; Clear Operand (0) ROM:78F8 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:78FA 000 mov RAM_31, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:78FD 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:78FF 000 lcall write_chain_in_memory ; Long Subroutine Call ROM:78FF ROM:7902 000 clr A ; Clear Operand (0) ROM:7903 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:7905 000 mov RAM_31, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:7908 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:790A 000 mov R5, A ; Move (Op1 <- Op2) ROM:790B 000 mov R4, #3 ; Move (Op1 <- Op2) ROM:790D 000 mov R7, #0FFh ; Move (Op1 <- Op2) ROM:790F 000 mov R6, A ; Move (Op1 <- Op2) ROM:7910 000 lcall ROM_5205 ; Long Subroutine Call ROM:7910 ROM:7913 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7916 000 clr A ; Clear Operand (0) ROM:7917 000 movx @DPTR, A ; Move from/to external RAM ROM:7917 ROM:7918 ROM:7918 ROM_7918: ; CODE XREF: ROM_782A+ADj ROM:7918 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:791B 000 movx A, @DPTR ; Move from/to external RAM ROM:791C 000 xrl A, #9 ; Exclusive OR (op1 ^= op2) ROM:791E 000 jnz ROM_795C ; Jump if Acc is not zero ROM:791E ROM:7920 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:7923 000 movx A, @DPTR ; Move from/to external RAM ROM:7924 000 add A, #0 ; Add Second Operand to Acc ROM:7926 000 mov R6, A ; Move (Op1 <- Op2) ROM:7927 000 clr A ; Clear Operand (0) ROM:7928 000 addc A, #3 ; Add Second Operand to Acc with carry ROM:792A 000 mov DPTR, #6BDh ; Move (Op1 <- Op2) ROM:792D 000 movx @DPTR, A ; Move from/to external RAM ROM:792E 000 inc DPTR ; Increment Operand ROM:792F 000 xch A, R6 ; Exchange Operands ROM:7930 000 movx @DPTR, A ; Move from/to external RAM ROM:7931 000 mov DPTR, #6BDh ; Move (Op1 <- Op2) ROM:7934 000 movx A, @DPTR ; Move from/to external RAM ROM:7935 000 mov R6, A ; Move (Op1 <- Op2) ROM:7936 000 inc DPTR ; Increment Operand ROM:7937 000 movx A, @DPTR ; Move from/to external RAM ROM:7938 000 mov DP0L, A ; Data Pointer Low Byte ROM:793A 000 mov DP0H, R6 ; Data Pointer High Byte ROM:793C 000 movx A, @DPTR ; Move from/to external RAM ROM:793D 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7940 000 movx @DPTR, A ; Move from/to external RAM ROM:7941 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:7944 000 movx A, @DPTR ; Move from/to external RAM ROM:7945 000 inc A ; Increment Operand ROM:7946 000 movx @DPTR, A ; Move from/to external RAM ROM:7947 000 mov DPTR, #58Eh ; Move (Op1 <- Op2) ROM:794A 000 movx A, @DPTR ; Move from/to external RAM ROM:794B 000 mov R7, A ; Move (Op1 <- Op2) ROM:794C 000 inc DPTR ; Increment Operand ROM:794D 000 movx A, @DPTR ; Move from/to external RAM ROM:794E 000 clr C ; Clear Operand (0) ROM:794F 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:7950 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7953 000 jc ROM_795A ; Jump if Carry is set ROM:7953 ROM:7955 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:7957 000 movx @DPTR, A ; Move from/to external RAM ROM:7958 000 sjmp ROM_795C ; Short jump ROM:7958 ROM:795A ; --------------------------------------------------------------------------- ROM:795A ROM:795A ROM_795A: ; CODE XREF: ROM_782A+129j ROM:795A 000 clr A ; Clear Operand (0) ROM:795B 000 movx @DPTR, A ; Move from/to external RAM ROM:795B ROM:795C ROM:795C ROM_795C: ; CODE XREF: ROM_782A+F4j ROM:795C ; ROM_782A+12Ej ROM:795C 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:795F 000 movx A, @DPTR ; Move from/to external RAM ROM:7960 000 xrl A, #0Ah ; Exclusive OR (op1 ^= op2) ROM:7962 000 jz ROM_7967 ; Jump if Acc is zero ROM:7962 ROM:7964 000 ljmp ROM_7865 ; Long Jump ROM:7964 ROM:7967 ; --------------------------------------------------------------------------- ROM:7967 ROM:7967 ROM_7967: ; CODE XREF: ROM_782A+138j ROM:7967 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:796A 000 movx @DPTR, A ; Move from/to external RAM ROM:796A ROM:796B ROM:796B ROM_796B: ; CODE XREF: ROM_782A+172j ROM:796B 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:796E 000 movx A, @DPTR ; Move from/to external RAM ROM:796F 000 cpl A ; Complement Operand ROM:7970 000 jz ROM_799E ; Jump if Acc is zero ROM:7970 ROM:7972 000 movx A, @DPTR ; Move from/to external RAM ROM:7973 000 add A, #0 ; Add Second Operand to Acc ROM:7975 000 mov R6, A ; Move (Op1 <- Op2) ROM:7976 000 clr A ; Clear Operand (0) ROM:7977 000 addc A, #3 ; Add Second Operand to Acc with carry ROM:7979 000 mov DPTR, #6BDh ; Move (Op1 <- Op2) ROM:797C 000 movx @DPTR, A ; Move from/to external RAM ROM:797D 000 inc DPTR ; Increment Operand ROM:797E 000 xch A, R6 ; Exchange Operands ROM:797F 000 movx @DPTR, A ; Move from/to external RAM ROM:7980 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:7983 000 movx A, @DPTR ; Move from/to external RAM ROM:7984 000 mov DPTR, #0F000h ; Move (Op1 <- Op2) ROM:7987 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:7988 000 mov R7, A ; Move (Op1 <- Op2) ROM:7989 000 mov DPTR, #6BDh ; Move (Op1 <- Op2) ROM:798C 000 movx A, @DPTR ; Move from/to external RAM ROM:798D 000 mov R4, A ; Move (Op1 <- Op2) ROM:798E 000 inc DPTR ; Increment Operand ROM:798F 000 movx A, @DPTR ; Move from/to external RAM ROM:7990 000 mov DP0L, A ; Data Pointer Low Byte ROM:7992 000 mov DP0H, R4 ; Data Pointer High Byte ROM:7994 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7995 000 movx @DPTR, A ; Move from/to external RAM ROM:7996 000 mov DPTR, #58Fh ; Move (Op1 <- Op2) ROM:7999 000 movx A, @DPTR ; Move from/to external RAM ROM:799A 000 inc A ; Increment Operand ROM:799B 000 movx @DPTR, A ; Move from/to external RAM ROM:799C 000 sjmp ROM_796B ; Short jump ROM:799C ROM:799E ; --------------------------------------------------------------------------- ROM:799E ROM:799E ROM_799E: ; CODE XREF: ROM_782A:ROM_7862j ROM:799E ; ROM_782A+146j ROM:799E 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:79A1 000 clr A ; Clear Operand (0) ROM:79A2 000 movx @DPTR, A ; Move from/to external RAM ROM:79A3 000 ljmp ROM_7865 ; Long Jump ROM:79A3 ROM:79A6 ; --------------------------------------------------------------------------- ROM:79A6 ROM:79A6 ROM_79A6: ; CODE XREF: ROM_782A+43j ROM:79A6 000 ljmp ROM_7793 ; Long Jump ROM:79A6 ROM:79A6 ; End of function ROM_782A ROM:79A6 ROM:79A9 ROM:79A9 ; =============== S U B R O U T I N E ======================================= ROM:79A9 ROM:79A9 ROM:79A9 ROM_79A9: ROM:79A9 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:79AC 000 movx A, @DPTR ; Move from/to external RAM ROM:79AD 000 jnz ROM_79B5 ; Jump if Acc is not zero ROM:79AD ROM:79AF 000 mov DPTR, #5D6h ; Move (Op1 <- Op2) ROM:79B2 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:79B4 000 movx @DPTR, A ; Move from/to external RAM ROM:79B4 ROM:79B5 ROM:79B5 ROM_79B5: ; CODE XREF: ROM_79A9+4j ROM:79B5 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:79B8 000 movx A, @DPTR ; Move from/to external RAM ROM:79B9 000 cjne A, #1, ROM_79C2 ; Compare Operands and JNE ROM:79B9 ROM:79BC 000 mov DPTR, #5D6h ; Move (Op1 <- Op2) ROM:79BF 000 mov A, #81h ; 'ü' ; Move (Op1 <- Op2) ROM:79C1 000 movx @DPTR, A ; Move from/to external RAM ROM:79C1 ROM:79C2 ROM:79C2 ROM_79C2: ; CODE XREF: ROM_79A9+10j ROM:79C2 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:79C5 000 movx A, @DPTR ; Move from/to external RAM ROM:79C6 000 cjne A, #2, ROM_79CF ; Compare Operands and JNE ROM:79C6 ROM:79C9 000 mov DPTR, #5D6h ; Move (Op1 <- Op2) ROM:79CC 000 mov A, #83h ; 'â' ; Move (Op1 <- Op2) ROM:79CE 000 movx @DPTR, A ; Move from/to external RAM ROM:79CE ROM:79CF ROM:79CF ROM_79CF: ; CODE XREF: ROM_79A9+1Dj ROM:79CF 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:79D2 000 movx A, @DPTR ; Move from/to external RAM ROM:79D3 000 cjne A, #3, ROM_79DC ; Compare Operands and JNE ROM:79D3 ROM:79D6 000 mov DPTR, #5D6h ; Move (Op1 <- Op2) ROM:79D9 000 mov A, #82h ; 'é' ; Move (Op1 <- Op2) ROM:79DB 000 movx @DPTR, A ; Move from/to external RAM ROM:79DB ROM:79DC ROM:79DC ROM_79DC: ; CODE XREF: ROM_79A9+2Aj ROM:79DC 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:79DF 000 movx A, @DPTR ; Move from/to external RAM ROM:79E0 000 cjne A, #4, ROM_79E8 ; Compare Operands and JNE ROM:79E0 ROM:79E3 000 mov DPTR, #5D6h ; Move (Op1 <- Op2) ROM:79E6 000 clr A ; Clear Operand (0) ROM:79E7 000 movx @DPTR, A ; Move from/to external RAM ROM:79E7 ROM:79E8 ROM:79E8 ROM_79E8: ; CODE XREF: ROM_79A9+37j ROM:79E8 000 ljmp ROM_7793 ; Long Jump ROM:79E8 ROM:79E8 ; End of function ROM_79A9 ROM:79E8 ROM:79EB ROM:79EB ; =============== S U B R O U T I N E ======================================= ROM:79EB ROM:79EB ROM:79EB ROM_79EB: ROM:79EB 000 mov DPTR, #530h ; Move (Op1 <- Op2) ROM:79EE 000 movx A, @DPTR ; Move from/to external RAM ROM:79EF 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:79F1 000 movx @DPTR, A ; Move from/to external RAM ROM:79F2 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:79F5 000 movx A, @DPTR ; Move from/to external RAM ROM:79F6 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:79F8 000 movx @DPTR, A ; Move from/to external RAM ROM:79F9 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:79FC 000 movx A, @DPTR ; Move from/to external RAM ROM:79FD 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:79FF 000 movx @DPTR, A ; Move from/to external RAM ROM:7A00 000 mov DPTR, #2285h ; Move (Op1 <- Op2) ROM:7A03 000 clr A ; Clear Operand (0) ROM:7A04 000 movx @DPTR, A ; Move from/to external RAM ROM:7A05 000 lcall interact_over_ports ; Long Subroutine Call ROM:7A05 ROM:7A08 000 ljmp ROM_7793 ; Long Jump ROM:7A08 ROM:7A08 ; End of function ROM_79EB ROM:7A08 ROM:7A0B ROM:7A0B ; =============== S U B R O U T I N E ======================================= ROM:7A0B ROM:7A0B ROM:7A0B ROM_7A0B: ROM:7A0B 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7A0E 000 movx A, @DPTR ; Move from/to external RAM ROM:7A0F 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:7A12 000 cjne A, #1, ROM_7A1B ; Compare Operands and JNE ROM:7A12 ROM:7A15 000 movx A, @DPTR ; Move from/to external RAM ROM:7A16 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:7A18 000 movx @DPTR, A ; Move from/to external RAM ROM:7A19 000 sjmp ROM_7A1F ; Short jump ROM:7A19 ROM:7A1B ; --------------------------------------------------------------------------- ROM:7A1B ROM:7A1B ROM_7A1B: ; CODE XREF: ROM_7A0B+7j ROM:7A1B 000 movx A, @DPTR ; Move from/to external RAM ROM:7A1C 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:7A1E 000 movx @DPTR, A ; Move from/to external RAM ROM:7A1E ROM:7A1F ROM:7A1F ROM_7A1F: ; CODE XREF: ROM_7A0B+Ej ROM:7A1F 000 ljmp ROM_7793 ; Long Jump ROM:7A1F ROM:7A1F ; End of function ROM_7A0B ROM:7A1F ROM:7A22 ROM:7A22 ; =============== S U B R O U T I N E ======================================= ROM:7A22 ROM:7A22 ROM:7A22 ROM_7A22: ROM:7A22 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7A25 000 movx A, @DPTR ; Move from/to external RAM ROM:7A26 000 mov DPTR, #59Eh ; Move (Op1 <- Op2) ROM:7A29 000 movx @DPTR, A ; Move from/to external RAM ROM:7A2A 000 mov DPTR, #2295h ; Move (Op1 <- Op2) ROM:7A2D 000 movx A, @DPTR ; Move from/to external RAM ROM:7A2E 000 mov DPTR, #59Fh ; Move (Op1 <- Op2) ROM:7A31 000 movx @DPTR, A ; Move from/to external RAM ROM:7A32 000 mov DPTR, #2295h ; Move (Op1 <- Op2) ROM:7A35 000 movx A, @DPTR ; Move from/to external RAM ROM:7A36 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:7A39 000 movx @DPTR, A ; Move from/to external RAM ROM:7A3A 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:7A3D 000 movx A, @DPTR ; Move from/to external RAM ROM:7A3E 000 mov DPTR, #16Ah ; Move (Op1 <- Op2) ROM:7A41 000 movx @DPTR, A ; Move from/to external RAM ROM:7A42 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:7A45 000 movx A, @DPTR ; Move from/to external RAM ROM:7A46 000 mov DPTR, #16Bh ; Move (Op1 <- Op2) ROM:7A49 000 movx @DPTR, A ; Move from/to external RAM ROM:7A4A 000 ljmp ROM_7793 ; Long Jump ROM:7A4A ROM:7A4A ; End of function ROM_7A22 ROM:7A4A ROM:7A4D ROM:7A4D ; =============== S U B R O U T I N E ======================================= ROM:7A4D ROM:7A4D ROM:7A4D ROM_7A4D: ROM:7A4D 000 mov DPTR, #6A8h ; Move (Op1 <- Op2) ROM:7A50 000 mov A, #36h ; '6' ; Move (Op1 <- Op2) ROM:7A52 000 movx @DPTR, A ; Move from/to external RAM ROM:7A53 000 inc DPTR ; Increment Operand ROM:7A54 000 mov A, #22h ; '"' ; Move (Op1 <- Op2) ROM:7A56 000 movx @DPTR, A ; Move from/to external RAM ROM:7A57 000 inc DPTR ; Increment Operand ROM:7A58 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:7A5A 000 movx @DPTR, A ; Move from/to external RAM ROM:7A5B 000 inc DPTR ; Increment Operand ROM:7A5C 000 mov A, #4 ; Move (Op1 <- Op2) ROM:7A5E 000 movx @DPTR, A ; Move from/to external RAM ROM:7A5F 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:7A61 000 mov R5, #94h ; 'ö' ; Move (Op1 <- Op2) ROM:7A63 000 clr A ; Clear Operand (0) ROM:7A64 000 mov R7, A ; Move (Op1 <- Op2) ROM:7A65 000 lcall ROM_57A4 ; Long Subroutine Call ROM:7A65 ROM:7A68 000 mov DPTR, #2284h ; Move (Op1 <- Op2) ROM:7A6B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7A6C 000 movx @DPTR, A ; Move from/to external RAM ROM:7A6D 000 ljmp ROM_7793 ; Long Jump ROM:7A6D ROM:7A6D ; End of function ROM_7A4D ROM:7A6D ROM:7A70 ROM:7A70 ; =============== S U B R O U T I N E ======================================= ROM:7A70 ROM:7A70 ROM:7A70 ROM_7A70: ROM:7A70 000 mov DPTR, #69Bh ; Move (Op1 <- Op2) ROM:7A73 000 mov A, #36h ; '6' ; Move (Op1 <- Op2) ROM:7A75 000 movx @DPTR, A ; Move from/to external RAM ROM:7A76 000 inc DPTR ; Increment Operand ROM:7A77 000 mov A, #22h ; '"' ; Move (Op1 <- Op2) ROM:7A79 000 movx @DPTR, A ; Move from/to external RAM ROM:7A7A 000 inc DPTR ; Increment Operand ROM:7A7B 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:7A7D 000 movx @DPTR, A ; Move from/to external RAM ROM:7A7E 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:7A80 000 mov R5, #94h ; 'ö' ; Move (Op1 <- Op2) ROM:7A82 000 clr A ; Clear Operand (0) ROM:7A83 000 mov R7, A ; Move (Op1 <- Op2) ROM:7A84 000 lcall ROM_54C1 ; Long Subroutine Call ROM:7A84 ROM:7A87 000 mov DPTR, #2284h ; Move (Op1 <- Op2) ROM:7A8A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7A8B 000 movx @DPTR, A ; Move from/to external RAM ROM:7A8C 000 ljmp ROM_7793 ; Long Jump ROM:7A8C ROM:7A8C ; End of function ROM_7A70 ROM:7A8C ROM:7A8F ROM:7A8F ; =============== S U B R O U T I N E ======================================= ROM:7A8F ROM:7A8F ROM:7A8F ROM_7A8F: ROM:7A8F 000 mov DPTR, #BRAM_SBT0 ; Battery Packed SRAM byte 0 ROM:7A92 000 movx A, @DPTR ; Move from/to external RAM ROM:7A93 000 mov DPTR, #0DF0h ; Move (Op1 <- Op2) ROM:7A96 000 movx @DPTR, A ; Move from/to external RAM ROM:7A97 000 mov DPTR, #2281h ; Move (Op1 <- Op2) ROM:7A9A 000 movx A, @DPTR ; Move from/to external RAM ROM:7A9B 000 mov DPTR, #0DF1h ; Move (Op1 <- Op2) ROM:7A9E 000 movx @DPTR, A ; Move from/to external RAM ROM:7A9F 000 mov DPTR, #2282h ; Move (Op1 <- Op2) ROM:7AA2 000 movx A, @DPTR ; Move from/to external RAM ROM:7AA3 000 mov DPTR, #0DF2h ; Move (Op1 <- Op2) ROM:7AA6 000 movx @DPTR, A ; Move from/to external RAM ROM:7AA7 000 mov DPTR, #2283h ; Move (Op1 <- Op2) ROM:7AAA 000 movx A, @DPTR ; Move from/to external RAM ROM:7AAB 000 mov DPTR, #0DF3h ; Move (Op1 <- Op2) ROM:7AAE 000 movx @DPTR, A ; Move from/to external RAM ROM:7AAF 000 lcall ROM_B24A ; Long Subroutine Call ROM:7AAF ROM:7AB2 000 ljmp ROM_7793 ; Long Jump ROM:7AB2 ROM:7AB2 ; End of function ROM_7A8F ROM:7AB2 ROM:7AB5 ROM:7AB5 ; =============== S U B R O U T I N E ======================================= ROM:7AB5 ROM:7AB5 ROM:7AB5 ROM_7AB5: ROM:7AB5 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:7AB8 000 movx A, @DPTR ; Move from/to external RAM ROM:7AB9 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:7ABB 000 movx @DPTR, A ; Move from/to external RAM ROM:7ABC 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:7ABF 000 clr A ; Clear Operand (0) ROM:7AC0 000 movx @DPTR, A ; Move from/to external RAM ROM:7AC0 ROM:7AC1 ROM:7AC1 ROM_7AC1: ; CODE XREF: ROM_7AB5+18j ROM:7AC1 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:7AC4 000 movx A, @DPTR ; Move from/to external RAM ROM:7AC5 000 xrl A, #7Fh ; Exclusive OR (op1 ^= op2) ROM:7AC7 000 jz ROM_7ACF ; Jump if Acc is zero ROM:7AC7 ROM:7AC9 000 nop ; No operation ROM:7ACA 000 movx A, @DPTR ; Move from/to external RAM ROM:7ACB 000 inc A ; Increment Operand ROM:7ACC 000 movx @DPTR, A ; Move from/to external RAM ROM:7ACD 000 sjmp ROM_7AC1 ; Short jump ROM:7ACD ROM:7ACF ; --------------------------------------------------------------------------- ROM:7ACF ROM:7ACF ROM_7ACF: ; CODE XREF: ROM_7AB5+12j ROM:7ACF 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:7AD2 000 movx A, @DPTR ; Move from/to external RAM ROM:7AD3 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:7AD5 000 movx @DPTR, A ; Move from/to external RAM ROM:7AD6 000 ljmp ROM_7793 ; Long Jump ROM:7AD6 ROM:7AD6 ; End of function ROM_7AB5 ROM:7AD6 ROM:7AD9 ROM:7AD9 ; =============== S U B R O U T I N E ======================================= ROM:7AD9 ROM:7AD9 ROM:7AD9 ROM_7AD9: ROM:7AD9 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7ADC 000 movx A, @DPTR ; Move from/to external RAM ROM:7ADD 000 setb C ; Set Direct Bit ROM:7ADE 000 subb A, #7 ; Subtract Second Operand from Acc with Borrow ROM:7AE0 000 jc ROM_7AE5 ; Jump if Carry is set ROM:7AE0 ROM:7AE2 000 mov A, #7 ; Move (Op1 <- Op2) ROM:7AE4 000 movx @DPTR, A ; Move from/to external RAM ROM:7AE4 ROM:7AE5 ROM:7AE5 ROM_7AE5: ; CODE XREF: ROM_7AD9+7j ROM:7AE5 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7AE8 000 movx A, @DPTR ; Move from/to external RAM ROM:7AE9 000 mov DPTR, #130h ; Move (Op1 <- Op2) ROM:7AEC 000 movx @DPTR, A ; Move from/to external RAM ROM:7AED 000 ljmp ROM_7793 ; Long Jump ROM:7AED ROM:7AED ; End of function ROM_7AD9 ROM:7AED ROM:7AF0 ROM:7AF0 ; =============== S U B R O U T I N E ======================================= ROM:7AF0 ROM:7AF0 ROM:7AF0 ROM_7AF0: ROM:7AF0 000 mov DPTR, #GPIO_GPDRJ ; Port J Data Register ROM:7AF3 000 movx A, @DPTR ; Move from/to external RAM ROM:7AF4 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7AF6 000 movx @DPTR, A ; Move from/to external RAM ROM:7AF7 000 ljmp ROM_7793 ; Long Jump ROM:7AF7 ROM:7AF7 ; End of function ROM_7AF0 ROM:7AF7 ROM:7AFA ROM:7AFA ; =============== S U B R O U T I N E ======================================= ROM:7AFA ROM:7AFA ROM:7AFA ROM_7AFA: ROM:7AFA 000 lcall interact_over_ports ; Long Subroutine Call ROM:7AFA ROM:7AFD 000 lcall ROM_4EEC ; Long Subroutine Call ROM:7AFD ROM:7B00 000 ljmp ROM_7793 ; Long Jump ROM:7B00 ROM:7B00 ; End of function ROM_7AFA ROM:7B00 ROM:7B03 ROM:7B03 ; =============== S U B R O U T I N E ======================================= ROM:7B03 ROM:7B03 ROM:7B03 ROM_7B03: ROM:7B03 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:7B06 000 movx A, @DPTR ; Move from/to external RAM ROM:7B07 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:7B09 000 movx @DPTR, A ; Move from/to external RAM ROM:7B0A 000 mov DPTR, #GPIO_GPCRA1 ; Port Control n Registers ROM:7B0D 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:7B0F 000 movx @DPTR, A ; Move from/to external RAM ROM:7B10 000 mov DPTR, #1617h ; Move (Op1 <- Op2) ROM:7B13 000 movx @DPTR, A ; Move from/to external RAM ROM:7B14 000 inc DPTR ; Increment Operand ROM:7B15 000 movx @DPTR, A ; Move from/to external RAM ROM:7B16 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7B19 000 movx A, @DPTR ; Move from/to external RAM ROM:7B1A 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:7B1C 000 movx @DPTR, A ; Move from/to external RAM ROM:7B1D 000 movx A, @DPTR ; Move from/to external RAM ROM:7B1E 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:7B20 000 movx @DPTR, A ; Move from/to external RAM ROM:7B21 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:7B24 000 movx A, @DPTR ; Move from/to external RAM ROM:7B25 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:7B27 000 movx @DPTR, A ; Move from/to external RAM ROM:7B28 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7B2B 000 movx A, @DPTR ; Move from/to external RAM ROM:7B2C 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:7B2E 000 movx @DPTR, A ; Move from/to external RAM ROM:7B2F 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:7B32 000 movx A, @DPTR ; Move from/to external RAM ROM:7B33 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:7B35 000 movx @DPTR, A ; Move from/to external RAM ROM:7B36 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7B39 000 movx A, @DPTR ; Move from/to external RAM ROM:7B3A 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:7B3C 000 movx @DPTR, A ; Move from/to external RAM ROM:7B3D 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:7B40 000 movx A, @DPTR ; Move from/to external RAM ROM:7B41 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:7B43 000 movx @DPTR, A ; Move from/to external RAM ROM:7B44 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7B47 000 movx A, @DPTR ; Move from/to external RAM ROM:7B48 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:7B4A 000 movx @DPTR, A ; Move from/to external RAM ROM:7B4B 000 ljmp ROM_7793 ; Long Jump ROM:7B4B ROM:7B4B ; End of function ROM_7B03 ROM:7B4B ROM:7B4E ROM:7B4E ; =============== S U B R O U T I N E ======================================= ROM:7B4E ROM:7B4E ROM:7B4E ROM_7B4E: ROM:7B4E 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:7B51 000 movx A, @DPTR ; Move from/to external RAM ROM:7B52 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:7B54 000 movx @DPTR, A ; Move from/to external RAM ROM:7B55 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7B58 000 movx A, @DPTR ; Move from/to external RAM ROM:7B59 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:7B5B 000 movx @DPTR, A ; Move from/to external RAM ROM:7B5C 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:7B5F 000 movx A, @DPTR ; Move from/to external RAM ROM:7B60 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7B62 000 movx @DPTR, A ; Move from/to external RAM ROM:7B63 000 ljmp ROM_7793 ; Long Jump ROM:7B63 ROM:7B63 ; End of function ROM_7B4E ROM:7B63 ROM:7B66 ROM:7B66 ; =============== S U B R O U T I N E ======================================= ROM:7B66 ROM:7B66 ROM:7B66 ROM_7B66: ROM:7B66 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:7B69 000 movx A, @DPTR ; Move from/to external RAM ROM:7B6A 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:7B6C 000 movx @DPTR, A ; Move from/to external RAM ROM:7B6D 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7B70 000 movx A, @DPTR ; Move from/to external RAM ROM:7B71 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:7B73 000 movx @DPTR, A ; Move from/to external RAM ROM:7B74 000 movx A, @DPTR ; Move from/to external RAM ROM:7B75 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:7B77 000 movx @DPTR, A ; Move from/to external RAM ROM:7B78 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:7B7B 000 movx A, @DPTR ; Move from/to external RAM ROM:7B7C 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:7B7E 000 movx @DPTR, A ; Move from/to external RAM ROM:7B7F 000 mov DPTR, #GPIO_GPCRA1 ; Port Control n Registers ROM:7B82 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:7B84 000 movx @DPTR, A ; Move from/to external RAM ROM:7B85 000 mov DPTR, #1617h ; Move (Op1 <- Op2) ROM:7B88 000 movx @DPTR, A ; Move from/to external RAM ROM:7B89 000 inc DPTR ; Increment Operand ROM:7B8A 000 movx @DPTR, A ; Move from/to external RAM ROM:7B8B 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7B8E 000 movx A, @DPTR ; Move from/to external RAM ROM:7B8F 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:7B91 000 movx @DPTR, A ; Move from/to external RAM ROM:7B92 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:7B95 000 movx A, @DPTR ; Move from/to external RAM ROM:7B96 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:7B98 000 movx @DPTR, A ; Move from/to external RAM ROM:7B99 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7B9C 000 movx A, @DPTR ; Move from/to external RAM ROM:7B9D 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:7B9F 000 movx @DPTR, A ; Move from/to external RAM ROM:7BA0 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:7BA3 000 movx A, @DPTR ; Move from/to external RAM ROM:7BA4 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7BA6 000 movx @DPTR, A ; Move from/to external RAM ROM:7BA7 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7BAA 000 movx A, @DPTR ; Move from/to external RAM ROM:7BAB 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:7BAD 000 movx @DPTR, A ; Move from/to external RAM ROM:7BAE 000 movx A, @DPTR ; Move from/to external RAM ROM:7BAF 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7BB1 000 movx @DPTR, A ; Move from/to external RAM ROM:7BB2 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:7BB5 000 movx A, @DPTR ; Move from/to external RAM ROM:7BB6 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:7BB8 000 movx @DPTR, A ; Move from/to external RAM ROM:7BB9 000 ljmp ROM_7793 ; Long Jump ROM:7BB9 ROM:7BB9 ; End of function ROM_7B66 ROM:7BB9 ROM:7BBC ROM:7BBC ; =============== S U B R O U T I N E ======================================= ROM:7BBC ROM:7BBC ROM:7BBC ROM_7BBC: ROM:7BBC 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:7BBF 000 movx A, @DPTR ; Move from/to external RAM ROM:7BC0 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:7BC2 000 movx @DPTR, A ; Move from/to external RAM ROM:7BC3 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:7BC6 000 movx A, @DPTR ; Move from/to external RAM ROM:7BC7 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:7BC9 000 movx @DPTR, A ; Move from/to external RAM ROM:7BCA 000 movx A, @DPTR ; Move from/to external RAM ROM:7BCB 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:7BCD 000 movx @DPTR, A ; Move from/to external RAM ROM:7BCE 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:7BD1 000 movx A, @DPTR ; Move from/to external RAM ROM:7BD2 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:7BD4 000 movx @DPTR, A ; Move from/to external RAM ROM:7BD5 000 mov DPTR, #GPIO_GPCRA1 ; Port Control n Registers ROM:7BD8 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:7BDA 000 movx @DPTR, A ; Move from/to external RAM ROM:7BDB 000 mov DPTR, #1617h ; Move (Op1 <- Op2) ROM:7BDE 000 movx @DPTR, A ; Move from/to external RAM ROM:7BDF 000 inc DPTR ; Increment Operand ROM:7BE0 000 movx @DPTR, A ; Move from/to external RAM ROM:7BE1 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:7BE4 000 movx A, @DPTR ; Move from/to external RAM ROM:7BE5 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:7BE7 000 movx @DPTR, A ; Move from/to external RAM ROM:7BE8 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:7BEB 000 mov A, #1 ; Move (Op1 <- Op2) ROM:7BED 000 movx @DPTR, A ; Move from/to external RAM ROM:7BEE 000 lcall ROM_9120 ; Long Subroutine Call ROM:7BEE ROM:7BF1 000 ljmp ROM_7793 ; Long Jump ROM:7BF1 ROM:7BF1 ; End of function ROM_7BBC ROM:7BF1 ROM:7BF4 ROM:7BF4 ; =============== S U B R O U T I N E ======================================= ROM:7BF4 ROM:7BF4 ROM:7BF4 ROM_7BF4: ROM:7BF4 000 mov DPTR, #540h ; Move (Op1 <- Op2) ROM:7BF7 000 movx A, @DPTR ; Move from/to external RAM ROM:7BF8 000 mov DPTR, #BRAM_SBT0 ; Battery Packed SRAM byte 0 ROM:7BFB 000 movx @DPTR, A ; Move from/to external RAM ROM:7BFC 000 movx A, @DPTR ; Move from/to external RAM ROM:7BFD 000 rlc A ; Rotate Acc left through Carry ROM:7BFE 000 rlc A ; Rotate Acc left through Carry ROM:7BFF 000 rlc A ; Rotate Acc left through Carry ROM:7C00 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:7C02 000 add A, TL0 ; Timer 0 Low Byte ROM:7C04 000 inc DPTR ; Increment Operand ROM:7C05 000 movx @DPTR, A ; Move from/to external RAM ROM:7C06 000 movx A, @DPTR ; Move from/to external RAM ROM:7C07 000 rlc A ; Rotate Acc left through Carry ROM:7C08 000 rlc A ; Rotate Acc left through Carry ROM:7C09 000 rlc A ; Rotate Acc left through Carry ROM:7C0A 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:7C0C 000 add A, TL0 ; Timer 0 Low Byte ROM:7C0E 000 inc DPTR ; Increment Operand ROM:7C0F 000 movx @DPTR, A ; Move from/to external RAM ROM:7C10 000 movx A, @DPTR ; Move from/to external RAM ROM:7C11 000 mov R7, A ; Move (Op1 <- Op2) ROM:7C12 000 rlc A ; Rotate Acc left through Carry ROM:7C13 000 rlc A ; Rotate Acc left through Carry ROM:7C14 000 rlc A ; Rotate Acc left through Carry ROM:7C15 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:7C17 000 add A, TL0 ; Timer 0 Low Byte ROM:7C19 000 inc DPTR ; Increment Operand ROM:7C1A 000 movx @DPTR, A ; Move from/to external RAM ROM:7C1B 000 ljmp ROM_7793 ; Long Jump ROM:7C1B ROM:7C1B ; End of function ROM_7BF4 ROM:7C1B ROM:7C1E ROM:7C1E ; =============== S U B R O U T I N E ======================================= ROM:7C1E ROM:7C1E ROM:7C1E ROM_7C1E: ROM:7C1E 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:7C21 000 movx A, @DPTR ; Move from/to external RAM ROM:7C22 000 add A, #0 ; Add Second Operand to Acc ROM:7C24 000 mov R7, A ; Move (Op1 <- Op2) ROM:7C25 000 clr A ; Clear Operand (0) ROM:7C26 000 addc A, #1 ; Add Second Operand to Acc with carry ROM:7C28 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:7C2A 000 mov DP0H, A ; Data Pointer High Byte ROM:7C2C 000 movx A, @DPTR ; Move from/to external RAM ROM:7C2D 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7C30 000 movx @DPTR, A ; Move from/to external RAM ROM:7C31 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:7C34 000 movx A, @DPTR ; Move from/to external RAM ROM:7C35 000 add A, #1 ; Add Second Operand to Acc ROM:7C37 000 mov R7, A ; Move (Op1 <- Op2) ROM:7C38 000 clr A ; Clear Operand (0) ROM:7C39 000 addc A, #1 ; Add Second Operand to Acc with carry ROM:7C3B 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:7C3D 000 mov DP0H, A ; Data Pointer High Byte ROM:7C3F 000 movx A, @DPTR ; Move from/to external RAM ROM:7C40 000 mov DPTR, #2295h ; Move (Op1 <- Op2) ROM:7C43 000 movx @DPTR, A ; Move from/to external RAM ROM:7C44 000 ljmp ROM_7793 ; Long Jump ROM:7C44 ROM:7C44 ; End of function ROM_7C1E ROM:7C44 ROM:7C47 ROM:7C47 ; =============== S U B R O U T I N E ======================================= ROM:7C47 ROM:7C47 ROM:7C47 ROM_7C47: ROM:7C47 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7C4A 000 movx A, @DPTR ; Move from/to external RAM ROM:7C4B 000 mov R7, A ; Move (Op1 <- Op2) ROM:7C4C 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:7C4F 000 movx A, @DPTR ; Move from/to external RAM ROM:7C50 000 add A, #0 ; Add Second Operand to Acc ROM:7C52 000 mov R5, A ; Move (Op1 <- Op2) ROM:7C53 000 clr A ; Clear Operand (0) ROM:7C54 000 addc A, #1 ; Add Second Operand to Acc with carry ROM:7C56 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:7C58 000 mov DP0H, A ; Data Pointer High Byte ROM:7C5A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7C5B 000 movx @DPTR, A ; Move from/to external RAM ROM:7C5C 000 ljmp ROM_7793 ; Long Jump ROM:7C5C ROM:7C5C ; End of function ROM_7C47 ROM:7C5C ROM:7C5F ROM:7C5F ; =============== S U B R O U T I N E ======================================= ROM:7C5F ROM:7C5F ROM:7C5F ROM_7C5F: ROM:7C5F 000 mov DPTR, #2293h ; Move (Op1 <- Op2) ROM:7C62 000 movx A, @DPTR ; Move from/to external RAM ROM:7C63 000 mov R6, A ; Move (Op1 <- Op2) ROM:7C64 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:7C67 000 movx A, @DPTR ; Move from/to external RAM ROM:7C68 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:7C6A 000 add A, #0 ; Add Second Operand to Acc ROM:7C6C 000 mov R7, A ; Move (Op1 <- Op2) ROM:7C6D 000 mov A, R4 ; Move (Op1 <- Op2) ROM:7C6E 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:7C6F 000 mov DPTR, #6BFh ; Move (Op1 <- Op2) ROM:7C72 000 movx @DPTR, A ; Move from/to external RAM ROM:7C73 000 inc DPTR ; Increment Operand ROM:7C74 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7C75 000 movx @DPTR, A ; Move from/to external RAM ROM:7C76 000 mov DPTR, #6BFh ; Move (Op1 <- Op2) ROM:7C79 000 movx A, @DPTR ; Move from/to external RAM ROM:7C7A 000 mov R6, A ; Move (Op1 <- Op2) ROM:7C7B 000 inc DPTR ; Increment Operand ROM:7C7C 000 movx A, @DPTR ; Move from/to external RAM ROM:7C7D 000 mov DP0L, A ; Data Pointer Low Byte ROM:7C7F 000 mov DP0H, R6 ; Data Pointer High Byte ROM:7C81 000 movx A, @DPTR ; Move from/to external RAM ROM:7C82 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7C85 000 movx @DPTR, A ; Move from/to external RAM ROM:7C86 000 mov DPTR, #6C0h ; Move (Op1 <- Op2) ROM:7C89 000 movx A, @DPTR ; Move from/to external RAM ROM:7C8A 000 add A, #1 ; Add Second Operand to Acc ROM:7C8C 000 mov R7, A ; Move (Op1 <- Op2) ROM:7C8D 000 mov DPTR, #6BFh ; Move (Op1 <- Op2) ROM:7C90 000 movx A, @DPTR ; Move from/to external RAM ROM:7C91 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:7C93 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:7C95 000 mov DP0H, A ; Data Pointer High Byte ROM:7C97 000 movx A, @DPTR ; Move from/to external RAM ROM:7C98 000 mov DPTR, #2295h ; Move (Op1 <- Op2) ROM:7C9B 000 movx @DPTR, A ; Move from/to external RAM ROM:7C9C 000 ljmp ROM_7793 ; Long Jump ROM:7C9C ROM:7C9C ; End of function ROM_7C5F ROM:7C9C ROM:7C9F ROM:7C9F ; =============== S U B R O U T I N E ======================================= ROM:7C9F ROM:7C9F ROM:7C9F ROM_7C9F: ROM:7C9F 000 mov DPTR, #2293h ; Move (Op1 <- Op2) ROM:7CA2 000 movx A, @DPTR ; Move from/to external RAM ROM:7CA3 000 mov R6, A ; Move (Op1 <- Op2) ROM:7CA4 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:7CA7 000 movx A, @DPTR ; Move from/to external RAM ROM:7CA8 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:7CAA 000 add A, #0 ; Add Second Operand to Acc ROM:7CAC 000 mov R7, A ; Move (Op1 <- Op2) ROM:7CAD 000 mov A, R4 ; Move (Op1 <- Op2) ROM:7CAE 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:7CAF 000 mov DPTR, #6C1h ; Move (Op1 <- Op2) ROM:7CB2 000 movx @DPTR, A ; Move from/to external RAM ROM:7CB3 000 inc DPTR ; Increment Operand ROM:7CB4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7CB5 000 movx @DPTR, A ; Move from/to external RAM ROM:7CB6 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7CB9 000 movx A, @DPTR ; Move from/to external RAM ROM:7CBA 000 mov R7, A ; Move (Op1 <- Op2) ROM:7CBB 000 mov DPTR, #6C1h ; Move (Op1 <- Op2) ROM:7CBE 000 movx A, @DPTR ; Move from/to external RAM ROM:7CBF 000 mov R4, A ; Move (Op1 <- Op2) ROM:7CC0 000 inc DPTR ; Increment Operand ROM:7CC1 000 movx A, @DPTR ; Move from/to external RAM ROM:7CC2 000 mov DP0L, A ; Data Pointer Low Byte ROM:7CC4 000 mov DP0H, R4 ; Data Pointer High Byte ROM:7CC6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7CC7 000 movx @DPTR, A ; Move from/to external RAM ROM:7CC8 000 ljmp ROM_7793 ; Long Jump ROM:7CC8 ROM:7CC8 ; End of function ROM_7C9F ROM:7CC8 ROM:7CCB ROM:7CCB ; =============== S U B R O U T I N E ======================================= ROM:7CCB ROM:7CCB ROM:7CCB ROM_7CCB: ROM:7CCB 000 mov DPTR, #2293h ; Move (Op1 <- Op2) ROM:7CCE 000 movx A, @DPTR ; Move from/to external RAM ROM:7CCF 000 mov R6, A ; Move (Op1 <- Op2) ROM:7CD0 000 mov DPTR, #2292h ; Move (Op1 <- Op2) ROM:7CD3 000 movx A, @DPTR ; Move from/to external RAM ROM:7CD4 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:7CD6 000 add A, #0 ; Add Second Operand to Acc ROM:7CD8 000 mov R7, A ; Move (Op1 <- Op2) ROM:7CD9 000 mov A, R4 ; Move (Op1 <- Op2) ROM:7CDA 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:7CDB 000 mov DPTR, #6C3h ; Move (Op1 <- Op2) ROM:7CDE 000 movx @DPTR, A ; Move from/to external RAM ROM:7CDF 000 inc DPTR ; Increment Operand ROM:7CE0 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7CE1 000 movx @DPTR, A ; Move from/to external RAM ROM:7CE2 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7CE5 000 movx A, @DPTR ; Move from/to external RAM ROM:7CE6 000 mov R7, A ; Move (Op1 <- Op2) ROM:7CE7 000 mov DPTR, #6C3h ; Move (Op1 <- Op2) ROM:7CEA 000 movx A, @DPTR ; Move from/to external RAM ROM:7CEB 000 mov R4, A ; Move (Op1 <- Op2) ROM:7CEC 000 inc DPTR ; Increment Operand ROM:7CED 000 movx A, @DPTR ; Move from/to external RAM ROM:7CEE 000 mov DP0L, A ; Data Pointer Low Byte ROM:7CF0 000 mov DP0H, R4 ; Data Pointer High Byte ROM:7CF2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7CF3 000 movx @DPTR, A ; Move from/to external RAM ROM:7CF4 000 mov DPTR, #2295h ; Move (Op1 <- Op2) ROM:7CF7 000 movx A, @DPTR ; Move from/to external RAM ROM:7CF8 000 mov R7, A ; Move (Op1 <- Op2) ROM:7CF9 000 mov DPTR, #6C4h ; Move (Op1 <- Op2) ROM:7CFC 000 movx A, @DPTR ; Move from/to external RAM ROM:7CFD 000 add A, #1 ; Add Second Operand to Acc ROM:7CFF 000 mov R5, A ; Move (Op1 <- Op2) ROM:7D00 000 mov DPTR, #6C3h ; Move (Op1 <- Op2) ROM:7D03 000 movx A, @DPTR ; Move from/to external RAM ROM:7D04 000 addc A, #0 ; Add Second Operand to Acc with carry ROM:7D06 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:7D08 000 mov DP0H, A ; Data Pointer High Byte ROM:7D0A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:7D0B 000 movx @DPTR, A ; Move from/to external RAM ROM:7D0C 000 ljmp ROM_7793 ; Long Jump ROM:7D0C ROM:7D0C ; End of function ROM_7CCB ROM:7D0C ROM:7D0F ROM:7D0F ; =============== S U B R O U T I N E ======================================= ROM:7D0F ROM:7D0F ROM:7D0F ROM_7D0F: ROM:7D0F 000 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:7D11 000 lcall ROM_3F32 ; Long Subroutine Call ROM:7D11 ROM:7D14 000 mov R7, #1Fh ; Move (Op1 <- Op2) ROM:7D16 000 lcall ROM_3F32 ; Long Subroutine Call ROM:7D16 ROM:7D19 000 mov R7, #4Dh ; 'M' ; Move (Op1 <- Op2) ROM:7D1B 000 lcall ROM_3F32 ; Long Subroutine Call ROM:7D1B ROM:7D1E 000 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:7D20 000 lcall ROM_3F32 ; Long Subroutine Call ROM:7D20 ROM:7D23 000 mov R7, #4Dh ; 'M' ; Move (Op1 <- Op2) ROM:7D25 000 lcall ROM_3F32 ; Long Subroutine Call ROM:7D25 ROM:7D28 000 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:7D2A 000 lcall ROM_3F32 ; Long Subroutine Call ROM:7D2A ROM:7D2D 000 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:7D2F 000 lcall ROM_3F32 ; Long Subroutine Call ROM:7D2F ROM:7D32 000 mov R7, #1Fh ; Move (Op1 <- Op2) ROM:7D34 000 lcall ROM_3F32 ; Long Subroutine Call ROM:7D34 ROM:7D37 000 setb RAM_26.2 ; Set Direct Bit ROM:7D39 000 ljmp ROM_7793 ; Long Jump ROM:7D39 ROM:7D39 ; End of function ROM_7D0F ROM:7D39 ROM:7D3C ROM:7D3C ; =============== S U B R O U T I N E ======================================= ROM:7D3C ROM:7D3C ROM:7D3C ROM_7D3C: ROM:7D3C 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7D3F 000 movx A, @DPTR ; Move from/to external RAM ROM:7D40 000 mov DPTR, #503h ; Move (Op1 <- Op2) ROM:7D43 000 jnb ACC.3, ROM_7D4C ; Accumulator ROM:7D43 ROM:7D46 000 movx A, @DPTR ; Move from/to external RAM ROM:7D47 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:7D49 000 movx @DPTR, A ; Move from/to external RAM ROM:7D4A 000 sjmp ROM_7D50 ; Short jump ROM:7D4A ROM:7D4C ; --------------------------------------------------------------------------- ROM:7D4C ROM:7D4C ROM_7D4C: ; CODE XREF: ROM_7D3C+7j ROM:7D4C 000 movx A, @DPTR ; Move from/to external RAM ROM:7D4D 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:7D4F 000 movx @DPTR, A ; Move from/to external RAM ROM:7D4F ROM:7D50 ROM:7D50 ROM_7D50: ; CODE XREF: ROM_7D3C+Ej ROM:7D50 000 mov DPTR, #22B5h ; Move (Op1 <- Op2) ROM:7D53 000 movx A, @DPTR ; Move from/to external RAM ROM:7D54 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:7D57 000 jb ACC.0, ROM_7D60 ; Accumulator ROM:7D57 ROM:7D5A 000 movx A, @DPTR ; Move from/to external RAM ROM:7D5B 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:7D5D 000 movx @DPTR, A ; Move from/to external RAM ROM:7D5E 000 sjmp ROM_7D64 ; Short jump ROM:7D5E ROM:7D60 ; --------------------------------------------------------------------------- ROM:7D60 ROM:7D60 ROM_7D60: ; CODE XREF: ROM_7D3C+1Bj ROM:7D60 000 movx A, @DPTR ; Move from/to external RAM ROM:7D61 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:7D63 000 movx @DPTR, A ; Move from/to external RAM ROM:7D63 ROM:7D64 ROM:7D64 ROM_7D64: ; CODE XREF: ROM_7D3C+22j ROM:7D64 000 mov DPTR, #59Fh ; Move (Op1 <- Op2) ROM:7D67 000 movx A, @DPTR ; Move from/to external RAM ROM:7D68 000 mov DPTR, #59Dh ; Move (Op1 <- Op2) ROM:7D6B 000 movx @DPTR, A ; Move from/to external RAM ROM:7D6C 000 ljmp ROM_7793 ; Long Jump ROM:7D6C ROM:7D6C ; End of function ROM_7D3C ROM:7D6C ROM:7D6F ROM:7D6F ; =============== S U B R O U T I N E ======================================= ROM:7D6F ROM:7D6F ROM:7D6F ROM_7D6F: ROM:7D6F 000 mov DPTR, #503h ; Move (Op1 <- Op2) ROM:7D72 000 movx A, @DPTR ; Move from/to external RAM ROM:7D73 000 anl A, #8 ; Logical AND (op1 &= op2) ROM:7D75 000 mov DPTR, #2294h ; Move (Op1 <- Op2) ROM:7D78 000 movx @DPTR, A ; Move from/to external RAM ROM:7D79 000 ljmp ROM_7793 ; Long Jump ROM:7D79 ROM:7D79 ; End of function ROM_7D6F ROM:7D79 ROM:7D7C ROM:7D7C ; =============== S U B R O U T I N E ======================================= ROM:7D7C ROM:7D7C ROM:7D7C ROM_7D7C: ; CODE XREF: ROM_6198+25p ROM:7D7C 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7D7F 000 movx A, @DPTR ; Move from/to external RAM ROM:7D80 000 jnz ROM_7D85 ; Jump if Acc is not zero ROM:7D80 ROM:7D82 000 ljmp ROM_7E24 ; Long Jump ROM:7D82 ROM:7D85 ; --------------------------------------------------------------------------- ROM:7D85 ROM:7D85 ROM_7D85: ; CODE XREF: ROM_7D7C+4j ROM:7D85 000 mov R7, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:7D87 000 lcall ROM_11E6 ; Long Subroutine Call ROM:7D87 ROM:7D8A 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7D8D 000 movx A, @DPTR ; Move from/to external RAM ROM:7D8E 000 mov R7, A ; Move (Op1 <- Op2) ROM:7D8F 000 lcall ROM_11E6 ; Long Subroutine Call ROM:7D8F ROM:7D92 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7D95 000 movx A, @DPTR ; Move from/to external RAM ROM:7D96 000 swap A ; Swap nibbles of Acc ROM:7D97 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7D99 000 mov R7, A ; Move (Op1 <- Op2) ROM:7D9A 000 dec A ; Decrement Operand ROM:7D9B 000 jz ROM_7DC0 ; Jump if Acc is zero ROM:7D9B ROM:7D9D 000 dec A ; Decrement Operand ROM:7D9E 000 jz ROM_7DD1 ; Jump if Acc is zero ROM:7D9E ROM:7DA0 000 add A, #0FEh ; '¦' ; Add Second Operand to Acc ROM:7DA2 000 jz ROM_7DE2 ; Jump if Acc is zero ROM:7DA2 ROM:7DA4 000 dec A ; Decrement Operand ROM:7DA5 000 jz ROM_7DF3 ; Jump if Acc is zero ROM:7DA5 ROM:7DA7 000 add A, #0FCh ; 'n' ; Add Second Operand to Acc ROM:7DA9 000 jz ROM_7E04 ; Jump if Acc is zero ROM:7DA9 ROM:7DAB 000 add A, #9 ; Add Second Operand to Acc ROM:7DAD 000 jnz ROM_7E21 ; Jump if Acc is not zero ROM:7DAD ROM:7DAF 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7DB2 000 movx A, @DPTR ; Move from/to external RAM ROM:7DB3 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7DB5 000 add A, ACC ; Accumulator ROM:7DB7 000 add A, #61h ; 'a' ; Add Second Operand to Acc ROM:7DB9 000 mov DP0L, A ; Data Pointer Low Byte ROM:7DBB 000 clr A ; Clear Operand (0) ROM:7DBC 000 addc A, #7Fh ; '' ; Add Second Operand to Acc with carry ROM:7DBE 000 sjmp ROM_7E13 ; Short jump ROM:7DBE ROM:7DC0 ; --------------------------------------------------------------------------- ROM:7DC0 ROM:7DC0 ROM_7DC0: ; CODE XREF: ROM_7D7C+1Fj ROM:7DC0 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7DC3 000 movx A, @DPTR ; Move from/to external RAM ROM:7DC4 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7DC6 000 add A, ACC ; Accumulator ROM:7DC8 000 add A, #81h ; 'ü' ; Add Second Operand to Acc ROM:7DCA 000 mov DP0L, A ; Data Pointer Low Byte ROM:7DCC 000 clr A ; Clear Operand (0) ROM:7DCD 000 addc A, #7Fh ; '' ; Add Second Operand to Acc with carry ROM:7DCF 000 sjmp ROM_7E13 ; Short jump ROM:7DCF ROM:7DD1 ; --------------------------------------------------------------------------- ROM:7DD1 ROM:7DD1 ROM_7DD1: ; CODE XREF: ROM_7D7C+22j ROM:7DD1 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7DD4 000 movx A, @DPTR ; Move from/to external RAM ROM:7DD5 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7DD7 000 add A, ACC ; Accumulator ROM:7DD9 000 add A, #0A1h ; 'í' ; Add Second Operand to Acc ROM:7DDB 000 mov DP0L, A ; Data Pointer Low Byte ROM:7DDD 000 clr A ; Clear Operand (0) ROM:7DDE 000 addc A, #7Fh ; '' ; Add Second Operand to Acc with carry ROM:7DE0 000 sjmp ROM_7E13 ; Short jump ROM:7DE0 ROM:7DE2 ; --------------------------------------------------------------------------- ROM:7DE2 ROM:7DE2 ROM_7DE2: ; CODE XREF: ROM_7D7C+26j ROM:7DE2 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7DE5 000 movx A, @DPTR ; Move from/to external RAM ROM:7DE6 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7DE8 000 add A, ACC ; Accumulator ROM:7DEA 000 add A, #0C1h ; '-' ; Add Second Operand to Acc ROM:7DEC 000 mov DP0L, A ; Data Pointer Low Byte ROM:7DEE 000 clr A ; Clear Operand (0) ROM:7DEF 000 addc A, #7Fh ; '' ; Add Second Operand to Acc with carry ROM:7DF1 000 sjmp ROM_7E13 ; Short jump ROM:7DF1 ROM:7DF3 ; --------------------------------------------------------------------------- ROM:7DF3 ROM:7DF3 ROM_7DF3: ; CODE XREF: ROM_7D7C+29j ROM:7DF3 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7DF6 000 movx A, @DPTR ; Move from/to external RAM ROM:7DF7 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7DF9 000 add A, ACC ; Accumulator ROM:7DFB 000 add A, #0E1h ; 'ß' ; Add Second Operand to Acc ROM:7DFD 000 mov DP0L, A ; Data Pointer Low Byte ROM:7DFF 000 clr A ; Clear Operand (0) ROM:7E00 000 addc A, #7Fh ; '' ; Add Second Operand to Acc with carry ROM:7E02 000 sjmp ROM_7E13 ; Short jump ROM:7E02 ROM:7E04 ; --------------------------------------------------------------------------- ROM:7E04 ROM:7E04 ROM_7E04: ; CODE XREF: ROM_7D7C+2Dj ROM:7E04 000 mov DPTR, #2291h ; Move (Op1 <- Op2) ROM:7E07 000 movx A, @DPTR ; Move from/to external RAM ROM:7E08 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7E0A 000 add A, ACC ; Accumulator ROM:7E0C 000 add A, #1 ; Add Second Operand to Acc ROM:7E0E 000 mov DP0L, A ; Data Pointer Low Byte ROM:7E10 000 clr A ; Clear Operand (0) ROM:7E11 000 addc A, #80h ; 'Ç' ; Add Second Operand to Acc with carry ROM:7E11 ROM:7E13 ROM:7E13 ROM_7E13: ; CODE XREF: ROM_7D7C+42j ROM:7E13 ; ROM_7D7C+53j ... ROM:7E13 000 mov DP0H, A ; Data Pointer High Byte ROM:7E15 000 clr A ; Clear Operand (0) ROM:7E16 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:7E17 000 mov R6, A ; Move (Op1 <- Op2) ROM:7E18 000 mov A, #1 ; Move (Op1 <- Op2) ROM:7E1A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:7E1B 000 mov R2, RAM_6 ; Move (Op1 <- Op2) ROM:7E1D 000 mov R1, A ; Move (Op1 <- Op2) ROM:7E1E 000 lcall jump_to_R2R1 ; jump to pair R2:R1 ROM:7E1E ROM:7E21 ROM:7E21 ROM_7E21: ; CODE XREF: ROM_7D7C+31j ROM:7E21 000 lcall ROM_7793 ; Long Subroutine Call ROM:7E21 ROM:7E24 ROM:7E24 ROM_7E24: ; CODE XREF: ROM_7D7C+6j ROM:7E24 000 ret ; Return from subroutine ROM:7E24 ROM:7E24 ; End of function ROM_7D7C ROM:7E24 ROM:7E25 ROM:7E25 ; =============== S U B R O U T I N E ======================================= ROM:7E25 ROM:7E25 ROM:7E25 ROM_7E25: ; CODE XREF: ROM_6198+28p ROM:7E25 ; ROM_8442+C7p ... ROM:7E25 000 mov DPTR, #22B5h ; Move (Op1 <- Op2) ROM:7E28 000 movx A, @DPTR ; Move from/to external RAM ROM:7E29 000 anl A, #0CFh ; Logical AND (op1 &= op2) ROM:7E2B 000 movx @DPTR, A ; Move from/to external RAM ROM:7E2C 000 mov DPTR, #141h ; Move (Op1 <- Op2) ROM:7E2F 000 movx A, @DPTR ; Move from/to external RAM ROM:7E30 000 cjne A, #41h, ROM_7E3A ; 'A' ; Compare Operands and JNE ROM:7E30 ROM:7E33 000 mov DPTR, #22B5h ; Move (Op1 <- Op2) ROM:7E36 000 movx A, @DPTR ; Move from/to external RAM ROM:7E37 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:7E39 000 movx @DPTR, A ; Move from/to external RAM ROM:7E39 ROM:7E3A ROM:7E3A ROM_7E3A: ; CODE XREF: ROM_7E25+Bj ROM:7E3A 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:7E3D 000 movx A, @DPTR ; Move from/to external RAM ROM:7E3E 000 mov DPTR, #229Dh ; Move (Op1 <- Op2) ROM:7E41 000 movx @DPTR, A ; Move from/to external RAM ROM:7E42 000 mov DPTR, #195h ; Move (Op1 <- Op2) ROM:7E45 000 movx A, @DPTR ; Move from/to external RAM ROM:7E46 000 mov DPTR, #229Eh ; Move (Op1 <- Op2) ROM:7E49 000 movx @DPTR, A ; Move from/to external RAM ROM:7E4A 000 mov DPTR, #1A4h ; Move (Op1 <- Op2) ROM:7E4D 000 movx A, @DPTR ; Move from/to external RAM ROM:7E4E 000 mov DPTR, #22A0h ; Move (Op1 <- Op2) ROM:7E51 000 movx @DPTR, A ; Move from/to external RAM ROM:7E52 000 mov DPTR, #1A8h ; Move (Op1 <- Op2) ROM:7E55 000 movx A, @DPTR ; Move from/to external RAM ROM:7E56 000 mov DPTR, #22A1h ; Move (Op1 <- Op2) ROM:7E59 000 movx @DPTR, A ; Move from/to external RAM ROM:7E5A 000 mov DPTR, #1A9h ; Move (Op1 <- Op2) ROM:7E5D 000 movx A, @DPTR ; Move from/to external RAM ROM:7E5E 000 mov DPTR, #22A2h ; Move (Op1 <- Op2) ROM:7E61 000 movx @DPTR, A ; Move from/to external RAM ROM:7E62 000 mov DPTR, #1AAh ; Move (Op1 <- Op2) ROM:7E65 000 movx A, @DPTR ; Move from/to external RAM ROM:7E66 000 mov DPTR, #22A3h ; Move (Op1 <- Op2) ROM:7E69 000 movx @DPTR, A ; Move from/to external RAM ROM:7E6A 000 mov DPTR, #1ABh ; Move (Op1 <- Op2) ROM:7E6D 000 movx A, @DPTR ; Move from/to external RAM ROM:7E6E 000 mov DPTR, #22A4h ; Move (Op1 <- Op2) ROM:7E71 000 movx @DPTR, A ; Move from/to external RAM ROM:7E72 000 mov DPTR, #1B9h ; Move (Op1 <- Op2) ROM:7E75 000 movx A, @DPTR ; Move from/to external RAM ROM:7E76 000 mov DPTR, #22A5h ; Move (Op1 <- Op2) ROM:7E79 000 movx @DPTR, A ; Move from/to external RAM ROM:7E7A 000 mov DPTR, #1BAh ; Move (Op1 <- Op2) ROM:7E7D 000 movx A, @DPTR ; Move from/to external RAM ROM:7E7E 000 mov DPTR, #22A6h ; Move (Op1 <- Op2) ROM:7E81 000 movx @DPTR, A ; Move from/to external RAM ROM:7E82 000 mov DPTR, #1D9h ; Move (Op1 <- Op2) ROM:7E85 000 movx A, @DPTR ; Move from/to external RAM ROM:7E86 000 clr C ; Clear Operand (0) ROM:7E87 000 subb A, #80h ; 'Ç' ; Subtract Second Operand from Acc with Borrow ROM:7E89 000 mov DPTR, #1D8h ; Move (Op1 <- Op2) ROM:7E8C 000 movx A, @DPTR ; Move from/to external RAM ROM:7E8D 000 jc ROM_7E9B ; Jump if Carry is set ROM:7E8D ROM:7E8F 000 cpl A ; Complement Operand ROM:7E90 000 mov DPTR, #22A7h ; Move (Op1 <- Op2) ROM:7E93 000 movx @DPTR, A ; Move from/to external RAM ROM:7E94 000 mov DPTR, #1D9h ; Move (Op1 <- Op2) ROM:7E97 000 movx A, @DPTR ; Move from/to external RAM ROM:7E98 000 cpl A ; Complement Operand ROM:7E99 000 sjmp ROM_7EA3 ; Short jump ROM:7E99 ROM:7E9B ; --------------------------------------------------------------------------- ROM:7E9B ROM:7E9B ROM_7E9B: ; CODE XREF: ROM_7E25+68j ROM:7E9B 000 mov DPTR, #22A7h ; Move (Op1 <- Op2) ROM:7E9E 000 movx @DPTR, A ; Move from/to external RAM ROM:7E9F 000 mov DPTR, #1D9h ; Move (Op1 <- Op2) ROM:7EA2 000 movx A, @DPTR ; Move from/to external RAM ROM:7EA2 ROM:7EA3 ROM:7EA3 ROM_7EA3: ; CODE XREF: ROM_7E25+74j ROM:7EA3 000 mov DPTR, #22A8h ; Move (Op1 <- Op2) ROM:7EA6 000 movx @DPTR, A ; Move from/to external RAM ROM:7EA7 000 mov DPTR, #1DCh ; Move (Op1 <- Op2) ROM:7EAA 000 movx A, @DPTR ; Move from/to external RAM ROM:7EAB 000 mov DPTR, #22A9h ; Move (Op1 <- Op2) ROM:7EAE 000 movx @DPTR, A ; Move from/to external RAM ROM:7EAF 000 mov DPTR, #1DDh ; Move (Op1 <- Op2) ROM:7EB2 000 movx A, @DPTR ; Move from/to external RAM ROM:7EB3 000 mov DPTR, #22AAh ; Move (Op1 <- Op2) ROM:7EB6 000 movx @DPTR, A ; Move from/to external RAM ROM:7EB7 000 mov DPTR, #1DAh ; Move (Op1 <- Op2) ROM:7EBA 000 movx A, @DPTR ; Move from/to external RAM ROM:7EBB 000 mov DPTR, #22ABh ; Move (Op1 <- Op2) ROM:7EBE 000 movx @DPTR, A ; Move from/to external RAM ROM:7EBF 000 mov DPTR, #1DBh ; Move (Op1 <- Op2) ROM:7EC2 000 movx A, @DPTR ; Move from/to external RAM ROM:7EC3 000 mov DPTR, #22ACh ; Move (Op1 <- Op2) ROM:7EC6 000 movx @DPTR, A ; Move from/to external RAM ROM:7EC7 000 mov DPTR, #1ACh ; Move (Op1 <- Op2) ROM:7ECA 000 movx A, @DPTR ; Move from/to external RAM ROM:7ECB 000 mov DPTR, #22ADh ; Move (Op1 <- Op2) ROM:7ECE 000 movx @DPTR, A ; Move from/to external RAM ROM:7ECF 000 mov DPTR, #1ADh ; Move (Op1 <- Op2) ROM:7ED2 000 movx A, @DPTR ; Move from/to external RAM ROM:7ED3 000 mov DPTR, #22AEh ; Move (Op1 <- Op2) ROM:7ED6 000 movx @DPTR, A ; Move from/to external RAM ROM:7ED7 000 mov DPTR, #168h ; Move (Op1 <- Op2) ROM:7EDA 000 movx A, @DPTR ; Move from/to external RAM ROM:7EDB 000 mov DPTR, #22AFh ; Move (Op1 <- Op2) ROM:7EDE 000 movx @DPTR, A ; Move from/to external RAM ROM:7EDF 000 mov DPTR, #19Ch ; Move (Op1 <- Op2) ROM:7EE2 000 movx A, @DPTR ; Move from/to external RAM ROM:7EE3 000 mov DPTR, #22B8h ; Move (Op1 <- Op2) ROM:7EE6 000 movx @DPTR, A ; Move from/to external RAM ROM:7EE7 000 mov DPTR, #19Dh ; Move (Op1 <- Op2) ROM:7EEA 000 movx A, @DPTR ; Move from/to external RAM ROM:7EEB 000 mov DPTR, #22B9h ; Move (Op1 <- Op2) ROM:7EEE 000 movx @DPTR, A ; Move from/to external RAM ROM:7EEF 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:7EF2 000 movx A, @DPTR ; Move from/to external RAM ROM:7EF3 000 jnz ROM_7EF9 ; Jump if Acc is not zero ROM:7EF3 ROM:7EF5 000 mov DPTR, #22BCh ; Move (Op1 <- Op2) ROM:7EF8 000 movx @DPTR, A ; Move from/to external RAM ROM:7EF8 ROM:7EF9 ROM:7EF9 ROM_7EF9: ; CODE XREF: ROM_7E25+CEj ROM:7EF9 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:7EFC 000 movx A, @DPTR ; Move from/to external RAM ROM:7EFD 000 cjne A, #41h, ROM_7F06 ; 'A' ; Compare Operands and JNE ROM:7EFD ROM:7F00 ROM:7F00 ROM_7F00: ; DATA XREF: ROM:6ECCo ROM:7F00 000 mov DPTR, #22BCh ; Move (Op1 <- Op2) ROM:7F03 000 mov A, #2 ; Move (Op1 <- Op2) ROM:7F05 000 movx @DPTR, A ; Move from/to external RAM ROM:7F05 ROM:7F06 ROM:7F06 ROM_7F06: ; CODE XREF: ROM_7E25+D8j ROM:7F06 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:7F09 000 movx A, @DPTR ; Move from/to external RAM ROM:7F0A 000 clr C ; Clear Operand (0) ROM:7F0B 000 subb A, #41h ; 'A' ; Subtract Second Operand from Acc with Borrow ROM:7F0D 000 jnc ROM_7F18 ; Jump if Carry is clear ROM:7F0D ROM:7F0F 000 movx A, @DPTR ; Move from/to external RAM ROM:7F10 000 jz ROM_7F18 ; Jump if Acc is zero ROM:7F10 ROM:7F12 000 mov DPTR, #22BCh ; Move (Op1 <- Op2) ROM:7F15 000 mov A, #1 ; Move (Op1 <- Op2) ROM:7F17 000 movx @DPTR, A ; Move from/to external RAM ROM:7F17 ROM:7F18 ROM:7F18 ROM_7F18: ; CODE XREF: ROM_7E25+E8j ROM:7F18 ; ROM_7E25+EBj ROM:7F18 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:7F1B 000 movx A, @DPTR ; Move from/to external RAM ROM:7F1C 000 setb C ; Set Direct Bit ROM:7F1D 000 subb A, #41h ; 'A' ; Subtract Second Operand from Acc with Borrow ROM:7F1F 000 jc ROM_7F27 ; Jump if Carry is set ROM:7F1F ROM:7F21 000 mov DPTR, #22BCh ; Move (Op1 <- Op2) ROM:7F24 000 mov A, #3 ; Move (Op1 <- Op2) ROM:7F26 000 movx @DPTR, A ; Move from/to external RAM ROM:7F26 ROM:7F27 ROM:7F27 ROM_7F27: ; CODE XREF: ROM_7E25+FAj ROM:7F27 000 mov DPTR, #5E1h ; Move (Op1 <- Op2) ROM:7F2A 000 movx A, @DPTR ; Move from/to external RAM ROM:7F2B 000 dec A ; Decrement Operand ROM:7F2C 000 jz ROM_7F3F ; Jump if Acc is zero ROM:7F2C ROM:7F2E 000 add A, #0FEh ; '¦' ; Add Second Operand to Acc ROM:7F30 000 jz ROM_7F48 ; Jump if Acc is zero ROM:7F30 ROM:7F32 000 add A, #3 ; Add Second Operand to Acc ROM:7F34 000 jnz ROM_7F51 ; Jump if Acc is not zero ROM:7F34 ROM:7F36 000 mov DPTR, #22BCh ; Move (Op1 <- Op2) ROM:7F39 000 movx A, @DPTR ; Move from/to external RAM ROM:7F3A 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:7F3C 000 movx @DPTR, A ; Move from/to external RAM ROM:7F3D 000 sjmp ROM_7F58 ; Short jump ROM:7F3D ROM:7F3F ; --------------------------------------------------------------------------- ROM:7F3F ROM:7F3F ROM_7F3F: ; CODE XREF: ROM_7E25+107j ROM:7F3F 000 mov DPTR, #22BCh ; Move (Op1 <- Op2) ROM:7F42 000 movx A, @DPTR ; Move from/to external RAM ROM:7F43 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:7F45 000 movx @DPTR, A ; Move from/to external RAM ROM:7F46 000 sjmp ROM_7F58 ; Short jump ROM:7F46 ROM:7F48 ; --------------------------------------------------------------------------- ROM:7F48 ROM:7F48 ROM_7F48: ; CODE XREF: ROM_7E25+10Bj ROM:7F48 000 mov DPTR, #22BCh ; Move (Op1 <- Op2) ROM:7F4B 000 movx A, @DPTR ; Move from/to external RAM ROM:7F4C 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:7F4E 000 movx @DPTR, A ; Move from/to external RAM ROM:7F4F 000 sjmp ROM_7F58 ; Short jump ROM:7F4F ROM:7F51 ; --------------------------------------------------------------------------- ROM:7F51 ROM:7F51 ROM_7F51: ; CODE XREF: ROM_7E25+10Fj ROM:7F51 000 mov DPTR, #22BCh ; Move (Op1 <- Op2) ROM:7F54 000 movx A, @DPTR ; Move from/to external RAM ROM:7F55 000 orl A, #30h ; Logical OR (op1 |= op2) ROM:7F57 000 movx @DPTR, A ; Move from/to external RAM ROM:7F57 ROM:7F58 ROM:7F58 ROM_7F58: ; CODE XREF: ROM_7E25+118j ROM:7F58 ; ROM_7E25+121j ... ROM:7F58 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:7F5B 000 movx A, @DPTR ; Move from/to external RAM ROM:7F5C 000 mov DPTR, #229Ch ; Move (Op1 <- Op2) ROM:7F5F 000 movx @DPTR, A ; Move from/to external RAM ROM:7F60 000 ret ; Return from subroutine ROM:7F60 ROM:7F60 ; End of function ROM_7E25 ROM:7F60 ROM:7F60 ; --------------------------------------------------------------------------- ROM:7F61 db 77h ; w ROM:7F62 db 93h ; ô ROM:7F63 db 77h ; w ROM:7F64 db 9Dh ; ¥ ROM:7F65 db 77h ; w ROM:7F66 db 0B6h ; ¦ ROM:7F67 db 77h ; w ROM:7F68 db 0E0h ; a ROM:7F69 db 78h ; x ROM:7F6A db 1Bh ROM:7F6B db 78h ; x ROM:7F6C db 2Ah ; * ROM:7F6D db 77h ; w ROM:7F6E db 93h ; ô ROM:7F6F db 77h ; w ROM:7F70 db 93h ; ô ROM:7F71 db 77h ; w ROM:7F72 db 93h ; ô ROM:7F73 db 77h ; w ROM:7F74 db 93h ; ô ROM:7F75 db 77h ; w ROM:7F76 db 93h ; ô ROM:7F77 db 77h ; w ROM:7F78 db 93h ; ô ROM:7F79 db 77h ; w ROM:7F7A db 93h ; ô ROM:7F7B db 77h ; w ROM:7F7C db 93h ; ô ROM:7F7D db 77h ; w ROM:7F7E db 93h ; ô ROM:7F7F db 77h ; w ROM:7F80 db 93h ; ô ROM:7F81 db 77h ; w ROM:7F82 db 93h ; ô ROM:7F83 db 77h ; w ROM:7F84 db 93h ; ô ROM:7F85 db 77h ; w ROM:7F86 db 93h ; ô ROM:7F87 db 77h ; w ROM:7F88 db 93h ; ô ROM:7F89 db 77h ; w ROM:7F8A db 93h ; ô ROM:7F8B db 77h ; w ROM:7F8C db 93h ; ô ROM:7F8D db 77h ; w ROM:7F8E db 93h ; ô ROM:7F8F db 79h ; y ROM:7F90 db 0A9h ; ¬ ROM:7F91 db 79h ; y ROM:7F92 db 0EBh ; d ROM:7F93 db 7Ah ; z ROM:7F94 db 0Bh ROM:7F95 db 77h ; w ROM:7F96 db 93h ; ô ROM:7F97 db 77h ; w ROM:7F98 db 93h ; ô ROM:7F99 db 77h ; w ROM:7F9A db 93h ; ô ROM:7F9B db 77h ; w ROM:7F9C db 93h ; ô ROM:7F9D db 77h ; w ROM:7F9E db 93h ; ô ROM:7F9F db 77h ; w ROM:7FA0 db 93h ; ô ROM:7FA1 db 77h ; w ROM:7FA2 db 93h ; ô ROM:7FA3 db 77h ; w ROM:7FA4 db 93h ; ô ROM:7FA5 db 77h ; w ROM:7FA6 db 93h ; ô ROM:7FA7 db 77h ; w ROM:7FA8 db 93h ; ô ROM:7FA9 db 77h ; w ROM:7FAA db 93h ; ô ROM:7FAB db 77h ; w ROM:7FAC db 93h ; ô ROM:7FAD db 77h ; w ROM:7FAE db 93h ; ô ROM:7FAF db 77h ; w ROM:7FB0 db 93h ; ô ROM:7FB1 db 77h ; w ROM:7FB2 db 93h ; ô ROM:7FB3 db 77h ; w ROM:7FB4 db 93h ; ô ROM:7FB5 db 77h ; w ROM:7FB6 db 93h ; ô ROM:7FB7 db 77h ; w ROM:7FB8 db 93h ; ô ROM:7FB9 db 77h ; w ROM:7FBA db 93h ; ô ROM:7FBB db 77h ; w ROM:7FBC db 93h ; ô ROM:7FBD db 77h ; w ROM:7FBE db 93h ; ô ROM:7FBF db 77h ; w ROM:7FC0 db 93h ; ô ROM:7FC1 db 7Ah ; z ROM:7FC2 db 22h ; " ROM:7FC3 db 7Ah ; z ROM:7FC4 db 4Dh ; M ROM:7FC5 db 7Ah ; z ROM:7FC6 db 70h ; p ROM:7FC7 db 7Ah ; z ROM:7FC8 db 8Fh ; Å ROM:7FC9 db 77h ; w ROM:7FCA db 93h ; ô ROM:7FCB db 77h ; w ROM:7FCC db 93h ; ô ROM:7FCD db 77h ; w ROM:7FCE db 93h ; ô ROM:7FCF db 77h ; w ROM:7FD0 db 93h ; ô ROM:7FD1 db 77h ; w ROM:7FD2 db 93h ; ô ROM:7FD3 db 77h ; w ROM:7FD4 db 93h ; ô ROM:7FD5 db 77h ; w ROM:7FD6 db 93h ; ô ROM:7FD7 db 77h ; w ROM:7FD8 db 93h ; ô ROM:7FD9 db 7Ah ; z ROM:7FDA db 0B5h ; ¦ ROM:7FDB db 7Ah ; z ROM:7FDC db 0D9h ; + ROM:7FDD db 7Ah ; z ROM:7FDE db 0F0h ; = ROM:7FDF db 77h ; w ROM:7FE0 db 93h ; ô ROM:7FE1 db 77h ; w ROM:7FE2 db 93h ; ô ROM:7FE3 db 77h ; w ROM:7FE4 db 93h ; ô ROM:7FE5 db 77h ; w ROM:7FE6 db 93h ; ô ROM:7FE7 db 77h ; w ROM:7FE8 db 93h ; ô ROM:7FE9 db 77h ; w ROM:7FEA db 93h ; ô ROM:7FEB db 77h ; w ROM:7FEC db 93h ; ô ROM:7FED db 77h ; w ROM:7FEE db 93h ; ô ROM:7FEF db 7Ah ; z ROM:7FF0 db 0FAh ; · ROM:7FF1 db 77h ; w ROM:7FF2 db 93h ; ô ROM:7FF3 db 77h ; w ROM:7FF4 db 93h ; ô ROM:7FF5 db 7Bh ; { ROM:7FF6 db 3 ROM:7FF7 db 7Bh ; { ROM:7FF8 db 4Eh ; N ROM:7FF9 db 7Bh ; { ROM:7FFA db 66h ; f ROM:7FFB db 77h ; w ROM:7FFC db 93h ; ô ROM:7FFD db 7Bh ; { ROM:7FFE db 0BCh ; + ROM:7FFF db 7Bh ; { ROM:8000 db 0F4h ; ( ROM:8001 db 7Ch ; | ROM:8002 db 1Eh ROM:8003 db 7Ch ; | ROM:8004 db 47h ; G ROM:8005 db 7Ch ; | ROM:8006 db 5Fh ; _ ROM:8007 db 7Ch ; | ROM:8008 db 9Fh ; ƒ ROM:8009 db 7Ch ; | ROM:800A db 0CBh ; - ROM:800B db 77h ; w ROM:800C db 93h ; ô ROM:800D db 77h ; w ROM:800E db 93h ; ô ROM:800F db 7Dh ; } ROM:8010 db 3Ch ; < ROM:8011 db 7Dh ; } ROM:8012 db 6Fh ; o ROM:8013 db 77h ; w ROM:8014 db 93h ; ô ROM:8015 db 7Dh ; } ROM:8016 db 0Fh ROM:8017 db 77h ; w ROM:8018 db 93h ; ô ROM:8019 db 77h ; w ROM:801A db 93h ; ô ROM:801B db 77h ; w ROM:801C db 93h ; ô ROM:801D db 77h ; w ROM:801E db 93h ; ô ROM:801F db 77h ; w ROM:8020 db 93h ; ô ROM:8021 ROM:8021 ; =============== S U B R O U T I N E ======================================= ROM:8021 ROM:8021 ROM:8021 ROM_8021: ; CODE XREF: write_prepare+3p ROM:8021 000 clr A ; Clear Operand (0) ROM:8022 000 mov R7, A ; Move (Op1 <- Op2) ROM:8022 ROM:8023 ROM:8023 cycle_start: ; CODE XREF: ROM_8021+31j ROM:8023 000 mov B, #3 ; do { ROM:8026 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8027 000 mul AB ; Multiply Acc by B ROM:8028 000 add A, #58h ; 'X' ; Add Second Operand to Acc ROM:802A 000 mov DP0L, A ; Data Pointer Low Byte ROM:802C 000 mov A, B ; B Register ROM:802E 000 addc A, #80h ; 'Ç' ; Add Second Operand to Acc with carry ROM:8030 000 mov DP0H, A ; Data Pointer High Byte ROM:8032 000 clr A ; Clear Operand (0) ROM:8033 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8034 000 mov R6, A ; Move (Op1 <- Op2) ROM:8035 000 mov B, #3 ; B Register ROM:8038 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8039 000 mul AB ; Multiply Acc by B ROM:803A 000 add A, #56h ; 'V' ; Add Second Operand to Acc ROM:803C 000 mov DP0L, A ; Data Pointer Low Byte ROM:803E 000 mov A, B ; B Register ROM:8040 000 addc A, #80h ; 'Ç' ; Add Second Operand to Acc with carry ROM:8042 000 mov DP0H, A ; Data Pointer High Byte ROM:8044 000 clr A ; Clear Operand (0) ROM:8045 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8046 000 mov R4, A ; Move (Op1 <- Op2) ROM:8047 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8049 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:804A 000 mov DP0L, A ; Data Pointer Low Byte ROM:804C 000 mov DP0H, R4 ; Data Pointer High Byte ROM:804E 000 mov A, R6 ; Move (Op1 <- Op2) ROM:804F 000 movx @DPTR, A ; Move from/to external RAM ROM:8050 000 inc R7 ; Increment Operand ROM:8051 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8052 000 cjne A, #58h, cycle_start ; 'X' ; } until a < 0x58 ROM:8052 ROM:8055 000 ret ; Return from subroutine ROM:8055 ROM:8055 ; End of function ROM_8021 ROM:8055 ROM:8055 ; --------------------------------------------------------------------------- ROM:8056 db 16h, 0, 4, 16h, 1, 65h, 16h, 2, 0, 16h, 3, 40h, 16h ROM:8056 db 4, 38h, 16h, 5, 0, 16h, 6, 0, 16h, 7, 0, 16h, 8, 34h ROM:8056 db 16h, 9, 0FFh, 16h, 0Ah, 4, 16h, 10h, 40h, 16h, 11h ROM:8056 db 80h, 16h, 12h, 40h, 16h, 13h, 80h, 16h, 14h, 80h, 16h ROM:8056 db 15h, 40h, 16h, 16h, 40h, 16h, 17h, 80h, 16h, 18h, 80h ROM:8056 db 16h, 19h, 44h, 16h, 1Ah, 40h, 16h, 1Bh, 0, 16h, 1Ch ROM:8056 db 0, 16h, 1Dh, 44h, 16h, 1Eh, 44h, 16h, 1Fh, 80h, 16h ROM:8056 db 20h, 44h, 16h, 21h ROM:80AC ; --------------------------------------------------------------------------- ROM:80AC nop ; No operation ROM:80AD dec @R0 ; Decrement Operand ROM:80AE ret ; Return from subroutine ROM:80AE ROM:80AF ; --------------------------------------------------------------------------- ROM:80AF nop ; No operation ROM:80B0 dec @R0 ; Decrement Operand ROM:80B1 rl A ; Rotate Acc left ROM:80B2 nop ; No operation ROM:80B3 dec @R0 ; Decrement Operand ROM:80B4 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:80B6 dec @R0 ; Decrement Operand ROM:80B7 add A, RAM_40 ; Add Second Operand to Acc ROM:80B9 dec @R0 ; Decrement Operand ROM:80BA add A, @R0 ; Add Second Operand to Acc ROM:80BB orl A, #16h ; Logical OR (op1 |= op2) ROM:80BD add A, @R1 ; Add Second Operand to Acc ROM:80BE sjmp ROM_80D6 ; Short jump ROM:80BE ROM:80C0 ; --------------------------------------------------------------------------- ROM:80C0 add A, R0 ; Add Second Operand to Acc ROM:80C1 sjmp ROM_80D8+1 ; Short jump ROM:80C1 ROM:80C3 ; --------------------------------------------------------------------------- ROM:80C3 add A, R1 ; Add Second Operand to Acc ROM:80C4 sjmp ROM_80DB+1 ; Short jump ROM:80C4 ROM:80C6 ; --------------------------------------------------------------------------- ROM:80C6 add A, R2 ; Add Second Operand to Acc ROM:80C7 sjmp ROM_80DF ; Short jump ROM:80C7 ROM:80C9 ; --------------------------------------------------------------------------- ROM:80C9 add A, R3 ; Add Second Operand to Acc ROM:80CA jc ROM_80E2 ; Jump if Carry is set ROM:80CA ROM:80CC add A, R4 ; Add Second Operand to Acc ROM:80CD jc ROM_80E5 ; Jump if Carry is set ROM:80CD ROM:80CF add A, R5 ; Add Second Operand to Acc ROM:80D0 jc ROM_80E8 ; Jump if Carry is set ROM:80D0 ROM:80D2 add A, R6 ; Add Second Operand to Acc ROM:80D3 nop ; No operation ROM:80D4 dec @R0 ; Decrement Operand ROM:80D5 add A, R7 ; Add Second Operand to Acc ROM:80D5 ROM:80D6 ROM:80D6 ROM_80D6: ; CODE XREF: ROM:80BEj ROM:80D6 orl A, #16h ; Logical OR (op1 |= op2) ROM:80D8 ROM:80D8 ROM_80D8: ; CODE XREF: ROM:80C1j ROM:80D8 jnb P0.0, ROM_80F1 ; Port 0 ROM:80D8 ROM:80DB ROM:80DB ROM_80DB: ; CODE XREF: ROM:80C4j ROM:80DB acall ROM_8140 ; Absolute Call ROM:80DB ROM:80DD dec @R0 ; Decrement Operand ROM:80DE reti ; Return from Interrupt ROM:80DE ROM:80DF ; --------------------------------------------------------------------------- ROM:80DF ROM:80DF ROM_80DF: ; CODE XREF: ROM:80C7j ROM:80DF sjmp ROM_80F7 ; Short jump ROM:80DF ROM:80E1 ; --------------------------------------------------------------------------- ROM:80E1 rlc A ; Rotate Acc left through Carry ROM:80E1 ROM:80E2 ROM:80E2 ROM_80E2: ; CODE XREF: ROM:80CAj ROM:80E2 sjmp ROM_80FA ; Short jump ROM:80E2 ROM:80E2 ; --------------------------------------------------------------------------- ROM:80E4 db 34h ROM:80E5 ; --------------------------------------------------------------------------- ROM:80E5 ROM:80E5 ROM_80E5: ; CODE XREF: ROM:80CDj ROM:80E5 sjmp ROM_80FD ; Short jump ROM:80E5 ROM:80E5 ; --------------------------------------------------------------------------- ROM:80E7 db 35h ROM:80E8 ; --------------------------------------------------------------------------- ROM:80E8 ROM:80E8 ROM_80E8: ; CODE XREF: ROM:80D0j ROM:80E8 sjmp ROM_8100 ; Short jump ROM:80E8 ROM:80EA ; --------------------------------------------------------------------------- ROM:80EA addc A, @R0 ; Add Second Operand to Acc with carry ROM:80EB sjmp ROM_8103 ; Short jump ROM:80EB ROM:80ED ; --------------------------------------------------------------------------- ROM:80ED addc A, @R1 ; Add Second Operand to Acc with carry ROM:80EE sjmp ROM_8106 ; Short jump ROM:80EE ROM:80F0 ; --------------------------------------------------------------------------- ROM:80F0 addc A, R0 ; Add Second Operand to Acc with carry ROM:80F0 ROM:80F1 ROM:80F1 ROM_80F1: ; CODE XREF: ROM:ROM_80D8j ROM:80F1 jc ROM_8109 ; Jump if Carry is set ROM:80F1 ROM:80F3 addc A, R1 ; Add Second Operand to Acc with carry ROM:80F4 sjmp ROM_810C ; Short jump ROM:80F4 ROM:80F6 ; --------------------------------------------------------------------------- ROM:80F6 addc A, R2 ; Add Second Operand to Acc with carry ROM:80F6 ROM:80F7 ROM:80F7 ROM_80F7: ; CODE XREF: ROM:ROM_80DFj ROM:80F7 sjmp ROM_810E+1 ; Short jump ROM:80F7 ROM:80F9 ; --------------------------------------------------------------------------- ROM:80F9 addc A, R3 ; Add Second Operand to Acc with carry ROM:80F9 ROM:80FA ROM:80FA ROM_80FA: ; CODE XREF: ROM:ROM_80E2j ROM:80FA sjmp ROM_8111+1 ; Short jump ROM:80FA ROM:80FC ; --------------------------------------------------------------------------- ROM:80FC addc A, R4 ; Add Second Operand to Acc with carry ROM:80FC ROM:80FD ROM:80FD ROM_80FD: ; CODE XREF: ROM:ROM_80E5j ROM:80FD nop ; No operation ROM:80FE dec @R0 ; Decrement Operand ROM:80FF addc A, R5 ; Add Second Operand to Acc with carry ROM:80FF ROM:8100 ROM:8100 ROM_8100: ; CODE XREF: ROM:ROM_80E8j ROM:8100 nop ; No operation ROM:8101 dec @R0 ; Decrement Operand ROM:8102 addc A, R6 ; Add Second Operand to Acc with carry ROM:8102 ROM:8103 ROM:8103 ROM_8103: ; CODE XREF: ROM:80EBj ROM:8103 nop ; No operation ROM:8104 dec @R0 ; Decrement Operand ROM:8105 addc A, R7 ; Add Second Operand to Acc with carry ROM:8105 ROM:8106 ROM:8106 ROM_8106: ; CODE XREF: ROM:80EEj ROM:8106 nop ; No operation ROM:8107 dec @R0 ; Decrement Operand ROM:8107 ROM:8107 ; --------------------------------------------------------------------------- ROM:8108 db 40h ROM:8109 ; --------------------------------------------------------------------------- ROM:8109 ROM:8109 ROM_8109: ; CODE XREF: ROM:ROM_80F1j ROM:8109 sjmp ROM_8121 ; Short jump ROM:8109 ROM:8109 ; --------------------------------------------------------------------------- ROM:810B db 41h ROM:810C ; --------------------------------------------------------------------------- ROM:810C ROM:810C ROM_810C: ; CODE XREF: ROM:80F4j ROM:810C orl A, #16h ; Logical OR (op1 |= op2) ROM:810E ROM:810E ROM_810E: ; CODE XREF: ROM:ROM_80F7j ROM:810E orl RAM_44, A ; Logical OR (op1 |= op2) ROM:8110 dec @R0 ; Decrement Operand ROM:8111 ROM:8111 ROM_8111: ; CODE XREF: ROM:ROM_80FAj ROM:8111 orl RAM_0, #16h ; Logical OR (op1 |= op2) ROM:8114 orl A, #0 ; Logical OR (op1 |= op2) ROM:8116 dec @R0 ; Decrement Operand ROM:8117 orl A, RAM_0 ; Logical OR (op1 |= op2) ROM:8119 dec @R0 ; Decrement Operand ROM:811A orl A, @R0 ; Logical OR (op1 |= op2) ROM:811B anl C, RAM_22.6 ; Logical AND (op1 &= op2) ROM:811D orl A, @R1 ; Logical OR (op1 |= op2) ROM:811E nop ; No operation ROM:811F dec @R0 ; Decrement Operand ROM:8120 orl A, R0 ; Logical OR (op1 |= op2) ROM:8120 ROM:8121 ROM:8121 ROM_8121: ; CODE XREF: ROM:ROM_8109j ROM:8121 nop ; No operation ROM:8122 dec @R0 ; Decrement Operand ROM:8123 orl A, R1 ; Logical OR (op1 |= op2) ROM:8124 sjmp ROM_813C ; Short jump ROM:8124 ROM:8124 ; --------------------------------------------------------------------------- ROM:8126 db 4Ah, 40h, 16h, 4Bh, 40h, 16h, 4Ch, 40h, 16h, 4Dh, 40h ROM:8126 db 16h, 4Eh, 40h, 16h, 50h, 80h, 16h, 51h, 80h, 16h, 52h ROM:813C ; --------------------------------------------------------------------------- ROM:813C ROM:813C ROM_813C: ; CODE XREF: ROM:8124j ROM:813C sjmp ROM_8154 ; Short jump ROM:813C ROM:813C ; --------------------------------------------------------------------------- ROM:813E db 53h, 80h ROM:8140 ROM:8140 ; =============== S U B R O U T I N E ======================================= ROM:8140 ROM:8140 ROM:8140 ROM_8140: ; CODE XREF: ROM:ROM_80DBp ROM:8140 ROM:8140 ; FUNCTION CHUNK AT ROM:8169 SIZE 00000002 BYTES ROM:8140 ; FUNCTION CHUNK AT ROM:816C SIZE 0000001D BYTES ROM:8140 ROM:8140 000 dec @R0 ; Decrement Operand ROM:8141 000 anl A, #80h ; Logical AND (op1 &= op2) ROM:8143 000 dec @R0 ; Decrement Operand ROM:8144 000 anl A, P0 ; Port 0 ROM:8146 000 dec @R0 ; Decrement Operand ROM:8147 000 anl A, @R0 ; Logical AND (op1 &= op2) ROM:8148 000 sjmp ROM_8160 ; Short jump ROM:8148 ROM:814A ; --------------------------------------------------------------------------- ROM:814A 000 anl A, @R1 ; Logical AND (op1 &= op2) ROM:814B 000 sjmp ROM_8163 ; Short jump ROM:814B ROM:814D ; --------------------------------------------------------------------------- ROM:814D 000 anl A, R0 ; Logical AND (op1 &= op2) ROM:814E 000 nop ; No operation ROM:814F 000 dec @R0 ; Decrement Operand ROM:8150 000 anl A, R1 ; Logical AND (op1 &= op2) ROM:8151 000 sjmp ROM_8169 ; Short jump ROM:8151 ROM:8153 ; --------------------------------------------------------------------------- ROM:8153 000 anl A, R2 ; Logical AND (op1 &= op2) ROM:8153 ROM:8154 ROM:8154 ROM_8154: ; CODE XREF: ROM:ROM_813Cj ROM:8154 000 jc ROM_816C ; Jump if Carry is set ROM:8154 ROM:8156 000 anl A, R3 ; Logical AND (op1 &= op2) ROM:8157 000 sjmp ROM_816F ; Short jump ROM:8157 ROM:8157 ; --------------------------------------------------------------------------- ROM:8159 000 db 5Ch, 40h, 16h, 5Dh, 40h, 7Fh, 0 ROM:8160 ; --------------------------------------------------------------------------- ROM:8160 ROM:8160 ROM_8160: ; CODE XREF: ROM_8140+8j ROM:8160 000 ret ; Return from subroutine ROM:8160 ROM:8160 ; End of function ROM_8140 ROM:8160 ROM:8161 ; --------------------------------------------------------------------------- ROM:8161 clr C ; Clear Operand (0) ROM:8162 ret ; Return from subroutine ROM:8162 ROM:8163 ; --------------------------------------------------------------------------- ROM:8163 ROM:8163 ROM_8163: ; CODE XREF: ROM_8140+Bj ROM:8163 ; ROM_81FB+CCp ... ROM:8163 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:8166 mov A, R7 ; Move (Op1 <- Op2) ROM:8167 movx @DPTR, A ; Move from/to external RAM ROM:8168 inc DPTR ; Increment Operand ROM:8168 ROM:8169 ; START OF FUNCTION CHUNK FOR ROM_8140 ROM:8169 ROM:8169 ROM_8169: ; CODE XREF: ROM_8140+11j ROM:8169 000 mov A, R5 ; Move (Op1 <- Op2) ROM:816A 000 movx @DPTR, A ; Move from/to external RAM ROM:816A ROM:816A ; END OF FUNCTION CHUNK FOR ROM_8140 ROM:816A ; --------------------------------------------------------------------------- ROM:816B db 90h ROM:816C ; --------------------------------------------------------------------------- ROM:816C ; START OF FUNCTION CHUNK FOR ROM_8140 ROM:816C ROM:816C ROM_816C: ; CODE XREF: ROM_8140:ROM_8154j ROM:816C 000 inc @R0 ; Increment Operand ROM:816D 000 subb A, RAM_74 ; Subtract Second Operand from Acc with Borrow ROM:816D ROM:816F ROM:816F ROM_816F: ; CODE XREF: ROM_8140+17j ROM:816F 000 dec A ; Decrement Operand ROM:8170 000 movx @DPTR, A ; Move from/to external RAM ROM:8171 000 inc DPTR ; Increment Operand ROM:8172 000 mov A, #5 ; Move (Op1 <- Op2) ROM:8174 000 movx @DPTR, A ; Move from/to external RAM ROM:8175 000 inc DPTR ; Increment Operand ROM:8176 000 mov A, #0DAh ; '+' ; Move (Op1 <- Op2) ROM:8178 000 movx @DPTR, A ; Move from/to external RAM ROM:8179 000 mov R3, #12h ; Move (Op1 <- Op2) ROM:817B 000 mov R5, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:817D 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:817F 000 lcall ROM_52A4 ; Long Subroutine Call ROM:817F ROM:8182 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8183 000 jz ROM_8187 ; Jump if Acc is zero ROM:8183 ROM:8185 000 setb C ; Set Direct Bit ROM:8186 000 ret ; Return from subroutine ROM:8186 ROM:8187 ; --------------------------------------------------------------------------- ROM:8187 ROM:8187 ROM_8187: ; CODE XREF: ROM_8140+43j ROM:8187 000 clr C ; Clear Operand (0) ROM:8188 000 ret ; Return from subroutine ROM:8188 ROM:8188 ; END OF FUNCTION CHUNK FOR ROM_8140 ROM:8189 ROM:8189 ; =============== S U B R O U T I N E ======================================= ROM:8189 ROM:8189 ROM:8189 ROM_8189: ; CODE XREF: ROM_81FB+62p ROM:8189 ; ROM_81FB+184p ... ROM:8189 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:818C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:818D 000 movx @DPTR, A ; Move from/to external RAM ROM:818E 000 inc DPTR ; Increment Operand ROM:818F 000 mov A, R5 ; Move (Op1 <- Op2) ROM:8190 000 movx @DPTR, A ; Move from/to external RAM ROM:8191 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:8194 000 mov A, #15h ; Move (Op1 <- Op2) ROM:8196 000 movx @DPTR, A ; Move from/to external RAM ROM:8197 000 inc DPTR ; Increment Operand ROM:8198 000 mov A, #5 ; Move (Op1 <- Op2) ROM:819A 000 movx @DPTR, A ; Move from/to external RAM ROM:819B 000 inc DPTR ; Increment Operand ROM:819C 000 mov A, #0DAh ; '+' ; Move (Op1 <- Op2) ROM:819E 000 movx @DPTR, A ; Move from/to external RAM ROM:819F 000 mov R3, #12h ; Move (Op1 <- Op2) ROM:81A1 000 mov R5, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:81A3 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:81A5 000 lcall ROM_52A4 ; Long Subroutine Call ROM:81A5 ROM:81A8 000 mov A, R7 ; Move (Op1 <- Op2) ROM:81A9 000 jz ROM_81AD ; Jump if Acc is zero ROM:81A9 ROM:81AB 000 setb C ; Set Direct Bit ROM:81AC 000 ret ; Return from subroutine ROM:81AC ROM:81AD ; --------------------------------------------------------------------------- ROM:81AD ROM:81AD ROM_81AD: ; CODE XREF: ROM_8189+20j ROM:81AD 000 clr C ; Clear Operand (0) ROM:81AE 000 ret ; Return from subroutine ROM:81AE ROM:81AE ; End of function ROM_8189 ROM:81AE ROM:81AF ROM:81AF ; =============== S U B R O U T I N E ======================================= ROM:81AF ROM:81AF ROM:81AF ROM_81AF: ; CODE XREF: ROM_81FB+51p ROM:81AF 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:81B2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:81B3 000 movx @DPTR, A ; Move from/to external RAM ROM:81B4 000 inc DPTR ; Increment Operand ROM:81B5 000 mov A, R5 ; Move (Op1 <- Op2) ROM:81B6 000 movx @DPTR, A ; Move from/to external RAM ROM:81B7 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:81BA 000 mov A, #3Fh ; '?' ; Move (Op1 <- Op2) ROM:81BC 000 movx @DPTR, A ; Move from/to external RAM ROM:81BD 000 inc DPTR ; Increment Operand ROM:81BE 000 mov A, #5 ; Move (Op1 <- Op2) ROM:81C0 000 movx @DPTR, A ; Move from/to external RAM ROM:81C1 000 inc DPTR ; Increment Operand ROM:81C2 000 mov A, #0DAh ; '+' ; Move (Op1 <- Op2) ROM:81C4 000 movx @DPTR, A ; Move from/to external RAM ROM:81C5 000 mov R3, #12h ; Move (Op1 <- Op2) ROM:81C7 000 mov R5, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:81C9 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:81CB 000 lcall ROM_52A4 ; Long Subroutine Call ROM:81CB ROM:81CE 000 mov A, R7 ; Move (Op1 <- Op2) ROM:81CF 000 jz ROM_81D3 ; Jump if Acc is zero ROM:81CF ROM:81D1 000 setb C ; Set Direct Bit ROM:81D2 000 ret ; Return from subroutine ROM:81D2 ROM:81D3 ; --------------------------------------------------------------------------- ROM:81D3 ROM:81D3 ROM_81D3: ; CODE XREF: ROM_81AF+20j ROM:81D3 000 clr C ; Clear Operand (0) ROM:81D4 000 ret ; Return from subroutine ROM:81D4 ROM:81D4 ; End of function ROM_81AF ROM:81D4 ROM:81D5 ROM:81D5 ; =============== S U B R O U T I N E ======================================= ROM:81D5 ROM:81D5 ROM:81D5 ROM_81D5: ; CODE XREF: ROM_81FB+21p ROM:81D5 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:81D8 000 mov A, R7 ; Move (Op1 <- Op2) ROM:81D9 000 movx @DPTR, A ; Move from/to external RAM ROM:81DA 000 inc DPTR ; Increment Operand ROM:81DB 000 mov A, R5 ; Move (Op1 <- Op2) ROM:81DC 000 movx @DPTR, A ; Move from/to external RAM ROM:81DD 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:81E0 000 mov A, #12h ; Move (Op1 <- Op2) ROM:81E2 000 movx @DPTR, A ; Move from/to external RAM ROM:81E3 000 inc DPTR ; Increment Operand ROM:81E4 000 mov A, #5 ; Move (Op1 <- Op2) ROM:81E6 000 movx @DPTR, A ; Move from/to external RAM ROM:81E7 000 inc DPTR ; Increment Operand ROM:81E8 000 mov A, #0DAh ; '+' ; Move (Op1 <- Op2) ROM:81EA 000 movx @DPTR, A ; Move from/to external RAM ROM:81EB 000 mov R3, #12h ; Move (Op1 <- Op2) ROM:81ED 000 mov R5, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:81EF 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:81F1 000 lcall ROM_52A4 ; Long Subroutine Call ROM:81F1 ROM:81F4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:81F5 000 jz ROM_81F9 ; Jump if Acc is zero ROM:81F5 ROM:81F7 000 setb C ; Set Direct Bit ROM:81F8 000 ret ; Return from subroutine ROM:81F8 ROM:81F9 ; --------------------------------------------------------------------------- ROM:81F9 ROM:81F9 ROM_81F9: ; CODE XREF: ROM_81D5+20j ROM:81F9 000 clr C ; Clear Operand (0) ROM:81FA 000 ret ; Return from subroutine ROM:81FA ROM:81FA ; End of function ROM_81D5 ROM:81FA ROM:81FB ROM:81FB ; =============== S U B R O U T I N E ======================================= ROM:81FB ROM:81FB ROM:81FB ROM_81FB: ; CODE XREF: ROM_6209+3p ROM:81FB 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:81FE 000 movx A, @DPTR ; Move from/to external RAM ROM:81FF 000 jnz ROM_8204 ; Jump if Acc is not zero ROM:81FF ROM:8201 000 ljmp ROM_8400 ; Long Jump ROM:8201 ROM:8204 ; --------------------------------------------------------------------------- ROM:8204 ROM:8204 ROM_8204: ; CODE XREF: ROM_81FB+4j ROM:8204 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8207 000 movx A, @DPTR ; Move from/to external RAM ROM:8208 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:820A 000 jnz ROM_8269 ; Jump if Acc is not zero ROM:820A ROM:820C 000 inc DPTR ; Increment Operand ROM:820D 000 movx A, @DPTR ; Move from/to external RAM ROM:820E 000 dec A ; Decrement Operand ROM:820F 000 jz ROM_8229 ; Jump if Acc is zero ROM:820F ROM:8211 000 dec A ; Decrement Operand ROM:8212 000 jz ROM_8259 ; Jump if Acc is zero ROM:8212 ROM:8214 000 add A, #2 ; Add Second Operand to Acc ROM:8216 000 jnz ROM_8269 ; Jump if Acc is not zero ROM:8216 ROM:8218 000 mov R5, #8 ; Move (Op1 <- Op2) ROM:821A 000 mov R7, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:821C 000 lcall ROM_81D5 ; Long Subroutine Call ROM:821C ROM:821F 000 jnc ROM_8269 ; Jump if Carry is clear ROM:821F ROM:8221 000 mov DPTR, #53Ch ; Move (Op1 <- Op2) ROM:8224 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8226 000 movx @DPTR, A ; Move from/to external RAM ROM:8227 000 sjmp ROM_8269 ; Short jump ROM:8227 ROM:8229 ; --------------------------------------------------------------------------- ROM:8229 ROM:8229 ROM_8229: ; CODE XREF: ROM_81FB+14j ROM:8229 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:822C 000 movx A, @DPTR ; Move from/to external RAM ROM:822D 000 clr C ; Clear Operand (0) ROM:822E 000 subb A, #41h ; 'A' ; Subtract Second Operand from Acc with Borrow ROM:8230 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:8233 000 jnc ROM_823E ; Jump if Carry is clear ROM:8233 ROM:8235 000 mov A, #6 ; Move (Op1 <- Op2) ROM:8237 000 movx @DPTR, A ; Move from/to external RAM ROM:8238 000 inc DPTR ; Increment Operand ROM:8239 000 mov A, #9 ; Move (Op1 <- Op2) ROM:823B 000 movx @DPTR, A ; Move from/to external RAM ROM:823C 000 sjmp ROM_8244 ; Short jump ROM:823C ROM:823E ; --------------------------------------------------------------------------- ROM:823E ROM:823E ROM_823E: ; CODE XREF: ROM_81FB+38j ROM:823E 000 mov A, #0Ch ; Move (Op1 <- Op2) ROM:8240 000 movx @DPTR, A ; Move from/to external RAM ROM:8241 000 inc DPTR ; Increment Operand ROM:8242 000 inc A ; Increment Operand ROM:8243 000 movx @DPTR, A ; Move from/to external RAM ROM:8243 ROM:8244 ROM:8244 ROM_8244: ; CODE XREF: ROM_81FB+41j ROM:8244 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:8247 000 movx A, @DPTR ; Move from/to external RAM ROM:8248 000 mov R7, A ; Move (Op1 <- Op2) ROM:8249 000 inc DPTR ; Increment Operand ROM:824A 000 movx A, @DPTR ; Move from/to external RAM ROM:824B 000 mov R5, A ; Move (Op1 <- Op2) ROM:824C 000 lcall ROM_81AF ; Long Subroutine Call ROM:824C ROM:824F 000 jnc ROM_8269 ; Jump if Carry is clear ROM:824F ROM:8251 000 mov DPTR, #53Ch ; Move (Op1 <- Op2) ROM:8254 000 mov A, #2 ; Move (Op1 <- Op2) ROM:8256 000 movx @DPTR, A ; Move from/to external RAM ROM:8257 000 sjmp ROM_8269 ; Short jump ROM:8257 ROM:8259 ; --------------------------------------------------------------------------- ROM:8259 ROM:8259 ROM_8259: ; CODE XREF: ROM_81FB+17j ROM:8259 000 mov R5, #31h ; '1' ; Move (Op1 <- Op2) ROM:825B 000 mov R7, #62h ; 'b' ; Move (Op1 <- Op2) ROM:825D 000 lcall ROM_8189 ; Long Subroutine Call ROM:825D ROM:8260 000 jnc ROM_8269 ; Jump if Carry is clear ROM:8260 ROM:8262 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8265 000 clr A ; Clear Operand (0) ROM:8266 000 movx @DPTR, A ; Move from/to external RAM ROM:8267 000 inc DPTR ; Increment Operand ROM:8268 000 movx @DPTR, A ; Move from/to external RAM ROM:8268 ROM:8269 ROM:8269 ROM_8269: ; CODE XREF: ROM_81FB+Fj ROM:8269 ; ROM_81FB+1Bj ... ROM:8269 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:826C 000 movx A, @DPTR ; Move from/to external RAM ROM:826D 000 xrl A, #2 ; Exclusive OR (op1 ^= op2) ROM:826F 000 jz ROM_8274 ; Jump if Acc is zero ROM:826F ROM:8271 000 ljmp ROM_83C0 ; Long Jump ROM:8271 ROM:8274 ; --------------------------------------------------------------------------- ROM:8274 ROM:8274 ROM_8274: ; CODE XREF: ROM_81FB+74j ROM:8274 000 inc DPTR ; Increment Operand ROM:8275 000 movx A, @DPTR ; Move from/to external RAM ROM:8276 000 dec A ; Decrement Operand ROM:8277 000 jz ROM_82E1 ; Jump if Acc is zero ROM:8277 ROM:8279 000 dec A ; Decrement Operand ROM:827A 000 jnz ROM_827F ; Jump if Acc is not zero ROM:827A ROM:827C 000 ljmp ROM_837B ; Long Jump ROM:827C ROM:827F ; --------------------------------------------------------------------------- ROM:827F ROM:827F ROM_827F: ; CODE XREF: ROM_81FB+7Fj ROM:827F 000 dec A ; Decrement Operand ROM:8280 000 jnz ROM_8285 ; Jump if Acc is not zero ROM:8280 ROM:8282 000 ljmp ROM_838C ; Long Jump ROM:8282 ROM:8285 ; --------------------------------------------------------------------------- ROM:8285 ROM:8285 ROM_8285: ; CODE XREF: ROM_81FB+85j ROM:8285 000 add A, #3 ; Add Second Operand to Acc ROM:8287 000 jz ROM_828C ; Jump if Acc is zero ROM:8287 ROM:8289 000 ljmp ROM_83C0 ; Long Jump ROM:8289 ROM:828C ; --------------------------------------------------------------------------- ROM:828C ROM:828C ROM_828C: ; CODE XREF: ROM_81FB+8Cj ROM:828C 000 mov DPTR, #1AEh ; Move (Op1 <- Op2) ROM:828F 000 movx A, @DPTR ; Move from/to external RAM ROM:8290 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:8292 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:8295 000 movx @DPTR, A ; Move from/to external RAM ROM:8296 000 mov DPTR, #1AFh ; Move (Op1 <- Op2) ROM:8299 000 movx A, @DPTR ; Move from/to external RAM ROM:829A 000 mov DPTR, #5DBh ; Move (Op1 <- Op2) ROM:829D 000 movx @DPTR, A ; Move from/to external RAM ROM:829E 000 clr A ; Clear Operand (0) ROM:829F 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:82A2 000 movx @DPTR, A ; Move from/to external RAM ROM:82A3 000 inc DPTR ; Increment Operand ROM:82A4 000 mov A, #5 ; Move (Op1 <- Op2) ROM:82A6 000 movx @DPTR, A ; Move from/to external RAM ROM:82A7 000 inc DPTR ; Increment Operand ROM:82A8 000 mov A, #0DAh ; '+' ; Move (Op1 <- Op2) ROM:82AA 000 movx @DPTR, A ; Move from/to external RAM ROM:82AB 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:82AD 000 mov R5, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:82AF 000 clr A ; Clear Operand (0) ROM:82B0 000 mov R7, A ; Move (Op1 <- Op2) ROM:82B1 000 lcall ROM_52A4 ; Long Subroutine Call ROM:82B1 ROM:82B4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:82B5 000 jnz ROM_82BA ; Jump if Acc is not zero ROM:82B5 ROM:82B7 000 ljmp ROM_83C0 ; Long Jump ROM:82B7 ROM:82BA ; --------------------------------------------------------------------------- ROM:82BA ROM:82BA ROM_82BA: ; CODE XREF: ROM_81FB+BAj ROM:82BA 000 mov DPTR, #53Ch ; Move (Op1 <- Op2) ROM:82BD 000 mov A, #1 ; Move (Op1 <- Op2) ROM:82BF 000 movx @DPTR, A ; Move from/to external RAM ROM:82C0 000 ljmp ROM_83C0 ; Long Jump ROM:82C0 ROM:82C3 ; --------------------------------------------------------------------------- ROM:82C3 ROM:82C3 ROM_82C3: ; CODE XREF: ROM_81FB+FCj ROM:82C3 ; ROM_81FB+10Cj ROM:82C3 000 mov R5, #8 ; Move (Op1 <- Op2) ROM:82C5 000 clr A ; Clear Operand (0) ROM:82C6 000 mov R7, A ; Move (Op1 <- Op2) ROM:82C7 000 lcall ROM_8163 ; Long Subroutine Call ROM:82C7 ROM:82CA 000 jc ROM_82CF ; Jump if Carry is set ROM:82CA ROM:82CC 000 ljmp ROM_8400 ; Long Jump ROM:82CC ROM:82CF ; --------------------------------------------------------------------------- ROM:82CF ROM:82CF ROM_82CF: ; CODE XREF: ROM_81FB+CFj ROM:82CF 000 ljmp ROM_8363 ; Long Jump ROM:82CF ROM:82D2 ; --------------------------------------------------------------------------- ROM:82D2 ROM:82D2 ROM_82D2: ; CODE XREF: ROM_81FB+F3j ROM:82D2 000 clr A ; Clear Operand (0) ROM:82D3 000 mov R5, A ; Move (Op1 <- Op2) ROM:82D4 000 mov R7, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:82D6 000 lcall ROM_8163 ; Long Subroutine Call ROM:82D6 ROM:82D9 000 jc ROM_82DE ; Jump if Carry is set ROM:82D9 ROM:82DB 000 ljmp ROM_8400 ; Long Jump ROM:82DB ROM:82DE ; --------------------------------------------------------------------------- ROM:82DE ROM:82DE ROM_82DE: ; CODE XREF: ROM_81FB+DEj ROM:82DE 000 ljmp ROM_8363 ; Long Jump ROM:82DE ROM:82E1 ; --------------------------------------------------------------------------- ROM:82E1 ROM:82E1 ROM_82E1: ; CODE XREF: ROM_81FB+7Cj ROM:82E1 000 mov DPTR, #1BCh ; Move (Op1 <- Op2) ROM:82E4 000 movx A, @DPTR ; Move from/to external RAM ROM:82E5 000 jnz ROM_82F0 ; Jump if Acc is not zero ROM:82E5 ROM:82E7 000 mov DPTR, #1BBh ; Move (Op1 <- Op2) ROM:82EA 000 movx A, @DPTR ; Move from/to external RAM ROM:82EB 000 clr C ; Clear Operand (0) ROM:82EC 000 subb A, #80h ; 'Ç' ; Subtract Second Operand from Acc with Borrow ROM:82EE 000 jc ROM_82D2 ; Jump if Carry is set ROM:82EE ROM:82F0 ROM:82F0 ROM_82F0: ; CODE XREF: ROM_81FB+EAj ROM:82F0 000 mov DPTR, #1BCh ; Move (Op1 <- Op2) ROM:82F3 000 movx A, @DPTR ; Move from/to external RAM ROM:82F4 000 setb C ; Set Direct Bit ROM:82F5 000 subb A, #7 ; Subtract Second Operand from Acc with Borrow ROM:82F7 000 jnc ROM_82C3 ; Jump if Carry is clear ROM:82F7 ROM:82F9 000 mov DPTR, #1BCh ; Move (Op1 <- Op2) ROM:82FC 000 movx A, @DPTR ; Move from/to external RAM ROM:82FD 000 cjne A, #7, ROM_8309 ; Compare Operands and JNE ROM:82FD ROM:8300 000 mov DPTR, #1BBh ; Move (Op1 <- Op2) ROM:8303 000 movx A, @DPTR ; Move from/to external RAM ROM:8304 000 setb C ; Set Direct Bit ROM:8305 000 subb A, #0D0h ; '-' ; Subtract Second Operand from Acc with Borrow ROM:8307 000 jnc ROM_82C3 ; Jump if Carry is clear ROM:8307 ROM:8309 ROM:8309 ROM_8309: ; CODE XREF: ROM_81FB+102j ROM:8309 000 mov DPTR, #1BBh ; Move (Op1 <- Op2) ROM:830C 000 movx A, @DPTR ; Move from/to external RAM ROM:830D 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:830F 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8312 000 movx @DPTR, A ; Move from/to external RAM ROM:8313 000 movx A, @DPTR ; Move from/to external RAM ROM:8314 000 clr C ; Clear Operand (0) ROM:8315 000 subb A, #40h ; '@' ; Subtract Second Operand from Acc with Borrow ROM:8317 000 jnc ROM_832D ; Jump if Carry is clear ROM:8317 ROM:8319 000 mov DPTR, #1BBh ; Move (Op1 <- Op2) ROM:831C 000 movx A, @DPTR ; Move from/to external RAM ROM:831D 000 anl A, #80h ; Logical AND (op1 &= op2) ROM:831F 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8322 000 movx @DPTR, A ; Move from/to external RAM ROM:8323 000 mov DPTR, #1BCh ; Move (Op1 <- Op2) ROM:8326 000 movx A, @DPTR ; Move from/to external RAM ROM:8327 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:832A 000 movx @DPTR, A ; Move from/to external RAM ROM:832B 000 sjmp ROM_8353 ; Short jump ROM:832B ROM:832D ; --------------------------------------------------------------------------- ROM:832D ROM:832D ROM_832D: ; CODE XREF: ROM_81FB+11Cj ROM:832D 000 mov DPTR, #1BBh ; Move (Op1 <- Op2) ROM:8330 000 movx A, @DPTR ; Move from/to external RAM ROM:8331 000 anl A, #80h ; Logical AND (op1 &= op2) ROM:8333 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8336 000 movx @DPTR, A ; Move from/to external RAM ROM:8337 000 mov DPTR, #1BCh ; Move (Op1 <- Op2) ROM:833A 000 movx A, @DPTR ; Move from/to external RAM ROM:833B 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:833E 000 movx @DPTR, A ; Move from/to external RAM ROM:833F 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8342 000 movx A, @DPTR ; Move from/to external RAM ROM:8343 000 jz ROM_834D ; Jump if Acc is zero ROM:8343 ROM:8345 000 clr A ; Clear Operand (0) ROM:8346 000 movx @DPTR, A ; Move from/to external RAM ROM:8347 000 inc DPTR ; Increment Operand ROM:8348 000 movx A, @DPTR ; Move from/to external RAM ROM:8349 000 inc A ; Increment Operand ROM:834A 000 movx @DPTR, A ; Move from/to external RAM ROM:834B 000 sjmp ROM_8353 ; Short jump ROM:834B ROM:834D ; --------------------------------------------------------------------------- ROM:834D ROM:834D ROM_834D: ; CODE XREF: ROM_81FB+148j ROM:834D 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8350 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:8352 000 movx @DPTR, A ; Move from/to external RAM ROM:8352 ROM:8353 ROM:8353 ROM_8353: ; CODE XREF: ROM_81FB+130j ROM:8353 ; ROM_81FB+150j ROM:8353 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8356 000 movx A, @DPTR ; Move from/to external RAM ROM:8357 000 mov R7, A ; Move (Op1 <- Op2) ROM:8358 000 inc DPTR ; Increment Operand ROM:8359 000 movx A, @DPTR ; Move from/to external RAM ROM:835A 000 mov R5, A ; Move (Op1 <- Op2) ROM:835B 000 lcall ROM_8163 ; Long Subroutine Call ROM:835B ROM:835E 000 jc ROM_8363 ; Jump if Carry is set ROM:835E ROM:8360 000 ljmp ROM_8400 ; Long Jump ROM:8360 ROM:8363 ; --------------------------------------------------------------------------- ROM:8363 ROM:8363 ROM_8363: ; CODE XREF: ROM_81FB:ROM_82CFj ROM:8363 ; ROM_81FB:ROM_82DEj ... ROM:8363 000 mov DPTR, #1BBh ; Move (Op1 <- Op2) ROM:8366 000 movx A, @DPTR ; Move from/to external RAM ROM:8367 000 mov DPTR, #1B0h ; Move (Op1 <- Op2) ROM:836A 000 movx @DPTR, A ; Move from/to external RAM ROM:836B 000 mov DPTR, #1BCh ; Move (Op1 <- Op2) ROM:836E 000 movx A, @DPTR ; Move from/to external RAM ROM:836F 000 mov DPTR, #1B1h ; Move (Op1 <- Op2) ROM:8372 000 movx @DPTR, A ; Move from/to external RAM ROM:8373 000 mov DPTR, #53Ch ; Move (Op1 <- Op2) ROM:8376 000 mov A, #2 ; Move (Op1 <- Op2) ROM:8378 000 movx @DPTR, A ; Move from/to external RAM ROM:8379 000 sjmp ROM_83C0 ; Short jump ROM:8379 ROM:837B ; --------------------------------------------------------------------------- ROM:837B ROM:837B ROM_837B: ; CODE XREF: ROM_81FB+81j ROM:837B 000 mov R5, #31h ; '1' ; Move (Op1 <- Op2) ROM:837D 000 mov R7, #38h ; '8' ; Move (Op1 <- Op2) ROM:837F 000 lcall ROM_8189 ; Long Subroutine Call ROM:837F ROM:8382 000 jnc ROM_83C0 ; Jump if Carry is clear ROM:8382 ROM:8384 000 mov DPTR, #53Ch ; Move (Op1 <- Op2) ROM:8387 000 mov A, #3 ; Move (Op1 <- Op2) ROM:8389 000 movx @DPTR, A ; Move from/to external RAM ROM:838A 000 sjmp ROM_83C0 ; Short jump ROM:838A ROM:838C ; --------------------------------------------------------------------------- ROM:838C ROM:838C ROM_838C: ; CODE XREF: ROM_81FB+87j ROM:838C 000 mov DPTR, #1AEh ; Move (Op1 <- Op2) ROM:838F 000 movx A, @DPTR ; Move from/to external RAM ROM:8390 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:8392 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:8395 000 movx @DPTR, A ; Move from/to external RAM ROM:8396 000 mov DPTR, #1AFh ; Move (Op1 <- Op2) ROM:8399 000 movx A, @DPTR ; Move from/to external RAM ROM:839A 000 mov DPTR, #5DBh ; Move (Op1 <- Op2) ROM:839D 000 movx @DPTR, A ; Move from/to external RAM ROM:839E 000 clr A ; Clear Operand (0) ROM:839F 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:83A2 000 movx @DPTR, A ; Move from/to external RAM ROM:83A3 000 inc DPTR ; Increment Operand ROM:83A4 000 mov A, #5 ; Move (Op1 <- Op2) ROM:83A6 000 movx @DPTR, A ; Move from/to external RAM ROM:83A7 000 inc DPTR ; Increment Operand ROM:83A8 000 mov A, #0DAh ; '+' ; Move (Op1 <- Op2) ROM:83AA 000 movx @DPTR, A ; Move from/to external RAM ROM:83AB 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:83AD 000 mov R5, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:83AF 000 clr A ; Clear Operand (0) ROM:83B0 000 mov R7, A ; Move (Op1 <- Op2) ROM:83B1 000 lcall ROM_52A4 ; Long Subroutine Call ROM:83B1 ROM:83B4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:83B5 000 jz ROM_83C0 ; Jump if Acc is zero ROM:83B5 ROM:83B7 000 mov DPTR, #53Ch ; Move (Op1 <- Op2) ROM:83BA 000 clr A ; Clear Operand (0) ROM:83BB 000 movx @DPTR, A ; Move from/to external RAM ROM:83BC 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:83BF 000 movx @DPTR, A ; Move from/to external RAM ROM:83BF ROM:83C0 ROM:83C0 ROM_83C0: ; CODE XREF: ROM_81FB+76j ROM:83C0 ; ROM_81FB+8Ej ... ROM:83C0 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:83C3 000 movx A, @DPTR ; Move from/to external RAM ROM:83C4 000 xrl A, #3 ; Exclusive OR (op1 ^= op2) ROM:83C6 000 jnz ROM_8400 ; Jump if Acc is not zero ROM:83C6 ROM:83C8 000 inc DPTR ; Increment Operand ROM:83C9 000 movx A, @DPTR ; Move from/to external RAM ROM:83CA 000 dec A ; Decrement Operand ROM:83CB 000 jz ROM_83F0 ; Jump if Acc is zero ROM:83CB ROM:83CD 000 inc A ; Increment Operand ROM:83CE 000 jnz ROM_8400 ; Jump if Acc is not zero ROM:83CE ROM:83D0 000 mov R5, #2 ; Move (Op1 <- Op2) ROM:83D2 000 clr A ; Clear Operand (0) ROM:83D3 000 mov R7, A ; Move (Op1 <- Op2) ROM:83D4 000 lcall ROM_8163 ; Long Subroutine Call ROM:83D4 ROM:83D7 000 jnc ROM_8400 ; Jump if Carry is clear ROM:83D7 ROM:83D9 000 mov DPTR, #1BBh ; Move (Op1 <- Op2) ROM:83DC 000 movx A, @DPTR ; Move from/to external RAM ROM:83DD 000 mov DPTR, #1B0h ; Move (Op1 <- Op2) ROM:83E0 000 movx @DPTR, A ; Move from/to external RAM ROM:83E1 000 mov DPTR, #1BCh ; Move (Op1 <- Op2) ROM:83E4 000 movx A, @DPTR ; Move from/to external RAM ROM:83E5 000 mov DPTR, #1B1h ; Move (Op1 <- Op2) ROM:83E8 000 movx @DPTR, A ; Move from/to external RAM ROM:83E9 000 mov DPTR, #53Ch ; Move (Op1 <- Op2) ROM:83EC 000 mov A, #1 ; Move (Op1 <- Op2) ROM:83EE 000 movx @DPTR, A ; Move from/to external RAM ROM:83EF 000 ret ; Return from subroutine ROM:83EF ROM:83F0 ; --------------------------------------------------------------------------- ROM:83F0 ROM:83F0 ROM_83F0: ; CODE XREF: ROM_81FB+1D0j ROM:83F0 000 mov R5, #23h ; '#' ; Move (Op1 <- Op2) ROM:83F2 000 mov R7, #28h ; '(' ; Move (Op1 <- Op2) ROM:83F4 000 lcall ROM_8189 ; Long Subroutine Call ROM:83F4 ROM:83F7 000 jnc ROM_8400 ; Jump if Carry is clear ROM:83F7 ROM:83F9 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:83FC 000 clr A ; Clear Operand (0) ROM:83FD 000 movx @DPTR, A ; Move from/to external RAM ROM:83FE 000 inc DPTR ; Increment Operand ROM:83FF 000 movx @DPTR, A ; Move from/to external RAM ROM:83FF ROM:8400 ROM:8400 ROM_8400: ; CODE XREF: ROM_81FB+6j ROM:8400 ; ROM_81FB+D1j ... ROM:8400 000 ret ; Return from subroutine ROM:8400 ROM:8400 ; End of function ROM_81FB ROM:8400 ROM:8401 ROM:8401 ; =============== S U B R O U T I N E ======================================= ROM:8401 ROM:8401 ROM:8401 ROM_8401: ; CODE XREF: ROM_8442+C4p ROM:8401 ; ROM_850D+11Ep ROM:8401 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:8404 000 movx A, @DPTR ; Move from/to external RAM ROM:8405 000 jnb ACC.3, ROM_840A ; Accumulator ROM:8405 ROM:8408 000 sjmp ROM_843D ; Short jump ROM:8408 ROM:840A ; --------------------------------------------------------------------------- ROM:840A ROM:840A ROM_840A: ; CODE XREF: ROM_8401+4j ROM:840A 000 mov DPTR, #1A6h ; Move (Op1 <- Op2) ROM:840D 000 movx A, @DPTR ; Move from/to external RAM ROM:840E 000 setb C ; Set Direct Bit ROM:840F 000 subb A, #5 ; Subtract Second Operand from Acc with Borrow ROM:8411 000 jnc ROM_8422 ; Jump if Carry is clear ROM:8411 ROM:8413 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:8416 000 movx A, @DPTR ; Move from/to external RAM ROM:8417 000 jb ACC.5, ROM_8441 ; Accumulator ROM:8417 ROM:841A 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:841D 000 movx A, @DPTR ; Move from/to external RAM ROM:841E 000 orl A, #30h ; Logical OR (op1 |= op2) ROM:8420 000 movx @DPTR, A ; Move from/to external RAM ROM:8421 000 ret ; Return from subroutine ROM:8421 ROM:8422 ; --------------------------------------------------------------------------- ROM:8422 ROM:8422 ROM_8422: ; CODE XREF: ROM_8401+10j ROM:8422 000 mov DPTR, #1A6h ; Move (Op1 <- Op2) ROM:8425 000 movx A, @DPTR ; Move from/to external RAM ROM:8426 000 setb C ; Set Direct Bit ROM:8427 000 subb A, #0Ah ; Subtract Second Operand from Acc with Borrow ROM:8429 000 jnc ROM_843A ; Jump if Carry is clear ROM:8429 ROM:842B 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:842E 000 movx A, @DPTR ; Move from/to external RAM ROM:842F 000 jb ACC.4, ROM_8441 ; Accumulator ROM:842F ROM:8432 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:8435 000 movx A, @DPTR ; Move from/to external RAM ROM:8436 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:8438 000 movx @DPTR, A ; Move from/to external RAM ROM:8439 000 ret ; Return from subroutine ROM:8439 ROM:843A ; --------------------------------------------------------------------------- ROM:843A ROM:843A ROM_843A: ; CODE XREF: ROM_8401+28j ROM:843A 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:843A ROM:843D ROM:843D ROM_843D: ; CODE XREF: ROM_8401+7j ROM:843D 000 movx A, @DPTR ; Move from/to external RAM ROM:843E 000 anl A, #0CFh ; Logical AND (op1 &= op2) ROM:8440 000 movx @DPTR, A ; Move from/to external RAM ROM:8440 ROM:8441 ROM:8441 ROM_8441: ; CODE XREF: ROM_8401+16j ROM:8441 ; ROM_8401+2Ej ROM:8441 000 ret ; Return from subroutine ROM:8441 ROM:8441 ; End of function ROM_8401 ROM:8441 ROM:8442 ROM:8442 ; =============== S U B R O U T I N E ======================================= ROM:8442 ROM:8442 ROM:8442 ROM_8442: ; CODE XREF: ROM_61FA+6p ROM:8442 ROM:8442 ; FUNCTION CHUNK AT ROM:926C SIZE 00000033 BYTES ROM:8442 ROM:8442 000 mov DPTR, #GPIO_GRDRE ; Port E Data Register ROM:8445 000 movx A, @DPTR ; Move from/to external RAM ROM:8446 000 swap A ; Swap nibbles of Acc ROM:8447 000 rrc A ; Rotate Acc right through Carry ROM:8448 000 rrc A ; Rotate Acc right through Carry ROM:8449 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:844B 000 rrc A ; Rotate Acc right through Carry ROM:844C 000 mov RAM_2D.6, C ; Move (Op1 <- Op2) ROM:844E 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:8451 000 movx A, @DPTR ; Move from/to external RAM ROM:8452 000 jnb ACC.2, ROM_8459 ; Accumulator ROM:8452 ROM:8455 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:8457 000 sjmp ROM_845B ; Short jump ROM:8457 ROM:8459 ; --------------------------------------------------------------------------- ROM:8459 ROM:8459 ROM_8459: ; CODE XREF: ROM_8442+10j ROM:8459 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:8459 ROM:845B ROM:845B ROM_845B: ; CODE XREF: ROM_8442+15j ROM:845B 000 mov C, RAM_2D.6 ; Move (Op1 <- Op2) ROM:845D 000 clr A ; Clear Operand (0) ROM:845E 000 rlc A ; Rotate Acc left through Carry ROM:845F 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:8460 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:8462 000 jnz ROM_847B ; Jump if Acc is not zero ROM:8462 ROM:8464 000 mov DPTR, #582h ; Move (Op1 <- Op2) ROM:8467 000 movx @DPTR, A ; Move from/to external RAM ROM:8468 000 inc DPTR ; Increment Operand ROM:8469 000 mov A, #3 ; Move (Op1 <- Op2) ROM:846B 000 movx @DPTR, A ; Move from/to external RAM ROM:846C 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:846F 000 movx A, @DPTR ; Move from/to external RAM ROM:8470 000 jb RAM_2D.6, ROM_8477 ; Jump if Bit is set ROM:8470 ROM:8473 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:8475 000 movx @DPTR, A ; Move from/to external RAM ROM:8476 000 ret ; Return from subroutine ROM:8476 ROM:8477 ; --------------------------------------------------------------------------- ROM:8477 ROM:8477 ROM_8477: ; CODE XREF: ROM_8442+2Ej ROM:8477 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:8479 000 movx @DPTR, A ; Move from/to external RAM ROM:847A 000 ret ; Return from subroutine ROM:847A ROM:847B ; --------------------------------------------------------------------------- ROM:847B ROM:847B ROM_847B: ; CODE XREF: ROM_8442+20j ROM:847B 000 mov DPTR, #582h ; Move (Op1 <- Op2) ROM:847E 000 movx A, @DPTR ; Move from/to external RAM ROM:847F 000 mov R6, A ; Move (Op1 <- Op2) ROM:8480 000 inc DPTR ; Increment Operand ROM:8481 000 movx A, @DPTR ; Move from/to external RAM ROM:8482 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:8483 000 jnz ROM_8488 ; Jump if Acc is not zero ROM:8483 ROM:8485 ROM:8485 chip_id_low_byte: ; Long Jump ROM:8485 000 ljmp ROM_850C ROM:8485 ROM:8488 ; --------------------------------------------------------------------------- ROM:8488 ROM:8488 ROM_8488: ; CODE XREF: ROM_8442+41j ROM:8488 000 mov DPTR, #582h ; Move (Op1 <- Op2) ROM:848B 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:848D 000 mov B, A ; B Register ROM:848F 000 lcall ROM_B623 ; Long Subroutine Call ROM:848F ROM:8492 000 mov DPTR, #582h ; Move (Op1 <- Op2) ROM:8495 000 movx A, @DPTR ; Move from/to external RAM ROM:8496 000 mov R6, A ; Move (Op1 <- Op2) ROM:8497 000 inc DPTR ; Increment Operand ROM:8498 000 movx A, @DPTR ; Move from/to external RAM ROM:8499 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:849A 000 jnz ROM_850C ; Jump if Acc is not zero ROM:849A ROM:849C 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:849F 000 inc A ; Increment Operand ROM:84A0 000 movx @DPTR, A ; Move from/to external RAM ROM:84A1 000 mov DPTR, #507h ; Move (Op1 <- Op2) ROM:84A4 000 mov A, #20h ; ' ' ; Move (Op1 <- Op2) ROM:84A6 000 movx @DPTR, A ; Move from/to external RAM ROM:84A7 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:84AA 000 movx A, @DPTR ; Move from/to external RAM ROM:84AB 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:84AD 000 movx @DPTR, A ; Move from/to external RAM ROM:84AE 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:84B1 000 movx A, @DPTR ; Move from/to external RAM ROM:84B2 000 jnb ACC.2, ROM_84DB ; Accumulator ROM:84B2 ROM:84B5 000 movx A, @DPTR ; Move from/to external RAM ROM:84B6 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:84B8 000 movx @DPTR, A ; Move from/to external RAM ROM:84B9 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:84BC 000 movx A, @DPTR ; Move from/to external RAM ROM:84BD 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:84BF 000 movx @DPTR, A ; Move from/to external RAM ROM:84C0 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:84C3 000 movx A, @DPTR ; Move from/to external RAM ROM:84C4 000 anl A, #0CFh ; Logical AND (op1 &= op2) ROM:84C6 000 movx @DPTR, A ; Move from/to external RAM ROM:84C7 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:84CA 000 clr A ; Clear Operand (0) ROM:84CB 000 movx @DPTR, A ; Move from/to external RAM ROM:84CC 000 inc DPTR ; Increment Operand ROM:84CD 000 movx @DPTR, A ; Move from/to external RAM ROM:84CE 000 inc DPTR ; Increment Operand ROM:84CF 000 movx @DPTR, A ; Move from/to external RAM ROM:84D0 000 mov R5, #0DFh ; '¯' ; Move (Op1 <- Op2) ROM:84D2 000 mov R4, #1 ; Move (Op1 <- Op2) ROM:84D4 000 mov R7, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:84D6 000 mov R6, #1 ; Move (Op1 <- Op2) ROM:84D8 000 ljmp ROM_926C ; Long Jump ROM:84D8 ROM:84DB ; --------------------------------------------------------------------------- ROM:84DB ROM:84DB ROM_84DB: ; CODE XREF: ROM_8442+70j ROM:84DB 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:84DE 000 movx A, @DPTR ; Move from/to external RAM ROM:84DF 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:84E1 000 movx @DPTR, A ; Move from/to external RAM ROM:84E2 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:84E5 000 movx A, @DPTR ; Move from/to external RAM ROM:84E6 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:84E8 000 movx @DPTR, A ; Move from/to external RAM ROM:84E9 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:84EC 000 clr A ; Clear Operand (0) ROM:84ED 000 movx @DPTR, A ; Move from/to external RAM ROM:84EE 000 mov DPTR, #6C5h ; Move (Op1 <- Op2) ROM:84F1 000 movx @DPTR, A ; Move from/to external RAM ROM:84F1 ROM:84F2 ROM:84F2 ROM_84F2: ; CODE XREF: ROM_8442+C2j ROM:84F2 000 mov DPTR, #197h ; Move (Op1 <- Op2) ROM:84F5 000 clr A ; Clear Operand (0) ROM:84F6 000 movx @DPTR, A ; Move from/to external RAM ROM:84F7 000 lcall ROM_850D ; Long Subroutine Call ROM:84F7 ROM:84FA 000 mov DPTR, #6C5h ; Move (Op1 <- Op2) ROM:84FD 000 movx A, @DPTR ; Move from/to external RAM ROM:84FE 000 inc A ; Increment Operand ROM:84FF 000 movx @DPTR, A ; Move from/to external RAM ROM:8500 000 movx A, @DPTR ; Move from/to external RAM ROM:8501 000 clr C ; Clear Operand (0) ROM:8502 000 subb A, #14h ; Subtract Second Operand from Acc with Borrow ROM:8504 000 jc ROM_84F2 ; Jump if Carry is set ROM:8504 ROM:8506 000 lcall ROM_8401 ; Long Subroutine Call ROM:8506 ROM:8509 000 lcall ROM_7E25 ; Long Subroutine Call ROM:8509 ROM:850C ROM:850C ROM_850C: ; CODE XREF: ROM_8442:chip_id_low_bytej ROM:850C ; ROM_8442+58j ROM:850C 000 ret ; Return from subroutine ROM:850C ROM:850C ; End of function ROM_8442 ROM:850C ROM:850D ROM:850D ; =============== S U B R O U T I N E ======================================= ROM:850D ROM:850D ROM:850D ROM_850D: ; CODE XREF: ROM_6209p ROM:850D ; ROM_8442+B5p ... ROM:850D 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:8510 000 movx A, @DPTR ; Move from/to external RAM ROM:8511 000 jb ACC.1, ROM_8517 ; Accumulator ROM:8511 ROM:8514 000 ljmp ROM_8694 ; Long Jump ROM:8514 ROM:8517 ; --------------------------------------------------------------------------- ROM:8517 ROM:8517 ROM_8517: ; CODE XREF: ROM_850D+4j ROM:8517 000 mov DPTR, #197h ; Move (Op1 <- Op2) ROM:851A 000 movx A, @DPTR ; Move from/to external RAM ROM:851B 000 jz ROM_8520 ; Jump if Acc is zero ROM:851B ROM:851D 000 ljmp ROM_868E ; Long Jump ROM:851D ROM:8520 ; --------------------------------------------------------------------------- ROM:8520 ROM:8520 ROM_8520: ; CODE XREF: ROM_850D+Ej ROM:8520 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:8523 000 movx A, @DPTR ; Move from/to external RAM ROM:8524 000 dec A ; Decrement Operand ROM:8525 000 add A, #0FDh ; '²' ; Add Second Operand to Acc ROM:8527 000 jnc ROM_852B ; Jump if Carry is clear ROM:8527 ROM:8529 000 sjmp ROM_8590 ; Short jump ROM:8529 ROM:852B ; --------------------------------------------------------------------------- ROM:852B ROM:852B ROM_852B: ; CODE XREF: ROM_850D+1Aj ROM:852B 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:852E 000 movx A, @DPTR ; Move from/to external RAM ROM:852F 000 add A, ACC ; Accumulator ROM:8531 000 add A, ACC ; Accumulator ROM:8533 000 add A, #0A6h ; 'ª' ; Add Second Operand to Acc ROM:8535 000 mov DP0L, A ; Data Pointer Low Byte ROM:8537 000 clr A ; Clear Operand (0) ROM:8538 000 addc A, #8Dh ; 'ì' ; Add Second Operand to Acc with carry ROM:853A 000 mov DP0H, A ; Data Pointer High Byte ROM:853C 000 clr A ; Clear Operand (0) ROM:853D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:853E 000 mov R7, A ; Move (Op1 <- Op2) ROM:853F 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:8542 000 movx A, @DPTR ; Move from/to external RAM ROM:8543 000 add A, ACC ; Accumulator ROM:8545 000 add A, ACC ; Accumulator ROM:8547 000 add A, #0A7h ; 'º' ; Add Second Operand to Acc ROM:8549 000 mov DP0L, A ; Data Pointer Low Byte ROM:854B 000 clr A ; Clear Operand (0) ROM:854C 000 addc A, #8Dh ; 'ì' ; Add Second Operand to Acc with carry ROM:854E 000 mov DP0H, A ; Data Pointer High Byte ROM:8550 000 clr A ; Clear Operand (0) ROM:8551 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8552 000 mov R4, A ; Move (Op1 <- Op2) ROM:8553 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8555 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8556 000 mov R5, A ; Move (Op1 <- Op2) ROM:8557 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:855A 000 movx A, @DPTR ; Move from/to external RAM ROM:855B 000 add A, ACC ; Accumulator ROM:855D 000 add A, ACC ; Accumulator ROM:855F 000 add A, #0A9h ; '¬' ; Add Second Operand to Acc ROM:8561 000 mov DP0L, A ; Data Pointer Low Byte ROM:8563 000 clr A ; Clear Operand (0) ROM:8564 000 addc A, #8Dh ; 'ì' ; Add Second Operand to Acc with carry ROM:8566 000 mov DP0H, A ; Data Pointer High Byte ROM:8568 000 clr A ; Clear Operand (0) ROM:8569 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:856A 000 mov DPTR, #6A4h ; Move (Op1 <- Op2) ROM:856D 000 movx @DPTR, A ; Move from/to external RAM ROM:856E 000 mov DPTR, #6A2h ; Move (Op1 <- Op2) ROM:8571 000 mov A, R4 ; Move (Op1 <- Op2) ROM:8572 000 movx @DPTR, A ; Move from/to external RAM ROM:8573 000 inc DPTR ; Increment Operand ROM:8574 000 mov A, R5 ; Move (Op1 <- Op2) ROM:8575 000 movx @DPTR, A ; Move from/to external RAM ROM:8576 000 mov DPTR, #6A1h ; Move (Op1 <- Op2) ROM:8579 000 mov A, R7 ; Move (Op1 <- Op2) ROM:857A 000 movx @DPTR, A ; Move from/to external RAM ROM:857B 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:857D 000 mov R5, #14h ; Move (Op1 <- Op2) ROM:857F 000 clr A ; Clear Operand (0) ROM:8580 000 mov R7, A ; Move (Op1 <- Op2) ROM:8581 000 lcall ROM_562B ; Long Subroutine Call ROM:8581 ROM:8584 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8585 000 mov DPTR, #113h ; Move (Op1 <- Op2) ROM:8588 000 jnz ROM_858C ; Jump if Acc is not zero ROM:8588 ROM:858A 000 sjmp ROM_85D7 ; Short jump ROM:858A ROM:858C ; --------------------------------------------------------------------------- ROM:858C ROM:858C ROM_858C: ; CODE XREF: ROM_850D+7Bj ROM:858C 000 clr A ; Clear Operand (0) ROM:858D 000 movx @DPTR, A ; Move from/to external RAM ROM:858E 000 sjmp ROM_8606 ; Short jump ROM:858E ROM:8590 ; --------------------------------------------------------------------------- ROM:8590 ROM:8590 ROM_8590: ; CODE XREF: ROM_850D+1Cj ROM:8590 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:8593 000 movx A, @DPTR ; Move from/to external RAM ROM:8594 000 add A, ACC ; Accumulator ROM:8596 000 add A, ACC ; Accumulator ROM:8598 000 add A, #0A6h ; 'ª' ; Add Second Operand to Acc ROM:859A 000 mov DP0L, A ; Data Pointer Low Byte ROM:859C 000 clr A ; Clear Operand (0) ROM:859D 000 addc A, #8Dh ; 'ì' ; Add Second Operand to Acc with carry ROM:859F 000 mov DP0H, A ; Data Pointer High Byte ROM:85A1 000 clr A ; Clear Operand (0) ROM:85A2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:85A3 000 mov R7, A ; Move (Op1 <- Op2) ROM:85A4 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:85A7 000 movx A, @DPTR ; Move from/to external RAM ROM:85A8 000 add A, ACC ; Accumulator ROM:85AA 000 add A, ACC ; Accumulator ROM:85AC 000 add A, #0A7h ; 'º' ; Add Second Operand to Acc ROM:85AE 000 mov DP0L, A ; Data Pointer Low Byte ROM:85B0 000 clr A ; Clear Operand (0) ROM:85B1 000 addc A, #8Dh ; 'ì' ; Add Second Operand to Acc with carry ROM:85B3 000 mov DP0H, A ; Data Pointer High Byte ROM:85B5 000 clr A ; Clear Operand (0) ROM:85B6 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:85B7 000 mov R5, A ; Move (Op1 <- Op2) ROM:85B8 000 mov A, #1 ; Move (Op1 <- Op2) ROM:85BA 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:85BB 000 mov DPTR, #696h ; Move (Op1 <- Op2) ROM:85BE 000 xch A, R5 ; Exchange Operands ROM:85BF 000 movx @DPTR, A ; Move from/to external RAM ROM:85C0 000 inc DPTR ; Increment Operand ROM:85C1 000 mov A, R5 ; Move (Op1 <- Op2) ROM:85C2 000 movx @DPTR, A ; Move from/to external RAM ROM:85C3 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:85C6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:85C7 000 movx @DPTR, A ; Move from/to external RAM ROM:85C8 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:85CA 000 mov R5, #0Ch ; Move (Op1 <- Op2) ROM:85CC 000 clr A ; Clear Operand (0) ROM:85CD 000 mov R7, A ; Move (Op1 <- Op2) ROM:85CE 000 lcall ROM_52A4 ; Long Subroutine Call ROM:85CE ROM:85D1 000 mov A, R7 ; Move (Op1 <- Op2) ROM:85D2 000 jnz ROM_85DC ; Jump if Acc is not zero ROM:85D2 ROM:85D4 000 mov DPTR, #113h ; Move (Op1 <- Op2) ROM:85D4 ROM:85D7 ROM:85D7 ROM_85D7: ; CODE XREF: ROM_850D+7Dj ROM:85D7 000 movx A, @DPTR ; Move from/to external RAM ROM:85D8 000 inc A ; Increment Operand ROM:85D9 000 movx @DPTR, A ; Move from/to external RAM ROM:85DA 000 sjmp ROM_8606 ; Short jump ROM:85DA ROM:85DC ; --------------------------------------------------------------------------- ROM:85DC ROM:85DC ROM_85DC: ; CODE XREF: ROM_850D+C5j ROM:85DC 000 mov DPTR, #113h ; Move (Op1 <- Op2) ROM:85DF 000 clr A ; Clear Operand (0) ROM:85E0 000 movx @DPTR, A ; Move from/to external RAM ROM:85E1 000 mov DPTR, #1A6h ; Move (Op1 <- Op2) ROM:85E4 000 movx A, @DPTR ; Move from/to external RAM ROM:85E5 000 mov DPTR, #1A4h ; Move (Op1 <- Op2) ROM:85E8 000 movx @DPTR, A ; Move from/to external RAM ROM:85E9 000 mov DPTR, #195h ; Move (Op1 <- Op2) ROM:85EC 000 movx A, @DPTR ; Move from/to external RAM ROM:85ED 000 jnb ACC.4, ROM_8606 ; Accumulator ROM:85ED ROM:85F0 000 mov DPTR, #1A4h ; Move (Op1 <- Op2) ROM:85F3 000 mov A, #64h ; 'd' ; Move (Op1 <- Op2) ROM:85F5 000 movx @DPTR, A ; Move from/to external RAM ROM:85F6 000 mov DPTR, #1AAh ; Move (Op1 <- Op2) ROM:85F9 000 movx A, @DPTR ; Move from/to external RAM ROM:85FA 000 mov DPTR, #1A8h ; Move (Op1 <- Op2) ROM:85FD 000 movx @DPTR, A ; Move from/to external RAM ROM:85FE 000 mov DPTR, #1ABh ; Move (Op1 <- Op2) ROM:8601 000 movx A, @DPTR ; Move from/to external RAM ROM:8602 000 mov DPTR, #1A9h ; Move (Op1 <- Op2) ROM:8605 000 movx @DPTR, A ; Move from/to external RAM ROM:8605 ROM:8606 ROM:8606 ROM_8606: ; CODE XREF: ROM_850D+81j ROM:8606 ; ROM_850D+CDj ... ROM:8606 000 mov DPTR, #113h ; Move (Op1 <- Op2) ROM:8609 000 movx A, @DPTR ; Move from/to external RAM ROM:860A 000 clr C ; Clear Operand (0) ROM:860B 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:860D 000 jc ROM_8616 ; Jump if Carry is set ROM:860D ROM:860F 000 inc DPTR ; Increment Operand ROM:8610 000 movx A, @DPTR ; Move from/to external RAM ROM:8611 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:8613 000 movx @DPTR, A ; Move from/to external RAM ROM:8614 000 sjmp ROM_861D ; Short jump ROM:8614 ROM:8616 ; --------------------------------------------------------------------------- ROM:8616 ROM:8616 ROM_8616: ; CODE XREF: ROM_850D+100j ROM:8616 000 mov DPTR, #114h ; Move (Op1 <- Op2) ROM:8619 000 movx A, @DPTR ; Move from/to external RAM ROM:861A 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:861C 000 movx @DPTR, A ; Move from/to external RAM ROM:861C ROM:861D ROM:861D ROM_861D: ; CODE XREF: ROM_850D+107j ROM:861D 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:8620 000 movx A, @DPTR ; Move from/to external RAM ROM:8621 000 inc A ; Increment Operand ROM:8622 000 movx @DPTR, A ; Move from/to external RAM ROM:8623 000 movx A, @DPTR ; Move from/to external RAM ROM:8624 000 clr C ; Clear Operand (0) ROM:8625 000 subb A, #14h ; Subtract Second Operand from Acc with Borrow ROM:8627 000 jc ROM_8694 ; Jump if Carry is set ROM:8627 ROM:8629 000 clr A ; Clear Operand (0) ROM:862A 000 movx @DPTR, A ; Move from/to external RAM ROM:862B 000 lcall ROM_8401 ; Long Subroutine Call ROM:862B ROM:862E 000 mov DPTR, #1D7h ; Move (Op1 <- Op2) ROM:8631 000 movx A, @DPTR ; Move from/to external RAM ROM:8632 000 mov R6, A ; Move (Op1 <- Op2) ROM:8633 000 mov DPTR, #1D6h ; Move (Op1 <- Op2) ROM:8636 000 movx A, @DPTR ; Move from/to external RAM ROM:8637 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:8639 000 add A, #0 ; Add Second Operand to Acc ROM:863B 000 mov R7, A ; Move (Op1 <- Op2) ROM:863C 000 mov A, R4 ; Move (Op1 <- Op2) ROM:863D 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:863E 000 mov DPTR, #6C6h ; Move (Op1 <- Op2) ROM:8641 000 movx @DPTR, A ; Move from/to external RAM ROM:8642 000 inc DPTR ; Increment Operand ROM:8643 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8644 000 movx @DPTR, A ; Move from/to external RAM ROM:8645 000 clr C ; Clear Operand (0) ROM:8646 000 mov DPTR, #6C7h ; Move (Op1 <- Op2) ROM:8649 000 movx A, @DPTR ; Move from/to external RAM ROM:864A 000 subb A, #0AAh ; '¬' ; Subtract Second Operand from Acc with Borrow ROM:864C 000 mov DPTR, #6C6h ; Move (Op1 <- Op2) ROM:864F 000 movx A, @DPTR ; Move from/to external RAM ROM:8650 000 subb A, #0Ah ; Subtract Second Operand from Acc with Borrow ROM:8652 000 jnc ROM_865B ; Jump if Carry is clear ROM:8652 ROM:8654 000 mov DPTR, #168h ; Move (Op1 <- Op2) ROM:8657 000 clr A ; Clear Operand (0) ROM:8658 000 movx @DPTR, A ; Move from/to external RAM ROM:8659 000 sjmp ROM_8687 ; Short jump ROM:8659 ROM:865B ; --------------------------------------------------------------------------- ROM:865B ROM:865B ROM_865B: ; CODE XREF: ROM_850D+145j ROM:865B 000 mov DPTR, #6C7h ; Move (Op1 <- Op2) ROM:865E 000 movx A, @DPTR ; Move from/to external RAM ROM:865F 000 add A, #56h ; 'V' ; Add Second Operand to Acc ROM:8661 000 movx @DPTR, A ; Move from/to external RAM ROM:8662 000 mov DPTR, #6C6h ; Move (Op1 <- Op2) ROM:8665 000 movx A, @DPTR ; Move from/to external RAM ROM:8666 000 addc A, #0F5h ; ')' ; Add Second Operand to Acc with carry ROM:8668 000 movx @DPTR, A ; Move from/to external RAM ROM:8669 000 movx A, @DPTR ; Move from/to external RAM ROM:866A 000 mov R6, A ; Move (Op1 <- Op2) ROM:866B 000 inc DPTR ; Increment Operand ROM:866C 000 movx A, @DPTR ; Move from/to external RAM ROM:866D 000 mov R7, A ; Move (Op1 <- Op2) ROM:866E 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:8670 000 mov R5, #0Ah ; Move (Op1 <- Op2) ROM:8672 000 lcall ROM_B5CE ; Long Subroutine Call ROM:8672 ROM:8675 000 mov DPTR, #6C6h ; Move (Op1 <- Op2) ROM:8678 000 mov A, R6 ; Move (Op1 <- Op2) ROM:8679 000 movx @DPTR, A ; Move from/to external RAM ROM:867A 000 inc DPTR ; Increment Operand ROM:867B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:867C 000 movx @DPTR, A ; Move from/to external RAM ROM:867D 000 mov DPTR, #6C6h ; Move (Op1 <- Op2) ROM:8680 000 movx A, @DPTR ; Move from/to external RAM ROM:8681 000 inc DPTR ; Increment Operand ROM:8682 000 movx A, @DPTR ; Move from/to external RAM ROM:8683 000 mov DPTR, #168h ; Move (Op1 <- Op2) ROM:8686 000 movx @DPTR, A ; Move from/to external RAM ROM:8686 ROM:8687 ROM:8687 ROM_8687: ; CODE XREF: ROM_850D+14Cj ROM:8687 000 mov DPTR, #197h ; Move (Op1 <- Op2) ROM:868A 000 mov A, #19h ; Move (Op1 <- Op2) ROM:868C 000 movx @DPTR, A ; Move from/to external RAM ROM:868D 000 ret ; Return from subroutine ROM:868D ROM:868E ; --------------------------------------------------------------------------- ROM:868E ROM:868E ROM_868E: ; CODE XREF: ROM_850D+10j ROM:868E 000 mov DPTR, #197h ; Move (Op1 <- Op2) ROM:8691 000 movx A, @DPTR ; Move from/to external RAM ROM:8692 000 dec A ; Decrement Operand ROM:8693 000 movx @DPTR, A ; Move from/to external RAM ROM:8693 ROM:8694 ROM:8694 ROM_8694: ; CODE XREF: ROM_850D+7j ROM:8694 ; ROM_850D+11Aj ROM:8694 000 ret ; Return from subroutine ROM:8694 ROM:8694 ; End of function ROM_850D ROM:8694 ROM:8695 ; --------------------------------------------------------------------------- ROM:8695 ; START OF FUNCTION CHUNK FOR ROM_8B4C ROM:8695 ROM:8695 ROM_8695: ; CODE XREF: ROM_8B4C+17j ROM:8695 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8698 000 movx A, @DPTR ; Move from/to external RAM ROM:8699 000 jb ACC.2, ROM_86B1 ; Accumulator ROM:8699 ROM:869C 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:869F 000 movx A, @DPTR ; Move from/to external RAM ROM:86A0 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:86A2 000 movx @DPTR, A ; Move from/to external RAM ROM:86A3 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:86A6 000 movx A, @DPTR ; Move from/to external RAM ROM:86A7 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:86A9 000 movx @DPTR, A ; Move from/to external RAM ROM:86AA 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:86AD 000 movx A, @DPTR ; Move from/to external RAM ROM:86AE 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:86B0 000 movx @DPTR, A ; Move from/to external RAM ROM:86B0 ROM:86B1 ROM:86B1 ROM_86B1: ; CODE XREF: ROM_8B4C-4B3j ROM:86B1 000 ret ; Return from subroutine ROM:86B1 ROM:86B2 ; --------------------------------------------------------------------------- ROM:86B2 ROM:86B2 ROM_86B2: ; CODE XREF: ROM_8B4C:ROM_8B66j ROM:86B2 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:86B5 000 movx A, @DPTR ; Move from/to external RAM ROM:86B6 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:86B8 000 movx @DPTR, A ; Move from/to external RAM ROM:86B9 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:86BC 000 clr A ; Clear Operand (0) ROM:86BD 000 movx @DPTR, A ; Move from/to external RAM ROM:86BE 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:86C1 000 movx A, @DPTR ; Move from/to external RAM ROM:86C2 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:86C4 000 movx @DPTR, A ; Move from/to external RAM ROM:86C5 000 inc DPTR ; Increment Operand ROM:86C6 000 movx A, @DPTR ; Move from/to external RAM ROM:86C7 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:86C9 000 movx @DPTR, A ; Move from/to external RAM ROM:86CA 000 movx A, @DPTR ; Move from/to external RAM ROM:86CB 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:86CD 000 movx @DPTR, A ; Move from/to external RAM ROM:86CE 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:86D1 000 movx A, @DPTR ; Move from/to external RAM ROM:86D2 000 jnz ROM_8702 ; Jump if Acc is not zero ROM:86D2 ROM:86D4 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:86D7 000 movx A, @DPTR ; Move from/to external RAM ROM:86D8 000 jnb ACC.0, ROM_86FD ; Accumulator ROM:86D8 ROM:86DB 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:86DE 000 movx A, @DPTR ; Move from/to external RAM ROM:86DF 000 jnb ACC.5, ROM_86F6 ; Accumulator ROM:86DF ROM:86E2 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:86E5 000 mov A, #2 ; Move (Op1 <- Op2) ROM:86E7 000 movx @DPTR, A ; Move from/to external RAM ROM:86E8 000 mov DPTR, #114h ; Move (Op1 <- Op2) ROM:86EB 000 movx A, @DPTR ; Move from/to external RAM ROM:86EC 000 jnb ACC.7, ROM_8702 ; Accumulator ROM:86EC ROM:86EF 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:86F2 000 mov A, #4 ; Move (Op1 <- Op2) ROM:86F4 000 movx @DPTR, A ; Move from/to external RAM ROM:86F5 000 ret ; Return from subroutine ROM:86F5 ROM:86F6 ; --------------------------------------------------------------------------- ROM:86F6 ROM:86F6 ROM_86F6: ; CODE XREF: ROM_8B4C-46Dj ROM:86F6 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:86F9 000 mov A, #3 ; Move (Op1 <- Op2) ROM:86FB 000 movx @DPTR, A ; Move from/to external RAM ROM:86FC 000 ret ; Return from subroutine ROM:86FC ROM:86FD ; --------------------------------------------------------------------------- ROM:86FD ROM:86FD ROM_86FD: ; CODE XREF: ROM_8B4C-474j ROM:86FD 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:8700 000 clr A ; Clear Operand (0) ROM:8701 000 movx @DPTR, A ; Move from/to external RAM ROM:8701 ROM:8702 ROM:8702 ROM_8702: ; CODE XREF: ROM_8B4C-47Aj ROM:8702 ; ROM_8B4C-460j ROM:8702 000 ret ; Return from subroutine ROM:8702 ROM:8702 ; END OF FUNCTION CHUNK FOR ROM_8B4C ROM:8703 ROM:8703 ; =============== S U B R O U T I N E ======================================= ROM:8703 ROM:8703 ROM:8703 ROM_8703: ; CODE XREF: ROM_8B4C:ROM_87CCp ROM:8703 ; ROM_8B4C:ROM_881Dp ROM:8703 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8706 000 movx A, @DPTR ; Move from/to external RAM ROM:8707 000 jnb ACC.4, ROM_8711 ; Accumulator ROM:8707 ROM:870A 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:870D 000 mov A, #5 ; Move (Op1 <- Op2) ROM:870F 000 movx @DPTR, A ; Move from/to external RAM ROM:8710 000 ret ; Return from subroutine ROM:8710 ROM:8711 ; --------------------------------------------------------------------------- ROM:8711 ROM:8711 ROM_8711: ; CODE XREF: ROM_8703+4j ROM:8711 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:8714 000 movx A, @DPTR ; Move from/to external RAM ROM:8715 000 cjne A, #1, ROM_8728 ; Compare Operands and JNE ROM:8715 ROM:8718 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:871B 000 movx A, @DPTR ; Move from/to external RAM ROM:871C 000 clr C ; Clear Operand (0) ROM:871D 000 subb A, #41h ; 'A' ; Subtract Second Operand from Acc with Borrow ROM:871F 000 jnc ROM_8728 ; Jump if Carry is clear ROM:871F ROM:8721 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8724 000 mov A, #6 ; Move (Op1 <- Op2) ROM:8726 000 movx @DPTR, A ; Move from/to external RAM ROM:8727 000 ret ; Return from subroutine ROM:8727 ROM:8728 ; --------------------------------------------------------------------------- ROM:8728 ROM:8728 ROM_8728: ; CODE XREF: ROM_8703+12j ROM:8728 ; ROM_8703+1Cj ROM:8728 000 mov DPTR, #1B0h ; Move (Op1 <- Op2) ROM:872B 000 movx A, @DPTR ; Move from/to external RAM ROM:872C 000 mov R7, A ; Move (Op1 <- Op2) ROM:872D 000 mov DPTR, #1BBh ; Move (Op1 <- Op2) ROM:8730 000 movx A, @DPTR ; Move from/to external RAM ROM:8731 000 cjne A, RAM_7, ROM_8740 ; Compare Operands and JNE ROM:8731 ROM:8734 000 mov DPTR, #1B1h ; Move (Op1 <- Op2) ROM:8737 000 movx A, @DPTR ; Move from/to external RAM ROM:8738 000 mov R7, A ; Move (Op1 <- Op2) ROM:8739 000 mov DPTR, #1BCh ; Move (Op1 <- Op2) ROM:873C 000 movx A, @DPTR ; Move from/to external RAM ROM:873D 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:873E 000 jz ROM_8753 ; Jump if Acc is zero ROM:873E ROM:8740 ROM:8740 ROM_8740: ; CODE XREF: ROM_8703+2Ej ROM:8740 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8743 000 movx A, @DPTR ; Move from/to external RAM ROM:8744 000 jnz ROM_8753 ; Jump if Acc is not zero ROM:8744 ROM:8746 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8749 000 mov A, #2 ; Move (Op1 <- Op2) ROM:874B 000 movx @DPTR, A ; Move from/to external RAM ROM:874C 000 inc DPTR ; Increment Operand ROM:874D 000 dec A ; Decrement Operand ROM:874E 000 movx @DPTR, A ; Move from/to external RAM ROM:874F 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8752 000 movx @DPTR, A ; Move from/to external RAM ROM:8752 ROM:8753 ROM:8753 ROM_8753: ; CODE XREF: ROM_8703+3Bj ROM:8753 ; ROM_8703+41j ROM:8753 000 ret ; Return from subroutine ROM:8753 ROM:8753 ; End of function ROM_8703 ROM:8753 ROM:8754 ; --------------------------------------------------------------------------- ROM:8754 ; START OF FUNCTION CHUNK FOR ROM_8B4C ROM:8754 ROM:8754 ROM_8754: ; CODE XREF: ROM_8B4C-292j ROM:8754 000 mov DPTR, #110h ; Move (Op1 <- Op2) ROM:8757 000 movx A, @DPTR ; Move from/to external RAM ROM:8758 000 jnb ACC.5, ROM_8762 ; Accumulator ROM:8758 ROM:875B 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:875E 000 mov A, #2 ; Move (Op1 <- Op2) ROM:8760 000 movx @DPTR, A ; Move from/to external RAM ROM:8761 000 ret ; Return from subroutine ROM:8761 ROM:8762 ; --------------------------------------------------------------------------- ROM:8762 ROM:8762 ROM_8762: ; CODE XREF: ROM_8B4C-3F4j ROM:8762 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8765 000 movx A, @DPTR ; Move from/to external RAM ROM:8766 000 jnb ACC.4, ROM_8770 ; Accumulator ROM:8766 ROM:8769 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:876C 000 mov A, #5 ; Move (Op1 <- Op2) ROM:876E 000 movx @DPTR, A ; Move from/to external RAM ROM:876F 000 ret ; Return from subroutine ROM:876F ROM:8770 ; --------------------------------------------------------------------------- ROM:8770 ROM:8770 ROM_8770: ; CODE XREF: ROM_8B4C-3E6j ROM:8770 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:8773 000 movx A, @DPTR ; Move from/to external RAM ROM:8774 000 cjne A, #1, ROM_8787 ; Compare Operands and JNE ROM:8774 ROM:8777 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:877A 000 movx A, @DPTR ; Move from/to external RAM ROM:877B 000 clr C ; Clear Operand (0) ROM:877C 000 subb A, #41h ; 'A' ; Subtract Second Operand from Acc with Borrow ROM:877E 000 jnc ROM_8787 ; Jump if Carry is clear ROM:877E ROM:8780 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8783 000 mov A, #6 ; Move (Op1 <- Op2) ROM:8785 000 movx @DPTR, A ; Move from/to external RAM ROM:8786 000 ret ; Return from subroutine ROM:8786 ROM:8787 ; --------------------------------------------------------------------------- ROM:8787 ROM:8787 ROM_8787: ; CODE XREF: ROM_8B4C-3D8j ROM:8787 ; ROM_8B4C-3CEj ROM:8787 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:878A 000 movx A, @DPTR ; Move from/to external RAM ROM:878B 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:878D 000 movx @DPTR, A ; Move from/to external RAM ROM:878E 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:8791 000 movx A, @DPTR ; Move from/to external RAM ROM:8792 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:8794 000 movx @DPTR, A ; Move from/to external RAM ROM:8795 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:8798 000 movx A, @DPTR ; Move from/to external RAM ROM:8799 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:879B 000 movx @DPTR, A ; Move from/to external RAM ROM:879C 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:879F 000 movx A, @DPTR ; Move from/to external RAM ROM:87A0 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:87A2 000 movx @DPTR, A ; Move from/to external RAM ROM:87A3 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:87A6 000 movx A, @DPTR ; Move from/to external RAM ROM:87A7 000 jnz ROM_87B7 ; Jump if Acc is not zero ROM:87A7 ROM:87A9 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:87AC 000 mov A, #2 ; Move (Op1 <- Op2) ROM:87AE 000 movx @DPTR, A ; Move from/to external RAM ROM:87AF 000 inc DPTR ; Increment Operand ROM:87B0 000 clr A ; Clear Operand (0) ROM:87B1 000 movx @DPTR, A ; Move from/to external RAM ROM:87B2 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:87B5 000 inc A ; Increment Operand ROM:87B6 000 movx @DPTR, A ; Move from/to external RAM ROM:87B6 ROM:87B7 ROM:87B7 ROM_87B7: ; CODE XREF: ROM_8B4C-3A5j ROM:87B7 000 ret ; Return from subroutine ROM:87B7 ROM:87B8 ; --------------------------------------------------------------------------- ROM:87B8 ROM:87B8 ROM_87B8: ; CODE XREF: ROM_8B4C-288j ROM:87B8 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:87BB 000 movx A, @DPTR ; Move from/to external RAM ROM:87BC 000 jnz ROM_87CB ; Jump if Acc is not zero ROM:87BC ROM:87BE 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:87C1 000 movx A, @DPTR ; Move from/to external RAM ROM:87C2 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:87C4 000 movx @DPTR, A ; Move from/to external RAM ROM:87C5 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:87C8 000 mov A, #2 ; Move (Op1 <- Op2) ROM:87CA 000 movx @DPTR, A ; Move from/to external RAM ROM:87CA ROM:87CB ROM:87CB ROM_87CB: ; CODE XREF: ROM_8B4C-390j ROM:87CB 000 ret ; Return from subroutine ROM:87CB ROM:87CC ; --------------------------------------------------------------------------- ROM:87CC ROM:87CC ROM_87CC: ; CODE XREF: ROM_8B4C-27Ej ROM:87CC 000 lcall ROM_8703 ; Long Subroutine Call ROM:87CC ROM:87CF 000 mov DPTR, #110h ; Move (Op1 <- Op2) ROM:87D2 000 movx A, @DPTR ; Move from/to external RAM ROM:87D3 000 jb ACC.5, ROM_87DF ; Accumulator ROM:87D3 ROM:87D6 000 mov DPTR, #1A6h ; Move (Op1 <- Op2) ROM:87D9 000 movx A, @DPTR ; Move from/to external RAM ROM:87DA 000 clr C ; Clear Operand (0) ROM:87DB 000 subb A, #63h ; 'c' ; Subtract Second Operand from Acc with Borrow ROM:87DD 000 jc ROM_881C ; Jump if Carry is set ROM:87DD ROM:87DF ROM:87DF ROM_87DF: ; CODE XREF: ROM_8B4C-379j ROM:87DF 000 mov DPTR, #1A4h ; Move (Op1 <- Op2) ROM:87E2 000 mov A, #64h ; 'd' ; Move (Op1 <- Op2) ROM:87E4 000 movx @DPTR, A ; Move from/to external RAM ROM:87E5 000 mov DPTR, #1AAh ; Move (Op1 <- Op2) ROM:87E8 000 movx A, @DPTR ; Move from/to external RAM ROM:87E9 000 mov DPTR, #1A8h ; Move (Op1 <- Op2) ROM:87EC 000 movx @DPTR, A ; Move from/to external RAM ROM:87ED 000 mov DPTR, #1ABh ; Move (Op1 <- Op2) ROM:87F0 000 movx A, @DPTR ; Move from/to external RAM ROM:87F1 000 mov DPTR, #1A9h ; Move (Op1 <- Op2) ROM:87F4 000 movx @DPTR, A ; Move from/to external RAM ROM:87F5 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:87F8 000 movx A, @DPTR ; Move from/to external RAM ROM:87F9 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:87FB 000 movx @DPTR, A ; Move from/to external RAM ROM:87FC 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:87FF 000 movx A, @DPTR ; Move from/to external RAM ROM:8800 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:8802 000 movx @DPTR, A ; Move from/to external RAM ROM:8803 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:8806 000 movx A, @DPTR ; Move from/to external RAM ROM:8807 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:8809 000 movx @DPTR, A ; Move from/to external RAM ROM:880A 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:880D 000 movx A, @DPTR ; Move from/to external RAM ROM:880E 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:8810 000 movx @DPTR, A ; Move from/to external RAM ROM:8811 000 inc DPTR ; Increment Operand ROM:8812 000 movx A, @DPTR ; Move from/to external RAM ROM:8813 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:8815 000 movx @DPTR, A ; Move from/to external RAM ROM:8816 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8819 000 mov A, #3 ; Move (Op1 <- Op2) ROM:881B 000 movx @DPTR, A ; Move from/to external RAM ROM:881B ROM:881C ROM:881C ROM_881C: ; CODE XREF: ROM_8B4C-36Fj ROM:881C 000 ret ; Return from subroutine ROM:881C ROM:881D ; --------------------------------------------------------------------------- ROM:881D ROM:881D ROM_881D: ; CODE XREF: ROM_8B4C-274j ROM:881D 000 lcall ROM_8703 ; Long Subroutine Call ROM:881D ROM:8820 000 mov DPTR, #110h ; Move (Op1 <- Op2) ROM:8823 000 movx A, @DPTR ; Move from/to external RAM ROM:8824 000 jnb ACC.5, ROM_8834 ; Accumulator ROM:8824 ROM:8827 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:882A 000 movx A, @DPTR ; Move from/to external RAM ROM:882B 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:882D 000 movx @DPTR, A ; Move from/to external RAM ROM:882E 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8831 000 mov A, #4 ; Move (Op1 <- Op2) ROM:8833 000 movx @DPTR, A ; Move from/to external RAM ROM:8833 ROM:8834 ROM:8834 ROM_8834: ; CODE XREF: ROM_8B4C-328j ROM:8834 000 ret ; Return from subroutine ROM:8834 ROM:8835 ; --------------------------------------------------------------------------- ROM:8835 ROM:8835 ROM_8835: ; CODE XREF: ROM_8B4C-26Aj ROM:8835 000 mov DPTR, #110h ; Move (Op1 <- Op2) ROM:8838 000 movx A, @DPTR ; Move from/to external RAM ROM:8839 000 jb ACC.5, ROM_8842 ; Accumulator ROM:8839 ROM:883C 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:883F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8841 000 movx @DPTR, A ; Move from/to external RAM ROM:8841 ROM:8842 ROM:8842 ROM_8842: ; CODE XREF: ROM_8B4C-313j ROM:8842 000 ret ; Return from subroutine ROM:8842 ROM:8843 ; --------------------------------------------------------------------------- ROM:8843 ROM:8843 ROM_8843: ; CODE XREF: ROM_8B4C-260j ROM:8843 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:8846 000 movx A, @DPTR ; Move from/to external RAM ROM:8847 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:8849 000 movx @DPTR, A ; Move from/to external RAM ROM:884A 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:884D 000 movx A, @DPTR ; Move from/to external RAM ROM:884E 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:8850 000 movx @DPTR, A ; Move from/to external RAM ROM:8851 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8854 000 movx A, @DPTR ; Move from/to external RAM ROM:8855 000 jb ACC.2, ROM_886D ; Accumulator ROM:8855 ROM:8858 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:885B 000 movx A, @DPTR ; Move from/to external RAM ROM:885C 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:885C ROM:885E ROM:885E ROM_885E: ; CODE XREF: ROM:8DABj ROM:885E 000 movx @DPTR, A ; Move from/to external RAM ROM:885F 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:8862 000 movx A, @DPTR ; Move from/to external RAM ROM:8863 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:8865 000 movx @DPTR, A ; Move from/to external RAM ROM:8866 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:8869 000 movx A, @DPTR ; Move from/to external RAM ROM:886A 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:886C 000 movx @DPTR, A ; Move from/to external RAM ROM:886C ROM:886D ROM:886D ROM_886D: ; CODE XREF: ROM_8B4C-2F7j ROM:886D 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8870 000 movx A, @DPTR ; Move from/to external RAM ROM:8871 000 jb ACC.4, ROM_887A ; Accumulator ROM:8871 ROM:8874 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:8877 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8879 000 movx @DPTR, A ; Move from/to external RAM ROM:8879 ROM:887A ROM:887A ROM_887A: ; CODE XREF: ROM_8B4C-2DBj ROM:887A 000 ret ; Return from subroutine ROM:887A ROM:887A ; END OF FUNCTION CHUNK FOR ROM_8B4C ROM:887B ROM:887B ; =============== S U B R O U T I N E ======================================= ROM:887B ROM:887B ROM:887B ROM_887B: ; CODE XREF: ROM_8B4C-256p ROM:887B 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:887E 000 movx A, @DPTR ; Move from/to external RAM ROM:887F 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:8881 000 movx @DPTR, A ; Move from/to external RAM ROM:8882 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:8885 000 movx A, @DPTR ; Move from/to external RAM ROM:8886 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:8888 000 movx @DPTR, A ; Move from/to external RAM ROM:8889 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:888C 000 movx A, @DPTR ; Move from/to external RAM ROM:888D 000 jb ACC.2, ROM_88A5 ; Accumulator ROM:888D ROM:8890 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:8893 000 movx A, @DPTR ; Move from/to external RAM ROM:8894 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:8896 000 movx @DPTR, A ; Move from/to external RAM ROM:8897 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:889A 000 movx A, @DPTR ; Move from/to external RAM ROM:889B 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:889D 000 movx @DPTR, A ; Move from/to external RAM ROM:889E 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:88A1 000 movx A, @DPTR ; Move from/to external RAM ROM:88A2 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:88A4 000 movx @DPTR, A ; Move from/to external RAM ROM:88A4 ROM:88A5 ROM:88A5 ROM_88A5: ; CODE XREF: ROM_887B+12j ROM:88A5 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:88A8 000 movx A, @DPTR ; Move from/to external RAM ROM:88A9 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:88AB 000 jz ROM_88B3 ; Jump if Acc is zero ROM:88AB ROM:88AD 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:88B0 000 mov A, #1 ; Move (Op1 <- Op2) ROM:88B2 000 movx @DPTR, A ; Move from/to external RAM ROM:88B2 ROM:88B3 ROM:88B3 ROM_88B3: ; CODE XREF: ROM_887B+30j ROM:88B3 000 ret ; Return from subroutine ROM:88B3 ROM:88B3 ; End of function ROM_887B ROM:88B3 ROM:88B4 ; --------------------------------------------------------------------------- ROM:88B4 ; START OF FUNCTION CHUNK FOR ROM_8B4C ROM:88B4 ROM:88B4 ROM_88B4: ; CODE XREF: ROM_8B4C:ROM_8B69j ROM:88B4 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:88B7 000 movx A, @DPTR ; Move from/to external RAM ROM:88B8 000 jnz ROM_88BD ; Jump if Acc is not zero ROM:88B8 ROM:88BA 000 ljmp ROM_8754 ; Long Jump ROM:88BA ROM:88BD ; --------------------------------------------------------------------------- ROM:88BD ROM:88BD ROM_88BD: ; CODE XREF: ROM_8B4C-294j ROM:88BD 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:88C0 000 movx A, @DPTR ; Move from/to external RAM ROM:88C1 000 cjne A, #1, ROM_88C7 ; Compare Operands and JNE ROM:88C1 ROM:88C4 000 ljmp ROM_87B8 ; Long Jump ROM:88C4 ROM:88C7 ; --------------------------------------------------------------------------- ROM:88C7 ROM:88C7 ROM_88C7: ; CODE XREF: ROM_8B4C-28Bj ROM:88C7 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:88CA 000 movx A, @DPTR ; Move from/to external RAM ROM:88CB 000 cjne A, #2, ROM_88D1 ; Compare Operands and JNE ROM:88CB ROM:88CE 000 ljmp ROM_87CC ; Long Jump ROM:88CE ROM:88D1 ; --------------------------------------------------------------------------- ROM:88D1 ROM:88D1 ROM_88D1: ; CODE XREF: ROM_8B4C-281j ROM:88D1 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:88D4 000 movx A, @DPTR ; Move from/to external RAM ROM:88D5 000 cjne A, #3, ROM_88DB ; Compare Operands and JNE ROM:88D5 ROM:88D8 000 ljmp ROM_881D ; Long Jump ROM:88D8 ROM:88DB ; --------------------------------------------------------------------------- ROM:88DB ROM:88DB ROM_88DB: ; CODE XREF: ROM_8B4C-277j ROM:88DB 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:88DB ROM:88DE ROM:88DE ROM_88DE: ; CODE XREF: ROM:8DA7j ROM:88DE 000 movx A, @DPTR ; Move from/to external RAM ROM:88DF 000 cjne A, #4, ROM_88E5 ; Compare Operands and JNE ROM:88DF ROM:88E2 000 ljmp ROM_8835 ; Long Jump ROM:88E2 ROM:88E5 ; --------------------------------------------------------------------------- ROM:88E5 ROM:88E5 ROM_88E5: ; CODE XREF: ROM_8B4C-26Dj ROM:88E5 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:88E8 000 movx A, @DPTR ; Move from/to external RAM ROM:88E9 000 cjne A, #5, ROM_88EF ; Compare Operands and JNE ROM:88E9 ROM:88EC 000 ljmp ROM_8843 ; Long Jump ROM:88EC ROM:88EF ; --------------------------------------------------------------------------- ROM:88EF ROM:88EF ROM_88EF: ; CODE XREF: ROM_8B4C-263j ROM:88EF 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:88F2 000 movx A, @DPTR ; Move from/to external RAM ROM:88F3 000 cjne A, #6, ROM_88F9 ; Compare Operands and JNE ROM:88F3 ROM:88F6 000 lcall ROM_887B ; Long Subroutine Call ROM:88F6 ROM:88F9 ROM:88F9 ROM_88F9: ; CODE XREF: ROM_8B4C-259j ROM:88F9 000 ret ; Return from subroutine ROM:88F9 ROM:88FA ; --------------------------------------------------------------------------- ROM:88FA ROM:88FA ROM_88FA: ; CODE XREF: ROM_8B4C-154j ROM:88FA 000 mov DPTR, #1AEh ; Move (Op1 <- Op2) ROM:88FD 000 movx A, @DPTR ; Move from/to external RAM ROM:88FE 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:8900 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:8903 000 movx @DPTR, A ; Move from/to external RAM ROM:8904 000 mov DPTR, #1AFh ; Move (Op1 <- Op2) ROM:8907 000 movx A, @DPTR ; Move from/to external RAM ROM:8908 000 mov DPTR, #5DBh ; Move (Op1 <- Op2) ROM:890B 000 movx @DPTR, A ; Move from/to external RAM ROM:890C 000 clr A ; Clear Operand (0) ROM:890D 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:8910 000 movx @DPTR, A ; Move from/to external RAM ROM:8911 000 inc DPTR ; Increment Operand ROM:8912 000 mov A, #5 ; Move (Op1 <- Op2) ROM:8914 000 movx @DPTR, A ; Move from/to external RAM ROM:8915 000 inc DPTR ; Increment Operand ROM:8916 000 mov A, #0DAh ; '+' ; Move (Op1 <- Op2) ROM:8918 000 movx @DPTR, A ; Move from/to external RAM ROM:8919 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:891B 000 mov R5, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:891D 000 clr A ; Clear Operand (0) ROM:891E 000 mov R7, A ; Move (Op1 <- Op2) ROM:891F 000 lcall ROM_52A4 ; Long Subroutine Call ROM:891F ROM:8922 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8923 000 jz ROM_8947 ; Jump if Acc is zero ROM:8923 ROM:8925 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:8928 000 movx A, @DPTR ; Move from/to external RAM ROM:8929 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:892B 000 movx @DPTR, A ; Move from/to external RAM ROM:892C 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:892F 000 movx A, @DPTR ; Move from/to external RAM ROM:8930 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:8932 000 movx @DPTR, A ; Move from/to external RAM ROM:8933 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:8936 000 movx A, @DPTR ; Move from/to external RAM ROM:8937 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:8939 000 movx @DPTR, A ; Move from/to external RAM ROM:893A 000 mov DPTR, #195h ; Move (Op1 <- Op2) ROM:893D 000 movx A, @DPTR ; Move from/to external RAM ROM:893E 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:8940 000 movx @DPTR, A ; Move from/to external RAM ROM:8941 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8944 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8946 000 movx @DPTR, A ; Move from/to external RAM ROM:8946 ROM:8947 ROM:8947 ROM_8947: ; CODE XREF: ROM_8B4C-229j ROM:8947 000 ret ; Return from subroutine ROM:8947 ROM:8948 ; --------------------------------------------------------------------------- ROM:8948 ROM:8948 ROM_8948: ; CODE XREF: ROM_8B4C-14Aj ROM:8948 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:894B 000 movx A, @DPTR ; Move from/to external RAM ROM:894C 000 anl A, #30h ; Logical AND (op1 &= op2) ROM:894E 000 jz ROM_8956 ; Jump if Acc is zero ROM:894E ROM:8950 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8953 000 mov A, #2 ; Move (Op1 <- Op2) ROM:8955 000 movx @DPTR, A ; Move from/to external RAM ROM:8955 ROM:8956 ROM:8956 ROM_8956: ; CODE XREF: ROM_8B4C-1FEj ROM:8956 000 ret ; Return from subroutine ROM:8956 ROM:8956 ; END OF FUNCTION CHUNK FOR ROM_8B4C ROM:8957 ROM:8957 ; =============== S U B R O U T I N E ======================================= ROM:8957 ROM:8957 ROM:8957 ROM_8957: ; CODE XREF: ROM_8B4C-140p ROM:8957 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:895A 000 movx A, @DPTR ; Move from/to external RAM ROM:895B 000 jnb ACC.2, ROM_8961 ; Accumulator ROM:895B ROM:895E 000 ljmp ROM_89F1 ; Long Jump ROM:895E ROM:8961 ; --------------------------------------------------------------------------- ROM:8961 ROM:8961 ROM_8961: ; CODE XREF: ROM_8957+4j ROM:8961 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:8964 000 movx A, @DPTR ; Move from/to external RAM ROM:8965 000 cjne A, #5, ROM_897E ; Compare Operands and JNE ROM:8965 ROM:8968 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:896B 000 movx A, @DPTR ; Move from/to external RAM ROM:896C 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:896E 000 movx @DPTR, A ; Move from/to external RAM ROM:896F 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:8972 000 movx A, @DPTR ; Move from/to external RAM ROM:8973 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:8975 000 movx @DPTR, A ; Move from/to external RAM ROM:8976 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:8979 000 movx A, @DPTR ; Move from/to external RAM ROM:897A 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:897C 000 movx @DPTR, A ; Move from/to external RAM ROM:897D 000 ret ; Return from subroutine ROM:897D ROM:897E ; --------------------------------------------------------------------------- ROM:897E ROM:897E ROM_897E: ; CODE XREF: ROM_8957+Ej ROM:897E 000 mov DPTR, #53Ah ; Move (Op1 <- Op2) ROM:8981 000 movx A, @DPTR ; Move from/to external RAM ROM:8982 000 jnz ROM_89EB ; Jump if Acc is not zero ROM:8982 ROM:8984 000 mov DPTR, #1A6h ; Move (Op1 <- Op2) ROM:8987 000 movx A, @DPTR ; Move from/to external RAM ROM:8988 000 setb C ; Set Direct Bit ROM:8989 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:898B 000 jnc ROM_89A4 ; Jump if Carry is clear ROM:898B ROM:898D 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:8990 000 movx A, @DPTR ; Move from/to external RAM ROM:8991 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:8993 000 movx @DPTR, A ; Move from/to external RAM ROM:8994 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:8997 000 movx A, @DPTR ; Move from/to external RAM ROM:8998 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:899A 000 movx @DPTR, A ; Move from/to external RAM ROM:899B 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:899E 000 movx A, @DPTR ; Move from/to external RAM ROM:899F 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:89A1 000 movx @DPTR, A ; Move from/to external RAM ROM:89A2 000 sjmp ROM_89EB ; Short jump ROM:89A2 ROM:89A4 ; --------------------------------------------------------------------------- ROM:89A4 ROM:89A4 ROM_89A4: ; CODE XREF: ROM_8957+34j ROM:89A4 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:89A7 000 movx A, @DPTR ; Move from/to external RAM ROM:89A8 000 swap A ; Swap nibbles of Acc ROM:89A9 000 rrc A ; Rotate Acc right through Carry ROM:89AA 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:89AC 000 cpl A ; Complement Operand ROM:89AD 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:89AF 000 swap A ; Swap nibbles of Acc ROM:89B0 000 rlc A ; Rotate Acc left through Carry ROM:89B1 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:89B3 000 mov R7, A ; Move (Op1 <- Op2) ROM:89B4 000 movx A, @DPTR ; Move from/to external RAM ROM:89B5 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:89B7 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:89B8 000 movx @DPTR, A ; Move from/to external RAM ROM:89B9 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:89BC 000 movx A, @DPTR ; Move from/to external RAM ROM:89BD 000 swap A ; Swap nibbles of Acc ROM:89BE 000 rrc A ; Rotate Acc right through Carry ROM:89BF 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:89C1 000 cpl A ; Complement Operand ROM:89C2 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:89C4 000 swap A ; Swap nibbles of Acc ROM:89C5 000 rlc A ; Rotate Acc left through Carry ROM:89C6 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:89C8 000 mov R7, A ; Move (Op1 <- Op2) ROM:89C9 000 movx A, @DPTR ; Move from/to external RAM ROM:89CA 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:89CC 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:89CD 000 movx @DPTR, A ; Move from/to external RAM ROM:89CE 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:89D1 000 movx A, @DPTR ; Move from/to external RAM ROM:89D2 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:89D4 000 movx @DPTR, A ; Move from/to external RAM ROM:89D5 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:89D8 000 movx A, @DPTR ; Move from/to external RAM ROM:89D9 000 swap A ; Swap nibbles of Acc ROM:89DA 000 rrc A ; Rotate Acc right through Carry ROM:89DB 000 anl A, #7 ; Logical AND (op1 &= op2) ROM:89DD 000 mov DPTR, #53Ah ; Move (Op1 <- Op2) ROM:89E0 000 jb ACC.0, ROM_89E8 ; Accumulator ROM:89E0 ROM:89E3 000 mov A, #1 ; Move (Op1 <- Op2) ROM:89E5 000 movx @DPTR, A ; Move from/to external RAM ROM:89E6 000 sjmp ROM_89EB ; Short jump ROM:89E6 ROM:89E8 ; --------------------------------------------------------------------------- ROM:89E8 ROM:89E8 ROM_89E8: ; CODE XREF: ROM_8957+89j ROM:89E8 000 mov A, #7 ; Move (Op1 <- Op2) ROM:89EA 000 movx @DPTR, A ; Move from/to external RAM ROM:89EA ROM:89EB ROM:89EB ROM_89EB: ; CODE XREF: ROM_8957+2Bj ROM:89EB ; ROM_8957+4Bj ... ROM:89EB 000 mov DPTR, #53Ah ; Move (Op1 <- Op2) ROM:89EE 000 movx A, @DPTR ; Move from/to external RAM ROM:89EF 000 dec A ; Decrement Operand ROM:89F0 000 movx @DPTR, A ; Move from/to external RAM ROM:89F0 ROM:89F1 ROM:89F1 ROM_89F1: ; CODE XREF: ROM_8957+7j ROM:89F1 000 ret ; Return from subroutine ROM:89F1 ROM:89F1 ; End of function ROM_8957 ROM:89F1 ROM:89F2 ; --------------------------------------------------------------------------- ROM:89F2 ; START OF FUNCTION CHUNK FOR ROM_8B4C ROM:89F2 ROM:89F2 ROM_89F2: ; CODE XREF: ROM_8B4C:ROM_8B6Cj ROM:89F2 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:89F5 000 movx A, @DPTR ; Move from/to external RAM ROM:89F6 000 jnz ROM_89FB ; Jump if Acc is not zero ROM:89F6 ROM:89F8 000 ljmp ROM_88FA ; Long Jump ROM:89F8 ROM:89FB ; --------------------------------------------------------------------------- ROM:89FB ROM:89FB ROM_89FB: ; CODE XREF: ROM_8B4C-156j ROM:89FB 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:89FE 000 movx A, @DPTR ; Move from/to external RAM ROM:89FF 000 cjne A, #1, ROM_8A05 ; Compare Operands and JNE ROM:89FF ROM:8A02 000 ljmp ROM_8948 ; Long Jump ROM:8A02 ROM:8A05 ; --------------------------------------------------------------------------- ROM:8A05 ROM:8A05 ROM_8A05: ; CODE XREF: ROM_8B4C-14Dj ROM:8A05 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8A08 000 movx A, @DPTR ; Move from/to external RAM ROM:8A09 000 cjne A, #2, ROM_8A0F ; Compare Operands and JNE ROM:8A09 ROM:8A0C 000 lcall ROM_8957 ; Long Subroutine Call ROM:8A0C ROM:8A0F ROM:8A0F ROM_8A0F: ; CODE XREF: ROM_8B4C-143j ROM:8A0F 000 ret ; Return from subroutine ROM:8A0F ROM:8A10 ; --------------------------------------------------------------------------- ROM:8A10 ROM:8A10 ROM_8A10: ; CODE XREF: ROM_8B4C-51j ROM:8A10 000 mov DPTR, #194h ; Move (Op1 <- Op2) ROM:8A13 000 movx A, @DPTR ; Move from/to external RAM ROM:8A14 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:8A16 000 movx @DPTR, A ; Move from/to external RAM ROM:8A17 000 mov DPTR, #1601h ; Move (Op1 <- Op2) ROM:8A1A 000 movx A, @DPTR ; Move from/to external RAM ROM:8A1B 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:8A1D 000 movx @DPTR, A ; Move from/to external RAM ROM:8A1E 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:8A21 000 movx A, @DPTR ; Move from/to external RAM ROM:8A22 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:8A24 000 movx @DPTR, A ; Move from/to external RAM ROM:8A25 000 mov DPTR, #1608h ; Move (Op1 <- Op2) ROM:8A28 000 movx A, @DPTR ; Move from/to external RAM ROM:8A29 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:8A2B 000 movx @DPTR, A ; Move from/to external RAM ROM:8A2C 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8A2F 000 movx A, @DPTR ; Move from/to external RAM ROM:8A30 000 jnz ROM_8A40 ; Jump if Acc is not zero ROM:8A30 ROM:8A32 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8A35 000 mov A, #3 ; Move (Op1 <- Op2) ROM:8A37 000 movx @DPTR, A ; Move from/to external RAM ROM:8A38 000 inc DPTR ; Increment Operand ROM:8A39 000 clr A ; Clear Operand (0) ROM:8A3A 000 movx @DPTR, A ; Move from/to external RAM ROM:8A3B 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8A3E 000 inc A ; Increment Operand ROM:8A3F 000 movx @DPTR, A ; Move from/to external RAM ROM:8A3F ROM:8A40 ROM:8A40 ROM_8A40: ; CODE XREF: ROM_8B4C-11Cj ROM:8A40 000 ret ; Return from subroutine ROM:8A40 ROM:8A41 ; --------------------------------------------------------------------------- ROM:8A41 ROM:8A41 ROM_8A41: ; CODE XREF: ROM_8B4C-47j ROM:8A41 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8A44 000 movx A, @DPTR ; Move from/to external RAM ROM:8A45 000 jnz ROM_8A62 ; Jump if Acc is not zero ROM:8A45 ROM:8A47 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:8A4A 000 movx A, @DPTR ; Move from/to external RAM ROM:8A4B 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:8A4D 000 movx @DPTR, A ; Move from/to external RAM ROM:8A4E 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8A51 000 mov A, #2 ; Move (Op1 <- Op2) ROM:8A53 000 movx @DPTR, A ; Move from/to external RAM ROM:8A54 000 mov DPTR, #50Ah ; Move (Op1 <- Op2) ROM:8A57 000 clr A ; Clear Operand (0) ROM:8A58 000 movx @DPTR, A ; Move from/to external RAM ROM:8A59 000 inc DPTR ; Increment Operand ROM:8A5A 000 movx @DPTR, A ; Move from/to external RAM ROM:8A5B 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8A5E 000 movx A, @DPTR ; Move from/to external RAM ROM:8A5F 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:8A61 000 movx @DPTR, A ; Move from/to external RAM ROM:8A61 ROM:8A62 ROM:8A62 ROM_8A62: ; CODE XREF: ROM_8B4C-107j ROM:8A62 000 ret ; Return from subroutine ROM:8A62 ROM:8A62 ; END OF FUNCTION CHUNK FOR ROM_8B4C ROM:8A63 ROM:8A63 ; =============== S U B R O U T I N E ======================================= ROM:8A63 ROM:8A63 ROM:8A63 ROM_8A63: ; CODE XREF: ROM_8B4C-3Dp ROM:8A63 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8A66 000 movx A, @DPTR ; Move from/to external RAM ROM:8A67 000 jb ACC.6, ROM_8A9C ; Accumulator ROM:8A67 ROM:8A6A 000 mov DPTR, #1AEh ; Move (Op1 <- Op2) ROM:8A6D 000 movx A, @DPTR ; Move from/to external RAM ROM:8A6E 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:8A70 000 mov DPTR, #5DAh ; Move (Op1 <- Op2) ROM:8A73 000 movx @DPTR, A ; Move from/to external RAM ROM:8A74 000 mov DPTR, #1AFh ; Move (Op1 <- Op2) ROM:8A77 000 movx A, @DPTR ; Move from/to external RAM ROM:8A78 000 mov DPTR, #5DBh ; Move (Op1 <- Op2) ROM:8A7B 000 movx @DPTR, A ; Move from/to external RAM ROM:8A7C 000 clr A ; Clear Operand (0) ROM:8A7D 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:8A80 000 movx @DPTR, A ; Move from/to external RAM ROM:8A81 000 inc DPTR ; Increment Operand ROM:8A82 000 mov A, #5 ; Move (Op1 <- Op2) ROM:8A84 000 movx @DPTR, A ; Move from/to external RAM ROM:8A85 000 inc DPTR ; Increment Operand ROM:8A86 000 mov A, #0DAh ; '+' ; Move (Op1 <- Op2) ROM:8A88 000 movx @DPTR, A ; Move from/to external RAM ROM:8A89 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:8A8B 000 mov R5, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:8A8D 000 clr A ; Clear Operand (0) ROM:8A8E 000 mov R7, A ; Move (Op1 <- Op2) ROM:8A8F 000 lcall ROM_52A4 ; Long Subroutine Call ROM:8A8F ROM:8A92 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8A93 000 jz ROM_8A9C ; Jump if Acc is zero ROM:8A93 ROM:8A95 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8A98 000 movx A, @DPTR ; Move from/to external RAM ROM:8A99 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:8A9B 000 movx @DPTR, A ; Move from/to external RAM ROM:8A9B ROM:8A9C ROM:8A9C ROM_8A9C: ; CODE XREF: ROM_8A63+4j ROM:8A9C ; ROM_8A63+30j ROM:8A9C 000 mov DPTR, #50Ah ; Move (Op1 <- Op2) ROM:8A9F 000 movx A, @DPTR ; Move from/to external RAM ROM:8AA0 000 inc A ; Increment Operand ROM:8AA1 000 movx @DPTR, A ; Move from/to external RAM ROM:8AA2 000 movx A, @DPTR ; Move from/to external RAM ROM:8AA3 000 clr C ; Clear Operand (0) ROM:8AA4 000 subb A, #0Ah ; Subtract Second Operand from Acc with Borrow ROM:8AA6 000 jc ROM_8AF4 ; Jump if Carry is set ROM:8AA6 ROM:8AA8 000 mov DPTR, #50Ah ; Move (Op1 <- Op2) ROM:8AAB 000 clr A ; Clear Operand (0) ROM:8AAC 000 movx @DPTR, A ; Move from/to external RAM ROM:8AAD 000 inc DPTR ; Increment Operand ROM:8AAE 000 movx A, @DPTR ; Move from/to external RAM ROM:8AAF 000 inc A ; Increment Operand ROM:8AB0 000 movx @DPTR, A ; Move from/to external RAM ROM:8AB1 000 movx A, @DPTR ; Move from/to external RAM ROM:8AB2 000 clr C ; Clear Operand (0) ROM:8AB3 000 subb A, #20h ; ' ' ; Subtract Second Operand from Acc with Borrow ROM:8AB5 000 jc ROM_8AF4 ; Jump if Carry is set ROM:8AB5 ROM:8AB7 000 mov DPTR, #1603h ; Move (Op1 <- Op2) ROM:8ABA 000 movx A, @DPTR ; Move from/to external RAM ROM:8ABB 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:8ABD 000 movx @DPTR, A ; Move from/to external RAM ROM:8ABE 000 mov DPTR, #112h ; Move (Op1 <- Op2) ROM:8AC1 000 clr A ; Clear Operand (0) ROM:8AC2 000 movx @DPTR, A ; Move from/to external RAM ROM:8AC3 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8AC6 000 movx @DPTR, A ; Move from/to external RAM ROM:8AC6 ROM:8AC7 ROM:8AC7 ROM_8AC7: ; CODE XREF: ROM_8A63+7Bj ROM:8AC7 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8ACA 000 movx A, @DPTR ; Move from/to external RAM ROM:8ACB 000 clr C ; Clear Operand (0) ROM:8ACC 000 subb A, #14h ; Subtract Second Operand from Acc with Borrow ROM:8ACE 000 jnc ROM_8AE0 ; Jump if Carry is clear ROM:8ACE ROM:8AD0 000 mov DPTR, #197h ; Move (Op1 <- Op2) ROM:8AD3 000 clr A ; Clear Operand (0) ROM:8AD4 000 movx @DPTR, A ; Move from/to external RAM ROM:8AD5 000 lcall ROM_850D ; Long Subroutine Call ROM:8AD5 ROM:8AD8 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8ADB 000 movx A, @DPTR ; Move from/to external RAM ROM:8ADC 000 inc A ; Increment Operand ROM:8ADD 000 movx @DPTR, A ; Move from/to external RAM ROM:8ADE 000 sjmp ROM_8AC7 ; Short jump ROM:8ADE ROM:8AE0 ; --------------------------------------------------------------------------- ROM:8AE0 ROM:8AE0 ROM_8AE0: ; CODE XREF: ROM_8A63+6Bj ROM:8AE0 000 mov DPTR, #114h ; Move (Op1 <- Op2) ROM:8AE3 000 movx A, @DPTR ; Move from/to external RAM ROM:8AE4 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:8AE7 000 jnb ACC.7, ROM_8AF1 ; Accumulator ROM:8AE7 ROM:8AEA 000 mov A, #5 ; Move (Op1 <- Op2) ROM:8AEC 000 movx @DPTR, A ; Move from/to external RAM ROM:8AED 000 inc DPTR ; Increment Operand ROM:8AEE 000 clr A ; Clear Operand (0) ROM:8AEF 000 movx @DPTR, A ; Move from/to external RAM ROM:8AF0 000 ret ; Return from subroutine ROM:8AF0 ROM:8AF1 ; --------------------------------------------------------------------------- ROM:8AF1 ROM:8AF1 ROM_8AF1: ; CODE XREF: ROM_8A63+84j ROM:8AF1 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8AF3 000 movx @DPTR, A ; Move from/to external RAM ROM:8AF3 ROM:8AF4 ROM:8AF4 ROM_8AF4: ; CODE XREF: ROM_8A63+43j ROM:8AF4 ; ROM_8A63+52j ROM:8AF4 000 ret ; Return from subroutine ROM:8AF4 ROM:8AF4 ; End of function ROM_8A63 ROM:8AF4 ROM:8AF5 ; --------------------------------------------------------------------------- ROM:8AF5 ; START OF FUNCTION CHUNK FOR ROM_8B4C ROM:8AF5 ROM:8AF5 ROM_8AF5: ; CODE XREF: ROM_8B4C:ROM_8B6Fj ROM:8AF5 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8AF8 000 movx A, @DPTR ; Move from/to external RAM ROM:8AF9 000 jnz ROM_8AFE ; Jump if Acc is not zero ROM:8AF9 ROM:8AFB 000 ljmp ROM_8A10 ; Long Jump ROM:8AFB ROM:8AFE ; --------------------------------------------------------------------------- ROM:8AFE ROM:8AFE ROM_8AFE: ; CODE XREF: ROM_8B4C-53j ROM:8AFE 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8B01 000 movx A, @DPTR ; Move from/to external RAM ROM:8B02 000 cjne A, #1, ROM_8B08 ; Compare Operands and JNE ROM:8B02 ROM:8B05 000 ljmp ROM_8A41 ; Long Jump ROM:8B05 ROM:8B08 ; --------------------------------------------------------------------------- ROM:8B08 ROM:8B08 ROM_8B08: ; CODE XREF: ROM_8B4C-4Aj ROM:8B08 000 mov DPTR, #53Eh ; Move (Op1 <- Op2) ROM:8B0B 000 movx A, @DPTR ; Move from/to external RAM ROM:8B0C 000 cjne A, #2, ROM_8B12 ; Compare Operands and JNE ROM:8B0C ROM:8B0F 000 lcall ROM_8A63 ; Long Subroutine Call ROM:8B0F ROM:8B12 ROM:8B12 ROM_8B12: ; CODE XREF: ROM_8B4C-40j ROM:8B12 000 ret ; Return from subroutine ROM:8B12 ROM:8B12 ; END OF FUNCTION CHUNK FOR ROM_8B4C ROM:8B13 ROM:8B13 ; =============== S U B R O U T I N E ======================================= ROM:8B13 ROM:8B13 ROM:8B13 ROM_8B13: ; CODE XREF: ROM_8B4C:ROM_8B72p ROM:8B13 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:8B16 000 movx A, @DPTR ; Move from/to external RAM ROM:8B17 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:8B19 000 movx @DPTR, A ; Move from/to external RAM ROM:8B1A 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:8B1D 000 movx A, @DPTR ; Move from/to external RAM ROM:8B1E 000 swap A ; Swap nibbles of Acc ROM:8B1F 000 rrc A ; Rotate Acc right through Carry ROM:8B20 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:8B22 000 cpl A ; Complement Operand ROM:8B23 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:8B25 000 swap A ; Swap nibbles of Acc ROM:8B26 000 rlc A ; Rotate Acc left through Carry ROM:8B27 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:8B29 000 mov R7, A ; Move (Op1 <- Op2) ROM:8B2A 000 movx A, @DPTR ; Move from/to external RAM ROM:8B2B 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:8B2D 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:8B2E 000 movx @DPTR, A ; Move from/to external RAM ROM:8B2F 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:8B32 000 movx A, @DPTR ; Move from/to external RAM ROM:8B33 000 swap A ; Swap nibbles of Acc ROM:8B34 000 rrc A ; Rotate Acc right through Carry ROM:8B35 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:8B37 000 cpl A ; Complement Operand ROM:8B38 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:8B3A 000 swap A ; Swap nibbles of Acc ROM:8B3B 000 rlc A ; Rotate Acc left through Carry ROM:8B3C 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:8B3E 000 mov R7, A ; Move (Op1 <- Op2) ROM:8B3F 000 movx A, @DPTR ; Move from/to external RAM ROM:8B40 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:8B42 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:8B43 000 movx @DPTR, A ; Move from/to external RAM ROM:8B44 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:8B47 000 movx A, @DPTR ; Move from/to external RAM ROM:8B48 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:8B4A 000 movx @DPTR, A ; Move from/to external RAM ROM:8B4B 000 ret ; Return from subroutine ROM:8B4B ROM:8B4B ; End of function ROM_8B13 ROM:8B4B ROM:8B4C ROM:8B4C ; =============== S U B R O U T I N E ======================================= ROM:8B4C ROM:8B4C ROM:8B4C ROM_8B4C: ; CODE XREF: ROM_6209+6p ROM:8B4C ROM:8B4C ; FUNCTION CHUNK AT ROM:8695 SIZE 0000006E BYTES ROM:8B4C ; FUNCTION CHUNK AT ROM:8754 SIZE 00000127 BYTES ROM:8B4C ; FUNCTION CHUNK AT ROM:88B4 SIZE 000000A3 BYTES ROM:8B4C ; FUNCTION CHUNK AT ROM:89F2 SIZE 00000071 BYTES ROM:8B4C ; FUNCTION CHUNK AT ROM:8AF5 SIZE 0000001E BYTES ROM:8B4C ROM:8B4C 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:8B4F 000 movx A, @DPTR ; Move from/to external RAM ROM:8B50 000 dec A ; Decrement Operand ROM:8B51 000 jz ROM_8B66 ; Jump if Acc is zero ROM:8B51 ROM:8B53 000 dec A ; Decrement Operand ROM:8B54 000 jz ROM_8B69 ; Jump if Acc is zero ROM:8B54 ROM:8B56 000 dec A ; Decrement Operand ROM:8B57 000 jz ROM_8B6C ; Jump if Acc is zero ROM:8B57 ROM:8B59 000 dec A ; Decrement Operand ROM:8B5A 000 jz ROM_8B6F ; Jump if Acc is zero ROM:8B5A ROM:8B5C 000 dec A ; Decrement Operand ROM:8B5D 000 jz ROM_8B72 ; Jump if Acc is zero ROM:8B5D ROM:8B5F 000 add A, #5 ; Add Second Operand to Acc ROM:8B61 000 jnz ROM_8B75 ; Jump if Acc is not zero ROM:8B61 ROM:8B63 000 ljmp ROM_8695 ; Long Jump ROM:8B63 ROM:8B66 ; --------------------------------------------------------------------------- ROM:8B66 ROM:8B66 ROM_8B66: ; CODE XREF: ROM_8B4C+5j ROM:8B66 000 ljmp ROM_86B2 ; Long Jump ROM:8B66 ROM:8B69 ; --------------------------------------------------------------------------- ROM:8B69 ROM:8B69 ROM_8B69: ; CODE XREF: ROM_8B4C+8j ROM:8B69 000 ljmp ROM_88B4 ; Long Jump ROM:8B69 ROM:8B6C ; --------------------------------------------------------------------------- ROM:8B6C ROM:8B6C ROM_8B6C: ; CODE XREF: ROM_8B4C+Bj ROM:8B6C 000 ljmp ROM_89F2 ; Long Jump ROM:8B6C ROM:8B6F ; --------------------------------------------------------------------------- ROM:8B6F ROM:8B6F ROM_8B6F: ; CODE XREF: ROM_8B4C+Ej ROM:8B6F 000 ljmp ROM_8AF5 ; Long Jump ROM:8B6F ROM:8B72 ; --------------------------------------------------------------------------- ROM:8B72 ROM:8B72 ROM_8B72: ; CODE XREF: ROM_8B4C+11j ROM:8B72 000 lcall ROM_8B13 ; Long Subroutine Call ROM:8B72 ROM:8B75 ROM:8B75 ROM_8B75: ; CODE XREF: ROM_8B4C+15j ROM:8B75 000 ret ; Return from subroutine ROM:8B75 ROM:8B75 ; End of function ROM_8B4C ROM:8B75 ROM:8B76 ROM:8B76 ; =============== S U B R O U T I N E ======================================= ROM:8B76 ROM:8B76 ROM:8B76 ROM_8B76: ; CODE XREF: ROM_6209+9p ROM:8B76 000 mov DPTR, #507h ; Move (Op1 <- Op2) ROM:8B79 000 movx A, @DPTR ; Move from/to external RAM ROM:8B7A 000 jz ROM_8B9C ; Jump if Acc is zero ROM:8B7A ROM:8B7C 000 mov DPTR, #507h ; Move (Op1 <- Op2) ROM:8B7F 000 movx A, @DPTR ; Move from/to external RAM ROM:8B80 000 dec A ; Decrement Operand ROM:8B81 000 movx @DPTR, A ; Move from/to external RAM ROM:8B82 000 movx A, @DPTR ; Move from/to external RAM ROM:8B83 000 jnz ROM_8B9C ; Jump if Acc is not zero ROM:8B83 ROM:8B85 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:8B88 000 movx A, @DPTR ; Move from/to external RAM ROM:8B89 000 cjne A, #1, ROM_8B9C ; Compare Operands and JNE ROM:8B89 ROM:8B8C 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8B8F 000 movx A, @DPTR ; Move from/to external RAM ROM:8B90 000 jnb ACC.0, ROM_8B97 ; Accumulator ROM:8B90 ROM:8B93 000 mov R7, #0Ah ; Move (Op1 <- Op2) ROM:8B95 000 sjmp ROM_8B99 ; Short jump ROM:8B95 ROM:8B97 ; --------------------------------------------------------------------------- ROM:8B97 ROM:8B97 ROM_8B97: ; CODE XREF: ROM_8B76+1Aj ROM:8B97 000 mov R7, #19h ; Move (Op1 <- Op2) ROM:8B97 ROM:8B99 ROM:8B99 ROM_8B99: ; CODE XREF: ROM_8B76+1Fj ROM:8B99 000 lcall ROM_19E0 ; Long Subroutine Call ROM:8B99 ROM:8B9C ROM:8B9C ROM_8B9C: ; CODE XREF: ROM_8B76+4j ROM:8B9C ; ROM_8B76+Dj ... ROM:8B9C 000 ret ; Return from subroutine ROM:8B9C ROM:8B9C ; End of function ROM_8B76 ROM:8B9C ROM:8B9D ROM:8B9D ; =============== S U B R O U T I N E ======================================= ROM:8B9D ROM:8B9D ROM:8B9D ROM_8B9D: ; CODE XREF: ROM_61FA+2A2Dp ROM:8B9D ; ROM_61FA+2A3Ap ... ROM:8B9D 000 mov DPTR, #5A6h ; Move (Op1 <- Op2) ROM:8BA0 000 clr A ; Clear Operand (0) ROM:8BA1 000 movx @DPTR, A ; Move from/to external RAM ROM:8BA1 ROM:8BA2 ROM:8BA2 ROM_8BA2: ; CODE XREF: ROM_8B9D+44j ROM:8BA2 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8BA5 000 movx A, @DPTR ; Move from/to external RAM ROM:8BA6 000 mov R7, A ; Move (Op1 <- Op2) ROM:8BA7 000 mov DPTR, #5A6h ; Move (Op1 <- Op2) ROM:8BAA 000 movx A, @DPTR ; Move from/to external RAM ROM:8BAB 000 clr C ; Clear Operand (0) ROM:8BAC 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8BAD 000 jnc ROM_8BE3 ; Jump if Carry is clear ROM:8BAD ROM:8BAF 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8BB2 000 movx A, @DPTR ; Move from/to external RAM ROM:8BB3 000 add A, #0 ; Add Second Operand to Acc ROM:8BB5 000 mov R7, A ; Move (Op1 <- Op2) ROM:8BB6 000 clr A ; Clear Operand (0) ROM:8BB7 000 addc A, #1 ; Add Second Operand to Acc with carry ROM:8BB9 000 mov R6, A ; Move (Op1 <- Op2) ROM:8BBA 000 mov DPTR, #5A6h ; Move (Op1 <- Op2) ROM:8BBD 000 movx A, @DPTR ; Move from/to external RAM ROM:8BBE 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:8BC0 000 add A, R7 ; Add Second Operand to Acc ROM:8BC1 000 mov R7, A ; Move (Op1 <- Op2) ROM:8BC2 000 mov A, R4 ; Move (Op1 <- Op2) ROM:8BC3 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:8BC4 000 mov DPTR, #6C8h ; Move (Op1 <- Op2) ROM:8BC7 000 movx @DPTR, A ; Move from/to external RAM ROM:8BC8 000 inc DPTR ; Increment Operand ROM:8BC9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8BCA 000 movx @DPTR, A ; Move from/to external RAM ROM:8BCB 000 lcall ROM_6160 ; Long Subroutine Call ROM:8BCB ROM:8BCE 000 mov DPTR, #6C8h ; Move (Op1 <- Op2) ROM:8BD1 000 movx A, @DPTR ; Move from/to external RAM ROM:8BD2 000 mov R4, A ; Move (Op1 <- Op2) ROM:8BD3 000 inc DPTR ; Increment Operand ROM:8BD4 000 movx A, @DPTR ; Move from/to external RAM ROM:8BD5 000 mov DP0L, A ; Data Pointer Low Byte ROM:8BD7 000 mov DP0H, R4 ; Data Pointer High Byte ROM:8BD9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8BDA 000 movx @DPTR, A ; Move from/to external RAM ROM:8BDB 000 mov DPTR, #5A6h ; Move (Op1 <- Op2) ROM:8BDE 000 movx A, @DPTR ; Move from/to external RAM ROM:8BDF 000 inc A ; Increment Operand ROM:8BE0 000 movx @DPTR, A ; Move from/to external RAM ROM:8BE1 000 sjmp ROM_8BA2 ; Short jump ROM:8BE1 ROM:8BE3 ; --------------------------------------------------------------------------- ROM:8BE3 ROM:8BE3 ROM_8BE3: ; CODE XREF: ROM_8B9D+10j ROM:8BE3 000 ret ; Return from subroutine ROM:8BE3 ROM:8BE3 ; End of function ROM_8B9D ROM:8BE3 ROM:8BE4 ; --------------------------------------------------------------------------- ROM:8BE4 ; START OF FUNCTION CHUNK FOR ROM_61FA ROM:8BE4 ROM:8BE4 ROM_8BE4: ; CODE XREF: ROM_61FA+Cj ROM:8BE4 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:8BE7 000 movx A, @DPTR ; Move from/to external RAM ROM:8BE8 000 jb ACC.3, ROM_8BEE ; Accumulator ROM:8BE8 ROM:8BEB 000 ljmp ROM_8D06 ; Long Jump ROM:8BEB ROM:8BEE ; --------------------------------------------------------------------------- ROM:8BEE ROM:8BEE ROM_8BEE: ; CODE XREF: ROM_61FA+29EEj ROM:8BEE 000 movx A, @DPTR ; Move from/to external RAM ROM:8BEF 000 jnb ACC.7, ROM_8BF5 ; Accumulator ROM:8BEF ROM:8BF2 000 ljmp ROM_8D06 ; Long Jump ROM:8BF2 ROM:8BF5 ; --------------------------------------------------------------------------- ROM:8BF5 ROM:8BF5 ROM_8BF5: ; CODE XREF: ROM_61FA+29F5j ROM:8BF5 000 clr IE.7 ; Interrupt Enable Register 0 ROM:8BF7 000 lcall ROM_6022 ; Long Subroutine Call ROM:8BF7 ROM:8BFA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8BFB 000 cpl A ; Complement Operand ROM:8BFC 000 jz ROM_8C01 ; Jump if Acc is zero ROM:8BFC ROM:8BFE 000 setb IE.7 ; Interrupt Enable Register 0 ROM:8C00 000 ret ; Return from subroutine ROM:8C00 ROM:8C01 ; --------------------------------------------------------------------------- ROM:8C01 ROM:8C01 ROM_8C01: ; CODE XREF: ROM_61FA+2A02j ROM:8C01 000 mov R7, #0CCh ; '¦' ; Move (Op1 <- Op2) ROM:8C03 000 lcall ROM_610E ; Long Subroutine Call ROM:8C03 ROM:8C06 000 mov R7, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:8C08 000 lcall ROM_610E ; Long Subroutine Call ROM:8C08 ROM:8C0B 000 clr A ; Clear Operand (0) ROM:8C0C 000 mov R7, A ; Move (Op1 <- Op2) ROM:8C0D 000 lcall ROM_610E ; Long Subroutine Call ROM:8C0D ROM:8C10 000 clr A ; Clear Operand (0) ROM:8C11 000 mov R7, A ; Move (Op1 <- Op2) ROM:8C12 000 lcall ROM_610E ; Long Subroutine Call ROM:8C12 ROM:8C15 000 lcall ROM_6160 ; Long Subroutine Call ROM:8C15 ROM:8C18 000 mov DPTR, #577h ; Move (Op1 <- Op2) ROM:8C1B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8C1C 000 movx @DPTR, A ; Move from/to external RAM ROM:8C1D 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8C20 000 mov A, #50h ; 'P' ; Move (Op1 <- Op2) ROM:8C22 000 movx @DPTR, A ; Move from/to external RAM ROM:8C23 000 inc DPTR ; Increment Operand ROM:8C24 000 mov A, #4 ; Move (Op1 <- Op2) ROM:8C26 000 movx @DPTR, A ; Move from/to external RAM ROM:8C27 000 lcall ROM_8B9D ; Long Subroutine Call ROM:8C27 ROM:8C2A 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8C2D 000 mov A, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:8C2F 000 movx @DPTR, A ; Move from/to external RAM ROM:8C30 000 inc DPTR ; Increment Operand ROM:8C31 000 mov A, #2 ; Move (Op1 <- Op2) ROM:8C33 000 movx @DPTR, A ; Move from/to external RAM ROM:8C34 000 lcall ROM_8B9D ; Long Subroutine Call ROM:8C34 ROM:8C37 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8C3A 000 mov A, #54h ; 'T' ; Move (Op1 <- Op2) ROM:8C3C 000 movx @DPTR, A ; Move from/to external RAM ROM:8C3D 000 inc DPTR ; Increment Operand ROM:8C3E 000 mov A, #5 ; Move (Op1 <- Op2) ROM:8C40 000 movx @DPTR, A ; Move from/to external RAM ROM:8C41 000 lcall ROM_8B9D ; Long Subroutine Call ROM:8C41 ROM:8C44 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8C47 000 mov A, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:8C49 000 movx @DPTR, A ; Move from/to external RAM ROM:8C4A 000 inc DPTR ; Increment Operand ROM:8C4B 000 mov A, #20h ; ' ' ; Move (Op1 <- Op2) ROM:8C4D 000 movx @DPTR, A ; Move from/to external RAM ROM:8C4E 000 lcall ROM_8B9D ; Long Subroutine Call ROM:8C4E ROM:8C51 000 setb IE.7 ; Interrupt Enable Register 0 ROM:8C53 000 mov DPTR, #156h ; Move (Op1 <- Op2) ROM:8C56 000 movx A, @DPTR ; Move from/to external RAM ROM:8C57 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:8C59 000 inc DPTR ; Increment Operand ROM:8C5A 000 movx A, @DPTR ; Move from/to external RAM ROM:8C5B 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:8C5D 000 inc DPTR ; Increment Operand ROM:8C5E 000 movx A, @DPTR ; Move from/to external RAM ROM:8C5F 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:8C61 000 mov A, #30h ; '0' ; Move (Op1 <- Op2) ROM:8C63 000 setb C ; Set Direct Bit ROM:8C64 000 subb A, RAM_30 ; Subtract Second Operand from Acc with Borrow ROM:8C66 000 jnc ROM_8C6C ; Jump if Carry is clear ROM:8C66 ROM:8C68 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:8C6A 000 sjmp ROM_8C6E ; Short jump ROM:8C6A ROM:8C6C ; --------------------------------------------------------------------------- ROM:8C6C ROM:8C6C ROM_8C6C: ; CODE XREF: ROM_61FA+2A6Cj ROM:8C6C 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:8C6C ROM:8C6E ROM:8C6E ROM_8C6E: ; CODE XREF: ROM_61FA+2A70j ROM:8C6E 000 setb C ; Set Direct Bit ROM:8C6F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8C70 000 xrl A, #80h ; Exclusive OR (op1 ^= op2) ROM:8C72 000 subb A, #0B9h ; '¦' ; Subtract Second Operand from Acc with Borrow ROM:8C74 000 jnc ROM_8C82 ; Jump if Carry is clear ROM:8C74 ROM:8C76 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:8C78 000 add A, #0D0h ; '-' ; Add Second Operand to Acc ROM:8C7A 000 mov B, #64h ; 'd' ; B Register ROM:8C7D 000 mul AB ; Multiply Acc by B ROM:8C7E 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:8C81 000 movx @DPTR, A ; Move from/to external RAM ROM:8C81 ROM:8C82 ROM:8C82 ROM_8C82: ; CODE XREF: ROM_61FA+2A7Aj ROM:8C82 000 mov A, #30h ; '0' ; Move (Op1 <- Op2) ROM:8C84 000 setb C ; Set Direct Bit ROM:8C85 000 subb A, RAM_31 ; Subtract Second Operand from Acc with Borrow ROM:8C87 000 jnc ROM_8C8D ; Jump if Carry is clear ROM:8C87 ROM:8C89 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:8C8B 000 sjmp ROM_8C8F ; Short jump ROM:8C8B ROM:8C8D ; --------------------------------------------------------------------------- ROM:8C8D ROM:8C8D ROM_8C8D: ; CODE XREF: ROM_61FA+2A8Dj ROM:8C8D 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:8C8D ROM:8C8F ROM:8C8F ROM_8C8F: ; CODE XREF: ROM_61FA+2A91j ROM:8C8F 000 setb C ; Set Direct Bit ROM:8C90 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8C91 000 xrl A, #80h ; Exclusive OR (op1 ^= op2) ROM:8C93 000 subb A, #0B9h ; '¦' ; Subtract Second Operand from Acc with Borrow ROM:8C95 000 jnc ROM_8CA6 ; Jump if Carry is clear ROM:8C95 ROM:8C97 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:8C99 000 add A, #0D0h ; '-' ; Add Second Operand to Acc ROM:8C9B 000 mov B, #0Ah ; B Register ROM:8C9E 000 mul AB ; Multiply Acc by B ROM:8C9F 000 mov R7, A ; Move (Op1 <- Op2) ROM:8CA0 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:8CA3 000 movx A, @DPTR ; Move from/to external RAM ROM:8CA4 000 add A, R7 ; Add Second Operand to Acc ROM:8CA5 000 movx @DPTR, A ; Move from/to external RAM ROM:8CA5 ROM:8CA6 ROM:8CA6 ROM_8CA6: ; CODE XREF: ROM_61FA+2A9Bj ROM:8CA6 000 mov A, #30h ; '0' ; Move (Op1 <- Op2) ROM:8CA8 000 setb C ; Set Direct Bit ROM:8CA9 000 subb A, RAM_32 ; Subtract Second Operand from Acc with Borrow ROM:8CAB 000 jnc ROM_8CB1 ; Jump if Carry is clear ROM:8CAB ROM:8CAD 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:8CAF 000 sjmp ROM_8CB3 ; Short jump ROM:8CAF ROM:8CB1 ; --------------------------------------------------------------------------- ROM:8CB1 ROM:8CB1 ROM_8CB1: ; CODE XREF: ROM_61FA+2AB1j ROM:8CB1 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:8CB1 ROM:8CB3 ROM:8CB3 ROM_8CB3: ; CODE XREF: ROM_61FA+2AB5j ROM:8CB3 000 setb C ; Set Direct Bit ROM:8CB4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:8CB5 000 xrl A, #80h ; Exclusive OR (op1 ^= op2) ROM:8CB7 000 subb A, #0B9h ; '¦' ; Subtract Second Operand from Acc with Borrow ROM:8CB9 000 jnc ROM_8CC6 ; Jump if Carry is clear ROM:8CB9 ROM:8CBB 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:8CBD 000 add A, #0D0h ; '-' ; Add Second Operand to Acc ROM:8CBF 000 mov R7, A ; Move (Op1 <- Op2) ROM:8CC0 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:8CC3 000 movx A, @DPTR ; Move from/to external RAM ROM:8CC4 000 add A, R7 ; Add Second Operand to Acc ROM:8CC5 000 movx @DPTR, A ; Move from/to external RAM ROM:8CC5 ROM:8CC6 ROM:8CC6 ROM_8CC6: ; CODE XREF: ROM_61FA+2ABFj ROM:8CC6 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:8CC9 000 movx A, @DPTR ; Move from/to external RAM ROM:8CCA 000 setb C ; Set Direct Bit ROM:8CCB 000 subb A, #0FAh ; '·' ; Subtract Second Operand from Acc with Borrow ROM:8CCD 000 jc ROM_8CDA ; Jump if Carry is set ROM:8CCD ROM:8CCF 000 clr A ; Clear Operand (0) ROM:8CD0 000 movx @DPTR, A ; Move from/to external RAM ROM:8CD1 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:8CD4 000 movx A, @DPTR ; Move from/to external RAM ROM:8CD5 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:8CD7 000 movx @DPTR, A ; Move from/to external RAM ROM:8CD8 000 sjmp ROM_8CE1 ; Short jump ROM:8CD8 ROM:8CDA ; --------------------------------------------------------------------------- ROM:8CDA ROM:8CDA ROM_8CDA: ; CODE XREF: ROM_61FA+2AD3j ROM:8CDA 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:8CDD 000 movx A, @DPTR ; Move from/to external RAM ROM:8CDE 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:8CE0 000 movx @DPTR, A ; Move from/to external RAM ROM:8CE0 ROM:8CE1 ROM:8CE1 ROM_8CE1: ; CODE XREF: ROM_61FA+2ADEj ROM:8CE1 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:8CE4 000 movx A, @DPTR ; Move from/to external RAM ROM:8CE5 000 mov R7, A ; Move (Op1 <- Op2) ROM:8CE6 000 inc DPTR ; Increment Operand ROM:8CE7 000 movx A, @DPTR ; Move from/to external RAM ROM:8CE8 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:8CE9 000 jz ROM_8CF2 ; Jump if Acc is zero ROM:8CE9 ROM:8CEB 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:8CEE 000 movx A, @DPTR ; Move from/to external RAM ROM:8CEF 000 inc DPTR ; Increment Operand ROM:8CF0 000 movx @DPTR, A ; Move from/to external RAM ROM:8CF1 000 ret ; Return from subroutine ROM:8CF1 ROM:8CF2 ; --------------------------------------------------------------------------- ROM:8CF2 ROM:8CF2 ROM_8CF2: ; CODE XREF: ROM_61FA+2AEFj ROM:8CF2 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:8CF5 000 movx A, @DPTR ; Move from/to external RAM ROM:8CF6 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:8CF8 000 movx @DPTR, A ; Move from/to external RAM ROM:8CF9 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:8CFC 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8CFE 000 movx @DPTR, A ; Move from/to external RAM ROM:8CFF 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8D02 000 movx @DPTR, A ; Move from/to external RAM ROM:8D03 000 inc DPTR ; Increment Operand ROM:8D04 000 clr A ; Clear Operand (0) ROM:8D05 000 movx @DPTR, A ; Move from/to external RAM ROM:8D05 ROM:8D06 ROM:8D06 ROM_8D06: ; CODE XREF: ROM_61FA+29F1j ROM:8D06 ; ROM_61FA+29F8j ROM:8D06 000 ret ; Return from subroutine ROM:8D06 ROM:8D06 ; END OF FUNCTION CHUNK FOR ROM_61FA ROM:8D07 ROM:8D07 ; =============== S U B R O U T I N E ======================================= ROM:8D07 ROM:8D07 ROM:8D07 ROM_8D07: ; CODE XREF: ROM_61FA+9p ROM:8D07 000 mov DPTR, #1604h ; Move (Op1 <- Op2) ROM:8D0A 000 movx A, @DPTR ; Move from/to external RAM ROM:8D0B 000 rrc A ; Rotate Acc right through Carry ROM:8D0C 000 mov RAM_2D.7, C ; Move (Op1 <- Op2) ROM:8D0E 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:8D11 000 movx A, @DPTR ; Move from/to external RAM ROM:8D12 000 jnb ACC.4, ROM_8D19 ; Accumulator ROM:8D12 ROM:8D15 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:8D17 000 sjmp ROM_8D1B ; Short jump ROM:8D17 ROM:8D19 ; --------------------------------------------------------------------------- ROM:8D19 ROM:8D19 ROM_8D19: ; CODE XREF: ROM_8D07+Bj ROM:8D19 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:8D19 ROM:8D1B ROM:8D1B ROM_8D1B: ; CODE XREF: ROM_8D07+10j ROM:8D1B 000 mov C, RAM_2D.7 ; Move (Op1 <- Op2) ROM:8D1D 000 clr A ; Clear Operand (0) ROM:8D1E 000 rlc A ; Rotate Acc left through Carry ROM:8D1F 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:8D20 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:8D22 000 jnz ROM_8D39 ; Jump if Acc is not zero ROM:8D22 ROM:8D24 000 mov DPTR, #521h ; Move (Op1 <- Op2) ROM:8D27 000 mov A, #6 ; Move (Op1 <- Op2) ROM:8D29 000 movx @DPTR, A ; Move from/to external RAM ROM:8D2A 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:8D2D 000 movx A, @DPTR ; Move from/to external RAM ROM:8D2E 000 jb RAM_2D.7, ROM_8D35 ; Jump if Bit is set ROM:8D2E ROM:8D31 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:8D33 000 movx @DPTR, A ; Move from/to external RAM ROM:8D34 000 ret ; Return from subroutine ROM:8D34 ROM:8D35 ; --------------------------------------------------------------------------- ROM:8D35 ROM:8D35 ROM_8D35: ; CODE XREF: ROM_8D07+27j ROM:8D35 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:8D37 000 movx @DPTR, A ; Move from/to external RAM ROM:8D38 000 ret ; Return from subroutine ROM:8D38 ROM:8D39 ; --------------------------------------------------------------------------- ROM:8D39 ROM:8D39 ROM_8D39: ; CODE XREF: ROM_8D07+1Bj ROM:8D39 000 mov DPTR, #521h ; Move (Op1 <- Op2) ROM:8D3C 000 movx A, @DPTR ; Move from/to external RAM ROM:8D3D 000 jz ROM_8DA5 ; Jump if Acc is zero ROM:8D3D ROM:8D3F 000 movx A, @DPTR ; Move from/to external RAM ROM:8D40 000 dec A ; Decrement Operand ROM:8D41 000 movx @DPTR, A ; Move from/to external RAM ROM:8D42 000 movx A, @DPTR ; Move from/to external RAM ROM:8D43 000 jnz ROM_8DA5 ; Jump if Acc is not zero ROM:8D43 ROM:8D45 000 mov DPTR, #53Dh ; Move (Op1 <- Op2) ROM:8D48 000 inc A ; Increment Operand ROM:8D49 000 movx @DPTR, A ; Move from/to external RAM ROM:8D4A 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:8D4D 000 movx A, @DPTR ; Move from/to external RAM ROM:8D4E 000 jnb ACC.4, ROM_8D67 ; Accumulator ROM:8D4E ROM:8D51 000 movx A, @DPTR ; Move from/to external RAM ROM:8D52 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:8D54 000 movx @DPTR, A ; Move from/to external RAM ROM:8D55 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:8D58 000 movx A, @DPTR ; Move from/to external RAM ROM:8D59 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:8D5B 000 movx @DPTR, A ; Move from/to external RAM ROM:8D5C 000 mov DPTR, #53Bh ; Move (Op1 <- Op2) ROM:8D5F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:8D61 000 movx @DPTR, A ; Move from/to external RAM ROM:8D62 000 inc DPTR ; Increment Operand ROM:8D63 000 clr A ; Clear Operand (0) ROM:8D64 000 movx @DPTR, A ; Move from/to external RAM ROM:8D65 000 sjmp ROM_8D98 ; Short jump ROM:8D65 ROM:8D67 ; --------------------------------------------------------------------------- ROM:8D67 ROM:8D67 ROM_8D67: ; CODE XREF: ROM_8D07+47j ROM:8D67 000 mov DPTR, #578h ; Move (Op1 <- Op2) ROM:8D6A 000 clr A ; Clear Operand (0) ROM:8D6B 000 movx @DPTR, A ; Move from/to external RAM ROM:8D6C 000 movx A, @DPTR ; Move from/to external RAM ROM:8D6D 000 inc DPTR ; Increment Operand ROM:8D6E 000 movx @DPTR, A ; Move from/to external RAM ROM:8D6F 000 lcall ROM_7E25 ; Long Subroutine Call ROM:8D6F ROM:8D72 000 mov DPTR, #502h ; Move (Op1 <- Op2) ROM:8D75 000 movx A, @DPTR ; Move from/to external RAM ROM:8D76 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:8D78 000 movx @DPTR, A ; Move from/to external RAM ROM:8D79 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:8D7C 000 movx A, @DPTR ; Move from/to external RAM ROM:8D7D 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:8D7F 000 movx @DPTR, A ; Move from/to external RAM ROM:8D80 000 movx A, @DPTR ; Move from/to external RAM ROM:8D81 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:8D83 000 movx @DPTR, A ; Move from/to external RAM ROM:8D84 000 mov DPTR, #508h ; Move (Op1 <- Op2) ROM:8D87 000 mov A, #0Ah ; Move (Op1 <- Op2) ROM:8D89 000 movx @DPTR, A ; Move from/to external RAM ROM:8D8A 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:8D8D 000 movx A, @DPTR ; Move from/to external RAM ROM:8D8E 000 cjne A, #5, ROM_8D98 ; Compare Operands and JNE ROM:8D8E ROM:8D91 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8D94 000 movx A, @DPTR ; Move from/to external RAM ROM:8D95 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:8D97 000 movx @DPTR, A ; Move from/to external RAM ROM:8D97 ROM:8D98 ROM:8D98 ROM_8D98: ; CODE XREF: ROM_8D07+5Ej ROM:8D98 ; ROM_8D07+87j ROM:8D98 000 mov DPTR, #507h ; Move (Op1 <- Op2) ROM:8D9B 000 mov A, #20h ; ' ' ; Move (Op1 <- Op2) ROM:8D9D 000 movx @DPTR, A ; Move from/to external RAM ROM:8D9E 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:8DA1 000 movx A, @DPTR ; Move from/to external RAM ROM:8DA2 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:8DA4 000 movx @DPTR, A ; Move from/to external RAM ROM:8DA4 ROM:8DA5 ROM:8DA5 ROM_8DA5: ; CODE XREF: ROM_8D07+36j ROM:8DA5 ; ROM_8D07+3Cj ROM:8DA5 000 ret ; Return from subroutine ROM:8DA5 ROM:8DA5 ; End of function ROM_8D07 ROM:8DA5 ROM:8DA6 ; --------------------------------------------------------------------------- ROM:8DA6 dec R3 ; Decrement Operand ROM:8DA7 ajmp ROM_88DE ; Absolute Jump ROM:8DA7 ROM:8DA9 ; --------------------------------------------------------------------------- ROM:8DA9 nop ; No operation ROM:8DAA ret ; Return from subroutine ROM:8DAA ROM:8DAB ; --------------------------------------------------------------------------- ROM:8DAB ajmp ROM_885E ; Absolute Jump ROM:8DAB ROM:8DAB ; --------------------------------------------------------------------------- ROM:8DAD db 8, 20h, 1, 40h, 0Fh, 21h, 1, 0C0h, 0Fh, 18h, 1, 0ACh ROM:8DAD db 0, 19h, 1, 0DCh, 0, 1Ch, 1, 0B9h, 0, 3, 1, 0A0h, 0 ROM:8DAD db 1Ah, 1, 0A2h, 0, 14h, 1, 0BBh, 0, 15h, 1, 0BDh, 0, 0 ROM:8DAD db 1, 0AEh, 0, 17h, 1, 66h, 0, 9, 1, 0DAh, 0, 0Ah, 1, 0D8h ROM:8DAD db 0, 0Fh, 1, 0A8h, 0, 10h, 1, 0AAh, 0, 8, 1, 0D6h, 0 ROM:8DAD db 16h, 1, 10h, 0, 0Dh, 1, 0A6h, 0 ROM:8DF6 ROM:8DF6 ; =============== S U B R O U T I N E ======================================= ROM:8DF6 ROM:8DF6 ROM:8DF6 ROM_8DF6: ; CODE XREF: ROM_8F83+16p ROM:8DF6 000 mov DPTR, #22B2h ; Move (Op1 <- Op2) ROM:8DF9 000 movx A, @DPTR ; Move from/to external RAM ROM:8DFA 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8DFD 000 movx @DPTR, A ; Move from/to external RAM ROM:8DFE 000 mov DPTR, #5E0h ; Move (Op1 <- Op2) ROM:8E01 000 movx A, @DPTR ; Move from/to external RAM ROM:8E02 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8E05 000 movx @DPTR, A ; Move from/to external RAM ROM:8E06 000 movx A, @DPTR ; Move from/to external RAM ROM:8E07 000 setb C ; Set Direct Bit ROM:8E08 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:8E0A 000 jnc ROM_8E2F ; Jump if Carry is clear ROM:8E0A ROM:8E0C 000 clr A ; Clear Operand (0) ROM:8E0D 000 movx @DPTR, A ; Move from/to external RAM ROM:8E0E 000 movx A, @DPTR ; Move from/to external RAM ROM:8E0F 000 mov B, #3 ; B Register ROM:8E12 000 mul AB ; Multiply Acc by B ROM:8E13 000 add A, #8 ; Add Second Operand to Acc ROM:8E15 000 mov DP0L, A ; Data Pointer Low Byte ROM:8E17 000 clr A ; Clear Operand (0) ROM:8E18 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8E1A 000 mov DP0H, A ; Data Pointer High Byte ROM:8E1C 000 clr A ; Clear Operand (0) ROM:8E1D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8E1E 000 mov R7, A ; Move (Op1 <- Op2) ROM:8E1F 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8E22 000 movx A, @DPTR ; Move from/to external RAM ROM:8E23 000 clr C ; Clear Operand (0) ROM:8E24 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8E25 000 jc ROM_8E9A ; Jump if Carry is set ROM:8E25 ROM:8E27 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8E2A 000 movx A, @DPTR ; Move from/to external RAM ROM:8E2B 000 inc A ; Increment Operand ROM:8E2C 000 movx @DPTR, A ; Move from/to external RAM ROM:8E2D 000 sjmp ROM_8E9A ; Short jump ROM:8E2D ROM:8E2F ; --------------------------------------------------------------------------- ROM:8E2F ROM:8E2F ROM_8E2F: ; CODE XREF: ROM_8DF6+14j ROM:8E2F 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8E32 000 movx A, @DPTR ; Move from/to external RAM ROM:8E33 000 clr C ; Clear Operand (0) ROM:8E34 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:8E36 000 jc ROM_8E56 ; Jump if Carry is set ROM:8E36 ROM:8E38 000 mov A, #3 ; Move (Op1 <- Op2) ROM:8E3A 000 movx @DPTR, A ; Move from/to external RAM ROM:8E3B 000 movx A, @DPTR ; Move from/to external RAM ROM:8E3C 000 mov B, #3 ; B Register ROM:8E3F 000 mul AB ; Multiply Acc by B ROM:8E40 000 add A, #9 ; Add Second Operand to Acc ROM:8E42 000 mov DP0L, A ; Data Pointer Low Byte ROM:8E44 000 clr A ; Clear Operand (0) ROM:8E45 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8E47 000 mov DP0H, A ; Data Pointer High Byte ROM:8E49 000 clr A ; Clear Operand (0) ROM:8E4A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8E4B 000 mov R7, A ; Move (Op1 <- Op2) ROM:8E4C 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8E4F 000 movx A, @DPTR ; Move from/to external RAM ROM:8E50 000 setb C ; Set Direct Bit ROM:8E51 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8E52 000 jnc ROM_8E9A ; Jump if Carry is clear ROM:8E52 ROM:8E54 000 sjmp ROM_8E94 ; Short jump ROM:8E54 ROM:8E56 ; --------------------------------------------------------------------------- ROM:8E56 ROM:8E56 ROM_8E56: ; CODE XREF: ROM_8DF6+40j ROM:8E56 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8E59 000 movx A, @DPTR ; Move from/to external RAM ROM:8E5A 000 mov B, #3 ; B Register ROM:8E5D 000 mul AB ; Multiply Acc by B ROM:8E5E 000 add A, #8 ; Add Second Operand to Acc ROM:8E60 000 mov DP0L, A ; Data Pointer Low Byte ROM:8E62 000 clr A ; Clear Operand (0) ROM:8E63 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8E65 000 mov DP0H, A ; Data Pointer High Byte ROM:8E67 000 clr A ; Clear Operand (0) ROM:8E68 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8E69 000 mov R7, A ; Move (Op1 <- Op2) ROM:8E6A 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8E6D 000 movx A, @DPTR ; Move from/to external RAM ROM:8E6E 000 clr C ; Clear Operand (0) ROM:8E6F 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8E70 000 jc ROM_8E78 ; Jump if Carry is set ROM:8E70 ROM:8E72 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8E75 000 movx A, @DPTR ; Move from/to external RAM ROM:8E76 000 inc A ; Increment Operand ROM:8E77 000 movx @DPTR, A ; Move from/to external RAM ROM:8E77 ROM:8E78 ROM:8E78 ROM_8E78: ; CODE XREF: ROM_8DF6+7Aj ROM:8E78 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8E7B 000 movx A, @DPTR ; Move from/to external RAM ROM:8E7C 000 mov B, #3 ; B Register ROM:8E7F 000 mul AB ; Multiply Acc by B ROM:8E80 000 add A, #9 ; Add Second Operand to Acc ROM:8E82 000 mov DP0L, A ; Data Pointer Low Byte ROM:8E84 000 clr A ; Clear Operand (0) ROM:8E85 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8E87 000 mov DP0H, A ; Data Pointer High Byte ROM:8E89 000 clr A ; Clear Operand (0) ROM:8E8A 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8E8B 000 mov R7, A ; Move (Op1 <- Op2) ROM:8E8C 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8E8F 000 movx A, @DPTR ; Move from/to external RAM ROM:8E90 000 setb C ; Set Direct Bit ROM:8E91 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8E92 000 jnc ROM_8E9A ; Jump if Carry is clear ROM:8E92 ROM:8E94 ROM:8E94 ROM_8E94: ; CODE XREF: ROM_8DF6+5Ej ROM:8E94 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8E97 000 movx A, @DPTR ; Move from/to external RAM ROM:8E98 000 dec A ; Decrement Operand ROM:8E99 000 movx @DPTR, A ; Move from/to external RAM ROM:8E99 ROM:8E9A ROM:8E9A ROM_8E9A: ; CODE XREF: ROM_8DF6+2Fj ROM:8E9A ; ROM_8DF6+37j ... ROM:8E9A 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8E9D 000 movx A, @DPTR ; Move from/to external RAM ROM:8E9E 000 mov DPTR, #5E0h ; Move (Op1 <- Op2) ROM:8EA1 000 movx @DPTR, A ; Move from/to external RAM ROM:8EA2 000 ret ; Return from subroutine ROM:8EA2 ROM:8EA2 ; End of function ROM_8DF6 ROM:8EA2 ROM:8EA3 ROM:8EA3 ; =============== S U B R O U T I N E ======================================= ROM:8EA3 ROM:8EA3 ROM:8EA3 ROM_8EA3: ; CODE XREF: ROM_8F83:ROM_8F96p ROM:8EA3 000 mov DPTR, #19Ch ; Move (Op1 <- Op2) ROM:8EA6 000 movx A, @DPTR ; Move from/to external RAM ROM:8EA7 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8EAA 000 movx @DPTR, A ; Move from/to external RAM ROM:8EAB 000 mov DPTR, #5D4h ; Move (Op1 <- Op2) ROM:8EAE 000 movx A, @DPTR ; Move from/to external RAM ROM:8EAF 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8EB2 000 movx @DPTR, A ; Move from/to external RAM ROM:8EB3 000 mov DPTR, #120h ; Move (Op1 <- Op2) ROM:8EB6 000 movx A, @DPTR ; Move from/to external RAM ROM:8EB7 000 jnb ACC.6, ROM_8EC1 ; Accumulator ROM:8EB7 ROM:8EBA 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8EBD 000 mov A, #3 ; Move (Op1 <- Op2) ROM:8EBF 000 movx @DPTR, A ; Move from/to external RAM ROM:8EC0 000 ret ; Return from subroutine ROM:8EC0 ROM:8EC1 ; --------------------------------------------------------------------------- ROM:8EC1 ROM:8EC1 ROM_8EC1: ; CODE XREF: ROM_8EA3+14j ROM:8EC1 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8EC4 000 movx A, @DPTR ; Move from/to external RAM ROM:8EC5 000 setb C ; Set Direct Bit ROM:8EC6 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:8EC8 000 jnc ROM_8EED ; Jump if Carry is clear ROM:8EC8 ROM:8ECA 000 clr A ; Clear Operand (0) ROM:8ECB 000 movx @DPTR, A ; Move from/to external RAM ROM:8ECC 000 movx A, @DPTR ; Move from/to external RAM ROM:8ECD 000 mov B, #3 ; B Register ROM:8ED0 000 mul AB ; Multiply Acc by B ROM:8ED1 000 add A, #14h ; Add Second Operand to Acc ROM:8ED3 000 mov DP0L, A ; Data Pointer Low Byte ROM:8ED5 000 clr A ; Clear Operand (0) ROM:8ED6 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8ED8 000 mov DP0H, A ; Data Pointer High Byte ROM:8EDA 000 clr A ; Clear Operand (0) ROM:8EDB 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8EDC 000 mov R7, A ; Move (Op1 <- Op2) ROM:8EDD 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8EE0 000 movx A, @DPTR ; Move from/to external RAM ROM:8EE1 000 clr C ; Clear Operand (0) ROM:8EE2 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8EE3 000 jc ROM_8F58 ; Jump if Carry is set ROM:8EE3 ROM:8EE5 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8EE8 000 movx A, @DPTR ; Move from/to external RAM ROM:8EE9 000 inc A ; Increment Operand ROM:8EEA 000 movx @DPTR, A ; Move from/to external RAM ROM:8EEB 000 sjmp ROM_8F58 ; Short jump ROM:8EEB ROM:8EED ; --------------------------------------------------------------------------- ROM:8EED ROM:8EED ROM_8EED: ; CODE XREF: ROM_8EA3+25j ROM:8EED 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8EF0 000 movx A, @DPTR ; Move from/to external RAM ROM:8EF1 000 clr C ; Clear Operand (0) ROM:8EF2 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:8EF4 000 jc ROM_8F14 ; Jump if Carry is set ROM:8EF4 ROM:8EF6 000 mov A, #3 ; Move (Op1 <- Op2) ROM:8EF8 000 movx @DPTR, A ; Move from/to external RAM ROM:8EF9 000 movx A, @DPTR ; Move from/to external RAM ROM:8EFA 000 mov B, #3 ; B Register ROM:8EFD 000 mul AB ; Multiply Acc by B ROM:8EFE 000 add A, #15h ; Add Second Operand to Acc ROM:8F00 000 mov DP0L, A ; Data Pointer Low Byte ROM:8F02 000 clr A ; Clear Operand (0) ROM:8F03 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8F05 000 mov DP0H, A ; Data Pointer High Byte ROM:8F07 000 clr A ; Clear Operand (0) ROM:8F08 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8F09 000 mov R7, A ; Move (Op1 <- Op2) ROM:8F0A 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8F0D 000 movx A, @DPTR ; Move from/to external RAM ROM:8F0E 000 setb C ; Set Direct Bit ROM:8F0F 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8F10 000 jnc ROM_8F58 ; Jump if Carry is clear ROM:8F10 ROM:8F12 000 sjmp ROM_8F52 ; Short jump ROM:8F12 ROM:8F14 ; --------------------------------------------------------------------------- ROM:8F14 ROM:8F14 ROM_8F14: ; CODE XREF: ROM_8EA3+51j ROM:8F14 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8F17 000 movx A, @DPTR ; Move from/to external RAM ROM:8F18 000 mov B, #3 ; B Register ROM:8F1B 000 mul AB ; Multiply Acc by B ROM:8F1C 000 add A, #14h ; Add Second Operand to Acc ROM:8F1E 000 mov DP0L, A ; Data Pointer Low Byte ROM:8F20 000 clr A ; Clear Operand (0) ROM:8F21 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8F23 000 mov DP0H, A ; Data Pointer High Byte ROM:8F25 000 clr A ; Clear Operand (0) ROM:8F26 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8F27 000 mov R7, A ; Move (Op1 <- Op2) ROM:8F28 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8F2B 000 movx A, @DPTR ; Move from/to external RAM ROM:8F2C 000 clr C ; Clear Operand (0) ROM:8F2D 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8F2E 000 jc ROM_8F36 ; Jump if Carry is set ROM:8F2E ROM:8F30 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8F33 000 movx A, @DPTR ; Move from/to external RAM ROM:8F34 000 inc A ; Increment Operand ROM:8F35 000 movx @DPTR, A ; Move from/to external RAM ROM:8F35 ROM:8F36 ROM:8F36 ROM_8F36: ; CODE XREF: ROM_8EA3+8Bj ROM:8F36 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8F39 000 movx A, @DPTR ; Move from/to external RAM ROM:8F3A 000 mov B, #3 ; B Register ROM:8F3D 000 mul AB ; Multiply Acc by B ROM:8F3E 000 add A, #15h ; Add Second Operand to Acc ROM:8F40 000 mov DP0L, A ; Data Pointer Low Byte ROM:8F42 000 clr A ; Clear Operand (0) ROM:8F43 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8F45 000 mov DP0H, A ; Data Pointer High Byte ROM:8F47 000 clr A ; Clear Operand (0) ROM:8F48 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8F49 000 mov R7, A ; Move (Op1 <- Op2) ROM:8F4A 000 mov DPTR, #55Fh ; Move (Op1 <- Op2) ROM:8F4D 000 movx A, @DPTR ; Move from/to external RAM ROM:8F4E 000 setb C ; Set Direct Bit ROM:8F4F 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8F50 000 jnc ROM_8F58 ; Jump if Carry is clear ROM:8F50 ROM:8F52 ROM:8F52 ROM_8F52: ; CODE XREF: ROM_8EA3+6Fj ROM:8F52 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8F55 000 movx A, @DPTR ; Move from/to external RAM ROM:8F56 000 dec A ; Decrement Operand ROM:8F57 000 movx @DPTR, A ; Move from/to external RAM ROM:8F57 ROM:8F58 ROM:8F58 ROM_8F58: ; CODE XREF: ROM_8EA3+40j ROM:8F58 ; ROM_8EA3+48j ... ROM:8F58 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8F5B 000 movx A, @DPTR ; Move from/to external RAM ROM:8F5C 000 mov DPTR, #5D4h ; Move (Op1 <- Op2) ROM:8F5F 000 movx @DPTR, A ; Move from/to external RAM ROM:8F60 000 ret ; Return from subroutine ROM:8F60 ROM:8F60 ; End of function ROM_8EA3 ROM:8F60 ROM:8F61 ROM:8F61 ; =============== S U B R O U T I N E ======================================= ROM:8F61 ROM:8F61 ROM:8F61 ROM_8F61: ; CODE XREF: ROM_8F83p ROM:8F61 000 mov DPTR, #5E1h ; Move (Op1 <- Op2) ROM:8F64 000 movx A, @DPTR ; Move from/to external RAM ROM:8F65 000 jz ROM_8F82 ; Jump if Acc is zero ROM:8F65 ROM:8F67 000 mov DPTR, #55Dh ; Move (Op1 <- Op2) ROM:8F6A 000 movx A, @DPTR ; Move from/to external RAM ROM:8F6B 000 jnz ROM_8F7B ; Jump if Acc is not zero ROM:8F6B ROM:8F6D 000 mov DPTR, #55Ch ; Move (Op1 <- Op2) ROM:8F70 000 movx A, @DPTR ; Move from/to external RAM ROM:8F71 000 jnz ROM_8F7B ; Jump if Acc is not zero ROM:8F71 ROM:8F73 000 mov DPTR, #22B5h ; Move (Op1 <- Op2) ROM:8F76 000 movx A, @DPTR ; Move from/to external RAM ROM:8F77 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:8F79 000 movx @DPTR, A ; Move from/to external RAM ROM:8F7A 000 ret ; Return from subroutine ROM:8F7A ROM:8F7B ; --------------------------------------------------------------------------- ROM:8F7B ROM:8F7B ROM_8F7B: ; CODE XREF: ROM_8F61+Aj ROM:8F7B ; ROM_8F61+10j ROM:8F7B 000 mov DPTR, #22B5h ; Move (Op1 <- Op2) ROM:8F7E 000 movx A, @DPTR ; Move from/to external RAM ROM:8F7F 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:8F81 000 movx @DPTR, A ; Move from/to external RAM ROM:8F81 ROM:8F82 ROM:8F82 ROM_8F82: ; CODE XREF: ROM_8F61+4j ROM:8F82 000 ret ; Return from subroutine ROM:8F82 ROM:8F82 ; End of function ROM_8F61 ROM:8F82 ROM:8F83 ROM:8F83 ; =============== S U B R O U T I N E ======================================= ROM:8F83 ROM:8F83 ROM:8F83 ROM_8F83: ; CODE XREF: ROM_622F+1Dp ROM:8F83 000 lcall ROM_8F61 ; Long Subroutine Call ROM:8F83 ROM:8F86 000 mov DPTR, #5D6h ; Move (Op1 <- Op2) ROM:8F89 000 movx A, @DPTR ; Move from/to external RAM ROM:8F8A 000 jnb ACC.7, ROM_8F96 ; Accumulator ROM:8F8A ROM:8F8D 000 movx A, @DPTR ; Move from/to external RAM ROM:8F8E 000 add A, #80h ; 'Ç' ; Add Second Operand to Acc ROM:8F90 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8F93 000 movx @DPTR, A ; Move from/to external RAM ROM:8F94 000 sjmp ROM_8FC9 ; Short jump ROM:8F94 ROM:8F96 ; --------------------------------------------------------------------------- ROM:8F96 ROM:8F96 ROM_8F96: ; CODE XREF: ROM_8F83+7j ROM:8F96 000 lcall ROM_8EA3 ; Long Subroutine Call ROM:8F96 ROM:8F99 000 lcall ROM_8DF6 ; Long Subroutine Call ROM:8F99 ROM:8F9C 000 mov DPTR, #5E0h ; Move (Op1 <- Op2) ROM:8F9F 000 movx A, @DPTR ; Move from/to external RAM ROM:8FA0 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8FA3 000 movx @DPTR, A ; Move from/to external RAM ROM:8FA4 000 mov DPTR, #5E0h ; Move (Op1 <- Op2) ROM:8FA7 000 movx A, @DPTR ; Move from/to external RAM ROM:8FA8 000 mov R7, A ; Move (Op1 <- Op2) ROM:8FA9 000 mov DPTR, #5D4h ; Move (Op1 <- Op2) ROM:8FAC 000 movx A, @DPTR ; Move from/to external RAM ROM:8FAD 000 setb C ; Set Direct Bit ROM:8FAE 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:8FAF 000 jc ROM_8FB6 ; Jump if Carry is set ROM:8FAF ROM:8FB1 000 movx A, @DPTR ; Move from/to external RAM ROM:8FB2 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8FB5 000 movx @DPTR, A ; Move from/to external RAM ROM:8FB5 ROM:8FB6 ROM:8FB6 ROM_8FB6: ; CODE XREF: ROM_8F83+2Cj ROM:8FB6 000 mov DPTR, #503h ; Move (Op1 <- Op2) ROM:8FB9 000 movx A, @DPTR ; Move from/to external RAM ROM:8FBA 000 jb ACC.3, ROM_8FC9 ; Accumulator ROM:8FBA ROM:8FBD 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8FC0 000 movx A, @DPTR ; Move from/to external RAM ROM:8FC1 000 setb C ; Set Direct Bit ROM:8FC2 000 subb A, #2 ; Subtract Second Operand from Acc with Borrow ROM:8FC4 000 jnc ROM_8FC9 ; Jump if Carry is clear ROM:8FC4 ROM:8FC6 000 mov A, #2 ; Move (Op1 <- Op2) ROM:8FC8 000 movx @DPTR, A ; Move from/to external RAM ROM:8FC8 ROM:8FC9 ROM:8FC9 ROM_8FC9: ; CODE XREF: ROM_8F83+11j ROM:8FC9 ; ROM_8F83+37j ... ROM:8FC9 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8FCC 000 movx A, @DPTR ; Move from/to external RAM ROM:8FCD 000 mov R7, A ; Move (Op1 <- Op2) ROM:8FCE 000 mov DPTR, #5E1h ; Move (Op1 <- Op2) ROM:8FD1 000 movx A, @DPTR ; Move from/to external RAM ROM:8FD2 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:8FD3 000 jz ROM_8FFA ; Jump if Acc is zero ROM:8FD3 ROM:8FD5 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8FD8 000 movx A, @DPTR ; Move from/to external RAM ROM:8FD9 000 mov DPTR, #5E1h ; Move (Op1 <- Op2) ROM:8FDC 000 movx @DPTR, A ; Move from/to external RAM ROM:8FDD 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:8FE0 000 movx A, @DPTR ; Move from/to external RAM ROM:8FE1 000 mov B, #3 ; B Register ROM:8FE4 000 mul AB ; Multiply Acc by B ROM:8FE5 000 add A, #16h ; Add Second Operand to Acc ROM:8FE7 000 mov DP0L, A ; Data Pointer Low Byte ROM:8FE9 000 clr A ; Clear Operand (0) ROM:8FEA 000 addc A, #91h ; 'æ' ; Add Second Operand to Acc with carry ROM:8FEC 000 mov DP0H, A ; Data Pointer High Byte ROM:8FEE 000 clr A ; Clear Operand (0) ROM:8FEF 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:8FF0 000 mov DPTR, #DAC_DACDAT0 ; DAC Data Channel 0 ROM:8FF3 000 movx @DPTR, A ; Move from/to external RAM ROM:8FF4 000 mov DPTR, #534h ; Move (Op1 <- Op2) ROM:8FF7 000 mov A, #5 ; Move (Op1 <- Op2) ROM:8FF9 000 movx @DPTR, A ; Move from/to external RAM ROM:8FF9 ROM:8FFA ROM:8FFA ROM_8FFA: ; CODE XREF: ROM_8F83+50j ROM:8FFA 000 ret ; Return from subroutine ROM:8FFA ROM:8FFA ; End of function ROM_8F83 ROM:8FFA ROM:8FFB ROM:8FFB ; =============== S U B R O U T I N E ======================================= ROM:8FFB ROM:8FFB ROM:8FFB ROM_8FFB: ; CODE XREF: ROM_622F+30p ROM:8FFB 000 mov DPTR, #55Dh ; Move (Op1 <- Op2) ROM:8FFE 000 movx A, @DPTR ; Move from/to external RAM ROM:8FFF 000 mov R6, A ; Move (Op1 <- Op2) ROM:9000 000 mov DPTR, #55Ch ; Move (Op1 <- Op2) ROM:9003 000 movx A, @DPTR ; Move from/to external RAM ROM:9004 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:9006 000 add A, #0 ; Add Second Operand to Acc ROM:9008 000 mov R7, A ; Move (Op1 <- Op2) ROM:9009 000 mov A, R4 ; Move (Op1 <- Op2) ROM:900A 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:900B 000 mov DPTR, #6CAh ; Move (Op1 <- Op2) ROM:900E 000 movx @DPTR, A ; Move from/to external RAM ROM:900F 000 inc DPTR ; Increment Operand ROM:9010 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9011 000 movx @DPTR, A ; Move from/to external RAM ROM:9012 000 mov DPTR, #534h ; Move (Op1 <- Op2) ROM:9015 000 movx A, @DPTR ; Move from/to external RAM ROM:9016 000 jnz ROM_901B ; Jump if Acc is not zero ROM:9016 ROM:9018 000 ljmp ROM_90AB ; Long Jump ROM:9018 ROM:901B ; --------------------------------------------------------------------------- ROM:901B ROM:901B ROM_901B: ; CODE XREF: ROM_8FFB+1Bj ROM:901B 000 mov DPTR, #5E1h ; Move (Op1 <- Op2) ROM:901E 000 movx A, @DPTR ; Move from/to external RAM ROM:901F 000 add A, #0FEh ; '¦' ; Add Second Operand to Acc ROM:9021 000 jz ROM_904F ; Jump if Acc is zero ROM:9021 ROM:9023 000 dec A ; Decrement Operand ROM:9024 000 jz ROM_9073 ; Jump if Acc is zero ROM:9024 ROM:9026 000 add A, #2 ; Add Second Operand to Acc ROM:9028 000 jz ROM_902D ; Jump if Acc is zero ROM:9028 ROM:902A ROM:902A ROM_902A: ; CODE XREF: ROM_94FF+Cj ROM:902A 000 ljmp ROM_90AB ; Long Jump ROM:902A ROM:902D ; --------------------------------------------------------------------------- ROM:902D ROM:902D ROM_902D: ; CODE XREF: ROM_8FFB+2Dj ROM:902D 000 clr C ; Clear Operand (0) ROM:902E 000 mov DPTR, #6CBh ; Move (Op1 <- Op2) ROM:9031 000 movx A, @DPTR ; Move from/to external RAM ROM:9032 000 subb A, #6Eh ; 'n' ; Subtract Second Operand from Acc with Borrow ROM:9034 000 mov DPTR, #6CAh ; Move (Op1 <- Op2) ROM:9037 000 movx A, @DPTR ; Move from/to external RAM ROM:9038 000 subb A, #0Fh ; Subtract Second Operand from Acc with Borrow ROM:903A 000 jnc ROM_903E ; Jump if Carry is clear ROM:903A ROM:903C 000 sjmp ROM_9082 ; Short jump ROM:903C ROM:903E ; --------------------------------------------------------------------------- ROM:903E ROM:903E ROM_903E: ; CODE XREF: ROM_8FFB+3Fj ROM:903E 000 setb C ; Set Direct Bit ROM:903F 000 mov DPTR, #6CBh ; Move (Op1 <- Op2) ROM:9042 000 movx A, @DPTR ; Move from/to external RAM ROM:9043 000 subb A, #0D2h ; '-' ; Subtract Second Operand from Acc with Borrow ROM:9045 000 mov DPTR, #6CAh ; Move (Op1 <- Op2) ROM:9048 000 movx A, @DPTR ; Move from/to external RAM ROM:9049 000 subb A, #0Fh ; Subtract Second Operand from Acc with Borrow ROM:904B 000 jc ROM_90A5 ; Jump if Carry is set ROM:904B ROM:904D 000 sjmp ROM_9098 ; Short jump ROM:904D ROM:904F ; --------------------------------------------------------------------------- ROM:904F ROM:904F ROM_904F: ; CODE XREF: ROM_8FFB+26j ROM:904F 000 clr C ; Clear Operand (0) ROM:9050 000 mov DPTR, #6CBh ; Move (Op1 <- Op2) ROM:9053 000 movx A, @DPTR ; Move from/to external RAM ROM:9054 000 subb A, #8Eh ; 'Ä' ; Subtract Second Operand from Acc with Borrow ROM:9056 000 mov DPTR, #6CAh ; Move (Op1 <- Op2) ROM:9059 000 movx A, @DPTR ; Move from/to external RAM ROM:905A 000 subb A, #12h ; Subtract Second Operand from Acc with Borrow ROM:905C 000 jnc ROM_9060 ; Jump if Carry is clear ROM:905C ROM:905E 000 sjmp ROM_9082 ; Short jump ROM:905E ROM:9060 ; --------------------------------------------------------------------------- ROM:9060 ROM:9060 ROM_9060: ; CODE XREF: ROM_8FFB+61j ROM:9060 000 setb C ; Set Direct Bit ROM:9061 000 mov DPTR, #6CBh ; Move (Op1 <- Op2) ROM:9064 000 movx A, @DPTR ; Move from/to external RAM ROM:9065 000 subb A, #0F2h ; '=' ; Subtract Second Operand from Acc with Borrow ROM:9067 000 mov DPTR, #6CAh ; Move (Op1 <- Op2) ROM:906A 000 movx A, @DPTR ; Move from/to external RAM ROM:906B 000 subb A, #12h ; Subtract Second Operand from Acc with Borrow ROM:906D 000 jc ROM_9071 ; Jump if Carry is set ROM:906D ROM:906F 000 sjmp ROM_9098 ; Short jump ROM:906F ROM:9071 ; --------------------------------------------------------------------------- ROM:9071 ROM:9071 ROM_9071: ; CODE XREF: ROM_8FFB+72j ROM:9071 000 sjmp ROM_90A5 ; Short jump ROM:9071 ROM:9073 ; --------------------------------------------------------------------------- ROM:9073 ROM:9073 ROM_9073: ; CODE XREF: ROM_8FFB+29j ROM:9073 000 clr C ; Clear Operand (0) ROM:9074 000 mov DPTR, #6CBh ; Move (Op1 <- Op2) ROM:9077 000 movx A, @DPTR ; Move from/to external RAM ROM:9078 000 subb A, #3Eh ; '>' ; Subtract Second Operand from Acc with Borrow ROM:907A 000 mov DPTR, #6CAh ; Move (Op1 <- Op2) ROM:907D 000 movx A, @DPTR ; Move from/to external RAM ROM:907E 000 subb A, #17h ; Subtract Second Operand from Acc with Borrow ROM:9080 000 jnc ROM_9089 ; Jump if Carry is clear ROM:9080 ROM:9082 ROM:9082 ROM_9082: ; CODE XREF: ROM_8FFB+41j ROM:9082 ; ROM_8FFB+63j ROM:9082 000 mov DPTR, #DAC_DACDAT0 ; DAC Data Channel 0 ROM:9085 000 movx A, @DPTR ; Move from/to external RAM ROM:9086 000 inc A ; Increment Operand ROM:9087 000 sjmp ROM_909D ; Short jump ROM:9087 ROM:9089 ; --------------------------------------------------------------------------- ROM:9089 ROM:9089 ROM_9089: ; CODE XREF: ROM_8FFB+85j ROM:9089 000 setb C ; Set Direct Bit ROM:908A 000 mov DPTR, #6CBh ; Move (Op1 <- Op2) ROM:908D 000 movx A, @DPTR ; Move from/to external RAM ROM:908E 000 subb A, #0A2h ; 'ó' ; Subtract Second Operand from Acc with Borrow ROM:9090 000 mov DPTR, #6CAh ; Move (Op1 <- Op2) ROM:9093 000 movx A, @DPTR ; Move from/to external RAM ROM:9094 000 subb A, #17h ; Subtract Second Operand from Acc with Borrow ROM:9094 ROM:9096 ROM:9096 ROM_9096: ; CODE XREF: ROM:950Dj ROM:9096 000 jc ROM_90A5 ; Jump if Carry is set ROM:9096 ROM:9098 ROM:9098 ROM_9098: ; CODE XREF: ROM_8FFB+52j ROM:9098 ; ROM_8FFB+74j ROM:9098 000 mov DPTR, #DAC_DACDAT0 ; DAC Data Channel 0 ROM:909B 000 movx A, @DPTR ; Move from/to external RAM ROM:909C 000 dec A ; Decrement Operand ROM:909C ROM:909D ROM:909D ROM_909D: ; CODE XREF: ROM_8FFB+8Cj ROM:909D 000 movx @DPTR, A ; Move from/to external RAM ROM:909E 000 mov DPTR, #534h ; Move (Op1 <- Op2) ROM:90A1 000 mov A, #5 ; Move (Op1 <- Op2) ROM:90A3 000 movx @DPTR, A ; Move from/to external RAM ROM:90A4 000 ret ; Return from subroutine ROM:90A4 ROM:90A5 ; --------------------------------------------------------------------------- ROM:90A5 ROM:90A5 ROM_90A5: ; CODE XREF: ROM_8FFB+50j ROM:90A5 ; ROM_8FFB:ROM_9071j ... ROM:90A5 000 mov DPTR, #534h ; Move (Op1 <- Op2) ROM:90A8 000 movx A, @DPTR ; Move from/to external RAM ROM:90A9 000 dec A ; Decrement Operand ROM:90AA 000 movx @DPTR, A ; Move from/to external RAM ROM:90AA ROM:90AB ROM:90AB ROM_90AB: ; CODE XREF: ROM_8FFB+1Dj ROM:90AB ; ROM_8FFB:ROM_902Aj ROM:90AB 000 ret ; Return from subroutine ROM:90AB ROM:90AB ; End of function ROM_8FFB ROM:90AB ROM:90AC ROM:90AC ; =============== S U B R O U T I N E ======================================= ROM:90AC ROM:90AC ROM:90AC ROM_90AC: ; CODE XREF: ROM_622F+20p ROM:90AC 000 mov DPTR, #22B2h ; Move (Op1 <- Op2) ROM:90AF 000 movx A, @DPTR ; Move from/to external RAM ROM:90B0 000 clr C ; Clear Operand (0) ROM:90B1 000 subb A, #64h ; 'd' ; Subtract Second Operand from Acc with Borrow ROM:90B3 000 jc ROM_90D7 ; Jump if Carry is set ROM:90B3 ROM:90B5 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:90B8 000 movx A, @DPTR ; Move from/to external RAM ROM:90B9 000 anl A, #0F7h ; Logical AND (op1 &= op2) ROM:90B9 ROM:90BB ROM:90BB ROM_90BB: ; CODE XREF: ROM:9519j ROM:90BB 000 movx @DPTR, A ; Move from/to external RAM ROM:90BC 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:90BF 000 clr A ; Clear Operand (0) ROM:90C0 000 movx @DPTR, A ; Move from/to external RAM ROM:90C0 ROM:90C1 ROM:90C1 ROM_90C1: ; CODE XREF: ROM_90AC+21j ROM:90C1 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:90C4 000 movx A, @DPTR ; Move from/to external RAM ROM:90C5 000 xrl A, #7Fh ; Exclusive OR (op1 ^= op2) ROM:90C7 000 jz ROM_90CF ; Jump if Acc is zero ROM:90C7 ROM:90C9 ROM:90C9 ROM_90C9: ; CODE XREF: ROM:950Fj ROM:90C9 000 nop ; No operation ROM:90CA 000 movx A, @DPTR ; Move from/to external RAM ROM:90CB 000 inc A ; Increment Operand ROM:90CC 000 movx @DPTR, A ; Move from/to external RAM ROM:90CD 000 sjmp ROM_90C1 ; Short jump ROM:90CD ROM:90CF ; --------------------------------------------------------------------------- ROM:90CF ROM:90CF ROM_90CF: ; CODE XREF: ROM_90AC+1Bj ROM:90CF 000 mov DPTR, #GPIO_GRDRI ; Port I Data Register ROM:90D2 000 movx A, @DPTR ; Move from/to external RAM ROM:90D3 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:90D5 000 movx @DPTR, A ; Move from/to external RAM ROM:90D6 000 ret ; Return from subroutine ROM:90D6 ROM:90D7 ; --------------------------------------------------------------------------- ROM:90D7 ROM:90D7 ROM_90D7: ; CODE XREF: ROM_90AC+7j ROM:90D7 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:90DA 000 movx A, @DPTR ; Move from/to external RAM ROM:90DB 000 jnb ACC.7, ROM_90F2 ; Accumulator ROM:90DB ROM:90DE 000 mov DPTR, #22B2h ; Move (Op1 <- Op2) ROM:90E1 000 movx A, @DPTR ; Move from/to external RAM ROM:90E2 000 setb C ; Set Direct Bit ROM:90E3 000 subb A, #55h ; 'U' ; Subtract Second Operand from Acc with Borrow ROM:90E5 000 jnc ROM_9107 ; Jump if Carry is clear ROM:90E5 ROM:90E7 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:90EA 000 movx A, @DPTR ; Move from/to external RAM ROM:90EB 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:90ED 000 movx @DPTR, A ; Move from/to external RAM ROM:90EE 000 mov R7, #33h ; '3' ; Move (Op1 <- Op2) ROM:90F0 000 sjmp ROM_9104 ; Short jump ROM:90F0 ROM:90F2 ; --------------------------------------------------------------------------- ROM:90F2 ROM:90F2 ROM_90F2: ; CODE XREF: ROM_90AC+2Fj ROM:90F2 000 mov DPTR, #22B2h ; Move (Op1 <- Op2) ROM:90F5 000 movx A, @DPTR ; Move from/to external RAM ROM:90F6 000 clr C ; Clear Operand (0) ROM:90F7 000 subb A, #5Ah ; 'Z' ; Subtract Second Operand from Acc with Borrow ROM:90F9 000 jc ROM_9107 ; Jump if Carry is set ROM:90F9 ROM:90FB 000 mov DPTR, #504h ; Move (Op1 <- Op2) ROM:90FE 000 movx A, @DPTR ; Move from/to external RAM ROM:90FF 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:9101 000 movx @DPTR, A ; Move from/to external RAM ROM:9102 000 mov R7, #32h ; '2' ; Move (Op1 <- Op2) ROM:9102 ROM:9104 ROM:9104 ROM_9104: ; CODE XREF: ROM_90AC+44j ROM:9104 000 lcall ROM_19E0 ; Long Subroutine Call ROM:9104 ROM:9107 ROM:9107 ROM_9107: ; CODE XREF: ROM_90AC+39j ROM:9107 ; ROM_90AC+4Dj ROM:9107 000 ret ; Return from subroutine ROM:9107 ROM:9107 ; End of function ROM_90AC ROM:9107 ROM:9108 ; --------------------------------------------------------------------------- ROM:9108 reti ; Return from Interrupt ROM:9108 ROM:9108 ; --------------------------------------------------------------------------- ROM:9109 db 0, 0, 3Ch, 2Dh, 6Ah, 4Bh, 37h, 86h, 0FFh, 46h, 0C0h ROM:9109 db 31h, 0, 0, 3Ah, 2Ch, 6Ah, 42h, 35h, 86h, 0FFh, 3Dh ROM:9109 db 0C0h ROM:9120 ROM:9120 ; =============== S U B R O U T I N E ======================================= ROM:9120 ROM:9120 ROM:9120 ROM_9120: ; CODE XREF: ROM_2631+3Ap ROM:9120 ; ROM_7BBC+32p ... ROM:9120 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:9123 000 movx A, @DPTR ; Move from/to external RAM ROM:9124 000 jnb RAM_24.0, ROM_912C ; Jump if Bit is clear ROM:9124 ROM:9127 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:9129 000 movx @DPTR, A ; Move from/to external RAM ROM:912A 000 sjmp ROM_912F ; Short jump ROM:912A ROM:912C ; --------------------------------------------------------------------------- ROM:912C ROM:912C ROM_912C: ; CODE XREF: ROM_9120+4j ROM:912C 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:912E 000 movx @DPTR, A ; Move from/to external RAM ROM:912E ROM:912F ROM:912F ROM_912F: ; CODE XREF: ROM_9120+Aj ROM:912F 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:9132 000 movx A, @DPTR ; Move from/to external RAM ROM:9133 000 jnb RAM_24.1, ROM_913B ; Jump if Bit is clear ROM:9133 ROM:9136 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:9138 000 movx @DPTR, A ; Move from/to external RAM ROM:9139 000 sjmp ROM_913E ; Short jump ROM:9139 ROM:913B ; --------------------------------------------------------------------------- ROM:913B ROM:913B ROM_913B: ; CODE XREF: ROM_9120+13j ROM:913B 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:913D 000 movx @DPTR, A ; Move from/to external RAM ROM:913D ROM:913E ROM:913E ROM_913E: ; CODE XREF: ROM_9120+19j ROM:913E 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:9141 000 movx A, @DPTR ; Move from/to external RAM ROM:9142 000 jnb RAM_24.2, ROM_9149 ; Jump if Bit is clear ROM:9142 ROM:9145 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:9147 000 movx @DPTR, A ; Move from/to external RAM ROM:9148 000 ret ; Return from subroutine ROM:9148 ROM:9149 ; --------------------------------------------------------------------------- ROM:9149 ROM:9149 ROM_9149: ; CODE XREF: ROM_9120+22j ROM:9149 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:914B 000 movx @DPTR, A ; Move from/to external RAM ROM:914C 000 ret ; Return from subroutine ROM:914C ROM:914C ; End of function ROM_9120 ROM:914C ROM:914D ; --------------------------------------------------------------------------- ROM:914D ; START OF FUNCTION CHUNK FOR ROM_6226 ROM:914D ROM:914D ROM_914D: ; CODE XREF: ROM_6226+6j ROM:914D 000 mov DPTR, #22B4h ; Move (Op1 <- Op2) ROM:9150 000 movx A, @DPTR ; Move from/to external RAM ROM:9151 000 add A, #0FEh ; '¦' ; Add Second Operand to Acc ROM:9153 000 jz ROM_9199 ; Jump if Acc is zero ROM:9153 ROM:9155 000 dec A ; Decrement Operand ROM:9156 000 jz ROM_91A8 ; Jump if Acc is zero ROM:9156 ROM:9158 000 dec A ; Decrement Operand ROM:9159 000 jz ROM_91CD ; Jump if Acc is zero ROM:9159 ROM:915B 000 dec A ; Decrement Operand ROM:915C 000 jnz ROM_9161 ; Jump if Acc is not zero ROM:915C ROM:915E 000 ljmp ROM_91E1 ; Long Jump ROM:915E ROM:9161 ; --------------------------------------------------------------------------- ROM:9161 ROM:9161 ROM_9161: ; CODE XREF: ROM_6226+2F36j ROM:9161 000 dec A ; Decrement Operand ROM:9162 000 jnz ROM_9167 ; Jump if Acc is not zero ROM:9162 ROM:9164 000 ljmp ROM_9205 ; Long Jump ROM:9164 ROM:9167 ; --------------------------------------------------------------------------- ROM:9167 ROM:9167 ROM_9167: ; CODE XREF: ROM_6226+2F3Cj ROM:9167 000 add A, #0F8h ; '°' ; Add Second Operand to Acc ROM:9169 000 jnz ROM_916E ; Jump if Acc is not zero ROM:9169 ROM:916B 000 ljmp ROM_9229 ; Long Jump ROM:916B ROM:916E ; --------------------------------------------------------------------------- ROM:916E ROM:916E ROM_916E: ; CODE XREF: ROM_6226+2F43j ROM:916E 000 add A, #0Dh ; Add Second Operand to Acc ROM:9170 000 jz ROM_9175 ; Jump if Acc is zero ROM:9170 ROM:9172 000 ljmp ROM_9231 ; Long Jump ROM:9172 ROM:9175 ; --------------------------------------------------------------------------- ROM:9175 ROM:9175 ROM_9175: ; CODE XREF: ROM_6226+2F4Aj ROM:9175 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:9178 000 movx A, @DPTR ; Move from/to external RAM ROM:9179 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:917B 000 movx @DPTR, A ; Move from/to external RAM ROM:917C 000 movx A, @DPTR ; Move from/to external RAM ROM:917D 000 rrc A ; Rotate Acc right through Carry ROM:917E 000 rrc A ; Rotate Acc right through Carry ROM:917F 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:9181 000 cpl A ; Complement Operand ROM:9182 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:9184 000 add A, ACC ; Accumulator ROM:9186 000 add A, ACC ; Accumulator ROM:9188 000 mov R7, A ; Move (Op1 <- Op2) ROM:9189 000 movx A, @DPTR ; Move from/to external RAM ROM:918A 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:918C 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:918D 000 movx @DPTR, A ; Move from/to external RAM ROM:918E 000 movx A, @DPTR ; Move from/to external RAM ROM:918F 000 anl A, #4 ; Logical AND (op1 &= op2) ROM:9191 000 rlc A ; Rotate Acc left through Carry ROM:9192 000 rlc A ; Rotate Acc left through Carry ROM:9193 000 rlc A ; Rotate Acc left through Carry ROM:9194 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:9196 000 ljmp ROM_921F ; Long Jump ROM:9196 ROM:9199 ; --------------------------------------------------------------------------- ROM:9199 ROM:9199 ROM_9199: ; CODE XREF: ROM_6226+2F2Dj ROM:9199 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:919C 000 movx A, @DPTR ; Move from/to external RAM ROM:919D 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:919F 000 movx @DPTR, A ; Move from/to external RAM ROM:91A0 000 movx A, @DPTR ; Move from/to external RAM ROM:91A1 000 rrc A ; Rotate Acc right through Carry ROM:91A2 000 rrc A ; Rotate Acc right through Carry ROM:91A3 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91A5 000 cpl A ; Complement Operand ROM:91A6 000 sjmp ROM_91F1 ; Short jump ROM:91A6 ROM:91A8 ; --------------------------------------------------------------------------- ROM:91A8 ROM:91A8 ROM_91A8: ; CODE XREF: ROM_6226+2F30j ROM:91A8 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:91AB 000 movx A, @DPTR ; Move from/to external RAM ROM:91AC 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91AE 000 cpl A ; Complement Operand ROM:91AF 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91B1 000 mov R7, A ; Move (Op1 <- Op2) ROM:91B2 000 movx A, @DPTR ; Move from/to external RAM ROM:91B3 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:91B5 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:91B6 000 movx @DPTR, A ; Move from/to external RAM ROM:91B7 000 movx A, @DPTR ; Move from/to external RAM ROM:91B8 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91BA 000 add A, ACC ; Accumulator ROM:91BC 000 add A, ACC ; Accumulator ROM:91BE 000 mov R7, A ; Move (Op1 <- Op2) ROM:91BF 000 movx A, @DPTR ; Move from/to external RAM ROM:91C0 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:91C2 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:91C3 000 movx @DPTR, A ; Move from/to external RAM ROM:91C4 000 movx A, @DPTR ; Move from/to external RAM ROM:91C5 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91C7 000 swap A ; Swap nibbles of Acc ROM:91C8 000 rlc A ; Rotate Acc left through Carry ROM:91C9 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:91CB 000 sjmp ROM_921F ; Short jump ROM:91CB ROM:91CD ; --------------------------------------------------------------------------- ROM:91CD ROM:91CD ROM_91CD: ; CODE XREF: ROM_6226+2F33j ROM:91CD 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:91D0 000 movx A, @DPTR ; Move from/to external RAM ROM:91D1 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91D3 000 cpl A ; Complement Operand ROM:91D4 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91D6 000 mov R7, A ; Move (Op1 <- Op2) ROM:91D7 000 movx A, @DPTR ; Move from/to external RAM ROM:91D8 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:91DA 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:91DB 000 movx @DPTR, A ; Move from/to external RAM ROM:91DC 000 movx A, @DPTR ; Move from/to external RAM ROM:91DD 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:91DF 000 sjmp ROM_91FC ; Short jump ROM:91DF ROM:91E1 ; --------------------------------------------------------------------------- ROM:91E1 ROM:91E1 ROM_91E1: ; CODE XREF: ROM_6226+2F38j ROM:91E1 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:91E4 000 movx A, @DPTR ; Move from/to external RAM ROM:91E5 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91E7 000 cpl A ; Complement Operand ROM:91E8 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91EA 000 mov R7, A ; Move (Op1 <- Op2) ROM:91EB 000 movx A, @DPTR ; Move from/to external RAM ROM:91EC 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:91EE 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:91EF 000 movx @DPTR, A ; Move from/to external RAM ROM:91F0 000 movx A, @DPTR ; Move from/to external RAM ROM:91F0 ROM:91F1 ROM:91F1 ROM_91F1: ; CODE XREF: ROM_6226+2F80j ROM:91F1 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:91F3 000 add A, ACC ; Accumulator ROM:91F5 000 add A, ACC ; Accumulator ROM:91F7 000 mov R7, A ; Move (Op1 <- Op2) ROM:91F8 000 movx A, @DPTR ; Move from/to external RAM ROM:91F9 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:91FB 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:91FB ROM:91FC ROM:91FC ROM_91FC: ; CODE XREF: ROM_6226+2FB9j ROM:91FC 000 movx @DPTR, A ; Move from/to external RAM ROM:91FD 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:9200 000 movx A, @DPTR ; Move from/to external RAM ROM:9201 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:9203 000 movx @DPTR, A ; Move from/to external RAM ROM:9204 000 ret ; Return from subroutine ROM:9204 ROM:9205 ; --------------------------------------------------------------------------- ROM:9205 ROM:9205 ROM_9205: ; CODE XREF: ROM_6226+2F3Ej ROM:9205 000 mov DPTR, #GPIO_GRDRA ; Port A Data Register ROM:9208 000 movx A, @DPTR ; Move from/to external RAM ROM:9209 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:920B 000 cpl A ; Complement Operand ROM:920C 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:920E 000 mov R7, A ; Move (Op1 <- Op2) ROM:920F 000 movx A, @DPTR ; Move from/to external RAM ROM:9210 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:9212 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:9213 000 movx @DPTR, A ; Move from/to external RAM ROM:9214 000 movx A, @DPTR ; Move from/to external RAM ROM:9215 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:9217 000 movx @DPTR, A ; Move from/to external RAM ROM:9218 000 movx A, @DPTR ; Move from/to external RAM ROM:9219 000 anl A, #1 ; Logical AND (op1 &= op2) ROM:921B 000 swap A ; Swap nibbles of Acc ROM:921C 000 rlc A ; Rotate Acc left through Carry ROM:921D 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:921D ROM:921F ROM:921F ROM_921F: ; CODE XREF: ROM_6226+2F70j ROM:921F ; ROM_6226+2FA5j ROM:921F 000 mov R7, A ; Move (Op1 <- Op2) ROM:9220 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:9223 000 movx A, @DPTR ; Move from/to external RAM ROM:9224 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:9226 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:9227 000 movx @DPTR, A ; Move from/to external RAM ROM:9228 000 ret ; Return from subroutine ROM:9228 ROM:9229 ; --------------------------------------------------------------------------- ROM:9229 ROM:9229 ROM_9229: ; CODE XREF: ROM_6226+2F45j ROM:9229 000 lcall ROM_9120 ; Long Subroutine Call ROM:9229 ROM:922C 000 mov DPTR, #22B4h ; Move (Op1 <- Op2) ROM:922F 000 clr A ; Clear Operand (0) ROM:9230 000 movx @DPTR, A ; Move from/to external RAM ROM:9230 ROM:9231 ROM:9231 ROM_9231: ; CODE XREF: ROM_6226+2F4Cj ROM:9231 000 ret ; Return from subroutine ROM:9231 ROM:9231 ; END OF FUNCTION CHUNK FOR ROM_6226 ROM:9232 ROM:9232 ; =============== S U B R O U T I N E ======================================= ROM:9232 ROM:9232 ROM:9232 set_INT17: ROM:9232 000 mov DPTR, #INTC_IELMR2 ; Interrupt Edge/Level-Triggered Mode (IELM23-16) ROM:9232 ; Each bit determines the triggered mode of the corresponding interrupt ROM:9232 ; channel (INT23-16). ROM:9232 ; 0: level-triggered ROM:9232 ; 1: edge-triggered ROM:9232 ; ROM:9235 000 movx A, @DPTR ; Move from/to external RAM ROM:9236 000 orl A, #10b ; set edge-triggered mode for INT17 ROM:9238 000 movx @DPTR, A ; Move from/to external RAM ROM:9239 000 mov DPTR, #INTC_IPOLR2 ; Interrupt Polarity (IPOL23-16) ROM:9239 ; Each bit determines the active high/low of the corresponding interrupt ROM:9239 ; channel (INT23-16 ROM:9239 ; 0: level-high-triggered or rising-edge-triggered ROM:9239 ; 1: level-low-triggered or falling-edge-triggered ROM:9239 ; ROM:923C 000 movx A, @DPTR ; Move from/to external RAM ROM:923D 000 orl A, #10b ; set falling-edge-triggered mode for INT17 ROM:923F 000 movx @DPTR, A ; Move from/to external RAM ROM:9240 000 mov DPTR, #WUC_WUEMR2 ; Wake-Up Edge Mode (WUEM27-20) ROM:9240 ; 0: Rising-edge triggered is selected. ROM:9240 ; 1: Falling-edge triggered is selected. ROM:9240 ; ROM:9243 000 movx A, @DPTR ; Move from/to external RAM ROM:9244 000 orl A, #10000b ; set the falling-edge triggered mode for WU24 ROM:9246 000 movx @DPTR, A ; Move from/to external RAM ROM:9247 000 mov DPTR, #WUC_WUESR2 ; Wake-Up Sense (WUES27-20) ROM:9247 ; For each bit: ROM:9247 ; Read 1: It indicates a trigger condition occurs on the corresponding input. ROM:9247 ; Read 0: otherwise ROM:9247 ; For each bit: ROM:9247 ; Write 1: Clear this bit ROM:9247 ; Write 0: No action ROM:9247 ; ROM:924A 000 movx A, @DPTR ; Move from/to external RAM ROM:924B 000 anl A, #11101111b ; reset other bits ROM:924D 000 movx @DPTR, A ; Move from/to external RAM ROM:924E 000 mov DPTR, #INTC_IER2 ; Interrupt Enable (IE23-16) ROM:924E ; Each bit determines the corresponding interrupt channel (INT23-16) is ROM:924E ; masked or enabled. ROM:924E ; 0: Masked ROM:924E ; 1: Enabled ROM:924E ; ROM:9251 000 movx A, @DPTR ; Move from/to external RAM ROM:9252 000 orl A, #10b ; set the enable bit 1 to 1 - enable INT17 ROM:9254 000 movx @DPTR, A ; Move from/to external RAM ROM:9255 000 mov DPTR, #INTC_ISR2 ; Interrupt Status (IS23-16) ROM:9255 ; It indicates the interrupt input status of INTx. ROM:9255 ; INTST23 to INTST16 correspond to INT23 to INT16 respectively. ROM:9255 ; Each bit is R/WC if the corresponding bit in IELMRx register indicates ROM:9255 ; edge-triggered mode, and is R if it indicates level-triggered mode. ROM:9255 ; For each bit: ROM:9255 ; Read 0: Interrupt input to INTC is not pending. ROM:9255 ; Read 1: Interrupt input to INTC is pending. ROM:9255 ; For each bit: ROM:9255 ; Write 0: No action ROM:9255 ; Write 1: Clear this bit when it is in the edge-triggered mode, and writing 1 is ROM:9255 ; ignored when it is in the level-triggered mode. ROM:9255 ; ROM:9258 000 movx A, @DPTR ; Move from/to external RAM ROM:9259 000 anl A, #11111101b ; reset other bits ROM:925B 000 movx @DPTR, A ; Move from/to external RAM ROM:925C 000 ret ; Return from subroutine ROM:925C ROM:925C ; End of function set_INT17 ROM:925C ROM:925D ROM:925D ; =============== S U B R O U T I N E ======================================= ROM:925D ROM:925D ROM:925D mask_INT17: ROM:925D 000 mov DPTR, #INTC_IER2 ; Interrupt Enable (IE23-16) ROM:925D ; Each bit determines the corresponding interrupt channel (INT23-16) is ROM:925D ; masked or enabled. ROM:925D ; 0: Masked ROM:925D ; 1: Enabled ROM:925D ; ROM:9260 000 movx A, @DPTR ; Move from/to external RAM ROM:9261 000 anl A, #11111101b ; Logical AND (op1 &= op2) ROM:9263 000 movx @DPTR, A ; Move from/to external RAM ROM:9264 000 mov DPTR, #INTC_ISR2 ; Interrupt Status (IS23-16) ROM:9264 ; It indicates the interrupt input status of INTx. ROM:9264 ; INTST23 to INTST16 correspond to INT23 to INT16 respectively. ROM:9264 ; Each bit is R/WC if the corresponding bit in IELMRx register indicates ROM:9264 ; edge-triggered mode, and is R if it indicates level-triggered mode. ROM:9264 ; For each bit: ROM:9264 ; Read 0: Interrupt input to INTC is not pending. ROM:9264 ; Read 1: Interrupt input to INTC is pending. ROM:9264 ; For each bit: ROM:9264 ; Write 0: No action ROM:9264 ; Write 1: Clear this bit when it is in the edge-triggered mode, and writing 1 is ROM:9264 ; ignored when it is in the level-triggered mode. ROM:9264 ; ROM:9267 000 movx A, @DPTR ; Move from/to external RAM ROM:9268 000 anl A, #11111101b ; Logical AND (op1 &= op2) ROM:926A 000 movx @DPTR, A ; Move from/to external RAM ROM:926B 000 ret ; Return from subroutine ROM:926B ROM:926B ; End of function mask_INT17 ROM:926B ROM:926C ; --------------------------------------------------------------------------- ROM:926C ; START OF FUNCTION CHUNK FOR ROM_8442 ROM:926C ROM:926C ROM_926C: ; CODE XREF: ROM_7788+8j ROM:926C ; ROM_8442+96j ROM:926C 000 mov DPTR, #6CCh ; Move (Op1 <- Op2) ROM:926F 000 mov A, R6 ; Move (Op1 <- Op2) ROM:9270 000 movx @DPTR, A ; Move from/to external RAM ROM:9271 000 inc DPTR ; Increment Operand ROM:9272 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9273 000 movx @DPTR, A ; Move from/to external RAM ROM:9274 000 mov DPTR, #6CEh ; Move (Op1 <- Op2) ROM:9277 000 mov A, R4 ; Move (Op1 <- Op2) ROM:9278 000 movx @DPTR, A ; Move from/to external RAM ROM:9279 000 inc DPTR ; Increment Operand ROM:927A 000 mov A, R5 ; Move (Op1 <- Op2) ROM:927B 000 movx @DPTR, A ; Move from/to external RAM ROM:927C 000 mov DPTR, #6CCh ; Move (Op1 <- Op2) ROM:927F 000 movx A, @DPTR ; Move from/to external RAM ROM:9280 000 mov R6, A ; Move (Op1 <- Op2) ROM:9281 000 inc DPTR ; Increment Operand ROM:9282 000 movx A, @DPTR ; Move from/to external RAM ROM:9283 000 mov R7, A ; Move (Op1 <- Op2) ROM:9283 ROM:9284 ROM:9284 ROM_9284: ; CODE XREF: ROM_8442:ROM_929Cj ROM:9284 000 clr C ; Clear Operand (0) ROM:9285 000 mov DPTR, #6CFh ; Move (Op1 <- Op2) ROM:9288 000 movx A, @DPTR ; Move from/to external RAM ROM:9289 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:928A 000 mov DPTR, #6CEh ; Move (Op1 <- Op2) ROM:928D 000 movx A, @DPTR ; Move from/to external RAM ROM:928E 000 subb A, R6 ; Subtract Second Operand from Acc with Borrow ROM:928F 000 jc ROM_929E ; Jump if Carry is set ROM:928F ROM:9291 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9293 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9295 000 clr A ; Clear Operand (0) ROM:9296 000 movx @DPTR, A ; Move from/to external RAM ROM:9297 000 inc R7 ; Increment Operand ROM:9298 000 cjne R7, #0, ROM_929C ; Compare Operands and JNE ROM:9298 ROM:929B 000 inc R6 ; Increment Operand ROM:929B ROM:929C ROM:929C ROM_929C: ; CODE XREF: ROM_8442+E56j ROM:929C 000 sjmp ROM_9284 ; Short jump ROM:929C ROM:929E ; --------------------------------------------------------------------------- ROM:929E ROM:929E ROM_929E: ; CODE XREF: ROM_8442+E4Dj ROM:929E 000 ret ; Return from subroutine ROM:929E ROM:929E ; END OF FUNCTION CHUNK FOR ROM_8442 ROM:929F ROM:929F ; =============== S U B R O U T I N E ======================================= ROM:929F ROM:929F ROM:929F ROM_929F: ; CODE XREF: ROM_6209+16p ROM:929F 000 mov DPTR, #510h ; Move (Op1 <- Op2) ROM:92A2 000 movx A, @DPTR ; Move from/to external RAM ROM:92A3 000 jz ROM_92A9 ; Jump if Acc is zero ROM:92A3 ROM:92A5 000 movx A, @DPTR ; Move from/to external RAM ROM:92A6 000 dec A ; Decrement Operand ROM:92A7 000 movx @DPTR, A ; Move from/to external RAM ROM:92A8 000 ret ; Return from subroutine ROM:92A8 ROM:92A9 ; --------------------------------------------------------------------------- ROM:92A9 ROM:92A9 ROM_92A9: ; CODE XREF: ROM_929F+4j ROM:92A9 000 mov DPTR, #GPIO_GRDRD ; Port D Data Register ROM:92AC 000 movx A, @DPTR ; Move from/to external RAM ROM:92AD 000 clr C ; Clear Operand (0) ROM:92AE 000 rrc A ; Rotate Acc right through Carry ROM:92AF 000 rrc A ; Rotate Acc right through Carry ROM:92B0 000 mov RAM_2E.0, C ; Move (Op1 <- Op2) ROM:92B2 000 mov DPTR, #50Fh ; Move (Op1 <- Op2) ROM:92B5 000 movx A, @DPTR ; Move from/to external RAM ROM:92B6 000 jnb ACC.4, ROM_92BD ; Accumulator ROM:92B6 ROM:92B9 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:92BB 000 sjmp ROM_92BF ; Short jump ROM:92BB ROM:92BD ; --------------------------------------------------------------------------- ROM:92BD ROM:92BD ROM_92BD: ; CODE XREF: ROM_929F+17j ROM:92BD 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:92BD ROM:92BF ROM:92BF ROM_92BF: ; CODE XREF: ROM_929F+1Cj ROM:92BF 000 mov C, RAM_2E.0 ; Move (Op1 <- Op2) ROM:92C1 000 clr A ; Clear Operand (0) ROM:92C2 000 rlc A ; Rotate Acc left through Carry ROM:92C3 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:92C4 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:92C6 000 jnz ROM_92DD ; Jump if Acc is not zero ROM:92C6 ROM:92C8 000 mov DPTR, #51Ch ; Move (Op1 <- Op2) ROM:92CB 000 mov A, #3 ; Move (Op1 <- Op2) ROM:92CD 000 movx @DPTR, A ; Move from/to external RAM ROM:92CE 000 mov DPTR, #50Fh ; Move (Op1 <- Op2) ROM:92D1 000 movx A, @DPTR ; Move from/to external RAM ROM:92D2 000 jb RAM_2E.0, ROM_92D9 ; Jump if Bit is set ROM:92D2 ROM:92D5 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:92D7 000 movx @DPTR, A ; Move from/to external RAM ROM:92D8 000 ret ; Return from subroutine ROM:92D8 ROM:92D9 ; --------------------------------------------------------------------------- ROM:92D9 ROM:92D9 ROM_92D9: ; CODE XREF: ROM_929F+33j ROM:92D9 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:92DB 000 movx @DPTR, A ; Move from/to external RAM ROM:92DC 000 ret ; Return from subroutine ROM:92DC ROM:92DD ; --------------------------------------------------------------------------- ROM:92DD ROM:92DD ROM_92DD: ; CODE XREF: ROM_929F+27j ROM:92DD 000 mov DPTR, #51Ch ; Move (Op1 <- Op2) ROM:92E0 000 movx A, @DPTR ; Move from/to external RAM ROM:92E1 000 jz ROM_9310 ; Jump if Acc is zero ROM:92E1 ROM:92E3 000 movx A, @DPTR ; Move from/to external RAM ROM:92E4 000 dec A ; Decrement Operand ROM:92E5 000 movx @DPTR, A ; Move from/to external RAM ROM:92E6 000 movx A, @DPTR ; Move from/to external RAM ROM:92E7 000 jnz ROM_9310 ; Jump if Acc is not zero ROM:92E7 ROM:92E9 000 mov DPTR, #50Fh ; Move (Op1 <- Op2) ROM:92EC 000 movx A, @DPTR ; Move from/to external RAM ROM:92ED 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:92F0 000 jb ACC.4, ROM_9300 ; Accumulator ROM:92F0 ROM:92F3 000 movx A, @DPTR ; Move from/to external RAM ROM:92F4 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:92F6 000 movx @DPTR, A ; Move from/to external RAM ROM:92F7 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:92FA 000 movx A, @DPTR ; Move from/to external RAM ROM:92FB 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:92FD 000 movx @DPTR, A ; Move from/to external RAM ROM:92FE 000 sjmp ROM_930B ; Short jump ROM:92FE ROM:9300 ; --------------------------------------------------------------------------- ROM:9300 ROM:9300 ROM_9300: ; CODE XREF: ROM_929F+51j ROM:9300 000 movx A, @DPTR ; Move from/to external RAM ROM:9301 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:9303 000 movx @DPTR, A ; Move from/to external RAM ROM:9304 000 mov DPTR, #GPIO_GRDRC ; Port C Data Register ROM:9307 000 movx A, @DPTR ; Move from/to external RAM ROM:9308 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:930A 000 movx @DPTR, A ; Move from/to external RAM ROM:930A ROM:930B ROM:930B ROM_930B: ; CODE XREF: ROM_929F+5Fj ROM:930B 000 mov R7, #14h ; Move (Op1 <- Op2) ROM:930D 000 lcall ROM_19E0 ; Long Subroutine Call ROM:930D ROM:9310 ROM:9310 ROM_9310: ; CODE XREF: ROM_929F+42j ROM:9310 ; ROM_929F+48j ROM:9310 000 ret ; Return from subroutine ROM:9310 ROM:9310 ; End of function ROM_929F ROM:9310 ROM:9311 ROM:9311 ; =============== S U B R O U T I N E ======================================= ROM:9311 ROM:9311 ROM:9311 ROM_9311: ; CODE XREF: ROM_6209+Cp ROM:9311 000 mov DPTR, #501h ; Move (Op1 <- Op2) ROM:9314 000 movx A, @DPTR ; Move from/to external RAM ROM:9315 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:9317 000 jnz ROM_9338 ; Jump if Acc is not zero ROM:9317 ROM:9319 000 mov DPTR, #192h ; Move (Op1 <- Op2) ROM:931C 000 movx A, @DPTR ; Move from/to external RAM ROM:931D 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:9320 000 jnb ACC.6, ROM_9325 ; Accumulator ROM:9320 ROM:9323 000 sjmp ROM_933B ; Short jump ROM:9323 ROM:9325 ; --------------------------------------------------------------------------- ROM:9325 ROM:9325 ROM_9325: ; CODE XREF: ROM_9311+Fj ROM:9325 000 movx A, @DPTR ; Move from/to external RAM ROM:9326 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:9328 000 movx @DPTR, A ; Move from/to external RAM ROM:9329 000 mov DPTR, #GPIO_GRDRG ; Port G Data Register ROM:932C 000 movx A, @DPTR ; Move from/to external RAM ROM:932D 000 orl A, #4 ; Logical OR (op1 |= op2) ROM:932F 000 movx @DPTR, A ; Move from/to external RAM ROM:9330 000 mov DPTR, #GPIO_GPDRJ ; Port J Data Register ROM:9333 000 movx A, @DPTR ; Move from/to external RAM ROM:9334 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:9336 000 movx @DPTR, A ; Move from/to external RAM ROM:9337 000 ret ; Return from subroutine ROM:9337 ROM:9338 ; --------------------------------------------------------------------------- ROM:9338 ROM:9338 ROM_9338: ; CODE XREF: ROM_9311+6j ROM:9338 000 mov DPTR, #GPIO_GRDRB ; Port B Data Register ROM:9338 ROM:933B ROM:933B ROM_933B: ; CODE XREF: ROM_9311+12j ROM:933B 000 movx A, @DPTR ; Move from/to external RAM ROM:933C 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:933E 000 movx @DPTR, A ; Move from/to external RAM ROM:933F 000 mov DPTR, #GPIO_GRDRG ; Port G Data Register ROM:9342 000 movx A, @DPTR ; Move from/to external RAM ROM:9343 000 anl A, #0FBh ; Logical AND (op1 &= op2) ROM:9345 000 movx @DPTR, A ; Move from/to external RAM ROM:9346 000 mov DPTR, #GPIO_GPDRJ ; Port J Data Register ROM:9349 000 movx A, @DPTR ; Move from/to external RAM ROM:934A 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:934C 000 movx @DPTR, A ; Move from/to external RAM ROM:934D 000 ret ; Return from subroutine ROM:934D ROM:934D ; End of function ROM_9311 ROM:934D ROM:934E ROM:934E ; =============== S U B R O U T I N E ======================================= ROM:934E ROM:934E ROM:934E ROM_934E: ; CODE XREF: ROM:673Dj ROM:934E 000 mov R7, #5Ah ; 'Z' ; Move (Op1 <- Op2) ROM:9350 000 lcall ROM_3F32 ; Long Subroutine Call ROM:9350 ROM:9353 000 setb RAM_26.2 ; Set Direct Bit ROM:9355 000 ret ; Return from subroutine ROM:9355 ROM:9355 ; End of function ROM_934E ROM:9355 ROM:9356 ROM:9356 ; =============== S U B R O U T I N E ======================================= ROM:9356 ROM:9356 ROM:9356 ROM_9356: ; CODE XREF: ROM:ROM_6747j ROM:9356 000 mov R7, #1Ch ; Move (Op1 <- Op2) ROM:9358 000 lcall ROM_3F32 ; Long Subroutine Call ROM:9358 ROM:935B 000 setb RAM_26.2 ; Set Direct Bit ROM:935D 000 ret ; Return from subroutine ROM:935D ROM:935D ; End of function ROM_9356 ROM:935D ROM:935E ROM:935E ; =============== S U B R O U T I N E ======================================= ROM:935E ROM:935E ROM:935E ROM_935E: ; CODE XREF: ROM_6477:ROM_6483p ROM:935E 000 mov R7, #0F5h ; ')' ; Move (Op1 <- Op2) ROM:9360 000 lcall ROM_3693 ; Long Subroutine Call ROM:9360 ROM:9363 000 lcall ROM_2FC7 ; Long Subroutine Call ROM:9363 ROM:9366 000 lcall ROM_2092 ; Long Subroutine Call ROM:9366 ROM:9369 000 clr RAM_28.0 ; Clear Operand (0) ROM:936B 000 clr RAM_28.1 ; Clear Operand (0) ROM:936D 000 clr RAM_28.2 ; Clear Operand (0) ROM:936F 000 ret ; Return from subroutine ROM:936F ROM:936F ; End of function ROM_935E ROM:936F ROM:9370 ; --------------------------------------------------------------------------- ROM:9370 ; START OF FUNCTION CHUNK FOR ROM_6477 ROM:9370 ROM:9370 ROM_9370: ; CODE XREF: ROM_6477+9j ROM:9370 000 mov R7, #0F4h ; '(' ; Move (Op1 <- Op2) ROM:9372 000 lcall ROM_3693 ; Long Subroutine Call ROM:9372 ROM:9375 000 lcall ROM_2FC7 ; Long Subroutine Call ROM:9375 ROM:9378 000 lcall ROM_2095 ; Long Subroutine Call ROM:9378 ROM:937B 000 setb RAM_28.0 ; Set Direct Bit ROM:937D 000 setb RAM_28.1 ; Set Direct Bit ROM:937F 000 setb RAM_28.2 ; Set Direct Bit ROM:9381 000 ret ; Return from subroutine ROM:9381 ROM:9381 ; END OF FUNCTION CHUNK FOR ROM_6477 ROM:9381 ; --------------------------------------------------------------------------- ROM:9382 db 22h ROM:9383 db 22h ROM:9384 db 2 ROM:9385 db 93h ROM:9386 db 82h ROM:9387 ROM:9387 ; =============== S U B R O U T I N E ======================================= ROM:9387 ROM:9387 ROM:9387 ROM_9387: ROM:9387 000 mov DPTR, #ADC_VCH1CTL ; Voltage Channel 1 Control ROM:938A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:938B 000 movx @DPTR, A ; Move from/to external RAM ROM:938B ROM:938C ROM:938C ROM_938C: ; CODE XREF: ROM_9387+9j ROM:938C 000 mov DPTR, #ADC_VCH1CTL ; Voltage Channel 1 Control ROM:938F 000 movx A, @DPTR ; Move from/to external RAM ROM:9390 000 jnb ACC.7, ROM_938C ; Accumulator ROM:9390 ROM:9393 000 mov A, #1Fh ; Move (Op1 <- Op2) ROM:9395 000 movx @DPTR, A ; Move from/to external RAM ROM:9396 000 mov DPTR, #ADC_VCH1DATM ; Voltage Channel 1 Data Buffer MSB ROM:9399 000 movx A, @DPTR ; Move from/to external RAM ROM:939A 000 mov R6, A ; Move (Op1 <- Op2) ROM:939B 000 mov DPTR, #ADC_VCH1DATL ; Voltage Channel 1 Data Buffer LSB ROM:939E 000 movx A, @DPTR ; Move from/to external RAM ROM:939F 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:93A1 000 add A, #0 ; Add Second Operand to Acc ROM:93A3 000 mov R7, A ; Move (Op1 <- Op2) ROM:93A4 000 mov A, R4 ; Move (Op1 <- Op2) ROM:93A5 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:93A6 000 mov DPTR, #6D0h ; Move (Op1 <- Op2) ROM:93A9 000 movx @DPTR, A ; Move from/to external RAM ROM:93AA 000 inc DPTR ; Increment Operand ROM:93AB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:93AC 000 movx @DPTR, A ; Move from/to external RAM ROM:93AD 000 mov DPTR, #6D0h ; Move (Op1 <- Op2) ROM:93B0 000 movx A, @DPTR ; Move from/to external RAM ROM:93B1 000 mov R6, A ; Move (Op1 <- Op2) ROM:93B2 000 inc DPTR ; Increment Operand ROM:93B3 000 movx A, @DPTR ; Move from/to external RAM ROM:93B4 000 mov R7, A ; Move (Op1 <- Op2) ROM:93B5 000 ret ; Return from subroutine ROM:93B5 ROM:93B5 ; End of function ROM_9387 ROM:93B5 ROM:93B6 ROM:93B6 ; =============== S U B R O U T I N E ======================================= ROM:93B6 ROM:93B6 ROM:93B6 ROM_93B6: ROM:93B6 000 mov DPTR, #ADC_VCH2CTL ; Voltage Channel 2 Control ROM:93B9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:93BA 000 movx @DPTR, A ; Move from/to external RAM ROM:93BA ROM:93BB ROM:93BB ROM_93BB: ; CODE XREF: ROM_93B6+9j ROM:93BB 000 mov DPTR, #ADC_VCH2CTL ; Voltage Channel 2 Control ROM:93BE 000 movx A, @DPTR ; Move from/to external RAM ROM:93BF 000 jnb ACC.7, ROM_93BB ; Accumulator ROM:93BF ROM:93C2 000 mov A, #1Fh ; Move (Op1 <- Op2) ROM:93C4 000 movx @DPTR, A ; Move from/to external RAM ROM:93C5 000 mov DPTR, #ADC_VCH2DATM ; Voltage Channel 2 Data Buffer MSB ROM:93C8 000 movx A, @DPTR ; Move from/to external RAM ROM:93C9 000 mov R6, A ; Move (Op1 <- Op2) ROM:93CA 000 mov DPTR, #ADC_VCH2DATL ; Voltage Channel 2 Data Buffer LSB ROM:93CD 000 movx A, @DPTR ; Move from/to external RAM ROM:93CE 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:93D0 000 add A, #0 ; Add Second Operand to Acc ROM:93D2 000 mov R7, A ; Move (Op1 <- Op2) ROM:93D3 000 mov A, R4 ; Move (Op1 <- Op2) ROM:93D4 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:93D5 000 mov DPTR, #6D2h ; Move (Op1 <- Op2) ROM:93D8 000 movx @DPTR, A ; Move from/to external RAM ROM:93D9 000 inc DPTR ; Increment Operand ROM:93DA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:93DB 000 movx @DPTR, A ; Move from/to external RAM ROM:93DC 000 mov DPTR, #6D2h ; Move (Op1 <- Op2) ROM:93DF 000 movx A, @DPTR ; Move from/to external RAM ROM:93E0 000 mov R6, A ; Move (Op1 <- Op2) ROM:93E1 000 inc DPTR ; Increment Operand ROM:93E2 000 movx A, @DPTR ; Move from/to external RAM ROM:93E3 000 mov R7, A ; Move (Op1 <- Op2) ROM:93E4 000 ret ; Return from subroutine ROM:93E4 ROM:93E4 ; End of function ROM_93B6 ROM:93E4 ROM:93E5 ROM:93E5 ; =============== S U B R O U T I N E ======================================= ROM:93E5 ROM:93E5 ROM:93E5 ROM_93E5: ROM:93E5 000 mov DPTR, #ADC_VCH3CTL ; Voltage Channel 3 Control ROM:93E8 000 mov A, R7 ; Move (Op1 <- Op2) ROM:93E9 000 movx @DPTR, A ; Move from/to external RAM ROM:93E9 ROM:93EA ROM:93EA ROM_93EA: ; CODE XREF: ROM_93E5+9j ROM:93EA 000 mov DPTR, #ADC_VCH3CTL ; Voltage Channel 3 Control ROM:93ED 000 movx A, @DPTR ; Move from/to external RAM ROM:93EE 000 jnb ACC.7, ROM_93EA ; Accumulator ROM:93EE ROM:93F1 000 mov A, #1Fh ; Move (Op1 <- Op2) ROM:93F3 000 movx @DPTR, A ; Move from/to external RAM ROM:93F4 000 mov DPTR, #ADC_VCH3DATM ; Voltage Channel 3 Data Buffer MSB ROM:93F7 000 movx A, @DPTR ; Move from/to external RAM ROM:93F8 000 mov R6, A ; Move (Op1 <- Op2) ROM:93F9 000 mov DPTR, #ADC_VCH3DATL ; Voltage Channel 3 Data Buffer LSB ROM:93FC 000 movx A, @DPTR ; Move from/to external RAM ROM:93FD 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:93FF 000 add A, #0 ; Add Second Operand to Acc ROM:9401 000 mov R7, A ; Move (Op1 <- Op2) ROM:9402 000 mov A, R4 ; Move (Op1 <- Op2) ROM:9403 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:9404 000 mov DPTR, #6D4h ; Move (Op1 <- Op2) ROM:9407 000 movx @DPTR, A ; Move from/to external RAM ROM:9408 000 inc DPTR ; Increment Operand ROM:9409 000 mov A, R7 ; Move (Op1 <- Op2) ROM:940A 000 movx @DPTR, A ; Move from/to external RAM ROM:940B 000 mov DPTR, #6D4h ; Move (Op1 <- Op2) ROM:940E 000 movx A, @DPTR ; Move from/to external RAM ROM:940F 000 mov R6, A ; Move (Op1 <- Op2) ROM:9410 000 inc DPTR ; Increment Operand ROM:9411 000 movx A, @DPTR ; Move from/to external RAM ROM:9412 000 mov R7, A ; Move (Op1 <- Op2) ROM:9413 000 ret ; Return from subroutine ROM:9413 ROM:9413 ; End of function ROM_93E5 ROM:9413 ROM:9413 ; --------------------------------------------------------------------------- ROM:9414 db 22h ROM:9415 db 22h ROM:9416 ROM:9416 ; =============== S U B R O U T I N E ======================================= ROM:9416 ROM:9416 ROM:9416 ROM_9416: ROM:9416 000 mov DPTR, #1ADh ; Move (Op1 <- Op2) ROM:9419 000 movx A, @DPTR ; Move from/to external RAM ROM:941A 000 setb C ; Set Direct Bit ROM:941B 000 subb A, #0Bh ; Subtract Second Operand from Acc with Borrow ROM:941D 000 mov DPTR, #560h ; Move (Op1 <- Op2) ROM:9420 000 jnc ROM_943B ; Jump if Carry is clear ROM:9420 ROM:9422 000 mov A, #1Fh ; Move (Op1 <- Op2) ROM:9424 000 movx @DPTR, A ; Move from/to external RAM ROM:9425 000 mov DPTR, #951Fh ; Move (Op1 <- Op2) ROM:9428 000 clr A ; Clear Operand (0) ROM:9429 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:942A 000 mov R7, A ; Move (Op1 <- Op2) ROM:942B 000 mov A, #1 ; Move (Op1 <- Op2) ROM:942D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:942E 000 mov DPTR, #561h ; Move (Op1 <- Op2) ROM:9431 000 xch A, R7 ; Exchange Operands ROM:9432 000 movx @DPTR, A ; Move from/to external RAM ROM:9433 000 inc DPTR ; Increment Operand ROM:9434 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9435 000 movx @DPTR, A ; Move from/to external RAM ROM:9436 000 mov DPTR, #9521h ; Move (Op1 <- Op2) ROM:9439 000 sjmp ROM_9452 ; Short jump ROM:9439 ROM:943B ; --------------------------------------------------------------------------- ROM:943B ROM:943B ROM_943B: ; CODE XREF: ROM_9416+Aj ROM:943B 000 mov A, #20h ; ' ' ; Move (Op1 <- Op2) ROM:943D 000 movx @DPTR, A ; Move from/to external RAM ROM:943E 000 mov DPTR, #9523h ; Move (Op1 <- Op2) ROM:9441 000 clr A ; Clear Operand (0) ROM:9442 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:9443 000 mov R7, A ; Move (Op1 <- Op2) ROM:9444 000 mov A, #1 ; Move (Op1 <- Op2) ROM:9446 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:9447 000 mov DPTR, #561h ; Move (Op1 <- Op2) ROM:944A 000 xch A, R7 ; Exchange Operands ROM:944B 000 movx @DPTR, A ; Move from/to external RAM ROM:944C 000 inc DPTR ; Increment Operand ROM:944D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:944E 000 movx @DPTR, A ; Move from/to external RAM ROM:944F 000 mov DPTR, #9525h ; Move (Op1 <- Op2) ROM:944F ROM:9452 ROM:9452 ROM_9452: ; CODE XREF: ROM_9416+23j ROM:9452 000 clr A ; Clear Operand (0) ROM:9453 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:9454 000 mov R7, A ; Move (Op1 <- Op2) ROM:9455 000 mov A, #1 ; Move (Op1 <- Op2) ROM:9457 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:9458 000 mov DPTR, #563h ; Move (Op1 <- Op2) ROM:945B 000 xch A, R7 ; Exchange Operands ROM:945C 000 movx @DPTR, A ; Move from/to external RAM ROM:945D 000 inc DPTR ; Increment Operand ROM:945E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:945F 000 movx @DPTR, A ; Move from/to external RAM ROM:9460 000 ret ; Return from subroutine ROM:9460 ROM:9460 ; End of function ROM_9416 ROM:9460 ROM:9460 ; --------------------------------------------------------------------------- ROM:9461 db 22h ROM:9462 db 22h ROM:9463 ; --------------------------------------------------------------------------- ROM:9463 ; START OF FUNCTION CHUNK FOR ROM_61F1 ROM:9463 ROM:9463 ROM_9463: ; CODE XREF: ROM_61F1+6j ROM:9463 000 mov DPTR, #GPIO_GRDRF ; Port F Data Register ROM:9466 000 movx A, @DPTR ; Move from/to external RAM ROM:9467 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:946A 000 movx @DPTR, A ; Move from/to external RAM ROM:946B 000 movx A, @DPTR ; Move from/to external RAM ROM:946C 000 anl A, #2 ; Logical AND (op1 &= op2) ROM:946E 000 movx @DPTR, A ; Move from/to external RAM ROM:946F 000 push DP0H ; Data Pointer High Byte ROM:9471 001 push DP0L ; Data Pointer Low Byte ROM:9473 002 movx A, @DPTR ; Move from/to external RAM ROM:9474 002 mov R7, A ; Move (Op1 <- Op2) ROM:9475 002 mov DPTR, #GPIO_GRDRH ; Port H Data Register ROM:9478 002 movx A, @DPTR ; Move from/to external RAM ROM:9479 002 mov R6, A ; Move (Op1 <- Op2) ROM:947A 002 mov A, R7 ; Move (Op1 <- Op2) ROM:947B 002 orl A, R6 ; Logical OR (op1 |= op2) ROM:947C 002 pop DP0L ; Data Pointer Low Byte ROM:947E 001 pop DP0H ; Data Pointer High Byte ROM:9480 000 movx @DPTR, A ; Move from/to external RAM ROM:9481 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:9484 000 movx A, @DPTR ; Move from/to external RAM ROM:9485 000 anl A, #6 ; Logical AND (op1 &= op2) ROM:9487 000 movx @DPTR, A ; Move from/to external RAM ROM:9488 000 mov DPTR, #520h ; Move (Op1 <- Op2) ROM:948B 000 movx A, @DPTR ; Move from/to external RAM ROM:948C 000 mov R7, A ; Move (Op1 <- Op2) ROM:948D 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:9490 000 movx A, @DPTR ; Move from/to external RAM ROM:9491 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:9492 000 jz ROM_94A0 ; Jump if Acc is zero ROM:9492 ROM:9494 000 movx A, @DPTR ; Move from/to external RAM ROM:9495 000 mov DPTR, #520h ; Move (Op1 <- Op2) ROM:9498 000 movx @DPTR, A ; Move from/to external RAM ROM:9499 000 mov DPTR, #519h ; Move (Op1 <- Op2) ROM:949C 000 mov A, #3 ; Move (Op1 <- Op2) ROM:949E 000 movx @DPTR, A ; Move from/to external RAM ROM:949F 000 ret ; Return from subroutine ROM:949F ROM:94A0 ; --------------------------------------------------------------------------- ROM:94A0 ROM:94A0 ROM_94A0: ; CODE XREF: ROM_61F1+32A1j ROM:94A0 000 mov DPTR, #519h ; Move (Op1 <- Op2) ROM:94A3 000 movx A, @DPTR ; Move from/to external RAM ROM:94A4 000 jz ROM_94DC ; Jump if Acc is zero ROM:94A4 ROM:94A6 000 mov DPTR, #519h ; Move (Op1 <- Op2) ROM:94A9 000 movx A, @DPTR ; Move from/to external RAM ROM:94AA 000 dec A ; Decrement Operand ROM:94AB 000 movx @DPTR, A ; Move from/to external RAM ROM:94AC 000 movx A, @DPTR ; Move from/to external RAM ROM:94AD 000 jnz ROM_94DC ; Jump if Acc is not zero ROM:94AD ROM:94AF 000 mov DPTR, #520h ; Move (Op1 <- Op2) ROM:94B2 000 movx A, @DPTR ; Move from/to external RAM ROM:94B3 000 cpl A ; Complement Operand ROM:94B4 000 mov DPTR, #193h ; Move (Op1 <- Op2) ROM:94B7 000 movx @DPTR, A ; Move from/to external RAM ROM:94B8 000 movx A, @DPTR ; Move from/to external RAM ROM:94B9 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:94BC 000 jnb ACC.1, ROM_94C5 ; Accumulator ROM:94BC ROM:94BF 000 movx A, @DPTR ; Move from/to external RAM ROM:94C0 000 orl A, #10h ; Logical OR (op1 |= op2) ROM:94C2 000 movx @DPTR, A ; Move from/to external RAM ROM:94C3 000 sjmp ROM_94C9 ; Short jump ROM:94C3 ROM:94C5 ; --------------------------------------------------------------------------- ROM:94C5 ROM:94C5 ROM_94C5: ; CODE XREF: ROM_61F1+32CBj ROM:94C5 000 movx A, @DPTR ; Move from/to external RAM ROM:94C6 000 anl A, #0EFh ; Logical AND (op1 &= op2) ROM:94C8 000 movx @DPTR, A ; Move from/to external RAM ROM:94C8 ROM:94C9 ROM:94C9 ROM_94C9: ; CODE XREF: ROM_61F1+32D2j ROM:94C9 000 mov DPTR, #193h ; Move (Op1 <- Op2) ROM:94CC 000 movx A, @DPTR ; Move from/to external RAM ROM:94CD 000 mov DPTR, #22BDh ; Move (Op1 <- Op2) ROM:94D0 000 jnb ACC.2, ROM_94D8 ; Accumulator ROM:94D0 ROM:94D3 000 movx A, @DPTR ; Move from/to external RAM ROM:94D4 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:94D6 000 movx @DPTR, A ; Move from/to external RAM ROM:94D7 000 ret ; Return from subroutine ROM:94D7 ROM:94D8 ; --------------------------------------------------------------------------- ROM:94D8 ROM:94D8 ROM_94D8: ; CODE XREF: ROM_61F1+32DFj ROM:94D8 000 movx A, @DPTR ; Move from/to external RAM ROM:94D9 000 anl A, #0DFh ; Logical AND (op1 &= op2) ROM:94DB 000 movx @DPTR, A ; Move from/to external RAM ROM:94DB ROM:94DC ROM:94DC ROM_94DC: ; CODE XREF: ROM_61F1+32B3j ROM:94DC ; ROM_61F1+32BCj ROM:94DC 000 ret ; Return from subroutine ROM:94DC ROM:94DC ; END OF FUNCTION CHUNK FOR ROM_61F1 ROM:94DD ROM:94DD ; =============== S U B R O U T I N E ======================================= ROM:94DD ROM:94DD ROM:94DD ROM_94DD: ; CODE XREF: ROM_6198:ROM_61B7p ROM:94DD 000 mov DPTR, #0F000h ; Move (Op1 <- Op2) ROM:94E0 000 clr A ; Clear Operand (0) ROM:94E1 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:94E2 000 mov DPTR, #22B3h ; Move (Op1 <- Op2) ROM:94E5 000 movx @DPTR, A ; Move from/to external RAM ROM:94E6 000 mov DPTR, #0F010h ; Move (Op1 <- Op2) ROM:94E9 000 clr A ; Clear Operand (0) ROM:94EA 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:94EB 000 mov DPTR, #55Eh ; Move (Op1 <- Op2) ROM:94EE 000 movx @DPTR, A ; Move from/to external RAM ROM:94EF 000 movx A, @DPTR ; Move from/to external RAM ROM:94F0 000 mov DPTR, #22B5h ; Move (Op1 <- Op2) ROM:94F3 000 jz clear_6_bit ; Jump if Acc is zero ROM:94F3 ROM:94F5 000 movx A, @DPTR ; Move from/to external RAM ROM:94F6 000 orl A, #1000000b ; Logical OR (op1 |= op2) ROM:94F8 000 movx @DPTR, A ; Move from/to external RAM ROM:94F9 000 ret ; Return from subroutine ROM:94F9 ROM:94FA ; --------------------------------------------------------------------------- ROM:94FA ROM:94FA clear_6_bit: ; CODE XREF: ROM_94DD+16j ROM:94FA 000 movx A, @DPTR ; Move from/to external RAM ROM:94FB 000 anl A, #10111111b ; Logical AND (op1 &= op2) ROM:94FD 000 movx @DPTR, A ; Move from/to external RAM ROM:94FE 000 ret ; Return from subroutine ROM:94FE ROM:94FE ; End of function ROM_94DD ROM:94FE ROM:94FF ROM:94FF ; =============== S U B R O U T I N E ======================================= ROM:94FF ROM:94FF ROM:94FF ROM_94FF: ROM:94FF 000 add A, R0 ; Add Second Operand to Acc ROM:9500 000 addc A, R4 ; Add Second Operand to Acc with carry ROM:9501 000 anl A, R2 ; Logical AND (op1 &= op2) ROM:9502 000 mov R0, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:9504 000 mov R2, T2CON ; Timer 2 Control ROM:9506 000 djnz R4, ROM_9508 ; Decrement Operand and JNZ ROM:9508 ROM:9508 ROM_9508: ; Exchange Digit in Acc with Indirect RAM ROM:9508 000 xchd A, @R1 ROM:9509 000 nop ; No operation ROM:950A 000 xchd A, @R1 ; Exchange Digit in Acc with Indirect RAM ROM:950B 000 ajmp ROM_902A+2 ; Absolute Jump ROM:950B ROM:950B ; End of function ROM_94FF ROM:950B ROM:950D ; --------------------------------------------------------------------------- ROM:950D ajmp ROM_9096 ; Absolute Jump ROM:950D ROM:950F ; --------------------------------------------------------------------------- ROM:950F ajmp ROM_90C9 ; Absolute Jump ROM:950F ROM:9511 ; --------------------------------------------------------------------------- ROM:9511 ljmp ROM_6600 ; Long Jump ROM:9511 ROM:9514 ; --------------------------------------------------------------------------- ROM:9514 mov R2, RAM_1 ; Move (Op1 <- Op2) ROM:9516 jbc RAM_20.1, ROM_958F+1 ; Jump if Bit is set & clear Bit ROM:9516 ROM:9519 ajmp ROM_90BB ; Absolute Jump ROM:9519 ROM:951B ; --------------------------------------------------------------------------- ROM:951B ljmp ROM_4302 ; Long Jump ROM:951B ROM:951E ; --------------------------------------------------------------------------- ROM:951E mov R3, RAM_11 ; Move (Op1 <- Op2) ROM:9520 subb A, #0Ch ; Subtract Second Operand from Acc with Borrow ROM:9522 dec R4 ; Decrement Operand ROM:9523 dec R5 ; Decrement Operand ROM:9524 orl A, R4 ; Logical OR (op1 |= op2) ROM:9525 dec @R0 ; Decrement Operand ROM:9526 mov R0, RAM_C ; Move (Op1 <- Op2) ROM:9528 orl C, /RAM_21.4 ; Logical OR (op1 |= op2) ROM:952A xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:952A ROM:952B ROM:952B ; =============== S U B R O U T I N E ======================================= ROM:952B ROM:952B ROM:952B set_IR_FIFO: ; CODE XREF: ROM_959D+44p ROM:952B ; ROM_95F3+31j ROM:952B 000 mov DPTR, #CIR_C0MSTCR ; CIR Master Control Register ROM:952E 000 movx A, @DPTR ; Move from/to external RAM ROM:952F 000 orl A, #100b ; set FIFO Treshold level for: ROM:952F ; 3 if 16-bit mode ROM:952F ; 7 if 32-bit mode ROM:9531 000 movx @DPTR, A ; Move from/to external RAM ROM:9532 000 ret ; Return from subroutine ROM:9532 ROM:9532 ; End of function set_IR_FIFO ROM:9532 ROM:9533 ROM:9533 ; =============== S U B R O U T I N E ======================================= ROM:9533 ROM:9533 ROM:9533 clear_IR_FIFO: ROM:9533 000 mov DPTR, #CIR_C0MSTCR ; CIR Master Control Register ROM:9536 000 movx A, @DPTR ; Move from/to external RAM ROM:9537 000 orl A, #10b ; Writing a "1" to this bit clears FIFO. ROM:9537 ; This bit is then cleared to "0" automatically ROM:9539 000 movx @DPTR, A ; Move from/to external RAM ROM:953A 000 ret ; Return from subroutine ROM:953A ROM:953A ; End of function clear_IR_FIFO ROM:953A ROM:953B ROM:953B ; =============== S U B R O U T I N E ======================================= ROM:953B ROM:953B ROM:953B reset_IR_reciever: ; CODE XREF: ROM_959D+41p ROM:953B ; ROM_95F3+2Ep ROM:953B 000 mov DPTR, #CIR_C0RCR ; CIR Receiver Control Register ROM:953E 000 movx A, @DPTR ; Move from/to external RAM ROM:953F 000 movx @DPTR, A ; Move from/to external RAM ROM:9540 000 ret ; Return from subroutine ROM:9540 ROM:9540 ; End of function reset_IR_reciever ROM:9540 ROM:9541 ROM:9541 ; =============== S U B R O U T I N E ======================================= ROM:9541 ROM:9541 ROM:9541 set_CIR_transmitter_gating: ; CODE XREF: ROM_9549+49p ROM:9541 000 mov DPTR, #CIR_C0SCK ; CIR Slow Clock Control Register ROM:9544 000 movx A, @DPTR ; Move from/to external RAM ROM:9545 000 orl A, #10h ; CIR transmitter clock source gating ROM:9547 000 movx @DPTR, A ; Move from/to external RAM ROM:9548 000 ret ; Return from subroutine ROM:9548 ROM:9548 ; End of function set_CIR_transmitter_gating ROM:9548 ROM:9549 ROM:9549 ; =============== S U B R O U T I N E ======================================= ROM:9549 ROM:9549 ROM:9549 ROM_9549: ; CODE XREF: ROM_95F3+24p ROM:9549 000 clr A ; Clear Operand (0) ROM:954A 000 mov R7, A ; Move (Op1 <- Op2) ROM:954A ROM:954B ROM:954B ROM_954B: ; CODE XREF: ROM_9549:ROM_958Fj ROM:954B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:954C 000 swap A ; Swap nibbles of Acc ROM:954D 000 rlc A ; Rotate Acc left through Carry ROM:954E 000 anl A, #0E0h ; Logical AND (op1 &= op2) ROM:9550 000 mov DPTR, #CIR_RESERVED ; Move (Op1 <- Op2) ROM:9553 000 movx @DPTR, A ; Move from/to external RAM ROM:9554 000 inc DPTR ; Increment Operand ROM:9555 000 mov A, #0Ah ; Move (Op1 <- Op2) ROM:9557 000 movx @DPTR, A ; Move from/to external RAM ROM:9558 000 mov DPTR, #CIR_C0WPS ; CIR Wake Up Power Control/Status Register ROM:955B 000 movx A, @DPTR ; Move from/to external RAM ROM:955C 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:955E 000 movx @DPTR, A ; Move from/to external RAM ROM:955F 000 movx A, @DPTR ; Move from/to external RAM ROM:9560 000 movx @DPTR, A ; Move from/to external RAM ROM:9561 000 clr A ; Clear Operand (0) ROM:9562 000 mov R6, A ; Move (Op1 <- Op2) ROM:9562 ROM:9563 ROM:9563 ROM_9563: ; CODE XREF: ROM_9549+3Aj ROM:9563 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9564 000 mov B, #0Bh ; B Register ROM:9567 000 mul AB ; Multiply Acc by B ROM:9568 000 add A, #0C5h ; '+' ; Add Second Operand to Acc ROM:956A 000 mov DP0L, A ; Data Pointer Low Byte ROM:956C 000 clr A ; Clear Operand (0) ROM:956D 000 addc A, #96h ; 'û' ; Add Second Operand to Acc with carry ROM:956F 000 mov DP0H, A ; Data Pointer High Byte ROM:9571 000 mov A, DP0L ; Data Pointer Low Byte ROM:9573 000 add A, R6 ; Add Second Operand to Acc ROM:9574 000 mov DP0L, A ; Data Pointer Low Byte ROM:9576 000 clr A ; Clear Operand (0) ROM:9577 000 addc A, DP0H ; Data Pointer High Byte ROM:9579 000 mov DP0H, A ; Data Pointer High Byte ROM:957B 000 clr A ; Clear Operand (0) ROM:957C 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:957D 000 mov DPTR, #230Eh ; Move (Op1 <- Op2) ROM:9580 000 movx @DPTR, A ; Move from/to external RAM ROM:9581 000 inc R6 ; Increment Operand ROM:9582 000 mov A, R6 ; Move (Op1 <- Op2) ROM:9583 000 cjne A, #0Bh, ROM_9563 ; Compare Operands and JNE ROM:9583 ROM:9586 000 mov DPTR, #230Fh ; Move (Op1 <- Op2) ROM:9589 000 movx A, @DPTR ; Move from/to external RAM ROM:958A 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:958C 000 movx @DPTR, A ; Move from/to external RAM ROM:958D 000 inc R7 ; Increment Operand ROM:958E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:958F ROM:958F ROM_958F: ; CODE XREF: ROM:9516j ROM:958F 000 cjne A, #2, ROM_954B ; Compare Operands and JNE ROM:958F ROM:9592 000 lcall set_CIR_transmitter_gating ; Long Subroutine Call ROM:9592 ROM:9595 000 mov DPTR, #2307h ; Move (Op1 <- Op2) ROM:9598 000 movx A, @DPTR ; Move from/to external RAM ROM:9599 000 orl A, #2 ; Logical OR (op1 |= op2) ROM:959B 000 movx @DPTR, A ; Move from/to external RAM ROM:959C 000 ret ; Return from subroutine ROM:959C ROM:959C ; End of function ROM_9549 ROM:959C ROM:959D ROM:959D ; =============== S U B R O U T I N E ======================================= ROM:959D ROM:959D ROM:959D ROM_959D: ROM:959D 000 clr A ; Clear Operand (0) ROM:959E 000 mov R7, A ; Move (Op1 <- Op2) ROM:959E ROM:959F ROM:959F ROM_959F: ; CODE XREF: ROM_959D+15j ROM:959F 000 mov DPTR, #CIR_C0DR ; CIR Data Register ROM:95A2 000 movx A, @DPTR ; Move from/to external RAM ROM:95A3 000 mov R6, A ; Move (Op1 <- Op2) ROM:95A4 000 mov A, #0 ; Move (Op1 <- Op2) ROM:95A6 000 add A, R7 ; Add Second Operand to Acc ROM:95A7 000 mov DP0L, A ; Data Pointer Low Byte ROM:95A9 000 clr A ; Clear Operand (0) ROM:95AA 000 addc A, #6 ; Add Second Operand to Acc with carry ROM:95AC 000 mov DP0H, A ; Data Pointer High Byte ROM:95AE 000 mov A, R6 ; Move (Op1 <- Op2) ROM:95AF 000 movx @DPTR, A ; Move from/to external RAM ROM:95B0 000 inc R7 ; Increment Operand ROM:95B1 000 mov A, R7 ; Move (Op1 <- Op2) ROM:95B2 000 cjne A, #0Bh, ROM_959F ; Compare Operands and JNE ROM:95B2 ROM:95B5 000 clr A ; Clear Operand (0) ROM:95B6 000 mov R7, A ; Move (Op1 <- Op2) ROM:95B6 ROM:95B7 ROM:95B7 ROM_95B7: ; CODE XREF: ROM_959D+37j ROM:95B7 000 mov A, #0 ; Move (Op1 <- Op2) ROM:95B9 000 add A, R7 ; Add Second Operand to Acc ROM:95BA 000 mov DP0L, A ; Data Pointer Low Byte ROM:95BC 000 clr A ; Clear Operand (0) ROM:95BD 000 addc A, #6 ; Add Second Operand to Acc with carry ROM:95BF 000 mov DP0H, A ; Data Pointer High Byte ROM:95C1 000 movx A, @DPTR ; Move from/to external RAM ROM:95C2 000 mov R6, A ; Move (Op1 <- Op2) ROM:95C3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:95C4 000 mov DPTR, #96C5h ; Move (Op1 <- Op2) ROM:95C7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:95C8 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:95C9 000 mov R6, A ; Move (Op1 <- Op2) ROM:95CA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:95CB 000 mov DPTR, #96BAh ; Move (Op1 <- Op2) ROM:95CE 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:95CF 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:95D0 000 jnz ROM_95D7 ; Jump if Acc is not zero ROM:95D0 ROM:95D2 000 inc R7 ; Increment Operand ROM:95D3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:95D4 000 cjne A, #0Bh, ROM_95B7 ; Compare Operands and JNE ROM:95D4 ROM:95D7 ROM:95D7 ROM_95D7: ; CODE XREF: ROM_959D+33j ROM:95D7 000 mov DPTR, #2305h ; Move (Op1 <- Op2) ROM:95DA 000 movx A, @DPTR ; Move from/to external RAM ROM:95DB 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:95DD 000 movx @DPTR, A ; Move from/to external RAM ROM:95DE 000 lcall reset_IR_reciever ; Long Subroutine Call ROM:95DE ROM:95E1 000 lcall set_IR_FIFO ; Long Subroutine Call ROM:95E1 ROM:95E4 000 mov DPTR, #2305h ; Move (Op1 <- Op2) ROM:95E7 000 movx A, @DPTR ; Move from/to external RAM ROM:95E8 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:95EA 000 movx @DPTR, A ; Move from/to external RAM ROM:95EB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:95EC 000 cjne A, #0Bh, ROM_95F1 ; Compare Operands and JNE ROM:95EC ROM:95EF 000 setb C ; Set Direct Bit ROM:95F0 000 ret ; Return from subroutine ROM:95F0 ROM:95F1 ; --------------------------------------------------------------------------- ROM:95F1 ROM:95F1 ROM_95F1: ; CODE XREF: ROM_959D+4Fj ROM:95F1 000 clr C ; Clear Operand (0) ROM:95F2 000 ret ; Return from subroutine ROM:95F2 ROM:95F2 ; End of function ROM_959D ROM:95F2 ROM:95F3 ROM:95F3 ; =============== S U B R O U T I N E ======================================= ROM:95F3 ROM:95F3 ROM:95F3 ROM_95F3: ROM:95F3 000 mov DPTR, #CIR_C0RCR ; CIR Receiver Control Register ROM:95F6 000 movx A, @DPTR ; Move from/to external RAM ROM:95F7 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:95F9 000 movx @DPTR, A ; Move from/to external RAM ROM:95FA 000 mov DPTR, #CIR_C0BDHR ; CIR Baud Rate Divisor High Byte Register ROM:95FD 000 clr A ; Clear Operand (0) ROM:95FE 000 movx @DPTR, A ; Move from/to external RAM ROM:95FF 000 mov DPTR, #CIR_C0BDLR ; CIR Baud Rate Divisor Low Byte Register ROM:9602 000 mov A, #110011b ; Move (Op1 <- Op2) ROM:9604 000 movx @DPTR, A ; Move from/to external RAM ROM:9605 000 mov DPTR, #CIR_C0MSTCR ; CIR Master Control Register ROM:9608 000 mov A, #1000b ; Move (Op1 <- Op2) ROM:960A 000 movx @DPTR, A ; Move from/to external RAM ROM:960B 000 mov DPTR, #CIR_C0CFR ; CIR Carrier Frequency Register ROM:960E 000 mov A, #1011b ; Move (Op1 <- Op2) ROM:9610 000 movx @DPTR, A ; Move from/to external RAM ROM:9611 000 mov DPTR, #CIR_C0IER ; CIR Interrupt Enable Register ROM:9614 000 mov A, #11000000b ; Move (Op1 <- Op2) ROM:9616 000 movx @DPTR, A ; Move from/to external RAM ROM:9617 000 lcall ROM_9549 ; Long Subroutine Call ROM:9617 ROM:961A 000 mov DPTR, #CIR_C0RCR ; CIR Receiver Control Register ROM:961D 000 movx A, @DPTR ; Move from/to external RAM ROM:961E 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:9620 000 movx @DPTR, A ; Move from/to external RAM ROM:9621 000 lcall reset_IR_reciever ; Long Subroutine Call ROM:9621 ROM:9624 000 ljmp set_IR_FIFO ; Long Jump ROM:9624 ROM:9627 ; --------------------------------------------------------------------------- ROM:9627 000 ret ; Return from subroutine ROM:9627 ROM:9627 ; End of function ROM_95F3 ROM:9627 ROM:9628 ROM:9628 ; =============== S U B R O U T I N E ======================================= ROM:9628 ROM:9628 ROM:9628 ROM_9628: ; CODE XREF: ROM_9648+Ap ROM:9628 000 mov DPTR, #CIR_C0MSTCR ; CIR Master Control Register ROM:962B 000 movx A, @DPTR ; Move from/to external RAM ROM:962C 000 orl A, #10b ; Logical OR (op1 |= op2) ROM:962E 000 movx @DPTR, A ; Move from/to external RAM ROM:962F 000 nop ; No operation ROM:962F ROM:9630 ROM:9630 ROM_9630: ; CODE XREF: ROM_9628+Cj ROM:9630 000 mov DPTR, #CIR_C0MSTCR ; CIR Master Control Register ROM:9633 000 movx A, @DPTR ; Move from/to external RAM ROM:9634 000 jb ACC.1, ROM_9630 ; Accumulator ROM:9634 ROM:9637 000 ret ; Return from subroutine ROM:9637 ROM:9637 ; End of function ROM_9628 ROM:9637 ROM:9638 ROM:9638 ; =============== S U B R O U T I N E ======================================= ROM:9638 ROM:9638 ROM:9638 ROM_9638: ; CODE XREF: ROM_9648+7p ROM:9638 000 mov DPTR, #CIR_C0RCR ; CIR Receiver Control Register ROM:963B 000 movx A, @DPTR ; Move from/to external RAM ROM:963C 000 orl A, #8 ; Logical OR (op1 |= op2) ROM:963E 000 movx @DPTR, A ; Move from/to external RAM ROM:963F 000 nop ; No operation ROM:963F ROM:9640 ROM:9640 ROM_9640: ; CODE XREF: ROM_9638+Cj ROM:9640 000 mov DPTR, #CIR_C0RCR ; CIR Receiver Control Register ROM:9643 000 movx A, @DPTR ; Move from/to external RAM ROM:9644 000 jb ACC.3, ROM_9640 ; Accumulator ROM:9644 ROM:9647 000 ret ; Return from subroutine ROM:9647 ROM:9647 ; End of function ROM_9638 ROM:9647 ROM:9648 ROM:9648 ; =============== S U B R O U T I N E ======================================= ROM:9648 ROM:9648 ROM:9648 ROM_9648: ; CODE XREF: ROM_965D+2Cp ROM:9648 000 mov DPTR, #CIR_C0RCR ; CIR Receiver Control Register ROM:964B 000 movx A, @DPTR ; Move from/to external RAM ROM:964C 000 anl A, #7Fh ; Logical AND (op1 &= op2) ROM:964E 000 movx @DPTR, A ; Move from/to external RAM ROM:964F 000 lcall ROM_9638 ; Long Subroutine Call ROM:964F ROM:9652 000 lcall ROM_9628 ; Long Subroutine Call ROM:9652 ROM:9655 000 mov DPTR, #CIR_C0RCR ; CIR Receiver Control Register ROM:9658 000 movx A, @DPTR ; Move from/to external RAM ROM:9659 000 orl A, #80h ; Logical OR (op1 |= op2) ROM:965B 000 movx @DPTR, A ; Move from/to external RAM ROM:965C 000 ret ; Return from subroutine ROM:965C ROM:965C ; End of function ROM_9648 ROM:965C ROM:965D ROM:965D ; =============== S U B R O U T I N E ======================================= ROM:965D ROM:965D ROM:965D ROM_965D: ROM:965D 000 mov DPTR, #CIR_C0SCK ; CIR Slow Clock Control Register ROM:9660 000 movx A, @DPTR ; Move from/to external RAM ROM:9661 000 anl A, #0FEh ; Logical AND (op1 &= op2) ROM:9663 000 movx @DPTR, A ; Move from/to external RAM ROM:9664 000 clr A ; Clear Operand (0) ROM:9665 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:9665 ROM:9667 ROM:9667 ROM_9667: ; CODE XREF: ROM_965D+15j ROM:9667 000 mov DPTR, #CIR_C0DR ; CIR Data Register ROM:966A 000 movx A, @DPTR ; Move from/to external RAM ROM:966B 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:966D 000 nop ; No operation ROM:966E 000 inc RAM_30 ; Increment Operand ROM:9670 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:9672 000 cjne A, #7, ROM_9667 ; Compare Operands and JNE ROM:9672 ROM:9675 000 clr A ; Clear Operand (0) ROM:9676 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:9676 ROM:9678 ROM:9678 ROM_9678: ; CODE XREF: ROM_965D+38j ROM:9678 000 mov DPTR, #CIR_C0DR ; CIR Data Register ROM:967B 000 movx A, @DPTR ; Move from/to external RAM ROM:967C 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:967E 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:9680 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9681 000 mov DPTR, #96DFh ; Move (Op1 <- Op2) ROM:9684 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:9685 000 xrl A, RAM_31 ; Exclusive OR (op1 ^= op2) ROM:9687 000 jz ROM_968E ; Jump if Acc is zero ROM:9687 ROM:9689 000 lcall ROM_9648 ; Long Subroutine Call ROM:9689 ROM:968C 000 clr C ; Clear Operand (0) ROM:968D 000 ret ; Return from subroutine ROM:968D ROM:968E ; --------------------------------------------------------------------------- ROM:968E ROM:968E ROM_968E: ; CODE XREF: ROM_965D+2Aj ROM:968E 000 inc RAM_30 ; Increment Operand ROM:9690 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:9692 000 clr C ; Clear Operand (0) ROM:9693 000 subb A, #4 ; Subtract Second Operand from Acc with Borrow ROM:9695 000 jc ROM_9678 ; Jump if Carry is set ROM:9695 ROM:9697 000 mov R0, #38h ; '8' ; Move (Op1 <- Op2) ROM:9699 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:969A 000 mov R7, A ; Move (Op1 <- Op2) ROM:969B 000 rrc A ; Rotate Acc right through Carry ROM:969C 000 rrc A ; Rotate Acc right through Carry ROM:969D 000 anl A, #3Fh ; Logical AND (op1 &= op2) ROM:969F 000 jnb ACC.0, ROM_96A5 ; Accumulator ROM:969F ROM:96A2 000 ljmp ROM_96B1 ; Long Jump ROM:96A2 ROM:96A5 ; --------------------------------------------------------------------------- ROM:96A5 ROM:96A5 ROM_96A5: ; CODE XREF: ROM_965D+42j ROM:96A5 000 lcall ROM_96A9 ; Long Subroutine Call ROM:96A5 ROM:96A8 000 ret ; Return from subroutine ROM:96A8 ROM:96A8 ; End of function ROM_965D ROM:96A8 ROM:96A9 ROM:96A9 ; =============== S U B R O U T I N E ======================================= ROM:96A9 ROM:96A9 ROM:96A9 ROM_96A9: ; CODE XREF: ROM_965D:ROM_96A5p ROM:96A9 000 mov DPTR, #CIR_C0MSTCR ; CIR Master Control Register ROM:96AC 000 movx A, @DPTR ; Move from/to external RAM ROM:96AD 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:96AF 000 movx @DPTR, A ; Move from/to external RAM ROM:96B0 000 ret ; Return from subroutine ROM:96B0 ROM:96B0 ; End of function ROM_96A9 ROM:96B0 ROM:96B1 ROM:96B1 ; =============== S U B R O U T I N E ======================================= ROM:96B1 ROM:96B1 ROM:96B1 ROM_96B1: ; CODE XREF: ROM_965D+45j ROM:96B1 000 mov DPTR, #CIR_C0MSTCR ; CIR Master Control Register ROM:96B4 000 movx A, @DPTR ; Move from/to external RAM ROM:96B5 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:96B7 000 movx @DPTR, A ; Move from/to external RAM ROM:96B8 000 ret ; Return from subroutine ROM:96B8 ROM:96B8 ; End of function ROM_96B1 ROM:96B8 ROM:96B8 ; --------------------------------------------------------------------------- ROM:96B9 db 22h ; " ROM:96BA db 0FFh ROM:96BB db 0FFh ROM:96BC db 0FFh ROM:96BD db 0FFh ROM:96BE db 0FFh ROM:96BF db 0FFh ROM:96C0 db 0CFh ; - ROM:96C1 db 0FFh ROM:96C2 db 0FFh ROM:96C3 db 0FFh ROM:96C4 db 0FFh ROM:96C5 db 0C0h ; + ROM:96C6 db 6Ah ; j ROM:96C7 db 63h ; c ROM:96C8 db 55h ; U ROM:96C9 db 55h ; U ROM:96CA db 0A5h, 5Ah, 95h, 55h, 0A5h, 0F5h, 0C0h, 6Ah, 63h, 55h ROM:96CA db 55h, 0A5h, 6Ah, 95h, 55h, 0A5h, 0F5h, 95h, 55h, 0A5h ROM:96CA db 0F5h, 66h, 5Ah, 59h, 0F5h, 1, 1, 66h, 5Ah, 59h, 0F5h ROM:96CA db 0E0h, 32h, 2, 1, 66h, 5Ah, 59h, 0F9h, 0E0h, 21h, 3 ROM:96CA db 0, 66h, 5Ah, 0A5h, 0F9h, 0E0h, 23h, 4, 0, 66h, 0AAh ROM:96CA db 0A5h, 0F6h, 0E0h, 7Dh, 5, 0, 66h, 0AAh, 0A5h, 0FAh ROM:96CA db 0E0h, 7Ah, 6, 0, 66h, 9Ah, 69h, 0F5h, 0E0h, 75h, 7 ROM:96CA db 0, 66h, 9Ah, 0A9h, 0F5h, 0, 5Ah, 8, 0, 66h, 9Ah, 69h ROM:96CA db 0F9h, 0E0h, 72h, 9, 0, 66h, 9Ah, 69h, 0F6h, 0E0h, 6Bh ROM:96CA db 0Ah, 0, 66h, 9Ah, 69h, 0FAh, 0E0h, 74h, 0Bh, 0, 66h ROM:96CA db 6Ah, 96h, 0F5h, 0, 66h, 0Ch, 2, 66h, 5Ah, 0A6h, 0FAh ROM:96CA db 0, 32h, 0Dh, 0, 66h, 5Ah, 0A6h, 0F5h, 0E0h, 34h, 0Eh ROM:96CA db 2, 66h, 5Ah, 0A6h, 0F6h, 0, 2Bh, 0Fh, 0, 66h, 5Ah, 56h ROM:96CA db 0F9h, 0E0h, 15h, 10h, 0, 66h, 5Ah, 5Ah, 0F9h, 0E0h ROM:96CA db 3Bh, 11h, 0, 66h, 5Ah, 56h, 0F5h, 0E0h, 4Dh ROM:976B ROM:976B ; =============== S U B R O U T I N E ======================================= ROM:976B ROM:976B ROM:976B ROM_976B: ; CODE XREF: ROM_985F+7p ROM:976B 000 clr A ; Clear Operand (0) ROM:976C 000 mov DPTR, #6D6h ; Move (Op1 <- Op2) ROM:976F 000 movx @DPTR, A ; Move from/to external RAM ROM:976F ROM:9770 ROM:9770 ROM_9770: ; CODE XREF: ROM_976B+72j ROM:9770 000 mov DPTR, #6D6h ; Move (Op1 <- Op2) ROM:9773 000 movx A, @DPTR ; Move from/to external RAM ROM:9774 000 clr C ; Clear Operand (0) ROM:9775 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:9777 000 jnc ROM_97E6 ; Jump if Carry is clear ROM:9777 ROM:9779 000 movx A, @DPTR ; Move from/to external RAM ROM:977A 000 mov R7, A ; Move (Op1 <- Op2) ROM:977B 000 add A, ACC ; Accumulator ROM:977D 000 add A, #76h ; 'v' ; Add Second Operand to Acc ROM:977F 000 mov DP0L, A ; Data Pointer Low Byte ROM:9781 000 clr A ; Clear Operand (0) ROM:9782 000 addc A, #98h ; 'ÿ' ; Add Second Operand to Acc with carry ROM:9784 000 mov DP0H, A ; Data Pointer High Byte ROM:9786 000 clr A ; Clear Operand (0) ROM:9787 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:9788 000 mov DPTR, #204h ; Move (Op1 <- Op2) ROM:978B 000 movx @DPTR, A ; Move from/to external RAM ROM:978C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:978D 000 add A, ACC ; Accumulator ROM:978F 000 add A, #75h ; 'u' ; Add Second Operand to Acc ROM:9791 000 mov DP0L, A ; Data Pointer Low Byte ROM:9793 000 clr A ; Clear Operand (0) ROM:9794 000 addc A, #98h ; 'ÿ' ; Add Second Operand to Acc with carry ROM:9796 000 mov DP0H, A ; Data Pointer High Byte ROM:9798 000 clr A ; Clear Operand (0) ROM:9799 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:979A 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:979D 000 movx @DPTR, A ; Move from/to external RAM ROM:979E 000 inc DPTR ; Increment Operand ROM:979F 000 mov A, #2 ; Move (Op1 <- Op2) ROM:97A1 000 movx @DPTR, A ; Move from/to external RAM ROM:97A2 000 inc DPTR ; Increment Operand ROM:97A3 000 mov A, #4 ; Move (Op1 <- Op2) ROM:97A5 000 movx @DPTR, A ; Move from/to external RAM ROM:97A6 000 mov R3, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:97A8 000 mov R5, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:97AA 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:97AC 000 lcall ROM_52A4 ; Long Subroutine Call ROM:97AC ROM:97AF 000 mov A, R7 ; Move (Op1 <- Op2) ROM:97B0 000 jnz ROM_97C4 ; Jump if Acc is not zero ROM:97B0 ROM:97B2 000 mov DPTR, #129h ; Move (Op1 <- Op2) ROM:97B5 000 movx A, @DPTR ; Move from/to external RAM ROM:97B6 000 mov R7, A ; Move (Op1 <- Op2) ROM:97B7 000 inc A ; Increment Operand ROM:97B8 000 movx @DPTR, A ; Move from/to external RAM ROM:97B9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:97BA 000 clr C ; Clear Operand (0) ROM:97BB 000 subb A, #0Ah ; Subtract Second Operand from Acc with Borrow ROM:97BD 000 jc ROM_97D6 ; Jump if Carry is set ROM:97BD ROM:97BF 000 mov A, #0Ah ; Move (Op1 <- Op2) ROM:97C1 000 movx @DPTR, A ; Move from/to external RAM ROM:97C2 000 sjmp ROM_97D6 ; Short jump ROM:97C2 ROM:97C4 ; --------------------------------------------------------------------------- ROM:97C4 ROM:97C4 ROM_97C4: ; CODE XREF: ROM_976B+45j ROM:97C4 000 mov DPTR, #6D6h ; Move (Op1 <- Op2) ROM:97C7 000 movx A, @DPTR ; Move from/to external RAM ROM:97C8 000 inc A ; Increment Operand ROM:97C9 000 movx @DPTR, A ; Move from/to external RAM ROM:97CA 000 mov DPTR, #129h ; Move (Op1 <- Op2) ROM:97CD 000 clr A ; Clear Operand (0) ROM:97CE 000 movx @DPTR, A ; Move from/to external RAM ROM:97CF 000 mov DPTR, #120h ; Move (Op1 <- Op2) ROM:97D2 000 movx A, @DPTR ; Move from/to external RAM ROM:97D3 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:97D5 000 movx @DPTR, A ; Move from/to external RAM ROM:97D5 ROM:97D6 ROM:97D6 ROM_97D6: ; CODE XREF: ROM_976B+52j ROM:97D6 ; ROM_976B+57j ROM:97D6 000 mov DPTR, #129h ; Move (Op1 <- Op2) ROM:97D9 000 movx A, @DPTR ; Move from/to external RAM ROM:97DA 000 clr C ; Clear Operand (0) ROM:97DB 000 subb A, #0Ah ; Subtract Second Operand from Acc with Borrow ROM:97DD 000 jc ROM_9770 ; Jump if Carry is set ROM:97DD ROM:97DF 000 mov DPTR, #120h ; Move (Op1 <- Op2) ROM:97E2 000 movx A, @DPTR ; Move from/to external RAM ROM:97E3 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:97E5 000 movx @DPTR, A ; Move from/to external RAM ROM:97E5 ROM:97E6 ROM:97E6 ROM_97E6: ; CODE XREF: ROM_976B+Cj ROM:97E6 000 ret ; Return from subroutine ROM:97E6 ROM:97E6 ; End of function ROM_976B ROM:97E6 ROM:97E7 ROM:97E7 ; =============== S U B R O U T I N E ======================================= ROM:97E7 ROM:97E7 ROM:97E7 ROM_97E7: ; CODE XREF: ROM_985F:ROM_9871p ROM:97E7 000 mov DPTR, #121h ; Move (Op1 <- Op2) ROM:97EA 000 movx A, @DPTR ; Move from/to external RAM ROM:97EB 000 mov B, #3 ; B Register ROM:97EE 000 mul AB ; Multiply Acc by B ROM:97EF 000 add A, #7Bh ; '{' ; Add Second Operand to Acc ROM:97F1 000 mov DP0L, A ; Data Pointer Low Byte ROM:97F3 000 clr A ; Clear Operand (0) ROM:97F4 000 addc A, #98h ; 'ÿ' ; Add Second Operand to Acc with carry ROM:97F6 000 mov DP0H, A ; Data Pointer High Byte ROM:97F8 000 clr A ; Clear Operand (0) ROM:97F9 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:97FA 000 mov R7, A ; Move (Op1 <- Op2) ROM:97FB 000 mov DPTR, #121h ; Move (Op1 <- Op2) ROM:97FE 000 movx A, @DPTR ; Move from/to external RAM ROM:97FF 000 mov B, #3 ; B Register ROM:9802 000 mul AB ; Multiply Acc by B ROM:9803 000 add A, #7Ch ; '|' ; Add Second Operand to Acc ROM:9805 000 mov DP0L, A ; Data Pointer Low Byte ROM:9807 000 clr A ; Clear Operand (0) ROM:9808 000 addc A, #98h ; 'ÿ' ; Add Second Operand to Acc with carry ROM:980A 000 mov DP0H, A ; Data Pointer High Byte ROM:980C 000 clr A ; Clear Operand (0) ROM:980D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:980E 000 mov R5, A ; Move (Op1 <- Op2) ROM:980F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:9811 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:9812 000 mov DPTR, #696h ; Move (Op1 <- Op2) ROM:9815 000 xch A, R5 ; Exchange Operands ROM:9816 000 movx @DPTR, A ; Move from/to external RAM ROM:9817 000 inc DPTR ; Increment Operand ROM:9818 000 mov A, R5 ; Move (Op1 <- Op2) ROM:9819 000 movx @DPTR, A ; Move from/to external RAM ROM:981A 000 mov DPTR, #695h ; Move (Op1 <- Op2) ROM:981D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:981E 000 movx @DPTR, A ; Move from/to external RAM ROM:981F 000 mov R3, #98h ; 'ÿ' ; Move (Op1 <- Op2) ROM:9821 000 mov R5, #8 ; Move (Op1 <- Op2) ROM:9823 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:9825 000 lcall ROM_52A4 ; Long Subroutine Call ROM:9825 ROM:9828 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9829 000 jnz ROM_9844 ; Jump if Acc is not zero ROM:9829 ROM:982B 000 mov DPTR, #129h ; Move (Op1 <- Op2) ROM:982E 000 movx A, @DPTR ; Move from/to external RAM ROM:982F 000 mov R7, A ; Move (Op1 <- Op2) ROM:9830 000 inc A ; Increment Operand ROM:9831 000 movx @DPTR, A ; Move from/to external RAM ROM:9832 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9833 000 clr C ; Clear Operand (0) ROM:9834 000 subb A, #0Ah ; Subtract Second Operand from Acc with Borrow ROM:9836 000 jc ROM_9850 ; Jump if Carry is set ROM:9836 ROM:9838 000 mov A, #0Ah ; Move (Op1 <- Op2) ROM:983A 000 movx @DPTR, A ; Move from/to external RAM ROM:983B 000 mov DPTR, #120h ; Move (Op1 <- Op2) ROM:983E 000 movx A, @DPTR ; Move from/to external RAM ROM:983F 000 orl A, #40h ; Logical OR (op1 |= op2) ROM:9841 000 movx @DPTR, A ; Move from/to external RAM ROM:9842 000 sjmp ROM_9850 ; Short jump ROM:9842 ROM:9844 ; --------------------------------------------------------------------------- ROM:9844 ROM:9844 ROM_9844: ; CODE XREF: ROM_97E7+42j ROM:9844 000 mov DPTR, #129h ; Move (Op1 <- Op2) ROM:9847 000 clr A ; Clear Operand (0) ROM:9848 000 movx @DPTR, A ; Move from/to external RAM ROM:9849 000 mov DPTR, #120h ; Move (Op1 <- Op2) ROM:984C 000 movx A, @DPTR ; Move from/to external RAM ROM:984D 000 anl A, #0BFh ; Logical AND (op1 &= op2) ROM:984F 000 movx @DPTR, A ; Move from/to external RAM ROM:984F ROM:9850 ROM:9850 ROM_9850: ; CODE XREF: ROM_97E7+4Fj ROM:9850 ; ROM_97E7+5Bj ROM:9850 000 mov DPTR, #121h ; Move (Op1 <- Op2) ROM:9853 000 movx A, @DPTR ; Move from/to external RAM ROM:9854 000 inc A ; Increment Operand ROM:9855 000 movx @DPTR, A ; Move from/to external RAM ROM:9856 000 movx A, @DPTR ; Move from/to external RAM ROM:9857 000 clr C ; Clear Operand (0) ROM:9858 000 subb A, #2 ; Subtract Second Operand from Acc with Borrow ROM:985A 000 jc ROM_985E ; Jump if Carry is set ROM:985A ROM:985C 000 clr A ; Clear Operand (0) ROM:985D 000 movx @DPTR, A ; Move from/to external RAM ROM:985D ROM:985E ROM:985E ROM_985E: ; CODE XREF: ROM_97E7+73j ROM:985E 000 ret ; Return from subroutine ROM:985E ROM:985E ; End of function ROM_97E7 ROM:985E ROM:985F ROM:985F ; =============== S U B R O U T I N E ======================================= ROM:985F ROM:985F ROM:985F ROM_985F: ; CODE XREF: ROM_622F+1Ap ROM:985F 000 mov DPTR, #120h ; Move (Op1 <- Op2) ROM:9862 000 movx A, @DPTR ; Move from/to external RAM ROM:9863 000 jb ACC.0, ROM_9871 ; Accumulator ROM:9863 ROM:9866 000 lcall ROM_976B ; Long Subroutine Call ROM:9866 ROM:9869 000 mov DPTR, #120h ; Move (Op1 <- Op2) ROM:986C 000 movx A, @DPTR ; Move from/to external RAM ROM:986D 000 orl A, #1 ; Logical OR (op1 |= op2) ROM:986F 000 movx @DPTR, A ; Move from/to external RAM ROM:9870 000 ret ; Return from subroutine ROM:9870 ROM:9871 ; --------------------------------------------------------------------------- ROM:9871 ROM:9871 ROM_9871: ; CODE XREF: ROM_985F+4j ROM:9871 000 lcall ROM_97E7 ; Long Subroutine Call ROM:9871 ROM:9874 000 ret ; Return from subroutine ROM:9874 ROM:9874 ; End of function ROM_985F ROM:9874 ROM:9875 ; --------------------------------------------------------------------------- ROM:9875 inc R1 ; Increment Operand ROM:9876 sjmp ROM_9890+1 ; Short jump ROM:9876 ROM:9878 ; --------------------------------------------------------------------------- ROM:9878 anl A, R2 ; Logical AND (op1 &= op2) ROM:9879 jb RAM_2B.2, ROM_987C+1 ; Jump if Bit is set ROM:9879 ROM:987C ROM:987C ROM_987C: ; CODE XREF: ROM:9879j ROM:987C ajmp ROM_989C ; Absolute Jump ROM:987C ROM:987E ; --------------------------------------------------------------------------- ROM:987E nop ; No operation ROM:987F ajmp ROM_989C+1 ; Absolute Jump ROM:987F ROM:9881 ; --------------------------------------------------------------------------- ROM:9881 mov DPTR, #1618h ; Move (Op1 <- Op2) ROM:9884 clr A ; Clear Operand (0) ROM:9885 movx @DPTR, A ; Move from/to external RAM ROM:9886 inc DPTR ; Increment Operand ROM:9887 movx @DPTR, A ; Move from/to external RAM ROM:9888 mov SCON, #50h ; 'P' ; Serial Port Control ROM:988B mov T2CON, #30h ; '0' ; Timer 2 Control ROM:988E mov T2MOD, A ; Timer 2 Mode ROM:9890 ROM:9890 ROM_9890: ; CODE XREF: ROM:9876j ROM:9890 mov RCAP2H, #0FFh ; Timer 2 Capture High Byte ROM:9893 mov RCAP2L, #0FBh ; 'v' ; Timer 2 Capture Low Byte ROM:9896 setb T2CON.2 ; Timer 2 Control ROM:9898 mov R7, #0E8h ; 'F' ; Move (Op1 <- Op2) ROM:989A mov R6, #3 ; Move (Op1 <- Op2) ROM:989A ROM:989C ROM:989C ROM_989C: ; CODE XREF: ROM:ROM_987Cj ROM:989C ; ROM:987Fj ROM:989C lcall ROM_4D10 ; Long Subroutine Call ROM:989C ROM:989F setb IE.4 ; Interrupt Enable Register 0 ROM:98A1 setb IE.7 ; Interrupt Enable Register 0 ROM:98A3 ret ; Return from subroutine ROM:98A3 ROM:98A4 ; --------------------------------------------------------------------------- ROM:98A4 ROM:98A4 ROM_98A4: ; CODE XREF: ROM:98D8j ROM:98A4 mov DPTR, #6D7h ; Move (Op1 <- Op2) ROM:98A7 mov A, R7 ; Move (Op1 <- Op2) ROM:98A8 movx @DPTR, A ; Move from/to external RAM ROM:98A9 mov R7, #99h ; 'Ö' ; Move (Op1 <- Op2) ROM:98AB lcall ROM_11E6 ; Long Subroutine Call ROM:98AB ROM:98AE mov DPTR, #6D7h ; Move (Op1 <- Op2) ROM:98B1 movx A, @DPTR ; Move from/to external RAM ROM:98B2 mov R7, A ; Move (Op1 <- Op2) ROM:98B3 lcall ROM_11E6 ; Long Subroutine Call ROM:98B3 ROM:98B6 mov DPTR, #6D7h ; Move (Op1 <- Op2) ROM:98B9 movx A, @DPTR ; Move from/to external RAM ROM:98BA mov SBUF, A ; Serial Port Buffer ROM:98BC mov R7, #64h ; 'd' ; Move (Op1 <- Op2) ROM:98BE mov R6, #0 ; Move (Op1 <- Op2) ROM:98C0 ljmp ROM_4D10 ; Long Jump ROM:98C0 ROM:98C3 ; --------------------------------------------------------------------------- ROM:98C3 mov R7, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:98C5 lcall ROM_11E6 ; Long Subroutine Call ROM:98C5 ROM:98C8 mov DPTR, #538h ; Move (Op1 <- Op2) ROM:98CB mov A, SBUF ; Serial Port Buffer ROM:98CD movx @DPTR, A ; Move from/to external RAM ROM:98CE movx A, @DPTR ; Move from/to external RAM ROM:98CF mov R7, A ; Move (Op1 <- Op2) ROM:98D0 lcall ROM_11E6 ; Long Subroutine Call ROM:98D0 ROM:98D3 mov DPTR, #538h ; Move (Op1 <- Op2) ROM:98D6 movx A, @DPTR ; Move from/to external RAM ROM:98D7 mov R7, A ; Move (Op1 <- Op2) ROM:98D8 ljmp ROM_98A4 ; Long Jump ROM:98D8 ROM:98DB ROM:98DB ; =============== S U B R O U T I N E ======================================= ROM:98DB ROM:98DB ROM:98DB ROM_98DB: ; CODE XREF: ROM_A69D+3Bp ROM:98DB ; ROM_A69D+43p ROM:98DB 000 movx A, @DPTR ; Move from/to external RAM ROM:98DC 000 mov R4, A ; Move (Op1 <- Op2) ROM:98DD 000 inc DPTR ; Increment Operand ROM:98DE 000 movx A, @DPTR ; Move from/to external RAM ROM:98DF 000 mov R5, A ; Move (Op1 <- Op2) ROM:98E0 000 mov R6, #5 ; Move (Op1 <- Op2) ROM:98E0 ROM:98E0 ; End of function ROM_98DB ROM:98E0 ROM:98E2 ROM:98E2 ; =============== S U B R O U T I N E ======================================= ROM:98E2 ROM:98E2 ROM:98E2 ROM_98E2: ; CODE XREF: ROM_9999+1C9p ROM:98E2 ; ROM_9BA0+187p ... ROM:98E2 000 mov DPTR, #6D8h ; Move (Op1 <- Op2) ROM:98E5 000 mov A, R6 ; Move (Op1 <- Op2) ROM:98E6 000 movx @DPTR, A ; Move from/to external RAM ROM:98E7 000 inc DPTR ; Increment Operand ROM:98E8 000 mov A, R7 ; Move (Op1 <- Op2) ROM:98E9 000 movx @DPTR, A ; Move from/to external RAM ROM:98EA 000 mov DPTR, #6DAh ; Move (Op1 <- Op2) ROM:98ED 000 mov A, R4 ; Move (Op1 <- Op2) ROM:98EE 000 movx @DPTR, A ; Move from/to external RAM ROM:98EF 000 inc DPTR ; Increment Operand ROM:98F0 000 mov A, R5 ; Move (Op1 <- Op2) ROM:98F1 000 movx @DPTR, A ; Move from/to external RAM ROM:98F2 000 mov DPTR, #6D8h ; Move (Op1 <- Op2) ROM:98F5 000 movx A, @DPTR ; Move from/to external RAM ROM:98F6 000 mov R6, A ; Move (Op1 <- Op2) ROM:98F7 000 inc DPTR ; Increment Operand ROM:98F8 000 movx A, @DPTR ; Move from/to external RAM ROM:98F9 000 mov R5, A ; Move (Op1 <- Op2) ROM:98FA 000 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:98FC 000 mov DPTR, #6DAh ; Move (Op1 <- Op2) ROM:98FF 000 movx A, @DPTR ; Move from/to external RAM ROM:9900 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:9902 000 mov DP0H, R4 ; Data Pointer High Byte ROM:9904 000 movx @DPTR, A ; Move from/to external RAM ROM:9905 000 mov DPTR, #6DAh ; Move (Op1 <- Op2) ROM:9908 000 movx A, @DPTR ; Move from/to external RAM ROM:9909 000 inc DPTR ; Increment Operand ROM:990A 000 movx A, @DPTR ; Move from/to external RAM ROM:990B 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:990D 000 mov DP0H, R4 ; Data Pointer High Byte ROM:990F 000 inc DPTR ; Increment Operand ROM:9910 000 movx @DPTR, A ; Move from/to external RAM ROM:9911 000 ret ; Return from subroutine ROM:9911 ROM:9911 ; End of function ROM_98E2 ROM:9911 ROM:9912 ROM:9912 ; =============== S U B R O U T I N E ======================================= ROM:9912 ROM:9912 ROM:9912 set_GPIO_groupD_and_F: ; CODE XREF: ROM_A61Bp ROM:9912 000 mov DPTR, #163Eh ; GPCRF0- GPCRF7, respectively (Group F) ROM:9915 000 movx A, @DPTR ; Move from/to external RAM ROM:9916 000 anl A, #111111b ; Logical AND (op1 &= op2) ROM:9918 000 movx @DPTR, A ; Move from/to external RAM ROM:9919 000 inc DPTR ; Increment Operand ROM:991A 000 movx A, @DPTR ; Move from/to external RAM ROM:991B 000 anl A, #111111b ; Logical AND (op1 &= op2) ROM:991D 000 movx @DPTR, A ; Move from/to external RAM ROM:991E 000 mov DPTR, #163Eh ; Move (Op1 <- Op2) ROM:9921 000 movx A, @DPTR ; Move from/to external RAM ROM:9922 000 orl A, #100b ; Logical OR (op1 |= op2) ROM:9924 000 movx @DPTR, A ; Move from/to external RAM ROM:9925 000 inc DPTR ; Increment Operand ROM:9926 000 movx A, @DPTR ; Move from/to external RAM ROM:9927 000 orl A, #100b ; Logical OR (op1 |= op2) ROM:9929 000 movx @DPTR, A ; Move from/to external RAM ROM:992A 000 mov DPTR, #162Dh ; GPCRD0- GPCRD7, respectively (Group D) ROM:992D 000 movx A, @DPTR ; Move from/to external RAM ROM:992E 000 anl A, #111111b ; Logical AND (op1 &= op2) ROM:9930 000 movx @DPTR, A ; Move from/to external RAM ROM:9931 000 movx A, @DPTR ; Move from/to external RAM ROM:9932 000 orl A, #100b ; Logical OR (op1 |= op2) ROM:9934 000 movx @DPTR, A ; Move from/to external RAM ROM:9935 000 ret ; Return from subroutine ROM:9935 ROM:9935 ; End of function set_GPIO_groupD_and_F ROM:9935 ROM:9936 ROM:9936 ; =============== S U B R O U T I N E ======================================= ROM:9936 ROM:9936 ROM:9936 set_gating_and_INT28: ; CODE XREF: ROM_A61B+3p ROM:9936 000 mov DPTR, #ECPM_AUTOCG ; Auto Clock Gating ROM:9939 000 mov A, #1110000b ; set: ROM:9939 ; TMKBC clock is gated by TMKCG bit in CGCTRL2R register. ROM:9939 ; CIR clock is gated by CIRCG bit in CGCTRL2R register. ROM:9939 ; PS/2 clock is gated by PS2CG bit in CGCTRL1R register. ROM:9939 ; SMB clock is gated by SMBCG bit in CGCTRL1R register. ROM:9939 ; ROM:9939 ; ROM:993B 000 movx @DPTR, A ; Move from/to external RAM ROM:993C 000 inc DPTR ; Clock Gating Control 3 Register (CGCTRL3R) ROM:993D 000 mov A, #1000001b ; set gating status to: ROM:993D ; R8030TT UART Clock Gating(UARTCG) ROM:993D ; DBGR Clock Gating (DBGRCG) ROM:993D ; ROM:993F 000 movx @DPTR, A ; Move from/to external RAM ROM:9940 000 mov DPTR, #INTC_IELMR3 ; Interrupt Edge/Level-Triggered Mode (IELM31-24) ROM:9940 ; Each bit determines the triggered mode of the corresponding interrupt ROM:9940 ; channel (INT31-24). ROM:9940 ; 0: level-triggered ROM:9940 ; 1: edge-triggered ROM:9943 000 movx A, @DPTR ; Move from/to external RAM ROM:9944 000 anl A, #11101111b ; set level-triggered mode for INT28 ROM:9946 000 movx @DPTR, A ; Move from/to external RAM ROM:9947 000 mov DPTR, #INTC_IPOLR3 ; Interrupt Polarity (IPOL31-24) ROM:9947 ; Each bit determines the active high/low of the corresponding interrupt ROM:9947 ; channel (INT31-24). ROM:9947 ; 0: level-high-triggered or rising-edge-triggered ROM:9947 ; 1: level-low-triggered or falling-edge-triggered ROM:994A 000 movx A, @DPTR ; Move from/to external RAM ROM:994B 000 orl A, #10000b ; set level-low-triggered mode for INT28 ROM:994D 000 movx @DPTR, A ; Move from/to external RAM ROM:994E 000 mov DPTR, #1628h ; Move (Op1 <- Op2) ROM:9951 000 clr A ; Clear Operand (0) ROM:9952 000 movx @DPTR, A ; Move from/to external RAM ROM:9953 000 ret ; Return from subroutine ROM:9953 ROM:9953 ; End of function set_gating_and_INT28 ROM:9953 ROM:9954 ROM:9954 ; =============== S U B R O U T I N E ======================================= ROM:9954 ROM:9954 ROM:9954 set_SMBUS_frequency: ; CODE XREF: ROM_A61B+6p ROM:9954 000 mov DPTR, #SMBUS_4P7USL ; 4.7 µs Low Register (4P7USL) ROM:9954 ; This 4.7 µs Low Register and 4.7 µs high bit (in the 4.7 µs and 4.0 µs High ROM:9954 ; Register) define the count number for the 4.7 µs counter. ROM:9954 ; The 4.7 µs is (count number / FreqEC). ROM:9957 000 mov A, #10101b ; Move (Op1 <- Op2) ROM:9959 000 movx @DPTR, A ; Move from/to external RAM ROM:995A 000 inc DPTR ; 4.0 µs High Register (4P0USH) ROM:995B 000 mov A, #100101b ; Move (Op1 <- Op2) ROM:995D 000 movx @DPTR, A ; Move from/to external RAM ROM:995E 000 inc DPTR ; 300 ns Register (300NS) ROM:995F 000 mov A, #11b ; Move (Op1 <- Op2) ROM:9961 000 movx @DPTR, A ; Move from/to external RAM ROM:9962 000 inc DPTR ; 250 ns Register (250NS) ROM:9963 000 mov A, #10101b ; Move (Op1 <- Op2) ROM:9965 000 movx @DPTR, A ; Move from/to external RAM ROM:9966 000 inc DPTR ; 25 ms Register (25MS) ROM:9967 000 mov A, #11001b ; Move (Op1 <- Op2) ROM:9969 000 movx @DPTR, A ; Move from/to external RAM ROM:996A 000 inc DPTR ; 45.3 µs Low Register (45P3USL) ROM:996B 000 mov A, #10111000b ; Move (Op1 <- Op2) ROM:996D 000 movx @DPTR, A ; Move from/to external RAM ROM:996E 000 inc DPTR ; 45.3 µs High Register (45P3USH) ROM:996F 000 mov A, #1 ; Move (Op1 <- Op2) ROM:9971 000 movx @DPTR, A ; Move from/to external RAM ROM:9972 000 mov DPTR, #SMBUS_4P7A4P0H ; 4.7 µs and 4.0 µs High Register (4P7A4P0H) ROM:9975 000 clr A ; Clear Operand (0) ROM:9976 000 movx @DPTR, A ; Move from/to external RAM ROM:9977 000 ret ; Return from subroutine ROM:9977 ROM:9977 ; End of function set_SMBUS_frequency ROM:9977 ROM:9978 ROM:9978 ; =============== S U B R O U T I N E ======================================= ROM:9978 ROM:9978 ROM:9978 ROM_9978: ROM:9978 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:997A 000 mov DPTR, #6DCh ; Move (Op1 <- Op2) ROM:997D 000 movx @DPTR, A ; Move from/to external RAM ROM:997E 000 inc DPTR ; Increment Operand ROM:997F 000 movx @DPTR, A ; Move from/to external RAM ROM:9980 000 mov DPTR, #6DCh ; Move (Op1 <- Op2) ROM:9983 000 movx A, @DPTR ; Move from/to external RAM ROM:9984 000 mov R6, A ; Move (Op1 <- Op2) ROM:9985 000 inc DPTR ; Increment Operand ROM:9986 000 movx A, @DPTR ; Move from/to external RAM ROM:9987 000 mov R7, A ; Move (Op1 <- Op2) ROM:9988 000 ret ; Return from subroutine ROM:9988 ROM:9988 ; End of function ROM_9978 ROM:9988 ROM:9989 ROM:9989 ; =============== S U B R O U T I N E ======================================= ROM:9989 ROM:9989 ROM:9989 ROM_9989: ROM:9989 000 mov DPTR, #6DEh ; Move (Op1 <- Op2) ROM:998C 000 mov A, R2 ; Move (Op1 <- Op2) ROM:998D 000 movx @DPTR, A ; Move from/to external RAM ROM:998E 000 inc DPTR ; Increment Operand ROM:998F 000 mov A, R3 ; Move (Op1 <- Op2) ROM:9990 000 movx @DPTR, A ; Move from/to external RAM ROM:9991 000 clr A ; Clear Operand (0) ROM:9992 000 mov DPTR, #6DEh ; Move (Op1 <- Op2) ROM:9995 000 movx @DPTR, A ; Move from/to external RAM ROM:9996 000 inc DPTR ; Increment Operand ROM:9997 000 movx @DPTR, A ; Move from/to external RAM ROM:9998 000 ret ; Return from subroutine ROM:9998 ROM:9998 ; End of function ROM_9989 ROM:9998 ROM:9999 ROM:9999 ; =============== S U B R O U T I N E ======================================= ROM:9999 ROM:9999 ROM:9999 ROM_9999: ; CODE XREF: something_with_SRAM+267p ROM:9999 ; something_with_SRAM+4EDp ... ROM:9999 000 mov DPTR, #6E0h ; Move (Op1 <- Op2) ROM:999C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:999D 000 movx @DPTR, A ; Move from/to external RAM ROM:999E 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:99A0 000 inc DPTR ; Increment Operand ROM:99A1 000 movx @DPTR, A ; Move from/to external RAM ROM:99A2 000 inc DPTR ; Increment Operand ROM:99A3 000 movx @DPTR, A ; Move from/to external RAM ROM:99A4 000 mov R3, #29h ; ')' ; Move (Op1 <- Op2) ROM:99A6 000 mov R2, #1Ch ; Move (Op1 <- Op2) ROM:99A8 000 mov DPTR, #6E3h ; Move (Op1 <- Op2) ROM:99AB 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:99AD 000 movx @DPTR, A ; Move from/to external RAM ROM:99AE 000 inc DPTR ; Increment Operand ROM:99AF 000 mov A, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:99B1 000 movx @DPTR, A ; Move from/to external RAM ROM:99B2 000 inc DPTR ; Increment Operand ROM:99B3 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:99B5 000 movx @DPTR, A ; Move from/to external RAM ROM:99B6 000 inc DPTR ; Increment Operand ROM:99B7 000 mov A, #32h ; '2' ; Move (Op1 <- Op2) ROM:99B9 000 movx @DPTR, A ; Move from/to external RAM ROM:99BA 000 inc DPTR ; Increment Operand ROM:99BB 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:99BD 000 movx @DPTR, A ; Move from/to external RAM ROM:99BE 000 inc DPTR ; Increment Operand ROM:99BF 000 mov A, #2Ch ; ',' ; Move (Op1 <- Op2) ROM:99C1 000 movx @DPTR, A ; Move from/to external RAM ROM:99C2 000 inc DPTR ; Increment Operand ROM:99C3 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:99C5 000 movx @DPTR, A ; Move from/to external RAM ROM:99C6 000 inc DPTR ; Increment Operand ROM:99C7 000 mov A, #2Fh ; '/' ; Move (Op1 <- Op2) ROM:99C9 000 movx @DPTR, A ; Move from/to external RAM ROM:99C9 ROM:99CA ROM:99CA ROM_99CA: ; CODE XREF: ROM_9999+1CCj ROM:99CA 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:99CC 000 mov DP0H, R2 ; Data Pointer High Byte ROM:99CE 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:99D0 000 movx @DPTR, A ; Move from/to external RAM ROM:99D1 000 mov DPTR, #6E5h ; Move (Op1 <- Op2) ROM:99D4 000 movx A, @DPTR ; Move from/to external RAM ROM:99D5 000 mov R6, A ; Move (Op1 <- Op2) ROM:99D6 000 inc DPTR ; Increment Operand ROM:99D7 000 movx A, @DPTR ; Move from/to external RAM ROM:99D8 000 mov DP0L, A ; Data Pointer Low Byte ROM:99DA 000 mov DP0H, R6 ; Data Pointer High Byte ROM:99DC 000 mov A, #3 ; Move (Op1 <- Op2) ROM:99DE 000 movx @DPTR, A ; Move from/to external RAM ROM:99DF 000 mov DPTR, #6E7h ; Move (Op1 <- Op2) ROM:99E2 000 movx A, @DPTR ; Move from/to external RAM ROM:99E3 000 mov R6, A ; Move (Op1 <- Op2) ROM:99E4 000 inc DPTR ; Increment Operand ROM:99E5 000 movx A, @DPTR ; Move from/to external RAM ROM:99E6 000 mov DP0L, A ; Data Pointer Low Byte ROM:99E8 000 mov DP0H, R6 ; Data Pointer High Byte ROM:99EA 000 mov A, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:99EC 000 movx @DPTR, A ; Move from/to external RAM ROM:99ED 000 mov DPTR, #6E0h ; Move (Op1 <- Op2) ROM:99F0 000 movx A, @DPTR ; Move from/to external RAM ROM:99F1 000 mov R7, A ; Move (Op1 <- Op2) ROM:99F2 000 mov DPTR, #6E9h ; Move (Op1 <- Op2) ROM:99F5 000 movx A, @DPTR ; Move from/to external RAM ROM:99F6 000 mov R4, A ; Move (Op1 <- Op2) ROM:99F7 000 inc DPTR ; Increment Operand ROM:99F8 000 movx A, @DPTR ; Move from/to external RAM ROM:99F9 000 mov DP0L, A ; Data Pointer Low Byte ROM:99FB 000 mov DP0H, R4 ; Data Pointer High Byte ROM:99FD 000 mov A, R7 ; Move (Op1 <- Op2) ROM:99FE 000 movx @DPTR, A ; Move from/to external RAM ROM:99FF 000 mov DPTR, #6E3h ; Move (Op1 <- Op2) ROM:9A02 000 movx A, @DPTR ; Move from/to external RAM ROM:9A03 000 mov R6, A ; Move (Op1 <- Op2) ROM:9A04 000 inc DPTR ; Increment Operand ROM:9A05 000 movx A, @DPTR ; Move from/to external RAM ROM:9A06 000 mov DP0L, A ; Data Pointer Low Byte ROM:9A08 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9A0A 000 mov A, #5Ch ; '\' ; Move (Op1 <- Op2) ROM:9A0C 000 movx @DPTR, A ; Move from/to external RAM ROM:9A0D 000 clr A ; Clear Operand (0) ROM:9A0E 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:9A0E ROM:9A10 ROM:9A10 ROM_9A10: ; CODE XREF: ROM_9999+ABj ROM:9A10 000 inc RAM_32 ; Increment Operand ROM:9A12 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:9A14 000 clr C ; Clear Operand (0) ROM:9A15 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:9A17 000 jc ROM_9A3F ; Jump if Carry is set ROM:9A17 ROM:9A19 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9A1B 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9A1D 000 movx A, @DPTR ; Move from/to external RAM ROM:9A1E 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:9A20 000 jz ROM_9A3A ; Jump if Acc is zero ROM:9A20 ROM:9A22 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9A24 000 movx @DPTR, A ; Move from/to external RAM ROM:9A25 000 mov DPTR, #6E5h ; Move (Op1 <- Op2) ROM:9A28 000 movx A, @DPTR ; Move from/to external RAM ROM:9A29 000 mov R6, A ; Move (Op1 <- Op2) ROM:9A2A 000 inc DPTR ; Increment Operand ROM:9A2B 000 movx A, @DPTR ; Move from/to external RAM ROM:9A2C 000 mov R7, A ; Move (Op1 <- Op2) ROM:9A2D 000 mov DP0L, A ; Data Pointer Low Byte ROM:9A2F 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9A31 000 clr A ; Clear Operand (0) ROM:9A32 000 movx @DPTR, A ; Move from/to external RAM ROM:9A33 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9A35 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9A37 000 mov A, #3 ; Move (Op1 <- Op2) ROM:9A39 000 movx @DPTR, A ; Move from/to external RAM ROM:9A39 ROM:9A3A ROM:9A3A ROM_9A3A: ; CODE XREF: ROM_9999+87j ROM:9A3A 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9A3C 000 ljmp ROM_9B5C ; Long Jump ROM:9A3C ROM:9A3F ; --------------------------------------------------------------------------- ROM:9A3F ROM:9A3F ROM_9A3F: ; CODE XREF: ROM_9999+7Ej ROM:9A3F 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9A41 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9A43 000 movx A, @DPTR ; Move from/to external RAM ROM:9A44 000 jnb ACC.7, ROM_9A10 ; Accumulator ROM:9A44 ROM:9A47 000 mov DPTR, #6E5h ; Move (Op1 <- Op2) ROM:9A4A 000 movx A, @DPTR ; Move from/to external RAM ROM:9A4B 000 mov R6, A ; Move (Op1 <- Op2) ROM:9A4C 000 inc DPTR ; Increment Operand ROM:9A4D 000 movx A, @DPTR ; Move from/to external RAM ROM:9A4E 000 mov R7, A ; Move (Op1 <- Op2) ROM:9A4F 000 mov DP0L, A ; Data Pointer Low Byte ROM:9A51 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9A53 000 movx A, @DPTR ; Move from/to external RAM ROM:9A54 000 orl A, #0Ch ; Logical OR (op1 |= op2) ROM:9A56 000 movx @DPTR, A ; Move from/to external RAM ROM:9A57 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9A59 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9A5B 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9A5D 000 movx @DPTR, A ; Move from/to external RAM ROM:9A5E 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9A60 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9A62 000 movx A, @DPTR ; Move from/to external RAM ROM:9A63 000 anl A, #2Bh ; Logical AND (op1 &= op2) ROM:9A65 000 movx @DPTR, A ; Move from/to external RAM ROM:9A66 000 clr A ; Clear Operand (0) ROM:9A67 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:9A67 ROM:9A69 ROM:9A69 ROM_9A69: ; CODE XREF: ROM_9999+104j ROM:9A69 000 inc RAM_32 ; Increment Operand ROM:9A6B 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:9A6D 000 clr C ; Clear Operand (0) ROM:9A6E 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:9A70 000 jc ROM_9A98 ; Jump if Carry is set ROM:9A70 ROM:9A72 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9A74 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9A76 000 movx A, @DPTR ; Move from/to external RAM ROM:9A77 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:9A79 000 jz ROM_9A93 ; Jump if Acc is zero ROM:9A79 ROM:9A7B 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9A7D 000 movx @DPTR, A ; Move from/to external RAM ROM:9A7E 000 mov DPTR, #6E5h ; Move (Op1 <- Op2) ROM:9A81 000 movx A, @DPTR ; Move from/to external RAM ROM:9A82 000 mov R6, A ; Move (Op1 <- Op2) ROM:9A83 000 inc DPTR ; Increment Operand ROM:9A84 000 movx A, @DPTR ; Move from/to external RAM ROM:9A85 000 mov R7, A ; Move (Op1 <- Op2) ROM:9A86 000 mov DP0L, A ; Data Pointer Low Byte ROM:9A88 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9A8A 000 clr A ; Clear Operand (0) ROM:9A8B 000 movx @DPTR, A ; Move from/to external RAM ROM:9A8C 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9A8E 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9A90 000 mov A, #3 ; Move (Op1 <- Op2) ROM:9A92 000 movx @DPTR, A ; Move from/to external RAM ROM:9A92 ROM:9A93 ROM:9A93 ROM_9A93: ; CODE XREF: ROM_9999+E0j ROM:9A93 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:9A95 000 ljmp ROM_9B5C ; Long Jump ROM:9A95 ROM:9A98 ; --------------------------------------------------------------------------- ROM:9A98 ROM:9A98 ROM_9A98: ; CODE XREF: ROM_9999+D7j ROM:9A98 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9A9A 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9A9C 000 movx A, @DPTR ; Move from/to external RAM ROM:9A9D 000 jnb ACC.7, ROM_9A69 ; Accumulator ROM:9A9D ROM:9AA0 000 mov DPTR, #6E3h ; Move (Op1 <- Op2) ROM:9AA3 000 movx A, @DPTR ; Move from/to external RAM ROM:9AA4 000 mov R6, A ; Move (Op1 <- Op2) ROM:9AA5 000 inc DPTR ; Increment Operand ROM:9AA6 000 movx A, @DPTR ; Move from/to external RAM ROM:9AA7 000 mov DP0L, A ; Data Pointer Low Byte ROM:9AA9 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9AAB 000 movx A, @DPTR ; Move from/to external RAM ROM:9AAC 000 orl A, #20h ; Logical OR (op1 |= op2) ROM:9AAE 000 movx @DPTR, A ; Move from/to external RAM ROM:9AAF 000 clr A ; Clear Operand (0) ROM:9AB0 000 mov DPTR, #6EDh ; Move (Op1 <- Op2) ROM:9AB3 000 movx @DPTR, A ; Move from/to external RAM ROM:9AB3 ROM:9AB4 ROM:9AB4 ROM_9AB4: ; CODE XREF: ROM_9999+192j ROM:9AB4 000 mov DPTR, #6EDh ; Move (Op1 <- Op2) ROM:9AB7 000 movx A, @DPTR ; Move from/to external RAM ROM:9AB8 000 mov R7, A ; Move (Op1 <- Op2) ROM:9AB9 000 clr C ; Clear Operand (0) ROM:9ABA 000 subb A, #2 ; Subtract Second Operand from Acc with Borrow ROM:9ABC 000 jnc ROM_9B2D ; Jump if Carry is clear ROM:9ABC ROM:9ABE 000 mov DPTR, #6E9h ; Move (Op1 <- Op2) ROM:9AC1 000 movx A, @DPTR ; Move from/to external RAM ROM:9AC2 000 mov R4, A ; Move (Op1 <- Op2) ROM:9AC3 000 inc DPTR ; Increment Operand ROM:9AC4 000 movx A, @DPTR ; Move from/to external RAM ROM:9AC5 000 mov DP0L, A ; Data Pointer Low Byte ROM:9AC7 000 mov DP0H, R4 ; Data Pointer High Byte ROM:9AC9 000 movx A, @DPTR ; Move from/to external RAM ROM:9ACA 000 mov R6, A ; Move (Op1 <- Op2) ROM:9ACB 000 mov A, #0EBh ; 'd' ; Move (Op1 <- Op2) ROM:9ACD 000 add A, R7 ; Add Second Operand to Acc ROM:9ACE 000 mov DP0L, A ; Data Pointer Low Byte ROM:9AD0 000 clr A ; Clear Operand (0) ROM:9AD1 000 addc A, #6 ; Add Second Operand to Acc with carry ROM:9AD3 000 mov DP0H, A ; Data Pointer High Byte ROM:9AD5 000 mov A, R6 ; Move (Op1 <- Op2) ROM:9AD6 000 movx @DPTR, A ; Move from/to external RAM ROM:9AD7 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9AD9 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9ADB 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9ADD 000 movx @DPTR, A ; Move from/to external RAM ROM:9ADE 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9ADF 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:9AE1 000 jz ROM_9B2D ; Jump if Acc is zero ROM:9AE1 ROM:9AE3 000 clr A ; Clear Operand (0) ROM:9AE4 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:9AE4 ROM:9AE6 ROM:9AE6 ROM_9AE6: ; CODE XREF: ROM_9999+189j ROM:9AE6 000 inc RAM_32 ; Increment Operand ROM:9AE8 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:9AEA 000 clr C ; Clear Operand (0) ROM:9AEB 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:9AED 000 jc ROM_9B1D ; Jump if Carry is set ROM:9AED ROM:9AEF 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9AF1 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9AF3 000 movx A, @DPTR ; Move from/to external RAM ROM:9AF4 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:9AF6 000 jz ROM_9B10 ; Jump if Acc is zero ROM:9AF6 ROM:9AF8 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9AFA 000 movx @DPTR, A ; Move from/to external RAM ROM:9AFB 000 mov DPTR, #6E5h ; Move (Op1 <- Op2) ROM:9AFE 000 movx A, @DPTR ; Move from/to external RAM ROM:9AFF 000 mov R6, A ; Move (Op1 <- Op2) ROM:9B00 000 inc DPTR ; Increment Operand ROM:9B01 000 movx A, @DPTR ; Move from/to external RAM ROM:9B02 000 mov R7, A ; Move (Op1 <- Op2) ROM:9B03 000 mov DP0L, A ; Data Pointer Low Byte ROM:9B05 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9B07 000 clr A ; Clear Operand (0) ROM:9B08 000 movx @DPTR, A ; Move from/to external RAM ROM:9B09 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9B0B 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9B0D 000 mov A, #3 ; Move (Op1 <- Op2) ROM:9B0F 000 movx @DPTR, A ; Move from/to external RAM ROM:9B0F ROM:9B10 ROM:9B10 ROM_9B10: ; CODE XREF: ROM_9999+15Dj ROM:9B10 000 mov DPTR, #6EDh ; Move (Op1 <- Op2) ROM:9B13 000 movx A, @DPTR ; Move from/to external RAM ROM:9B14 000 add A, #2 ; Add Second Operand to Acc ROM:9B16 000 mov R5, A ; Move (Op1 <- Op2) ROM:9B17 000 clr A ; Clear Operand (0) ROM:9B18 000 addc A, #0BBh ; '+' ; Add Second Operand to Acc with carry ROM:9B1A 000 mov R4, A ; Move (Op1 <- Op2) ROM:9B1B 000 sjmp ROM_9B5E ; Short jump ROM:9B1B ROM:9B1D ; --------------------------------------------------------------------------- ROM:9B1D ROM:9B1D ROM_9B1D: ; CODE XREF: ROM_9999+154j ROM:9B1D 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9B1F 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9B21 000 movx A, @DPTR ; Move from/to external RAM ROM:9B22 000 jnb ACC.7, ROM_9AE6 ; Accumulator ROM:9B22 ROM:9B25 000 mov DPTR, #6EDh ; Move (Op1 <- Op2) ROM:9B28 000 movx A, @DPTR ; Move from/to external RAM ROM:9B29 000 inc A ; Increment Operand ROM:9B2A 000 movx @DPTR, A ; Move from/to external RAM ROM:9B2B 000 sjmp ROM_9AB4 ; Short jump ROM:9B2B ROM:9B2D ; --------------------------------------------------------------------------- ROM:9B2D ROM:9B2D ROM_9B2D: ; CODE XREF: ROM_9999+123j ROM:9B2D ; ROM_9999+148j ROM:9B2D 000 clr A ; Clear Operand (0) ROM:9B2E 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:9B2E ROM:9B30 ROM:9B30 ROM_9B30: ; CODE XREF: ROM_9999+1D4j ROM:9B30 000 inc RAM_32 ; Increment Operand ROM:9B32 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:9B34 000 clr C ; Clear Operand (0) ROM:9B35 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:9B37 000 jc ROM_9B68 ; Jump if Carry is set ROM:9B37 ROM:9B39 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9B3B 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9B3D 000 movx A, @DPTR ; Move from/to external RAM ROM:9B3E 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:9B40 000 jz ROM_9B5A ; Jump if Acc is zero ROM:9B40 ROM:9B42 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9B44 000 movx @DPTR, A ; Move from/to external RAM ROM:9B45 000 mov DPTR, #6E5h ; Move (Op1 <- Op2) ROM:9B48 000 movx A, @DPTR ; Move from/to external RAM ROM:9B49 000 mov R6, A ; Move (Op1 <- Op2) ROM:9B4A 000 inc DPTR ; Increment Operand ROM:9B4B 000 movx A, @DPTR ; Move from/to external RAM ROM:9B4C 000 mov R7, A ; Move (Op1 <- Op2) ROM:9B4D 000 mov DP0L, A ; Data Pointer Low Byte ROM:9B4F 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9B51 000 clr A ; Clear Operand (0) ROM:9B52 000 movx @DPTR, A ; Move from/to external RAM ROM:9B53 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9B55 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9B57 000 mov A, #3 ; Move (Op1 <- Op2) ROM:9B59 000 movx @DPTR, A ; Move from/to external RAM ROM:9B59 ROM:9B5A ROM:9B5A ROM_9B5A: ; CODE XREF: ROM_9999+1A7j ROM:9B5A 000 mov R5, #5 ; Move (Op1 <- Op2) ROM:9B5A ROM:9B5C ROM:9B5C ROM_9B5C: ; CODE XREF: ROM_9999+A3j ROM:9B5C ; ROM_9999+FCj ROM:9B5C 000 mov R4, #0BBh ; '+' ; Move (Op1 <- Op2) ROM:9B5C ROM:9B5E ROM:9B5E ROM_9B5E: ; CODE XREF: ROM_9999+182j ROM:9B5E 000 mov R7, #6 ; Move (Op1 <- Op2) ROM:9B60 000 mov R6, #5 ; Move (Op1 <- Op2) ROM:9B62 000 lcall ROM_98E2 ; Long Subroutine Call ROM:9B62 ROM:9B65 000 ljmp ROM_99CA ; Long Jump ROM:9B65 ROM:9B68 ; --------------------------------------------------------------------------- ROM:9B68 ROM:9B68 ROM_9B68: ; CODE XREF: ROM_9999+19Ej ROM:9B68 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9B6A 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9B6C 000 movx A, @DPTR ; Move from/to external RAM ROM:9B6D 000 jnb ACC.1, ROM_9B30 ; Accumulator ROM:9B6D ROM:9B70 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9B72 000 movx @DPTR, A ; Move from/to external RAM ROM:9B73 000 mov DPTR, #6EBh ; Move (Op1 <- Op2) ROM:9B76 000 movx A, @DPTR ; Move from/to external RAM ROM:9B77 000 mov R7, A ; Move (Op1 <- Op2) ROM:9B78 000 mov DPTR, #6E1h ; Move (Op1 <- Op2) ROM:9B7B 000 clr A ; Clear Operand (0) ROM:9B7C 000 movx @DPTR, A ; Move from/to external RAM ROM:9B7D 000 inc DPTR ; Increment Operand ROM:9B7E 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9B7F 000 movx @DPTR, A ; Move from/to external RAM ROM:9B80 000 mov DPTR, #6ECh ; Move (Op1 <- Op2) ROM:9B83 000 movx A, @DPTR ; Move from/to external RAM ROM:9B84 000 mov R6, A ; Move (Op1 <- Op2) ROM:9B85 000 mov DPTR, #6E1h ; Move (Op1 <- Op2) ROM:9B88 000 movx A, @DPTR ; Move from/to external RAM ROM:9B89 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:9B8A 000 movx @DPTR, A ; Move from/to external RAM ROM:9B8B 000 inc DPTR ; Increment Operand ROM:9B8C 000 movx A, @DPTR ; Move from/to external RAM ROM:9B8D 000 movx @DPTR, A ; Move from/to external RAM ROM:9B8E 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:9B90 000 lcall ROM_4D41 ; Long Subroutine Call ROM:9B90 ROM:9B93 000 mov DPTR, #6E1h ; Move (Op1 <- Op2) ROM:9B96 000 movx A, @DPTR ; Move from/to external RAM ROM:9B97 000 mov R6, A ; Move (Op1 <- Op2) ROM:9B98 000 inc DPTR ; Increment Operand ROM:9B99 000 movx A, @DPTR ; Move from/to external RAM ROM:9B9A 000 mov R7, A ; Move (Op1 <- Op2) ROM:9B9B 000 ret ; Return from subroutine ROM:9B9B ROM:9B9B ; End of function ROM_9999 ROM:9B9B ROM:9B9C ROM:9B9C ; =============== S U B R O U T I N E ======================================= ROM:9B9C ROM:9B9C ROM:9B9C ROM_9B9C: ; CODE XREF: something_with_SRAM+173p ROM:9B9C ; something_with_SRAM+178p ROM:9B9C 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9B9E 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9B9E ROM:9B9E ; End of function ROM_9B9C ROM:9B9E ROM:9BA0 ROM:9BA0 ; =============== S U B R O U T I N E ======================================= ROM:9BA0 ROM:9BA0 ROM:9BA0 ROM_9BA0: ; CODE XREF: something_with_SRAM+84p ROM:9BA0 ; something_with_SRAM+8Dp ... ROM:9BA0 000 mov DPTR, #6EEh ; Move (Op1 <- Op2) ROM:9BA3 000 mov A, R4 ; Move (Op1 <- Op2) ROM:9BA4 000 movx @DPTR, A ; Move from/to external RAM ROM:9BA5 000 inc DPTR ; Increment Operand ROM:9BA6 000 mov A, R5 ; Move (Op1 <- Op2) ROM:9BA7 000 movx @DPTR, A ; Move from/to external RAM ROM:9BA8 000 mov DPTR, #6F8h ; Move (Op1 <- Op2) ROM:9BAB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9BAC 000 movx @DPTR, A ; Move from/to external RAM ROM:9BAD 000 mov DPTR, #6EEh ; Move (Op1 <- Op2) ROM:9BB0 000 movx A, @DPTR ; Move from/to external RAM ROM:9BB1 000 inc DPTR ; Increment Operand ROM:9BB2 000 movx A, @DPTR ; Move from/to external RAM ROM:9BB3 000 mov DPTR, #6F9h ; Move (Op1 <- Op2) ROM:9BB6 000 movx @DPTR, A ; Move from/to external RAM ROM:9BB7 000 mov DPTR, #6EEh ; Move (Op1 <- Op2) ROM:9BBA 000 movx A, @DPTR ; Move from/to external RAM ROM:9BBB 000 mov DPTR, #6FAh ; Move (Op1 <- Op2) ROM:9BBE 000 movx @DPTR, A ; Move from/to external RAM ROM:9BBF 000 mov R3, #29h ; ')' ; Move (Op1 <- Op2) ROM:9BC1 000 mov R2, #1Ch ; Move (Op1 <- Op2) ROM:9BC3 000 mov DPTR, #6F0h ; Move (Op1 <- Op2) ROM:9BC6 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:9BC8 000 movx @DPTR, A ; Move from/to external RAM ROM:9BC9 000 inc DPTR ; Increment Operand ROM:9BCA 000 mov A, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:9BCC 000 movx @DPTR, A ; Move from/to external RAM ROM:9BCD 000 inc DPTR ; Increment Operand ROM:9BCE 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:9BD0 000 movx @DPTR, A ; Move from/to external RAM ROM:9BD1 000 inc DPTR ; Increment Operand ROM:9BD2 000 mov A, #32h ; '2' ; Move (Op1 <- Op2) ROM:9BD4 000 movx @DPTR, A ; Move from/to external RAM ROM:9BD5 000 inc DPTR ; Increment Operand ROM:9BD6 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:9BD8 000 movx @DPTR, A ; Move from/to external RAM ROM:9BD9 000 inc DPTR ; Increment Operand ROM:9BDA 000 mov A, #2Ch ; ',' ; Move (Op1 <- Op2) ROM:9BDC 000 movx @DPTR, A ; Move from/to external RAM ROM:9BDD 000 inc DPTR ; Increment Operand ROM:9BDE 000 mov A, #1Ch ; Move (Op1 <- Op2) ROM:9BE0 000 movx @DPTR, A ; Move from/to external RAM ROM:9BE1 000 inc DPTR ; Increment Operand ROM:9BE2 000 mov A, #2Fh ; '/' ; Move (Op1 <- Op2) ROM:9BE4 000 movx @DPTR, A ; Move from/to external RAM ROM:9BE4 ROM:9BE5 ROM:9BE5 ROM_9BE5: ; CODE XREF: ROM_9BA0+18Aj ROM:9BE5 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9BE7 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9BE9 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9BEB 000 movx @DPTR, A ; Move from/to external RAM ROM:9BEC 000 mov DPTR, #6F2h ; Move (Op1 <- Op2) ROM:9BEF 000 movx A, @DPTR ; Move from/to external RAM ROM:9BF0 000 mov R6, A ; Move (Op1 <- Op2) ROM:9BF1 000 inc DPTR ; Increment Operand ROM:9BF2 000 movx A, @DPTR ; Move from/to external RAM ROM:9BF3 000 mov DP0L, A ; Data Pointer Low Byte ROM:9BF5 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9BF7 000 mov A, #3 ; Move (Op1 <- Op2) ROM:9BF9 000 movx @DPTR, A ; Move from/to external RAM ROM:9BFA 000 mov DPTR, #6F4h ; Move (Op1 <- Op2) ROM:9BFD 000 movx A, @DPTR ; Move from/to external RAM ROM:9BFE 000 mov R6, A ; Move (Op1 <- Op2) ROM:9BFF 000 inc DPTR ; Increment Operand ROM:9C00 000 movx A, @DPTR ; Move from/to external RAM ROM:9C01 000 mov DP0L, A ; Data Pointer Low Byte ROM:9C03 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9C05 000 mov A, #8Ch ; 'î' ; Move (Op1 <- Op2) ROM:9C07 000 movx @DPTR, A ; Move from/to external RAM ROM:9C08 000 mov DPTR, #6F8h ; Move (Op1 <- Op2) ROM:9C0B 000 movx A, @DPTR ; Move from/to external RAM ROM:9C0C 000 mov R7, A ; Move (Op1 <- Op2) ROM:9C0D 000 mov DPTR, #6F6h ; Move (Op1 <- Op2) ROM:9C10 000 movx A, @DPTR ; Move from/to external RAM ROM:9C11 000 mov R4, A ; Move (Op1 <- Op2) ROM:9C12 000 inc DPTR ; Increment Operand ROM:9C13 000 movx A, @DPTR ; Move from/to external RAM ROM:9C14 000 mov DP0L, A ; Data Pointer Low Byte ROM:9C16 000 mov DP0H, R4 ; Data Pointer High Byte ROM:9C18 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9C19 000 movx @DPTR, A ; Move from/to external RAM ROM:9C1A 000 mov DPTR, #6F0h ; Move (Op1 <- Op2) ROM:9C1D 000 movx A, @DPTR ; Move from/to external RAM ROM:9C1E 000 mov R6, A ; Move (Op1 <- Op2) ROM:9C1F 000 inc DPTR ; Increment Operand ROM:9C20 000 movx A, @DPTR ; Move from/to external RAM ROM:9C21 000 mov DP0L, A ; Data Pointer Low Byte ROM:9C23 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9C25 000 mov A, #5Ch ; '\' ; Move (Op1 <- Op2) ROM:9C27 000 movx @DPTR, A ; Move from/to external RAM ROM:9C28 000 clr A ; Clear Operand (0) ROM:9C29 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:9C29 ROM:9C2B ROM:9C2B ROM_9C2B: ; CODE XREF: ROM_9BA0+BFj ROM:9C2B 000 inc RAM_32 ; Increment Operand ROM:9C2D 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:9C2F 000 clr C ; Clear Operand (0) ROM:9C30 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:9C32 000 jc ROM_9C5A ; Jump if Carry is set ROM:9C32 ROM:9C34 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9C36 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9C38 000 movx A, @DPTR ; Move from/to external RAM ROM:9C39 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:9C3B 000 jz ROM_9C55 ; Jump if Acc is zero ROM:9C3B ROM:9C3D 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9C3F 000 movx @DPTR, A ; Move from/to external RAM ROM:9C40 000 mov DPTR, #6F2h ; Move (Op1 <- Op2) ROM:9C43 000 movx A, @DPTR ; Move from/to external RAM ROM:9C44 000 mov R6, A ; Move (Op1 <- Op2) ROM:9C45 000 inc DPTR ; Increment Operand ROM:9C46 000 movx A, @DPTR ; Move from/to external RAM ROM:9C47 000 mov R7, A ; Move (Op1 <- Op2) ROM:9C48 000 mov DP0L, A ; Data Pointer Low Byte ROM:9C4A 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9C4C 000 clr A ; Clear Operand (0) ROM:9C4D 000 movx @DPTR, A ; Move from/to external RAM ROM:9C4E 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9C50 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9C52 000 mov A, #3 ; Move (Op1 <- Op2) ROM:9C54 000 movx @DPTR, A ; Move from/to external RAM ROM:9C54 ROM:9C55 ROM:9C55 ROM_9C55: ; CODE XREF: ROM_9BA0+9Bj ROM:9C55 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9C57 000 ljmp ROM_9D21 ; Long Jump ROM:9C57 ROM:9C5A ; --------------------------------------------------------------------------- ROM:9C5A ROM:9C5A ROM_9C5A: ; CODE XREF: ROM_9BA0+92j ROM:9C5A 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9C5C 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9C5E 000 movx A, @DPTR ; Move from/to external RAM ROM:9C5F 000 jnb ACC.7, ROM_9C2B ; Accumulator ROM:9C5F ROM:9C62 000 mov DPTR, #6FBh ; Move (Op1 <- Op2) ROM:9C65 000 mov A, #1 ; Move (Op1 <- Op2) ROM:9C67 000 movx @DPTR, A ; Move from/to external RAM ROM:9C67 ROM:9C68 ROM:9C68 ROM_9C68: ; CODE XREF: ROM_9BA0+13Aj ROM:9C68 000 mov DPTR, #6FBh ; Move (Op1 <- Op2) ROM:9C6B 000 movx A, @DPTR ; Move from/to external RAM ROM:9C6C 000 mov R7, A ; Move (Op1 <- Op2) ROM:9C6D 000 clr C ; Clear Operand (0) ROM:9C6E 000 subb A, #3 ; Subtract Second Operand from Acc with Borrow ROM:9C70 000 jnc ROM_9CDC ; Jump if Carry is clear ROM:9C70 ROM:9C72 000 mov A, #0F8h ; '°' ; Move (Op1 <- Op2) ROM:9C74 000 add A, R7 ; Add Second Operand to Acc ROM:9C75 000 mov DP0L, A ; Data Pointer Low Byte ROM:9C77 000 clr A ; Clear Operand (0) ROM:9C78 000 addc A, #6 ; Add Second Operand to Acc with carry ROM:9C7A 000 mov DP0H, A ; Data Pointer High Byte ROM:9C7C 000 movx A, @DPTR ; Move from/to external RAM ROM:9C7D 000 mov R7, A ; Move (Op1 <- Op2) ROM:9C7E 000 mov DPTR, #6F6h ; Move (Op1 <- Op2) ROM:9C81 000 movx A, @DPTR ; Move from/to external RAM ROM:9C82 000 mov R4, A ; Move (Op1 <- Op2) ROM:9C83 000 inc DPTR ; Increment Operand ROM:9C84 000 movx A, @DPTR ; Move from/to external RAM ROM:9C85 000 mov DP0L, A ; Data Pointer Low Byte ROM:9C87 000 mov DP0H, R4 ; Data Pointer High Byte ROM:9C89 000 mov A, R7 ; Move (Op1 <- Op2) ROM:9C8A 000 movx @DPTR, A ; Move from/to external RAM ROM:9C8B 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9C8D 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9C8F 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9C91 000 movx @DPTR, A ; Move from/to external RAM ROM:9C92 000 clr A ; Clear Operand (0) ROM:9C93 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:9C93 ROM:9C95 ROM:9C95 ROM_9C95: ; CODE XREF: ROM_9BA0+131j ROM:9C95 000 inc RAM_32 ; Increment Operand ROM:9C97 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:9C99 000 clr C ; Clear Operand (0) ROM:9C9A 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:9C9C 000 jc ROM_9CCC ; Jump if Carry is set ROM:9C9C ROM:9C9E 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9CA0 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9CA2 000 movx A, @DPTR ; Move from/to external RAM ROM:9CA3 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:9CA5 000 jz ROM_9CBF ; Jump if Acc is zero ROM:9CA5 ROM:9CA7 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9CA9 000 movx @DPTR, A ; Move from/to external RAM ROM:9CAA 000 mov DPTR, #6F2h ; Move (Op1 <- Op2) ROM:9CAD 000 movx A, @DPTR ; Move from/to external RAM ROM:9CAE 000 mov R6, A ; Move (Op1 <- Op2) ROM:9CAF 000 inc DPTR ; Increment Operand ROM:9CB0 000 movx A, @DPTR ; Move from/to external RAM ROM:9CB1 000 mov R7, A ; Move (Op1 <- Op2) ROM:9CB2 000 mov DP0L, A ; Data Pointer Low Byte ROM:9CB4 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9CB6 000 clr A ; Clear Operand (0) ROM:9CB7 000 movx @DPTR, A ; Move from/to external RAM ROM:9CB8 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9CBA 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9CBC 000 mov A, #3 ; Move (Op1 <- Op2) ROM:9CBE 000 movx @DPTR, A ; Move from/to external RAM ROM:9CBE ROM:9CBF ROM:9CBF ROM_9CBF: ; CODE XREF: ROM_9BA0+105j ROM:9CBF 000 mov DPTR, #6FBh ; Move (Op1 <- Op2) ROM:9CC2 000 movx A, @DPTR ; Move from/to external RAM ROM:9CC3 000 add A, #0 ; Add Second Operand to Acc ROM:9CC5 000 mov R5, A ; Move (Op1 <- Op2) ROM:9CC6 000 clr A ; Clear Operand (0) ROM:9CC7 000 addc A, #0AAh ; '¬' ; Add Second Operand to Acc with carry ROM:9CC9 000 mov R4, A ; Move (Op1 <- Op2) ROM:9CCA 000 sjmp ROM_9D23 ; Short jump ROM:9CCA ROM:9CCC ; --------------------------------------------------------------------------- ROM:9CCC ROM:9CCC ROM_9CCC: ; CODE XREF: ROM_9BA0+FCj ROM:9CCC 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9CCE 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9CD0 000 movx A, @DPTR ; Move from/to external RAM ROM:9CD1 000 jnb ACC.7, ROM_9C95 ; Accumulator ROM:9CD1 ROM:9CD4 000 mov DPTR, #6FBh ; Move (Op1 <- Op2) ROM:9CD7 000 movx A, @DPTR ; Move from/to external RAM ROM:9CD8 000 inc A ; Increment Operand ROM:9CD9 000 movx @DPTR, A ; Move from/to external RAM ROM:9CDA 000 sjmp ROM_9C68 ; Short jump ROM:9CDA ROM:9CDC ; --------------------------------------------------------------------------- ROM:9CDC ROM:9CDC ROM_9CDC: ; CODE XREF: ROM_9BA0+D0j ROM:9CDC 000 mov DPTR, #6F2h ; Move (Op1 <- Op2) ROM:9CDF 000 movx A, @DPTR ; Move from/to external RAM ROM:9CE0 000 mov R6, A ; Move (Op1 <- Op2) ROM:9CE1 000 inc DPTR ; Increment Operand ROM:9CE2 000 movx A, @DPTR ; Move from/to external RAM ROM:9CE3 000 mov DP0L, A ; Data Pointer Low Byte ROM:9CE5 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9CE7 000 movx A, @DPTR ; Move from/to external RAM ROM:9CE8 000 anl A, #0FDh ; Logical AND (op1 &= op2) ROM:9CEA 000 movx @DPTR, A ; Move from/to external RAM ROM:9CEB 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9CED 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9CEF 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9CF1 000 movx @DPTR, A ; Move from/to external RAM ROM:9CF2 000 clr A ; Clear Operand (0) ROM:9CF3 000 mov RAM_32, A ; Move (Op1 <- Op2) ROM:9CF3 ROM:9CF5 ROM:9CF5 ROM_9CF5: ; CODE XREF: ROM_9BA0+192j ROM:9CF5 000 inc RAM_32 ; Increment Operand ROM:9CF7 000 mov A, RAM_32 ; Move (Op1 <- Op2) ROM:9CF9 000 clr C ; Clear Operand (0) ROM:9CFA 000 subb A, #0C8h ; '+' ; Subtract Second Operand from Acc with Borrow ROM:9CFC 000 jc ROM_9D2D ; Jump if Carry is set ROM:9CFC ROM:9CFE 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9D00 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9D02 000 movx A, @DPTR ; Move from/to external RAM ROM:9D03 000 anl A, #1Ch ; Logical AND (op1 &= op2) ROM:9D05 000 jz ROM_9D1F ; Jump if Acc is zero ROM:9D05 ROM:9D07 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9D09 000 movx @DPTR, A ; Move from/to external RAM ROM:9D0A 000 mov DPTR, #6F2h ; Move (Op1 <- Op2) ROM:9D0D 000 movx A, @DPTR ; Move from/to external RAM ROM:9D0E 000 mov R6, A ; Move (Op1 <- Op2) ROM:9D0F 000 inc DPTR ; Increment Operand ROM:9D10 000 movx A, @DPTR ; Move from/to external RAM ROM:9D11 000 mov R7, A ; Move (Op1 <- Op2) ROM:9D12 000 mov DP0L, A ; Data Pointer Low Byte ROM:9D14 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9D16 000 clr A ; Clear Operand (0) ROM:9D17 000 movx @DPTR, A ; Move from/to external RAM ROM:9D18 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:9D1A 000 mov DP0H, R6 ; Data Pointer High Byte ROM:9D1C 000 mov A, #3 ; Move (Op1 <- Op2) ROM:9D1E 000 movx @DPTR, A ; Move from/to external RAM ROM:9D1E ROM:9D1F ROM:9D1F ROM_9D1F: ; CODE XREF: ROM_9BA0+165j ROM:9D1F 000 mov R5, #5 ; Move (Op1 <- Op2) ROM:9D1F ROM:9D21 ROM:9D21 ROM_9D21: ; CODE XREF: ROM_9BA0+B7j ROM:9D21 000 mov R4, #0AAh ; '¬' ; Move (Op1 <- Op2) ROM:9D21 ROM:9D23 ROM:9D23 ROM_9D23: ; CODE XREF: ROM_9BA0+12Aj ROM:9D23 000 mov R7, #3 ; Move (Op1 <- Op2) ROM:9D25 000 mov R6, #5 ; Move (Op1 <- Op2) ROM:9D27 000 lcall ROM_98E2 ; Long Subroutine Call ROM:9D27 ROM:9D2A 000 ljmp ROM_9BE5 ; Long Jump ROM:9D2A ROM:9D2D ; --------------------------------------------------------------------------- ROM:9D2D ROM:9D2D ROM_9D2D: ; CODE XREF: ROM_9BA0+15Cj ROM:9D2D 000 mov DP0L, R3 ; Data Pointer Low Byte ROM:9D2F 000 mov DP0H, R2 ; Data Pointer High Byte ROM:9D31 000 movx A, @DPTR ; Move from/to external RAM ROM:9D32 000 jnb ACC.1, ROM_9CF5 ; Accumulator ROM:9D32 ROM:9D35 000 mov A, #0FEh ; '¦' ; Move (Op1 <- Op2) ROM:9D37 000 movx @DPTR, A ; Move from/to external RAM ROM:9D38 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:9D3A 000 ljmp ROM_4D41 ; Long Jump ROM:9D3A ROM:9D3A ; End of function ROM_9BA0 ROM:9D3A ROM:9D3D ROM:9D3D ; =============== S U B R O U T I N E ======================================= ROM:9D3D ROM:9D3D ROM:9D3D something_with_SRAM: ; CODE XREF: ROM_A61B+9p ROM:9D3D 000 clr A ; Clear Operand (0) ROM:9D3E 000 mov DPTR, #0F00h ; Scratch SRAM No 4 (256 byte) ROM:9D41 000 movx @DPTR, A ; start clear first 9 byte of SRAM ROM:9D42 000 inc DPTR ; Increment Operand ROM:9D43 000 movx @DPTR, A ; Move from/to external RAM ROM:9D44 000 mov DPTR, #0F02h ; Move (Op1 <- Op2) ROM:9D47 000 movx @DPTR, A ; Move from/to external RAM ROM:9D48 000 inc DPTR ; Increment Operand ROM:9D49 000 movx @DPTR, A ; Move from/to external RAM ROM:9D4A 000 mov DPTR, #0F04h ; Move (Op1 <- Op2) ROM:9D4D 000 movx @DPTR, A ; Move from/to external RAM ROM:9D4E 000 inc DPTR ; Increment Operand ROM:9D4F 000 movx @DPTR, A ; Move from/to external RAM ROM:9D50 000 mov DPTR, #0F06h ; Move (Op1 <- Op2) ROM:9D53 000 movx @DPTR, A ; Move from/to external RAM ROM:9D54 000 inc DPTR ; Increment Operand ROM:9D55 000 movx @DPTR, A ; Move from/to external RAM ROM:9D56 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:9D59 000 movx @DPTR, A ; end clear first 9 byte of SRAM ROM:9D5A 000 inc DPTR ; Increment Operand ROM:9D5B 000 inc A ; Increment Operand ROM:9D5C 000 movx @DPTR, A ; Move from/to external RAM ROM:9D5D 000 mov DPTR, #0F0Ah ; Move (Op1 <- Op2) ROM:9D60 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9D62 000 movx @DPTR, A ; Move from/to external RAM ROM:9D63 000 inc DPTR ; Increment Operand ROM:9D64 000 mov A, #11h ; Move (Op1 <- Op2) ROM:9D66 000 movx @DPTR, A ; Move from/to external RAM ROM:9D67 000 mov DPTR, #0F0Ch ; Move (Op1 <- Op2) ROM:9D6A 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9D6C 000 movx @DPTR, A ; Move from/to external RAM ROM:9D6D 000 inc DPTR ; Increment Operand ROM:9D6E 000 mov A, #22h ; '"' ; Move (Op1 <- Op2) ROM:9D70 000 movx @DPTR, A ; Move from/to external RAM ROM:9D71 000 mov DPTR, #0F0Eh ; Move (Op1 <- Op2) ROM:9D74 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9D76 000 movx @DPTR, A ; Move from/to external RAM ROM:9D77 000 inc DPTR ; Increment Operand ROM:9D78 000 mov A, #33h ; '3' ; Move (Op1 <- Op2) ROM:9D7A 000 movx @DPTR, A ; Move from/to external RAM ROM:9D7B 000 clr A ; Clear Operand (0) ROM:9D7C 000 mov DPTR, #0F10h ; Move (Op1 <- Op2) ROM:9D7F 000 movx @DPTR, A ; Move from/to external RAM ROM:9D80 000 inc DPTR ; Increment Operand ROM:9D81 000 movx @DPTR, A ; Move from/to external RAM ROM:9D82 000 mov DPTR, #0F12h ; Move (Op1 <- Op2) ROM:9D85 000 movx @DPTR, A ; Move from/to external RAM ROM:9D86 000 inc DPTR ; Increment Operand ROM:9D87 000 movx @DPTR, A ; Move from/to external RAM ROM:9D88 000 mov DPTR, #0F14h ; Move (Op1 <- Op2) ROM:9D8B 000 movx @DPTR, A ; Move from/to external RAM ROM:9D8C 000 inc DPTR ; Increment Operand ROM:9D8D 000 movx @DPTR, A ; Move from/to external RAM ROM:9D8E 000 mov DPTR, #0F16h ; Move (Op1 <- Op2) ROM:9D91 000 movx @DPTR, A ; Move from/to external RAM ROM:9D92 000 inc DPTR ; Increment Operand ROM:9D93 000 movx @DPTR, A ; Move from/to external RAM ROM:9D94 000 mov DPTR, #0F18h ; Move (Op1 <- Op2) ROM:9D97 000 movx @DPTR, A ; Move from/to external RAM ROM:9D98 000 inc DPTR ; Increment Operand ROM:9D99 000 movx @DPTR, A ; Move from/to external RAM ROM:9D9A 000 mov DPTR, #0F1Ah ; Move (Op1 <- Op2) ROM:9D9D 000 movx @DPTR, A ; Move from/to external RAM ROM:9D9E 000 inc DPTR ; Increment Operand ROM:9D9F 000 movx @DPTR, A ; Move from/to external RAM ROM:9DA0 000 mov DPTR, #0F1Ch ; Move (Op1 <- Op2) ROM:9DA3 000 movx @DPTR, A ; Move from/to external RAM ROM:9DA4 000 inc DPTR ; Increment Operand ROM:9DA5 000 movx @DPTR, A ; Move from/to external RAM ROM:9DA6 000 mov DPTR, #0F1Eh ; Move (Op1 <- Op2) ROM:9DA9 000 movx @DPTR, A ; Move from/to external RAM ROM:9DAA 000 inc DPTR ; Increment Operand ROM:9DAB 000 movx @DPTR, A ; Move from/to external RAM ROM:9DAC 000 mov DPTR, #0F20h ; Move (Op1 <- Op2) ROM:9DAF 000 movx @DPTR, A ; Move from/to external RAM ROM:9DB0 000 inc DPTR ; Increment Operand ROM:9DB1 000 movx @DPTR, A ; Move from/to external RAM ROM:9DB2 000 mov DPTR, #0F22h ; Move (Op1 <- Op2) ROM:9DB5 000 movx @DPTR, A ; Move from/to external RAM ROM:9DB6 000 inc DPTR ; Increment Operand ROM:9DB7 000 movx @DPTR, A ; Move from/to external RAM ROM:9DB8 000 mov DPTR, #591h ; Move (Op1 <- Op2) ROM:9DBB 000 inc A ; Increment Operand ROM:9DBC 000 movx @DPTR, A ; Move from/to external RAM ROM:9DBD 000 clr A ; Clear Operand (0) ROM:9DBE 000 mov R5, A ; Move (Op1 <- Op2) ROM:9DBF 000 mov R4, A ; Move (Op1 <- Op2) ROM:9DC0 000 mov R7, A ; Move (Op1 <- Op2) ROM:9DC1 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9DC1 ROM:9DC4 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9DC6 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9DC8 000 mov R7, #35h ; '5' ; Move (Op1 <- Op2) ROM:9DCA 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9DCA ROM:9DCD 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9DCF 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9DD1 000 mov R7, #45h ; 'E' ; Move (Op1 <- Op2) ROM:9DD3 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9DD3 ROM:9DD6 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9DD8 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9DDA 000 mov R7, #55h ; 'U' ; Move (Op1 <- Op2) ROM:9DDC 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9DDC ROM:9DDF 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9DE1 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9DE3 000 mov R7, #65h ; 'e' ; Move (Op1 <- Op2) ROM:9DE5 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9DE5 ROM:9DE8 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9DEA 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9DEC 000 mov R7, #75h ; 'u' ; Move (Op1 <- Op2) ROM:9DEE 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9DEE ROM:9DF1 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9DF3 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9DF5 000 mov R7, #85h ; 'à' ; Move (Op1 <- Op2) ROM:9DF7 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9DF7 ROM:9DFA 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9DFC 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9DFE 000 mov R7, #95h ; 'ò' ; Move (Op1 <- Op2) ROM:9E00 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E00 ROM:9E03 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E05 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9E07 000 mov R7, #0A5h ; 'Ñ' ; Move (Op1 <- Op2) ROM:9E09 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E09 ROM:9E0C 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E0E 000 mov R4, #15h ; Move (Op1 <- Op2) ROM:9E10 000 mov R7, #0B5h ; '¦' ; Move (Op1 <- Op2) ROM:9E12 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E12 ROM:9E15 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E17 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9E19 000 mov R7, #0C5h ; '+' ; Move (Op1 <- Op2) ROM:9E1B 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E1B ROM:9E1E 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E20 000 mov R4, #25h ; '%' ; Move (Op1 <- Op2) ROM:9E22 000 mov R7, #0D5h ; '+' ; Move (Op1 <- Op2) ROM:9E24 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E24 ROM:9E27 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E29 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9E2B 000 mov R7, #0E5h ; 's' ; Move (Op1 <- Op2) ROM:9E2D 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E2D ROM:9E30 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E32 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9E34 000 mov R7, #0F5h ; ')' ; Move (Op1 <- Op2) ROM:9E36 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E36 ROM:9E39 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E3B 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9E3D 000 mov R7, #36h ; '6' ; Move (Op1 <- Op2) ROM:9E3F 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E3F ROM:9E42 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E44 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9E46 000 mov R7, #46h ; 'F' ; Move (Op1 <- Op2) ROM:9E48 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E48 ROM:9E4B 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E4D 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9E4F 000 mov R7, #56h ; 'V' ; Move (Op1 <- Op2) ROM:9E51 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E51 ROM:9E54 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E56 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9E58 000 mov R7, #66h ; 'f' ; Move (Op1 <- Op2) ROM:9E5A 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E5A ROM:9E5D 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E5F 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9E61 000 mov R7, #76h ; 'v' ; Move (Op1 <- Op2) ROM:9E63 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E63 ROM:9E66 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E68 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9E6A 000 mov R7, #86h ; 'å' ; Move (Op1 <- Op2) ROM:9E6C 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E6C ROM:9E6F 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E71 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9E73 000 mov R7, #96h ; 'û' ; Move (Op1 <- Op2) ROM:9E75 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E75 ROM:9E78 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E7A 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9E7C 000 mov R7, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:9E7E 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E7E ROM:9E81 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E83 000 mov R4, #15h ; Move (Op1 <- Op2) ROM:9E85 000 mov R7, #0B6h ; '¦' ; Move (Op1 <- Op2) ROM:9E87 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E87 ROM:9E8A 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E8C 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9E8E 000 mov R7, #0C6h ; '¦' ; Move (Op1 <- Op2) ROM:9E90 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E90 ROM:9E93 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E95 000 mov R4, #25h ; '%' ; Move (Op1 <- Op2) ROM:9E97 000 mov R7, #0D6h ; '+' ; Move (Op1 <- Op2) ROM:9E99 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9E99 ROM:9E9C 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9E9E 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9EA0 000 mov R7, #0E6h ; 'µ' ; Move (Op1 <- Op2) ROM:9EA2 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9EA2 ROM:9EA5 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9EA7 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:9EA9 000 mov R7, #0F6h ; '÷' ; Move (Op1 <- Op2) ROM:9EAB 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9EAB ROM:9EAE 000 mov R7, #33h ; '3' ; Move (Op1 <- Op2) ROM:9EB0 000 lcall ROM_9B9C ; Long Subroutine Call ROM:9EB0 ROM:9EB3 000 mov R7, #43h ; 'C' ; Move (Op1 <- Op2) ROM:9EB5 000 lcall ROM_9B9C ; Long Subroutine Call ROM:9EB5 ROM:9EB8 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9EBA 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9EBC 000 mov R7, #53h ; 'S' ; Move (Op1 <- Op2) ROM:9EBE 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9EBE ROM:9EC1 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9EC3 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9EC5 000 mov R7, #63h ; 'c' ; Move (Op1 <- Op2) ROM:9EC7 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9EC7 ROM:9ECA 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9ECC 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9ECE 000 mov R7, #73h ; 's' ; Move (Op1 <- Op2) ROM:9ED0 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9ED0 ROM:9ED3 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9ED5 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9ED7 000 mov R7, #83h ; 'â' ; Move (Op1 <- Op2) ROM:9ED9 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9ED9 ROM:9EDC 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9EDE 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9EE0 000 mov R7, #93h ; 'ô' ; Move (Op1 <- Op2) ROM:9EE2 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9EE2 ROM:9EE5 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9EE7 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9EE9 000 mov R7, #0A3h ; 'ú' ; Move (Op1 <- Op2) ROM:9EEB 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9EEB ROM:9EEE 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9EF0 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9EF2 000 mov R7, #0B3h ; '¦' ; Move (Op1 <- Op2) ROM:9EF4 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9EF4 ROM:9EF7 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9EF9 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9EFB 000 mov R7, #0C3h ; '+' ; Move (Op1 <- Op2) ROM:9EFD 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9EFD ROM:9F00 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9F02 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9F04 000 mov R7, #0D3h ; '+' ; Move (Op1 <- Op2) ROM:9F06 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F06 ROM:9F09 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9F0B 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9F0D 000 mov R7, #0E3h ; 'p' ; Move (Op1 <- Op2) ROM:9F0F 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F0F ROM:9F12 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:9F14 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9F16 000 mov R7, #0F3h ; '=' ; Move (Op1 <- Op2) ROM:9F18 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F18 ROM:9F1B 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F1D 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F1E 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F1F 000 mov R7, #3Dh ; '=' ; Move (Op1 <- Op2) ROM:9F21 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F21 ROM:9F24 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F26 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F27 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F28 000 mov R7, #4Dh ; 'M' ; Move (Op1 <- Op2) ROM:9F2A 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F2A ROM:9F2D 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F2F 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F30 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F31 000 mov R7, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:9F33 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F33 ROM:9F36 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F38 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F39 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F3A 000 mov R7, #6Dh ; 'm' ; Move (Op1 <- Op2) ROM:9F3C 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F3C ROM:9F3F 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F41 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F42 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F43 000 mov R7, #7Dh ; '}' ; Move (Op1 <- Op2) ROM:9F45 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F45 ROM:9F48 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F4A 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F4B 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F4C 000 mov R7, #8Dh ; 'ì' ; Move (Op1 <- Op2) ROM:9F4E 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F4E ROM:9F51 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F53 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F54 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F55 000 mov R7, #9Dh ; '¥' ; Move (Op1 <- Op2) ROM:9F57 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F57 ROM:9F5A 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F5C 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F5D 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F5E 000 mov R7, #0ADh ; '¡' ; Move (Op1 <- Op2) ROM:9F60 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F60 ROM:9F63 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F65 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F66 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F67 000 mov R7, #0BDh ; '+' ; Move (Op1 <- Op2) ROM:9F69 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F69 ROM:9F6C 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F6E 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F6F 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F70 000 mov R7, #0CDh ; '-' ; Move (Op1 <- Op2) ROM:9F72 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F72 ROM:9F75 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F77 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F78 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F79 000 mov R7, #0DDh ; '¦' ; Move (Op1 <- Op2) ROM:9F7B 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F7B ROM:9F7E 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F80 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F81 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F82 000 mov R7, #0EDh ; 'f' ; Move (Op1 <- Op2) ROM:9F84 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F84 ROM:9F87 000 mov A, #88h ; 'ê' ; Move (Op1 <- Op2) ROM:9F89 000 mov R5, A ; Move (Op1 <- Op2) ROM:9F8A 000 mov R4, A ; Move (Op1 <- Op2) ROM:9F8B 000 mov R7, #0FDh ; '²' ; Move (Op1 <- Op2) ROM:9F8D 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F8D ROM:9F90 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:9F92 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:9F94 000 clr A ; Clear Operand (0) ROM:9F95 000 mov R7, A ; Move (Op1 <- Op2) ROM:9F96 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F96 ROM:9F99 000 mov R5, #6 ; Move (Op1 <- Op2) ROM:9F9B 000 mov R4, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9F9D 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:9F9F 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9F9F ROM:9FA2 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:9FA4 000 lcall ROM_9999 ; Long Subroutine Call ROM:9FA4 ROM:9FA7 000 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:9FA9 000 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:9FAB 000 mov R7, #10h ; Move (Op1 <- Op2) ROM:9FAD 000 mov R6, #5 ; Move (Op1 <- Op2) ROM:9FAF 000 lcall ROM_98E2 ; Long Subroutine Call ROM:9FAF ROM:9FB2 000 clr A ; Clear Operand (0) ROM:9FB3 000 mov R5, A ; Move (Op1 <- Op2) ROM:9FB4 000 mov R4, A ; Move (Op1 <- Op2) ROM:9FB5 000 mov R7, #2 ; Move (Op1 <- Op2) ROM:9FB7 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FB7 ROM:9FBA 000 mov R5, #20h ; ' ' ; Move (Op1 <- Op2) ROM:9FBC 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:9FBE 000 mov R7, #6 ; Move (Op1 <- Op2) ROM:9FC0 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FC0 ROM:9FC3 000 mov R5, #11h ; Move (Op1 <- Op2) ROM:9FC5 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9FC7 000 mov R7, #10h ; Move (Op1 <- Op2) ROM:9FC9 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FC9 ROM:9FCC 000 mov R5, #22h ; '"' ; Move (Op1 <- Op2) ROM:9FCE 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9FD0 000 mov R7, #11h ; Move (Op1 <- Op2) ROM:9FD2 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FD2 ROM:9FD5 000 mov R5, #33h ; '3' ; Move (Op1 <- Op2) ROM:9FD7 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:9FD9 000 mov R7, #12h ; Move (Op1 <- Op2) ROM:9FDB 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FDB ROM:9FDE 000 clr A ; Clear Operand (0) ROM:9FDF 000 mov R5, A ; Move (Op1 <- Op2) ROM:9FE0 000 mov R4, A ; Move (Op1 <- Op2) ROM:9FE1 000 mov R7, #13h ; Move (Op1 <- Op2) ROM:9FE3 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FE3 ROM:9FE6 000 clr A ; Clear Operand (0) ROM:9FE7 000 mov R5, A ; Move (Op1 <- Op2) ROM:9FE8 000 mov R4, A ; Move (Op1 <- Op2) ROM:9FE9 000 mov R7, #14h ; Move (Op1 <- Op2) ROM:9FEB 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FEB ROM:9FEE 000 clr A ; Clear Operand (0) ROM:9FEF 000 mov R5, A ; Move (Op1 <- Op2) ROM:9FF0 000 mov R4, A ; Move (Op1 <- Op2) ROM:9FF1 000 mov R7, #15h ; Move (Op1 <- Op2) ROM:9FF3 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FF3 ROM:9FF6 000 clr A ; Clear Operand (0) ROM:9FF7 000 mov R5, A ; Move (Op1 <- Op2) ROM:9FF8 000 mov R4, A ; Move (Op1 <- Op2) ROM:9FF9 000 mov R7, #16h ; Move (Op1 <- Op2) ROM:9FFB 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:9FFB ROM:9FFE 000 clr A ; Clear Operand (0) ROM:9FFF 000 mov R5, A ; Move (Op1 <- Op2) ROM:A000 000 mov R4, A ; Move (Op1 <- Op2) ROM:A001 000 mov R7, #17h ; Move (Op1 <- Op2) ROM:A003 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A003 ROM:A006 000 clr A ; Clear Operand (0) ROM:A007 000 mov R5, A ; Move (Op1 <- Op2) ROM:A008 000 mov R4, A ; Move (Op1 <- Op2) ROM:A009 000 mov R7, #18h ; Move (Op1 <- Op2) ROM:A00B 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A00B ROM:A00E 000 clr A ; Clear Operand (0) ROM:A00F 000 mov R5, A ; Move (Op1 <- Op2) ROM:A010 000 mov R4, A ; Move (Op1 <- Op2) ROM:A011 000 mov R7, #19h ; Move (Op1 <- Op2) ROM:A013 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A013 ROM:A016 000 clr A ; Clear Operand (0) ROM:A017 000 mov R5, A ; Move (Op1 <- Op2) ROM:A018 000 mov R4, A ; Move (Op1 <- Op2) ROM:A019 000 mov R7, #1Ah ; Move (Op1 <- Op2) ROM:A01B 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A01B ROM:A01E 000 clr A ; Clear Operand (0) ROM:A01F 000 mov R5, A ; Move (Op1 <- Op2) ROM:A020 000 mov R4, A ; Move (Op1 <- Op2) ROM:A021 000 mov R7, #1Bh ; Move (Op1 <- Op2) ROM:A023 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A023 ROM:A026 000 clr A ; Clear Operand (0) ROM:A027 000 mov R5, A ; Move (Op1 <- Op2) ROM:A028 000 mov R4, A ; Move (Op1 <- Op2) ROM:A029 000 mov R7, #1Ch ; Move (Op1 <- Op2) ROM:A02B 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A02B ROM:A02E 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A030 000 mov R5, A ; Move (Op1 <- Op2) ROM:A031 000 mov R4, A ; Move (Op1 <- Op2) ROM:A032 000 mov R7, #2Dh ; '-' ; Move (Op1 <- Op2) ROM:A034 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A034 ROM:A037 000 mov R5, #0FFh ; Move (Op1 <- Op2) ROM:A039 000 mov R4, #0Fh ; Move (Op1 <- Op2) ROM:A03B 000 mov R7, #2Eh ; '.' ; Move (Op1 <- Op2) ROM:A03D 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A03D ROM:A040 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A042 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A044 000 mov R7, #20h ; ' ' ; Move (Op1 <- Op2) ROM:A046 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A046 ROM:A049 000 mov R5, #26h ; '&' ; Move (Op1 <- Op2) ROM:A04B 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A04D 000 mov R7, #21h ; '!' ; Move (Op1 <- Op2) ROM:A04F 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A04F ROM:A052 000 mov R5, #25h ; '%' ; Move (Op1 <- Op2) ROM:A054 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A056 000 mov R7, #22h ; '"' ; Move (Op1 <- Op2) ROM:A058 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A058 ROM:A05B 000 mov R5, #28h ; '(' ; Move (Op1 <- Op2) ROM:A05D 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A05F 000 mov R7, #23h ; '#' ; Move (Op1 <- Op2) ROM:A061 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A061 ROM:A064 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A066 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A068 000 mov R7, #24h ; '$' ; Move (Op1 <- Op2) ROM:A06A 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A06A ROM:A06D 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A06F 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A071 000 mov R7, #25h ; '%' ; Move (Op1 <- Op2) ROM:A073 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A073 ROM:A076 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A078 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A07A 000 mov R7, #26h ; '&' ; Move (Op1 <- Op2) ROM:A07C 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A07C ROM:A07F 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A081 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A083 000 mov R7, #27h ; ''' ; Move (Op1 <- Op2) ROM:A085 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A085 ROM:A088 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A08A 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A08C 000 mov R7, #28h ; '(' ; Move (Op1 <- Op2) ROM:A08E 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A08E ROM:A091 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A093 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A095 000 mov R7, #29h ; ')' ; Move (Op1 <- Op2) ROM:A097 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A097 ROM:A09A 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A09C 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A09E 000 mov R7, #2Ah ; '*' ; Move (Op1 <- Op2) ROM:A0A0 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0A0 ROM:A0A3 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A0A5 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A0A7 000 mov R7, #2Bh ; '+' ; Move (Op1 <- Op2) ROM:A0A9 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0A9 ROM:A0AC 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A0AE 000 mov R4, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A0B0 000 mov R7, #2Ch ; ',' ; Move (Op1 <- Op2) ROM:A0B2 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0B2 ROM:A0B5 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A0B7 000 mov R5, A ; Move (Op1 <- Op2) ROM:A0B8 000 mov R4, A ; Move (Op1 <- Op2) ROM:A0B9 000 mov R7, #2Fh ; '/' ; Move (Op1 <- Op2) ROM:A0BB 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0BB ROM:A0BE 000 mov R5, #0FFh ; Move (Op1 <- Op2) ROM:A0C0 000 mov R4, #0Fh ; Move (Op1 <- Op2) ROM:A0C2 000 mov R7, #30h ; '0' ; Move (Op1 <- Op2) ROM:A0C4 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0C4 ROM:A0C7 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A0C9 000 mov R4, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:A0CB 000 mov R7, #3 ; Move (Op1 <- Op2) ROM:A0CD 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0CD ROM:A0D0 000 clr A ; Clear Operand (0) ROM:A0D1 000 mov R5, A ; Move (Op1 <- Op2) ROM:A0D2 000 mov R4, A ; Move (Op1 <- Op2) ROM:A0D3 000 mov R7, A ; Move (Op1 <- Op2) ROM:A0D4 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0D4 ROM:A0D7 000 mov DPTR, #0F00h ; Move (Op1 <- Op2) ROM:A0DA 000 movx A, @DPTR ; Move from/to external RAM ROM:A0DB 000 mov R4, A ; Move (Op1 <- Op2) ROM:A0DC 000 inc DPTR ; Increment Operand ROM:A0DD 000 movx A, @DPTR ; Move from/to external RAM ROM:A0DE 000 mov R5, A ; Move (Op1 <- Op2) ROM:A0DF 000 mov R7, #9 ; Move (Op1 <- Op2) ROM:A0E1 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0E1 ROM:A0E4 000 mov DPTR, #0F02h ; Move (Op1 <- Op2) ROM:A0E7 000 movx A, @DPTR ; Move from/to external RAM ROM:A0E8 000 mov R4, A ; Move (Op1 <- Op2) ROM:A0E9 000 inc DPTR ; Increment Operand ROM:A0EA 000 movx A, @DPTR ; Move from/to external RAM ROM:A0EB 000 mov R5, A ; Move (Op1 <- Op2) ROM:A0EC 000 mov R7, #0Ah ; Move (Op1 <- Op2) ROM:A0EE 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0EE ROM:A0F1 000 mov DPTR, #0F04h ; Move (Op1 <- Op2) ROM:A0F4 000 movx A, @DPTR ; Move from/to external RAM ROM:A0F5 000 mov R4, A ; Move (Op1 <- Op2) ROM:A0F6 000 inc DPTR ; Increment Operand ROM:A0F7 000 movx A, @DPTR ; Move from/to external RAM ROM:A0F8 000 mov R5, A ; Move (Op1 <- Op2) ROM:A0F9 000 mov R7, #0Bh ; Move (Op1 <- Op2) ROM:A0FB 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A0FB ROM:A0FE 000 mov DPTR, #0F06h ; Move (Op1 <- Op2) ROM:A101 000 movx A, @DPTR ; Move from/to external RAM ROM:A102 000 mov R4, A ; Move (Op1 <- Op2) ROM:A103 000 inc DPTR ; Increment Operand ROM:A104 000 movx A, @DPTR ; Move from/to external RAM ROM:A105 000 mov R5, A ; Move (Op1 <- Op2) ROM:A106 000 mov R7, #0Ch ; Move (Op1 <- Op2) ROM:A108 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A108 ROM:A10B 000 clr A ; Clear Operand (0) ROM:A10C 000 mov R5, A ; Move (Op1 <- Op2) ROM:A10D 000 mov R4, A ; Move (Op1 <- Op2) ROM:A10E 000 mov R7, #0Dh ; Move (Op1 <- Op2) ROM:A110 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A110 ROM:A113 000 clr A ; Clear Operand (0) ROM:A114 000 mov R5, A ; Move (Op1 <- Op2) ROM:A114 ROM:A115 ROM:A115 ROM_A115: ; CODE XREF: something_with_SRAM+4B4j ROM:A115 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A116 000 add A, ACC ; Accumulator ROM:A118 000 add A, #0Ah ; Add Second Operand to Acc ROM:A11A 000 mov DP0L, A ; Data Pointer Low Byte ROM:A11C 000 clr A ; Clear Operand (0) ROM:A11D 000 addc A, #0Fh ; Add Second Operand to Acc with carry ROM:A11F 000 mov DP0H, A ; Data Pointer High Byte ROM:A121 000 movx A, @DPTR ; Move from/to external RAM ROM:A122 000 swap A ; Swap nibbles of Acc ROM:A123 000 rrc A ; Rotate Acc right through Carry ROM:A124 000 rrc A ; Rotate Acc right through Carry ROM:A125 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:A127 000 xrl A, #2 ; Exclusive OR (op1 ^= op2) ROM:A129 000 jnz ROM_A14B ; Jump if Acc is not zero ROM:A129 ROM:A12B 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A12E 000 movx A, @DPTR ; Move from/to external RAM ROM:A12F 000 mov R6, A ; Move (Op1 <- Op2) ROM:A130 000 inc DPTR ; Increment Operand ROM:A131 000 movx A, @DPTR ; Move from/to external RAM ROM:A132 000 mov R7, A ; Move (Op1 <- Op2) ROM:A133 000 mov DPTR, #0F00h ; Move (Op1 <- Op2) ROM:A136 000 movx A, @DPTR ; Move from/to external RAM ROM:A137 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:A138 000 movx @DPTR, A ; Move from/to external RAM ROM:A139 000 inc DPTR ; Increment Operand ROM:A13A 000 movx A, @DPTR ; Move from/to external RAM ROM:A13B 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:A13C 000 movx @DPTR, A ; Move from/to external RAM ROM:A13D 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A140 000 movx A, @DPTR ; Move from/to external RAM ROM:A141 000 mov R6, A ; Move (Op1 <- Op2) ROM:A142 000 inc DPTR ; Increment Operand ROM:A143 000 movx A, @DPTR ; Move from/to external RAM ROM:A144 000 mov R7, A ; Move (Op1 <- Op2) ROM:A145 000 mov DPTR, #0F02h ; Move (Op1 <- Op2) ROM:A148 000 ljmp ROM_A1D7 ; Long Jump ROM:A148 ROM:A14B ; --------------------------------------------------------------------------- ROM:A14B ROM:A14B ROM_A14B: ; CODE XREF: something_with_SRAM+3ECj ROM:A14B 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A14C 000 add A, ACC ; Accumulator ROM:A14E 000 add A, #0Ah ; Add Second Operand to Acc ROM:A150 000 mov DP0L, A ; Data Pointer Low Byte ROM:A152 000 clr A ; Clear Operand (0) ROM:A153 000 addc A, #0Fh ; Add Second Operand to Acc with carry ROM:A155 000 mov DP0H, A ; Data Pointer High Byte ROM:A157 000 movx A, @DPTR ; Move from/to external RAM ROM:A158 000 swap A ; Swap nibbles of Acc ROM:A159 000 rrc A ; Rotate Acc right through Carry ROM:A15A 000 rrc A ; Rotate Acc right through Carry ROM:A15B 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:A15D 000 xrl A, #1 ; Exclusive OR (op1 ^= op2) ROM:A15F 000 jnz ROM_A180 ; Jump if Acc is not zero ROM:A15F ROM:A161 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A164 000 movx A, @DPTR ; Move from/to external RAM ROM:A165 000 mov R6, A ; Move (Op1 <- Op2) ROM:A166 000 inc DPTR ; Increment Operand ROM:A167 000 movx A, @DPTR ; Move from/to external RAM ROM:A168 000 mov R7, A ; Move (Op1 <- Op2) ROM:A169 000 mov DPTR, #0F04h ; Move (Op1 <- Op2) ROM:A16C 000 movx A, @DPTR ; Move from/to external RAM ROM:A16D 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:A16E 000 movx @DPTR, A ; Move from/to external RAM ROM:A16F 000 inc DPTR ; Increment Operand ROM:A170 000 movx A, @DPTR ; Move from/to external RAM ROM:A171 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:A172 000 movx @DPTR, A ; Move from/to external RAM ROM:A173 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A176 000 movx A, @DPTR ; Move from/to external RAM ROM:A177 000 mov R6, A ; Move (Op1 <- Op2) ROM:A178 000 inc DPTR ; Increment Operand ROM:A179 000 movx A, @DPTR ; Move from/to external RAM ROM:A17A 000 mov R7, A ; Move (Op1 <- Op2) ROM:A17B 000 mov DPTR, #0F06h ; Move (Op1 <- Op2) ROM:A17E 000 sjmp ROM_A1D7 ; Short jump ROM:A17E ROM:A180 ; --------------------------------------------------------------------------- ROM:A180 ROM:A180 ROM_A180: ; CODE XREF: something_with_SRAM+422j ROM:A180 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A181 000 add A, ACC ; Accumulator ROM:A183 000 add A, #0Ah ; Add Second Operand to Acc ROM:A185 000 mov DP0L, A ; Data Pointer Low Byte ROM:A187 000 clr A ; Clear Operand (0) ROM:A188 000 addc A, #0Fh ; Add Second Operand to Acc with carry ROM:A18A 000 mov DP0H, A ; Data Pointer High Byte ROM:A18C 000 movx A, @DPTR ; Move from/to external RAM ROM:A18D 000 swap A ; Swap nibbles of Acc ROM:A18E 000 rrc A ; Rotate Acc right through Carry ROM:A18F 000 rrc A ; Rotate Acc right through Carry ROM:A190 000 anl A, #3 ; Logical AND (op1 &= op2) ROM:A192 000 xrl A, #3 ; Exclusive OR (op1 ^= op2) ROM:A194 000 jnz ROM_A1DE ; Jump if Acc is not zero ROM:A194 ROM:A196 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A199 000 movx A, @DPTR ; Move from/to external RAM ROM:A19A 000 mov R6, A ; Move (Op1 <- Op2) ROM:A19B 000 inc DPTR ; Increment Operand ROM:A19C 000 movx A, @DPTR ; Move from/to external RAM ROM:A19D 000 mov R7, A ; Move (Op1 <- Op2) ROM:A19E 000 mov DPTR, #0F00h ; Move (Op1 <- Op2) ROM:A1A1 000 movx A, @DPTR ; Move from/to external RAM ROM:A1A2 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:A1A3 000 movx @DPTR, A ; Move from/to external RAM ROM:A1A4 000 inc DPTR ; Increment Operand ROM:A1A5 000 movx A, @DPTR ; Move from/to external RAM ROM:A1A6 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:A1A7 000 movx @DPTR, A ; Move from/to external RAM ROM:A1A8 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A1AB 000 movx A, @DPTR ; Move from/to external RAM ROM:A1AC 000 mov R6, A ; Move (Op1 <- Op2) ROM:A1AD 000 inc DPTR ; Increment Operand ROM:A1AE 000 movx A, @DPTR ; Move from/to external RAM ROM:A1AF 000 mov R7, A ; Move (Op1 <- Op2) ROM:A1B0 000 mov DPTR, #0F02h ; Move (Op1 <- Op2) ROM:A1B3 000 movx A, @DPTR ; Move from/to external RAM ROM:A1B4 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:A1B5 000 movx @DPTR, A ; Move from/to external RAM ROM:A1B6 000 inc DPTR ; Increment Operand ROM:A1B7 000 movx A, @DPTR ; Move from/to external RAM ROM:A1B8 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:A1B9 000 movx @DPTR, A ; Move from/to external RAM ROM:A1BA 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A1BD 000 movx A, @DPTR ; Move from/to external RAM ROM:A1BE 000 mov R6, A ; Move (Op1 <- Op2) ROM:A1BF 000 inc DPTR ; Increment Operand ROM:A1C0 000 movx A, @DPTR ; Move from/to external RAM ROM:A1C1 000 mov R7, A ; Move (Op1 <- Op2) ROM:A1C2 000 mov DPTR, #0F04h ; Move (Op1 <- Op2) ROM:A1C5 000 movx A, @DPTR ; Move from/to external RAM ROM:A1C6 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:A1C7 000 movx @DPTR, A ; Move from/to external RAM ROM:A1C8 000 inc DPTR ; Increment Operand ROM:A1C9 000 movx A, @DPTR ; Move from/to external RAM ROM:A1CA 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:A1CB 000 movx @DPTR, A ; Move from/to external RAM ROM:A1CC 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A1CF 000 movx A, @DPTR ; Move from/to external RAM ROM:A1D0 000 mov R6, A ; Move (Op1 <- Op2) ROM:A1D1 000 inc DPTR ; Increment Operand ROM:A1D2 000 movx A, @DPTR ; Move from/to external RAM ROM:A1D3 000 mov R7, A ; Move (Op1 <- Op2) ROM:A1D4 000 mov DPTR, #0F06h ; Move (Op1 <- Op2) ROM:A1D4 ROM:A1D7 ROM:A1D7 ROM_A1D7: ; CODE XREF: something_with_SRAM+40Bj ROM:A1D7 ; something_with_SRAM+441j ROM:A1D7 000 movx A, @DPTR ; Move from/to external RAM ROM:A1D8 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:A1D9 000 movx @DPTR, A ; Move from/to external RAM ROM:A1DA 000 inc DPTR ; Increment Operand ROM:A1DB 000 movx A, @DPTR ; Move from/to external RAM ROM:A1DC 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:A1DD 000 movx @DPTR, A ; Move from/to external RAM ROM:A1DD ROM:A1DE ROM:A1DE ROM_A1DE: ; CODE XREF: something_with_SRAM+457j ROM:A1DE 000 mov DPTR, #0F09h ; Move (Op1 <- Op2) ROM:A1E1 000 movx A, @DPTR ; Move from/to external RAM ROM:A1E2 000 add A, ACC ; Accumulator ROM:A1E4 000 movx @DPTR, A ; Move from/to external RAM ROM:A1E5 000 mov DPTR, #0F08h ; Move (Op1 <- Op2) ROM:A1E8 000 movx A, @DPTR ; Move from/to external RAM ROM:A1E9 000 rlc A ; Rotate Acc left through Carry ROM:A1EA 000 movx @DPTR, A ; Move from/to external RAM ROM:A1EB 000 inc R5 ; Increment Operand ROM:A1EC 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A1ED 000 xrl A, #0Dh ; Exclusive OR (op1 ^= op2) ROM:A1EF 000 jz ROM_A1F4 ; Jump if Acc is zero ROM:A1EF ROM:A1F1 000 ljmp ROM_A115 ; Long Jump ROM:A1F1 ROM:A1F4 ; --------------------------------------------------------------------------- ROM:A1F4 ROM:A1F4 ROM_A1F4: ; CODE XREF: something_with_SRAM+4B2j ROM:A1F4 000 mov DPTR, #0F00h ; Move (Op1 <- Op2) ROM:A1F7 000 movx A, @DPTR ; Move from/to external RAM ROM:A1F8 000 mov R4, A ; Move (Op1 <- Op2) ROM:A1F9 000 inc DPTR ; Increment Operand ROM:A1FA 000 movx A, @DPTR ; Move from/to external RAM ROM:A1FB 000 mov R5, A ; Move (Op1 <- Op2) ROM:A1FC 000 mov R7, #9 ; Move (Op1 <- Op2) ROM:A1FE 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A1FE ROM:A201 000 mov DPTR, #0F04h ; Move (Op1 <- Op2) ROM:A204 000 movx A, @DPTR ; Move from/to external RAM ROM:A205 000 mov R4, A ; Move (Op1 <- Op2) ROM:A206 000 inc DPTR ; Increment Operand ROM:A207 000 movx A, @DPTR ; Move from/to external RAM ROM:A208 000 mov R5, A ; Move (Op1 <- Op2) ROM:A209 000 mov R7, #0Bh ; Move (Op1 <- Op2) ROM:A20B 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A20B ROM:A20E 000 mov DPTR, #0F02h ; Move (Op1 <- Op2) ROM:A211 000 movx A, @DPTR ; Move from/to external RAM ROM:A212 000 mov R4, A ; Move (Op1 <- Op2) ROM:A213 000 inc DPTR ; Increment Operand ROM:A214 000 movx A, @DPTR ; Move from/to external RAM ROM:A215 000 mov R5, A ; Move (Op1 <- Op2) ROM:A216 000 mov R7, #0Ah ; Move (Op1 <- Op2) ROM:A218 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A218 ROM:A21B 000 mov DPTR, #0F06h ; Move (Op1 <- Op2) ROM:A21E 000 movx A, @DPTR ; Move from/to external RAM ROM:A21F 000 mov R4, A ; Move (Op1 <- Op2) ROM:A220 000 inc DPTR ; Increment Operand ROM:A221 000 movx A, @DPTR ; Move from/to external RAM ROM:A222 000 mov R5, A ; Move (Op1 <- Op2) ROM:A223 000 mov R7, #0Ch ; Move (Op1 <- Op2) ROM:A225 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A225 ROM:A228 000 mov R7, #9 ; Move (Op1 <- Op2) ROM:A22A 000 lcall ROM_9999 ; Long Subroutine Call ROM:A22A ROM:A22D 000 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:A22F 000 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:A231 000 mov R7, #20h ; ' ' ; Move (Op1 <- Op2) ROM:A233 000 mov R6, #5 ; Move (Op1 <- Op2) ROM:A235 000 lcall ROM_98E2 ; Long Subroutine Call ROM:A235 ROM:A238 000 mov R7, #0Ah ; Move (Op1 <- Op2) ROM:A23A 000 lcall ROM_9999 ; Long Subroutine Call ROM:A23A ROM:A23D 000 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:A23F 000 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:A241 000 mov R7, #22h ; '"' ; Move (Op1 <- Op2) ROM:A243 000 mov R6, #5 ; Move (Op1 <- Op2) ROM:A245 000 lcall ROM_98E2 ; Long Subroutine Call ROM:A245 ROM:A248 000 mov R7, #0Bh ; Move (Op1 <- Op2) ROM:A24A 000 lcall ROM_9999 ; Long Subroutine Call ROM:A24A ROM:A24D 000 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:A24F 000 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:A251 000 mov R7, #24h ; '$' ; Move (Op1 <- Op2) ROM:A253 000 mov R6, #5 ; Move (Op1 <- Op2) ROM:A255 000 lcall ROM_98E2 ; Long Subroutine Call ROM:A255 ROM:A258 000 mov R7, #0Ch ; Move (Op1 <- Op2) ROM:A25A 000 lcall ROM_9999 ; Long Subroutine Call ROM:A25A ROM:A25D 000 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:A25F 000 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:A261 000 mov R7, #26h ; '&' ; Move (Op1 <- Op2) ROM:A263 000 mov R6, #5 ; Move (Op1 <- Op2) ROM:A265 000 ljmp ROM_98E2 ; Long Jump ROM:A265 ROM:A265 ; End of function something_with_SRAM ROM:A265 ROM:A268 ROM:A268 ; =============== S U B R O U T I N E ======================================= ROM:A268 ROM:A268 ROM:A268 ROM_A268: ; CODE XREF: ROM_A61B+Cp ROM:A268 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:A26A 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:A26C 000 clr A ; Clear Operand (0) ROM:A26D 000 mov R7, A ; Move (Op1 <- Op2) ROM:A26E 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A26E ROM:A271 000 mov R5, #0FFh ; Move (Op1 <- Op2) ROM:A273 000 mov R4, #7Fh ; '' ; Move (Op1 <- Op2) ROM:A275 000 mov R7, #54h ; 'T' ; Move (Op1 <- Op2) ROM:A277 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A277 ROM:A27A 000 mov R5, #0FFh ; Move (Op1 <- Op2) ROM:A27C 000 mov R4, #7Fh ; '' ; Move (Op1 <- Op2) ROM:A27E 000 mov R7, #56h ; 'V' ; Move (Op1 <- Op2) ROM:A280 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A280 ROM:A283 000 mov R5, #0FFh ; Move (Op1 <- Op2) ROM:A285 000 mov R4, #12h ; Move (Op1 <- Op2) ROM:A287 000 mov R7, #5Bh ; '[' ; Move (Op1 <- Op2) ROM:A289 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A289 ROM:A28C 000 mov R5, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:A28E 000 mov R4, #0FFh ; Move (Op1 <- Op2) ROM:A290 000 mov R7, #5Ch ; '\' ; Move (Op1 <- Op2) ROM:A292 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A292 ROM:A295 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A297 000 mov R5, A ; Move (Op1 <- Op2) ROM:A298 000 mov R4, A ; Move (Op1 <- Op2) ROM:A299 000 mov R7, #5Dh ; ']' ; Move (Op1 <- Op2) ROM:A29B 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A29B ROM:A29E 000 mov R5, #0Ch ; Move (Op1 <- Op2) ROM:A2A0 000 mov R4, #30h ; '0' ; Move (Op1 <- Op2) ROM:A2A2 000 mov R7, #5Eh ; '^' ; Move (Op1 <- Op2) ROM:A2A4 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A2A4 ROM:A2A7 000 mov A, #80h ; 'Ç' ; Move (Op1 <- Op2) ROM:A2A9 000 mov R5, A ; Move (Op1 <- Op2) ROM:A2AA 000 mov R4, A ; Move (Op1 <- Op2) ROM:A2AB 000 mov R7, #5Fh ; '_' ; Move (Op1 <- Op2) ROM:A2AD 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A2AD ROM:A2B0 000 mov R5, #1Fh ; Move (Op1 <- Op2) ROM:A2B2 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:A2B4 000 mov R7, #60h ; '`' ; Move (Op1 <- Op2) ROM:A2B6 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A2B6 ROM:A2B9 000 mov R5, #44h ; 'D' ; Move (Op1 <- Op2) ROM:A2BB 000 mov R4, #54h ; 'T' ; Move (Op1 <- Op2) ROM:A2BD 000 mov R7, #62h ; 'b' ; Move (Op1 <- Op2) ROM:A2BF 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A2BF ROM:A2C2 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:A2C4 000 mov R5, A ; Move (Op1 <- Op2) ROM:A2C5 000 mov R4, A ; Move (Op1 <- Op2) ROM:A2C6 000 mov R7, #63h ; 'c' ; Move (Op1 <- Op2) ROM:A2C8 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A2C8 ROM:A2CB 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:A2CD 000 mov R5, A ; Move (Op1 <- Op2) ROM:A2CE 000 mov R4, A ; Move (Op1 <- Op2) ROM:A2CF 000 mov R7, #64h ; 'd' ; Move (Op1 <- Op2) ROM:A2D1 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A2D1 ROM:A2D4 000 mov A, #44h ; 'D' ; Move (Op1 <- Op2) ROM:A2D6 000 mov R5, A ; Move (Op1 <- Op2) ROM:A2D7 000 mov R4, A ; Move (Op1 <- Op2) ROM:A2D8 000 mov R7, #65h ; 'e' ; Move (Op1 <- Op2) ROM:A2DA 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A2DA ROM:A2DD 000 mov R5, #0FFh ; Move (Op1 <- Op2) ROM:A2DF 000 mov R4, #7Fh ; '' ; Move (Op1 <- Op2) ROM:A2E1 000 mov R7, #50h ; 'P' ; Move (Op1 <- Op2) ROM:A2E3 000 ljmp ROM_9BA0 ; Long Jump ROM:A2E3 ROM:A2E3 ; End of function ROM_A268 ROM:A2E3 ROM:A2E6 ROM:A2E6 ; =============== S U B R O U T I N E ======================================= ROM:A2E6 ROM:A2E6 ROM:A2E6 ROM_A2E6: ; CODE XREF: ROM_A61B+Fp ROM:A2E6 000 mov R0, #25h ; '%' ; Move (Op1 <- Op2) ROM:A2E8 000 mov R4, #0Fh ; Move (Op1 <- Op2) ROM:A2EA 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:A2EC 000 mov R3, #0FFh ; Move (Op1 <- Op2) ROM:A2EE 000 mov R2, #0A8h ; '¿' ; Move (Op1 <- Op2) ROM:A2F0 000 mov R1, #0Fh ; Move (Op1 <- Op2) ROM:A2F2 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:A2F4 000 mov R7, #1Ah ; Move (Op1 <- Op2) ROM:A2F6 000 lcall ROM_B7B7 ; Long Subroutine Call ROM:A2F6 ROM:A2F9 000 clr A ; Clear Operand (0) ROM:A2FA 000 mov DPTR, #0F24h ; Move (Op1 <- Op2) ROM:A2FD 000 movx @DPTR, A ; Move from/to external RAM ROM:A2FD ROM:A2FE ROM:A2FE ROM_A2FE: ; CODE XREF: ROM_A2E6+FDj ROM:A2FE 000 mov DPTR, #0F24h ; Move (Op1 <- Op2) ROM:A301 000 movx A, @DPTR ; Move from/to external RAM ROM:A302 000 mov R7, A ; Move (Op1 <- Op2) ROM:A303 000 add A, ACC ; Accumulator ROM:A305 000 add A, #25h ; '%' ; Add Second Operand to Acc ROM:A307 000 mov DP0L, A ; Data Pointer Low Byte ROM:A309 000 clr A ; Clear Operand (0) ROM:A30A 000 addc A, #0Fh ; Add Second Operand to Acc with carry ROM:A30C 000 mov DP0H, A ; Data Pointer High Byte ROM:A30E 000 movx A, @DPTR ; Move from/to external RAM ROM:A30F 000 mov R6, A ; Move (Op1 <- Op2) ROM:A310 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A311 000 add A, ACC ; Accumulator ROM:A313 000 add A, #1 ; Add Second Operand to Acc ROM:A315 000 mov DP0L, A ; Data Pointer Low Byte ROM:A317 000 clr A ; Clear Operand (0) ROM:A318 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A31A 000 mov DP0H, A ; Data Pointer High Byte ROM:A31C 000 mov A, R6 ; Move (Op1 <- Op2) ROM:A31D 000 movx @DPTR, A ; Move from/to external RAM ROM:A31E 000 mov DPTR, #0F24h ; Move (Op1 <- Op2) ROM:A321 000 movx A, @DPTR ; Move from/to external RAM ROM:A322 000 mov R7, A ; Move (Op1 <- Op2) ROM:A323 000 add A, ACC ; Accumulator ROM:A325 000 add A, #26h ; '&' ; Add Second Operand to Acc ROM:A327 000 mov DP0L, A ; Data Pointer Low Byte ROM:A329 000 clr A ; Clear Operand (0) ROM:A32A 000 addc A, #0Fh ; Add Second Operand to Acc with carry ROM:A32C 000 mov DP0H, A ; Data Pointer High Byte ROM:A32E 000 movx A, @DPTR ; Move from/to external RAM ROM:A32F 000 mov R6, A ; Move (Op1 <- Op2) ROM:A330 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A331 000 add A, ACC ; Accumulator ROM:A333 000 add A, #0 ; Add Second Operand to Acc ROM:A335 000 mov DP0L, A ; Data Pointer Low Byte ROM:A337 000 clr A ; Clear Operand (0) ROM:A338 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A33A 000 mov DP0H, A ; Data Pointer High Byte ROM:A33C 000 mov A, R6 ; Move (Op1 <- Op2) ROM:A33D 000 movx @DPTR, A ; Move from/to external RAM ROM:A33E 000 mov R5, #1 ; Move (Op1 <- Op2) ROM:A340 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:A342 000 clr A ; Clear Operand (0) ROM:A343 000 mov R7, A ; Move (Op1 <- Op2) ROM:A344 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A344 ROM:A347 000 mov DPTR, #0F24h ; Move (Op1 <- Op2) ROM:A34A 000 movx A, @DPTR ; Move from/to external RAM ROM:A34B 000 add A, ACC ; Accumulator ROM:A34D 000 add A, #0 ; Add Second Operand to Acc ROM:A34F 000 mov DP0L, A ; Data Pointer Low Byte ROM:A351 000 clr A ; Clear Operand (0) ROM:A352 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A354 000 mov DP0H, A ; Data Pointer High Byte ROM:A356 000 movx A, @DPTR ; Move from/to external RAM ROM:A357 000 mov R7, A ; Move (Op1 <- Op2) ROM:A358 000 xrl A, #20h ; Exclusive OR (op1 ^= op2) ROM:A35A 000 jz ROM_A361 ; Jump if Acc is zero ROM:A35A ROM:A35C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A35D 000 xrl A, #21h ; Exclusive OR (op1 ^= op2) ROM:A35F 000 jnz ROM_A38F ; Jump if Acc is not zero ROM:A35F ROM:A361 ROM:A361 ROM_A361: ; CODE XREF: ROM_A2E6+74j ROM:A361 000 mov DPTR, #0F24h ; Move (Op1 <- Op2) ROM:A364 000 movx A, @DPTR ; Move from/to external RAM ROM:A365 000 add A, ACC ; Accumulator ROM:A367 000 add A, #1 ; Add Second Operand to Acc ROM:A369 000 mov DP0L, A ; Data Pointer Low Byte ROM:A36B 000 clr A ; Clear Operand (0) ROM:A36C 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A36E 000 mov DP0H, A ; Data Pointer High Byte ROM:A370 000 movx A, @DPTR ; Move from/to external RAM ROM:A371 000 cjne A, #10h, ROM_A38F ; Compare Operands and JNE ROM:A371 ROM:A374 000 mov R5, #11h ; Move (Op1 <- Op2) ROM:A376 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:A378 000 mov R7, #0Bh ; Move (Op1 <- Op2) ROM:A37A 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A37A ROM:A37D 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A37F 000 mov R4, #35h ; '5' ; Move (Op1 <- Op2) ROM:A381 000 mov R7, #9 ; Move (Op1 <- Op2) ROM:A383 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A383 ROM:A386 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A388 000 mov R4, #35h ; '5' ; Move (Op1 <- Op2) ROM:A38A 000 mov R7, #0Ah ; Move (Op1 <- Op2) ROM:A38C 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A38C ROM:A38F ROM:A38F ROM_A38F: ; CODE XREF: ROM_A2E6+79j ROM:A38F ; ROM_A2E6+8Bj ROM:A38F 000 mov DPTR, #0F24h ; Move (Op1 <- Op2) ROM:A392 000 movx A, @DPTR ; Move from/to external RAM ROM:A393 000 add A, ACC ; Accumulator ROM:A395 000 add A, #0 ; Add Second Operand to Acc ROM:A397 000 mov DP0L, A ; Data Pointer Low Byte ROM:A399 000 clr A ; Clear Operand (0) ROM:A39A 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A39C 000 mov DP0H, A ; Data Pointer High Byte ROM:A39E 000 movx A, @DPTR ; Move from/to external RAM ROM:A39F 000 mov R7, A ; Move (Op1 <- Op2) ROM:A3A0 000 xrl A, #20h ; Exclusive OR (op1 ^= op2) ROM:A3A2 000 jz ROM_A3A9 ; Jump if Acc is zero ROM:A3A2 ROM:A3A4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A3A5 000 xrl A, #21h ; Exclusive OR (op1 ^= op2) ROM:A3A7 000 jnz ROM_A3D7 ; Jump if Acc is not zero ROM:A3A7 ROM:A3A9 ROM:A3A9 ROM_A3A9: ; CODE XREF: ROM_A2E6+BCj ROM:A3A9 000 mov DPTR, #0F24h ; Move (Op1 <- Op2) ROM:A3AC 000 movx A, @DPTR ; Move from/to external RAM ROM:A3AD 000 add A, ACC ; Accumulator ROM:A3AF 000 add A, #1 ; Add Second Operand to Acc ROM:A3B1 000 mov DP0L, A ; Data Pointer Low Byte ROM:A3B3 000 clr A ; Clear Operand (0) ROM:A3B4 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A3B6 000 mov DP0H, A ; Data Pointer High Byte ROM:A3B8 000 movx A, @DPTR ; Move from/to external RAM ROM:A3B9 000 cjne A, #20h, ROM_A3D7 ; ' ' ; Compare Operands and JNE ROM:A3B9 ROM:A3BC 000 mov R5, #11h ; Move (Op1 <- Op2) ROM:A3BE 000 mov R4, #0 ; Move (Op1 <- Op2) ROM:A3C0 000 mov R7, #0Eh ; Move (Op1 <- Op2) ROM:A3C2 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A3C2 ROM:A3C5 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A3C7 000 mov R4, #35h ; '5' ; Move (Op1 <- Op2) ROM:A3C9 000 mov R7, #0Ch ; Move (Op1 <- Op2) ROM:A3CB 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A3CB ROM:A3CE 000 mov R5, #0 ; Move (Op1 <- Op2) ROM:A3D0 000 mov R4, #35h ; '5' ; Move (Op1 <- Op2) ROM:A3D2 000 mov R7, #0Dh ; Move (Op1 <- Op2) ROM:A3D4 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A3D4 ROM:A3D7 ROM:A3D7 ROM_A3D7: ; CODE XREF: ROM_A2E6+C1j ROM:A3D7 ; ROM_A2E6+D3j ROM:A3D7 000 mov DPTR, #0F24h ; Move (Op1 <- Op2) ROM:A3DA 000 movx A, @DPTR ; Move from/to external RAM ROM:A3DB 000 inc A ; Increment Operand ROM:A3DC 000 movx @DPTR, A ; Move from/to external RAM ROM:A3DD 000 movx A, @DPTR ; Move from/to external RAM ROM:A3DE 000 clr C ; Clear Operand (0) ROM:A3DF 000 subb A, #0Dh ; Subtract Second Operand from Acc with Borrow ROM:A3E1 000 jnc ROM_A3E6 ; Jump if Carry is clear ROM:A3E1 ROM:A3E3 000 ljmp ROM_A2FE ; Long Jump ROM:A3E3 ROM:A3E6 ; --------------------------------------------------------------------------- ROM:A3E6 ROM:A3E6 ROM_A3E6: ; CODE XREF: ROM_A2E6+FBj ROM:A3E6 000 ret ; Return from subroutine ROM:A3E6 ROM:A3E6 ; End of function ROM_A2E6 ROM:A3E6 ROM:A3E7 ROM:A3E7 ; =============== S U B R O U T I N E ======================================= ROM:A3E7 ROM:A3E7 ROM:A3E7 ROM_A3E7: ; CODE XREF: ROM_A61B+12p ROM:A3E7 000 clr A ; Clear Operand (0) ROM:A3E8 000 mov R7, A ; Move (Op1 <- Op2) ROM:A3E8 ROM:A3E9 ROM:A3E9 ROM_A3E9: ; CODE XREF: ROM_A3E7+1Cj ROM:A3E9 000 mov A, #1Ah ; Move (Op1 <- Op2) ROM:A3EB 000 add A, R7 ; Add Second Operand to Acc ROM:A3EC 000 mov DP0L, A ; Data Pointer Low Byte ROM:A3EE 000 clr A ; Clear Operand (0) ROM:A3EF 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A3F1 000 mov DP0H, A ; Data Pointer High Byte ROM:A3F3 000 clr A ; Clear Operand (0) ROM:A3F4 000 movx @DPTR, A ; Move from/to external RAM ROM:A3F5 000 mov A, #24h ; '$' ; Move (Op1 <- Op2) ROM:A3F7 000 add A, R7 ; Add Second Operand to Acc ROM:A3F8 000 mov DP0L, A ; Data Pointer Low Byte ROM:A3FA 000 clr A ; Clear Operand (0) ROM:A3FB 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A3FD 000 mov DP0H, A ; Data Pointer High Byte ROM:A3FF 000 clr A ; Clear Operand (0) ROM:A400 000 movx @DPTR, A ; Move from/to external RAM ROM:A401 000 inc R7 ; Increment Operand ROM:A402 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A403 000 cjne A, #4, ROM_A3E9 ; Compare Operands and JNE ROM:A403 ROM:A406 000 clr A ; Clear Operand (0) ROM:A407 000 mov R7, A ; Move (Op1 <- Op2) ROM:A407 ROM:A408 ROM:A408 ROM_A408: ; CODE XREF: ROM_A3E7+8Fj ROM:A408 000 mov A, #2Eh ; '.' ; Move (Op1 <- Op2) ROM:A40A 000 add A, R7 ; Add Second Operand to Acc ROM:A40B 000 mov DP0L, A ; Data Pointer Low Byte ROM:A40D 000 clr A ; Clear Operand (0) ROM:A40E 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A410 000 mov DP0H, A ; Data Pointer High Byte ROM:A412 000 clr A ; Clear Operand (0) ROM:A413 000 movx @DPTR, A ; Move from/to external RAM ROM:A414 000 mov A, #42h ; 'B' ; Move (Op1 <- Op2) ROM:A416 000 add A, R7 ; Add Second Operand to Acc ROM:A417 000 mov DP0L, A ; Data Pointer Low Byte ROM:A419 000 clr A ; Clear Operand (0) ROM:A41A 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A41C 000 mov DP0H, A ; Data Pointer High Byte ROM:A41E 000 clr A ; Clear Operand (0) ROM:A41F 000 movx @DPTR, A ; Move from/to external RAM ROM:A420 000 mov A, #56h ; 'V' ; Move (Op1 <- Op2) ROM:A422 000 add A, R7 ; Add Second Operand to Acc ROM:A423 000 mov DP0L, A ; Data Pointer Low Byte ROM:A425 000 clr A ; Clear Operand (0) ROM:A426 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A428 000 mov DP0H, A ; Data Pointer High Byte ROM:A42A 000 clr A ; Clear Operand (0) ROM:A42B 000 movx @DPTR, A ; Move from/to external RAM ROM:A42C 000 mov A, #6Ah ; 'j' ; Move (Op1 <- Op2) ROM:A42E 000 add A, R7 ; Add Second Operand to Acc ROM:A42F 000 mov DP0L, A ; Data Pointer Low Byte ROM:A431 000 clr A ; Clear Operand (0) ROM:A432 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A434 000 mov DP0H, A ; Data Pointer High Byte ROM:A436 000 clr A ; Clear Operand (0) ROM:A437 000 movx @DPTR, A ; Move from/to external RAM ROM:A438 000 mov A, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:A43A 000 add A, R7 ; Add Second Operand to Acc ROM:A43B 000 mov DP0L, A ; Data Pointer Low Byte ROM:A43D 000 clr A ; Clear Operand (0) ROM:A43E 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A440 000 mov DP0H, A ; Data Pointer High Byte ROM:A442 000 clr A ; Clear Operand (0) ROM:A443 000 movx @DPTR, A ; Move from/to external RAM ROM:A444 000 mov A, #92h ; 'Æ' ; Move (Op1 <- Op2) ROM:A446 000 add A, R7 ; Add Second Operand to Acc ROM:A447 000 mov DP0L, A ; Data Pointer Low Byte ROM:A449 000 clr A ; Clear Operand (0) ROM:A44A 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A44C 000 mov DP0H, A ; Data Pointer High Byte ROM:A44E 000 clr A ; Clear Operand (0) ROM:A44F 000 movx @DPTR, A ; Move from/to external RAM ROM:A450 000 mov A, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:A452 000 add A, R7 ; Add Second Operand to Acc ROM:A453 000 mov DP0L, A ; Data Pointer Low Byte ROM:A455 000 clr A ; Clear Operand (0) ROM:A456 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A458 000 mov DP0H, A ; Data Pointer High Byte ROM:A45A 000 clr A ; Clear Operand (0) ROM:A45B 000 movx @DPTR, A ; Move from/to external RAM ROM:A45C 000 mov A, #0BAh ; '¦' ; Move (Op1 <- Op2) ROM:A45E 000 add A, R7 ; Add Second Operand to Acc ROM:A45F 000 mov DP0L, A ; Data Pointer Low Byte ROM:A461 000 clr A ; Clear Operand (0) ROM:A462 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A464 000 mov DP0H, A ; Data Pointer High Byte ROM:A466 000 clr A ; Clear Operand (0) ROM:A467 000 movx @DPTR, A ; Move from/to external RAM ROM:A468 000 mov A, #0CEh ; '+' ; Move (Op1 <- Op2) ROM:A46A 000 add A, R7 ; Add Second Operand to Acc ROM:A46B 000 mov DP0L, A ; Data Pointer Low Byte ROM:A46D 000 clr A ; Clear Operand (0) ROM:A46E 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A470 000 mov DP0H, A ; Data Pointer High Byte ROM:A472 000 clr A ; Clear Operand (0) ROM:A473 000 movx @DPTR, A ; Move from/to external RAM ROM:A474 000 inc R7 ; Increment Operand ROM:A475 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A476 000 cjne A, #0Eh, ROM_A408 ; Compare Operands and JNE ROM:A476 ROM:A479 000 clr A ; Clear Operand (0) ROM:A47A 000 mov R7, A ; Move (Op1 <- Op2) ROM:A47A ROM:A47B ROM:A47B ROM_A47B: ; CODE XREF: ROM_A3E7+191j ROM:A47B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A47C 000 add A, ACC ; Accumulator ROM:A47E 000 add A, #1 ; Add Second Operand to Acc ROM:A480 000 mov DP0L, A ; Data Pointer Low Byte ROM:A482 000 clr A ; Clear Operand (0) ROM:A483 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A485 000 mov DP0H, A ; Data Pointer High Byte ROM:A487 000 movx A, @DPTR ; Move from/to external RAM ROM:A488 000 mov R6, A ; Move (Op1 <- Op2) ROM:A489 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:A48B 000 mov R5, A ; Move (Op1 <- Op2) ROM:A48C 000 mov A, R6 ; Move (Op1 <- Op2) ROM:A48D 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:A48F 000 mov R6, A ; Move (Op1 <- Op2) ROM:A490 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A491 000 cjne A, #10h, ROM_A4A5 ; Compare Operands and JNE ROM:A491 ROM:A494 000 mov DPTR, #41Ah ; Move (Op1 <- Op2) ROM:A497 000 movx A, @DPTR ; Move from/to external RAM ROM:A498 000 inc A ; Increment Operand ROM:A499 000 movx @DPTR, A ; Move from/to external RAM ROM:A49A 000 mov A, #1Bh ; Move (Op1 <- Op2) ROM:A49C 000 add A, R6 ; Add Second Operand to Acc ROM:A49D 000 mov DP0L, A ; Data Pointer Low Byte ROM:A49F 000 clr A ; Clear Operand (0) ROM:A4A0 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A4A2 000 ljmp ROM_A56E ; Long Jump ROM:A4A2 ROM:A4A5 ; --------------------------------------------------------------------------- ROM:A4A5 ROM:A4A5 ROM_A4A5: ; CODE XREF: ROM_A3E7+AAj ROM:A4A5 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A4A6 000 cjne A, #20h, ROM_A4BA ; ' ' ; Compare Operands and JNE ROM:A4A6 ROM:A4A9 000 mov DPTR, #424h ; Move (Op1 <- Op2) ROM:A4AC 000 movx A, @DPTR ; Move from/to external RAM ROM:A4AD 000 inc A ; Increment Operand ROM:A4AE 000 movx @DPTR, A ; Move from/to external RAM ROM:A4AF 000 mov A, #25h ; '%' ; Move (Op1 <- Op2) ROM:A4B1 000 add A, R6 ; Add Second Operand to Acc ROM:A4B2 000 mov DP0L, A ; Data Pointer Low Byte ROM:A4B4 000 clr A ; Clear Operand (0) ROM:A4B5 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A4B7 000 ljmp ROM_A56E ; Long Jump ROM:A4B7 ROM:A4BA ; --------------------------------------------------------------------------- ROM:A4BA ROM:A4BA ROM_A4BA: ; CODE XREF: ROM_A3E7+BFj ROM:A4BA 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A4BB 000 cjne A, #30h, ROM_A4CF ; '0' ; Compare Operands and JNE ROM:A4BB ROM:A4BE 000 mov DPTR, #42Eh ; Move (Op1 <- Op2) ROM:A4C1 000 movx A, @DPTR ; Move from/to external RAM ROM:A4C2 000 inc A ; Increment Operand ROM:A4C3 000 movx @DPTR, A ; Move from/to external RAM ROM:A4C4 000 mov A, #2Fh ; '/' ; Move (Op1 <- Op2) ROM:A4C6 000 add A, R6 ; Add Second Operand to Acc ROM:A4C7 000 mov DP0L, A ; Data Pointer Low Byte ROM:A4C9 000 clr A ; Clear Operand (0) ROM:A4CA 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A4CC 000 ljmp ROM_A56E ; Long Jump ROM:A4CC ROM:A4CF ; --------------------------------------------------------------------------- ROM:A4CF ROM:A4CF ROM_A4CF: ; CODE XREF: ROM_A3E7+D4j ROM:A4CF 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A4D0 000 cjne A, #40h, ROM_A4E4 ; '@' ; Compare Operands and JNE ROM:A4D0 ROM:A4D3 000 mov DPTR, #442h ; Move (Op1 <- Op2) ROM:A4D6 000 movx A, @DPTR ; Move from/to external RAM ROM:A4D7 000 inc A ; Increment Operand ROM:A4D8 000 movx @DPTR, A ; Move from/to external RAM ROM:A4D9 000 mov A, #43h ; 'C' ; Move (Op1 <- Op2) ROM:A4DB 000 add A, R6 ; Add Second Operand to Acc ROM:A4DC 000 mov DP0L, A ; Data Pointer Low Byte ROM:A4DE 000 clr A ; Clear Operand (0) ROM:A4DF 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A4E1 000 ljmp ROM_A56E ; Long Jump ROM:A4E1 ROM:A4E4 ; --------------------------------------------------------------------------- ROM:A4E4 ROM:A4E4 ROM_A4E4: ; CODE XREF: ROM_A3E7+E9j ROM:A4E4 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A4E5 000 cjne A, #50h, ROM_A4F8 ; 'P' ; Compare Operands and JNE ROM:A4E5 ROM:A4E8 000 mov DPTR, #456h ; Move (Op1 <- Op2) ROM:A4EB 000 movx A, @DPTR ; Move from/to external RAM ROM:A4EC 000 inc A ; Increment Operand ROM:A4ED 000 movx @DPTR, A ; Move from/to external RAM ROM:A4EE 000 mov A, #57h ; 'W' ; Move (Op1 <- Op2) ROM:A4F0 000 add A, R6 ; Add Second Operand to Acc ROM:A4F1 000 mov DP0L, A ; Data Pointer Low Byte ROM:A4F3 000 clr A ; Clear Operand (0) ROM:A4F4 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A4F6 000 sjmp ROM_A56E ; Short jump ROM:A4F6 ROM:A4F8 ; --------------------------------------------------------------------------- ROM:A4F8 ROM:A4F8 ROM_A4F8: ; CODE XREF: ROM_A3E7+FEj ROM:A4F8 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A4F9 000 cjne A, #60h, ROM_A50C ; '`' ; Compare Operands and JNE ROM:A4F9 ROM:A4FC 000 mov DPTR, #46Ah ; Move (Op1 <- Op2) ROM:A4FF 000 movx A, @DPTR ; Move from/to external RAM ROM:A500 000 inc A ; Increment Operand ROM:A501 000 movx @DPTR, A ; Move from/to external RAM ROM:A502 000 mov A, #6Bh ; 'k' ; Move (Op1 <- Op2) ROM:A504 000 add A, R6 ; Add Second Operand to Acc ROM:A505 000 mov DP0L, A ; Data Pointer Low Byte ROM:A507 000 clr A ; Clear Operand (0) ROM:A508 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A50A 000 sjmp ROM_A56E ; Short jump ROM:A50A ROM:A50C ; --------------------------------------------------------------------------- ROM:A50C ROM:A50C ROM_A50C: ; CODE XREF: ROM_A3E7+112j ROM:A50C 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A50D 000 cjne A, #70h, ROM_A520 ; 'p' ; Compare Operands and JNE ROM:A50D ROM:A510 000 mov DPTR, #47Eh ; Move (Op1 <- Op2) ROM:A513 000 movx A, @DPTR ; Move from/to external RAM ROM:A514 000 inc A ; Increment Operand ROM:A515 000 movx @DPTR, A ; Move from/to external RAM ROM:A516 000 mov A, #7Fh ; '' ; Move (Op1 <- Op2) ROM:A518 000 add A, R6 ; Add Second Operand to Acc ROM:A519 000 mov DP0L, A ; Data Pointer Low Byte ROM:A51B 000 clr A ; Clear Operand (0) ROM:A51C 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A51E 000 sjmp ROM_A56E ; Short jump ROM:A51E ROM:A520 ; --------------------------------------------------------------------------- ROM:A520 ROM:A520 ROM_A520: ; CODE XREF: ROM_A3E7+126j ROM:A520 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A521 000 cjne A, #80h, ROM_A534 ; 'Ç' ; Compare Operands and JNE ROM:A521 ROM:A524 000 mov DPTR, #492h ; Move (Op1 <- Op2) ROM:A527 000 movx A, @DPTR ; Move from/to external RAM ROM:A528 000 inc A ; Increment Operand ROM:A529 000 movx @DPTR, A ; Move from/to external RAM ROM:A52A 000 mov A, #93h ; 'ô' ; Move (Op1 <- Op2) ROM:A52C 000 add A, R6 ; Add Second Operand to Acc ROM:A52D 000 mov DP0L, A ; Data Pointer Low Byte ROM:A52F 000 clr A ; Clear Operand (0) ROM:A530 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A532 000 sjmp ROM_A56E ; Short jump ROM:A532 ROM:A534 ; --------------------------------------------------------------------------- ROM:A534 ROM:A534 ROM_A534: ; CODE XREF: ROM_A3E7+13Aj ROM:A534 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A535 000 cjne A, #90h, ROM_A548 ; 'É' ; Compare Operands and JNE ROM:A535 ROM:A538 000 mov DPTR, #4A6h ; Move (Op1 <- Op2) ROM:A53B 000 movx A, @DPTR ; Move from/to external RAM ROM:A53C 000 inc A ; Increment Operand ROM:A53D 000 movx @DPTR, A ; Move from/to external RAM ROM:A53E 000 mov A, #0A7h ; 'º' ; Move (Op1 <- Op2) ROM:A540 000 add A, R6 ; Add Second Operand to Acc ROM:A541 000 mov DP0L, A ; Data Pointer Low Byte ROM:A543 000 clr A ; Clear Operand (0) ROM:A544 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A546 000 sjmp ROM_A56E ; Short jump ROM:A546 ROM:A548 ; --------------------------------------------------------------------------- ROM:A548 ROM:A548 ROM_A548: ; CODE XREF: ROM_A3E7+14Ej ROM:A548 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A549 000 cjne A, #0A0h, ROM_A55C ; 'á' ; Compare Operands and JNE ROM:A549 ROM:A54C 000 mov DPTR, #4BAh ; Move (Op1 <- Op2) ROM:A54F 000 movx A, @DPTR ; Move from/to external RAM ROM:A550 000 inc A ; Increment Operand ROM:A551 000 movx @DPTR, A ; Move from/to external RAM ROM:A552 000 mov A, #0BBh ; '+' ; Move (Op1 <- Op2) ROM:A554 000 add A, R6 ; Add Second Operand to Acc ROM:A555 000 mov DP0L, A ; Data Pointer Low Byte ROM:A557 000 clr A ; Clear Operand (0) ROM:A558 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A55A 000 sjmp ROM_A56E ; Short jump ROM:A55A ROM:A55C ; --------------------------------------------------------------------------- ROM:A55C ROM:A55C ROM_A55C: ; CODE XREF: ROM_A3E7+162j ROM:A55C 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A55D 000 cjne A, #0B0h, ROM_A572 ; '¦' ; Compare Operands and JNE ROM:A55D ROM:A560 000 mov DPTR, #4CEh ; Move (Op1 <- Op2) ROM:A563 000 movx A, @DPTR ; Move from/to external RAM ROM:A564 000 inc A ; Increment Operand ROM:A565 000 movx @DPTR, A ; Move from/to external RAM ROM:A566 000 mov A, #0CFh ; '-' ; Move (Op1 <- Op2) ROM:A568 000 add A, R6 ; Add Second Operand to Acc ROM:A569 000 mov DP0L, A ; Data Pointer Low Byte ROM:A56B 000 clr A ; Clear Operand (0) ROM:A56C 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A56C ROM:A56E ROM:A56E ROM_A56E: ; CODE XREF: ROM_A3E7+BBj ROM:A56E ; ROM_A3E7+D0j ... ROM:A56E 000 mov DP0H, A ; Data Pointer High Byte ROM:A570 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A571 000 movx @DPTR, A ; Move from/to external RAM ROM:A571 ROM:A572 ROM:A572 ROM_A572: ; CODE XREF: ROM_A3E7+176j ROM:A572 000 inc R7 ; Increment Operand ROM:A573 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A574 000 xrl A, #0Dh ; Exclusive OR (op1 ^= op2) ROM:A576 000 jz ROM_A57B ; Jump if Acc is zero ROM:A576 ROM:A578 000 ljmp ROM_A47B ; Long Jump ROM:A578 ROM:A57B ; --------------------------------------------------------------------------- ROM:A57B ROM:A57B ROM_A57B: ; CODE XREF: ROM_A3E7+18Fj ROM:A57B 000 ret ; Return from subroutine ROM:A57B ROM:A57B ; End of function ROM_A3E7 ROM:A57B ROM:A57C ROM:A57C ; =============== S U B R O U T I N E ======================================= ROM:A57C ROM:A57C ROM:A57C ROM_A57C: ; CODE XREF: ROM_A61B+15p ROM:A57C ; ROM_A69D+136p ROM:A57C 000 mov R7, #4 ; Move (Op1 <- Op2) ROM:A57C ROM:A57E ROM:A57E ROM_A57E: ; CODE XREF: ROM_A57C+1Ej ROM:A57E 000 mov A, #1Ah ; Move (Op1 <- Op2) ROM:A580 000 add A, R7 ; Add Second Operand to Acc ROM:A581 000 mov DP0L, A ; Data Pointer Low Byte ROM:A583 000 clr A ; Clear Operand (0) ROM:A584 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A586 000 mov DP0H, A ; Data Pointer High Byte ROM:A588 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A58A 000 movx @DPTR, A ; Move from/to external RAM ROM:A58B 000 mov A, #24h ; '$' ; Move (Op1 <- Op2) ROM:A58D 000 add A, R7 ; Add Second Operand to Acc ROM:A58E 000 mov DP0L, A ; Data Pointer Low Byte ROM:A590 000 clr A ; Clear Operand (0) ROM:A591 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A593 000 mov DP0H, A ; Data Pointer High Byte ROM:A595 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A597 000 movx @DPTR, A ; Move from/to external RAM ROM:A598 000 inc R7 ; Increment Operand ROM:A599 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A59A 000 cjne A, #0Ah, ROM_A57E ; Compare Operands and JNE ROM:A59A ROM:A59D 000 mov R7, #0Eh ; Move (Op1 <- Op2) ROM:A59D ROM:A59F ROM:A59F ROM_A59F: ; CODE XREF: ROM_A57C+9Cj ROM:A59F 000 mov A, #2Eh ; '.' ; Move (Op1 <- Op2) ROM:A5A1 000 add A, R7 ; Add Second Operand to Acc ROM:A5A2 000 mov DP0L, A ; Data Pointer Low Byte ROM:A5A4 000 clr A ; Clear Operand (0) ROM:A5A5 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A5A7 000 mov DP0H, A ; Data Pointer High Byte ROM:A5A9 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A5AB 000 movx @DPTR, A ; Move from/to external RAM ROM:A5AC 000 mov A, #42h ; 'B' ; Move (Op1 <- Op2) ROM:A5AE 000 add A, R7 ; Add Second Operand to Acc ROM:A5AF 000 mov DP0L, A ; Data Pointer Low Byte ROM:A5B1 000 clr A ; Clear Operand (0) ROM:A5B2 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A5B4 000 mov DP0H, A ; Data Pointer High Byte ROM:A5B6 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A5B8 000 movx @DPTR, A ; Move from/to external RAM ROM:A5B9 000 mov A, #56h ; 'V' ; Move (Op1 <- Op2) ROM:A5BB 000 add A, R7 ; Add Second Operand to Acc ROM:A5BC 000 mov DP0L, A ; Data Pointer Low Byte ROM:A5BE 000 clr A ; Clear Operand (0) ROM:A5BF 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A5C1 000 mov DP0H, A ; Data Pointer High Byte ROM:A5C3 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A5C5 000 movx @DPTR, A ; Move from/to external RAM ROM:A5C6 000 mov A, #6Ah ; 'j' ; Move (Op1 <- Op2) ROM:A5C8 000 add A, R7 ; Add Second Operand to Acc ROM:A5C9 000 mov DP0L, A ; Data Pointer Low Byte ROM:A5CB 000 clr A ; Clear Operand (0) ROM:A5CC 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A5CE 000 mov DP0H, A ; Data Pointer High Byte ROM:A5D0 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A5D2 000 movx @DPTR, A ; Move from/to external RAM ROM:A5D3 000 mov A, #7Eh ; '~' ; Move (Op1 <- Op2) ROM:A5D5 000 add A, R7 ; Add Second Operand to Acc ROM:A5D6 000 mov DP0L, A ; Data Pointer Low Byte ROM:A5D8 000 clr A ; Clear Operand (0) ROM:A5D9 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A5DB 000 mov DP0H, A ; Data Pointer High Byte ROM:A5DD 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A5DF 000 movx @DPTR, A ; Move from/to external RAM ROM:A5E0 000 mov A, #92h ; 'Æ' ; Move (Op1 <- Op2) ROM:A5E2 000 add A, R7 ; Add Second Operand to Acc ROM:A5E3 000 mov DP0L, A ; Data Pointer Low Byte ROM:A5E5 000 clr A ; Clear Operand (0) ROM:A5E6 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A5E8 000 mov DP0H, A ; Data Pointer High Byte ROM:A5EA 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A5EC 000 movx @DPTR, A ; Move from/to external RAM ROM:A5ED 000 mov A, #0A6h ; 'ª' ; Move (Op1 <- Op2) ROM:A5EF 000 add A, R7 ; Add Second Operand to Acc ROM:A5F0 000 mov DP0L, A ; Data Pointer Low Byte ROM:A5F2 000 clr A ; Clear Operand (0) ROM:A5F3 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A5F5 000 mov DP0H, A ; Data Pointer High Byte ROM:A5F7 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A5F9 000 movx @DPTR, A ; Move from/to external RAM ROM:A5FA 000 mov A, #0BAh ; '¦' ; Move (Op1 <- Op2) ROM:A5FC 000 add A, R7 ; Add Second Operand to Acc ROM:A5FD 000 mov DP0L, A ; Data Pointer Low Byte ROM:A5FF 000 clr A ; Clear Operand (0) ROM:A600 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A602 000 mov DP0H, A ; Data Pointer High Byte ROM:A604 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A606 000 movx @DPTR, A ; Move from/to external RAM ROM:A607 000 mov A, #0CEh ; '+' ; Move (Op1 <- Op2) ROM:A609 000 add A, R7 ; Add Second Operand to Acc ROM:A60A 000 mov DP0L, A ; Data Pointer Low Byte ROM:A60C 000 clr A ; Clear Operand (0) ROM:A60D 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A60F 000 mov DP0H, A ; Data Pointer High Byte ROM:A611 000 mov A, #0FFh ; Move (Op1 <- Op2) ROM:A613 000 movx @DPTR, A ; Move from/to external RAM ROM:A614 000 inc R7 ; Increment Operand ROM:A615 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A616 000 xrl A, #14h ; Exclusive OR (op1 ^= op2) ROM:A618 000 jnz ROM_A59F ; Jump if Acc is not zero ROM:A618 ROM:A61A 000 ret ; Return from subroutine ROM:A61A ROM:A61A ; End of function ROM_A57C ROM:A61A ROM:A61B ROM:A61B ; =============== S U B R O U T I N E ======================================= ROM:A61B ROM:A61B ROM:A61B ROM_A61B: ROM:A61B 000 lcall set_GPIO_groupD_and_F ; Long Subroutine Call ROM:A61B ROM:A61E 000 lcall set_gating_and_INT28 ; Long Subroutine Call ROM:A61E ROM:A621 000 lcall set_SMBUS_frequency ; Long Subroutine Call ROM:A621 ROM:A624 000 lcall something_with_SRAM ; Long Subroutine Call ROM:A624 ROM:A627 000 lcall ROM_A268 ; Long Subroutine Call ROM:A627 ROM:A62A 000 lcall ROM_A2E6 ; Long Subroutine Call ROM:A62A ROM:A62D 000 lcall ROM_A3E7 ; Long Subroutine Call ROM:A62D ROM:A630 000 lcall ROM_A57C ; Long Subroutine Call ROM:A630 ROM:A633 000 clr A ; Clear Operand (0) ROM:A634 000 mov R5, A ; Move (Op1 <- Op2) ROM:A635 000 mov R4, A ; Move (Op1 <- Op2) ROM:A636 000 mov R7, A ; Move (Op1 <- Op2) ROM:A637 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A637 ROM:A63A 000 clr A ; Clear Operand (0) ROM:A63B 000 mov DPTR, #6FCh ; Move (Op1 <- Op2) ROM:A63E 000 movx @DPTR, A ; Move from/to external RAM ROM:A63E ROM:A63F ROM:A63F ROM_A63F: ; CODE XREF: ROM_A61B+7Fj ROM:A63F 000 mov DPTR, #6FCh ; Move (Op1 <- Op2) ROM:A642 000 movx A, @DPTR ; Move from/to external RAM ROM:A643 000 mov R5, A ; Move (Op1 <- Op2) ROM:A644 000 mov B, #10h ; B Register ROM:A647 000 mul AB ; Multiply Acc by B ROM:A648 000 add A, #0Ah ; Add Second Operand to Acc ROM:A64A 000 mov R7, A ; Move (Op1 <- Op2) ROM:A64B 000 mov A, B ; B Register ROM:A64D 000 addc A, #5 ; Add Second Operand to Acc with carry ROM:A64F 000 mov R6, A ; Move (Op1 <- Op2) ROM:A650 000 push RAM_6 ; Push from Direct RAM to Stack ROM:A652 001 push RAM_7 ; Push from Direct RAM to Stack ROM:A654 002 mov A, R5 ; Move (Op1 <- Op2) ROM:A655 002 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:A657 002 mov R7, A ; Move (Op1 <- Op2) ROM:A658 002 lcall ROM_9999 ; Long Subroutine Call ROM:A658 ROM:A65B 002 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:A65D 002 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:A65F 002 pop RAM_7 ; Pop from Stack and put in Direct RAM ROM:A661 001 pop RAM_6 ; Pop from Stack and put in Direct RAM ROM:A663 000 lcall ROM_98E2 ; Long Subroutine Call ROM:A663 ROM:A666 000 mov DPTR, #6FCh ; Move (Op1 <- Op2) ROM:A669 000 movx A, @DPTR ; Move from/to external RAM ROM:A66A 000 mov R5, A ; Move (Op1 <- Op2) ROM:A66B 000 mov B, #10h ; B Register ROM:A66E 000 mul AB ; Multiply Acc by B ROM:A66F 000 add A, #0Ch ; Add Second Operand to Acc ROM:A671 000 mov R7, A ; Move (Op1 <- Op2) ROM:A672 000 mov A, B ; B Register ROM:A674 000 addc A, #5 ; Add Second Operand to Acc with carry ROM:A676 000 mov R6, A ; Move (Op1 <- Op2) ROM:A677 000 push RAM_6 ; Push from Direct RAM to Stack ROM:A679 001 push RAM_7 ; Push from Direct RAM to Stack ROM:A67B 002 mov A, R5 ; Move (Op1 <- Op2) ROM:A67C 002 swap A ; Swap nibbles of Acc ROM:A67D 002 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:A67F 002 add A, #3Eh ; '>' ; Add Second Operand to Acc ROM:A681 002 mov R7, A ; Move (Op1 <- Op2) ROM:A682 002 lcall ROM_9999 ; Long Subroutine Call ROM:A682 ROM:A685 002 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:A687 002 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:A689 002 pop RAM_7 ; Pop from Stack and put in Direct RAM ROM:A68B 001 pop RAM_6 ; Pop from Stack and put in Direct RAM ROM:A68D 000 lcall ROM_98E2 ; Long Subroutine Call ROM:A68D ROM:A690 000 mov DPTR, #6FCh ; Move (Op1 <- Op2) ROM:A693 000 movx A, @DPTR ; Move from/to external RAM ROM:A694 000 inc A ; Increment Operand ROM:A695 000 movx @DPTR, A ; Move from/to external RAM ROM:A696 000 movx A, @DPTR ; Move from/to external RAM ROM:A697 000 clr C ; Clear Operand (0) ROM:A698 000 subb A, #0Dh ; Subtract Second Operand from Acc with Borrow ROM:A69A 000 jc ROM_A63F ; Jump if Carry is set ROM:A69A ROM:A69C 000 ret ; Return from subroutine ROM:A69C ROM:A69C ; End of function ROM_A61B ROM:A69C ROM:A69D ROM:A69D ; =============== S U B R O U T I N E ======================================= ROM:A69D ROM:A69D ROM:A69D ROM_A69D: ; CODE XREF: ROM:11E3j ROM:A69D 000 clr RAM_27.7 ; Clear Operand (0) ROM:A69F 000 mov DPTR, #590h ; Move (Op1 <- Op2) ROM:A6A2 000 movx A, @DPTR ; Move from/to external RAM ROM:A6A3 000 inc A ; Increment Operand ROM:A6A4 000 movx @DPTR, A ; Move from/to external RAM ROM:A6A5 000 clr A ; Clear Operand (0) ROM:A6A6 000 mov R5, A ; Move (Op1 <- Op2) ROM:A6A7 000 mov R4, A ; Move (Op1 <- Op2) ROM:A6A8 000 mov R7, A ; Move (Op1 <- Op2) ROM:A6A9 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A6A9 ROM:A6AC 000 mov R7, #3 ; Move (Op1 <- Op2) ROM:A6AE 000 lcall ROM_9999 ; Long Subroutine Call ROM:A6AE ROM:A6B1 000 mov DPTR, #0F40h ; Move (Op1 <- Op2) ROM:A6B4 000 mov A, R6 ; Move (Op1 <- Op2) ROM:A6B5 000 movx @DPTR, A ; Move from/to external RAM ROM:A6B6 000 inc DPTR ; Increment Operand ROM:A6B7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A6B8 000 movx @DPTR, A ; Move from/to external RAM ROM:A6B9 000 mov R7, #4 ; Move (Op1 <- Op2) ROM:A6BB 000 lcall ROM_9999 ; Long Subroutine Call ROM:A6BB ROM:A6BE 000 mov DPTR, #0F42h ; Move (Op1 <- Op2) ROM:A6C1 000 mov A, R6 ; Move (Op1 <- Op2) ROM:A6C2 000 movx @DPTR, A ; Move from/to external RAM ROM:A6C3 000 inc DPTR ; Increment Operand ROM:A6C4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A6C5 000 movx @DPTR, A ; Move from/to external RAM ROM:A6C6 000 mov R7, #6 ; Move (Op1 <- Op2) ROM:A6C8 000 lcall ROM_9999 ; Long Subroutine Call ROM:A6C8 ROM:A6CB 000 mov DPTR, #0F44h ; Move (Op1 <- Op2) ROM:A6CE 000 mov A, R6 ; Move (Op1 <- Op2) ROM:A6CF 000 movx @DPTR, A ; Move from/to external RAM ROM:A6D0 000 inc DPTR ; Increment Operand ROM:A6D1 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A6D2 000 movx @DPTR, A ; Move from/to external RAM ROM:A6D3 000 mov DPTR, #0F40h ; Move (Op1 <- Op2) ROM:A6D6 000 mov R7, #13h ; Move (Op1 <- Op2) ROM:A6D8 000 lcall ROM_98DB ; Long Subroutine Call ROM:A6D8 ROM:A6DB 000 mov DPTR, #0F42h ; Move (Op1 <- Op2) ROM:A6DE 000 mov R7, #16h ; Move (Op1 <- Op2) ROM:A6E0 000 lcall ROM_98DB ; Long Subroutine Call ROM:A6E0 ROM:A6E3 000 clr A ; Clear Operand (0) ROM:A6E4 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A6E7 000 movx @DPTR, A ; Move from/to external RAM ROM:A6E7 ROM:A6E8 ROM:A6E8 ROM_A6E8: ; CODE XREF: ROM_A69D+A6j ROM:A6E8 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A6EB 000 movx A, @DPTR ; Move from/to external RAM ROM:A6EC 000 mov R5, A ; Move (Op1 <- Op2) ROM:A6ED 000 mov B, #10h ; B Register ROM:A6F0 000 mul AB ; Multiply Acc by B ROM:A6F1 000 add A, #0Ah ; Add Second Operand to Acc ROM:A6F3 000 mov R7, A ; Move (Op1 <- Op2) ROM:A6F4 000 mov A, B ; B Register ROM:A6F6 000 addc A, #5 ; Add Second Operand to Acc with carry ROM:A6F8 000 mov R6, A ; Move (Op1 <- Op2) ROM:A6F9 000 push RAM_6 ; Push from Direct RAM to Stack ROM:A6FB 001 push RAM_7 ; Push from Direct RAM to Stack ROM:A6FD 002 mov A, R5 ; Move (Op1 <- Op2) ROM:A6FE 002 add A, #20h ; ' ' ; Add Second Operand to Acc ROM:A700 002 mov R7, A ; Move (Op1 <- Op2) ROM:A701 002 lcall ROM_9999 ; Long Subroutine Call ROM:A701 ROM:A704 002 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:A706 002 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:A708 002 pop RAM_7 ; Pop from Stack and put in Direct RAM ROM:A70A 001 pop RAM_6 ; Pop from Stack and put in Direct RAM ROM:A70C 000 lcall ROM_98E2 ; Long Subroutine Call ROM:A70C ROM:A70F 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A712 000 movx A, @DPTR ; Move from/to external RAM ROM:A713 000 mov R5, A ; Move (Op1 <- Op2) ROM:A714 000 mov B, #10h ; B Register ROM:A717 000 mul AB ; Multiply Acc by B ROM:A718 000 add A, #0Ch ; Add Second Operand to Acc ROM:A71A 000 mov R7, A ; Move (Op1 <- Op2) ROM:A71B 000 mov A, B ; B Register ROM:A71D 000 addc A, #5 ; Add Second Operand to Acc with carry ROM:A71F 000 mov R6, A ; Move (Op1 <- Op2) ROM:A720 000 push RAM_6 ; Push from Direct RAM to Stack ROM:A722 001 push RAM_7 ; Push from Direct RAM to Stack ROM:A724 002 mov A, R5 ; Move (Op1 <- Op2) ROM:A725 002 swap A ; Swap nibbles of Acc ROM:A726 002 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:A728 002 add A, #3Eh ; '>' ; Add Second Operand to Acc ROM:A72A 002 mov R7, A ; Move (Op1 <- Op2) ROM:A72B 002 lcall ROM_9999 ; Long Subroutine Call ROM:A72B ROM:A72E 002 mov R4, RAM_6 ; Move (Op1 <- Op2) ROM:A730 002 mov R5, RAM_7 ; Move (Op1 <- Op2) ROM:A732 002 pop RAM_7 ; Pop from Stack and put in Direct RAM ROM:A734 001 pop RAM_6 ; Pop from Stack and put in Direct RAM ROM:A736 000 lcall ROM_98E2 ; Long Subroutine Call ROM:A736 ROM:A739 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A73C 000 movx A, @DPTR ; Move from/to external RAM ROM:A73D 000 inc A ; Increment Operand ROM:A73E 000 movx @DPTR, A ; Move from/to external RAM ROM:A73F 000 movx A, @DPTR ; Move from/to external RAM ROM:A740 000 clr C ; Clear Operand (0) ROM:A741 000 subb A, #0Dh ; Subtract Second Operand from Acc with Borrow ROM:A743 000 jc ROM_A6E8 ; Jump if Carry is set ROM:A743 ROM:A745 000 mov DPTR, #0F40h ; Move (Op1 <- Op2) ROM:A748 000 movx A, @DPTR ; Move from/to external RAM ROM:A749 000 jnz ROM_A74D ; Jump if Acc is not zero ROM:A749 ROM:A74B 000 inc DPTR ; Increment Operand ROM:A74C 000 movx A, @DPTR ; Move from/to external RAM ROM:A74C ROM:A74D ROM:A74D ROM_A74D: ; CODE XREF: ROM_A69D+ACj ROM:A74D 000 jz ROM_A7CB ; Jump if Acc is zero ROM:A74D ROM:A74F 000 clr A ; Clear Operand (0) ROM:A750 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A753 000 movx @DPTR, A ; Move from/to external RAM ROM:A753 ROM:A754 ROM:A754 ROM_A754: ; CODE XREF: ROM_A69D+12Cj ROM:A754 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A757 000 movx A, @DPTR ; Move from/to external RAM ROM:A758 000 mov R7, A ; Move (Op1 <- Op2) ROM:A759 000 clr C ; Clear Operand (0) ROM:A75A 000 subb A, #0Dh ; Subtract Second Operand from Acc with Borrow ROM:A75C 000 jnc ROM_A7D6 ; Jump if Carry is clear ROM:A75C ROM:A75E 000 mov A, #1 ; Move (Op1 <- Op2) ROM:A760 000 mov R6, #0 ; Move (Op1 <- Op2) ROM:A762 000 mov R0, RAM_7 ; Move (Op1 <- Op2) ROM:A764 000 inc R0 ; Increment Operand ROM:A765 000 sjmp ROM_A76C ; Short jump ROM:A765 ROM:A767 ; --------------------------------------------------------------------------- ROM:A767 ROM:A767 ROM_A767: ; CODE XREF: ROM_A69D:ROM_A76Cj ROM:A767 000 clr C ; Clear Operand (0) ROM:A768 000 rlc A ; Rotate Acc left through Carry ROM:A769 000 xch A, R6 ; Exchange Operands ROM:A76A 000 rlc A ; Rotate Acc left through Carry ROM:A76B 000 xch A, R6 ; Exchange Operands ROM:A76B ROM:A76C ROM:A76C ROM_A76C: ; CODE XREF: ROM_A69D+C8j ROM:A76C 000 djnz R0, ROM_A767 ; Decrement Operand and JNZ ROM:A76C ROM:A76E 000 mov R7, A ; Move (Op1 <- Op2) ROM:A76F 000 mov DPTR, #0F40h ; Move (Op1 <- Op2) ROM:A772 000 movx A, @DPTR ; Move from/to external RAM ROM:A773 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:A774 000 mov R6, A ; Move (Op1 <- Op2) ROM:A775 000 inc DPTR ; Increment Operand ROM:A776 000 movx A, @DPTR ; Move from/to external RAM ROM:A777 000 anl A, R7 ; Logical AND (op1 &= op2) ROM:A778 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:A779 000 jz ROM_A7C3 ; Jump if Acc is zero ROM:A779 ROM:A77B 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A77E 000 movx A, @DPTR ; Move from/to external RAM ROM:A77F 000 mov R7, A ; Move (Op1 <- Op2) ROM:A780 000 add A, ACC ; Accumulator ROM:A782 000 add A, #0 ; Add Second Operand to Acc ROM:A784 000 mov DP0L, A ; Data Pointer Low Byte ROM:A786 000 clr A ; Clear Operand (0) ROM:A787 000 addc A, #4 ; Add Second Operand to Acc with carry ROM:A789 000 mov DP0H, A ; Data Pointer High Byte ROM:A78B 000 movx A, @DPTR ; Move from/to external RAM ROM:A78C 000 add A, #0EEh ; 'e' ; Add Second Operand to Acc ROM:A78E 000 jz ROM_A794 ; Jump if Acc is zero ROM:A78E ROM:A790 000 add A, #2 ; Add Second Operand to Acc ROM:A792 000 jnz ROM_A7D6 ; Jump if Acc is not zero ROM:A792 ROM:A794 ROM:A794 ROM_A794: ; CODE XREF: ROM_A69D+F1j ROM:A794 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A795 000 cjne A, #0Ah, ROM_A7A0 ; Compare Operands and JNE ROM:A795 ROM:A798 000 mov R5, #0A2h ; 'ó' ; Move (Op1 <- Op2) ROM:A79A 000 mov R4, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:A79C 000 mov R7, #22h ; '"' ; Move (Op1 <- Op2) ROM:A79E 000 sjmp ROM_A7BC ; Short jump ROM:A79E ROM:A7A0 ; --------------------------------------------------------------------------- ROM:A7A0 ROM:A7A0 ROM_A7A0: ; CODE XREF: ROM_A69D+F8j ROM:A7A0 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A7A3 000 movx A, @DPTR ; Move from/to external RAM ROM:A7A4 000 cjne A, #0Bh, ROM_A7AF ; Compare Operands and JNE ROM:A7A4 ROM:A7A7 000 mov R5, #0B2h ; '¦' ; Move (Op1 <- Op2) ROM:A7A9 000 mov R4, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:A7AB 000 mov R7, #32h ; '2' ; Move (Op1 <- Op2) ROM:A7AD 000 sjmp ROM_A7BC ; Short jump ROM:A7AD ROM:A7AF ; --------------------------------------------------------------------------- ROM:A7AF ROM:A7AF ROM_A7AF: ; CODE XREF: ROM_A69D+107j ROM:A7AF 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A7B2 000 movx A, @DPTR ; Move from/to external RAM ROM:A7B3 000 cjne A, #0Ch, ROM_A7D6 ; Compare Operands and JNE ROM:A7B3 ROM:A7B6 000 mov R5, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:A7B8 000 mov R4, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:A7BA 000 mov R7, #20h ; ' ' ; Move (Op1 <- Op2) ROM:A7BA ROM:A7BC ROM:A7BC ROM_A7BC: ; CODE XREF: ROM_A69D+101j ROM:A7BC ; ROM_A69D+110j ROM:A7BC 000 mov R6, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:A7BE 000 lcall ROM_A7DB ; Long Subroutine Call ROM:A7BE ROM:A7C1 000 sjmp ROM_A7D6 ; Short jump ROM:A7C1 ROM:A7C3 ; --------------------------------------------------------------------------- ROM:A7C3 ROM:A7C3 ROM_A7C3: ; CODE XREF: ROM_A69D+DCj ROM:A7C3 000 mov DPTR, #0F3Fh ; Move (Op1 <- Op2) ROM:A7C6 000 movx A, @DPTR ; Move from/to external RAM ROM:A7C7 000 inc A ; Increment Operand ROM:A7C8 000 movx @DPTR, A ; Move from/to external RAM ROM:A7C9 000 sjmp ROM_A754 ; Short jump ROM:A7C9 ROM:A7CB ; --------------------------------------------------------------------------- ROM:A7CB ROM:A7CB ROM_A7CB: ; CODE XREF: ROM_A69D:ROM_A74Dj ROM:A7CB 000 clr A ; Clear Operand (0) ROM:A7CC 000 mov R5, A ; Move (Op1 <- Op2) ROM:A7CD 000 mov R4, A ; Move (Op1 <- Op2) ROM:A7CE 000 mov R7, #0Dh ; Move (Op1 <- Op2) ROM:A7D0 000 lcall ROM_9BA0 ; Long Subroutine Call ROM:A7D0 ROM:A7D3 000 lcall ROM_A57C ; Long Subroutine Call ROM:A7D3 ROM:A7D6 ROM:A7D6 ROM_A7D6: ; CODE XREF: ROM_A69D+BFj ROM:A7D6 ; ROM_A69D+F5j ... ROM:A7D6 000 mov R7, #1 ; Move (Op1 <- Op2) ROM:A7D8 000 ljmp ROM_9999 ; Long Jump ROM:A7D8 ROM:A7D8 ; End of function ROM_A69D ROM:A7D8 ROM:A7DB ROM:A7DB ; =============== S U B R O U T I N E ======================================= ROM:A7DB ROM:A7DB ROM:A7DB ROM_A7DB: ; CODE XREF: ROM_A69D+121p ROM:A7DB 000 mov DPTR, #0F46h ; Move (Op1 <- Op2) ROM:A7DE 000 mov A, R6 ; Move (Op1 <- Op2) ROM:A7DF 000 movx @DPTR, A ; Move from/to external RAM ROM:A7E0 000 inc DPTR ; Increment Operand ROM:A7E1 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A7E2 000 movx @DPTR, A ; Move from/to external RAM ROM:A7E3 000 mov DPTR, #0F48h ; Move (Op1 <- Op2) ROM:A7E6 000 mov A, R4 ; Move (Op1 <- Op2) ROM:A7E7 000 movx @DPTR, A ; Move from/to external RAM ROM:A7E8 000 inc DPTR ; Increment Operand ROM:A7E9 000 mov A, R5 ; Move (Op1 <- Op2) ROM:A7EA 000 movx @DPTR, A ; Move from/to external RAM ROM:A7EB 000 mov DPTR, #0F46h ; Move (Op1 <- Op2) ROM:A7EE 000 movx A, @DPTR ; Move from/to external RAM ROM:A7EF 000 mov R7, A ; Move (Op1 <- Op2) ROM:A7F0 000 lcall ROM_1462 ; Long Subroutine Call ROM:A7F0 ROM:A7F3 000 mov DPTR, #0F46h ; Move (Op1 <- Op2) ROM:A7F6 000 movx A, @DPTR ; Move from/to external RAM ROM:A7F7 000 inc DPTR ; Increment Operand ROM:A7F8 000 movx A, @DPTR ; Move from/to external RAM ROM:A7F9 000 mov R7, A ; Move (Op1 <- Op2) ROM:A7FA 000 lcall ROM_1462 ; Long Subroutine Call ROM:A7FA ROM:A7FD 000 mov DPTR, #0F48h ; Move (Op1 <- Op2) ROM:A800 000 movx A, @DPTR ; Move from/to external RAM ROM:A801 000 mov R7, A ; Move (Op1 <- Op2) ROM:A802 000 lcall ROM_1462 ; Long Subroutine Call ROM:A802 ROM:A805 000 mov DPTR, #0F48h ; Move (Op1 <- Op2) ROM:A808 000 movx A, @DPTR ; Move from/to external RAM ROM:A809 000 inc DPTR ; Increment Operand ROM:A80A 000 movx A, @DPTR ; Move from/to external RAM ROM:A80B 000 mov R7, A ; Move (Op1 <- Op2) ROM:A80C 000 ljmp ROM_1462 ; Long Jump ROM:A80C ROM:A80C ; End of function ROM_A7DB ROM:A80C ROM:A80C ; --------------------------------------------------------------------------- ROM:A80F db 0 ROM:A810 db 10h ROM:A811 db 0 ROM:A812 db 10h ROM:A813 db 0 ROM:A814 db 10h ROM:A815 db 0 ROM:A816 db 0 ROM:A817 db 0 ROM:A818 db 0 ROM:A819 db 0 ROM:A81A db 0 ROM:A81B db 0 ROM:A81C db 0 ROM:A81D db 0 ROM:A81E db 0 ROM:A81F db 0 ROM:A820 db 0 ROM:A821 db 0 ROM:A822 db 0 ROM:A823 db 0 ROM:A824 db 0 ROM:A825 db 0 ROM:A826 db 0 ROM:A827 db 0 ROM:A828 db 0 ROM:A829 ROM:A829 ; =============== S U B R O U T I N E ======================================= ROM:A829 ROM:A829 ROM:A829 ROM_A829: ; CODE XREF: ROM_B24A+6p ROM:A829 000 mov DPTR, #0DD0h ; Move (Op1 <- Op2) ROM:A82C 000 lcall ROM_B69E ; Long Subroutine Call ROM:A82C ROM:A82F 000 xrl A, @R1 ; Exclusive OR (op1 ^= op2) ROM:A830 000 orl A, RAM_23 ; Logical OR (op1 |= op2) ROM:A832 000 ajmp ROM_A890 ; Absolute Jump ROM:A832 ROM:A832 ; --------------------------------------------------------------------------- ROM:A834 000 db 0Dh, 0D4h, 12h, 0B6h, 9Eh, 0EFh, 0CDh, 0ABh, 89h, 90h ROM:A834 db 0Dh, 0D8h, 12h, 0B6h, 9Eh, 98h, 0BAh, 0DCh, 0FEh, 90h ROM:A834 db 0Dh, 0DCh, 12h, 0B6h, 9Eh, 10h, 32h, 54h, 76h, 90h ROM:A834 db 0Dh, 0E0h, 12h, 0B6h, 9Eh, 0C3h, 0D2h, 0E1h, 0F0h, 90h ROM:A834 db 0Dh, 0D0h, 0E0h, 0FCh, 0A3h, 0E0h, 0FDh, 0A3h, 0E0h ROM:A834 db 0FEh, 0A3h, 0E0h, 0FFh, 90h, 0Dh, 0A4h, 12h, 0B6h, 92h ROM:A834 db 90h, 0Dh, 0D4h, 0E0h, 0FCh, 0A3h, 0E0h, 0FDh, 0A3h ROM:A834 db 0E0h, 0FEh, 0A3h, 0E0h, 0FFh, 90h, 0Dh, 0A8h, 12h, 0B6h ROM:A834 db 92h, 90h, 0Dh, 0D8h, 0E0h, 0FCh, 0A3h, 0E0h, 0FDh, 0A3h ROM:A834 db 0E0h, 0FEh, 0A3h, 0E0h ROM:A890 ; --------------------------------------------------------------------------- ROM:A890 ROM:A890 ROM_A890: ; CODE XREF: ROM_A829+9j ROM:A890 000 mov R7, A ; Move (Op1 <- Op2) ROM:A891 000 mov DPTR, #0DACh ; Move (Op1 <- Op2) ROM:A894 000 lcall ROM_B692 ; Long Subroutine Call ROM:A894 ROM:A897 000 mov DPTR, #0DDCh ; Move (Op1 <- Op2) ROM:A89A 000 movx A, @DPTR ; Move from/to external RAM ROM:A89B 000 mov R4, A ; Move (Op1 <- Op2) ROM:A89C 000 inc DPTR ; Increment Operand ROM:A89D 000 movx A, @DPTR ; Move from/to external RAM ROM:A89E 000 mov R5, A ; Move (Op1 <- Op2) ROM:A89F 000 inc DPTR ; Increment Operand ROM:A8A0 000 movx A, @DPTR ; Move from/to external RAM ROM:A8A1 000 mov R6, A ; Move (Op1 <- Op2) ROM:A8A2 000 inc DPTR ; Increment Operand ROM:A8A3 000 movx A, @DPTR ; Move from/to external RAM ROM:A8A4 000 mov R7, A ; Move (Op1 <- Op2) ROM:A8A5 000 mov DPTR, #0DB0h ; Move (Op1 <- Op2) ROM:A8A8 000 lcall ROM_B692 ; Long Subroutine Call ROM:A8A8 ROM:A8AB 000 mov DPTR, #0DE0h ; Move (Op1 <- Op2) ROM:A8AE 000 movx A, @DPTR ; Move from/to external RAM ROM:A8AF 000 mov R4, A ; Move (Op1 <- Op2) ROM:A8B0 000 inc DPTR ; Increment Operand ROM:A8B1 000 movx A, @DPTR ; Move from/to external RAM ROM:A8B2 000 mov R5, A ; Move (Op1 <- Op2) ROM:A8B3 000 inc DPTR ; Increment Operand ROM:A8B4 000 movx A, @DPTR ; Move from/to external RAM ROM:A8B5 000 mov R6, A ; Move (Op1 <- Op2) ROM:A8B6 000 inc DPTR ; Increment Operand ROM:A8B7 000 movx A, @DPTR ; Move from/to external RAM ROM:A8B8 000 mov R7, A ; Move (Op1 <- Op2) ROM:A8B9 000 mov DPTR, #0DB4h ; Move (Op1 <- Op2) ROM:A8BC 000 lcall ROM_B692 ; Long Subroutine Call ROM:A8BC ROM:A8BF 000 mov RAM_35, #10h ; Move (Op1 <- Op2) ROM:A8BF ROM:A8C2 ROM:A8C2 ROM_A8C2: ; CODE XREF: ROM_A829+1F9j ROM:A8C2 000 mov R7, RAM_35 ; Move (Op1 <- Op2) ROM:A8C4 000 mov B, #4 ; B Register ROM:A8C7 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A8C8 000 mul AB ; Multiply Acc by B ROM:A8C9 000 add A, #0E0h ; 'a' ; Add Second Operand to Acc ROM:A8CB 000 mov DP0L, A ; Data Pointer Low Byte ROM:A8CD 000 mov A, B ; B Register ROM:A8CF 000 addc A, #0Bh ; Add Second Operand to Acc with carry ROM:A8D1 000 mov DP0H, A ; Data Pointer High Byte ROM:A8D3 000 movx A, @DPTR ; Move from/to external RAM ROM:A8D4 000 mov R4, A ; Move (Op1 <- Op2) ROM:A8D5 000 inc DPTR ; Increment Operand ROM:A8D6 000 movx A, @DPTR ; Move from/to external RAM ROM:A8D7 000 mov R5, A ; Move (Op1 <- Op2) ROM:A8D8 000 inc DPTR ; Increment Operand ROM:A8D9 000 movx A, @DPTR ; Move from/to external RAM ROM:A8DA 000 mov R6, A ; Move (Op1 <- Op2) ROM:A8DB 000 inc DPTR ; Increment Operand ROM:A8DC 000 movx A, @DPTR ; Move from/to external RAM ROM:A8DD 000 mov R7, A ; Move (Op1 <- Op2) ROM:A8DE 000 mov R3, RAM_35 ; Move (Op1 <- Op2) ROM:A8E0 000 mov B, #4 ; B Register ROM:A8E3 000 mov A, R3 ; Move (Op1 <- Op2) ROM:A8E4 000 mul AB ; Multiply Acc by B ROM:A8E5 000 add A, #0F4h ; '(' ; Add Second Operand to Acc ROM:A8E7 000 mov DP0L, A ; Data Pointer Low Byte ROM:A8E9 000 mov A, B ; B Register ROM:A8EB 000 addc A, #0Bh ; Add Second Operand to Acc with carry ROM:A8ED 000 mov DP0H, A ; Data Pointer High Byte ROM:A8EF 000 movx A, @DPTR ; Move from/to external RAM ROM:A8F0 000 mov R0, A ; Move (Op1 <- Op2) ROM:A8F1 000 inc DPTR ; Increment Operand ROM:A8F2 000 movx A, @DPTR ; Move from/to external RAM ROM:A8F3 000 mov R1, A ; Move (Op1 <- Op2) ROM:A8F4 000 inc DPTR ; Increment Operand ROM:A8F5 000 movx A, @DPTR ; Move from/to external RAM ROM:A8F6 000 mov R2, A ; Move (Op1 <- Op2) ROM:A8F7 000 inc DPTR ; Increment Operand ROM:A8F8 000 movx A, @DPTR ; Move from/to external RAM ROM:A8F9 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:A8FA 000 mov R7, A ; Move (Op1 <- Op2) ROM:A8FB 000 mov A, R2 ; Move (Op1 <- Op2) ROM:A8FC 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:A8FD 000 mov R6, A ; Move (Op1 <- Op2) ROM:A8FE 000 mov A, R1 ; Move (Op1 <- Op2) ROM:A8FF 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:A900 000 mov R5, A ; Move (Op1 <- Op2) ROM:A901 000 mov A, R0 ; Move (Op1 <- Op2) ROM:A902 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:A903 000 mov R4, A ; Move (Op1 <- Op2) ROM:A904 000 mov R3, RAM_35 ; Move (Op1 <- Op2) ROM:A906 000 mov B, #4 ; B Register ROM:A909 000 mov A, R3 ; Move (Op1 <- Op2) ROM:A90A 000 mul AB ; Multiply Acc by B ROM:A90B 000 add A, #0C8h ; '+' ; Add Second Operand to Acc ROM:A90D 000 mov DP0L, A ; Data Pointer Low Byte ROM:A90F 000 mov A, B ; B Register ROM:A911 000 addc A, #0Bh ; Add Second Operand to Acc with carry ROM:A913 000 mov DP0H, A ; Data Pointer High Byte ROM:A915 000 movx A, @DPTR ; Move from/to external RAM ROM:A916 000 mov R0, A ; Move (Op1 <- Op2) ROM:A917 000 inc DPTR ; Increment Operand ROM:A918 000 movx A, @DPTR ; Move from/to external RAM ROM:A919 000 mov R1, A ; Move (Op1 <- Op2) ROM:A91A 000 inc DPTR ; Increment Operand ROM:A91B 000 movx A, @DPTR ; Move from/to external RAM ROM:A91C 000 mov R2, A ; Move (Op1 <- Op2) ROM:A91D 000 inc DPTR ; Increment Operand ROM:A91E 000 movx A, @DPTR ; Move from/to external RAM ROM:A91F 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:A920 000 mov R7, A ; Move (Op1 <- Op2) ROM:A921 000 mov A, R2 ; Move (Op1 <- Op2) ROM:A922 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:A923 000 mov R6, A ; Move (Op1 <- Op2) ROM:A924 000 mov A, R1 ; Move (Op1 <- Op2) ROM:A925 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:A926 000 mov R5, A ; Move (Op1 <- Op2) ROM:A927 000 mov A, R0 ; Move (Op1 <- Op2) ROM:A928 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:A929 000 mov R4, A ; Move (Op1 <- Op2) ROM:A92A 000 mov R3, RAM_35 ; Move (Op1 <- Op2) ROM:A92C 000 mov B, #4 ; B Register ROM:A92F 000 mov A, R3 ; Move (Op1 <- Op2) ROM:A930 000 mul AB ; Multiply Acc by B ROM:A931 000 add A, #0C0h ; '+' ; Add Second Operand to Acc ROM:A933 000 mov DP0L, A ; Data Pointer Low Byte ROM:A935 000 mov A, B ; B Register ROM:A937 000 addc A, #0Bh ; Add Second Operand to Acc with carry ROM:A939 000 mov DP0H, A ; Data Pointer High Byte ROM:A93B 000 movx A, @DPTR ; Move from/to external RAM ROM:A93C 000 mov R0, A ; Move (Op1 <- Op2) ROM:A93D 000 inc DPTR ; Increment Operand ROM:A93E 000 movx A, @DPTR ; Move from/to external RAM ROM:A93F 000 mov R1, A ; Move (Op1 <- Op2) ROM:A940 000 inc DPTR ; Increment Operand ROM:A941 000 movx A, @DPTR ; Move from/to external RAM ROM:A942 000 mov R2, A ; Move (Op1 <- Op2) ROM:A943 000 inc DPTR ; Increment Operand ROM:A944 000 movx A, @DPTR ; Move from/to external RAM ROM:A945 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:A946 000 mov R7, A ; Move (Op1 <- Op2) ROM:A947 000 mov A, R2 ; Move (Op1 <- Op2) ROM:A948 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:A949 000 mov R6, A ; Move (Op1 <- Op2) ROM:A94A 000 mov A, R1 ; Move (Op1 <- Op2) ROM:A94B 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:A94C 000 mov R5, A ; Move (Op1 <- Op2) ROM:A94D 000 mov A, R0 ; Move (Op1 <- Op2) ROM:A94E 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:A94F 000 mov R4, A ; Move (Op1 <- Op2) ROM:A950 000 mov R0, #1 ; Move (Op1 <- Op2) ROM:A952 000 lcall ROM_B66F ; Long Subroutine Call ROM:A952 ROM:A955 000 mov DPTR, #0F4Ah ; Move (Op1 <- Op2) ROM:A958 000 lcall ROM_B692 ; Long Subroutine Call ROM:A958 ROM:A95B 000 mov R7, RAM_35 ; Move (Op1 <- Op2) ROM:A95D 000 mov B, #4 ; B Register ROM:A960 000 mov A, R7 ; Move (Op1 <- Op2) ROM:A961 000 mul AB ; Multiply Acc by B ROM:A962 000 add A, #0E0h ; 'a' ; Add Second Operand to Acc ROM:A964 000 mov DP0L, A ; Data Pointer Low Byte ROM:A966 000 mov A, B ; B Register ROM:A968 000 addc A, #0Bh ; Add Second Operand to Acc with carry ROM:A96A 000 mov DP0H, A ; Data Pointer High Byte ROM:A96C 000 movx A, @DPTR ; Move from/to external RAM ROM:A96D 000 mov R4, A ; Move (Op1 <- Op2) ROM:A96E 000 inc DPTR ; Increment Operand ROM:A96F 000 movx A, @DPTR ; Move from/to external RAM ROM:A970 000 mov R5, A ; Move (Op1 <- Op2) ROM:A971 000 inc DPTR ; Increment Operand ROM:A972 000 movx A, @DPTR ; Move from/to external RAM ROM:A973 000 mov R6, A ; Move (Op1 <- Op2) ROM:A974 000 inc DPTR ; Increment Operand ROM:A975 000 movx A, @DPTR ; Move from/to external RAM ROM:A976 000 mov R7, A ; Move (Op1 <- Op2) ROM:A977 000 mov R3, RAM_35 ; Move (Op1 <- Op2) ROM:A979 000 mov B, #4 ; B Register ROM:A97C 000 mov A, R3 ; Move (Op1 <- Op2) ROM:A97D 000 mul AB ; Multiply Acc by B ROM:A97E 000 add A, #0F4h ; '(' ; Add Second Operand to Acc ROM:A980 000 mov DP0L, A ; Data Pointer Low Byte ROM:A982 000 mov A, B ; B Register ROM:A984 000 addc A, #0Bh ; Add Second Operand to Acc with carry ROM:A986 000 mov DP0H, A ; Data Pointer High Byte ROM:A988 000 movx A, @DPTR ; Move from/to external RAM ROM:A989 000 mov R0, A ; Move (Op1 <- Op2) ROM:A98A 000 inc DPTR ; Increment Operand ROM:A98B 000 movx A, @DPTR ; Move from/to external RAM ROM:A98C 000 mov R1, A ; Move (Op1 <- Op2) ROM:A98D 000 inc DPTR ; Increment Operand ROM:A98E 000 movx A, @DPTR ; Move from/to external RAM ROM:A98F 000 mov R2, A ; Move (Op1 <- Op2) ROM:A990 000 inc DPTR ; Increment Operand ROM:A991 000 movx A, @DPTR ; Move from/to external RAM ROM:A992 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:A993 000 mov R7, A ; Move (Op1 <- Op2) ROM:A994 000 mov A, R2 ; Move (Op1 <- Op2) ROM:A995 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:A996 000 mov R6, A ; Move (Op1 <- Op2) ROM:A997 000 mov A, R1 ; Move (Op1 <- Op2) ROM:A998 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:A999 000 mov R5, A ; Move (Op1 <- Op2) ROM:A99A 000 mov A, R0 ; Move (Op1 <- Op2) ROM:A99B 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:A99C 000 mov R4, A ; Move (Op1 <- Op2) ROM:A99D 000 mov R3, RAM_35 ; Move (Op1 <- Op2) ROM:A99F 000 mov B, #4 ; B Register ROM:A9A2 000 mov A, R3 ; Move (Op1 <- Op2) ROM:A9A3 000 mul AB ; Multiply Acc by B ROM:A9A4 000 add A, #0C8h ; '+' ; Add Second Operand to Acc ROM:A9A6 000 mov DP0L, A ; Data Pointer Low Byte ROM:A9A8 000 mov A, B ; B Register ROM:A9AA 000 addc A, #0Bh ; Add Second Operand to Acc with carry ROM:A9AC 000 mov DP0H, A ; Data Pointer High Byte ROM:A9AE 000 movx A, @DPTR ; Move from/to external RAM ROM:A9AF 000 mov R0, A ; Move (Op1 <- Op2) ROM:A9B0 000 inc DPTR ; Increment Operand ROM:A9B1 000 movx A, @DPTR ; Move from/to external RAM ROM:A9B2 000 mov R1, A ; Move (Op1 <- Op2) ROM:A9B3 000 inc DPTR ; Increment Operand ROM:A9B4 000 movx A, @DPTR ; Move from/to external RAM ROM:A9B5 000 mov R2, A ; Move (Op1 <- Op2) ROM:A9B6 000 inc DPTR ; Increment Operand ROM:A9B7 000 movx A, @DPTR ; Move from/to external RAM ROM:A9B8 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:A9B9 000 mov R7, A ; Move (Op1 <- Op2) ROM:A9BA 000 mov A, R2 ; Move (Op1 <- Op2) ROM:A9BB 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:A9BC 000 mov R6, A ; Move (Op1 <- Op2) ROM:A9BD 000 mov A, R1 ; Move (Op1 <- Op2) ROM:A9BE 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:A9BF 000 mov R5, A ; Move (Op1 <- Op2) ROM:A9C0 000 mov A, R0 ; Move (Op1 <- Op2) ROM:A9C1 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:A9C2 000 mov R4, A ; Move (Op1 <- Op2) ROM:A9C3 000 mov R3, RAM_35 ; Move (Op1 <- Op2) ROM:A9C5 000 mov B, #4 ; B Register ROM:A9C8 000 mov A, R3 ; Move (Op1 <- Op2) ROM:A9C9 000 mul AB ; Multiply Acc by B ROM:A9CA 000 add A, #0C0h ; '+' ; Add Second Operand to Acc ROM:A9CC 000 mov DP0L, A ; Data Pointer Low Byte ROM:A9CE 000 mov A, B ; B Register ROM:A9D0 000 addc A, #0Bh ; Add Second Operand to Acc with carry ROM:A9D2 000 mov DP0H, A ; Data Pointer High Byte ROM:A9D4 000 movx A, @DPTR ; Move from/to external RAM ROM:A9D5 000 mov R0, A ; Move (Op1 <- Op2) ROM:A9D6 000 inc DPTR ; Increment Operand ROM:A9D7 000 movx A, @DPTR ; Move from/to external RAM ROM:A9D8 000 mov R1, A ; Move (Op1 <- Op2) ROM:A9D9 000 inc DPTR ; Increment Operand ROM:A9DA 000 movx A, @DPTR ; Move from/to external RAM ROM:A9DB 000 mov R2, A ; Move (Op1 <- Op2) ROM:A9DC 000 inc DPTR ; Increment Operand ROM:A9DD 000 movx A, @DPTR ; Move from/to external RAM ROM:A9DE 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:A9DF 000 mov R7, A ; Move (Op1 <- Op2) ROM:A9E0 000 mov A, R2 ; Move (Op1 <- Op2) ROM:A9E1 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:A9E2 000 mov R6, A ; Move (Op1 <- Op2) ROM:A9E3 000 mov A, R1 ; Move (Op1 <- Op2) ROM:A9E4 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:A9E5 000 mov R5, A ; Move (Op1 <- Op2) ROM:A9E6 000 mov A, R0 ; Move (Op1 <- Op2) ROM:A9E7 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:A9E8 000 mov R4, A ; Move (Op1 <- Op2) ROM:A9E9 000 mov R0, #1Fh ; Move (Op1 <- Op2) ROM:A9EB 000 lcall ROM_B65C ; Long Subroutine Call ROM:A9EB ROM:A9EE 000 mov DPTR, #0F4Ah ; Move (Op1 <- Op2) ROM:A9F1 000 movx A, @DPTR ; Move from/to external RAM ROM:A9F2 000 mov R0, A ; Move (Op1 <- Op2) ROM:A9F3 000 inc DPTR ; Increment Operand ROM:A9F4 000 movx A, @DPTR ; Move from/to external RAM ROM:A9F5 000 mov R1, A ; Move (Op1 <- Op2) ROM:A9F6 000 inc DPTR ; Increment Operand ROM:A9F7 000 movx A, @DPTR ; Move from/to external RAM ROM:A9F8 000 mov R2, A ; Move (Op1 <- Op2) ROM:A9F9 000 inc DPTR ; Increment Operand ROM:A9FA 000 movx A, @DPTR ; Move from/to external RAM ROM:A9FB 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:A9FC 000 mov R7, A ; Move (Op1 <- Op2) ROM:A9FD 000 mov A, R2 ; Move (Op1 <- Op2) ROM:A9FE 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:A9FF 000 mov R6, A ; Move (Op1 <- Op2) ROM:AA00 000 mov A, R1 ; Move (Op1 <- Op2) ROM:AA01 000 orl A, R5 ; Logical OR (op1 |= op2) ROM:AA02 000 mov R5, A ; Move (Op1 <- Op2) ROM:AA03 000 mov A, R0 ; Move (Op1 <- Op2) ROM:AA04 000 orl A, R4 ; Logical OR (op1 |= op2) ROM:AA05 000 mov R4, A ; Move (Op1 <- Op2) ROM:AA06 000 mov R3, RAM_35 ; Move (Op1 <- Op2) ROM:AA08 000 mov B, #4 ; B Register ROM:AA0B 000 mov A, R3 ; Move (Op1 <- Op2) ROM:AA0C 000 mul AB ; Multiply Acc by B ROM:AA0D 000 add A, #0 ; Add Second Operand to Acc ROM:AA0F 000 mov DP0L, A ; Data Pointer Low Byte ROM:AA11 000 mov A, B ; B Register ROM:AA13 000 addc A, #0Ch ; Add Second Operand to Acc with carry ROM:AA15 000 mov DP0H, A ; Data Pointer High Byte ROM:AA17 000 lcall ROM_B692 ; Long Subroutine Call ROM:AA17 ROM:AA1A 000 inc RAM_35 ; Increment Operand ROM:AA1C 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:AA1E 000 xrl A, #50h ; Exclusive OR (op1 ^= op2) ROM:AA20 000 jz ROM_AA25 ; Jump if Acc is zero ROM:AA20 ROM:AA22 000 ljmp ROM_A8C2 ; Long Jump ROM:AA22 ROM:AA25 ; --------------------------------------------------------------------------- ROM:AA25 ROM:AA25 ROM_AA25: ; CODE XREF: ROM_A829+1F7j ROM:AA25 000 clr A ; Clear Operand (0) ROM:AA26 000 mov RAM_35, A ; Move (Op1 <- Op2) ROM:AA26 ROM:AA28 ROM:AA28 ROM_AA28: ; CODE XREF: ROM_A829+56Dj ROM:AA28 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:AA2A 000 clr C ; Clear Operand (0) ROM:AA2B 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:AA2D 000 jnc ROM_AA32 ; Jump if Carry is clear ROM:AA2D ROM:AA2F 000 ljmp ROM_AAB5 ; Long Jump ROM:AA2F ROM:AA32 ; --------------------------------------------------------------------------- ROM:AA32 ROM:AA32 ROM_AA32: ; CODE XREF: ROM_A829+204j ROM:AA32 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:AA34 000 setb C ; Set Direct Bit ROM:AA35 000 subb A, #13h ; Subtract Second Operand from Acc with Borrow ROM:AA37 000 jnc ROM_AAB5 ; Jump if Carry is clear ROM:AA37 ROM:AA39 000 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:AA3C 000 movx A, @DPTR ; Move from/to external RAM ROM:AA3D 000 mov R4, A ; Move (Op1 <- Op2) ROM:AA3E 000 inc DPTR ; Increment Operand ROM:AA3F 000 movx A, @DPTR ; Move from/to external RAM ROM:AA40 000 mov R5, A ; Move (Op1 <- Op2) ROM:AA41 000 inc DPTR ; Increment Operand ROM:AA42 000 movx A, @DPTR ; Move from/to external RAM ROM:AA43 000 mov R6, A ; Move (Op1 <- Op2) ROM:AA44 000 inc DPTR ; Increment Operand ROM:AA45 000 movx A, @DPTR ; Move from/to external RAM ROM:AA46 000 mov R7, A ; Move (Op1 <- Op2) ROM:AA47 000 lcall ROM_B64F ; Long Subroutine Call ROM:AA47 ROM:AA4A 000 mov DPTR, #0DB0h ; Move (Op1 <- Op2) ROM:AA4D 000 movx A, @DPTR ; Move from/to external RAM ROM:AA4E 000 mov R0, A ; Move (Op1 <- Op2) ROM:AA4F 000 inc DPTR ; Increment Operand ROM:AA50 000 movx A, @DPTR ; Move from/to external RAM ROM:AA51 000 mov R1, A ; Move (Op1 <- Op2) ROM:AA52 000 inc DPTR ; Increment Operand ROM:AA53 000 movx A, @DPTR ; Move from/to external RAM ROM:AA54 000 mov R2, A ; Move (Op1 <- Op2) ROM:AA55 000 inc DPTR ; Increment Operand ROM:AA56 000 movx A, @DPTR ; Move from/to external RAM ROM:AA57 000 anl A, R7 ; Logical AND (op1 &= op2) ROM:AA58 000 mov R7, A ; Move (Op1 <- Op2) ROM:AA59 000 mov A, R2 ; Move (Op1 <- Op2) ROM:AA5A 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:AA5B 000 mov R6, A ; Move (Op1 <- Op2) ROM:AA5C 000 mov A, R1 ; Move (Op1 <- Op2) ROM:AA5D 000 anl A, R5 ; Logical AND (op1 &= op2) ROM:AA5E 000 mov R5, A ; Move (Op1 <- Op2) ROM:AA5F 000 mov A, R0 ; Move (Op1 <- Op2) ROM:AA60 000 anl A, R4 ; Logical AND (op1 &= op2) ROM:AA61 000 mov R4, A ; Move (Op1 <- Op2) ROM:AA62 000 push RAM_4 ; Push from Direct RAM to Stack ROM:AA64 001 push RAM_5 ; Push from Direct RAM to Stack ROM:AA66 002 push RAM_6 ; Push from Direct RAM to Stack ROM:AA68 003 mov R3, RAM_7 ; Move (Op1 <- Op2) ROM:AA6A 003 mov DPTR, #0DACh ; Move (Op1 <- Op2) ROM:AA6D 003 movx A, @DPTR ; Move from/to external RAM ROM:AA6E 003 mov R4, A ; Move (Op1 <- Op2) ROM:AA6F 003 inc DPTR ; Increment Operand ROM:AA70 003 movx A, @DPTR ; Move from/to external RAM ROM:AA71 003 mov R5, A ; Move (Op1 <- Op2) ROM:AA72 003 inc DPTR ; Increment Operand ROM:AA73 003 movx A, @DPTR ; Move from/to external RAM ROM:AA74 003 mov R6, A ; Move (Op1 <- Op2) ROM:AA75 003 inc DPTR ; Increment Operand ROM:AA76 003 movx A, @DPTR ; Move from/to external RAM ROM:AA77 003 mov R7, A ; Move (Op1 <- Op2) ROM:AA78 003 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:AA7B 003 movx A, @DPTR ; Move from/to external RAM ROM:AA7C 003 mov R0, A ; Move (Op1 <- Op2) ROM:AA7D 003 inc DPTR ; Increment Operand ROM:AA7E 003 movx A, @DPTR ; Move from/to external RAM ROM:AA7F 003 mov R1, A ; Move (Op1 <- Op2) ROM:AA80 003 inc DPTR ; Increment Operand ROM:AA81 003 movx A, @DPTR ; Move from/to external RAM ROM:AA82 003 mov R2, A ; Move (Op1 <- Op2) ROM:AA83 003 inc DPTR ; Increment Operand ROM:AA84 003 movx A, @DPTR ; Move from/to external RAM ROM:AA85 003 anl A, R7 ; Logical AND (op1 &= op2) ROM:AA86 003 mov R7, A ; Move (Op1 <- Op2) ROM:AA87 003 mov A, R2 ; Move (Op1 <- Op2) ROM:AA88 003 anl A, R6 ; Logical AND (op1 &= op2) ROM:AA89 003 mov R6, A ; Move (Op1 <- Op2) ROM:AA8A 003 mov A, R1 ; Move (Op1 <- Op2) ROM:AA8B 003 anl A, R5 ; Logical AND (op1 &= op2) ROM:AA8C 003 mov R5, A ; Move (Op1 <- Op2) ROM:AA8D 003 mov A, R0 ; Move (Op1 <- Op2) ROM:AA8E 003 anl A, R4 ; Logical AND (op1 &= op2) ROM:AA8F 003 mov R4, A ; Move (Op1 <- Op2) ROM:AA90 003 pop RAM_2 ; Pop from Stack and put in Direct RAM ROM:AA92 002 pop RAM_1 ; Pop from Stack and put in Direct RAM ROM:AA94 001 pop RAM_0 ; Pop from Stack and put in Direct RAM ROM:AA96 000 mov A, R7 ; Move (Op1 <- Op2) ROM:AA97 000 orl A, R3 ; Logical OR (op1 |= op2) ROM:AA98 000 mov R7, A ; Move (Op1 <- Op2) ROM:AA99 000 mov A, R6 ; Move (Op1 <- Op2) ROM:AA9A 000 orl A, R2 ; Logical OR (op1 |= op2) ROM:AA9B 000 mov R6, A ; Move (Op1 <- Op2) ROM:AA9C 000 mov A, R5 ; Move (Op1 <- Op2) ROM:AA9D 000 orl A, R1 ; Logical OR (op1 |= op2) ROM:AA9E 000 mov R5, A ; Move (Op1 <- Op2) ROM:AA9F 000 mov A, R4 ; Move (Op1 <- Op2) ROM:AAA0 000 orl A, R0 ; Logical OR (op1 |= op2) ROM:AAA1 000 mov R4, A ; Move (Op1 <- Op2) ROM:AAA2 000 mov DPTR, #0DB8h ; Move (Op1 <- Op2) ROM:AAA5 000 lcall ROM_B692 ; Long Subroutine Call ROM:AAA5 ROM:AAA8 000 mov DPTR, #0DBCh ; Move (Op1 <- Op2) ROM:AAAB 000 lcall ROM_B69E ; Long Subroutine Call ROM:AAAB ROM:AAAE 000 anl A, R2 ; Logical AND (op1 &= op2) ROM:AAAF 000 anl C, RAM_2F.1 ; Logical AND (op1 &= op2) ROM:AAB1 000 subb A, R1 ; Subtract Second Operand from Acc with Borrow ROM:AAB2 000 ljmp ROM_AC34 ; Long Jump ROM:AAB2 ROM:AAB5 ; --------------------------------------------------------------------------- ROM:AAB5 ROM:AAB5 ROM_AAB5: ; CODE XREF: ROM_A829+206j ROM:AAB5 ; ROM_A829+20Ej ROM:AAB5 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:AAB7 000 clr C ; Clear Operand (0) ROM:AAB8 000 subb A, #14h ; Subtract Second Operand from Acc with Borrow ROM:AABA 000 jc ROM_AB14 ; Jump if Carry is set ROM:AABA ROM:AABC 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:AABE 000 setb C ; Set Direct Bit ROM:AABF 000 subb A, #27h ; ''' ; Subtract Second Operand from Acc with Borrow ROM:AAC1 000 jnc ROM_AB14 ; Jump if Carry is clear ROM:AAC1 ROM:AAC3 000 mov DPTR, #0DACh ; Move (Op1 <- Op2) ROM:AAC6 000 movx A, @DPTR ; Move from/to external RAM ROM:AAC7 000 mov R4, A ; Move (Op1 <- Op2) ROM:AAC8 000 inc DPTR ; Increment Operand ROM:AAC9 000 movx A, @DPTR ; Move from/to external RAM ROM:AACA 000 mov R5, A ; Move (Op1 <- Op2) ROM:AACB 000 inc DPTR ; Increment Operand ROM:AACC 000 movx A, @DPTR ; Move from/to external RAM ROM:AACD 000 mov R6, A ; Move (Op1 <- Op2) ROM:AACE 000 inc DPTR ; Increment Operand ROM:AACF 000 movx A, @DPTR ; Move from/to external RAM ROM:AAD0 000 mov R7, A ; Move (Op1 <- Op2) ROM:AAD1 000 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:AAD4 000 movx A, @DPTR ; Move from/to external RAM ROM:AAD5 000 mov R0, A ; Move (Op1 <- Op2) ROM:AAD6 000 inc DPTR ; Increment Operand ROM:AAD7 000 movx A, @DPTR ; Move from/to external RAM ROM:AAD8 000 mov R1, A ; Move (Op1 <- Op2) ROM:AAD9 000 inc DPTR ; Increment Operand ROM:AADA 000 movx A, @DPTR ; Move from/to external RAM ROM:AADB 000 mov R2, A ; Move (Op1 <- Op2) ROM:AADC 000 inc DPTR ; Increment Operand ROM:AADD 000 movx A, @DPTR ; Move from/to external RAM ROM:AADE 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:AADF 000 mov R7, A ; Move (Op1 <- Op2) ROM:AAE0 000 mov A, R2 ; Move (Op1 <- Op2) ROM:AAE1 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:AAE2 000 mov R6, A ; Move (Op1 <- Op2) ROM:AAE3 000 mov A, R1 ; Move (Op1 <- Op2) ROM:AAE4 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:AAE5 000 mov R5, A ; Move (Op1 <- Op2) ROM:AAE6 000 mov A, R0 ; Move (Op1 <- Op2) ROM:AAE7 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:AAE8 000 mov R4, A ; Move (Op1 <- Op2) ROM:AAE9 000 mov DPTR, #0DB0h ; Move (Op1 <- Op2) ROM:AAEC 000 movx A, @DPTR ; Move from/to external RAM ROM:AAED 000 mov R0, A ; Move (Op1 <- Op2) ROM:AAEE 000 inc DPTR ; Increment Operand ROM:AAEF 000 movx A, @DPTR ; Move from/to external RAM ROM:AAF0 000 mov R1, A ; Move (Op1 <- Op2) ROM:AAF1 000 inc DPTR ; Increment Operand ROM:AAF2 000 movx A, @DPTR ; Move from/to external RAM ROM:AAF3 000 mov R2, A ; Move (Op1 <- Op2) ROM:AAF4 000 inc DPTR ; Increment Operand ROM:AAF5 000 movx A, @DPTR ; Move from/to external RAM ROM:AAF6 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:AAF7 000 mov R7, A ; Move (Op1 <- Op2) ROM:AAF8 000 mov A, R2 ; Move (Op1 <- Op2) ROM:AAF9 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:AAFA 000 mov R6, A ; Move (Op1 <- Op2) ROM:AAFA ROM:AAFB ROM:AAFB ROM_AAFB: ; CODE XREF: ROM_A829+2E5j ROM:AAFB 000 mov A, R1 ; Move (Op1 <- Op2) ROM:AAFC 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:AAFD 000 mov R5, A ; Move (Op1 <- Op2) ROM:AAFE 000 mov A, R0 ; Move (Op1 <- Op2) ROM:AAFF 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:AB00 000 mov R4, A ; Move (Op1 <- Op2) ROM:AB01 000 mov DPTR, #0DB8h ; Move (Op1 <- Op2) ROM:AB04 000 lcall ROM_B692 ; Long Subroutine Call ROM:AB04 ROM:AB07 000 mov DPTR, #0DBCh ; Move (Op1 <- Op2) ROM:AB0A 000 lcall ROM_B69E ; Long Subroutine Call ROM:AB0A ROM:AB0D 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:AB0E 000 djnz R1, ROM_AAFB ; Decrement Operand and JNZ ROM:AB0E ROM:AB10 000 ajmp ROM_AD02 ; Absolute Jump ROM:AB10 ROM:AB12 ; --------------------------------------------------------------------------- ROM:AB12 000 mov R4, RAM_34 ; Move (Op1 <- Op2) ROM:AB12 ROM:AB14 ROM:AB14 ROM_AB14: ; CODE XREF: ROM_A829+291j ROM:AB14 ; ROM_A829+298j ROM:AB14 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:AB16 000 clr C ; Clear Operand (0) ROM:AB17 000 subb A, #28h ; '(' ; Subtract Second Operand from Acc with Borrow ROM:AB19 000 jnc ROM_AB1E ; Jump if Carry is clear ROM:AB19 ROM:AB1B 000 ljmp ROM_ABD8 ; Long Jump ROM:AB1B ROM:AB1E ; --------------------------------------------------------------------------- ROM:AB1E ROM:AB1E ROM_AB1E: ; CODE XREF: ROM_A829+2F0j ROM:AB1E 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:AB20 000 setb C ; Set Direct Bit ROM:AB21 000 subb A, #3Bh ; ';' ; Subtract Second Operand from Acc with Borrow ROM:AB23 000 jc ROM_AB28 ; Jump if Carry is set ROM:AB23 ROM:AB25 000 ljmp ROM_ABD8 ; Long Jump ROM:AB25 ROM:AB28 ; --------------------------------------------------------------------------- ROM:AB28 ROM:AB28 ROM_AB28: ; CODE XREF: ROM_A829+2FAj ROM:AB28 000 mov DPTR, #0DB0h ; Move (Op1 <- Op2) ROM:AB2B 000 movx A, @DPTR ; Move from/to external RAM ROM:AB2C 000 mov R4, A ; Move (Op1 <- Op2) ROM:AB2D 000 inc DPTR ; Increment Operand ROM:AB2E 000 movx A, @DPTR ; Move from/to external RAM ROM:AB2F 000 mov R5, A ; Move (Op1 <- Op2) ROM:AB30 000 inc DPTR ; Increment Operand ROM:AB31 000 movx A, @DPTR ; Move from/to external RAM ROM:AB32 000 mov R6, A ; Move (Op1 <- Op2) ROM:AB33 000 inc DPTR ; Increment Operand ROM:AB34 000 movx A, @DPTR ; Move from/to external RAM ROM:AB35 000 mov R7, A ; Move (Op1 <- Op2) ROM:AB36 000 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:AB39 000 movx A, @DPTR ; Move from/to external RAM ROM:AB3A 000 mov R0, A ; Move (Op1 <- Op2) ROM:AB3B 000 inc DPTR ; Increment Operand ROM:AB3C 000 movx A, @DPTR ; Move from/to external RAM ROM:AB3D 000 mov R1, A ; Move (Op1 <- Op2) ROM:AB3E 000 inc DPTR ; Increment Operand ROM:AB3F 000 movx A, @DPTR ; Move from/to external RAM ROM:AB40 000 mov R2, A ; Move (Op1 <- Op2) ROM:AB41 000 inc DPTR ; Increment Operand ROM:AB42 000 movx A, @DPTR ; Move from/to external RAM ROM:AB43 000 anl A, R7 ; Logical AND (op1 &= op2) ROM:AB44 000 mov R7, A ; Move (Op1 <- Op2) ROM:AB45 000 mov A, R2 ; Move (Op1 <- Op2) ROM:AB46 000 anl A, R6 ; Logical AND (op1 &= op2) ROM:AB47 000 mov R6, A ; Move (Op1 <- Op2) ROM:AB48 000 mov A, R1 ; Move (Op1 <- Op2) ROM:AB49 000 anl A, R5 ; Logical AND (op1 &= op2) ROM:AB4A 000 mov R5, A ; Move (Op1 <- Op2) ROM:AB4B 000 mov A, R0 ; Move (Op1 <- Op2) ROM:AB4C 000 anl A, R4 ; Logical AND (op1 &= op2) ROM:AB4D 000 mov R4, A ; Move (Op1 <- Op2) ROM:AB4E 000 push RAM_4 ; Push from Direct RAM to Stack ROM:AB50 001 push RAM_5 ; Push from Direct RAM to Stack ROM:AB52 002 push RAM_6 ; Push from Direct RAM to Stack ROM:AB54 003 mov R3, RAM_7 ; Move (Op1 <- Op2) ROM:AB56 003 inc DPTR ; Increment Operand ROM:AB56 ROM:AB57 ROM:AB57 ROM_AB57: ; CODE XREF: ROM_A829+3ABj ROM:AB57 003 movx A, @DPTR ; Move from/to external RAM ROM:AB58 003 mov R4, A ; Move (Op1 <- Op2) ROM:AB59 003 inc DPTR ; Increment Operand ROM:AB5A 003 movx A, @DPTR ; Move from/to external RAM ROM:AB5B 003 mov R5, A ; Move (Op1 <- Op2) ROM:AB5C 003 inc DPTR ; Increment Operand ROM:AB5D 003 movx A, @DPTR ; Move from/to external RAM ROM:AB5E 003 mov R6, A ; Move (Op1 <- Op2) ROM:AB5F 003 inc DPTR ; Increment Operand ROM:AB60 003 movx A, @DPTR ; Move from/to external RAM ROM:AB61 003 mov R7, A ; Move (Op1 <- Op2) ROM:AB62 003 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:AB65 003 inc DPTR ; Increment Operand ROM:AB66 003 inc DPTR ; Increment Operand ROM:AB67 003 inc DPTR ; Increment Operand ROM:AB68 003 movx A, @DPTR ; Move from/to external RAM ROM:AB69 003 anl A, R7 ; Logical AND (op1 &= op2) ROM:AB6A 003 mov R7, A ; Move (Op1 <- Op2) ROM:AB6B 003 mov A, R2 ; Move (Op1 <- Op2) ROM:AB6C 003 anl A, R6 ; Logical AND (op1 &= op2) ROM:AB6D 003 mov R6, A ; Move (Op1 <- Op2) ROM:AB6E 003 mov A, R1 ; Move (Op1 <- Op2) ROM:AB6F 003 anl A, R5 ; Logical AND (op1 &= op2) ROM:AB70 003 mov R5, A ; Move (Op1 <- Op2) ROM:AB71 003 mov A, R0 ; Move (Op1 <- Op2) ROM:AB72 003 anl A, R4 ; Logical AND (op1 &= op2) ROM:AB73 003 mov R4, A ; Move (Op1 <- Op2) ROM:AB74 003 pop RAM_2 ; Pop from Stack and put in Direct RAM ROM:AB76 002 pop RAM_1 ; Pop from Stack and put in Direct RAM ROM:AB78 001 pop RAM_0 ; Pop from Stack and put in Direct RAM ROM:AB7A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:AB7B 000 orl A, R3 ; Logical OR (op1 |= op2) ROM:AB7C 000 mov R7, A ; Move (Op1 <- Op2) ROM:AB7D 000 mov A, R6 ; Move (Op1 <- Op2) ROM:AB7E 000 orl A, R2 ; Logical OR (op1 |= op2) ROM:AB7F 000 mov R6, A ; Move (Op1 <- Op2) ROM:AB80 000 mov A, R5 ; Move (Op1 <- Op2) ROM:AB81 000 orl A, R1 ; Logical OR (op1 |= op2) ROM:AB82 000 mov R5, A ; Move (Op1 <- Op2) ROM:AB83 000 mov A, R4 ; Move (Op1 <- Op2) ROM:AB84 000 orl A, R0 ; Logical OR (op1 |= op2) ROM:AB85 000 mov R4, A ; Move (Op1 <- Op2) ROM:AB86 000 push RAM_4 ; Push from Direct RAM to Stack ROM:AB88 001 push RAM_5 ; Push from Direct RAM to Stack ROM:AB8A 002 push RAM_6 ; Push from Direct RAM to Stack ROM:AB8C 003 mov R3, RAM_7 ; Move (Op1 <- Op2) ROM:AB8E 003 mov DPTR, #0DB0h ; Move (Op1 <- Op2) ROM:AB91 003 movx A, @DPTR ; Move from/to external RAM ROM:AB92 003 mov R4, A ; Move (Op1 <- Op2) ROM:AB93 003 inc DPTR ; Increment Operand ROM:AB94 003 movx A, @DPTR ; Move from/to external RAM ROM:AB95 003 mov R5, A ; Move (Op1 <- Op2) ROM:AB96 003 inc DPTR ; Increment Operand ROM:AB97 003 movx A, @DPTR ; Move from/to external RAM ROM:AB98 003 mov R6, A ; Move (Op1 <- Op2) ROM:AB99 003 inc DPTR ; Increment Operand ROM:AB9A 003 movx A, @DPTR ; Move from/to external RAM ROM:AB9B 003 mov R7, A ; Move (Op1 <- Op2) ROM:AB9C 003 mov DPTR, #0DACh ; Move (Op1 <- Op2) ROM:AB9F 003 movx A, @DPTR ; Move from/to external RAM ROM:ABA0 003 mov R0, A ; Move (Op1 <- Op2) ROM:ABA1 003 inc DPTR ; Increment Operand ROM:ABA2 003 movx A, @DPTR ; Move from/to external RAM ROM:ABA3 003 mov R1, A ; Move (Op1 <- Op2) ROM:ABA4 003 inc DPTR ; Increment Operand ROM:ABA5 003 movx A, @DPTR ; Move from/to external RAM ROM:ABA6 003 mov R2, A ; Move (Op1 <- Op2) ROM:ABA7 003 inc DPTR ; Increment Operand ROM:ABA8 003 movx A, @DPTR ; Move from/to external RAM ROM:ABA9 003 anl A, R7 ; Logical AND (op1 &= op2) ROM:ABAA 003 mov R7, A ; Move (Op1 <- Op2) ROM:ABAB 003 mov A, R2 ; Move (Op1 <- Op2) ROM:ABAC 003 anl A, R6 ; Logical AND (op1 &= op2) ROM:ABAD 003 mov R6, A ; Move (Op1 <- Op2) ROM:ABAE 003 mov A, R1 ; Move (Op1 <- Op2) ROM:ABAF 003 anl A, R5 ; Logical AND (op1 &= op2) ROM:ABB0 003 mov R5, A ; Move (Op1 <- Op2) ROM:ABB1 003 mov A, R0 ; Move (Op1 <- Op2) ROM:ABB2 003 anl A, R4 ; Logical AND (op1 &= op2) ROM:ABB3 003 mov R4, A ; Move (Op1 <- Op2) ROM:ABB4 003 pop RAM_2 ; Pop from Stack and put in Direct RAM ROM:ABB6 002 pop RAM_1 ; Pop from Stack and put in Direct RAM ROM:ABB8 001 pop RAM_0 ; Pop from Stack and put in Direct RAM ROM:ABBA 000 mov A, R3 ; Move (Op1 <- Op2) ROM:ABBB 000 orl A, R7 ; Logical OR (op1 |= op2) ROM:ABBC 000 mov R7, A ; Move (Op1 <- Op2) ROM:ABBD 000 mov A, R2 ; Move (Op1 <- Op2) ROM:ABBE 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:ABBF 000 mov R6, A ; Move (Op1 <- Op2) ROM:ABC0 000 mov A, R1 ; Move (Op1 <- Op2) ROM:ABC1 000 orl A, R5 ; Logical OR (op1 |= op2) ROM:ABC2 000 mov R5, A ; Move (Op1 <- Op2) ROM:ABC3 000 mov A, R0 ; Move (Op1 <- Op2) ROM:ABC4 000 orl A, R4 ; Logical OR (op1 |= op2) ROM:ABC5 000 mov R4, A ; Move (Op1 <- Op2) ROM:ABC6 000 mov DPTR, #0DB8h ; Move (Op1 <- Op2) ROM:ABC9 000 lcall ROM_B692 ; Long Subroutine Call ROM:ABC9 ROM:ABCC 000 mov DPTR, #0DBCh ; Move (Op1 <- Op2) ROM:ABCF 000 lcall ROM_B69E ; Long Subroutine Call ROM:ABCF ROM:ABD2 000 mov RAM_1B, R7 ; Move (Op1 <- Op2) ROM:ABD4 000 cjne R4, #0DCh, ROM_AB57 ; '_' ; Compare Operands and JNE ROM:ABD4 ROM:ABD7 000 anl A, R4 ; Logical AND (op1 &= op2) ROM:ABD7 ROM:ABD8 ROM:ABD8 ROM_ABD8: ; CODE XREF: ROM_A829+2F2j ROM:ABD8 ; ROM_A829+2FCj ROM:ABD8 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:ABDA 000 clr C ; Clear Operand (0) ROM:ABDB 000 subb A, #3Ch ; '<' ; Subtract Second Operand from Acc with Borrow ROM:ABDD 000 jc ROM_AC34 ; Jump if Carry is set ROM:ABDD ROM:ABDF 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:ABE1 000 setb C ; Set Direct Bit ROM:ABE2 000 subb A, #4Fh ; 'O' ; Subtract Second Operand from Acc with Borrow ROM:ABE4 000 jnc ROM_AC34 ; Jump if Carry is clear ROM:ABE4 ROM:ABE6 000 mov DPTR, #0DACh ; Move (Op1 <- Op2) ROM:ABE9 000 movx A, @DPTR ; Move from/to external RAM ROM:ABEA 000 mov R4, A ; Move (Op1 <- Op2) ROM:ABEB 000 inc DPTR ; Increment Operand ROM:ABEC 000 movx A, @DPTR ; Move from/to external RAM ROM:ABED 000 mov R5, A ; Move (Op1 <- Op2) ROM:ABEE 000 inc DPTR ; Increment Operand ROM:ABEF 000 movx A, @DPTR ; Move from/to external RAM ROM:ABF0 000 mov R6, A ; Move (Op1 <- Op2) ROM:ABF1 000 inc DPTR ; Increment Operand ROM:ABF2 000 movx A, @DPTR ; Move from/to external RAM ROM:ABF3 000 mov R7, A ; Move (Op1 <- Op2) ROM:ABF4 000 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:ABF7 000 movx A, @DPTR ; Move from/to external RAM ROM:ABF8 000 mov R0, A ; Move (Op1 <- Op2) ROM:ABF9 000 inc DPTR ; Increment Operand ROM:ABFA 000 movx A, @DPTR ; Move from/to external RAM ROM:ABFB 000 mov R1, A ; Move (Op1 <- Op2) ROM:ABFC 000 inc DPTR ; Increment Operand ROM:ABFD 000 movx A, @DPTR ; Move from/to external RAM ROM:ABFE 000 mov R2, A ; Move (Op1 <- Op2) ROM:ABFF 000 inc DPTR ; Increment Operand ROM:AC00 000 movx A, @DPTR ; Move from/to external RAM ROM:AC01 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:AC02 000 mov R7, A ; Move (Op1 <- Op2) ROM:AC03 000 mov A, R2 ; Move (Op1 <- Op2) ROM:AC04 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:AC05 000 mov R6, A ; Move (Op1 <- Op2) ROM:AC06 000 mov A, R1 ; Move (Op1 <- Op2) ROM:AC07 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:AC08 000 mov R5, A ; Move (Op1 <- Op2) ROM:AC09 000 mov A, R0 ; Move (Op1 <- Op2) ROM:AC0A 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:AC0B 000 mov R4, A ; Move (Op1 <- Op2) ROM:AC0C 000 mov DPTR, #0DB0h ; Move (Op1 <- Op2) ROM:AC0F 000 movx A, @DPTR ; Move from/to external RAM ROM:AC10 000 mov R0, A ; Move (Op1 <- Op2) ROM:AC11 000 inc DPTR ; Increment Operand ROM:AC12 000 movx A, @DPTR ; Move from/to external RAM ROM:AC13 000 mov R1, A ; Move (Op1 <- Op2) ROM:AC14 000 inc DPTR ; Increment Operand ROM:AC15 000 movx A, @DPTR ; Move from/to external RAM ROM:AC16 000 mov R2, A ; Move (Op1 <- Op2) ROM:AC17 000 inc DPTR ; Increment Operand ROM:AC18 000 movx A, @DPTR ; Move from/to external RAM ROM:AC19 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:AC1A 000 mov R7, A ; Move (Op1 <- Op2) ROM:AC1B 000 mov A, R2 ; Move (Op1 <- Op2) ROM:AC1C 000 xrl A, R6 ; Exclusive OR (op1 ^= op2) ROM:AC1D 000 mov R6, A ; Move (Op1 <- Op2) ROM:AC1E 000 mov A, R1 ; Move (Op1 <- Op2) ROM:AC1F 000 xrl A, R5 ; Exclusive OR (op1 ^= op2) ROM:AC20 000 mov R5, A ; Move (Op1 <- Op2) ROM:AC21 000 mov A, R0 ; Move (Op1 <- Op2) ROM:AC22 000 xrl A, R4 ; Exclusive OR (op1 ^= op2) ROM:AC23 000 mov R4, A ; Move (Op1 <- Op2) ROM:AC24 000 mov DPTR, #0DB8h ; Move (Op1 <- Op2) ROM:AC27 000 lcall ROM_B692 ; Long Subroutine Call ROM:AC27 ROM:AC2A 000 mov DPTR, #0DBCh ; Move (Op1 <- Op2) ROM:AC2D 000 lcall ROM_B69E ; Long Subroutine Call ROM:AC2D ROM:AC30 000 xch A, R2 ; Exchange Operands ROM:AC31 000 xrl FSR_C1, A ; Exclusive OR (op1 ^= op2) ROM:AC33 000 xchd A, @R0 ; Exchange Digit in Acc with Indirect RAM ROM:AC33 ROM:AC34 ROM:AC34 ROM_AC34: ; CODE XREF: ROM_A829+289j ROM:AC34 ; ROM_A829+3B4j ... ROM:AC34 000 mov DPTR, #0DA4h ; Move (Op1 <- Op2) ROM:AC37 000 movx A, @DPTR ; Move from/to external RAM ROM:AC38 000 mov R4, A ; Move (Op1 <- Op2) ROM:AC39 000 inc DPTR ; Increment Operand ROM:AC3A 000 movx A, @DPTR ; Move from/to external RAM ROM:AC3B 000 mov R5, A ; Move (Op1 <- Op2) ROM:AC3C 000 inc DPTR ; Increment Operand ROM:AC3D 000 movx A, @DPTR ; Move from/to external RAM ROM:AC3E 000 mov R6, A ; Move (Op1 <- Op2) ROM:AC3F 000 inc DPTR ; Increment Operand ROM:AC40 000 movx A, @DPTR ; Move from/to external RAM ROM:AC41 000 mov R7, A ; Move (Op1 <- Op2) ROM:AC42 000 mov R0, #5 ; Move (Op1 <- Op2) ROM:AC44 000 lcall ROM_B66F ; Long Subroutine Call ROM:AC44 ROM:AC47 000 push RAM_4 ; Push from Direct RAM to Stack ROM:AC49 001 push RAM_5 ; Push from Direct RAM to Stack ROM:AC4B 002 push RAM_6 ; Push from Direct RAM to Stack ROM:AC4D 003 push RAM_7 ; Push from Direct RAM to Stack ROM:AC4F 004 mov DPTR, #0DA4h ; Move (Op1 <- Op2) ROM:AC52 004 movx A, @DPTR ; Move from/to external RAM ROM:AC53 004 mov R4, A ; Move (Op1 <- Op2) ROM:AC54 004 inc DPTR ; Increment Operand ROM:AC55 004 movx A, @DPTR ; Move from/to external RAM ROM:AC56 004 mov R5, A ; Move (Op1 <- Op2) ROM:AC57 004 inc DPTR ; Increment Operand ROM:AC58 004 movx A, @DPTR ; Move from/to external RAM ROM:AC59 004 mov R6, A ; Move (Op1 <- Op2) ROM:AC5A 004 inc DPTR ; Increment Operand ROM:AC5B 004 movx A, @DPTR ; Move from/to external RAM ROM:AC5C 004 mov R7, A ; Move (Op1 <- Op2) ROM:AC5D 004 mov R0, #1Bh ; Move (Op1 <- Op2) ROM:AC5F 004 lcall ROM_B65C ; Long Subroutine Call ROM:AC5F ROM:AC62 004 pop RAM_3 ; Pop from Stack and put in Direct RAM ROM:AC64 003 pop RAM_2 ; Pop from Stack and put in Direct RAM ROM:AC66 002 pop RAM_1 ; Pop from Stack and put in Direct RAM ROM:AC68 001 pop RAM_0 ; Pop from Stack and put in Direct RAM ROM:AC6A 000 mov A, R7 ; Move (Op1 <- Op2) ROM:AC6B 000 orl A, R3 ; Logical OR (op1 |= op2) ROM:AC6C 000 mov R7, A ; Move (Op1 <- Op2) ROM:AC6D 000 mov A, R6 ; Move (Op1 <- Op2) ROM:AC6E 000 orl A, R2 ; Logical OR (op1 |= op2) ROM:AC6F 000 mov R6, A ; Move (Op1 <- Op2) ROM:AC70 000 mov A, R5 ; Move (Op1 <- Op2) ROM:AC71 000 orl A, R1 ; Logical OR (op1 |= op2) ROM:AC72 000 mov R5, A ; Move (Op1 <- Op2) ROM:AC73 000 mov A, R4 ; Move (Op1 <- Op2) ROM:AC74 000 orl A, R0 ; Logical OR (op1 |= op2) ROM:AC75 000 mov R4, A ; Move (Op1 <- Op2) ROM:AC76 000 mov DPTR, #0DC0h ; Move (Op1 <- Op2) ROM:AC79 000 lcall ROM_B692 ; Long Subroutine Call ROM:AC79 ROM:AC7C 000 mov DPTR, #0DB8h ; Move (Op1 <- Op2) ROM:AC7F 000 movx A, @DPTR ; Move from/to external RAM ROM:AC80 000 mov R4, A ; Move (Op1 <- Op2) ROM:AC81 000 inc DPTR ; Increment Operand ROM:AC82 000 movx A, @DPTR ; Move from/to external RAM ROM:AC83 000 mov R5, A ; Move (Op1 <- Op2) ROM:AC84 000 inc DPTR ; Increment Operand ROM:AC85 000 movx A, @DPTR ; Move from/to external RAM ROM:AC86 000 mov R6, A ; Move (Op1 <- Op2) ROM:AC87 000 inc DPTR ; Increment Operand ROM:AC88 000 movx A, @DPTR ; Move from/to external RAM ROM:AC89 000 mov R7, A ; Move (Op1 <- Op2) ROM:AC8A 000 mov DPTR, #0DC0h ; Move (Op1 <- Op2) ROM:AC8D 000 movx A, @DPTR ; Move from/to external RAM ROM:AC8E 000 mov R0, A ; Move (Op1 <- Op2) ROM:AC8F 000 inc DPTR ; Increment Operand ROM:AC90 000 movx A, @DPTR ; Move from/to external RAM ROM:AC91 000 mov R1, A ; Move (Op1 <- Op2) ROM:AC92 000 inc DPTR ; Increment Operand ROM:AC93 000 movx A, @DPTR ; Move from/to external RAM ROM:AC94 000 mov R2, A ; Move (Op1 <- Op2) ROM:AC95 000 inc DPTR ; Increment Operand ROM:AC96 000 movx A, @DPTR ; Move from/to external RAM ROM:AC97 000 add A, R7 ; Add Second Operand to Acc ROM:AC98 000 mov R7, A ; Move (Op1 <- Op2) ROM:AC99 000 mov A, R2 ; Move (Op1 <- Op2) ROM:AC9A 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:AC9B 000 mov R6, A ; Move (Op1 <- Op2) ROM:AC9C 000 mov A, R1 ; Move (Op1 <- Op2) ROM:AC9D 000 addc A, R5 ; Add Second Operand to Acc with carry ROM:AC9E 000 mov R5, A ; Move (Op1 <- Op2) ROM:AC9F 000 mov A, R0 ; Move (Op1 <- Op2) ROM:ACA0 000 addc A, R4 ; Add Second Operand to Acc with carry ROM:ACA1 000 mov R4, A ; Move (Op1 <- Op2) ROM:ACA2 000 mov DPTR, #0DB4h ; Move (Op1 <- Op2) ROM:ACA5 000 movx A, @DPTR ; Move from/to external RAM ROM:ACA6 000 mov R0, A ; Move (Op1 <- Op2) ROM:ACA7 000 inc DPTR ; Increment Operand ROM:ACA8 000 movx A, @DPTR ; Move from/to external RAM ROM:ACA9 000 mov R1, A ; Move (Op1 <- Op2) ROM:ACAA 000 inc DPTR ; Increment Operand ROM:ACAB 000 movx A, @DPTR ; Move from/to external RAM ROM:ACAC 000 mov R2, A ; Move (Op1 <- Op2) ROM:ACAD 000 inc DPTR ; Increment Operand ROM:ACAE 000 movx A, @DPTR ; Move from/to external RAM ROM:ACAF 000 add A, R7 ; Add Second Operand to Acc ROM:ACB0 000 mov R7, A ; Move (Op1 <- Op2) ROM:ACB1 000 mov A, R2 ; Move (Op1 <- Op2) ROM:ACB2 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:ACB3 000 mov R6, A ; Move (Op1 <- Op2) ROM:ACB4 000 mov A, R1 ; Move (Op1 <- Op2) ROM:ACB5 000 addc A, R5 ; Add Second Operand to Acc with carry ROM:ACB6 000 mov R5, A ; Move (Op1 <- Op2) ROM:ACB7 000 mov A, R0 ; Move (Op1 <- Op2) ROM:ACB8 000 addc A, R4 ; Add Second Operand to Acc with carry ROM:ACB9 000 mov R4, A ; Move (Op1 <- Op2) ROM:ACBA 000 mov DPTR, #0DBCh ; Move (Op1 <- Op2) ROM:ACBD 000 movx A, @DPTR ; Move from/to external RAM ROM:ACBE 000 mov R0, A ; Move (Op1 <- Op2) ROM:ACBF 000 inc DPTR ; Increment Operand ROM:ACC0 000 movx A, @DPTR ; Move from/to external RAM ROM:ACC1 000 mov R1, A ; Move (Op1 <- Op2) ROM:ACC2 000 inc DPTR ; Increment Operand ROM:ACC3 000 movx A, @DPTR ; Move from/to external RAM ROM:ACC4 000 mov R2, A ; Move (Op1 <- Op2) ROM:ACC5 000 inc DPTR ; Increment Operand ROM:ACC6 000 movx A, @DPTR ; Move from/to external RAM ROM:ACC7 000 add A, R7 ; Add Second Operand to Acc ROM:ACC8 000 mov R7, A ; Move (Op1 <- Op2) ROM:ACC9 000 mov A, R2 ; Move (Op1 <- Op2) ROM:ACCA 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:ACCB 000 mov R6, A ; Move (Op1 <- Op2) ROM:ACCC 000 mov A, R1 ; Move (Op1 <- Op2) ROM:ACCD 000 addc A, R5 ; Add Second Operand to Acc with carry ROM:ACCE 000 mov R5, A ; Move (Op1 <- Op2) ROM:ACCF 000 mov A, R0 ; Move (Op1 <- Op2) ROM:ACD0 000 addc A, R4 ; Add Second Operand to Acc with carry ROM:ACD1 000 mov R4, A ; Move (Op1 <- Op2) ROM:ACD2 000 mov R3, RAM_35 ; Move (Op1 <- Op2) ROM:ACD4 000 mov B, #4 ; B Register ROM:ACD7 000 mov A, R3 ; Move (Op1 <- Op2) ROM:ACD8 000 mul AB ; Multiply Acc by B ROM:ACD9 000 add A, #0 ; Add Second Operand to Acc ROM:ACDB 000 mov DP0L, A ; Data Pointer Low Byte ROM:ACDD 000 mov A, B ; B Register ROM:ACDF 000 addc A, #0Ch ; Add Second Operand to Acc with carry ROM:ACE1 000 mov DP0H, A ; Data Pointer High Byte ROM:ACE3 000 movx A, @DPTR ; Move from/to external RAM ROM:ACE4 000 mov R0, A ; Move (Op1 <- Op2) ROM:ACE5 000 inc DPTR ; Increment Operand ROM:ACE6 000 movx A, @DPTR ; Move from/to external RAM ROM:ACE7 000 mov R1, A ; Move (Op1 <- Op2) ROM:ACE8 000 inc DPTR ; Increment Operand ROM:ACE9 000 movx A, @DPTR ; Move from/to external RAM ROM:ACEA 000 mov R2, A ; Move (Op1 <- Op2) ROM:ACEB 000 inc DPTR ; Increment Operand ROM:ACEC 000 movx A, @DPTR ; Move from/to external RAM ROM:ACED 000 add A, R7 ; Add Second Operand to Acc ROM:ACEE 000 mov R7, A ; Move (Op1 <- Op2) ROM:ACEF 000 mov A, R2 ; Move (Op1 <- Op2) ROM:ACF0 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:ACF1 000 mov R6, A ; Move (Op1 <- Op2) ROM:ACF2 000 mov A, R1 ; Move (Op1 <- Op2) ROM:ACF3 000 addc A, R5 ; Add Second Operand to Acc with carry ROM:ACF4 000 mov R5, A ; Move (Op1 <- Op2) ROM:ACF5 000 mov A, R0 ; Move (Op1 <- Op2) ROM:ACF6 000 addc A, R4 ; Add Second Operand to Acc with carry ROM:ACF7 000 mov R4, A ; Move (Op1 <- Op2) ROM:ACF8 000 mov DPTR, #0DC0h ; Move (Op1 <- Op2) ROM:ACFB 000 lcall ROM_B692 ; Long Subroutine Call ROM:ACFB ROM:ACFE 000 mov DPTR, #0DB0h ; Move (Op1 <- Op2) ROM:AD01 000 movx A, @DPTR ; Move from/to external RAM ROM:AD01 ROM:AD02 ROM:AD02 ROM_AD02: ; CODE XREF: ROM_A829+2E7j ROM:AD02 000 mov R4, A ; Move (Op1 <- Op2) ROM:AD03 000 inc DPTR ; Increment Operand ROM:AD04 000 movx A, @DPTR ; Move from/to external RAM ROM:AD05 000 mov R5, A ; Move (Op1 <- Op2) ROM:AD06 000 inc DPTR ; Increment Operand ROM:AD07 000 movx A, @DPTR ; Move from/to external RAM ROM:AD08 000 mov R6, A ; Move (Op1 <- Op2) ROM:AD09 000 inc DPTR ; Increment Operand ROM:AD0A 000 movx A, @DPTR ; Move from/to external RAM ROM:AD0B 000 mov R7, A ; Move (Op1 <- Op2) ROM:AD0C 000 inc DPTR ; Increment Operand ROM:AD0D 000 lcall ROM_B692 ; Long Subroutine Call ROM:AD0D ROM:AD10 000 mov DPTR, #0DACh ; Move (Op1 <- Op2) ROM:AD13 000 movx A, @DPTR ; Move from/to external RAM ROM:AD14 000 mov R4, A ; Move (Op1 <- Op2) ROM:AD15 000 inc DPTR ; Increment Operand ROM:AD16 000 movx A, @DPTR ; Move from/to external RAM ROM:AD17 000 mov R5, A ; Move (Op1 <- Op2) ROM:AD18 000 inc DPTR ; Increment Operand ROM:AD19 000 movx A, @DPTR ; Move from/to external RAM ROM:AD1A 000 mov R6, A ; Move (Op1 <- Op2) ROM:AD1B 000 inc DPTR ; Increment Operand ROM:AD1C 000 movx A, @DPTR ; Move from/to external RAM ROM:AD1D 000 mov R7, A ; Move (Op1 <- Op2) ROM:AD1E 000 inc DPTR ; Increment Operand ROM:AD1F 000 lcall ROM_B692 ; Long Subroutine Call ROM:AD1F ROM:AD22 000 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:AD25 000 movx A, @DPTR ; Move from/to external RAM ROM:AD26 000 mov R4, A ; Move (Op1 <- Op2) ROM:AD27 000 inc DPTR ; Increment Operand ROM:AD28 000 movx A, @DPTR ; Move from/to external RAM ROM:AD29 000 mov R5, A ; Move (Op1 <- Op2) ROM:AD2A 000 inc DPTR ; Increment Operand ROM:AD2B 000 movx A, @DPTR ; Move from/to external RAM ROM:AD2C 000 mov R6, A ; Move (Op1 <- Op2) ROM:AD2D 000 inc DPTR ; Increment Operand ROM:AD2E 000 movx A, @DPTR ; Move from/to external RAM ROM:AD2F 000 mov R7, A ; Move (Op1 <- Op2) ROM:AD30 000 mov R0, #1Eh ; Move (Op1 <- Op2) ROM:AD32 000 lcall ROM_B66F ; Long Subroutine Call ROM:AD32 ROM:AD35 000 push RAM_4 ; Push from Direct RAM to Stack ROM:AD37 001 push RAM_5 ; Push from Direct RAM to Stack ROM:AD39 002 push RAM_6 ; Push from Direct RAM to Stack ROM:AD3B 003 push RAM_7 ; Push from Direct RAM to Stack ROM:AD3D 004 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:AD40 004 movx A, @DPTR ; Move from/to external RAM ROM:AD41 004 mov R4, A ; Move (Op1 <- Op2) ROM:AD42 004 inc DPTR ; Increment Operand ROM:AD43 004 movx A, @DPTR ; Move from/to external RAM ROM:AD44 004 mov R5, A ; Move (Op1 <- Op2) ROM:AD45 004 inc DPTR ; Increment Operand ROM:AD46 004 movx A, @DPTR ; Move from/to external RAM ROM:AD47 004 mov R6, A ; Move (Op1 <- Op2) ROM:AD48 004 inc DPTR ; Increment Operand ROM:AD49 004 movx A, @DPTR ; Move from/to external RAM ROM:AD4A 004 mov R7, A ; Move (Op1 <- Op2) ROM:AD4B 004 mov R0, #2 ; Move (Op1 <- Op2) ROM:AD4D 004 lcall ROM_B65C ; Long Subroutine Call ROM:AD4D ROM:AD50 004 pop RAM_3 ; Pop from Stack and put in Direct RAM ROM:AD52 003 pop RAM_2 ; Pop from Stack and put in Direct RAM ROM:AD54 002 pop RAM_1 ; Pop from Stack and put in Direct RAM ROM:AD56 001 pop RAM_0 ; Pop from Stack and put in Direct RAM ROM:AD58 000 mov A, R7 ; Move (Op1 <- Op2) ROM:AD59 000 add A, R3 ; Add Second Operand to Acc ROM:AD5A 000 mov R7, A ; Move (Op1 <- Op2) ROM:AD5B 000 mov A, R6 ; Move (Op1 <- Op2) ROM:AD5C 000 addc A, R2 ; Add Second Operand to Acc with carry ROM:AD5D 000 mov R6, A ; Move (Op1 <- Op2) ROM:AD5E 000 mov A, R5 ; Move (Op1 <- Op2) ROM:AD5F 000 addc A, R1 ; Add Second Operand to Acc with carry ROM:AD60 000 mov R5, A ; Move (Op1 <- Op2) ROM:AD61 000 mov A, R4 ; Move (Op1 <- Op2) ROM:AD62 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:AD63 000 mov R4, A ; Move (Op1 <- Op2) ROM:AD64 000 inc DPTR ; Increment Operand ROM:AD65 000 lcall ROM_B692 ; Long Subroutine Call ROM:AD65 ROM:AD68 000 mov DPTR, #0DA4h ; Move (Op1 <- Op2) ROM:AD6B 000 movx A, @DPTR ; Move from/to external RAM ROM:AD6C 000 mov R4, A ; Move (Op1 <- Op2) ROM:AD6D 000 inc DPTR ; Increment Operand ROM:AD6E 000 movx A, @DPTR ; Move from/to external RAM ROM:AD6F 000 mov R5, A ; Move (Op1 <- Op2) ROM:AD70 000 inc DPTR ; Increment Operand ROM:AD71 000 movx A, @DPTR ; Move from/to external RAM ROM:AD72 000 mov R6, A ; Move (Op1 <- Op2) ROM:AD73 000 inc DPTR ; Increment Operand ROM:AD74 000 movx A, @DPTR ; Move from/to external RAM ROM:AD75 000 mov R7, A ; Move (Op1 <- Op2) ROM:AD76 000 inc DPTR ; Increment Operand ROM:AD77 000 lcall ROM_B692 ; Long Subroutine Call ROM:AD77 ROM:AD7A 000 mov DPTR, #0DC0h ; Move (Op1 <- Op2) ROM:AD7D 000 movx A, @DPTR ; Move from/to external RAM ROM:AD7E 000 mov R4, A ; Move (Op1 <- Op2) ROM:AD7F 000 inc DPTR ; Increment Operand ROM:AD80 000 movx A, @DPTR ; Move from/to external RAM ROM:AD81 000 mov R5, A ; Move (Op1 <- Op2) ROM:AD82 000 inc DPTR ; Increment Operand ROM:AD83 000 movx A, @DPTR ; Move from/to external RAM ROM:AD84 000 mov R6, A ; Move (Op1 <- Op2) ROM:AD85 000 inc DPTR ; Increment Operand ROM:AD86 000 movx A, @DPTR ; Move from/to external RAM ROM:AD87 000 mov R7, A ; Move (Op1 <- Op2) ROM:AD88 000 mov DPTR, #0DA4h ; Move (Op1 <- Op2) ROM:AD8B 000 lcall ROM_B692 ; Long Subroutine Call ROM:AD8B ROM:AD8E 000 inc RAM_35 ; Increment Operand ROM:AD90 000 mov A, RAM_35 ; Move (Op1 <- Op2) ROM:AD92 000 xrl A, #50h ; Exclusive OR (op1 ^= op2) ROM:AD94 000 jz ROM_AD99 ; Jump if Acc is zero ROM:AD94 ROM:AD96 000 ljmp ROM_AA28 ; Long Jump ROM:AD96 ROM:AD99 ; --------------------------------------------------------------------------- ROM:AD99 ROM:AD99 ROM_AD99: ; CODE XREF: ROM_A829+56Bj ROM:AD99 000 mov DPTR, #0DD0h ; Move (Op1 <- Op2) ROM:AD9C 000 movx A, @DPTR ; Move from/to external RAM ROM:AD9D 000 mov R4, A ; Move (Op1 <- Op2) ROM:AD9E 000 inc DPTR ; Increment Operand ROM:AD9F 000 movx A, @DPTR ; Move from/to external RAM ROM:ADA0 000 mov R5, A ; Move (Op1 <- Op2) ROM:ADA1 000 inc DPTR ; Increment Operand ROM:ADA2 000 movx A, @DPTR ; Move from/to external RAM ROM:ADA3 000 mov R6, A ; Move (Op1 <- Op2) ROM:ADA4 000 inc DPTR ; Increment Operand ROM:ADA5 000 movx A, @DPTR ; Move from/to external RAM ROM:ADA6 000 mov R7, A ; Move (Op1 <- Op2) ROM:ADA7 000 mov DPTR, #0DA4h ; Move (Op1 <- Op2) ROM:ADAA 000 movx A, @DPTR ; Move from/to external RAM ROM:ADAB 000 mov R0, A ; Move (Op1 <- Op2) ROM:ADAC 000 inc DPTR ; Increment Operand ROM:ADAD 000 movx A, @DPTR ; Move from/to external RAM ROM:ADAE 000 mov R1, A ; Move (Op1 <- Op2) ROM:ADAF 000 inc DPTR ; Increment Operand ROM:ADB0 000 movx A, @DPTR ; Move from/to external RAM ROM:ADB1 000 mov R2, A ; Move (Op1 <- Op2) ROM:ADB2 000 inc DPTR ; Increment Operand ROM:ADB3 000 movx A, @DPTR ; Move from/to external RAM ROM:ADB4 000 mov R3, A ; Move (Op1 <- Op2) ROM:ADB5 000 mov A, R7 ; Move (Op1 <- Op2) ROM:ADB6 000 add A, R3 ; Add Second Operand to Acc ROM:ADB7 000 mov R7, A ; Move (Op1 <- Op2) ROM:ADB8 000 mov A, R6 ; Move (Op1 <- Op2) ROM:ADB9 000 addc A, R2 ; Add Second Operand to Acc with carry ROM:ADBA 000 mov R6, A ; Move (Op1 <- Op2) ROM:ADBB 000 mov A, R5 ; Move (Op1 <- Op2) ROM:ADBC 000 addc A, R1 ; Add Second Operand to Acc with carry ROM:ADBD 000 mov R5, A ; Move (Op1 <- Op2) ROM:ADBE 000 mov A, R4 ; Move (Op1 <- Op2) ROM:ADBF 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:ADC0 000 mov R4, A ; Move (Op1 <- Op2) ROM:ADC1 000 mov DPTR, #0DD0h ; Move (Op1 <- Op2) ROM:ADC4 000 lcall ROM_B692 ; Long Subroutine Call ROM:ADC4 ROM:ADC7 000 mov DPTR, #0DD4h ; Move (Op1 <- Op2) ROM:ADCA 000 movx A, @DPTR ; Move from/to external RAM ROM:ADCB 000 mov R4, A ; Move (Op1 <- Op2) ROM:ADCC 000 inc DPTR ; Increment Operand ROM:ADCD 000 movx A, @DPTR ; Move from/to external RAM ROM:ADCE 000 mov R5, A ; Move (Op1 <- Op2) ROM:ADCF 000 inc DPTR ; Increment Operand ROM:ADD0 000 movx A, @DPTR ; Move from/to external RAM ROM:ADD1 000 mov R6, A ; Move (Op1 <- Op2) ROM:ADD2 000 inc DPTR ; Increment Operand ROM:ADD3 000 movx A, @DPTR ; Move from/to external RAM ROM:ADD4 000 mov R7, A ; Move (Op1 <- Op2) ROM:ADD5 000 mov DPTR, #0DA8h ; Move (Op1 <- Op2) ROM:ADD8 000 movx A, @DPTR ; Move from/to external RAM ROM:ADD9 000 mov R0, A ; Move (Op1 <- Op2) ROM:ADDA 000 inc DPTR ; Increment Operand ROM:ADDB 000 movx A, @DPTR ; Move from/to external RAM ROM:ADDC 000 mov R1, A ; Move (Op1 <- Op2) ROM:ADDD 000 inc DPTR ; Increment Operand ROM:ADDE 000 movx A, @DPTR ; Move from/to external RAM ROM:ADDF 000 mov R2, A ; Move (Op1 <- Op2) ROM:ADE0 000 inc DPTR ; Increment Operand ROM:ADE1 000 movx A, @DPTR ; Move from/to external RAM ROM:ADE2 000 mov R3, A ; Move (Op1 <- Op2) ROM:ADE3 000 mov A, R7 ; Move (Op1 <- Op2) ROM:ADE4 000 add A, R3 ; Add Second Operand to Acc ROM:ADE5 000 mov R7, A ; Move (Op1 <- Op2) ROM:ADE6 000 mov A, R6 ; Move (Op1 <- Op2) ROM:ADE7 000 addc A, R2 ; Add Second Operand to Acc with carry ROM:ADE8 000 mov R6, A ; Move (Op1 <- Op2) ROM:ADE9 000 mov A, R5 ; Move (Op1 <- Op2) ROM:ADEA 000 addc A, R1 ; Add Second Operand to Acc with carry ROM:ADEB 000 mov R5, A ; Move (Op1 <- Op2) ROM:ADEC 000 mov A, R4 ; Move (Op1 <- Op2) ROM:ADED 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:ADEE 000 mov R4, A ; Move (Op1 <- Op2) ROM:ADEF 000 mov DPTR, #0DD4h ; Move (Op1 <- Op2) ROM:ADF2 000 lcall ROM_B692 ; Long Subroutine Call ROM:ADF2 ROM:ADF5 000 mov DPTR, #0DD8h ; Move (Op1 <- Op2) ROM:ADF8 000 movx A, @DPTR ; Move from/to external RAM ROM:ADF9 000 mov R4, A ; Move (Op1 <- Op2) ROM:ADFA 000 inc DPTR ; Increment Operand ROM:ADFB 000 movx A, @DPTR ; Move from/to external RAM ROM:ADFC 000 mov R5, A ; Move (Op1 <- Op2) ROM:ADFD 000 inc DPTR ; Increment Operand ROM:ADFE 000 movx A, @DPTR ; Move from/to external RAM ROM:ADFF 000 mov R6, A ; Move (Op1 <- Op2) ROM:AE00 000 inc DPTR ; Increment Operand ROM:AE01 000 movx A, @DPTR ; Move from/to external RAM ROM:AE02 000 mov R7, A ; Move (Op1 <- Op2) ROM:AE03 000 mov DPTR, #0DACh ; Move (Op1 <- Op2) ROM:AE06 000 movx A, @DPTR ; Move from/to external RAM ROM:AE07 000 mov R0, A ; Move (Op1 <- Op2) ROM:AE08 000 inc DPTR ; Increment Operand ROM:AE09 000 movx A, @DPTR ; Move from/to external RAM ROM:AE0A 000 mov R1, A ; Move (Op1 <- Op2) ROM:AE0B 000 inc DPTR ; Increment Operand ROM:AE0C 000 movx A, @DPTR ; Move from/to external RAM ROM:AE0D 000 mov R2, A ; Move (Op1 <- Op2) ROM:AE0E 000 inc DPTR ; Increment Operand ROM:AE0F 000 movx A, @DPTR ; Move from/to external RAM ROM:AE10 000 mov R3, A ; Move (Op1 <- Op2) ROM:AE11 000 mov A, R7 ; Move (Op1 <- Op2) ROM:AE12 000 add A, R3 ; Add Second Operand to Acc ROM:AE13 000 mov R7, A ; Move (Op1 <- Op2) ROM:AE14 000 mov A, R6 ; Move (Op1 <- Op2) ROM:AE15 000 addc A, R2 ; Add Second Operand to Acc with carry ROM:AE16 000 mov R6, A ; Move (Op1 <- Op2) ROM:AE17 000 mov A, R5 ; Move (Op1 <- Op2) ROM:AE18 000 addc A, R1 ; Add Second Operand to Acc with carry ROM:AE19 000 mov R5, A ; Move (Op1 <- Op2) ROM:AE1A 000 mov A, R4 ; Move (Op1 <- Op2) ROM:AE1B 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:AE1C 000 mov R4, A ; Move (Op1 <- Op2) ROM:AE1D 000 mov DPTR, #0DD8h ; Move (Op1 <- Op2) ROM:AE20 000 lcall ROM_B692 ; Long Subroutine Call ROM:AE20 ROM:AE23 000 mov DPTR, #0DDCh ; Move (Op1 <- Op2) ROM:AE26 000 movx A, @DPTR ; Move from/to external RAM ROM:AE27 000 mov R4, A ; Move (Op1 <- Op2) ROM:AE28 000 inc DPTR ; Increment Operand ROM:AE29 000 movx A, @DPTR ; Move from/to external RAM ROM:AE2A 000 mov R5, A ; Move (Op1 <- Op2) ROM:AE2B 000 inc DPTR ; Increment Operand ROM:AE2C 000 movx A, @DPTR ; Move from/to external RAM ROM:AE2D 000 mov R6, A ; Move (Op1 <- Op2) ROM:AE2E 000 inc DPTR ; Increment Operand ROM:AE2F 000 movx A, @DPTR ; Move from/to external RAM ROM:AE30 000 mov R7, A ; Move (Op1 <- Op2) ROM:AE31 000 mov DPTR, #0DB0h ; Move (Op1 <- Op2) ROM:AE34 000 movx A, @DPTR ; Move from/to external RAM ROM:AE35 000 mov R0, A ; Move (Op1 <- Op2) ROM:AE36 000 inc DPTR ; Increment Operand ROM:AE37 000 movx A, @DPTR ; Move from/to external RAM ROM:AE38 000 mov R1, A ; Move (Op1 <- Op2) ROM:AE39 000 inc DPTR ; Increment Operand ROM:AE3A 000 movx A, @DPTR ; Move from/to external RAM ROM:AE3B 000 mov R2, A ; Move (Op1 <- Op2) ROM:AE3C 000 inc DPTR ; Increment Operand ROM:AE3D 000 movx A, @DPTR ; Move from/to external RAM ROM:AE3E 000 mov R3, A ; Move (Op1 <- Op2) ROM:AE3F 000 mov A, R7 ; Move (Op1 <- Op2) ROM:AE40 000 add A, R3 ; Add Second Operand to Acc ROM:AE41 000 mov R7, A ; Move (Op1 <- Op2) ROM:AE42 000 mov A, R6 ; Move (Op1 <- Op2) ROM:AE43 000 addc A, R2 ; Add Second Operand to Acc with carry ROM:AE44 000 mov R6, A ; Move (Op1 <- Op2) ROM:AE45 000 mov A, R5 ; Move (Op1 <- Op2) ROM:AE46 000 addc A, R1 ; Add Second Operand to Acc with carry ROM:AE47 000 mov R5, A ; Move (Op1 <- Op2) ROM:AE48 000 mov A, R4 ; Move (Op1 <- Op2) ROM:AE49 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:AE4A 000 mov R4, A ; Move (Op1 <- Op2) ROM:AE4B 000 mov DPTR, #0DDCh ; Move (Op1 <- Op2) ROM:AE4E 000 lcall ROM_B692 ; Long Subroutine Call ROM:AE4E ROM:AE51 000 mov DPTR, #0DE0h ; Move (Op1 <- Op2) ROM:AE54 000 movx A, @DPTR ; Move from/to external RAM ROM:AE55 000 mov R4, A ; Move (Op1 <- Op2) ROM:AE56 000 inc DPTR ; Increment Operand ROM:AE57 000 movx A, @DPTR ; Move from/to external RAM ROM:AE58 000 mov R5, A ; Move (Op1 <- Op2) ROM:AE59 000 inc DPTR ; Increment Operand ROM:AE5A 000 movx A, @DPTR ; Move from/to external RAM ROM:AE5B 000 mov R6, A ; Move (Op1 <- Op2) ROM:AE5C 000 inc DPTR ; Increment Operand ROM:AE5D 000 movx A, @DPTR ; Move from/to external RAM ROM:AE5E 000 mov R7, A ; Move (Op1 <- Op2) ROM:AE5F 000 mov DPTR, #0DB4h ; Move (Op1 <- Op2) ROM:AE62 000 movx A, @DPTR ; Move from/to external RAM ROM:AE63 000 mov R0, A ; Move (Op1 <- Op2) ROM:AE64 000 inc DPTR ; Increment Operand ROM:AE65 000 movx A, @DPTR ; Move from/to external RAM ROM:AE66 000 mov R1, A ; Move (Op1 <- Op2) ROM:AE67 000 inc DPTR ; Increment Operand ROM:AE68 000 movx A, @DPTR ; Move from/to external RAM ROM:AE69 000 mov R2, A ; Move (Op1 <- Op2) ROM:AE6A 000 inc DPTR ; Increment Operand ROM:AE6B 000 movx A, @DPTR ; Move from/to external RAM ROM:AE6C 000 mov R3, A ; Move (Op1 <- Op2) ROM:AE6D 000 mov A, R7 ; Move (Op1 <- Op2) ROM:AE6E 000 add A, R3 ; Add Second Operand to Acc ROM:AE6F 000 mov R7, A ; Move (Op1 <- Op2) ROM:AE70 000 mov A, R6 ; Move (Op1 <- Op2) ROM:AE71 000 addc A, R2 ; Add Second Operand to Acc with carry ROM:AE72 000 mov R6, A ; Move (Op1 <- Op2) ROM:AE73 000 mov A, R5 ; Move (Op1 <- Op2) ROM:AE74 000 addc A, R1 ; Add Second Operand to Acc with carry ROM:AE75 000 mov R5, A ; Move (Op1 <- Op2) ROM:AE76 000 mov A, R4 ; Move (Op1 <- Op2) ROM:AE77 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:AE78 000 mov R4, A ; Move (Op1 <- Op2) ROM:AE79 000 mov DPTR, #0DE0h ; Move (Op1 <- Op2) ROM:AE7C 000 lcall ROM_B692 ; Long Subroutine Call ROM:AE7C ROM:AE7F 000 mov R6, #0Dh ; Move (Op1 <- Op2) ROM:AE81 000 mov R7, #0E0h ; 'a' ; Move (Op1 <- Op2) ROM:AE83 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:AE85 000 mov @R0, RAM_6 ; Move (Op1 <- Op2) ROM:AE87 000 inc R0 ; Increment Operand ROM:AE88 000 mov @R0, RAM_7 ; Move (Op1 <- Op2) ROM:AE8A 000 dec R0 ; Decrement Operand ROM:AE8B 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AE8C 000 mov R4, A ; Move (Op1 <- Op2) ROM:AE8D 000 inc R0 ; Increment Operand ROM:AE8E 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AE8F 000 mov R5, A ; Move (Op1 <- Op2) ROM:AE90 000 mov DP0L, A ; Data Pointer Low Byte ROM:AE92 000 mov DP0H, R4 ; Data Pointer High Byte ROM:AE94 000 movx A, @DPTR ; Move from/to external RAM ROM:AE95 000 mov DPTR, #0DF7h ; Move (Op1 <- Op2) ROM:AE98 000 movx @DPTR, A ; Move from/to external RAM ROM:AE99 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:AE9B 000 mov DP0H, R4 ; Data Pointer High Byte ROM:AE9D 000 inc DPTR ; Increment Operand ROM:AE9E 000 movx A, @DPTR ; Move from/to external RAM ROM:AE9F 000 mov DPTR, #0DF6h ; Move (Op1 <- Op2) ROM:AEA2 000 movx @DPTR, A ; Move from/to external RAM ROM:AEA3 000 dec R0 ; Decrement Operand ROM:AEA4 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AEA5 000 mov R4, A ; Move (Op1 <- Op2) ROM:AEA6 000 inc R0 ; Increment Operand ROM:AEA7 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AEA8 000 mov R5, A ; Move (Op1 <- Op2) ROM:AEA9 000 mov DP0L, A ; Data Pointer Low Byte ROM:AEAB 000 mov DP0H, R4 ; Data Pointer High Byte ROM:AEAD 000 inc DPTR ; Increment Operand ROM:AEAE 000 inc DPTR ; Increment Operand ROM:AEAF 000 movx A, @DPTR ; Move from/to external RAM ROM:AEB0 000 mov DPTR, #0DF5h ; Move (Op1 <- Op2) ROM:AEB3 000 movx @DPTR, A ; Move from/to external RAM ROM:AEB4 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:AEB6 000 mov DP0H, R4 ; Data Pointer High Byte ROM:AEB8 000 inc DPTR ; Increment Operand ROM:AEB9 000 inc DPTR ; Increment Operand ROM:AEBA 000 inc DPTR ; Increment Operand ROM:AEBB 000 movx A, @DPTR ; Move from/to external RAM ROM:AEBC 000 mov DPTR, #0DF4h ; Move (Op1 <- Op2) ROM:AEBF 000 movx @DPTR, A ; Move from/to external RAM ROM:AEC0 000 dec R0 ; Decrement Operand ROM:AEC1 000 mov @R0, RAM_6 ; Move (Op1 <- Op2) ROM:AEC3 000 inc R0 ; Increment Operand ROM:AEC4 000 mov @R0, RAM_7 ; Move (Op1 <- Op2) ROM:AEC6 000 dec R0 ; Decrement Operand ROM:AEC7 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AEC8 000 mov R6, A ; Move (Op1 <- Op2) ROM:AEC9 000 inc R0 ; Increment Operand ROM:AECA 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AECB 000 mov R7, A ; Move (Op1 <- Op2) ROM:AECC 000 mov DP0L, A ; Data Pointer Low Byte ROM:AECE 000 mov DP0H, R6 ; Data Pointer High Byte ROM:AED0 000 movx A, @DPTR ; Move from/to external RAM ROM:AED1 000 mov DPTR, #2283h ; Move (Op1 <- Op2) ROM:AED4 000 movx @DPTR, A ; Move from/to external RAM ROM:AED5 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:AED7 000 mov DP0H, R6 ; Data Pointer High Byte ROM:AED9 000 inc DPTR ; Increment Operand ROM:AEDA 000 movx A, @DPTR ; Move from/to external RAM ROM:AEDB 000 mov DPTR, #2282h ; Move (Op1 <- Op2) ROM:AEDE 000 movx @DPTR, A ; Move from/to external RAM ROM:AEDF 000 dec R0 ; Decrement Operand ROM:AEE0 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AEE1 000 mov R6, A ; Move (Op1 <- Op2) ROM:AEE2 000 inc R0 ; Increment Operand ROM:AEE3 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AEE4 000 mov R7, A ; Move (Op1 <- Op2) ROM:AEE5 000 mov DP0L, A ; Data Pointer Low Byte ROM:AEE7 000 mov DP0H, R6 ; Data Pointer High Byte ROM:AEE9 000 inc DPTR ; Increment Operand ROM:AEEA 000 inc DPTR ; Increment Operand ROM:AEEB 000 movx A, @DPTR ; Move from/to external RAM ROM:AEEC 000 mov DPTR, #2281h ; Move (Op1 <- Op2) ROM:AEEF 000 movx @DPTR, A ; Move from/to external RAM ROM:AEF0 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:AEF2 000 mov DP0H, R6 ; Data Pointer High Byte ROM:AEF4 000 inc DPTR ; Increment Operand ROM:AEF5 000 inc DPTR ; Increment Operand ROM:AEF6 000 inc DPTR ; Increment Operand ROM:AEF7 000 movx A, @DPTR ; Move from/to external RAM ROM:AEF8 000 mov DPTR, #BRAM_SBT0 ; Battery Packed SRAM byte 0 ROM:AEFB 000 movx @DPTR, A ; Move from/to external RAM ROM:AEFC 000 ret ; Return from subroutine ROM:AEFC ROM:AEFC ; End of function ROM_A829 ROM:AEFC ROM:AEFD ROM:AEFD ; =============== S U B R O U T I N E ======================================= ROM:AEFD ROM:AEFD ROM:AEFD ROM_AEFD: ROM:AEFD 000 clr A ; Clear Operand (0) ROM:AEFE 000 mov DPTR, #6FEh ; Move (Op1 <- Op2) ROM:AF01 000 movx @DPTR, A ; Move from/to external RAM ROM:AF02 000 mov DPTR, #6FDh ; Move (Op1 <- Op2) ROM:AF05 000 movx @DPTR, A ; Move from/to external RAM ROM:AF06 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:AF09 000 movx @DPTR, A ; Move from/to external RAM ROM:AF0A 000 ret ; Return from subroutine ROM:AF0A ROM:AF0A ; End of function ROM_AEFD ROM:AF0A ROM:AF0B ROM:AF0B ; =============== S U B R O U T I N E ======================================= ROM:AF0B ROM:AF0B ROM:AF0B ROM_AF0B: ; CODE XREF: func_ROM_B2DE:ROM_B30Dp ROM:AF0B 000 mov DPTR, #6FEh ; Move (Op1 <- Op2) ROM:AF0E 000 movx A, @DPTR ; Move from/to external RAM ROM:AF0F 000 jz ROM_AF14 ; Jump if Acc is zero ROM:AF0F ROM:AF11 000 mov R7, #0 ; Move (Op1 <- Op2) ROM:AF13 000 ret ; Return from subroutine ROM:AF13 ROM:AF14 ; --------------------------------------------------------------------------- ROM:AF14 ROM:AF14 ROM_AF14: ; CODE XREF: ROM_AF0B+4j ROM:AF14 000 mov DPTR, #1DAh ; Move (Op1 <- Op2) ROM:AF17 000 movx A, @DPTR ; Move from/to external RAM ROM:AF18 000 jnz ROM_AF20 ; Jump if Acc is not zero ROM:AF18 ROM:AF1A 000 inc DPTR ; Increment Operand ROM:AF1B 000 movx A, @DPTR ; Move from/to external RAM ROM:AF1C 000 jnz ROM_AF20 ; Jump if Acc is not zero ROM:AF1C ROM:AF1E 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF1F 000 ret ; Return from subroutine ROM:AF1F ROM:AF20 ; --------------------------------------------------------------------------- ROM:AF20 ROM:AF20 ROM_AF20: ; CODE XREF: ROM_AF0B+Dj ROM:AF20 ; ROM_AF0B+11j ROM:AF20 000 mov DPTR, #1D8h ; Move (Op1 <- Op2) ROM:AF23 000 movx A, @DPTR ; Move from/to external RAM ROM:AF24 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF25 000 mov DPTR, #1A8h ; Move (Op1 <- Op2) ROM:AF28 000 movx A, @DPTR ; Move from/to external RAM ROM:AF29 000 add A, R7 ; Add Second Operand to Acc ROM:AF2A 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF2B 000 mov DPTR, #1DAh ; Move (Op1 <- Op2) ROM:AF2E 000 movx A, @DPTR ; Move from/to external RAM ROM:AF2F 000 add A, R7 ; Add Second Operand to Acc ROM:AF30 000 cpl A ; Complement Operand ROM:AF31 000 add A, TL0 ; Timer 0 Low Byte ROM:AF33 000 mov DPTR, #0DF0h ; Move (Op1 <- Op2) ROM:AF36 000 movx @DPTR, A ; Move from/to external RAM ROM:AF37 000 movx A, @DPTR ; Move from/to external RAM ROM:AF38 000 rlc A ; Rotate Acc left through Carry ROM:AF39 000 rlc A ; Rotate Acc left through Carry ROM:AF3A 000 rlc A ; Rotate Acc left through Carry ROM:AF3B 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:AF3D 000 add A, TL0 ; Timer 0 Low Byte ROM:AF3F 000 movx @DPTR, A ; Move from/to external RAM ROM:AF40 000 mov DPTR, #1D8h ; Move (Op1 <- Op2) ROM:AF43 000 movx A, @DPTR ; Move from/to external RAM ROM:AF44 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF45 000 mov DPTR, #1A8h ; Move (Op1 <- Op2) ROM:AF48 000 movx A, @DPTR ; Move from/to external RAM ROM:AF49 000 add A, R7 ; Add Second Operand to Acc ROM:AF4A 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF4B 000 mov DPTR, #1DAh ; Move (Op1 <- Op2) ROM:AF4E 000 movx A, @DPTR ; Move from/to external RAM ROM:AF4F 000 add A, R7 ; Add Second Operand to Acc ROM:AF50 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF51 000 mov DPTR, #0DF0h ; Move (Op1 <- Op2) ROM:AF54 000 movx A, @DPTR ; Move from/to external RAM ROM:AF55 000 rlc A ; Rotate Acc left through Carry ROM:AF56 000 rlc A ; Rotate Acc left through Carry ROM:AF57 000 rlc A ; Rotate Acc left through Carry ROM:AF58 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:AF5A 000 add A, R7 ; Add Second Operand to Acc ROM:AF5B 000 add A, TL0 ; Timer 0 Low Byte ROM:AF5D 000 movx @DPTR, A ; Move from/to external RAM ROM:AF5E 000 movx A, @DPTR ; Move from/to external RAM ROM:AF5F 000 mov R5, A ; Move (Op1 <- Op2) ROM:AF60 000 rlc A ; Rotate Acc left through Carry ROM:AF61 000 rlc A ; Rotate Acc left through Carry ROM:AF62 000 rlc A ; Rotate Acc left through Carry ROM:AF63 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:AF65 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF66 000 mov DPTR, #1A8h ; Move (Op1 <- Op2) ROM:AF69 000 movx A, @DPTR ; Move from/to external RAM ROM:AF6A 000 add A, R7 ; Add Second Operand to Acc ROM:AF6B 000 add A, TL0 ; Timer 0 Low Byte ROM:AF6D 000 mov DPTR, #0DF1h ; Move (Op1 <- Op2) ROM:AF70 000 movx @DPTR, A ; Move from/to external RAM ROM:AF71 000 movx A, @DPTR ; Move from/to external RAM ROM:AF72 000 mov R4, A ; Move (Op1 <- Op2) ROM:AF73 000 rlc A ; Rotate Acc left through Carry ROM:AF74 000 rlc A ; Rotate Acc left through Carry ROM:AF75 000 rlc A ; Rotate Acc left through Carry ROM:AF76 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:AF78 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF79 000 mov DPTR, #1D8h ; Move (Op1 <- Op2) ROM:AF7C 000 movx A, @DPTR ; Move from/to external RAM ROM:AF7D 000 add A, R7 ; Add Second Operand to Acc ROM:AF7E 000 add A, TL0 ; Timer 0 Low Byte ROM:AF80 000 mov DPTR, #0DF2h ; Move (Op1 <- Op2) ROM:AF83 000 movx @DPTR, A ; Move from/to external RAM ROM:AF84 000 movx A, @DPTR ; Move from/to external RAM ROM:AF85 000 mov R7, A ; Move (Op1 <- Op2) ROM:AF86 000 rlc A ; Rotate Acc left through Carry ROM:AF87 000 rlc A ; Rotate Acc left through Carry ROM:AF88 000 rlc A ; Rotate Acc left through Carry ROM:AF89 000 anl A, #0F8h ; Logical AND (op1 &= op2) ROM:AF8B 000 mov R6, A ; Move (Op1 <- Op2) ROM:AF8C 000 mov DPTR, #1A8h ; Move (Op1 <- Op2) ROM:AF8F 000 movx A, @DPTR ; Move from/to external RAM ROM:AF90 000 cpl A ; Complement Operand ROM:AF91 000 add A, R6 ; Add Second Operand to Acc ROM:AF92 000 mov R6, A ; Move (Op1 <- Op2) ROM:AF93 000 mov DPTR, #1D8h ; Move (Op1 <- Op2) ROM:AF96 000 movx A, @DPTR ; Move from/to external RAM ROM:AF97 000 cpl A ; Complement Operand ROM:AF98 000 add A, R6 ; Add Second Operand to Acc ROM:AF99 000 mov R6, A ; Move (Op1 <- Op2) ROM:AF9A 000 mov DPTR, #1DAh ; Move (Op1 <- Op2) ROM:AF9D 000 movx A, @DPTR ; Move from/to external RAM ROM:AF9E 000 cpl A ; Complement Operand ROM:AF9F 000 add A, R6 ; Add Second Operand to Acc ROM:AFA0 000 add A, TL0 ; Timer 0 Low Byte ROM:AFA2 000 mov DPTR, #0DF3h ; Move (Op1 <- Op2) ROM:AFA5 000 movx @DPTR, A ; Move from/to external RAM ROM:AFA6 000 mov DPTR, #2280h ; Move (Op1 <- Op2) ROM:AFA9 000 mov A, R5 ; Move (Op1 <- Op2) ROM:AFAA 000 movx @DPTR, A ; Move from/to external RAM ROM:AFAB 000 inc DPTR ; Increment Operand ROM:AFAC 000 mov A, R4 ; Move (Op1 <- Op2) ROM:AFAD 000 movx @DPTR, A ; Move from/to external RAM ROM:AFAE 000 inc DPTR ; Increment Operand ROM:AFAF 000 mov A, R7 ; Move (Op1 <- Op2) ROM:AFB0 000 movx @DPTR, A ; Move from/to external RAM ROM:AFB1 000 mov DPTR, #0DF3h ; Move (Op1 <- Op2) ROM:AFB4 000 movx A, @DPTR ; Move from/to external RAM ROM:AFB5 000 mov DPTR, #2283h ; Move (Op1 <- Op2) ROM:AFB8 000 movx @DPTR, A ; Move from/to external RAM ROM:AFB9 000 mov DPTR, #6FEh ; Move (Op1 <- Op2) ROM:AFBC 000 mov A, #1 ; Move (Op1 <- Op2) ROM:AFBE 000 movx @DPTR, A ; Move from/to external RAM ROM:AFBF 000 mov R7, A ; Move (Op1 <- Op2) ROM:AFC0 000 ret ; Return from subroutine ROM:AFC0 ROM:AFC0 ; End of function ROM_AF0B ROM:AFC0 ROM:AFC1 ROM:AFC1 ; =============== S U B R O U T I N E ======================================= ROM:AFC1 ROM:AFC1 ROM:AFC1 ROM_AFC1: ; CODE XREF: ROM_B24Ap ROM:AFC1 ; ROM:B260p ROM:AFC1 000 mov DPTR, #0C10h ; Move (Op1 <- Op2) ROM:AFC4 000 lcall ROM_B69E ; Long Subroutine Call ROM:AFC4 ROM:AFC7 000 nop ; No operation ROM:AFC8 000 nop ; No operation ROM:AFC9 000 nop ; No operation ROM:AFCA 000 nop ; No operation ROM:AFCB 000 mov DPTR, #0C14h ; Move (Op1 <- Op2) ROM:AFCE 000 lcall ROM_B69E ; Long Subroutine Call ROM:AFCE ROM:AFD1 000 nop ; No operation ROM:AFD2 000 nop ; No operation ROM:AFD3 000 nop ; No operation ROM:AFD4 000 nop ; No operation ROM:AFD5 000 mov DPTR, #0C18h ; Move (Op1 <- Op2) ROM:AFD8 000 lcall ROM_B69E ; Long Subroutine Call ROM:AFD8 ROM:AFDB 000 nop ; No operation ROM:AFDC 000 nop ; No operation ROM:AFDD 000 nop ; No operation ROM:AFDE 000 nop ; No operation ROM:AFDF 000 mov DPTR, #0C1Ch ; Move (Op1 <- Op2) ROM:AFE2 000 lcall ROM_B69E ; Long Subroutine Call ROM:AFE2 ROM:AFE5 000 nop ; No operation ROM:AFE6 000 nop ; No operation ROM:AFE7 000 nop ; No operation ROM:AFE8 000 nop ; No operation ROM:AFE9 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:AFEB 000 mov @R0, #0Ch ; Move (Op1 <- Op2) ROM:AFED 000 inc R0 ; Increment Operand ROM:AFEE 000 mov @R0, #20h ; ' ' ; Move (Op1 <- Op2) ROM:AFF0 000 mov DPTR, #0DF3h ; Move (Op1 <- Op2) ROM:AFF3 000 movx A, @DPTR ; Move from/to external RAM ROM:AFF4 000 mov R7, A ; Move (Op1 <- Op2) ROM:AFF5 000 dec R0 ; Decrement Operand ROM:AFF6 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AFF7 000 mov R4, A ; Move (Op1 <- Op2) ROM:AFF8 000 inc R0 ; Increment Operand ROM:AFF9 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:AFFA 000 mov R5, A ; Move (Op1 <- Op2) ROM:AFFB 000 mov DP0L, A ; Data Pointer Low Byte ROM:AFFD 000 mov DP0H, R4 ; Data Pointer High Byte ROM:AFFF 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B000 000 movx @DPTR, A ; Move from/to external RAM ROM:B001 ROM:B001 ROM_B001: ; Move (Op1 <- Op2) ROM:B001 000 mov DPTR, #0DF2h ROM:B004 000 movx A, @DPTR ; Move from/to external RAM ROM:B005 000 mov R6, A ; Move (Op1 <- Op2) ROM:B006 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:B008 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B00A 000 inc DPTR ; Increment Operand ROM:B00B 000 movx @DPTR, A ; Move from/to external RAM ROM:B00C 000 mov DPTR, #0DF1h ; Move (Op1 <- Op2) ROM:B00F 000 movx A, @DPTR ; Move from/to external RAM ROM:B010 000 mov R1, A ; Move (Op1 <- Op2) ROM:B011 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:B013 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B015 000 inc DPTR ; Increment Operand ROM:B016 000 inc DPTR ; Increment Operand ROM:B017 000 movx @DPTR, A ; Move from/to external RAM ROM:B018 000 mov DPTR, #0DF0h ; Move (Op1 <- Op2) ROM:B01B 000 movx A, @DPTR ; Move from/to external RAM ROM:B01C 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:B01E 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B020 000 inc DPTR ; Increment Operand ROM:B021 000 inc DPTR ; Increment Operand ROM:B022 000 inc DPTR ; Increment Operand ROM:B023 000 movx @DPTR, A ; Move from/to external RAM ROM:B024 000 mov R4, #0Dh ; Move (Op1 <- Op2) ROM:B026 000 mov R5, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:B028 000 dec R0 ; Decrement Operand ROM:B029 000 mov A, R4 ; Move (Op1 <- Op2) ROM:B02A 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B02B 000 inc R0 ; Increment Operand ROM:B02C 000 mov A, R5 ; Move (Op1 <- Op2) ROM:B02D 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B02E 000 mov DPTR, #0DF0h ; Move (Op1 <- Op2) ROM:B031 000 movx A, @DPTR ; Move from/to external RAM ROM:B032 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:B034 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B036 000 movx @DPTR, A ; Move from/to external RAM ROM:B037 000 inc DPTR ; Increment Operand ROM:B038 000 mov A, R1 ; Move (Op1 <- Op2) ROM:B039 000 movx @DPTR, A ; Move from/to external RAM ROM:B03A 000 dec DP0L ; Data Pointer Low Byte ROM:B03C 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B03E 000 inc DPTR ; Increment Operand ROM:B03F 000 inc DPTR ; Increment Operand ROM:B040 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B041 000 movx @DPTR, A ; Move from/to external RAM ROM:B042 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:B044 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B046 000 inc DPTR ; Increment Operand ROM:B047 000 inc DPTR ; Increment Operand ROM:B048 000 inc DPTR ; Increment Operand ROM:B049 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B04A 000 movx @DPTR, A ; Move from/to external RAM ROM:B04B 000 ret ; Return from subroutine ROM:B04B ROM:B04B ; End of function ROM_AFC1 ROM:B04B ROM:B04C ROM:B04C ; =============== S U B R O U T I N E ======================================= ROM:B04C ROM:B04C ROM:B04C ROM_B04C: ROM:B04C 000 clr A ; Clear Operand (0) ROM:B04D 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:B04D ROM:B04F ROM:B04F ROM_B04F: ; CODE XREF: ROM_B04C+69j ROM:B04F 000 clr A ; Clear Operand (0) ROM:B050 000 mov RAM_31, A ; Move (Op1 <- Op2) ROM:B050 ROM:B052 ROM:B052 ROM_B052: ; CODE XREF: ROM_B04C+62j ROM:B052 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:B054 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B055 000 add A, ACC ; Accumulator ROM:B057 000 add A, ACC ; Accumulator ROM:B059 000 add A, #84h ; 'ä' ; Add Second Operand to Acc ROM:B05B 000 mov DP0L, A ; Data Pointer Low Byte ROM:B05D 000 clr A ; Clear Operand (0) ROM:B05E 000 addc A, #0B5h ; '¦' ; Add Second Operand to Acc with carry ROM:B060 000 mov DP0H, A ; Data Pointer High Byte ROM:B062 000 clr A ; Clear Operand (0) ROM:B063 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B064 000 mov R6, A ; Move (Op1 <- Op2) ROM:B065 000 mov A, #1 ; Move (Op1 <- Op2) ROM:B067 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B068 000 mov DP0L, A ; Data Pointer Low Byte ROM:B06A 000 mov DP0H, R6 ; Data Pointer High Byte ROM:B06C 000 mov R7, RAM_31 ; Move (Op1 <- Op2) ROM:B06E 000 clr C ; Clear Operand (0) ROM:B06F 000 mov A, #3 ; Move (Op1 <- Op2) ROM:B071 000 subb A, R7 ; Subtract Second Operand from Acc with Borrow ROM:B072 000 mov R7, A ; Move (Op1 <- Op2) ROM:B073 000 clr A ; Clear Operand (0) ROM:B074 000 subb A, #0 ; Subtract Second Operand from Acc with Borrow ROM:B076 000 mov R6, A ; Move (Op1 <- Op2) ROM:B077 000 mov A, DP0L ; Data Pointer Low Byte ROM:B079 000 add A, R7 ; Add Second Operand to Acc ROM:B07A 000 mov DP0L, A ; Data Pointer Low Byte ROM:B07C 000 mov A, DP0H ; Data Pointer High Byte ROM:B07E 000 addc A, R6 ; Add Second Operand to Acc with carry ROM:B07F 000 mov DP0H, A ; Data Pointer High Byte ROM:B081 000 movx A, @DPTR ; Move from/to external RAM ROM:B082 000 mov R7, A ; Move (Op1 <- Op2) ROM:B083 000 mov R6, RAM_30 ; Move (Op1 <- Op2) ROM:B085 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B086 000 add A, ACC ; Accumulator ROM:B088 000 add A, ACC ; Accumulator ROM:B08A 000 add A, #86h ; 'å' ; Add Second Operand to Acc ROM:B08C 000 mov DP0L, A ; Data Pointer Low Byte ROM:B08E 000 clr A ; Clear Operand (0) ROM:B08F 000 addc A, #0B5h ; '¦' ; Add Second Operand to Acc with carry ROM:B091 000 mov DP0H, A ; Data Pointer High Byte ROM:B093 000 clr A ; Clear Operand (0) ROM:B094 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B095 000 mov R4, A ; Move (Op1 <- Op2) ROM:B096 000 mov A, #1 ; Move (Op1 <- Op2) ROM:B098 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B099 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B09B 000 mov R6, RAM_31 ; Move (Op1 <- Op2) ROM:B09D 000 add A, R6 ; Add Second Operand to Acc ROM:B09E 000 mov DP0L, A ; Data Pointer Low Byte ROM:B0A0 000 clr A ; Clear Operand (0) ROM:B0A1 000 addc A, R4 ; Add Second Operand to Acc with carry ROM:B0A2 000 mov DP0H, A ; Data Pointer High Byte ROM:B0A4 000 movx A, @DPTR ; Move from/to external RAM ROM:B0A5 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:B0A6 000 jz ROM_B0AA ; Jump if Acc is zero ROM:B0A6 ROM:B0A8 000 clr C ; Clear Operand (0) ROM:B0A9 000 ret ; Return from subroutine ROM:B0A9 ROM:B0AA ; --------------------------------------------------------------------------- ROM:B0AA ROM:B0AA ROM_B0AA: ; CODE XREF: ROM_B04C+5Aj ROM:B0AA 000 inc RAM_31 ; Increment Operand ROM:B0AC 000 mov A, RAM_31 ; Move (Op1 <- Op2) ROM:B0AE 000 cjne A, #4, ROM_B052 ; Compare Operands and JNE ROM:B0AE ROM:B0B1 000 inc RAM_30 ; Increment Operand ROM:B0B3 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:B0B5 000 cjne A, #1, ROM_B04F ; Compare Operands and JNE ROM:B0B5 ROM:B0B8 000 setb C ; Set Direct Bit ROM:B0B9 000 ret ; Return from subroutine ROM:B0B9 ROM:B0B9 ; End of function ROM_B04C ROM:B0B9 ROM:B0BA ROM:B0BA ; =============== S U B R O U T I N E ======================================= ROM:B0BA ROM:B0BA ROM:B0BA ROM_B0BA: ROM:B0BA 000 clr A ; Clear Operand (0) ROM:B0BB 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:B0BB ROM:B0BD ROM:B0BD ROM_B0BD: ; CODE XREF: ROM_B0BA+1Fj ROM:B0BD 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:B0BF 000 mov B, #4 ; B Register ROM:B0C2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B0C3 000 mul AB ; Multiply Acc by B ROM:B0C4 000 add A, #0 ; Add Second Operand to Acc ROM:B0C6 000 mov DP0L, A ; Data Pointer Low Byte ROM:B0C8 000 mov A, B ; B Register ROM:B0CA 000 addc A, #0Ch ; Add Second Operand to Acc with carry ROM:B0CC 000 mov DP0H, A ; Data Pointer High Byte ROM:B0CE 000 lcall ROM_B69E ; Long Subroutine Call ROM:B0CE ROM:B0D1 000 nop ; No operation ROM:B0D2 000 nop ; No operation ROM:B0D3 000 nop ; No operation ROM:B0D4 000 nop ; No operation ROM:B0D5 000 inc RAM_30 ; Increment Operand ROM:B0D7 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:B0D9 000 cjne A, #50h, ROM_B0BD ; 'P' ; Compare Operands and JNE ROM:B0D9 ROM:B0DC 000 ret ; Return from subroutine ROM:B0DC ROM:B0DC ; End of function ROM_B0BA ROM:B0DC ROM:B0DD ROM:B0DD ; =============== S U B R O U T I N E ======================================= ROM:B0DD ROM:B0DD ROM:B0DD ROM_B0DD: ROM:B0DD 000 mov DPTR, #0DE0h ; Move (Op1 <- Op2) ROM:B0E0 000 lcall ROM_B69E ; Long Subroutine Call ROM:B0E0 ROM:B0E3 000 nop ; No operation ROM:B0E4 000 nop ; No operation ROM:B0E5 000 nop ; No operation ROM:B0E6 000 nop ; No operation ROM:B0E7 000 mov DPTR, #0DE4h ; Move (Op1 <- Op2) ROM:B0EA 000 lcall ROM_B69E ; Long Subroutine Call ROM:B0EA ROM:B0ED 000 nop ; No operation ROM:B0EE 000 nop ; No operation ROM:B0EF 000 nop ; No operation ROM:B0F0 000 nop ; No operation ROM:B0F1 000 ret ; Return from subroutine ROM:B0F1 ROM:B0F1 ; End of function ROM_B0DD ROM:B0F1 ROM:B0F2 ROM:B0F2 ; =============== S U B R O U T I N E ======================================= ROM:B0F2 ROM:B0F2 ROM:B0F2 ROM_B0F2: ; CODE XREF: ROM_B24A+3p ROM:B0F2 ; ROM:B263p ROM:B0F2 000 mov R6, #0Dh ; Move (Op1 <- Op2) ROM:B0F4 000 mov R7, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:B0F6 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:B0F8 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B0F9 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B0FA 000 inc R0 ; Increment Operand ROM:B0FB 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B0FC 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B0FD 000 mov DP0L, A ; Data Pointer Low Byte ROM:B0FF 000 mov DP0H, R6 ; Data Pointer High Byte ROM:B101 000 inc DPTR ; Increment Operand ROM:B102 000 inc DPTR ; Increment Operand ROM:B103 000 movx A, @DPTR ; Move from/to external RAM ROM:B104 000 mov DPTR, #2281h ; Move (Op1 <- Op2) ROM:B107 000 movx A, @DPTR ; Move from/to external RAM ROM:B108 000 anl A, #0Fh ; Logical AND (op1 &= op2) ROM:B10A 000 mov R7, A ; Move (Op1 <- Op2) ROM:B10B 000 mov RAM_31, #10h ; Move (Op1 <- Op2) ROM:B10E 000 clr A ; Clear Operand (0) ROM:B10F 000 mov RAM_30, A ; Move (Op1 <- Op2) ROM:B10F ROM:B111 ROM:B111 ROM_B111: ; CODE XREF: ROM_B0F2+ECj ROM:B111 000 mov R6, RAM_30 ; Move (Op1 <- Op2) ROM:B113 000 mov B, #4 ; B Register ROM:B116 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B117 000 mul AB ; Multiply Acc by B ROM:B118 000 add A, #0 ; Add Second Operand to Acc ROM:B11A 000 mov DP0L, A ; Data Pointer Low Byte ROM:B11C 000 mov A, B ; B Register ROM:B11E 000 addc A, #0Ch ; Add Second Operand to Acc with carry ROM:B120 000 mov R5, DP0L ; Data Pointer Low Byte ROM:B122 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:B124 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B125 000 inc R0 ; Increment Operand ROM:B126 000 mov @R0, RAM_5 ; Move (Op1 <- Op2) ROM:B128 000 dec RAM_31 ; Decrement Operand ROM:B12A 000 mov R6, RAM_31 ; Move (Op1 <- Op2) ROM:B12C 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B12D 000 swap A ; Swap nibbles of Acc ROM:B12E 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:B130 000 add A, #68h ; 'h' ; Add Second Operand to Acc ROM:B132 000 mov DP0L, A ; Data Pointer Low Byte ROM:B134 000 clr A ; Clear Operand (0) ROM:B135 000 addc A, #0B3h ; '¦' ; Add Second Operand to Acc with carry ROM:B137 000 mov DP0H, A ; Data Pointer High Byte ROM:B139 000 mov A, DP0L ; Data Pointer Low Byte ROM:B13B 000 add A, R7 ; Add Second Operand to Acc ROM:B13C 000 mov DP0L, A ; Data Pointer Low Byte ROM:B13E 000 clr A ; Clear Operand (0) ROM:B13F 000 addc A, DP0H ; Data Pointer High Byte ROM:B141 000 mov DP0H, A ; Data Pointer High Byte ROM:B143 000 clr A ; Clear Operand (0) ROM:B144 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B145 000 cpl A ; Complement Operand ROM:B146 000 mov DPTR, #0B484h ; Move (Op1 <- Op2) ROM:B149 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B14A 000 cpl A ; Complement Operand ROM:B14B 000 mov R6, A ; Move (Op1 <- Op2) ROM:B14C 000 dec R0 ; Decrement Operand ROM:B14D 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:B14E 000 mov R4, A ; Move (Op1 <- Op2) ROM:B14F 000 inc R0 ; Increment Operand ROM:B150 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:B151 000 mov R5, A ; Move (Op1 <- Op2) ROM:B152 000 mov DP0L, A ; Data Pointer Low Byte ROM:B154 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B156 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B157 000 movx @DPTR, A ; Move from/to external RAM ROM:B158 000 dec RAM_31 ; Decrement Operand ROM:B15A 000 mov R6, RAM_31 ; Move (Op1 <- Op2) ROM:B15C 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B15D 000 swap A ; Swap nibbles of Acc ROM:B15E 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:B160 000 add A, #68h ; 'h' ; Add Second Operand to Acc ROM:B162 000 mov DP0L, A ; Data Pointer Low Byte ROM:B164 000 clr A ; Clear Operand (0) ROM:B165 000 addc A, #0B3h ; '¦' ; Add Second Operand to Acc with carry ROM:B167 000 mov DP0H, A ; Data Pointer High Byte ROM:B169 000 mov A, DP0L ; Data Pointer Low Byte ROM:B16B 000 add A, R7 ; Add Second Operand to Acc ROM:B16C 000 mov DP0L, A ; Data Pointer Low Byte ROM:B16E 000 clr A ; Clear Operand (0) ROM:B16F 000 addc A, DP0H ; Data Pointer High Byte ROM:B171 000 mov DP0H, A ; Data Pointer High Byte ROM:B173 000 clr A ; Clear Operand (0) ROM:B174 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B175 000 cpl A ; Complement Operand ROM:B176 000 mov DPTR, #0B484h ; Move (Op1 <- Op2) ROM:B179 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B17A 000 cpl A ; Complement Operand ROM:B17B 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:B17D 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B17F 000 inc DPTR ; Increment Operand ROM:B180 000 movx @DPTR, A ; Move from/to external RAM ROM:B181 000 dec RAM_31 ; Decrement Operand ROM:B183 000 mov R6, RAM_31 ; Move (Op1 <- Op2) ROM:B185 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B186 000 swap A ; Swap nibbles of Acc ROM:B187 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:B189 000 add A, #68h ; 'h' ; Add Second Operand to Acc ROM:B18B 000 mov DP0L, A ; Data Pointer Low Byte ROM:B18D 000 clr A ; Clear Operand (0) ROM:B18E 000 addc A, #0B3h ; '¦' ; Add Second Operand to Acc with carry ROM:B190 000 mov DP0H, A ; Data Pointer High Byte ROM:B192 000 mov A, DP0L ; Data Pointer Low Byte ROM:B194 000 add A, R7 ; Add Second Operand to Acc ROM:B195 000 mov DP0L, A ; Data Pointer Low Byte ROM:B197 000 clr A ; Clear Operand (0) ROM:B198 000 addc A, DP0H ; Data Pointer High Byte ROM:B19A 000 mov DP0H, A ; Data Pointer High Byte ROM:B19C 000 clr A ; Clear Operand (0) ROM:B19D 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B19E 000 cpl A ; Complement Operand ROM:B19F 000 mov DPTR, #0B484h ; Move (Op1 <- Op2) ROM:B1A2 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B1A3 000 cpl A ; Complement Operand ROM:B1A4 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:B1A6 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B1A8 000 inc DPTR ; Increment Operand ROM:B1A9 000 inc DPTR ; Increment Operand ROM:B1AA 000 movx @DPTR, A ; Move from/to external RAM ROM:B1AB 000 dec RAM_31 ; Decrement Operand ROM:B1AD 000 mov R6, RAM_31 ; Move (Op1 <- Op2) ROM:B1AF 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B1B0 000 swap A ; Swap nibbles of Acc ROM:B1B1 000 anl A, #0F0h ; Logical AND (op1 &= op2) ROM:B1B3 000 add A, #68h ; 'h' ; Add Second Operand to Acc ROM:B1B5 000 mov DP0L, A ; Data Pointer Low Byte ROM:B1B7 000 clr A ; Clear Operand (0) ROM:B1B8 000 addc A, #0B3h ; '¦' ; Add Second Operand to Acc with carry ROM:B1BA 000 mov DP0H, A ; Data Pointer High Byte ROM:B1BC 000 mov A, DP0L ; Data Pointer Low Byte ROM:B1BE 000 add A, R7 ; Add Second Operand to Acc ROM:B1BF 000 mov DP0L, A ; Data Pointer Low Byte ROM:B1C1 000 clr A ; Clear Operand (0) ROM:B1C2 000 addc A, DP0H ; Data Pointer High Byte ROM:B1C4 000 mov DP0H, A ; Data Pointer High Byte ROM:B1C6 000 clr A ; Clear Operand (0) ROM:B1C7 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B1C8 000 cpl A ; Complement Operand ROM:B1C9 000 mov DPTR, #0B484h ; Move (Op1 <- Op2) ROM:B1CC 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B1CD 000 cpl A ; Complement Operand ROM:B1CE 000 mov DP0L, R5 ; Data Pointer Low Byte ROM:B1D0 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B1D2 000 inc DPTR ; Increment Operand ROM:B1D3 000 inc DPTR ; Increment Operand ROM:B1D4 000 inc DPTR ; Increment Operand ROM:B1D5 000 movx @DPTR, A ; Move from/to external RAM ROM:B1D6 000 inc RAM_30 ; Increment Operand ROM:B1D8 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:B1DA 000 xrl A, #4 ; Exclusive OR (op1 ^= op2) ROM:B1DC 000 jz ROM_B1E1 ; Jump if Acc is zero ROM:B1DC ROM:B1DE 000 ljmp ROM_B111 ; Long Jump ROM:B1DE ROM:B1E1 ; --------------------------------------------------------------------------- ROM:B1E1 ROM:B1E1 ROM_B1E1: ; CODE XREF: ROM_B0F2+EAj ROM:B1E1 000 mov RAM_30, #9 ; Move (Op1 <- Op2) ROM:B1E1 ROM:B1E4 ROM:B1E4 ROM_B1E4: ; CODE XREF: ROM_B0F2+11Dj ROM:B1E4 000 mov R7, RAM_30 ; Move (Op1 <- Op2) ROM:B1E6 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B1E7 000 add A, ACC ; Accumulator ROM:B1E9 000 add A, ACC ; Accumulator ROM:B1EB 000 add A, #44h ; 'D' ; Add Second Operand to Acc ROM:B1ED 000 mov DP0L, A ; Data Pointer Low Byte ROM:B1EF 000 clr A ; Clear Operand (0) ROM:B1F0 000 addc A, #0B4h ; '¦' ; Add Second Operand to Acc with carry ROM:B1F2 000 mov DP0H, A ; Data Pointer High Byte ROM:B1F4 000 lcall ROM_B682 ; Long Subroutine Call ROM:B1F4 ROM:B1F7 000 mov R3, RAM_30 ; Move (Op1 <- Op2) ROM:B1F9 000 mov B, #4 ; B Register ROM:B1FC 000 mov A, R3 ; Move (Op1 <- Op2) ROM:B1FD 000 mul AB ; Multiply Acc by B ROM:B1FE 000 add A, #0 ; Add Second Operand to Acc ROM:B200 000 mov DP0L, A ; Data Pointer Low Byte ROM:B202 000 mov A, B ; B Register ROM:B204 000 addc A, #0Ch ; Add Second Operand to Acc with carry ROM:B206 000 mov DP0H, A ; Data Pointer High Byte ROM:B208 000 lcall ROM_B692 ; Long Subroutine Call ROM:B208 ROM:B20B 000 inc RAM_30 ; Increment Operand ROM:B20D 000 mov A, RAM_30 ; Move (Op1 <- Op2) ROM:B20F 000 cjne A, #10h, ROM_B1E4 ; Compare Operands and JNE ROM:B20F ROM:B212 000 ret ; Return from subroutine ROM:B212 ROM:B212 ; End of function ROM_B0F2 ROM:B212 ROM:B213 ROM:B213 ; =============== S U B R O U T I N E ======================================= ROM:B213 ROM:B213 ROM:B213 ROM_B213: ROM:B213 000 mov R6, #0Dh ; Move (Op1 <- Op2) ROM:B215 000 mov R7, #0A0h ; 'á' ; Move (Op1 <- Op2) ROM:B217 000 mov R0, #0BEh ; '+' ; Move (Op1 <- Op2) ROM:B219 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B21A 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B21B 000 inc R0 ; Increment Operand ROM:B21C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B21D 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B21E 000 mov DPTR, #0DF0h ; Move (Op1 <- Op2) ROM:B221 000 movx A, @DPTR ; Move from/to external RAM ROM:B222 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:B224 000 mov DP0H, R6 ; Data Pointer High Byte ROM:B226 000 movx @DPTR, A ; Move from/to external RAM ROM:B227 000 mov DPTR, #0DF1h ; Move (Op1 <- Op2) ROM:B22A 000 movx A, @DPTR ; Move from/to external RAM ROM:B22B 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:B22D 000 mov DP0H, R6 ; Data Pointer High Byte ROM:B22F 000 inc DPTR ; Increment Operand ROM:B230 000 movx @DPTR, A ; Move from/to external RAM ROM:B231 000 mov DPTR, #0DF2h ; Move (Op1 <- Op2) ROM:B234 000 movx A, @DPTR ; Move from/to external RAM ROM:B235 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:B237 000 mov DP0H, R6 ; Data Pointer High Byte ROM:B239 000 inc DPTR ; Increment Operand ROM:B23A 000 inc DPTR ; Increment Operand ROM:B23B 000 movx @DPTR, A ; Move from/to external RAM ROM:B23C 000 mov DPTR, #0DF3h ; Move (Op1 <- Op2) ROM:B23F 000 movx A, @DPTR ; Move from/to external RAM ROM:B240 000 mov DP0L, R7 ; Data Pointer Low Byte ROM:B242 000 mov DP0H, R6 ; Data Pointer High Byte ROM:B244 000 inc DPTR ; Increment Operand ROM:B245 000 inc DPTR ; Increment Operand ROM:B246 000 inc DPTR ; Increment Operand ROM:B247 000 movx @DPTR, A ; Move from/to external RAM ROM:B248 000 clr C ; Clear Operand (0) ROM:B249 000 ret ; Return from subroutine ROM:B249 ROM:B249 ; End of function ROM_B213 ROM:B249 ROM:B24A ROM:B24A ; =============== S U B R O U T I N E ======================================= ROM:B24A ROM:B24A ROM:B24A ROM_B24A: ; CODE XREF: ROM_7A8F+20p ROM:B24A ; ROM_B287j ROM:B24A 000 lcall ROM_AFC1 ; Long Subroutine Call ROM:B24A ROM:B24D 000 lcall ROM_B0F2 ; Long Subroutine Call ROM:B24D ROM:B250 000 lcall ROM_A829 ; Long Subroutine Call ROM:B250 ROM:B253 000 clr C ; Clear Operand (0) ROM:B254 000 ret ; Return from subroutine ROM:B254 ROM:B254 ; End of function ROM_B24A ROM:B254 ROM:B255 ; --------------------------------------------------------------------------- ROM:B255 mov DPTR, #0F4Eh ; Move (Op1 <- Op2) ROM:B258 mov A, R7 ; Move (Op1 <- Op2) ROM:B259 movx @DPTR, A ; Move from/to external RAM ROM:B25A inc DPTR ; Increment Operand ROM:B25B mov A, R5 ; Move (Op1 <- Op2) ROM:B25C movx @DPTR, A ; Move from/to external RAM ROM:B25D inc DPTR ; Increment Operand ROM:B25E mov A, R3 ; Move (Op1 <- Op2) ROM:B25F movx @DPTR, A ; Move from/to external RAM ROM:B260 lcall ROM_AFC1 ; Long Subroutine Call ROM:B260 ROM:B263 lcall ROM_B0F2 ; Long Subroutine Call ROM:B263 ROM:B266 mov R7, #0 ; Move (Op1 <- Op2) ROM:B268 ret ; Return from subroutine ROM:B268 ROM:B269 ; --------------------------------------------------------------------------- ROM:B269 mov R7, #0 ; Move (Op1 <- Op2) ROM:B26B ret ; Return from subroutine ROM:B26B ROM:B26C ROM:B26C ; =============== S U B R O U T I N E ======================================= ROM:B26C ROM:B26C ROM:B26C ROM_B26C: ; CODE XREF: func_ROM_B2DE:ROM_B31Ap ROM:B26C 000 mov DPTR, #6A8h ; Move (Op1 <- Op2) ROM:B26F 000 mov A, #36h ; '6' ; Move (Op1 <- Op2) ROM:B271 000 movx @DPTR, A ; Move from/to external RAM ROM:B272 000 inc DPTR ; Increment Operand ROM:B273 000 mov A, #0Dh ; Move (Op1 <- Op2) ROM:B275 000 movx @DPTR, A ; Move from/to external RAM ROM:B276 000 inc DPTR ; Increment Operand ROM:B277 000 mov A, #0F0h ; '=' ; Move (Op1 <- Op2) ROM:B279 000 movx @DPTR, A ; Move from/to external RAM ROM:B27A 000 inc DPTR ; Increment Operand ROM:B27B 000 mov A, #4 ; Move (Op1 <- Op2) ROM:B27D 000 movx @DPTR, A ; Move from/to external RAM ROM:B27E 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:B280 000 mov R5, #94h ; 'ö' ; Move (Op1 <- Op2) ROM:B282 000 clr A ; Clear Operand (0) ROM:B283 000 mov R7, A ; Move (Op1 <- Op2) ROM:B284 000 ljmp ROM_57A4 ; Long Jump ROM:B284 ROM:B284 ; End of function ROM_B26C ROM:B284 ROM:B287 ROM:B287 ; =============== S U B R O U T I N E ======================================= ROM:B287 ROM:B287 ; Attributes: thunk ROM:B287 ROM:B287 ROM_B287: ; CODE XREF: func_ROM_B2DE:ROM_B324p ROM:B287 000 ljmp ROM_B24A ; Long Jump ROM:B287 ROM:B287 ; End of function ROM_B287 ROM:B287 ROM:B28A ROM:B28A ; =============== S U B R O U T I N E ======================================= ROM:B28A ROM:B28A ROM:B28A ROM_B28A: ; CODE XREF: func_ROM_B2DE:ROM_B335p ROM:B28A 000 mov DPTR, #69Bh ; Move (Op1 <- Op2) ROM:B28D 000 mov A, #36h ; '6' ; Move (Op1 <- Op2) ROM:B28F 000 movx @DPTR, A ; Move from/to external RAM ROM:B290 000 inc DPTR ; Increment Operand ROM:B291 000 mov A, #0Dh ; Move (Op1 <- Op2) ROM:B293 000 movx @DPTR, A ; Move from/to external RAM ROM:B294 000 inc DPTR ; Increment Operand ROM:B295 000 mov A, #0F8h ; '°' ; Move (Op1 <- Op2) ROM:B297 000 movx @DPTR, A ; Move from/to external RAM ROM:B298 000 mov R3, #16h ; Move (Op1 <- Op2) ROM:B29A 000 mov R5, #94h ; 'ö' ; Move (Op1 <- Op2) ROM:B29C 000 clr A ; Clear Operand (0) ROM:B29D 000 mov R7, A ; Move (Op1 <- Op2) ROM:B29E 000 ljmp ROM_54C1 ; Long Jump ROM:B29E ROM:B29E ; End of function ROM_B28A ROM:B29E ROM:B2A1 ROM:B2A1 ; =============== S U B R O U T I N E ======================================= ROM:B2A1 ROM:B2A1 ROM:B2A1 ROM_B2A1: ; CODE XREF: func_ROM_B2DE:ROM_B33Fp ROM:B2A1 000 mov DPTR, #0DF8h ; Move (Op1 <- Op2) ROM:B2A4 000 movx A, @DPTR ; Move from/to external RAM ROM:B2A5 000 mov R7, A ; Move (Op1 <- Op2) ROM:B2A6 000 mov DPTR, #0DF4h ; Move (Op1 <- Op2) ROM:B2A9 000 movx A, @DPTR ; Move from/to external RAM ROM:B2AA 000 xrl A, R7 ; Exclusive OR (op1 ^= op2) ROM:B2AB 000 jnz ROM_B2D8 ; Jump if Acc is not zero ROM:B2AB ROM:B2AD 000 mov DPTR, #0DF9h ; Move (Op1 <- Op2) ROM:B2B0 000 movx A, @DPTR ; Move from/to external RAM ROM:B2B1 000 mov R7, A ; Move (Op1 <- Op2) ROM:B2B2 000 mov DPTR, #0DF5h ; Move (Op1 <- Op2) ROM:B2B5 000 movx A, @DPTR ; Move from/to external RAM ROM:B2B6 000 cjne A, RAM_7, ROM_B2D8 ; Compare Operands and JNE ROM:B2B6 ROM:B2B9 000 mov DPTR, #0DFAh ; Move (Op1 <- Op2) ROM:B2BC 000 movx A, @DPTR ; Move from/to external RAM ROM:B2BD 000 mov R7, A ; Move (Op1 <- Op2) ROM:B2BE 000 mov DPTR, #0DF6h ; Move (Op1 <- Op2) ROM:B2C1 000 movx A, @DPTR ; Move from/to external RAM ROM:B2C2 000 cjne A, RAM_7, ROM_B2D8 ; Compare Operands and JNE ROM:B2C2 ROM:B2C5 000 mov DPTR, #0DFBh ; Move (Op1 <- Op2) ROM:B2C8 000 movx A, @DPTR ; Move from/to external RAM ROM:B2C9 000 mov R7, A ; Move (Op1 <- Op2) ROM:B2CA 000 mov DPTR, #0DF7h ; Move (Op1 <- Op2) ROM:B2CD 000 movx A, @DPTR ; Move from/to external RAM ROM:B2CE 000 cjne A, RAM_7, ROM_B2D8 ; Compare Operands and JNE ROM:B2CE ROM:B2D1 000 mov DPTR, #6FDh ; Move (Op1 <- Op2) ROM:B2D4 000 mov A, #1 ; Move (Op1 <- Op2) ROM:B2D6 000 movx @DPTR, A ; Move from/to external RAM ROM:B2D7 000 ret ; Return from subroutine ROM:B2D7 ROM:B2D8 ; --------------------------------------------------------------------------- ROM:B2D8 ROM:B2D8 ROM_B2D8: ; CODE XREF: ROM_B2A1+Aj ROM:B2D8 ; ROM_B2A1+15j ... ROM:B2D8 000 clr A ; Clear Operand (0) ROM:B2D9 000 mov DPTR, #6FDh ; Move (Op1 <- Op2) ROM:B2DC 000 movx @DPTR, A ; Move from/to external RAM ROM:B2DD 000 ret ; Return from subroutine ROM:B2DD ROM:B2DD ; End of function ROM_B2A1 ROM:B2DD ROM:B2DE ROM:B2DE ; =============== S U B R O U T I N E ======================================= ROM:B2DE ROM:B2DE ROM:B2DE func_ROM_B2DE: ROM:B2DE 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:B2E1 000 movx A, @DPTR ; Move from/to external RAM ROM:B2E2 000 mov R7, A ; Move (Op1 <- Op2) ROM:B2E3 000 mov DPTR, #2284h ; Move (Op1 <- Op2) ROM:B2E6 000 movx @DPTR, A ; Move from/to external RAM ROM:B2E7 000 mov DPTR, #0DFFh ; Move (Op1 <- Op2) ROM:B2EA 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B2EB 000 movx @DPTR, A ; Move from/to external RAM ROM:B2EC 000 cjne A, #7, ROM_B2EF ; Compare Operands and JNE ROM:B2EF ROM:B2EF ROM_B2EF: ; Jump if Carry is clear ROM:B2EF 000 jnc ROM_B349 ROM:B2EF ROM:B2F1 000 mov DPTR, #0B2F8h ; Move (Op1 <- Op2) ROM:B2F4 000 mov R0, A ; Move (Op1 <- Op2) ROM:B2F5 000 add A, R0 ; Add Second Operand to Acc ROM:B2F6 000 add A, R0 ; Add Second Operand to Acc ROM:B2F7 000 jmp @A+DPTR ; Jump indirect relative to Data Pointer ROM:B2F7 ROM:B2F8 ; --------------------------------------------------------------------------- ROM:B2F8 000 ljmp ROM_B30D ; Long Jump ROM:B2F8 ROM:B2FB ; --------------------------------------------------------------------------- ROM:B2FB 000 ljmp ROM_B31A ; Long Jump ROM:B2FB ROM:B2FE ; --------------------------------------------------------------------------- ROM:B2FE 000 ljmp ROM_B324 ; Long Jump ROM:B2FE ROM:B301 ; --------------------------------------------------------------------------- ROM:B301 000 ljmp ROM_B32E ; Long Jump ROM:B301 ROM:B304 ; --------------------------------------------------------------------------- ROM:B304 000 ljmp ROM_B335 ; Long Jump ROM:B304 ROM:B307 ; --------------------------------------------------------------------------- ROM:B307 000 ljmp ROM_B33F ; Long Jump ROM:B307 ROM:B30A ; --------------------------------------------------------------------------- ROM:B30A 000 ljmp ROM_B34E ; Long Jump ROM:B30A ROM:B30D ; --------------------------------------------------------------------------- ROM:B30D ROM:B30D ROM_B30D: ; CODE XREF: func_ROM_B2DE+1Aj ROM:B30D 000 lcall ROM_AF0B ; Long Subroutine Call ROM:B30D ROM:B310 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B311 000 jz ROM_B34E ; Jump if Acc is zero ROM:B311 ROM:B313 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:B316 000 mov A, #1 ; Move (Op1 <- Op2) ROM:B318 000 movx @DPTR, A ; Move from/to external RAM ROM:B319 000 ret ; Return from subroutine ROM:B319 ROM:B31A ; --------------------------------------------------------------------------- ROM:B31A ROM:B31A ROM_B31A: ; CODE XREF: func_ROM_B2DE+1Dj ROM:B31A 000 lcall ROM_B26C ; Long Subroutine Call ROM:B31A ROM:B31D 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:B320 000 mov A, #2 ; Move (Op1 <- Op2) ROM:B322 000 movx @DPTR, A ; Move from/to external RAM ROM:B323 000 ret ; Return from subroutine ROM:B323 ROM:B324 ; --------------------------------------------------------------------------- ROM:B324 ROM:B324 ROM_B324: ; CODE XREF: func_ROM_B2DE+20j ROM:B324 000 lcall ROM_B287 ; Long Subroutine Call ROM:B324 ROM:B327 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:B32A 000 mov A, #3 ; Move (Op1 <- Op2) ROM:B32C 000 movx @DPTR, A ; Move from/to external RAM ROM:B32D 000 ret ; Return from subroutine ROM:B32D ROM:B32E ; --------------------------------------------------------------------------- ROM:B32E ROM:B32E ROM_B32E: ; CODE XREF: func_ROM_B2DE+23j ROM:B32E 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:B331 000 mov A, #4 ; Move (Op1 <- Op2) ROM:B333 000 movx @DPTR, A ; Move from/to external RAM ROM:B334 000 ret ; Return from subroutine ROM:B334 ROM:B335 ; --------------------------------------------------------------------------- ROM:B335 ROM:B335 ROM_B335: ; CODE XREF: func_ROM_B2DE+26j ROM:B335 000 lcall ROM_B28A ; Long Subroutine Call ROM:B335 ROM:B338 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:B33B 000 mov A, #5 ; Move (Op1 <- Op2) ROM:B33D 000 movx @DPTR, A ; Move from/to external RAM ROM:B33E 000 ret ; Return from subroutine ROM:B33E ROM:B33F ; --------------------------------------------------------------------------- ROM:B33F ROM:B33F ROM_B33F: ; CODE XREF: func_ROM_B2DE+29j ROM:B33F 000 lcall ROM_B2A1 ; Long Subroutine Call ROM:B33F ROM:B342 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:B345 000 mov A, #6 ; Move (Op1 <- Op2) ROM:B347 000 movx @DPTR, A ; Move from/to external RAM ROM:B348 000 ret ; Return from subroutine ROM:B348 ROM:B349 ; --------------------------------------------------------------------------- ROM:B349 ROM:B349 ROM_B349: ; CODE XREF: func_ROM_B2DE:ROM_B2EFj ROM:B349 000 clr A ; Clear Operand (0) ROM:B34A 000 mov DPTR, #6FFh ; Move (Op1 <- Op2) ROM:B34D 000 movx @DPTR, A ; Move from/to external RAM ROM:B34D ROM:B34E ROM:B34E ROM_B34E: ; CODE XREF: func_ROM_B2DE+2Cj ROM:B34E ; func_ROM_B2DE+33j ROM:B34E 000 ret ; Return from subroutine ROM:B34E ROM:B34E ; End of function func_ROM_B2DE ROM:B34E ROM:B34E ; --------------------------------------------------------------------------- ROM:B34F dw ROM_4106 ROM:B351 dw ROM_B7DD+4623h ROM:B353 dw ROM_4106 ROM:B355 dw ROM_B7DD+4723h ROM:B357 dw ROM_4106 ROM:B359 dw ROM_B7DD+4523h ROM:B35B db 0 ROM:B35C HASH_version_string:db 'HASH VER1.0a' ROM:B368 ROM:B368 ___________KEYMAP TABLE 1 ROM:B368 ROM:B368 ASCII_table_1: db 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh; keys[] ROM:B368 db 0Fh, 10h, 11h, 12h, 13h, 14h, 15h, 16h, 17h, 18h, 19h; keys[] ROM:B368 db 1Ah, 1Bh, 1Ch, 1Dh, 1Eh, 1Fh, ' ', '!', 22h, '#', '$'; keys[] ROM:B368 db '%', '&', 27h, '(', ')', '*', '+', ',', '-', '.', '/'; keys[] ROM:B368 db '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':'; keys[] ROM:B368 db ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E'; keys[] ROM:B368 db 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P'; keys[] ROM:B368 db 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '['; keys[] ROM:B368 db 5Ch, ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f'; keys[] ROM:B368 db 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q'; keys[] ROM:B368 db 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|'; keys[] ROM:B368 db '}', '~', '', 'Ç', 'ü', 'é', 'â', 'ä', 'à', 'å', 'ç'; keys[] ROM:B368 db 'ê', 'ë', 'è', 'ï', 'î', 'ì', 'Ä', 'Å', 'É', 'æ', 'Æ'; keys[] ROM:B368 db 'ô', 'ö', 'ò', 'û', 'ù', 'ÿ', 'Ö', 'Ü', '¢', '£', '¥'; keys[] ROM:B368 db 'P', 'ƒ', 'á', 'í', 'ó', 'ú', 'ñ', 'Ñ', 'ª', 'º', '¿'; keys[] ROM:B368 db '¬', '¬', '½', '¼', '¡', '«', '»', '¦', '¦', '¦', '¦'; keys[] ROM:B368 db '¦', '¦', '¦', '+', '+', '¦', '¦', '+', '+', '+', '+'; keys[] ROM:B368 db '+', '+', '-', '-', '+', '-', '+', '¦', '¦', '+', '+'; keys[] ROM:B368 db '-', '-', '¦', '-', '+', '-', '-', '-', '-', '+', '+'; keys[] ROM:B368 db '+', '+', '+', '+', '+', '+', '¦', '_', '¦', '¦', '¯'; keys[] ROM:B368 db 'a', 'ß', 'G', 'p', 'S', 's', 'µ', 't', 'F', 'T', 'O'; keys[] ROM:B368 db 'd', '8', 'f', 'e', 'n', '=', '±', '=', '=', '(', ')'; keys[] ROM:B368 db '÷', '˜', '°', '·', '·', 'v', 'n', '²', '¦', 0FFh; keys[] ROM:B368 ROM:B368 ___________KEYMAP TABLE 1 END ROM:B368 ROM:B468 db 80h, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B468 db 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 20h ROM:B484 ROM:B484 ___________KEYMAP TABLE 2 ROM:B484 ROM:B484 ASCII_table_0: db 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0Ah, 0Bh, 0Ch, 0Dh, 0Eh; keys[] ROM:B484 db 0Fh, 10h, 11h, 12h, 13h, 14h, 15h, 16h, 17h, 18h, 19h; keys[] ROM:B484 db 1Ah, 1Bh, 1Ch, 1Dh, 1Eh, 1Fh, ' ', '!', 22h, '#', '$'; keys[] ROM:B484 db '%', '&', 27h, '(', ')', '*', '+', ',', '-', '.', '/'; keys[] ROM:B484 db '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':'; keys[] ROM:B484 db ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E'; keys[] ROM:B484 db 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P'; keys[] ROM:B484 db 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '['; keys[] ROM:B484 db 5Ch, ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f'; keys[] ROM:B484 db 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q'; keys[] ROM:B484 db 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|'; keys[] ROM:B484 db '}', '~', '', 'Ç', 'ü', 'é', 'â', 'ä', 'à', 'å', 'ç'; keys[] ROM:B484 db 'ê', 'ë', 'è', 'ï', 'î', 'ì', 'Ä', 'Å', 'É', 'æ', 'Æ'; keys[] ROM:B484 db 'ô', 'ö', 'ò', 'û', 'ù', 'ÿ', 'Ö', 'Ü', '¢', '£', '¥'; keys[] ROM:B484 db 'P', 'ƒ', 'á', 'í', 'ó', 'ú', 'ñ', 'Ñ', 'ª', 'º', '¿'; keys[] ROM:B484 db '¬', '¬', '½', '¼', '¡', '«', '»', '¦', '¦', '¦', '¦'; keys[] ROM:B484 db '¦', '¦', '¦', '+', '+', '¦', '¦', '+', '+', '+', '+'; keys[] ROM:B484 db '+', '+', '-', '-', '+', '-', '+', '¦', '¦', '+', '+'; keys[] ROM:B484 db '-', '-', '¦', '-', '+', '-', '-', '-', '-', '+', '+'; keys[] ROM:B484 db '+', '+', '+', '+', '+', '+', '¦', '_', '¦', '¦', '¯'; keys[] ROM:B484 db 'a', 'ß', 'G', 'p', 'S', 's', 'µ', 't', 'F', 'T', 'O'; keys[] ROM:B484 db 'd', '8', 'f', 'e', 'n', '=', '±', '=', '=', '(', ')'; keys[] ROM:B484 db '÷', '˜', '°', '·', '·', 'v', 'n', '²', '¦', 0FFh; keys[] ROM:B484 ROM:B484 __________KEYMAP TABLE 2 END ROM:B484 ROM:B584 dw zero_hole+51Dh ROM:B586 dw zero_hole+521h ROM:B588 ROM:B588 ; =============== S U B R O U T I N E ======================================= ROM:B588 ROM:B588 ROM:B588 ROM_B588: ; CODE XREF: ROM_4003+18p ROM:B588 ; ROM_4003+2Ep ROM:B588 000 cjne R3, #1, ROM_B591 ; Compare Operands and JNE ROM:B588 ROM:B58B 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B58D 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B58F 000 movx A, @DPTR ; Move from/to external RAM ROM:B590 000 ret ; Return from subroutine ROM:B590 ROM:B591 ; --------------------------------------------------------------------------- ROM:B591 ROM:B591 ROM_B591: ; CODE XREF: ROM_B588j ROM:B591 000 jnc ROM_B595 ; Jump if Carry is clear ROM:B591 ROM:B593 000 mov A, @R1 ; Move (Op1 <- Op2) ROM:B594 000 ret ; Return from subroutine ROM:B594 ROM:B595 ; --------------------------------------------------------------------------- ROM:B595 ROM:B595 ROM_B595: ; CODE XREF: ROM_B588:ROM_B591j ROM:B595 000 cjne R3, #0FEh, ROM_B59A ; '¦' ; Compare Operands and JNE ROM:B595 ROM:B598 000 movx A, @R1 ; Move from/to external RAM ROM:B599 000 ret ; Return from subroutine ROM:B599 ROM:B59A ; --------------------------------------------------------------------------- ROM:B59A ROM:B59A ROM_B59A: ; CODE XREF: ROM_B588:ROM_B595j ROM:B59A 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B59C 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B59E 000 clr A ; Clear Operand (0) ROM:B59F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B5A0 000 ret ; Return from subroutine ROM:B5A0 ROM:B5A0 ; End of function ROM_B588 ROM:B5A0 ROM:B5A1 ROM:B5A1 ; =============== S U B R O U T I N E ======================================= ROM:B5A1 ROM:B5A1 ROM:B5A1 ROM_B5A1: ; CODE XREF: ROM_1233+31p ROM:B5A1 ROM:B5A1 ; FUNCTION CHUNK AT ROM:B5B8 SIZE 00000016 BYTES ROM:B5A1 ROM:B5A1 000 cjne R3, #1, ROM_B5B0 ; Compare Operands and JNE ROM:B5A1 ROM:B5A4 000 mov A, DP0L ; Data Pointer Low Byte ROM:B5A6 000 add A, R1 ; Add Second Operand to Acc ROM:B5A7 000 mov DP0L, A ; Data Pointer Low Byte ROM:B5A9 000 mov A, DP0H ; Data Pointer High Byte ROM:B5AB 000 addc A, R2 ; Add Second Operand to Acc with carry ROM:B5AC 000 mov DP0H, A ; Data Pointer High Byte ROM:B5AE 000 movx A, @DPTR ; Move from/to external RAM ROM:B5AF 000 ret ; Return from subroutine ROM:B5AF ROM:B5B0 ; --------------------------------------------------------------------------- ROM:B5B0 ROM:B5B0 ROM_B5B0: ; CODE XREF: ROM_B5A1j ROM:B5B0 000 jnc ROM_B5B8 ; Jump if Carry is clear ROM:B5B0 ROM:B5B0 ; End of function ROM_B5A1 ROM:B5B0 ROM:B5B2 ROM:B5B2 ; =============== S U B R O U T I N E ======================================= ROM:B5B2 ROM:B5B2 ROM:B5B2 ROM_B5B2: ROM:B5B2 000 mov A, R1 ; Move (Op1 <- Op2) ROM:B5B3 000 add A, DP0L ; Data Pointer Low Byte ROM:B5B5 000 mov R0, A ; Move (Op1 <- Op2) ROM:B5B6 000 mov A, @R0 ; Move (Op1 <- Op2) ROM:B5B7 000 ret ; Return from subroutine ROM:B5B7 ROM:B5B7 ; End of function ROM_B5B2 ROM:B5B7 ROM:B5B8 ; --------------------------------------------------------------------------- ROM:B5B8 ; START OF FUNCTION CHUNK FOR ROM_B5A1 ROM:B5B8 ROM:B5B8 ROM_B5B8: ; CODE XREF: ROM_B5A1:ROM_B5B0j ROM:B5B8 000 cjne R3, #0FEh, ROM_B5C1 ; '¦' ; Compare Operands and JNE ROM:B5B8 ROM:B5BB 000 mov A, R1 ; Move (Op1 <- Op2) ROM:B5BC 000 add A, DP0L ; Data Pointer Low Byte ROM:B5BE 000 mov R0, A ; Move (Op1 <- Op2) ROM:B5BF 000 movx A, @R0 ; Move from/to external RAM ROM:B5C0 000 ret ; Return from subroutine ROM:B5C0 ROM:B5C1 ; --------------------------------------------------------------------------- ROM:B5C1 ROM:B5C1 ROM_B5C1: ; CODE XREF: ROM_B5A1:ROM_B5B8j ROM:B5C1 000 mov A, DP0L ; Data Pointer Low Byte ROM:B5C3 000 add A, R1 ; Add Second Operand to Acc ROM:B5C4 000 mov DP0L, A ; Data Pointer Low Byte ROM:B5C6 000 mov A, DP0H ; Data Pointer High Byte ROM:B5C8 000 addc A, R2 ; Add Second Operand to Acc with carry ROM:B5C9 000 mov DP0H, A ; Data Pointer High Byte ROM:B5CB 000 clr A ; Clear Operand (0) ROM:B5CC 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B5CD 000 ret ; Return from subroutine ROM:B5CD ROM:B5CD ; END OF FUNCTION CHUNK FOR ROM_B5A1 ROM:B5CE ROM:B5CE ; =============== S U B R O U T I N E ======================================= ROM:B5CE ROM:B5CE ROM:B5CE ROM_B5CE: ; CODE XREF: ROM_5E95+67p ROM:B5CE ; ROM_5E95+85p ... ROM:B5CE 000 cjne R4, #0, ROM_B5DC ; Compare Operands and JNE ROM:B5CE ROM:B5D1 000 cjne R6, #0, ROM_B5FD ; Compare Operands and JNE ROM:B5D1 ROM:B5D4 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B5D5 000 mov B, R5 ; B Register ROM:B5D7 000 div AB ; Divide Acc by B ROM:B5D8 000 mov R7, A ; Move (Op1 <- Op2) ROM:B5D9 000 mov R5, B ; B Register ROM:B5DB 000 ret ; Return from subroutine ROM:B5DB ROM:B5DC ; --------------------------------------------------------------------------- ROM:B5DC ROM:B5DC ROM_B5DC: ; CODE XREF: ROM_B5CEj ROM:B5DC 000 clr A ; Clear Operand (0) ROM:B5DD 000 xch A, R4 ; Exchange Operands ROM:B5DE 000 mov R0, A ; Move (Op1 <- Op2) ROM:B5DF 000 mov B, #8 ; B Register ROM:B5DF ROM:B5E2 ROM:B5E2 ROM_B5E2: ; CODE XREF: ROM_B5CE:ROM_B5F6j ROM:B5E2 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B5E3 000 add A, R7 ; Add Second Operand to Acc ROM:B5E4 000 mov R7, A ; Move (Op1 <- Op2) ROM:B5E5 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B5E6 000 rlc A ; Rotate Acc left through Carry ROM:B5E7 000 mov R6, A ; Move (Op1 <- Op2) ROM:B5E8 000 mov A, R4 ; Move (Op1 <- Op2) ROM:B5E9 000 rlc A ; Rotate Acc left through Carry ROM:B5EA 000 mov R4, A ; Move (Op1 <- Op2) ROM:B5EB 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B5EC 000 subb A, R5 ; Subtract Second Operand from Acc with Borrow ROM:B5ED 000 mov A, R4 ; Move (Op1 <- Op2) ROM:B5EE 000 subb A, R0 ; Subtract Second Operand from Acc with Borrow ROM:B5EF 000 jc ROM_B5F6 ; Jump if Carry is set ROM:B5EF ROM:B5F1 000 mov R4, A ; Move (Op1 <- Op2) ROM:B5F2 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B5F3 000 subb A, R5 ; Subtract Second Operand from Acc with Borrow ROM:B5F4 000 mov R6, A ; Move (Op1 <- Op2) ROM:B5F5 000 inc R7 ; Increment Operand ROM:B5F5 ROM:B5F6 ROM:B5F6 ROM_B5F6: ; CODE XREF: ROM_B5CE+21j ROM:B5F6 000 djnz B, ROM_B5E2 ; B Register ROM:B5F6 ROM:B5F9 000 clr A ; Clear Operand (0) ROM:B5FA 000 xch A, R6 ; Exchange Operands ROM:B5FB 000 mov R5, A ; Move (Op1 <- Op2) ROM:B5FC 000 ret ; Return from subroutine ROM:B5FC ROM:B5FD ; --------------------------------------------------------------------------- ROM:B5FD ROM:B5FD ROM_B5FD: ; CODE XREF: ROM_B5CE+3j ROM:B5FD 000 mov A, R5 ; Move (Op1 <- Op2) ROM:B5FE 000 mov R0, A ; Move (Op1 <- Op2) ROM:B5FF 000 mov B, A ; B Register ROM:B601 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B602 000 div AB ; Divide Acc by B ROM:B603 000 jb PSW.2, ROM_B622 ; Program Status Word ROM:B603 ROM:B606 000 mov R6, A ; Move (Op1 <- Op2) ROM:B607 000 mov R5, B ; B Register ROM:B609 000 mov B, #8 ; B Register ROM:B609 ROM:B60C ROM:B60C ROM_B60C: ; CODE XREF: ROM_B5CE+49j ROM:B60C ; ROM_B5CE+51j ROM:B60C 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B60D 000 add A, R7 ; Add Second Operand to Acc ROM:B60E 000 mov R7, A ; Move (Op1 <- Op2) ROM:B60F 000 mov A, R5 ; Move (Op1 <- Op2) ROM:B610 000 rlc A ; Rotate Acc left through Carry ROM:B611 000 mov R5, A ; Move (Op1 <- Op2) ROM:B612 000 jc ROM_B61B ; Jump if Carry is set ROM:B612 ROM:B614 000 subb A, R0 ; Subtract Second Operand from Acc with Borrow ROM:B615 000 jnc ROM_B61D ; Jump if Carry is clear ROM:B615 ROM:B617 000 djnz B, ROM_B60C ; B Register ROM:B617 ROM:B61A 000 ret ; Return from subroutine ROM:B61A ROM:B61B ; --------------------------------------------------------------------------- ROM:B61B ROM:B61B ROM_B61B: ; CODE XREF: ROM_B5CE+44j ROM:B61B 000 clr C ; Clear Operand (0) ROM:B61C 000 subb A, R0 ; Subtract Second Operand from Acc with Borrow ROM:B61C ROM:B61D ROM:B61D ROM_B61D: ; CODE XREF: ROM_B5CE+47j ROM:B61D 000 mov R5, A ; Move (Op1 <- Op2) ROM:B61E 000 inc R7 ; Increment Operand ROM:B61F 000 djnz B, ROM_B60C ; B Register ROM:B61F ROM:B622 ROM:B622 ROM_B622: ; CODE XREF: ROM_B5CE+35j ROM:B622 000 ret ; Return from subroutine ROM:B622 ROM:B622 ; End of function ROM_B5CE ROM:B622 ROM:B623 ROM:B623 ; =============== S U B R O U T I N E ======================================= ROM:B623 ROM:B623 ROM:B623 ROM_B623: ; CODE XREF: ROM_8442+4Dp ROM:B623 000 xch A, B ; B Register ROM:B625 000 mov R0, A ; Move (Op1 <- Op2) ROM:B626 000 inc DPTR ; Increment Operand ROM:B627 000 movx A, @DPTR ; Move from/to external RAM ROM:B628 000 add A, R0 ; Add Second Operand to Acc ROM:B629 000 movx @DPTR, A ; Move from/to external RAM ROM:B62A 000 xch A, B ; B Register ROM:B62C 000 mov R0, A ; Move (Op1 <- Op2) ROM:B62D 000 mov A, DP0L ; Data Pointer Low Byte ROM:B62F 000 dec DP0L ; Data Pointer Low Byte ROM:B631 000 jnz ROM_B635 ; Jump if Acc is not zero ROM:B631 ROM:B633 000 dec DP0H ; Data Pointer High Byte ROM:B633 ROM:B635 ROM:B635 ROM_B635: ; CODE XREF: ROM_B623+Ej ROM:B635 000 movx A, @DPTR ; Move from/to external RAM ROM:B636 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:B637 000 movx @DPTR, A ; Move from/to external RAM ROM:B638 000 ret ; Return from subroutine ROM:B638 ROM:B638 ; End of function ROM_B623 ROM:B638 ROM:B639 ROM:B639 ; =============== S U B R O U T I N E ======================================= ROM:B639 ROM:B639 ROM:B639 ROM_B639: ; CODE XREF: ROM_4003+28p ROM:B639 000 inc DPTR ; Increment Operand ROM:B63A 000 mov R0, A ; Move (Op1 <- Op2) ROM:B63B 000 movx A, @DPTR ; Move from/to external RAM ROM:B63C 000 xch A, B ; B Register ROM:B63E 000 add A, B ; B Register ROM:B640 000 movx @DPTR, A ; Move from/to external RAM ROM:B641 000 mov A, DP0L ; Data Pointer Low Byte ROM:B643 000 dec DP0L ; Data Pointer Low Byte ROM:B645 000 jnz ROM_B649 ; Jump if Acc is not zero ROM:B645 ROM:B647 000 dec DP0H ; Data Pointer High Byte ROM:B647 ROM:B649 ROM:B649 ROM_B649: ; CODE XREF: ROM_B639+Cj ROM:B649 000 movx A, @DPTR ; Move from/to external RAM ROM:B64A 000 xch A, R0 ; Exchange Operands ROM:B64B 000 addc A, R0 ; Add Second Operand to Acc with carry ROM:B64C 000 movx @DPTR, A ; Move from/to external RAM ROM:B64D 000 mov A, R0 ; Move (Op1 <- Op2) ROM:B64E 000 ret ; Return from subroutine ROM:B64E ROM:B64E ; End of function ROM_B639 ROM:B64E ROM:B64F ROM:B64F ; =============== S U B R O U T I N E ======================================= ROM:B64F ROM:B64F ROM:B64F ROM_B64F: ; CODE XREF: ROM_A829+21Ep ROM:B64F 000 xch A, R7 ; Exchange Operands ROM:B650 000 cpl A ; Complement Operand ROM:B651 000 xch A, R7 ; Exchange Operands ROM:B652 000 xch A, R6 ; Exchange Operands ROM:B653 000 cpl A ; Complement Operand ROM:B654 000 xch A, R6 ; Exchange Operands ROM:B655 000 xch A, R5 ; Exchange Operands ROM:B656 000 cpl A ; Complement Operand ROM:B657 000 xch A, R5 ; Exchange Operands ROM:B658 000 xch A, R4 ; Exchange Operands ROM:B659 000 cpl A ; Complement Operand ROM:B65A 000 xch A, R4 ; Exchange Operands ROM:B65B 000 ret ; Return from subroutine ROM:B65B ROM:B65B ; End of function ROM_B64F ROM:B65B ROM:B65C ROM:B65C ; =============== S U B R O U T I N E ======================================= ROM:B65C ROM:B65C ROM:B65C ROM_B65C: ; CODE XREF: ROM_A829+1C2p ROM:B65C ; ROM_A829+436p ... ROM:B65C 000 mov A, R0 ; Move (Op1 <- Op2) ROM:B65D 000 jz ROM_B66E ; Jump if Acc is zero ROM:B65D ROM:B65F ROM:B65F ROM_B65F: ; CODE XREF: ROM_B65C+10j ROM:B65F 000 mov A, R4 ; Move (Op1 <- Op2) ROM:B660 000 clr C ; Clear Operand (0) ROM:B661 000 rrc A ; Rotate Acc right through Carry ROM:B662 000 mov R4, A ; Move (Op1 <- Op2) ROM:B663 000 mov A, R5 ; Move (Op1 <- Op2) ROM:B664 000 rrc A ; Rotate Acc right through Carry ROM:B665 000 mov R5, A ; Move (Op1 <- Op2) ROM:B666 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B667 000 rrc A ; Rotate Acc right through Carry ROM:B668 000 mov R6, A ; Move (Op1 <- Op2) ROM:B669 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B66A 000 rrc A ; Rotate Acc right through Carry ROM:B66B 000 mov R7, A ; Move (Op1 <- Op2) ROM:B66C 000 djnz R0, ROM_B65F ; Decrement Operand and JNZ ROM:B66C ROM:B66E ROM:B66E ROM_B66E: ; CODE XREF: ROM_B65C+1j ROM:B66E 000 ret ; Return from subroutine ROM:B66E ROM:B66E ; End of function ROM_B65C ROM:B66E ROM:B66F ROM:B66F ; =============== S U B R O U T I N E ======================================= ROM:B66F ROM:B66F ROM:B66F ROM_B66F: ; CODE XREF: ROM_A829+129p ROM:B66F ; ROM_A829+41Bp ... ROM:B66F 000 mov A, R0 ; Move (Op1 <- Op2) ROM:B670 000 jz ROM_B681 ; Jump if Acc is zero ROM:B670 ROM:B672 ROM:B672 ROM_B672: ; CODE XREF: ROM_B66F+10j ROM:B672 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B673 000 clr C ; Clear Operand (0) ROM:B674 000 rlc A ; Rotate Acc left through Carry ROM:B675 000 mov R7, A ; Move (Op1 <- Op2) ROM:B676 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B677 000 rlc A ; Rotate Acc left through Carry ROM:B678 000 mov R6, A ; Move (Op1 <- Op2) ROM:B679 000 mov A, R5 ; Move (Op1 <- Op2) ROM:B67A 000 rlc A ; Rotate Acc left through Carry ROM:B67B 000 mov R5, A ; Move (Op1 <- Op2) ROM:B67C 000 mov A, R4 ; Move (Op1 <- Op2) ROM:B67D 000 rlc A ; Rotate Acc left through Carry ROM:B67E 000 mov R4, A ; Move (Op1 <- Op2) ROM:B67F 000 djnz R0, ROM_B672 ; Decrement Operand and JNZ ROM:B67F ROM:B681 ROM:B681 ROM_B681: ; CODE XREF: ROM_B66F+1j ROM:B681 000 ret ; Return from subroutine ROM:B681 ROM:B681 ; End of function ROM_B66F ROM:B681 ROM:B682 ROM:B682 ; =============== S U B R O U T I N E ======================================= ROM:B682 ROM:B682 ROM:B682 ROM_B682: ; CODE XREF: ROM_B0F2+102p ROM:B682 000 clr A ; Clear Operand (0) ROM:B683 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B684 000 mov R4, A ; Move (Op1 <- Op2) ROM:B685 000 mov A, #1 ; Move (Op1 <- Op2) ROM:B687 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B688 000 mov R5, A ; Move (Op1 <- Op2) ROM:B689 000 mov A, #2 ; Move (Op1 <- Op2) ROM:B68B 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B68C 000 mov R6, A ; Move (Op1 <- Op2) ROM:B68D 000 mov A, #3 ; Move (Op1 <- Op2) ROM:B68F 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B690 000 mov R7, A ; Move (Op1 <- Op2) ROM:B691 000 ret ; Return from subroutine ROM:B691 ROM:B691 ; End of function ROM_B682 ROM:B691 ROM:B692 ROM:B692 ; =============== S U B R O U T I N E ======================================= ROM:B692 ROM:B692 ROM:B692 ROM_B692: ; CODE XREF: ROM_A829+6Bp ROM:B692 ; ROM_A829+7Fp ... ROM:B692 000 mov A, R4 ; Move (Op1 <- Op2) ROM:B693 000 movx @DPTR, A ; Move from/to external RAM ROM:B694 000 inc DPTR ; Increment Operand ROM:B695 000 mov A, R5 ; Move (Op1 <- Op2) ROM:B696 000 movx @DPTR, A ; Move from/to external RAM ROM:B697 000 inc DPTR ; Increment Operand ROM:B698 000 mov A, R6 ; Move (Op1 <- Op2) ROM:B699 000 movx @DPTR, A ; Move from/to external RAM ROM:B69A 000 inc DPTR ; Increment Operand ROM:B69B 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B69C 000 movx @DPTR, A ; Move from/to external RAM ROM:B69D 000 ret ; Return from subroutine ROM:B69D ROM:B69D ; End of function ROM_B692 ROM:B69D ROM:B69E ROM:B69E ; =============== S U B R O U T I N E ======================================= ROM:B69E ROM:B69E ROM:B69E ROM_B69E: ; CODE XREF: ROM_A829+3p ROM:B69E ; ROM_A829+282p ... ROM:B69E 000 mov R0, DP0L ; Data Pointer Low Byte ROM:B6A0 000 mov B, DP0H ; Data Pointer High Byte ROM:B6A3 000 pop DP0H ; Data Pointer High Byte ROM:B6A5 -01 pop DP0L ; Data Pointer Low Byte ROM:B6A7 -02 lcall ROM_B6B5 ; Long Subroutine Call ROM:B6A7 ROM:B6AA -02 lcall ROM_B6B5 ; Long Subroutine Call ROM:B6AA ROM:B6AD -02 lcall ROM_B6B5 ; Long Subroutine Call ROM:B6AD ROM:B6B0 -02 lcall ROM_B6B5 ; Long Subroutine Call ROM:B6B0 ROM:B6B3 -02 clr A ; Clear Operand (0) ROM:B6B4 -02 jmp @A+DPTR ; Jump indirect relative to Data Pointer ROM:B6B4 ROM:B6B4 ; End of function ROM_B69E ROM:B6B4 ROM:B6B5 ROM:B6B5 ; =============== S U B R O U T I N E ======================================= ROM:B6B5 ROM:B6B5 ROM:B6B5 ROM_B6B5: ; CODE XREF: ROM_B69E+9p ROM:B6B5 ; ROM_B69E+Cp ... ROM:B6B5 000 clr A ; Clear Operand (0) ROM:B6B6 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B6B7 000 inc DPTR ; Increment Operand ROM:B6B8 000 xch A, DP0H ; Data Pointer High Byte ROM:B6BA 000 xch A, B ; B Register ROM:B6BC 000 xch A, DP0H ; Data Pointer High Byte ROM:B6BE 000 xch A, R0 ; Exchange Operands ROM:B6BF 000 xch A, DP0L ; Data Pointer Low Byte ROM:B6C1 000 xch A, R0 ; Exchange Operands ROM:B6C2 000 movx @DPTR, A ; Move from/to external RAM ROM:B6C3 000 inc DPTR ; Increment Operand ROM:B6C4 000 xch A, DP0H ; Data Pointer High Byte ROM:B6C6 000 xch A, B ; B Register ROM:B6C8 000 xch A, DP0H ; Data Pointer High Byte ROM:B6CA 000 xch A, R0 ; Exchange Operands ROM:B6CB 000 xch A, DP0L ; Data Pointer Low Byte ROM:B6CD 000 xch A, R0 ; Exchange Operands ROM:B6CE 000 ret ; Return from subroutine ROM:B6CE ROM:B6CE ; End of function ROM_B6B5 ROM:B6CE ROM:B6CF ROM:B6CF ; =============== S U B R O U T I N E ======================================= ROM:B6CF ROM:B6CF ROM:B6CF ROM_B6CF: ; CODE XREF: ROM_2168+1Fp ROM:B6CF ; ROM_2631+81p ... ROM:B6CF 000 pop DP0H ; Data Pointer High Byte ROM:B6D1 -01 pop DP0L ; Data Pointer Low Byte ROM:B6D3 -02 mov R0, A ; Move (Op1 <- Op2) ROM:B6D3 ROM:B6D4 ROM:B6D4 ROM_B6D4: ; CODE XREF: ROM_B6CF+24j ROM:B6D4 -02 clr A ; Clear Operand (0) ROM:B6D5 -02 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B6D6 -02 jnz ROM_B6EA ; Jump if Acc is not zero ROM:B6D6 ROM:B6D8 -02 mov A, #1 ; Move (Op1 <- Op2) ROM:B6DA -02 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B6DB -02 jnz ROM_B6EA ; Jump if Acc is not zero ROM:B6DB ROM:B6DD -02 inc DPTR ; Increment Operand ROM:B6DE -02 inc DPTR ; Increment Operand ROM:B6DE ROM:B6DF ROM:B6DF ROM_B6DF: ; CODE XREF: ROM_B6CF+1Fj ROM:B6DF -02 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B6E0 -02 mov R0, A ; Move (Op1 <- Op2) ROM:B6E1 -02 mov A, #1 ; Move (Op1 <- Op2) ROM:B6E3 -02 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B6E4 -02 mov DP0L, A ; Data Pointer Low Byte ROM:B6E6 -02 mov DP0H, R0 ; Data Pointer High Byte ROM:B6E8 -02 clr A ; Clear Operand (0) ROM:B6E9 -02 jmp @A+DPTR ; Jump indirect relative to Data Pointer ROM:B6E9 ROM:B6EA ; --------------------------------------------------------------------------- ROM:B6EA ROM:B6EA ROM_B6EA: ; CODE XREF: ROM_B6CF+7j ROM:B6EA ; ROM_B6CF+Cj ROM:B6EA -02 mov A, #2 ; Move (Op1 <- Op2) ROM:B6EC -02 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B6ED -02 xrl A, R0 ; Exclusive OR (op1 ^= op2) ROM:B6EE -02 jz ROM_B6DF ; Jump if Acc is zero ROM:B6EE ROM:B6F0 -02 inc DPTR ; Increment Operand ROM:B6F1 -02 inc DPTR ; Increment Operand ROM:B6F2 -02 inc DPTR ; Increment Operand ROM:B6F3 -02 sjmp ROM_B6D4 ; Short jump ROM:B6F3 ROM:B6F3 ; End of function ROM_B6CF ROM:B6F3 ROM:B6F5 ROM:B6F5 ; =============== S U B R O U T I N E ======================================= ROM:B6F5 ROM:B6F5 ; jump to pair R2:R1 ROM:B6F5 ROM:B6F5 jump_to_R2R1: ; CODE XREF: ROM_1148+6Fp ROM:B6F5 ; ROM_1B41+18j ... ROM:B6F5 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B6F7 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B6F7 ROM:B6F9 ROM:B6F9 jump_to_DPTR: ; CODE XREF: ROM_456C+54p ROM:B6F9 ; ROM:63C6j ROM:B6F9 000 clr A ; jump to DPTR ROM:B6FA 000 jmp @A+DPTR ; Jump indirect relative to Data Pointer ROM:B6FA ROM:B6FA ; End of function jump_to_R2R1 ROM:B6FA ROM:B6FB ROM:B6FB ; =============== S U B R O U T I N E ======================================= ROM:B6FB ROM:B6FB ROM:B6FB ROM_B6FB: ; CODE XREF: ROM_B6FB+4j ROM:B6FB ; ROM_B6FB+64j ROM:B6FB ROM:B6FB ; FUNCTION CHUNK AT ROM:B76B SIZE 00000022 BYTES ROM:B6FB ; FUNCTION CHUNK AT ROM:B794 SIZE 00000023 BYTES ROM:B6FB ROM:B6FB 000 mov A, @R1 ; Move (Op1 <- Op2) ROM:B6FC 000 inc R1 ; Increment Operand ROM:B6FD 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B6FE 000 inc R0 ; Increment Operand ROM:B6FF 000 djnz R7, ROM_B6FB ; Decrement Operand and JNZ ROM:B6FF ROM:B701 000 sjmp ROM_B749 ; Short jump ROM:B701 ROM:B703 ; --------------------------------------------------------------------------- ROM:B703 ROM:B703 ROM_B703: ; CODE XREF: ROM_B6FB+Cj ROM:B703 ; ROM_B6FB+60j ROM:B703 000 mov A, @R1 ; Move (Op1 <- Op2) ROM:B704 000 inc R1 ; Increment Operand ROM:B705 000 movx @R0, A ; Move from/to external RAM ROM:B706 000 inc R0 ; Increment Operand ROM:B707 000 djnz R7, ROM_B703 ; Decrement Operand and JNZ ROM:B707 ROM:B709 000 sjmp ROM_B749 ; Short jump ROM:B709 ROM:B70B ; --------------------------------------------------------------------------- ROM:B70B ROM:B70B ROM_B70B: ; CODE XREF: ROM_B6FB+66j ROM:B70B 000 mov DP0L, R0 ; Data Pointer Low Byte ROM:B70D 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B70D ROM:B70F ROM:B70F ROM_B70F: ; CODE XREF: ROM_B6FB+18j ROM:B70F 000 mov A, @R1 ; Move (Op1 <- Op2) ROM:B710 000 inc R1 ; Increment Operand ROM:B711 000 movx @DPTR, A ; Move from/to external RAM ROM:B712 000 inc DPTR ; Increment Operand ROM:B713 000 djnz R7, ROM_B70F ; Decrement Operand and JNZ ROM:B713 ROM:B715 000 sjmp ROM_B749 ; Short jump ROM:B715 ROM:B717 ; --------------------------------------------------------------------------- ROM:B717 ROM:B717 ROM_B717: ; CODE XREF: ROM_B6FB+20j ROM:B717 ; ROM_B6FB+54j ROM:B717 000 movx A, @R1 ; Move from/to external RAM ROM:B718 000 inc R1 ; Increment Operand ROM:B719 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B71A 000 inc R0 ; Increment Operand ROM:B71B 000 djnz R7, ROM_B717 ; Decrement Operand and JNZ ROM:B71B ROM:B71D 000 sjmp ROM_B78D ; Short jump ROM:B71D ROM:B71F ; --------------------------------------------------------------------------- ROM:B71F ROM:B71F ROM_B71F: ; CODE XREF: ROM_B6FB+28j ROM:B71F ; ROM_B6FB+50j ROM:B71F 000 movx A, @R1 ; Move from/to external RAM ROM:B720 000 inc R1 ; Increment Operand ROM:B721 000 movx @R0, A ; Move from/to external RAM ROM:B722 000 inc R0 ; Increment Operand ROM:B723 000 djnz R7, ROM_B71F ; Decrement Operand and JNZ ROM:B723 ROM:B725 000 sjmp ROM_B78D ; Short jump ROM:B725 ROM:B727 ; --------------------------------------------------------------------------- ROM:B727 ROM:B727 ROM_B727: ; CODE XREF: ROM_B6FB+56j ROM:B727 000 mov DP0L, R0 ; Data Pointer Low Byte ROM:B729 000 mov DP0H, R4 ; Data Pointer High Byte ROM:B729 ROM:B72B ROM:B72B ROM_B72B: ; CODE XREF: ROM_B6FB+34j ROM:B72B 000 movx A, @R1 ; Move from/to external RAM ROM:B72C 000 inc R1 ; Increment Operand ROM:B72D 000 movx @DPTR, A ; Move from/to external RAM ROM:B72E 000 inc DPTR ; Increment Operand ROM:B72F 000 djnz R7, ROM_B72B ; Decrement Operand and JNZ ROM:B72F ROM:B731 000 sjmp ROM_B78D ; Short jump ROM:B731 ROM:B733 ; --------------------------------------------------------------------------- ROM:B733 ROM:B733 ROM_B733: ; CODE XREF: ROM_B6FB+6Cj ROM:B733 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B735 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B735 ROM:B737 ROM:B737 ROM_B737: ; CODE XREF: ROM_B6FB+40j ROM:B737 000 movx A, @DPTR ; Move from/to external RAM ROM:B738 000 inc DPTR ; Increment Operand ROM:B739 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B73A 000 inc R0 ; Increment Operand ROM:B73B 000 djnz R7, ROM_B737 ; Decrement Operand and JNZ ROM:B73B ROM:B73D 000 sjmp ROM_B78D ; Short jump ROM:B73D ROM:B73F ; --------------------------------------------------------------------------- ROM:B73F ROM:B73F ROM_B73F: ; CODE XREF: ROM_B6FB+68j ROM:B73F 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B741 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B741 ROM:B743 ROM:B743 ROM_B743: ; CODE XREF: ROM_B6FB+4Cj ROM:B743 000 movx A, @DPTR ; Move from/to external RAM ROM:B744 000 inc DPTR ; Increment Operand ROM:B745 000 movx @R0, A ; Move from/to external RAM ROM:B746 000 inc R0 ; Increment Operand ROM:B747 000 djnz R7, ROM_B743 ; Decrement Operand and JNZ ROM:B747 ROM:B749 ROM:B749 ROM_B749: ; CODE XREF: ROM_B6FB+6j ROM:B749 ; ROM_B6FB+Ej ... ROM:B749 000 sjmp ROM_B78D ; Short jump ROM:B749 ROM:B74B ; --------------------------------------------------------------------------- ROM:B74B 000 sjmp ROM_B71F ; Short jump ROM:B74B ROM:B74D ; --------------------------------------------------------------------------- ROM:B74D 000 sjmp ROM_B749 ; Short jump ROM:B74D ROM:B74F ; --------------------------------------------------------------------------- ROM:B74F 000 sjmp ROM_B717 ; Short jump ROM:B74F ROM:B751 ; --------------------------------------------------------------------------- ROM:B751 000 sjmp ROM_B727 ; Short jump ROM:B751 ROM:B753 ; --------------------------------------------------------------------------- ROM:B753 000 sjmp ROM_B7AA ; Short jump ROM:B753 ROM:B755 ; --------------------------------------------------------------------------- ROM:B755 000 sjmp ROM_B749 ; Short jump ROM:B755 ROM:B757 ; --------------------------------------------------------------------------- ROM:B757 000 sjmp ROM_B782 ; Short jump ROM:B757 ROM:B759 ; --------------------------------------------------------------------------- ROM:B759 000 sjmp ROM_B76B ; Short jump ROM:B759 ROM:B75B ; --------------------------------------------------------------------------- ROM:B75B 000 sjmp ROM_B703 ; Short jump ROM:B75B ROM:B75D ; --------------------------------------------------------------------------- ROM:B75D 000 sjmp ROM_B749 ; Short jump ROM:B75D ROM:B75F ; --------------------------------------------------------------------------- ROM:B75F 000 sjmp ROM_B6FB ; Short jump ROM:B75F ROM:B761 ; --------------------------------------------------------------------------- ROM:B761 000 sjmp ROM_B70B ; Short jump ROM:B761 ROM:B763 ; --------------------------------------------------------------------------- ROM:B763 000 sjmp ROM_B73F ; Short jump ROM:B763 ROM:B765 ; --------------------------------------------------------------------------- ROM:B765 000 sjmp ROM_B749 ; Short jump ROM:B765 ROM:B767 ; --------------------------------------------------------------------------- ROM:B767 000 sjmp ROM_B733 ; Short jump ROM:B767 ROM:B769 ; --------------------------------------------------------------------------- ROM:B769 000 sjmp ROM_B794 ; Short jump ROM:B769 ROM:B769 ; End of function ROM_B6FB ROM:B769 ROM:B76B ; --------------------------------------------------------------------------- ROM:B76B ; START OF FUNCTION CHUNK FOR ROM_B6FB ROM:B76B ROM:B76B ROM_B76B: ; CODE XREF: ROM_B6FB+5Ej ROM:B76B 000 mov DP1L, R0 ; Data Pointer 1 Low Byte ROM:B76D 000 mov DP1H, R4 ; Data Pointer 1 High Byte ROM:B76F 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B771 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B771 ROM:B773 ROM:B773 ROM_B773: ; CODE XREF: ROM_B6FB+81j ROM:B773 ; ROM_B6FB+83j ROM:B773 000 clr A ; Clear Operand (0) ROM:B774 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B775 000 inc DPTR ; Increment Operand ROM:B776 000 inc SPDR ; SPI Data Register ROM:B778 000 movx @DPTR, A ; Move from/to external RAM ROM:B779 000 inc DPTR ; Increment Operand ROM:B77A 000 inc SPDR ; SPI Data Register ROM:B77C 000 djnz R7, ROM_B773 ; Decrement Operand and JNZ ROM:B77C ROM:B77E 000 djnz R6, ROM_B773 ; Decrement Operand and JNZ ROM:B77E ROM:B780 000 sjmp ROM_B78D ; Short jump ROM:B780 ROM:B782 ; --------------------------------------------------------------------------- ROM:B782 ROM:B782 ROM_B782: ; CODE XREF: ROM_B6FB+5Cj ROM:B782 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B784 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B784 ROM:B786 ROM:B786 ROM_B786: ; CODE XREF: ROM_B6FB+90j ROM:B786 000 clr A ; Clear Operand (0) ROM:B787 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B788 000 inc DPTR ; Increment Operand ROM:B789 000 mov @R0, A ; Move (Op1 <- Op2) ROM:B78A 000 inc R0 ; Increment Operand ROM:B78B 000 djnz R7, ROM_B786 ; Decrement Operand and JNZ ROM:B78B ROM:B78B ; END OF FUNCTION CHUNK FOR ROM_B6FB ROM:B78D ; START OF FUNCTION CHUNK FOR ROM_B7B7 ROM:B78D ROM:B78D ROM_B78D: ; CODE XREF: ROM_B6FB+22j ROM:B78D ; ROM_B6FB+2Aj ... ROM:B78D 000 mov A, R4 ; Move (Op1 <- Op2) ROM:B78E 000 mov R2, A ; Move (Op1 <- Op2) ROM:B78F 000 mov R1, B ; B Register ROM:B791 000 mov A, R5 ; Move (Op1 <- Op2) ROM:B792 000 mov R3, A ; Move (Op1 <- Op2) ROM:B793 000 ret ; Return from subroutine ROM:B793 ROM:B793 ; END OF FUNCTION CHUNK FOR ROM_B7B7 ROM:B794 ; --------------------------------------------------------------------------- ROM:B794 ; START OF FUNCTION CHUNK FOR ROM_B6FB ROM:B794 ROM:B794 ROM_B794: ; CODE XREF: ROM_B6FB+6Ej ROM:B794 000 mov DP1L, R0 ; Data Pointer 1 Low Byte ROM:B796 000 mov DP1H, R4 ; Data Pointer 1 High Byte ROM:B798 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B79A 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B79A ROM:B79C ROM:B79C ROM_B79C: ; CODE XREF: ROM_B6FB+A9j ROM:B79C ; ROM_B6FB+ABj ROM:B79C 000 movx A, @DPTR ; Move from/to external RAM ROM:B79D 000 inc DPTR ; Increment Operand ROM:B79E 000 inc SPDR ; SPI Data Register ROM:B7A0 000 movx @DPTR, A ; Move from/to external RAM ROM:B7A1 000 inc DPTR ; Increment Operand ROM:B7A2 000 inc SPDR ; SPI Data Register ROM:B7A4 000 djnz R7, ROM_B79C ; Decrement Operand and JNZ ROM:B7A4 ROM:B7A6 000 djnz R6, ROM_B79C ; Decrement Operand and JNZ ROM:B7A6 ROM:B7A8 000 sjmp ROM_B78D ; Short jump ROM:B7A8 ROM:B7AA ; --------------------------------------------------------------------------- ROM:B7AA ROM:B7AA ROM_B7AA: ; CODE XREF: ROM_B6FB+58j ROM:B7AA 000 mov DP0L, R1 ; Data Pointer Low Byte ROM:B7AC 000 mov DP0H, R2 ; Data Pointer High Byte ROM:B7AC ROM:B7AE ROM:B7AE ROM_B7AE: ; CODE XREF: ROM_B6FB+B8j ROM:B7AE 000 clr A ; Clear Operand (0) ROM:B7AF 000 movc A, @A+DPTR ; Move code byte relative to second op to Acc ROM:B7B0 000 inc DPTR ; Increment Operand ROM:B7B1 000 movx @R0, A ; Move from/to external RAM ROM:B7B2 000 inc R0 ; Increment Operand ROM:B7B3 000 djnz R7, ROM_B7AE ; Decrement Operand and JNZ ROM:B7B3 ROM:B7B5 000 sjmp ROM_B78D ; Short jump ROM:B7B5 ROM:B7B5 ; END OF FUNCTION CHUNK FOR ROM_B6FB ROM:B7B7 ROM:B7B7 ; =============== S U B R O U T I N E ======================================= ROM:B7B7 ROM:B7B7 ROM:B7B7 ROM_B7B7: ; CODE XREF: ROM:3857p ROM:B7B7 ; ROM_3C07+5Bp ... ROM:B7B7 ROM:B7B7 ; FUNCTION CHUNK AT ROM:B78D SIZE 00000007 BYTES ROM:B7B7 ROM:B7B7 000 mov B, R0 ; B Register ROM:B7B9 000 mov A, R7 ; Move (Op1 <- Op2) ROM:B7BA 000 jz ROM_B7BD ; Jump if Acc is zero ROM:B7BA ROM:B7BC 000 inc R6 ; Increment Operand ROM:B7BC ROM:B7BD ROM:B7BD ROM_B7BD: ; CODE XREF: ROM_B7B7+3j ROM:B7BD 000 orl A, R6 ; Logical OR (op1 |= op2) ROM:B7BE 000 jz ROM_B78D ; Jump if Acc is zero ROM:B7BE ROM:B7C0 000 mov B, R0 ; B Register ROM:B7C2 000 mov A, R5 ; Move (Op1 <- Op2) ROM:B7C3 000 add A, #2 ; Add Second Operand to Acc ROM:B7C5 000 cjne A, #4, ROM_B7C8 ; Compare Operands and JNE ROM:B7C8 ROM:B7C8 ROM_B7C8: ; Jump if Carry is clear ROM:B7C8 000 jnc ROM_B78D ROM:B7C8 ROM:B7CA 000 mov DP0L, A ; Data Pointer Low Byte ROM:B7CC 000 mov A, R3 ; Move (Op1 <- Op2) ROM:B7CD 000 add A, #2 ; Add Second Operand to Acc ROM:B7CF 000 cjne A, #4, ROM_B7D2 ; Compare Operands and JNE ROM:B7D2 ROM:B7D2 ROM_B7D2: ; Jump if Carry is clear ROM:B7D2 000 jnc ROM_B78D ROM:B7D2 ROM:B7D4 000 rl A ; Rotate Acc left ROM:B7D5 000 rl A ; Rotate Acc left ROM:B7D6 000 orl A, DP0L ; Data Pointer Low Byte ROM:B7D8 000 rl A ; Rotate Acc left ROM:B7D9 000 mov DPTR, #0B74Bh ; Move (Op1 <- Op2) ROM:B7DC 000 jmp @A+DPTR ; Jump indirect relative to Data Pointer ROM:B7DC ROM:B7DC ; End of function ROM_B7B7 ROM:B7DC ROM:B7DC ; --------------------------------------------------------------------------- ROM:B7DD ROM_B7DD: db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD db 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ROM:B7DD ; end of 'ROM' ROM:B7DD RAM:0000 ; =========================================================================== RAM:0000 RAM:0000 ; Segment type: Internal processor memory & SFR RAM:0000 ;.segment RAM RAM:0000 DSEG RAM:0000 RAM_0 equ 0 ; DATA XREF: code:code_29Bw RAM:0000 ; code_314:code_2E9r ... RAM:0001 RAM_1 equ 1 ; DATA XREF: code_5B9:code_5F6r RAM:0001 ; ROM_11E6:ROM_1223r ... RAM:0002 RAM_2 equ 2 ; DATA XREF: ROM:3718r RAM:0002 ; ROM_3D62+10r ... RAM:0003 RAM_3 equ 3 ; DATA XREF: ROM_3276+6Ar RAM:0003 ; ROM_3276+6Fr ... RAM:0004 RAM_4 equ 4 ; DATA XREF: code_314+47w RAM:0004 ; ROM_39FB+1Ar ... RAM:0005 RAM_5 equ 5 ; DATA XREF: ROM:2EBDr RAM:0005 ; ROM_2F0E+51r ... RAM:0006 RAM_6 equ 6 ; DATA XREF: start+89r RAM:0006 ; start+A3r ... RAM:0007 RAM_7 equ 7 ; DATA XREF: code_D7+18r RAM:0007 ; ROM_1148+34r ... RAM:0008 RAM_8 equ 8 ; DATA XREF: code_104+6w RAM:0008 ; code_112r ... RAM:0009 RAM:000B RAM_B equ 0Bh ; DATA XREF: ROM:66C3w RAM:000C RAM_C equ 0Ch ; DATA XREF: ROM:9526r RAM:000D RAM:000E RAM:0011 RAM_11 equ 11h ; DATA XREF: ROM:951Er RAM:0012 RAM_12 equ 12h ; DATA XREF: ROM:66F7r RAM:0013 RAM:0014 RAM:0015 RAM:0016 RAM:0017 RAM_17 equ 17h ; DATA XREF: ROM:1868r RAM:0017 ; ROM:381Dw RAM:0018 RAM_18 equ 18h ; DATA XREF: ROM:1BF3w RAM:0018 ; ROM:1BF5r RAM:0019 RAM:001A RAM_1A equ 1Ah ; DATA XREF: ROM:1BD5w RAM:001A ; ROM:1BD7w ... RAM:001B RAM_1B equ 1Bh ; DATA XREF: ROM_A829+3A9w RAM:001C RAM:0020 RAM_20 equ 20h ; DATA XREF: code:021Ar RAM:0020 ; code:0226r ... RAM:0021 RAM_21 equ 21h ; DATA XREF: ROM_277B+2r RAM:0021 ; clear_another_placew ... RAM:0022 RAM_22 equ 22h ; DATA XREF: code:code_27Br RAM:0022 ; ROM_1311+7w ... RAM:0023 RAM_23 equ 23h ; DATA XREF: ROM_2168+48w RAM:0023 ; ROM_2631+119w ... RAM:0024 RAM_24 equ 24h ; DATA XREF: ROM_2631+1Bw RAM:0024 ; ROM_2631+42r ... RAM:0025 RAM_25 equ 25h ; DATA XREF: ROM_2631+4Cw RAM:0025 ; ROM_2631+117w ... RAM:0026 RAM_26 equ 26h ; DATA XREF: code_622+29w RAM:0026 ; code_650+29w ... RAM:0027 RAM_27 equ 27h ; DATA XREF: code_6CA+7w RAM:0027 ; code_6E6+Ew ... RAM:0028 RAM_28 equ 28h ; DATA XREF: code_622+25w RAM:0028 ; code_650+25w ... RAM:0029 RAM_29 equ 29h ; DATA XREF: ROM_1311:ROM_1327r RAM:0029 ; ROM_1311+1Ew ... RAM:002A RAM_2A equ 2Ah ; DATA XREF: code_622+27w RAM:002A ; code_650+27w ... RAM:002B RAM_2B equ 2Bh ; DATA XREF: ROM:1882w RAM:002B ; ROM_5CC1+5Cw ... RAM:002C RAM_2C equ 2Ch ; DATA XREF: code:code_241r RAM:002C ; ROM:24D7r ... RAM:002D RAM_2D equ 2Dh ; DATA XREF: ROM_3224w RAM:002D ; ROM_3224+1Aw ... RAM:002E RAM_2E equ 2Eh ; DATA XREF: ROM_929F+11w RAM:002E ; ROM_929F:ROM_92BFr ... RAM:002F RAM_2F equ 2Fh ; DATA XREF: ROM_A829+286r RAM:0030 RAM_30 equ 30h ; DATA XREF: ROM_854-3B0w RAM:0030 ; ROM_854:code_4BBw ... RAM:0031 RAM_31 equ 31h ; DATA XREF: ROM_68E2-1952w RAM:0031 ; ROM_68E2-1939w ... RAM:0032 RAM_32 equ 32h ; DATA XREF: ROM_447A+24w RAM:0032 ; ROM_447A+2Cr ... RAM:0033 RAM_33 equ 33h ; DATA XREF: ROM_447A+10w RAM:0033 ; ROM_447A+12r ... RAM:0034 RAM_34 equ 34h ; DATA XREF: interact_0FFFFD0+4w RAM:0034 ; interact_0FFFFD0+38w ... RAM:0035 RAM_35 equ 35h ; DATA XREF: interact_0FFFFD0+19w RAM:0035 ; interact_0FFFFD0+2Aw ... RAM:0036 RAM_36 equ 36h ; DATA XREF: ROM_1148+5r RAM:0036 ; ROM_1148+17r ... RAM:0037 RAM_37 equ 37h ; DATA XREF: ROM_1148:ROM_114Br RAM:0037 ; ROM_1148:ROM_115Ar ... RAM:0038 RAM:0039 RAM_39 equ 39h RAM:003E RAM_3E equ 3Eh ; DATA XREF: ROM_3EA7r RAM:003E ; ROM_3EA7+9r ... RAM:003F RAM_3F equ 3Fh ; DATA XREF: timer_1_interrupt_handler+Br RAM:003F ; timer_1_interrupt_handler+16r ... RAM:0040 RAM_40 equ 40h ; DATA XREF: code:0235w RAM:0040 ; ROM_3D1C+17r ... RAM:0041 RAM_41 equ 41h ; DATA XREF: ROM_3C07+38r RAM:0041 ; ROM_3C07+3Ew ... RAM:0042 RAM_42 equ 42h ; DATA XREF: ROM:3835r RAM:0042 ; ROM:3839w ... RAM:0043 RAM:0044 RAM_44 equ 44h ; DATA XREF: ROM_4330+38r RAM:0044 ; ROM_4330+3Ew ... RAM:0045 RAM_45 equ 45h ; DATA XREF: ROM_404C+5r RAM:0045 ; ROM_404C+9w ... RAM:0046 RAM_46 equ 46h ; DATA XREF: ROM:ROM_38CAr RAM:0046 ; ROM:38D5r ... RAM:0047 RAM_47 equ 47h ; DATA XREF: ROM_404C:ROM_40DBr RAM:0047 ; ROM_404C+9Ar ... RAM:0048 RAM_48 equ 48h ; DATA XREF: ROM:ROM_385Dr RAM:0048 ; ROM:38E7r ... RAM:0049 RAM_49 equ 49h ; DATA XREF: ROM_404C:ROM_4079r RAM:0049 ; ROM_404C+ACr ... RAM:004A RAM_4A equ 4Ah ; DATA XREF: ROM:3843r RAM:004A ; ROM_3C07+35w ... RAM:004B RAM_4B equ 4Bh ; DATA XREF: ROM_3C07+49w RAM:004B ; ROM_404C+13r ... RAM:004C RAM:004D RAM:004E RAM:004F RAM_4F equ 4Fh ; DATA XREF: clear_RAM_4F+1w RAM:0050 RAM:0051 RAM:0052 RAM:0053 RAM_53 equ 53h ; DATA XREF: ROM:1896w RAM:0053 ; ROM_5CC1+10w ... RAM:0054 RAM_54 equ 54h ; DATA XREF: ROM_5CC1+22w RAM:0054 ; ROM_5CC1+3Dr ... RAM:0055 RAM_55 equ 55h ; DATA XREF: ROM_5CC1+34w RAM:0055 ; ROM_5CC1+43r ... RAM:0056 RAM_56 equ 56h ; DATA XREF: ROM_4D5Bw RAM:0056 ; ROM_4D5B+2r ... RAM:0057 RAM_57 equ 57h ; DATA XREF: ROM:6781w RAM:0057 ; ROM:678Cr RAM:0058 RAM_58 equ 58h ; DATA XREF: ROM:6789w RAM:0058 ; ROM:6790r RAM:0059 RAM:005A RAM_5A equ 5Ah ; DATA XREF: ROM_2631+5r RAM:005A ; ROM_2631+9r ... RAM:005B RAM_5B equ 5Bh ; DATA XREF: ROM_1D46:ROM_1D97r RAM:005B ; ROM_1D46+58r ... RAM:005C RAM_5C equ 5Ch ; DATA XREF: ROM_2109+11w RAM:005C ; ROM_2109:ROM_2121w ... RAM:005D RAM_5D equ 5Dh ; DATA XREF: ROM_2168+5r RAM:005D ; ROM_2168+1Bw ... RAM:005E RAM_5E equ 5Eh ; DATA XREF: ROM:2470w RAM:005F RAM_5F equ 5Fh ; DATA XREF: ROM:20D5r RAM:0060 RAM_60 equ 60h ; DATA XREF: code_4F1+12w RAM:0060 ; code_4F1+1Cr ... RAM:0061 RAM_61 equ 61h ; DATA XREF: code_4F1+15w RAM:0061 ; code_4F1:code_530w ... RAM:0062 RAM_62 equ 62h ; DATA XREF: code_4F1+49w RAM:0062 ; code_4F1+58r ... RAM:0063 RAM_63 equ 63h ; DATA XREF: interact_host_PM_CH1+12w RAM:0063 ; interact_host_PM_CH1:check_CMDr ... RAM:0064 RAM_64 equ 64h ; DATA XREF: interact_host_PM_CH1+15w RAM:0064 ; interact_host_PM_CH1+20r ... RAM:0065 RAM_65 equ 65h ; DATA XREF: interact_host_PM_CH1+1Ew RAM:0065 ; ROM:ROM_18B3r ... RAM:0066 RAM_66 equ 66h ; DATA XREF: ROM:ROM_18CBw RAM:0066 ; ROM:ROM_18DAr ... RAM:0067 RAM_67 equ 67h ; DATA XREF: read_CMD_from_PM_CH2+12w RAM:0067 ; parse_CMD_and_print_PM_CH2r ... RAM:0068 RAM_68 equ 68h ; DATA XREF: read_CMD_from_PM_CH2+15w RAM:0068 ; read_CMD_from_PM_CH2+20r ... RAM:0069 RAM_69 equ 69h ; DATA XREF: read_CMD_from_PM_CH2+1Ew RAM:0069 ; ROM_6ECF+1Dw ... RAM:006A RAM_6A equ 6Ah ; DATA XREF: ROM:2030w RAM:006A ; ROM_2037r ... RAM:006B RAM:006C RAM_6C equ 6Ch ; DATA XREF: ROM_2F7B+7w RAM:006C ; ROM_2F7B+16w ... RAM:006D RAM:006E RAM_6E equ 6Eh ; DATA XREF: ROM:187Cw RAM:006F RAM:0070 RAM_70 equ 70h ; DATA XREF: ROM:17FFw RAM:0070 ; ROM:6700r RAM:0071 RAM:0072 RAM:0073 RAM:0074 RAM_74 equ 74h ; DATA XREF: ROM_8140+2Dr RAM:0075 RAM:0076 RAM:0077 RAM:0078 RAM_78 equ 78h ; DATA XREF: ROM_29AEr RAM:0078 ; ROM:66AAw RAM:0079 RAM:007A RAM:007B RAM:007C RAM:007D RAM:007E RAM:007F RAM:007F ; end of 'RAM' RAM:007F FSR:0080 ; =========================================================================== FSR:0080 FSR:0080 ; Segment type: Internal processor memory & SFR FSR:0080 ;.segment FSR FSR:0080 DSEG FSR:0080 ; org 80h FSR:0080 P0 equ 80h ; DATA XREF: code:code_262r FSR:0080 ; code:029Er ... FSR:0080 ; Port 0 FSR:0081 SP equ 81h ; DATA XREF: start+6w FSR:0081 ; start:code_7Dw ... FSR:0081 ; Stack Pointer FSR:0082 DP0L equ 82h ; DATA XREF: code_104+2r FSR:0082 ; code_112+6r ... FSR:0082 ; Data Pointer Low Byte FSR:0083 DP0H equ 83h ; DATA XREF: code_D7:code_DCr FSR:0083 ; code_104+4r ... FSR:0083 ; Data Pointer High Byte FSR:0084 DP1L equ 84h ; DATA XREF: ROM_B6FB:ROM_B76Bw FSR:0084 ; ROM_B6FB:ROM_B794w FSR:0084 ; Data Pointer 1 Low Byte FSR:0085 DP1H equ 85h ; DATA XREF: ROM_B6FB+72w FSR:0085 ; ROM_B6FB+9Bw FSR:0085 ; Data Pointer 1 High Byte FSR:0086 SPDR equ 86h ; DATA XREF: ROM:6191r FSR:0086 ; ROM_B6FB+7Bw ... FSR:0086 ; SPI Data Register FSR:0087 PCON equ 87h ; DATA XREF: ROM_108F+5Aw FSR:0087 ; set_sleep_mode+5w FSR:0087 ; Power Control Register FSR:0088 TCON equ 88h ; DATA XREF: start+57w FSR:0088 ; start+59w ... FSR:0088 ; Timer Control Register FSR:0089 TMOD equ 89h ; DATA XREF: start+54w FSR:0089 ; set_timer_16bit_disablew ... FSR:0089 ; Timer Mode Control Register FSR:008A TL0 equ 8Ah ; DATA XREF: timer_0_interrupt_handler+Cw FSR:008A ; clear_another_place-10Ew ... FSR:008A ; Timer 0 Low Byte FSR:008B TL1 equ 8Bh ; DATA XREF: timer_1_start+7w FSR:008B ; timer_1_interrupt_handler+1Dw ... FSR:008B ; Timer 1 Low Byte FSR:008C TH0 equ 8Ch ; DATA XREF: timer_0_interrupt_handler+9w FSR:008C ; clear_another_place:timer_setw ... FSR:008C ; Timer 0 High Byte FSR:008D TH1 equ 8Dh ; DATA XREF: timer_1_start+3w FSR:008D ; timer_1_interrupt_handler+20w ... FSR:008D ; Timer 1 High Byte FSR:008E FSR_8E equ 8Eh ; DATA XREF: ROM_4E13+28w FSR:008E ; ROM_4E13+8Aw ... FSR:008F FSR:0090 P1 equ 90h ; DATA XREF: code_104+9w FSR:0090 ; code_104+Bw ... FSR:0090 ; Port 1 FSR:0091 FSR:0092 FSR:0093 FSR:0095 FSR:0096 WMCON equ 96h ; Watchdog and Memory Control Register FSR:0097 FSR:0098 SCON equ 98h ; DATA XREF: serial_port_interrupt_handler+2r FSR:0098 ; serial_port_interrupt_handler+5w ... FSR:0098 ; Serial Port Control FSR:0099 SBUF equ 99h ; DATA XREF: ROM:98BAw FSR:0099 ; ROM:98CBr FSR:0099 ; Serial Port Buffer FSR:009A FSR:009B FSR:009C FSR:009D FSR:009E FSR:009F FSR_9F equ 9Fh ; DATA XREF: ROM:6191w FSR:009F ; ROM:6196w FSR:00A0 P2 equ 0A0h ; DATA XREF: ROM:66ACr FSR:00A0 ; Port 2 FSR:00A1 FSR:00A2 FSR_A2 equ 0A2h ; DATA XREF: ROM:6703r FSR:00A3 FSR:00A4 FSR:00A5 FSR:00A6 FSR_A6 equ 0A6h ; DATA XREF: ROM:6601r FSR:00A7 FSR:00A8 IE equ 0A8h ; DATA XREF: external_interrupt_0_handlerw FSR:00A8 ; external_interrupt_0_handler+2w ... FSR:00A8 ; Interrupt Enable Register 0 FSR:00A9 FSR_A9 equ 0A9h ; DATA XREF: ROM:4871w FSR:00AA SPSR equ 0AAh ; SPI Status Register , different to AT89C52 FSR:00AB FSR_AB equ 0ABh ; DATA XREF: ROM:6706r FSR:00AC FSR:00AD FSR:00AE FSR:00AF FSR:00B0 P3 equ 0B0h ; DATA XREF: ROM:6665w FSR:00B0 ; Port 3 FSR:00B1 FSR:00B2 FSR:00B3 FSR:00B4 FSR:00B5 FSR_B5 equ 0B5h ; DATA XREF: ROM:ROM_666Cw FSR:00B6 FSR:00B7 FSR:00B8 IP equ 0B8h ; Interrupt Priority Register FSR:00B9 FSR_B9 equ 0B9h ; DATA XREF: ROM:6678w FSR:00BA FSR:00BB FSR_BB equ 0BBh ; DATA XREF: start+1Cr FSR:00BB ; start+2Cr FSR:00BC FSR:00BD FSR:00BE FSR:00BF FSR:00C0 FSR_C0 equ 0C0h ; DATA XREF: ROM:66A2w FSR:00C1 FSR_C1 equ 0C1h ; DATA XREF: ROM_A829+408w FSR:00C2 FSR_C2 equ 0C2h ; DATA XREF: ROM:6696r FSR:00C3 FSR:00C4 FSR:00C5 FSR:00C6 FSR:00C7 FSR:00C8 T2CON equ 0C8h ; DATA XREF: timer_2_interrupt_handler+2w FSR:00C8 ; start_timer_2w ... FSR:00C8 ; Timer 2 Control FSR:00C9 T2MOD equ 0C9h ; DATA XREF: ROM:66D9w FSR:00C9 ; ROM:988Ew FSR:00C9 ; Timer 2 Mode FSR:00CA RCAP2L equ 0CAh ; DATA XREF: ROM:9893w FSR:00CA ; Timer 2 Capture Low Byte FSR:00CB RCAP2H equ 0CBh ; DATA XREF: ROM:ROM_9890w FSR:00CB ; Timer 2 Capture High Byte FSR:00CC TL2 equ 0CCh ; DATA XREF: ROM_4CFFw FSR:00CC ; Timer 2 Low Byte FSR:00CD TH2 equ 0CDh ; DATA XREF: ROM_4CFF+3w FSR:00CD ; Timer 2 High Byte FSR:00CE FSR:00CF FSR:00D0 PSW equ 0D0h ; DATA XREF: start+6o FSR:00D0 ; start:code_7Do ... FSR:00D0 ; Program Status Word FSR:00D1 FSR:00D2 FSR:00D3 FSR:00D4 FSR_D4 equ 0D4h ; DATA XREF: ROM:66DCw FSR:00D5 SPCR equ 0D5h ; SPI Control Register FSR:00D6 FSR:00D7 FSR:00D8 FSR_D8 equ 0D8h ; DATA XREF: ROM_4E13+2Bw FSR:00D8 ; ROM_4E13+8Dw ... FSR:00D9 FSR:00DA FSR:00DB FSR:00DC FSR:00DD FSR:00DE FSR:00DF FSR:00E0 ACC equ 0E0h ; DATA XREF: code_104r FSR:00E0 ; code_112+4r ... FSR:00E0 ; Accumulator FSR:00E2 FSR:00E3 FSR:00E4 FSR:00E5 FSR:00E6 FSR:00E7 FSR:00E8 FSR:00E9 FSR:00EA FSR_EA equ 0EAh ; DATA XREF: ROM_2168+2Fw FSR:00EB FSR:00EC FSR_EC equ 0ECh ; DATA XREF: ROM_2168+35r FSR:00ED FSR:00EE FSR_EE equ 0EEh ; DATA XREF: ROM_2168+38r FSR:00EF FSR:00F0 B equ 0F0h ; DATA XREF: code_14Aw FSR:00F0 ; code_14A+9r ... FSR:00F0 ; B Register FSR:00F1 FSR:00F2 FSR:00F3 FSR_F3 equ 0F3h ; DATA XREF: ROM_2631+94w FSR:00F4 FSR_F4 equ 0F4h ; DATA XREF: ROM_2168+44w FSR:00F5 FSR:00F6 FSR:00F7 FSR:00F8 FSR_F8 equ 0F8h ; DATA XREF: ROM:66DFw FSR:00F9 FSR:00FA FSR:00FB FSR:00FC FSR:00FD FSR:00FE FSR:00FF FSR_FF equ 0FFh ; DATA XREF: ROM:486Cr FSR:00FF ; end of 'FSR' FSR:00FF FSR:00FF FSR:00FF end ;RESET