; ======================================================================== ; TK-3000 Datadesk ADB Keyboard + Trackball - Commented Disassembly ; ROM file: TK-3000.bin (8192 bytes, Intel 80C31 external EPROM) ; ; Disassembly generated by Claude Code. ; Edited and sanity-checked by R. Belmont, April 2026 ; ; Claude chose to create its own MCS-51 disassmbler in Python and use that ; instead of MAME's unidasm. ; ; Errors may exist in both the actual disassembly and Claude's analysis of the ; code, but everything I've checked seems reasonable within the bounds of my ; understandng of MCS-51 assembly. ; ======================================================================== ORG 0000h ; ======================================================================== ; Datadesk TK-3000 ADB Keyboard + Trackball Firmware ; Intel 80C31 (8051 core, no internal ROM, external 8KB EPROM) ; ; HARDWARE CONNECTIONS ; ------------------------------------------------------------ ; P0[7:0] Keyboard matrix row data (read via MOVX external bus) ; P0 doubles as the 8051 external data bus. ; Each MOVX read returns 8 row bits for the selected column. ; P1.0 Trackball button 1 (left button) ; P1.1 Trackball button 2 (right/option button) ; P1.2 Caps Lock LED drive output ; P1.3 X-axis quadrature encoder, phase A ; P1.4 X-axis quadrature encoder, phase B ; P1.5 Y-axis quadrature encoder, phase A ; P1.6 Y-axis quadrature encoder, phase B ; P1.7 Caps Lock mechanical key (input, active-low) ; P2[7:0] Keyboard matrix column address (MOVX high address byte) ; Active-low column strobes; one bit per column selected ; by external address decoder circuit. ; P3.3/INT1 ADB data line (open-drain, bidirectional, bit-banged) ; Also generates INT1 interrupt on falling edge. ; P3.4/T0 LED output (Num Lock / Scroll Lock status) ; P3.5/T1 Extra column strobe for columns 8-9 ; P3.6/WR Extra column strobe; also asserted by MOVX write cycle ; ; ADB DEVICE CONFIGURATION ; ------------------------------------------------------------ ; Keyboard : ADB address 2, handler ID 0x02 ; Trackball: ADB address 3, handler ID 0x01 ; Both sub-devices share one physical 80C31 and one ADB connection. ; The firmware multiplexes between them based on command address bits. ; ; iRAM VARIABLE MAP ; ------------------------------------------------------------ ; R0-R7 (bank 0) Working registers for main loop and subroutines ; R0-R7 (bank 1) ADB ISR working registers (PSW.RS0=1) ; R0-R7 (bank 2) Timer0 ISR registers (PSW.RS1=1) ; 0x1E yaxis_delta Accumulated Y-axis motion (signed) ; 0x1F xaxis_delta Accumulated X-axis motion (signed) ; 0x20-0x2F Bit-addressable area (flags): ; bit 31h.0 Timer0 ISR activity flag (largely unused) ; 0x27 kbd_scan_cfg Keyboard config byte (from init MOVX read) ; 0x29 col_select Current column index (0-9) for matrix scan ; 0x2A kbd_adb_addr Keyboard ADB address register byte (0x62) ; 0x2B kbd_handler Keyboard handler ID (0x02) ; 0x2C kbd_reg2_hi Keyboard ADB Register 2, high byte ; 0x2D kbd_reg2_lo Keyboard ADB Register 2, low byte ; 0x2E tb_adb_addr Trackball ADB address register byte (0x63) ; 0x2F tb_handler Trackball handler ID (0x01) ; 0x3F fifo_count ADB key FIFO depth (0-9) ; 0x40 fifo[0] ADB key FIFO entry 0 (oldest, reported first) ; 0x41-0x48 fifo[1-8] ADB key FIFO entries 1-8 ; 0x4A sec_key_pend Secondary key pending event byte ; 0x4D pri_key_pend Primary key pending event byte ; 0x50 scan_col[0] Matrix scan result, column 0 ; 0x51-0x59 scan_col[1-9] Matrix scan results, columns 1-9 ; ; ADB PROTOCOL ; ------------------------------------------------------------ ; Single-wire open-drain half-duplex. ; Bit timing (at ~12 MHz crystal -> ~1 us per instruction cycle): ; Logic 0: ~65us low, ~35us high ; Logic 1: ~35us low, ~65us high ; Reset pulse: >280us continuous low ; This firmware detects reset vs start-bit by counting duration ; of initial falling-edge low period via DJNZ countdown loop. ; ; ADB COMMAND FORMAT: AAAA CC RR ; AAAA = target address (0010=keyboard, 0011=trackball) ; CC = command (00=Reset, 01=Flush, 10=Listen, 11=Talk) ; RR = register (0-3) ; ; KEYBOARD MATRIX ; ------------------------------------------------------------ ; 10 columns x 8 rows = 80 key positions. ; MOVX read: P2 selects column (active-low via external decoder), ; P0 returns 8 row bits (0=pressed, 1=open). ; Columns 8-9 additionally use P3.5/T1 and P3.6/WR. ; ======================================================================== ; ; INTERRUPT VECTORS ; ------------------------------------------------------------ INT_RESET: 0000: 02 00 33 LJMP RESET ; Reset vector -> RESET INT_EX0: 0003: 02 00 F2 LJMP INT1_ISR ; External INT0 (also -> INT1_ISR, ADB line) 0006: FF MOV R7, A 0007: FF MOV R7, A 0008: FF MOV R7, A 0009: FF MOV R7, A 000A: FF MOV R7, A INT_TIMER0: 000B: 02 00 DB LJMP TIMER0_ISR ; Timer 0 overflow -> TIMER0_ISR 000E: FF MOV R7, A 000F: FF MOV R7, A 0010: FF MOV R7, A 0011: FF MOV R7, A 0012: FF MOV R7, A INT_EX1: 0013: 02 00 F2 LJMP INT1_ISR ; External INT1 (ADB falling edge) -> INT1_ISR 0016: FF MOV R7, A 0017: FF MOV R7, A 0018: FF MOV R7, A 0019: FF MOV R7, A 001A: FF MOV R7, A INT_TIMER1: 001B: FF MOV R7, A ; Timer 1 overflow (unused, 0xFF padding) 001C: FF MOV R7, A 001D: FF MOV R7, A 001E: FF MOV R7, A 001F: FF MOV R7, A 0020: FF MOV R7, A 0021: FF MOV R7, A 0022: FF MOV R7, A INT_SERIAL: 0023: FF MOV R7, A ; Serial port interrupt (unused, 0xFF padding) 0024: FF MOV R7, A 0025: FF MOV R7, A 0026: FF MOV R7, A 0027: FF MOV R7, A 0028: FF MOV R7, A 0029: FF MOV R7, A 002A: FF MOV R7, A 002B: FF MOV R7, A 002C: FF MOV R7, A 002D: FF MOV R7, A 002E: FF MOV R7, A 002F: FF MOV R7, A 0030: FF MOV R7, A 0031: FF MOV R7, A 0032: FF MOV R7, A RESET: 0033: C2 AF CLR IE.EA ; CLR IE.EA - disable interrupts during init 0035: C2 33 CLR 26h.3 ; CLR bit 33h (iRAM[26h].3 flag) 0037: 75 81 60 MOV SP, #60h ; MOV SP, #60h - stack at top of general iRAM 003A: 75 D0 00 MOV PSW, #00h ; MOV PSW, #00h - select register bank 0 003D: 75 88 04 MOV TCON, #04h ; MOV TCON, #04h - INT1 falling edge triggered (IT1=1) 0040: 75 89 03 MOV TMOD, #03h ; MOV TMOD, #03h - Timer0 mode 3, Timer1 mode 0 0043: 75 B8 01 MOV IP, #01h ; MOV IP, #01h - set EX0/INT0 initially at high priority 0046: 75 A8 05 MOV IE, #05h ; MOV IE, #05h - enable EX0+EX1 initially 0049: 75 A8 04 MOV IE, #04h ; MOV IE, #04h - disable EX0, keep only EX1 (ADB) enabled 004C: 75 B8 04 MOV IP, #04h ; MOV IP, #04h - set EX1/INT1 (ADB) at high priority 004F: 75 8C FC MOV TH0, #FCh 0052: 75 8D FF MOV TH1, #FFh 0055: 53 B0 8F ANL P3, #8Fh 0058: 12 0F 22 LCALL INIT_MOVX_STUB 005B: 12 00 71 LCALL INIT_PORTS 005E: 12 00 91 LCALL INIT_SUB_91 0061: 12 00 81 LCALL INIT_SUB_81 0064: 12 00 9A LCALL INIT_SUB_9A 0067: 43 B0 70 ORL P3, #70h 006A: D2 AF SETB IE.EA 006C: 02 03 CD LJMP MAIN_LOOP_WORK 006F: 80 FE SJMP 006Fh INIT_PORTS: 0071: 75 A0 FF MOV P2, #FFh 0074: 75 90 FF MOV P1, #FFh 0077: 75 80 FF MOV P0, #FFh 007A: 75 B0 FF MOV P3, #FFh 007D: 75 26 00 MOV 26h, #00h 0080: 22 RET INIT_SUB_81: 0081: 85 90 1D MOV 1Dh, P1 0084: 85 90 1C MOV 1Ch, P1 0087: 75 24 00 MOV 24h, #00h 008A: 75 1F 00 MOV xaxis_delta, #00h 008D: 75 1E 00 MOV yaxis_delta, #00h 0090: 22 RET INIT_SUB_91: 0091: 90 00 A3 MOV DPTR, #00A3h 0094: 79 10 MOV R1, #10h 0096: 12 0F 79 LCALL PAIR_TBL_LOADER 0099: 22 RET INIT_SUB_9A: 009A: 90 00 C3 MOV DPTR, #00C3h 009D: 79 0C MOV R1, #0Ch 009F: 12 0F 79 LCALL PAIR_TBL_LOADER 00A2: 22 RET INIT_DATA_TBL: 00A3: DB 50h, FFh, 51h, FFh, 52h, FFh, 53h, FFh ; P.Q.R.S. 00AB: DB 54h, FFh, 55h, FFh, 56h, FFh, 57h, FFh ; T.U.V.W. 00B3: DB 58h, FFh, 59h, FFh, 4Dh, 7Fh, 4Ah, 7Fh ; X.Y.M.J. 00BB: DB 25h, 00h, 22h, FFh, 3Fh, 00h, 19h, 00h ; %.".?... ADB_REG_INIT_DATA: 00C3: DB 33h, 00h, 32h, 10h, 29h, FFh, 28h, FFh ; 3.2.).(. 00CB: DB 2Bh, 02h, 2Ah, 62h, 37h, 00h, 36h, 20h ; +.*b7.6 00D3: DB 2Dh, FFh, 2Ch, FFh, 2Fh, 01h, 2Eh, 63h ; -.,./..c ; ; ------------------------------------------------------------ ; TIMER0_ISR (0x00DB) ; Timer 0 is configured in Mode 3 (two independent 8-bit timers). ; This ISR saves registers, switches to bank 2, sets flag bit 31h.0, ; then restores and returns. The flag appears unused in practice. ; ------------------------------------------------------------ TIMER0_ISR: 00DB: C0 D0 PUSH PSW 00DD: C0 83 PUSH DPH 00DF: C0 82 PUSH DPL 00E1: C0 E0 PUSH ACC 00E3: C2 D3 CLR PSW.RS0 00E5: D2 D4 SETB PSW.RS1 00E7: D2 31 SETB 26h.1 00E9: D0 E0 POP ACC 00EB: D0 82 POP DPL 00ED: D0 83 POP DPH 00EF: D0 D0 POP PSW 00F1: 32 RETI ; ; ------------------------------------------------------------ ; INT1_ISR - ADB RECEIVE HANDLER (0x00F2) ; Triggered on every falling edge of P3.3/INT1 (ADB data line). ; ; Phase 1: Measure low pulse duration to distinguish reset vs data. ; Loop counts down R2 while ADB line is low. ; If line goes high before count expires: start bit of command. ; If count expires while line still low: ADB bus reset pulse. ; ; Phase 2 (command reception): Read 8 bits, MSB first. ; For each bit: wait for next falling edge, delay ~50us, ; then sample P3.3. Low=0, High=1. ; Builds command byte in R (working register). ; ; Phase 3: Dispatch command. ; Check address field (bits[7:4]) to select keyboard vs trackball. ; Use lower nibble as index into appropriate jump table. ; Execute via JMP @A+DPTR. ; ; All handlers return through ADB_ISR_EXIT to restore context and RETI. ; ------------------------------------------------------------ INT1_ISR: 00F2: C0 D0 PUSH PSW 00F4: C0 83 PUSH DPH 00F6: C0 82 PUSH DPL 00F8: C0 E0 PUSH ACC 00FA: D2 D3 SETB PSW.RS0 00FC: C2 D4 CLR PSW.RS1 00FE: D2 32 SETB 26h.2 0100: 79 B4 MOV R1, #B4h 0102: 20 B3 41 JB P3.3/INT1, ADB_ISR_EXIT 0105: D9 FB DJNZ R1, 0102h 0107: 79 28 MOV R1, #28h 0109: 20 B3 04 JB P3.3/INT1, 0110h 010C: D9 FB DJNZ R1, 0109h 010E: 80 4C SJMP ADB_BUS_RESET 0110: 71 23 ACALL ADB_RECV_BYTE 0112: F9 MOV R1, A 0113: 20 B3 FD JB P3.3/INT1, 0113h 0116: 54 F0 ANL A, #F0h 0118: 60 4D JZ 0167h 011A: E5 2A MOV A, kbd_adb_addr 011C: C4 SWAP A 011D: 69 XRL A, R1 011E: 54 F0 ANL A, #F0h 0120: 60 32 JZ ADB_KBD_DISPATCH 0122: E5 2E MOV A, tb_adb_addr 0124: C4 SWAP A 0125: 69 XRL A, R1 0126: 54 F0 ANL A, #F0h 0128: 60 25 JZ ADB_TB_DISPATCH 012A: 12 01 87 LCALL 0187h 012D: 12 01 75 LCALL 0175h 0130: 20 29 13 JB 25h.1, ADB_ISR_EXIT 0133: 12 0F 4E LCALL FIFO_DEQUEUE 0136: 60 0E JZ ADB_ISR_EXIT 0138: D2 29 SETB 25h.1 013A: 88 30 MOV 30h, R0 013C: 75 31 FF MOV 31h, #FFh 013F: E8 MOV A, R0 0140: B4 7F 03 CJNE A, #7Fh, ADB_ISR_EXIT 0143: 75 31 7F MOV 31h, #7Fh ; ; ADB_ISR_EXIT (0x0146) ; Common exit point for all ADB command handlers. ; Restores ACC, DPL, DPH, PSW that were saved at ISR entry. ; Falls through to RETI at 0x014E. ADB_ISR_EXIT: 0146: D0 E0 POP ACC 0148: D0 82 POP DPL 014A: D0 83 POP DPH 014C: D0 D0 POP PSW 014E: 32 RETI ; ; ------------------------------------------------------------ ; ADB COMMAND DISPATCH (0x014F-0x015B) ; ------------------------------------------------------------ ; ; ADB_TB_DISPATCH (0x014F) ; Entry point when received command is addressed to trackball (addr 3). ; Loads DPTR = TB_JUMP_TBL (0x0383), then falls through to ADB_JUMP. ADB_TB_DISPATCH: 014F: 90 03 83 MOV DPTR, #0383h 0152: 80 03 SJMP ADB_JUMP ; ; ADB_KBD_DISPATCH (0x0154) ; Entry point when received command is addressed to keyboard (addr 2). ; Loads DPTR = KBD_JUMP_TBL (0x0363), then falls through to ADB_JUMP. ADB_KBD_DISPATCH: 0154: 90 03 63 MOV DPTR, #0363h ; ; ADB_JUMP (0x0157) ; Common dispatch: ; ANL A, #0Fh - extract lower nibble (command+register index 0-15) ; RL A - multiply by 2 (each AJMP entry is 2 bytes) ; JMP @A+DPTR - dispatch to handler via jump table ADB_JUMP: 0157: E9 MOV A, R1 0158: 54 0F ANL A, #0Fh 015A: 23 RL A 015B: 73 JMP @A+DPTR ; ; ------------------------------------------------------------ ; ADB_BUS_RESET (0x015C) ; Handles ADB bus reset pulse (>280us low detected in INT1_ISR). ; Waits for the ADB line to return high (end of reset pulse). ; Then calls initialization subroutines to reload ADB defaults: ; - INIT_SUB_91: reload ADB register init data (addresses + handler IDs) ; - INIT_SUB_81: reinitialize iRAM state variables ; Returns via ADB_ISR_EXIT. ; ------------------------------------------------------------ ADB_BUS_RESET: 015C: 79 06 MOV R1, #06h 015E: 7A FA MOV R2, #FAh 0160: 20 B3 10 JB P3.3/INT1, 0173h 0163: DA FB DJNZ R2, 0160h 0165: D9 F7 DJNZ R1, 015Eh 0167: 30 B3 FD JNB P3.3/INT1, 0167h 016A: 12 00 91 LCALL INIT_SUB_91 016D: 12 00 81 LCALL INIT_SUB_81 0170: 12 00 9A LCALL INIT_SUB_9A 0173: 21 46 AJMP ADB_ISR_EXIT 0175: 30 21 0E JNB 24h.1, 0186h 0178: 30 75 0B JNB tb_adb_addr.5, 0186h 017B: 20 B3 FD JB P3.3/INT1, 017Bh 017E: C2 B3 CLR P3.3/INT1 0180: 78 8C MOV R0, #8Ch 0182: D8 FE DJNZ R0, 0182h 0184: D2 B3 SETB P3.3/INT1 0186: 22 RET 0187: 30 29 0E JNB 25h.1, 0198h 018A: 30 55 0B JNB kbd_adb_addr.5, 0198h 018D: 20 B3 FD JB P3.3/INT1, 018Dh 0190: C2 B3 CLR P3.3/INT1 0192: 78 8C MOV R0, #8Ch 0194: D8 FE DJNZ R0, 0194h 0196: D2 B3 SETB P3.3/INT1 0198: 22 RET ; ; ADB_CMD_UNUSED (0x0199) ; Handler for unimplemented/reserved ADB command codes. ; Falls through or jumps to ADB_ISR_EXIT with no response. ADB_CMD_UNUSED: 0199: 21 46 AJMP ADB_ISR_EXIT ; ; KBD_FLUSH (0x019B) ; ADB Flush command for keyboard. ; Clears the key FIFO (sets fifo_count=0). ; Also clears any pending key events. KBD_FLUSH: 019B: 12 00 91 LCALL INIT_SUB_91 019E: 21 46 AJMP ADB_ISR_EXIT ; ; ------------------------------------------------------------ ; ADB KEYBOARD COMMAND HANDLERS ; ------------------------------------------------------------ ; ; KBD_TALK_R0 (0x01A0) - Talk Register 0 ; Returns oldest pending key event from FIFO. ; ADB key report format (2 bytes sent to host): ; Byte 0: keycode[6:0] | key_up_flag[7] ; Byte 1: second keycode or 0xFF (single-key events use 0xFF) ; If FIFO is empty: sends no response (SRQ not asserted). ; After sending: dequeues the key via FIFO_DEQUEUE. KBD_TALK_R0: 01A0: 20 29 04 JB 25h.1, 01A7h 01A3: 31 75 ACALL 0175h 01A5: 21 30 AJMP 0130h 01A7: AE 30 MOV R6, 30h 01A9: AF 31 MOV R7, 31h 01AB: 12 02 E0 LCALL ADB_SEND_2BYTES 01AE: 20 30 02 JB 26h.0, 01B3h 01B1: C2 29 CLR 25h.1 01B3: 21 46 AJMP ADB_ISR_EXIT ; ; KBD_TALK_R1 (0x01B5) - Talk Register 1 ; Returns 0xFFFF. Register 1 is unused by this keyboard. KBD_TALK_R1: 01B5: AE 32 MOV R6, 32h 01B7: AF 33 MOV R7, 33h 01B9: 12 02 E0 LCALL ADB_SEND_2BYTES 01BC: 21 46 AJMP ADB_ISR_EXIT ; ; KBD_TALK_R2 (0x01BE) - Talk Register 2 ; Returns keyboard LED state. ; Byte format: 0000 0 [CapsLock] [NumLock] [ScrollLock] KBD_TALK_R2: 01BE: AE 28 MOV R6, 28h 01C0: AF 29 MOV R7, col_select 01C2: 12 02 E0 LCALL ADB_SEND_2BYTES 01C5: 21 46 AJMP ADB_ISR_EXIT ; ; KBD_TALK_R3 (0x01C7) - Talk Register 3 ; Returns ADB device address and handler ID. ; Byte 0: 0000 AAAA (device address, default 0x02) ; Byte 1: HHHHHHHH (handler ID, 0x02 = Extended Keyboard II) KBD_TALK_R3: 01C7: C2 28 CLR 25h.0 01C9: AE 2A MOV R6, kbd_adb_addr 01CB: AF 2B MOV R7, kbd_handler 01CD: 12 02 E0 LCALL ADB_SEND_2BYTES 01D0: 30 30 02 JNB 26h.0, 01D5h 01D3: D2 28 SETB 25h.0 01D5: 21 46 AJMP ADB_ISR_EXIT ; ; KBD_LISTEN_R0 (0x01D7) - Listen Register 0 ; Receives 2 bytes from host, then ; stuffs the string "CORTLAND" into the key FIFO. ; ADB keycodes: C=08h O=1Fh R=0Fh T=11h L=25h A=00h N=2Dh D=02h ; Followed by D key-up (0x82). All 9 codes fill the entire FIFO. KBD_LISTEN_R0: 01D7: 12 03 10 LCALL ADB_RECV_2BYTES 01DA: 75 3F 09 MOV fifo_count, #09h 01DD: 75 40 08 MOV fifo[0], #08h 01E0: 75 41 1F MOV fifo[1], #1Fh 01E3: 75 42 0F MOV fifo[2], #0Fh 01E6: 75 43 11 MOV fifo[3], #11h 01E9: 75 44 25 MOV fifo[4], #25h 01EC: 75 45 00 MOV fifo[5], #00h 01EF: 75 46 2D MOV fifo[6], #2Dh 01F2: 75 47 02 MOV fifo[7], #02h 01F5: 75 48 82 MOV fifo[8], #82h 01F8: 21 46 AJMP ADB_ISR_EXIT ; ; KBD_LISTEN_R1 (0x01FA) - Listen Register 1 ; Receives 2 bytes but takes no action. Register 1 is unused. KBD_LISTEN_R1: 01FA: 12 03 10 LCALL ADB_RECV_2BYTES 01FD: 8F 33 MOV 33h, R7 01FF: 21 46 AJMP ADB_ISR_EXIT ; ; KBD_LISTEN_R2 (0x0201) - Listen Register 2 ; Receives LED control byte from host. ; Updates keyboard LED state (Num Lock, Caps Lock, Scroll Lock). KBD_LISTEN_R2: 0201: 12 03 10 LCALL ADB_RECV_2BYTES 0204: 74 07 MOV A, #07h 0206: 5F ANL A, R7 0207: 53 29 F8 ANL col_select, #F8h 020A: 42 29 ORL col_select, A 020C: 12 0F 24 LCALL COL_SELECT_OUT 020F: 21 46 AJMP ADB_ISR_EXIT ; ; KBD_LISTEN_R3 (0x0211) - Listen Register 3 ; Receives new ADB device address from host. ; Updates kbd_adb_addr (iRAM[0x2A]) with new address. ; Also accepts handler ID update. KBD_LISTEN_R3: 0211: 12 03 10 LCALL ADB_RECV_2BYTES 0214: EF MOV A, R7 0215: 60 17 JZ 022Eh 0217: 04 INC A 0218: 60 1E JZ 0238h 021A: 04 INC A 021B: 60 1D JZ 023Ah 021D: 04 INC A 021E: 60 1A JZ 023Ah 0220: BF 02 04 CJNE R7, #02h, 0227h 0223: 8F 2B MOV kbd_handler, R7 0225: 21 46 AJMP ADB_ISR_EXIT 0227: BF 03 02 CJNE R7, #03h, 022Ch 022A: 8F 2B MOV kbd_handler, R7 022C: 21 46 AJMP ADB_ISR_EXIT 022E: EE MOV A, R6 022F: 54 3F ANL A, #3Fh 0231: 53 2A C0 ANL kbd_adb_addr, #C0h 0234: 42 2A ORL kbd_adb_addr, A 0236: 21 46 AJMP ADB_ISR_EXIT 0238: 21 46 AJMP ADB_ISR_EXIT 023A: 20 28 08 JB 25h.0, 0245h 023D: EE MOV A, R6 023E: 54 0F ANL A, #0Fh 0240: 53 2A F0 ANL kbd_adb_addr, #F0h 0243: 42 2A ORL kbd_adb_addr, A 0245: 21 46 AJMP ADB_ISR_EXIT ; ; ------------------------------------------------------------ ; ADB TRACKBALL COMMAND HANDLERS ; ------------------------------------------------------------ ; ; TB_CMD_UNUSED (0x0247) ; Unimplemented trackball command. No response. TB_CMD_UNUSED: 0247: 21 46 AJMP ADB_ISR_EXIT ; ; TB_FLUSH (0x0249) ; ADB Flush for trackball. Clears pending motion accumulators. TB_FLUSH: 0249: 12 00 81 LCALL INIT_SUB_81 024C: 21 46 AJMP ADB_ISR_EXIT ; ; TB_TALK_R0 (0x024E) - Trackball Talk Register 0 ; Returns trackball motion report to host. ; ADB Extended Mouse format (2 bytes): ; Byte 0: button1[7] | Y-delta[6:0] (Y delta, 7-bit signed) ; Byte 1: button2[7] | X-delta[6:0] (X delta, 7-bit signed) ; Clears xaxis_delta and yaxis_delta after sending. ; If no motion and no button changes: sends no response. TB_TALK_R0: 024E: 20 21 04 JB 24h.1, 0255h 0251: 31 87 ACALL 0187h 0253: 21 30 AJMP 0130h 0255: E5 1E MOV A, yaxis_delta 0257: 03 RR A 0258: 44 80 ORL A, #80h 025A: 12 05 DC LCALL TB_BUTTONS_CAPS 025D: 30 22 02 JNB 24h.2, 0262h 0260: 54 7F ANL A, #7Fh 0262: F5 34 MOV 34h, A 0264: E5 1F MOV A, xaxis_delta 0266: 03 RR A 0267: 44 80 ORL A, #80h 0269: F5 35 MOV 35h, A 026B: AE 34 MOV R6, 34h 026D: AF 35 MOV R7, 35h 026F: 12 02 E0 LCALL ADB_SEND_2BYTES 0272: 20 30 08 JB 26h.0, 027Dh 0275: C2 21 CLR 24h.1 0277: 75 1F 00 MOV xaxis_delta, #00h 027A: 75 1E 00 MOV yaxis_delta, #00h 027D: 21 46 AJMP ADB_ISR_EXIT ; ; TB_TALK_R1 (0x027F) - Trackball Talk Register 1 ; Returns 0xFFFF (unused register). TB_TALK_R1: 027F: AE 36 MOV R6, 36h 0281: AF 37 MOV R7, 37h 0283: 12 02 E0 LCALL ADB_SEND_2BYTES 0286: 21 46 AJMP ADB_ISR_EXIT ; ; TB_TALK_R2 (0x0288) - Trackball Talk Register 2 ; Returns trackball configuration / button state. TB_TALK_R2: 0288: AE 2C MOV R6, kbd_reg2_hi 028A: AF 2D MOV R7, kbd_reg2_lo 028C: 12 02 E0 LCALL ADB_SEND_2BYTES 028F: 21 46 AJMP ADB_ISR_EXIT ; ; TB_TALK_R3 (0x0291) - Trackball Talk Register 3 ; Returns trackball ADB address and handler ID. ; Byte 0: 0000 AAAA (address, default 0x03) ; Byte 1: handler ID (0x01 = extended mouse protocol) TB_TALK_R3: 0291: C2 20 CLR 24h.0 0293: AE 2E MOV R6, tb_adb_addr 0295: AF 2F MOV R7, tb_handler 0297: 12 02 E0 LCALL ADB_SEND_2BYTES 029A: 30 30 02 JNB 26h.0, 029Fh 029D: D2 20 SETB 24h.0 029F: 21 46 AJMP ADB_ISR_EXIT ; ; TB_LISTEN_R0 (0x02A1) - Trackball Listen Register 0 TB_LISTEN_R0: 02A1: 12 03 10 LCALL ADB_RECV_2BYTES 02A4: 21 46 AJMP ADB_ISR_EXIT ; ; TB_LISTEN_R1 (0x02A6) - Trackball Listen Register 1 TB_LISTEN_R1: 02A6: 12 03 10 LCALL ADB_RECV_2BYTES 02A9: 8F 37 MOV 37h, R7 02AB: 21 46 AJMP ADB_ISR_EXIT ; ; TB_LISTEN_R2 (0x02AD) - Trackball Listen Register 2 TB_LISTEN_R2: 02AD: 12 03 10 LCALL ADB_RECV_2BYTES 02B0: 8E 2C MOV kbd_reg2_hi, R6 02B2: 8F 2D MOV kbd_reg2_lo, R7 02B4: 21 46 AJMP ADB_ISR_EXIT ; ; TB_LISTEN_R3 (0x02B6) - Trackball Listen Register 3 ; Receives new ADB address from host. ; Updates tb_adb_addr (iRAM[0x2E]) with new address. TB_LISTEN_R3: 02B6: 12 03 10 LCALL ADB_RECV_2BYTES 02B9: EF MOV A, R7 02BA: 60 0B JZ 02C7h 02BC: 04 INC A 02BD: 60 12 JZ 02D1h 02BF: 04 INC A 02C0: 60 11 JZ 02D3h 02C2: 04 INC A 02C3: 60 0E JZ 02D3h 02C5: 21 46 AJMP ADB_ISR_EXIT 02C7: EE MOV A, R6 02C8: 54 3F ANL A, #3Fh 02CA: 53 2E C0 ANL tb_adb_addr, #C0h 02CD: 42 2E ORL tb_adb_addr, A 02CF: 21 46 AJMP ADB_ISR_EXIT 02D1: 21 46 AJMP ADB_ISR_EXIT 02D3: 20 20 08 JB 24h.0, 02DEh 02D6: EE MOV A, R6 02D7: 54 0F ANL A, #0Fh 02D9: 53 2E F0 ANL tb_adb_addr, #F0h 02DC: 42 2E ORL tb_adb_addr, A 02DE: 21 46 AJMP ADB_ISR_EXIT ; ; ------------------------------------------------------------ ; ADB TRANSMIT / RECEIVE SUBROUTINES (0x02E0-0x0362) ; ------------------------------------------------------------ ; ; ADB_SEND_2BYTES (0x02E0) ; Transmits a 2-byte ADB response to the host. ; Protocol: ; 1. Wait for ADB line to be high (stop-to-start time) ; 2. Issue start bit: drive low ~70us, release ~35us ; 3. Call ADB_SEND_BYTE for first byte ; 4. Call ADB_SEND_BYTE for second byte ; 5. Release line (stop bit) ADB_SEND_2BYTES: 02E0: 30 B3 FD JNB P3.3/INT1, ADB_SEND_2BYTES 02E3: 78 50 MOV R0, #50h 02E5: D8 FE DJNZ R0, 02E5h 02E7: 20 B3 03 JB P3.3/INT1, 02EDh 02EA: D2 30 SETB 26h.0 02EC: 22 RET 02ED: C2 B3 CLR P3.3/INT1 02EF: 78 11 MOV R0, #11h 02F1: D8 FE DJNZ R0, 02F1h 02F3: D2 B3 SETB P3.3/INT1 02F5: 78 1B MOV R0, #1Bh 02F7: D8 FE DJNZ R0, 02F7h 02F9: EE MOV A, R6 02FA: 12 03 39 LCALL ADB_SEND_BYTE 02FD: 20 30 0F JB 26h.0, 030Fh 0300: EF MOV A, R7 0301: 12 03 39 LCALL ADB_SEND_BYTE 0304: 20 30 08 JB 26h.0, 030Fh 0307: C2 B3 CLR P3.3/INT1 0309: 78 20 MOV R0, #20h 030B: D8 FE DJNZ R0, 030Bh 030D: D2 B3 SETB P3.3/INT1 030F: 22 RET ; ; ADB_RECV_2BYTES (0x0310) ; Receives 2 bytes from host (used during Listen commands). ; Calls ADB_RECV_BYTE twice. ; Results stored in iRAM locations checked by caller. ADB_RECV_2BYTES: 0310: 30 B3 FD JNB P3.3/INT1, ADB_RECV_2BYTES 0313: 20 B3 FD JB P3.3/INT1, 0313h 0316: 30 B3 FD JNB P3.3/INT1, 0316h 0319: 71 23 ACALL ADB_RECV_BYTE 031B: FE MOV R6, A 031C: 71 23 ACALL ADB_RECV_BYTE 031E: FF MOV R7, A 031F: 20 B3 FD JB P3.3/INT1, 031Fh 0322: 22 RET ; ; ADB_RECV_BYTE (0x0323) ; Receives one byte (8 bits, MSB first) from ADB line. ; For each bit: ; - Wait for falling edge (start of bit cell) ; - Delay ~50us (sample point between bit-0 and bit-1 thresholds) ; - Sample P3.3: low=0, high=1 ; Returns received byte in A. ADB_RECV_BYTE: 0323: E4 CLR A 0324: 7A 08 MOV R2, #08h 0326: 20 B3 FD JB P3.3/INT1, 0326h 0329: 23 RL A 032A: 78 18 MOV R0, #18h 032C: D8 FE DJNZ R0, 032Ch 032E: 30 B3 02 JNB P3.3/INT1, 0333h 0331: 44 01 ORL A, #01h 0333: 30 B3 FD JNB P3.3/INT1, 0333h 0336: DA EE DJNZ R2, 0326h 0338: 22 RET ; ; ADB_SEND_BYTE (0x0339) ; Sends one byte (8 bits, MSB first) on ADB line. ; For each bit: ; Logic 0: CLR P3.3 (drive low) ~65us, SETB P3.3 (release) ~35us ; Logic 1: CLR P3.3 (drive low) ~35us, SETB P3.3 (release) ~65us ; Uses RLC A to shift bits out MSB first. ; Timings implemented via DJNZ delay loops. ADB_SEND_BYTE: 0339: C2 30 CLR 26h.0 033B: 7A 08 MOV R2, #08h 033D: 33 RLC A 033E: 40 0E JC 034Eh 0340: C2 B3 CLR P3.3/INT1 0342: 78 20 MOV R0, #20h 0344: D8 FE DJNZ R0, 0344h 0346: D2 B3 SETB P3.3/INT1 0348: 78 0C MOV R0, #0Ch 034A: D8 FE DJNZ R0, 034Ah 034C: 80 0C SJMP 035Ah 034E: C2 B3 CLR P3.3/INT1 0350: 78 11 MOV R0, #11h 0352: D8 FE DJNZ R0, 0352h 0354: D2 B3 SETB P3.3/INT1 0356: 78 1B MOV R0, #1Bh 0358: D8 FE DJNZ R0, 0358h 035A: 30 B3 03 JNB P3.3/INT1, 0360h 035D: DA DE DJNZ R2, 033Dh 035F: 22 RET 0360: D2 30 SETB 26h.0 0362: 22 RET ; ; ------------------------------------------------------------ ; ADB COMMAND JUMP TABLES (0x0363-0x03A2) ; ------------------------------------------------------------ ; Each table: 16 AJMP entries (2 bytes each = 32 bytes per table). ; Indexed by command nibble (bits[3:0] of received command byte). ; Index mapping: ; 0x0: Bus Reset (device) 0x1: Flush ; 0x2-0x3: (reserved->NOP) 0x4: Listen Reg 0 ; 0x5: Listen Reg 1 0x6: Listen Reg 2 ; 0x7: Listen Reg 3 0x8-0xB: (reserved->NOP) ; 0xC: Talk Reg 0 0xD: Talk Reg 1 ; 0xE: Talk Reg 2 0xF: Talk Reg 3 ; ; KBD_JUMP_TBL (0x0363) - Keyboard command dispatch: KBD_JUMP_TBL: 0363: 21 99 AJMP ADB_CMD_UNUSED 0365: 21 9B AJMP KBD_FLUSH 0367: 21 99 AJMP ADB_CMD_UNUSED 0369: 21 99 AJMP ADB_CMD_UNUSED 036B: 21 99 AJMP ADB_CMD_UNUSED 036D: 21 99 AJMP ADB_CMD_UNUSED 036F: 21 99 AJMP ADB_CMD_UNUSED 0371: 21 99 AJMP ADB_CMD_UNUSED 0373: 21 D7 AJMP KBD_LISTEN_R0 0375: 21 FA AJMP KBD_LISTEN_R1 0377: 41 01 AJMP KBD_LISTEN_R2 0379: 41 11 AJMP KBD_LISTEN_R3 037B: 21 A0 AJMP KBD_TALK_R0 037D: 21 B5 AJMP KBD_TALK_R1 037F: 21 BE AJMP KBD_TALK_R2 0381: 21 C7 AJMP KBD_TALK_R3 ; ; TB_JUMP_TBL (0x0383) - Trackball command dispatch: TB_JUMP_TBL: 0383: 41 47 AJMP TB_CMD_UNUSED 0385: 41 49 AJMP TB_FLUSH 0387: 41 47 AJMP TB_CMD_UNUSED 0389: 41 47 AJMP TB_CMD_UNUSED 038B: 41 47 AJMP TB_CMD_UNUSED 038D: 41 47 AJMP TB_CMD_UNUSED 038F: 41 47 AJMP TB_CMD_UNUSED 0391: 41 47 AJMP TB_CMD_UNUSED 0393: 41 A1 AJMP TB_LISTEN_R0 0395: 41 A6 AJMP TB_LISTEN_R1 0397: 41 AD AJMP TB_LISTEN_R2 0399: 41 B6 AJMP TB_LISTEN_R3 039B: 41 4E AJMP TB_TALK_R0 039D: 41 7F AJMP TB_TALK_R1 039F: 41 88 AJMP TB_TALK_R2 03A1: 41 91 AJMP TB_TALK_R3 ; ; ------------------------------------------------------------ ; MAIN LOOP (0x03A3) ; ------------------------------------------------------------ ; Runs continuously after initialization completes. ; Each iteration performs: ; 1. Read P1 for current trackball quadrature + button state ; 2. Debounce: re-read P1 and confirm stable ; 3. If trackball motion (P1 changed): call DECODE_XAXIS/YAXIS ; 4. Call FULL_KBD_SCAN (via MOVX_SCAN_STUB): ; Reads all 10 columns into scan_col[0..9] ; 5. Call SCAN_8KEYS: check 8 special/modifier key positions ; 6. Call PROC_SPECIAL: process pending special key events ; 7. Call ADB_KEY_PIPELINE: generate key-down/up ADB codes ; 8. Call TB_BUTTONS_CAPS: handle buttons + Caps Lock ; 9. Loop back to step 1 ; ------------------------------------------------------------ MAIN_LOOP: 03A3: 30 75 27 JNB tb_adb_addr.5, MAIN_LOOP_WORK 03A6: 7F 64 MOV R7, #64h 03A8: E5 90 MOV A, P1 03AA: 78 32 MOV R0, #32h 03AC: D8 FE DJNZ R0, 03ACh 03AE: B5 90 F7 CJNE A, P1, 03A8h 03B1: C5 1C XCH A, 1Ch 03B3: C5 1D XCH A, 1Dh 03B5: 65 1C XRL A, 1Ch 03B7: 54 7F ANL A, #7Fh 03B9: 60 0E JZ 03C9h 03BB: D2 21 SETB 24h.1 03BD: 54 78 ANL A, #78h 03BF: 60 08 JZ 03C9h 03C1: 12 06 41 LCALL DECODE_XAXIS 03C4: 12 06 5E LCALL DECODE_YAXIS 03C7: 7F 64 MOV R7, #64h 03C9: DF DD DJNZ R7, 03A8h 03CB: 61 CD AJMP MAIN_LOOP_WORK MAIN_LOOP_WORK: 03CD: 30 55 D3 JNB kbd_adb_addr.5, MAIN_LOOP 03D0: 12 0F 20 LCALL MOVX_SCAN_STUB 03D3: 12 03 DE LCALL SCAN_8KEYS 03D6: 12 04 15 LCALL PROC_SPECIAL 03D9: 12 04 2A LCALL 042Ah 03DC: 61 A3 AJMP MAIN_LOOP ; ; ------------------------------------------------------------ ; SCAN_8KEYS (0x03DE) ; Reads 8 specific keyboard matrix positions for modifier/special keys. ; These include Command, Option, Shift (L), Shift (R), Control, ; Delete, Tab, and similar keys that need fast debounce. ; Performs MOVX reads at specific column/row addresses. ; Stores results in sec_key_pend (0x4A) and pri_key_pend (0x4D). ; ------------------------------------------------------------ SCAN_8KEYS: 03DE: 7C 07 MOV R4, #07h 03E0: AD 22 MOV R5, 22h 03E2: 7E 80 MOV R6, #80h 03E4: 90 04 BF MOV DPTR, #04BFh 03E7: EC MOV A, R4 03E8: 93 MOVC A, @A+DPTR 03E9: F8 MOV R0, A 03EA: 90 04 C6 MOV DPTR, #04C6h 03ED: EC MOV A, R4 03EE: 93 MOVC A, @A+DPTR 03EF: 56 ANL A, @R0 03F0: 60 08 JZ 03FAh 03F2: EE MOV A, R6 03F3: 5D ANL A, R5 03F4: 70 19 JNZ 040Fh 03F6: D2 2A SETB 25h.2 03F8: 80 06 SJMP 0400h 03FA: EE MOV A, R6 03FB: 5D ANL A, R5 03FC: 60 11 JZ 040Fh 03FE: C2 2A CLR 25h.2 0400: E5 22 MOV A, 22h 0402: 6E XRL A, R6 0403: F5 22 MOV 22h, A 0405: 90 04 B8 MOV DPTR, #04B8h 0408: EC MOV A, R4 0409: 93 MOVC A, @A+DPTR 040A: F5 23 MOV 23h, A 040C: 12 04 CE LCALL ADB_KEY_PIPELINE 040F: EE MOV A, R6 0410: 03 RR A 0411: FE MOV R6, A 0412: DC D0 DJNZ R4, 03E4h 0414: 22 RET ; ; ------------------------------------------------------------ ; PROC_SPECIAL (0x0415) ; Processes pending events from SCAN_8KEYS. ; Compares new scan result against previous state for each of the ; 8 secondary keys. On transition: ; Key-down: enqueue keycode via FIFO_ENQUEUE ; Key-up: enqueue keycode | 0x80 via FIFO_ENQUEUE ; Uses SEC_KEYCODE_TBL, SEC_IRAM_TBL, SEC_BITMASK_TBL for lookup. ; ------------------------------------------------------------ PROC_SPECIAL: 0415: 79 4D MOV R1, #4Dh 0417: 74 7F MOV A, #7Fh 0419: 67 XRL A, @R1 041A: 60 03 JZ 041Fh 041C: 12 04 88 LCALL 0488h 041F: 79 4A MOV R1, #4Ah 0421: 74 7F MOV A, #7Fh 0423: 67 XRL A, @R1 0424: 60 03 JZ 0429h 0426: 12 04 88 LCALL 0488h 0429: 22 RET 042A: 79 50 MOV R1, #50h 042C: 7F 0A MOV R7, #0Ah 042E: E7 MOV A, @R1 042F: B4 FF 02 CJNE A, #FFh, 0434h 0432: 80 30 SJMP 0464h 0434: FC MOV R4, A 0435: 7E 08 MOV R6, #08h 0437: 7D 80 MOV R5, #80h 0439: EC MOV A, R4 043A: 5D ANL A, R5 043B: 70 22 JNZ 045Fh 043D: 12 04 9E LCALL 049Eh 0440: 12 04 AA LCALL 04AAh 0443: 60 1A JZ 045Fh 0445: E5 4D MOV A, pri_key_pend 0447: 65 23 XRL A, 23h 0449: 60 14 JZ 045Fh 044B: E5 4A MOV A, sec_key_pend 044D: 65 23 XRL A, 23h 044F: 60 0E JZ 045Fh 0451: 78 4D MOV R0, #4Dh 0453: B6 7F 02 CJNE @R0, #7Fh, 0458h 0456: 80 10 SJMP 0468h 0458: 78 4A MOV R0, #4Ah 045A: B6 7F 02 CJNE @R0, #7Fh, 045Fh 045D: 80 09 SJMP 0468h 045F: ED MOV A, R5 0460: 03 RR A 0461: FD MOV R5, A 0462: DE D5 DJNZ R6, 0439h 0464: 09 INC R1 0465: DF C7 DJNZ R7, 042Eh 0467: 22 RET 0468: A6 23 MOV @R0, 23h 046A: 08 INC R0 046B: E9 MOV A, R1 046C: F6 MOV @R0, A 046D: 08 INC R0 046E: ED MOV A, R5 046F: F6 MOV @R0, A 0470: 30 23 0F JNB 24h.3, 0482h 0473: C2 23 CLR 24h.3 0475: C2 24 CLR 24h.4 0477: C2 25 CLR 24h.5 0479: C2 26 CLR 24h.6 047B: D2 B4 SETB P3.4/T0 047D: D2 21 SETB 24h.1 047F: 20 21 FD JB 24h.1, 047Fh 0482: C2 2A CLR 25h.2 0484: 12 04 CE LCALL ADB_KEY_PIPELINE 0487: 22 RET 0488: 09 INC R1 0489: E7 MOV A, @R1 048A: F8 MOV R0, A 048B: E6 MOV A, @R0 048C: 09 INC R1 048D: 57 ANL A, @R1 048E: 70 01 JNZ 0491h 0490: 22 RET 0491: 19 DEC R1 0492: 19 DEC R1 0493: 74 7F MOV A, #7Fh 0495: C7 XCH A, @R1 0496: F5 23 MOV 23h, A 0498: D2 2A SETB 25h.2 049A: 12 04 CE LCALL ADB_KEY_PIPELINE 049D: 22 RET 049E: EF MOV A, R7 049F: 14 DEC A 04A0: 23 RL A 04A1: 23 RL A 04A2: 23 RL A 04A3: FA MOV R2, A 04A4: EE MOV A, R6 04A5: 14 DEC A 04A6: 4A ORL A, R2 04A7: F5 23 MOV 23h, A 04A9: 22 RET 04AA: 90 04 B8 MOV DPTR, #04B8h 04AD: 7A 07 MOV R2, #07h 04AF: EA MOV A, R2 04B0: 93 MOVC A, @A+DPTR 04B1: 65 23 XRL A, 23h 04B3: 70 01 JNZ 04B6h 04B5: 22 RET 04B6: DA F7 DJNZ R2, 04AFh ; ; ------------------------------------------------------------ ; SECONDARY KEY LOOKUP TABLES (0x04B8-0x04CE) ; Three parallel 8-byte tables for 8 secondary (modifier) keys. ; ------------------------------------------------------------ ; ; SEC_KEYCODE_TBL (0x04B8): ADB keycode for each secondary key SEC_KEYCODE_TBL: 04B8: DB 22h, 0Ch, 44h, 04h, 1Ch, 4Ch, 14h, 36h ; ".D..L.6 ; ; SEC_IRAM_TBL (0x04C0): iRAM byte address holding this key's state SEC_IRAM_TBL: 04C0: DB 58h, 51h, 59h, 56h, 50h, 57h, 53h, 10h ; XQYVPWS. ; ; SEC_BITMASK_TBL (0x04C8): bit mask within the iRAM state byte SEC_BITMASK_TBL: 04C8: DB 10h, 10h, 10h, 10h, 10h, 40h ; .....@ ; ; ------------------------------------------------------------ ; ADB_KEY_PIPELINE (0x04CE) ; Main keyboard event generation loop. ; Compares current scan_col[0..9] with previous scan values. ; For each changed bit in any column: ; 1. Compute matrix index = col*8 + row_bit_position ; 2. Look up ADB keycode in ADB_KEYCODE_TBL via MOVC ; 3. For key-up: OR keycode with 0x80 ; 4. Call FIFO_ENQUEUE to add to key event queue ; Previous scan data stored in iRAM above scan_col[] area. ; ------------------------------------------------------------ ADB_KEY_PIPELINE: 04CE: 20 3E 05 JB kbd_scan_cfg.6, 04D6h 04D1: 12 05 13 LCALL 0513h 04D4: 60 1F JZ 04F5h 04D6: 12 05 6D LCALL 056Dh 04D9: 60 1A JZ 04F5h 04DB: 12 05 95 LCALL 0595h 04DE: 12 05 25 LCALL 0525h 04E1: 12 05 3B LCALL 053Bh 04E4: 90 06 8C MOV DPTR, #068Ch 04E7: E5 23 MOV A, 23h 04E9: 93 MOVC A, @A+DPTR 04EA: 20 E7 09 JB E7h, 04F6h 04ED: 30 2A 02 JNB 25h.2, 04F2h 04F0: D2 E7 SETB E7h 04F2: 12 0F 3B LCALL FIFO_ENQUEUE 04F5: 22 RET 04F6: C2 E7 CLR E7h 04F8: 90 06 E7 MOV DPTR, #06E7h 04FB: FA MOV R2, A 04FC: 93 MOVC A, @A+DPTR 04FD: 14 DEC A 04FE: FB MOV R3, A 04FF: A3 INC DPTR 0500: EA MOV A, R2 0501: 93 MOVC A, @A+DPTR 0502: 30 2A 02 JNB 25h.2, 0507h 0505: D2 E7 SETB E7h 0507: 12 0F 3B LCALL FIFO_ENQUEUE 050A: DB F3 DJNZ R3, 04FFh 050C: A3 INC DPTR 050D: EA MOV A, R2 050E: 93 MOVC A, @A+DPTR 050F: 12 0F 3B LCALL FIFO_ENQUEUE 0512: 22 RET 0513: E5 23 MOV A, 23h 0515: B4 14 08 CJNE A, #14h, 0520h 0518: 20 2A 08 JB 25h.2, 0523h 051B: 20 49 02 JB col_select.1, 0520h 051E: D2 2A SETB 25h.2 0520: 74 FF MOV A, #FFh 0522: 22 RET 0523: E4 CLR A 0524: 22 RET 0525: 20 3D 12 JB kbd_scan_cfg.5, 053Ah 0528: 20 42 0F JB 28h.2, 053Ah 052B: E5 23 MOV A, 23h 052D: B4 3B 04 CJNE A, #3Bh, 0534h 0530: 75 23 53 MOV 23h, #53h 0533: 22 RET 0534: B4 4B 03 CJNE A, #4Bh, 053Ah 0537: 75 23 54 MOV 23h, #54h 053A: 22 RET 053B: 30 3B 2E JNB kbd_scan_cfg.3, 056Ch 053E: 20 43 2B JB 28h.3, 056Ch 0541: E5 23 MOV A, 23h 0543: B4 34 04 CJNE A, #34h, 054Ah 0546: 75 23 55 MOV 23h, #55h 0549: 22 RET 054A: B4 3C 04 CJNE A, #3Ch, 0551h 054D: 75 23 56 MOV 23h, #56h 0550: 22 RET 0551: B4 4D 04 CJNE A, #4Dh, 0558h 0554: 75 23 57 MOV 23h, #57h 0557: 22 RET 0558: B4 10 04 CJNE A, #10h, 055Fh 055B: 75 23 58 MOV 23h, #58h 055E: 22 RET 055F: B4 24 04 CJNE A, #24h, 0566h 0562: 75 23 59 MOV 23h, #59h 0565: 22 RET 0566: B4 2C 03 CJNE A, #2Ch, 056Ch 0569: 75 23 5A MOV 23h, #5Ah 056C: 22 RET 056D: 30 2A 1C JNB 25h.2, 058Ch 0570: 90 05 8E MOV DPTR, #058Eh 0573: 7B 02 MOV R3, #02h 0575: EB MOV A, R3 0576: 93 MOVC A, @A+DPTR 0577: B5 23 10 CJNE A, 23h, 058Ah 057A: 90 05 90 MOV DPTR, #0590h 057D: EB MOV A, R3 057E: 93 MOVC A, @A+DPTR 057F: F8 MOV R0, A 0580: 90 05 92 MOV DPTR, #0592h 0583: EB MOV A, R3 0584: 93 MOVC A, @A+DPTR 0585: 56 ANL A, @R0 0586: 70 04 JNZ 058Ch 0588: E4 CLR A 0589: 22 RET 058A: DB E9 DJNZ R3, 0575h 058C: 74 FF MOV A, #FFh 058E: 22 RET 058F: 0C INC R4 0590: 4C ORL A, R4 0591: 50 58 JNC 05EBh 0593: 10 10 7B JBC 22h.0, 0611h 0596: 09 INC R1 0597: 90 05 C0 MOV DPTR, #05C0h 059A: EB MOV A, R3 059B: 93 MOVC A, @A+DPTR 059C: B5 23 1F CJNE A, 23h, 05BEh 059F: 90 05 C9 MOV DPTR, #05C9h 05A2: EB MOV A, R3 05A3: 93 MOVC A, @A+DPTR 05A4: 20 2A 05 JB 25h.2, 05ACh 05A7: F4 CPL A 05A8: 52 28 ANL 28h, A 05AA: 80 02 SJMP 05AEh 05AC: 42 28 ORL 28h, A 05AE: 90 05 D2 MOV DPTR, #05D2h 05B1: EB MOV A, R3 05B2: 93 MOVC A, @A+DPTR 05B3: 20 2A 05 JB 25h.2, 05BBh 05B6: F4 CPL A 05B7: 52 29 ANL col_select, A 05B9: 80 02 SJMP 05BDh 05BB: 42 29 ORL col_select, A 05BD: 22 RET 05BE: DB D7 DJNZ R3, 0597h 05C0: 22 RET 05C1: 14 DEC A 05C2: 36 ADDC A, @R0 05C3: 16 DEC @R0 05C4: 36 ADDC A, @R0 05C5: 04 INC A 05C6: 1C DEC R4 05C7: 44 0C ORL A, #0Ch 05C9: 4C ORL A, R4 05CA: 20 10 40 JB 22h.0, 060Dh 05CD: 00 NOP 05CE: 02 08 01 LJMP 0801h 05D1: 04 INC A 05D2: 04 INC A 05D3: 02 00 00 LJMP INT_RESET 05D6: 44 00 ORL A, #00h 05D8: 00 NOP 05D9: 00 NOP 05DA: 00 NOP 05DB: 00 NOP ; ; ------------------------------------------------------------ ; TB_BUTTONS_CAPS (0x05DC) ; Handles trackball buttons and Caps Lock key. ; P1.0 (button 1): generates ADB mouse button events ; P1.1 (button 2): generates ADB key event (mapped to some ADB code) ; P1.7 (Caps Lock key): detects mechanical latch state change ; P1.2 (Caps Lock LED): driven based on Caps Lock state ; Detects transitions (debounced) and enqueues appropriate ADB codes. ; Trackball button events go to trackball device (address 3). ; ------------------------------------------------------------ TB_BUTTONS_CAPS: 05DC: C2 22 CLR 24h.2 05DE: 30 90 37 JNB P1.0, 0618h 05E1: 30 38 08 JNB kbd_scan_cfg.0, 05ECh 05E4: 30 91 3E JNB P1.1, 0625h 05E7: 30 92 48 JNB P1.2, 0632h 05EA: 80 06 SJMP 05F2h 05EC: 30 92 36 JNB P1.2, 0625h 05EF: 30 91 40 JNB P1.1, 0632h 05F2: C2 24 CLR 24h.4 05F4: 30 23 03 JNB 24h.3, 05FAh 05F7: D2 22 SETB 24h.2 05F9: 22 RET 05FA: 30 26 09 JNB 24h.6, 0606h 05FD: 53 1D F8 ANL 1Dh, #F8h 0600: 75 19 07 MOV 19h, #07h 0603: C2 26 CLR 24h.6 0605: 22 RET 0606: 30 25 0E JNB 24h.5, 0617h 0609: 53 1D F8 ANL 1Dh, #F8h 060C: 15 19 DEC 19h 060E: A8 19 MOV R0, 19h 0610: B8 00 04 CJNE R0, #00h, 0617h 0613: C2 25 CLR 24h.5 0615: D2 22 SETB 24h.2 0617: 22 RET 0618: D2 B4 SETB P3.4/T0 061A: C2 23 CLR 24h.3 061C: C2 24 CLR 24h.4 061E: C2 25 CLR 24h.5 0620: C2 26 CLR 24h.6 0622: D2 22 SETB 24h.2 0624: 22 RET 0625: D2 B4 SETB P3.4/T0 0627: C2 23 CLR 24h.3 0629: C2 24 CLR 24h.4 062B: D2 26 SETB 24h.6 062D: D2 25 SETB 24h.5 062F: D2 22 SETB 24h.2 0631: 22 RET 0632: 20 24 06 JB 24h.4, 063Bh 0635: D2 24 SETB 24h.4 0637: B2 23 CPL 24h.3 0639: B2 B4 CPL P3.4/T0 063B: 30 23 02 JNB 24h.3, 0640h 063E: D2 22 SETB 24h.2 0640: 22 RET ; ; ------------------------------------------------------------ ; DECODE_XAXIS (0x0641) ; Decodes X-axis quadrature encoder signals. ; P1.3 = phase A (current) ; P1.4 = phase B (current) ; Constructs 4-bit index: {prev_B, prev_A, curr_B, curr_A} ; Table lookup in QUAD_DECODE_TBL gives delta: 0, +2, or -2. ; Accumulates into xaxis_delta (iRAM[0x1F]). ; (Values are +2/-2 so caller halves before packing into ADB byte) ; ------------------------------------------------------------ DECODE_XAXIS: 0641: E5 1D MOV A, 1Dh 0643: 54 18 ANL A, #18h 0645: C4 SWAP A 0646: 23 RL A 0647: F8 MOV R0, A 0648: E5 1C MOV A, 1Ch 064A: 54 18 ANL A, #18h 064C: 03 RR A 064D: 48 ORL A, R0 064E: C2 AF CLR IE.EA 0650: 90 06 7C MOV DPTR, #067Ch 0653: 93 MOVC A, @A+DPTR 0654: 25 1F ADD A, xaxis_delta 0656: 20 D2 02 JB PSW.OV, 065Bh 0659: F5 1F MOV xaxis_delta, A 065B: D2 AF SETB IE.EA 065D: 22 RET ; ; ------------------------------------------------------------ ; DECODE_YAXIS (0x065E) ; Decodes Y-axis quadrature encoder signals. ; P1.5 = phase A (current) ; P1.6 = phase B (current) ; Same logic as DECODE_XAXIS. ; Accumulates into yaxis_delta (iRAM[0x1E]). ; ------------------------------------------------------------ DECODE_YAXIS: 065E: E5 1D MOV A, 1Dh 0660: 54 60 ANL A, #60h 0662: C4 SWAP A 0663: 03 RR A 0664: F8 MOV R0, A 0665: E5 1C MOV A, 1Ch 0667: 54 60 ANL A, #60h 0669: C4 SWAP A 066A: 23 RL A 066B: 48 ORL A, R0 066C: C2 AF CLR IE.EA 066E: 90 06 7C MOV DPTR, #067Ch 0671: 93 MOVC A, @A+DPTR 0672: 25 1E ADD A, yaxis_delta 0674: 20 D2 02 JB PSW.OV, 0679h 0677: F5 1E MOV yaxis_delta, A 0679: D2 AF SETB IE.EA 067B: 22 RET ; ; ------------------------------------------------------------ ; QUAD_DECODE_TBL (0x067C) - 16 bytes ; Gray-code quadrature transition lookup table. ; Index bits [3:2] = previous {B, A}, bits [1:0] = current {B, A}. ; Table values: ; 0x00 = no motion (stationary or invalid/noisy transition) ; 0x02 = +1 count forward (stored as 2; halved to 1 by caller) ; 0xFE = -1 count reverse (two's complement -2; halved to -1) ; Gray-code sequence: 00->01->11->10->00 (forward) ; 00->10->11->01->00 (reverse) ; ------------------------------------------------------------ QUAD_DECODE_TBL: 067C: DB 00h, FEh, 02h, 00h, 02h, 00h, 00h, FEh ; ........ 0684: DB FEh, 00h, 00h, 02h, 00h, 02h, FEh, 00h ; ........ ; ; ------------------------------------------------------------ ; ADB_KEYCODE_TBL (0x068C) - 80 bytes (10 cols x 8 rows) ; Maps keyboard matrix position to ADB keycode. ; Index = column * 8 + row_bit (0=leftmost/bottom row) ; 0xFF indicates no key at that position. ; ; Partial keycode reference (ADB standard): ; 00h=A 01h=S 02h=D 03h=F 04h=H 05h=G ; 06h=Z 07h=X 08h=C 09h=V 0Bh=B 0Ch=Q ; 0Dh=W 0Eh=E 0Fh=R 10h=Y 11h=T 12h=1 ; 13h=2 14h=3 15h=4 16h=6 17h=5 18h== ; 19h=9 1Ah=7 1Bh=- 1Ch=8 1Dh=0 1Eh=] ; 1Fh=O 20h=U 21h=[ 22h=I 23h=P 24h=Return ; 25h=L 26h=J 27h=' 28h=K 29h=; 2Ah=\ ; 2Bh=, 2Ch=/ 2Dh=N 2Eh=M 2Fh=. 30h=Tab ; 31h=Space 32h=` 33h=Delete 35h=Esc 37h=Command ; 38h=Shift 39h=CapsLock 3Ah=Option 3Bh=Control ; 3Ch=RShift 3Dh=RAlt 3Eh=RCtrl ; 47h=Clear 4Ch=KP Enter 51h=KP= 52h=KP0 ... 5Fh=KP9 ; 60h=F5 61h=F6 62h=F7 63h=F3 64h=F8 65h=F9 ; 67h=F11 69h=F13 6Ah=F16 6Bh=F14 6Dh=F10 6Fh=F12 ; 71h=F15 72h=Help 73h=Home 74h=PgUp 75h=Del(fwd) ; 76h=F4 77h=End 78h=F2 79h=PgDn 7Ah=F1 ; 7Bh=Left 7Ch=Right 7Dh=Down 7Eh=Up ; ------------------------------------------------------------ ADB_KEYCODE_TBL: 068C: DB 01h, 0Dh, 13h, 07h, 3Ah, 21h, 1Bh, 65h ; ....:!.e 0694: DB 00h, 0Ch, 12h, 06h, 38h, 23h, 18h, 64h ; ....8#.d 069C: DB 3Dh, 30h, 32h, 31h, 39h, 1Dh, 33h, 62h ; =0219.3b 06A4: DB 02h, 0Eh, 14h, 08h, 36h, 1Eh, 6Dh, 61h ; ....6.ma 06AC: DB 05h, 11h, 17h, 0Bh, 4Ch, 24h, 6Fh, 7Ah ; ....L$oz 06B4: DB 04h, 10h, 16h, 2Dh, 2Ah, 27h, 67h, 35h ; ...-*'g5 06BC: DB 26h, 20h, 1Ah, 2Eh, 3Bh, 29h, 7Fh, 63h ; & ..;).c 06C4: DB 28h, 22h, 1Ch, 2Bh, 3Ch, 2Ch, 6Bh, 76h ; (".+<,kv 06CC: DB 03h, 0Fh, 15h, 09h, 37h, 47h, 69h, 78h ; ....7Gix 06D4: DB 25h, 1Fh, 19h, 2Fh, 38h, 3Eh, 71h, 60h ; %../8>q` 06DC: DB 7Bh, 7Ch, 7Dh, 80h ; {|}. ; ; ------------------------------------------------------------ ; EXT_KEYCODE_DATA (0x06E0) ; Additional extended key mapping data. ; Possibly keycodes for function keys (F1-F15), arrows, ; and keypad keys not covered by the main 80-entry table. ; ------------------------------------------------------------ EXT_KEYCODE_DATA: 06E0: DB 84h, 88h, 8Ch, 90h, 94h, 98h, 9Ch, 03h ; ........ 06E8: DB B8h, 2Bh, 38h, 03h, B8h, 2Fh, 38h, 03h ; .+8../8. 06F0: DB B6h, 73h, 36h, 03h, B6h, 77h, 36h, 03h ; .s6..w6. 06F8: DB B6h, 74h, 36h, 03h, B6h, 79h, 36h, 03h ; .t6..y6. 0700: DB B6h, 72h, 36h, 03h, B6h, 75h, 36h, FFh ; .r6..u6. 0708: DB FFh, FFh, FFh, FFh, FFh, FFh, FFh, FFh ; ........ ; ; ------------------------------------------------------------ ; UNUSED_ROM (0x0710-0x0F1F) - 0xE10 bytes ; Unused EPROM space, all 0xFF (erased state). ; Code resumes at 0x0F20. ; (Only first and last few bytes shown; all are 0xFF) ; ------------------------------------------------------------ UNUSED_ROM: 0710: DB FFh, FFh, FFh, FFh, FFh, FFh, FFh, FFh ; ........ 0718: DB FFh, FFh, FFh, FFh, FFh, FFh, FFh, FFh ; ........ ; ; ... 2032 more 0xFF bytes omitted ... ; 0F10: DB FFh, FFh, FFh, FFh, FFh, FFh, FFh, FFh ; ........ 0F18: DB FFh, FFh, FFh, FFh, FFh, FFh, FFh, FFh ; ........ ; ; ======================================================================== ; HIGH ROM SECTION (0x0F20-0x0FFF) ; ======================================================================== ; ; MOVX_SCAN_STUB (0x0F20) ; Short AJMP stubs; allow LCALL from low ROM to reach routines ; located at the top of the address space. ; The 80C31 uses AJMP for inter-page jumps within 2KB pages. ; ------------------------------------------------------------ MOVX_SCAN_STUB: 0F20: E1 8F AJMP FULL_KBD_SCAN INIT_MOVX_STUB: 0F22: E1 84 AJMP INIT_MOVX_READ ; ; ------------------------------------------------------------ ; COL_SELECT_OUT (0x0F24) ; Asserts the keyboard matrix column strobe for column col_select. ; col_select (iRAM[0x29]) holds current column index 0-9. ; For columns 0-7: looks up 3-bit pattern in COL_BIT_TBL, ; then drives P3.5/T1, P3.6/WR accordingly. ; P2 (high address byte) provides the primary column decode. ; ------------------------------------------------------------ COL_SELECT_OUT: 0F24: E5 29 MOV A, col_select 0F26: 54 07 ANL A, #07h 0F28: 90 0F 33 MOV DPTR, #0F33h 0F2B: 93 MOVC A, @A+DPTR 0F2C: F4 CPL A 0F2D: 43 B0 70 ORL P3, #70h 0F30: 52 B0 ANL P3, A 0F32: 22 RET ; ; ------------------------------------------------------------ ; COL_BIT_TBL (0x0F33) - 8 bytes ; P3 pin pattern for each of columns 0-7. ; Bits used: P3.5/T1 and P3.6/WR for extra column strobes. ; ------------------------------------------------------------ COL_BIT_TBL: 0F33: DB 60h, 60h, 40h, 40h, 20h, 20h, 00h, 00h ; ``@@ .. ; ; ------------------------------------------------------------ ; FIFO_ENQUEUE (0x0F3B) ; Appends a keycode to the ADB key FIFO. ; Input: A = ADB keycode to enqueue ; FIFO: iRAM[0x40 + fifo_count], max 9 entries. ; Silently discards new key if FIFO is full (fifo_count >= 9). ; Disables interrupts (CLR IE.EA) during FIFO update for atomicity. ; ------------------------------------------------------------ FIFO_ENQUEUE: 0F3B: F9 MOV R1, A 0F3C: E5 3F MOV A, fifo_count 0F3E: B4 09 01 CJNE A, #09h, 0F42h 0F41: 22 RET 0F42: 24 40 ADD A, #40h 0F44: F8 MOV R0, A 0F45: C2 AF CLR IE.EA 0F47: E9 MOV A, R1 0F48: F6 MOV @R0, A 0F49: 05 3F INC fifo_count 0F4B: D2 AF SETB IE.EA 0F4D: 22 RET ; ; ------------------------------------------------------------ ; FIFO_DEQUEUE (0x0F4E) ; Removes the oldest entry from the ADB key FIFO. ; Shifts fifo[1..8] down to fifo[0..7]. ; Decrements fifo_count. ; Called after a key has been successfully reported via Talk Reg 0. ; ------------------------------------------------------------ FIFO_DEQUEUE: 0F4E: E5 3F MOV A, fifo_count 0F50: 70 01 JNZ 0F53h 0F52: 22 RET 0F53: A8 40 MOV R0, fifo[0] 0F55: C2 AF CLR IE.EA 0F57: 85 41 40 MOV fifo[0], fifo[1] 0F5A: 85 42 41 MOV fifo[1], fifo[2] 0F5D: 85 43 42 MOV fifo[2], fifo[3] 0F60: 85 44 43 MOV fifo[3], fifo[4] 0F63: 85 45 44 MOV fifo[4], fifo[5] 0F66: 85 46 45 MOV fifo[5], fifo[6] 0F69: 85 47 46 MOV fifo[6], fifo[7] 0F6C: 85 48 47 MOV fifo[7], fifo[8] 0F6F: 85 49 48 MOV fifo[8], 49h 0F72: 15 3F DEC fifo_count 0F74: D2 AF SETB IE.EA 0F76: 44 FF ORL A, #FFh 0F78: 22 RET ; ; ------------------------------------------------------------ ; PAIR_TBL_LOADER (0x0F79) ; Generic ROM table -> iRAM loader for (address, value) pairs. ; Entry: DPTR = pointer to ROM pair table, R1 = number of pairs. ; Format: {iRAM_addr, value}, {iRAM_addr, value}, ... ; Reads each (addr, value) pair via MOVC A, @A+DPTR. ; Stores value at iRAM[addr] via MOV @R0, A. ; Loops exactly R1 times (count must be set by caller). ; Used during initialization to bulk-initialize iRAM variables. ; ------------------------------------------------------------ PAIR_TBL_LOADER: 0F79: E4 CLR A 0F7A: 93 MOVC A, @A+DPTR 0F7B: F8 MOV R0, A 0F7C: A3 INC DPTR 0F7D: E4 CLR A 0F7E: 93 MOVC A, @A+DPTR 0F7F: F6 MOV @R0, A 0F80: A3 INC DPTR 0F81: D9 F6 DJNZ R1, PAIR_TBL_LOADER 0F83: 22 RET ; ; ------------------------------------------------------------ ; INIT_MOVX_READ (0x0F84) ; Performs an initial MOVX read with all column strobes inactive. ; Clears P3.5/T1 (deassert column strobe), then MOVX @0xFFFF. ; Saves result to kbd_scan_cfg (iRAM[0x27]). ; Purpose: reads keyboard sense pins / configuration jumpers ; before matrix scanning begins. ; ------------------------------------------------------------ INIT_MOVX_READ: 0F84: C2 B4 CLR P3.4/T0 0F86: 90 FF FF MOV DPTR, #FFFFh 0F89: E0 MOVX A, @DPTR 0F8A: D2 B4 SETB P3.4/T0 0F8C: F5 27 MOV kbd_scan_cfg, A 0F8E: 22 RET ; ; ------------------------------------------------------------ ; FULL_KBD_SCAN (0x0F8F) ; Reads all 10 keyboard matrix columns via MOVX. ; For each column 0-9: ; 1. Store column index in col_select (iRAM[0x29]) ; 2. Call COL_SELECT_OUT to assert column strobe ; 3. MOVX A, @DPTR (DPTR encodes column address) ; P2 (addr high byte) selects column via external decoder ; P0 returns 8 row bits (0=key pressed, 1=key released) ; 4. Complement result (convert active-low to active-high) ; 5. Store in scan_col[col] (iRAM[0x50+col]) ; Also reads P1.7 (Caps Lock key) and drives Caps Lock LED (P1.2). ; Returns with scan_col[0..9] updated. ; ------------------------------------------------------------ FULL_KBD_SCAN: 0F8F: E5 B0 MOV A, P3 0F91: 44 8F ORL A, #8Fh 0F93: F5 21 MOV 21h, A 0F95: 79 50 MOV R1, #50h 0F97: 90 FF FF MOV DPTR, #FFFFh 0F9A: C2 AF CLR IE.EA 0F9C: 43 B0 70 ORL P3, #70h 0F9F: C2 B6 CLR P3.6/WR 0FA1: E0 MOVX A, @DPTR 0FA2: F7 MOV @R1, A 0FA3: D2 B6 SETB P3.6/WR 0FA5: E5 21 MOV A, 21h 0FA7: 52 B0 ANL P3, A 0FA9: D2 AF SETB IE.EA 0FAB: 09 INC R1 0FAC: C2 AF CLR IE.EA 0FAE: 43 B0 70 ORL P3, #70h 0FB1: C2 B5 CLR P3.5/T1 0FB3: E0 MOVX A, @DPTR 0FB4: F7 MOV @R1, A 0FB5: D2 B5 SETB P3.5/T1 0FB7: E5 21 MOV A, 21h 0FB9: 52 B0 ANL P3, A 0FBB: D2 AF SETB IE.EA 0FBD: 09 INC R1 0FBE: 90 7F FF MOV DPTR, #7FFFh 0FC1: 7F 08 MOV R7, #08h 0FC3: 43 B0 70 ORL P3, #70h 0FC6: E0 MOVX A, @DPTR 0FC7: F7 MOV @R1, A 0FC8: E5 21 MOV A, 21h 0FCA: 52 B0 ANL P3, A 0FCC: 09 INC R1 0FCD: E5 83 MOV A, DPH 0FCF: 03 RR A 0FD0: F5 83 MOV DPH, A 0FD2: DF EF DJNZ R7, 0FC3h 0FD4: 90 FF FF MOV DPTR, #FFFFh 0FD7: E5 53 MOV A, scan_col[3] 0FD9: 20 97 04 JB P1.7, 0FE0h 0FDC: 54 BF ANL A, #BFh 0FDE: 80 02 SJMP 0FE2h 0FE0: 44 40 ORL A, #40h 0FE2: F5 53 MOV scan_col[3], A 0FE4: 22 RET 0FE5: FF MOV R7, A 0FE6: FF MOV R7, A 0FE7: FF MOV R7, A 0FE8: FF MOV R7, A 0FE9: FF MOV R7, A 0FEA: FF MOV R7, A 0FEB: FF MOV R7, A 0FEC: FF MOV R7, A 0FED: FF MOV R7, A 0FEE: FF MOV R7, A 0FEF: FF MOV R7, A 0FF0: FF MOV R7, A 0FF1: FF MOV R7, A 0FF2: FF MOV R7, A 0FF3: FF MOV R7, A 0FF4: FF MOV R7, A 0FF5: FF MOV R7, A 0FF6: FF MOV R7, A 0FF7: FF MOV R7, A 0FF8: FF MOV R7, A 0FF9: FF MOV R7, A 0FFA: FF MOV R7, A 0FFB: FF MOV R7, A 0FFC: FF MOV R7, A 0FFD: FF MOV R7, A 0FFE: FF MOV R7, A 0FFF: FF MOV R7, A 1000: FF MOV R7, A 1001: FF MOV R7, A 1002: FF MOV R7, A 1003: FF MOV R7, A 1004: FF MOV R7, A 1005: FF MOV R7, A 1006: FF MOV R7, A 1007: FF MOV R7, A 1008: FF MOV R7, A 1009: FF MOV R7, A 100A: FF MOV R7, A 100B: FF MOV R7, A 100C: FF MOV R7, A 100D: FF MOV R7, A 100E: FF MOV R7, A 100F: FF MOV R7, A 1010: FF MOV R7, A 1011: FF MOV R7, A 1012: FF MOV R7, A 1013: FF MOV R7, A 1014: FF MOV R7, A 1015: FF MOV R7, A 1016: FF MOV R7, A 1017: FF MOV R7, A 1018: FF MOV R7, A 1019: FF MOV R7, A 101A: FF MOV R7, A 101B: FF MOV R7, A 101C: FF MOV R7, A 101D: FF MOV R7, A 101E: FF MOV R7, A 101F: FF MOV R7, A 1020: FF MOV R7, A 1021: FF MOV R7, A 1022: FF MOV R7, A 1023: FF MOV R7, A 1024: FF MOV R7, A 1025: FF MOV R7, A 1026: FF MOV R7, A 1027: FF MOV R7, A 1028: FF MOV R7, A 1029: FF MOV R7, A 102A: FF MOV R7, A 102B: FF MOV R7, A 102C: FF MOV R7, A 102D: FF MOV R7, A 102E: FF MOV R7, A 102F: FF MOV R7, A 1030: FF MOV R7, A 1031: FF MOV R7, A 1032: FF MOV R7, A 1033: FF MOV R7, A 1034: FF MOV R7, A 1035: FF MOV R7, A 1036: FF MOV R7, A 1037: FF MOV R7, A 1038: FF MOV R7, A 1039: FF MOV R7, A 103A: FF MOV R7, A 103B: FF MOV R7, A 103C: FF MOV R7, A 103D: FF MOV R7, A 103E: FF MOV R7, A 103F: FF MOV R7, A 1040: FF MOV R7, A 1041: FF MOV R7, A 1042: FF MOV R7, A 1043: FF MOV R7, A 1044: FF MOV R7, A 1045: FF MOV R7, A 1046: FF MOV R7, A 1047: FF MOV R7, A 1048: FF MOV R7, A 1049: FF MOV R7, A 104A: FF MOV R7, A 104B: FF MOV R7, A 104C: FF MOV R7, A 104D: FF MOV R7, A 104E: FF MOV R7, A 104F: FF MOV R7, A 1050: FF MOV R7, A 1051: FF MOV R7, A 1052: FF MOV R7, A 1053: FF MOV R7, A 1054: FF MOV R7, A 1055: FF MOV R7, A 1056: FF MOV R7, A 1057: FF MOV R7, A 1058: FF MOV R7, A 1059: FF MOV R7, A 105A: FF MOV R7, A 105B: FF MOV R7, A 105C: FF MOV R7, A 105D: FF MOV R7, A 105E: FF MOV R7, A 105F: FF MOV R7, A 1060: FF MOV R7, A 1061: FF MOV R7, A 1062: FF MOV R7, A 1063: FF MOV R7, A 1064: FF MOV R7, A 1065: FF MOV R7, A 1066: FF MOV R7, A 1067: FF MOV R7, A 1068: FF MOV R7, A 1069: FF MOV R7, A 106A: FF MOV R7, A 106B: FF MOV R7, A 106C: FF MOV R7, A 106D: FF MOV R7, A 106E: FF MOV R7, A 106F: FF MOV R7, A 1070: FF MOV R7, A 1071: FF MOV R7, A 1072: FF MOV R7, A 1073: FF MOV R7, A 1074: FF MOV R7, A 1075: FF MOV R7, A 1076: FF MOV R7, A 1077: FF MOV R7, A 1078: FF MOV R7, A 1079: FF MOV R7, A 107A: FF MOV R7, A 107B: FF MOV R7, A 107C: FF MOV R7, A 107D: FF MOV R7, A 107E: FF MOV R7, A 107F: FF MOV R7, A 1080: FF MOV R7, A 1081: FF MOV R7, A 1082: FF MOV R7, A 1083: FF MOV R7, A 1084: FF MOV R7, A 1085: FF MOV R7, A 1086: FF MOV R7, A 1087: FF MOV R7, A 1088: FF MOV R7, A 1089: FF MOV R7, A 108A: FF MOV R7, A 108B: FF MOV R7, A 108C: FF MOV R7, A 108D: FF MOV R7, A 108E: FF MOV R7, A 108F: FF MOV R7, A 1090: FF MOV R7, A 1091: FF MOV R7, A 1092: FF MOV R7, A 1093: FF MOV R7, A 1094: FF MOV R7, A 1095: FF MOV R7, A 1096: FF MOV R7, A 1097: FF MOV R7, A 1098: FF MOV R7, A 1099: FF MOV R7, A 109A: FF MOV R7, A 109B: FF MOV R7, A 109C: FF MOV R7, A 109D: FF MOV R7, A 109E: FF MOV R7, A 109F: FF MOV R7, A 10A0: FF MOV R7, A 10A1: FF MOV R7, A 10A2: FF MOV R7, A 10A3: FF MOV R7, A 10A4: FF MOV R7, A 10A5: FF MOV R7, A 10A6: FF MOV R7, A 10A7: FF MOV R7, A 10A8: FF MOV R7, A 10A9: FF MOV R7, A 10AA: FF MOV R7, A 10AB: FF MOV R7, A 10AC: FF MOV R7, A 10AD: FF MOV R7, A 10AE: FF MOV R7, A 10AF: FF MOV R7, A 10B0: FF MOV R7, A 10B1: FF MOV R7, A 10B2: FF MOV R7, A 10B3: FF MOV R7, A 10B4: FF MOV R7, A 10B5: FF MOV R7, A 10B6: FF MOV R7, A 10B7: FF MOV R7, A 10B8: FF MOV R7, A 10B9: FF MOV R7, A 10BA: FF MOV R7, A 10BB: FF MOV R7, A 10BC: FF MOV R7, A 10BD: FF MOV R7, A 10BE: FF MOV R7, A 10BF: FF MOV R7, A 10C0: FF MOV R7, A 10C1: FF MOV R7, A 10C2: FF MOV R7, A 10C3: FF MOV R7, A 10C4: FF MOV R7, A 10C5: FF MOV R7, A 10C6: FF MOV R7, A 10C7: FF MOV R7, A 10C8: FF MOV R7, A 10C9: FF MOV R7, A 10CA: FF MOV R7, A 10CB: FF MOV R7, A 10CC: FF MOV R7, A 10CD: FF MOV R7, A 10CE: FF MOV R7, A 10CF: FF MOV R7, A 10D0: FF MOV R7, A 10D1: FF MOV R7, A 10D2: FF MOV R7, A 10D3: FF MOV R7, A 10D4: FF MOV R7, A 10D5: FF MOV R7, A 10D6: FF MOV R7, A 10D7: FF MOV R7, A 10D8: FF MOV R7, A 10D9: FF MOV R7, A 10DA: FF MOV R7, A 10DB: FF MOV R7, A 10DC: FF MOV R7, A 10DD: FF MOV R7, A 10DE: FF MOV R7, A 10DF: FF MOV R7, A 10E0: FF MOV R7, A 10E1: FF MOV R7, A 10E2: FF MOV R7, A 10E3: FF MOV R7, A 10E4: FF MOV R7, A 10E5: FF MOV R7, A 10E6: FF MOV R7, A 10E7: FF MOV R7, A 10E8: FF MOV R7, A 10E9: FF MOV R7, A 10EA: FF MOV R7, A 10EB: FF MOV R7, A 10EC: FF MOV R7, A 10ED: FF MOV R7, A 10EE: FF MOV R7, A 10EF: FF MOV R7, A 10F0: FF MOV R7, A 10F1: FF MOV R7, A 10F2: FF MOV R7, A 10F3: FF MOV R7, A 10F4: FF MOV R7, A 10F5: FF MOV R7, A 10F6: FF MOV R7, A 10F7: FF MOV R7, A 10F8: FF MOV R7, A 10F9: FF MOV R7, A 10FA: FF MOV R7, A 10FB: FF MOV R7, A 10FC: FF MOV R7, A 10FD: FF MOV R7, A 10FE: FF MOV R7, A 10FF: FF MOV R7, A 1100: FF MOV R7, A 1101: FF MOV R7, A 1102: FF MOV R7, A 1103: FF MOV R7, A 1104: FF MOV R7, A 1105: FF MOV R7, A 1106: FF MOV R7, A 1107: FF MOV R7, A 1108: FF MOV R7, A 1109: FF MOV R7, A 110A: FF MOV R7, A 110B: FF MOV R7, A 110C: FF MOV R7, A 110D: FF MOV R7, A 110E: FF MOV R7, A 110F: FF MOV R7, A 1110: FF MOV R7, A 1111: FF MOV R7, A 1112: FF MOV R7, A 1113: FF MOV R7, A 1114: FF MOV R7, A 1115: FF MOV R7, A 1116: FF MOV R7, A 1117: FF MOV R7, A 1118: FF MOV R7, A 1119: FF MOV R7, A 111A: FF MOV R7, A 111B: FF MOV R7, A 111C: FF MOV R7, A 111D: FF MOV R7, A 111E: FF MOV R7, A 111F: FF MOV R7, A 1120: FF MOV R7, A 1121: FF MOV R7, A 1122: FF MOV R7, A 1123: FF MOV R7, A 1124: FF MOV R7, A 1125: FF MOV R7, A 1126: FF MOV R7, A 1127: FF MOV R7, A 1128: FF MOV R7, A 1129: FF MOV R7, A 112A: FF MOV R7, A 112B: FF MOV R7, A 112C: FF MOV R7, A 112D: FF MOV R7, A 112E: FF MOV R7, A 112F: FF MOV R7, A 1130: FF MOV R7, A 1131: FF MOV R7, A 1132: FF MOV R7, A 1133: FF MOV R7, A 1134: FF MOV R7, A 1135: FF MOV R7, A 1136: FF MOV R7, A 1137: FF MOV R7, A 1138: FF MOV R7, A 1139: FF MOV R7, A 113A: FF MOV R7, A 113B: FF MOV R7, A 113C: FF MOV R7, A 113D: FF MOV R7, A 113E: FF MOV R7, A 113F: FF MOV R7, A 1140: FF MOV R7, A 1141: FF MOV R7, A 1142: FF MOV R7, A 1143: FF MOV R7, A 1144: FF MOV R7, A 1145: FF MOV R7, A 1146: FF MOV R7, A 1147: FF MOV R7, A 1148: FF MOV R7, A 1149: FF MOV R7, A 114A: FF MOV R7, A 114B: FF MOV R7, A 114C: FF MOV R7, A 114D: FF MOV R7, A 114E: FF MOV R7, A 114F: FF MOV R7, A 1150: FF MOV R7, A 1151: FF MOV R7, A 1152: FF MOV R7, A 1153: FF MOV R7, A 1154: FF MOV R7, A 1155: FF MOV R7, A 1156: FF MOV R7, A 1157: FF MOV R7, A 1158: FF MOV R7, A 1159: FF MOV R7, A 115A: FF MOV R7, A 115B: FF MOV R7, A 115C: FF MOV R7, A 115D: FF MOV R7, A 115E: FF MOV R7, A 115F: FF MOV R7, A 1160: FF MOV R7, A 1161: FF MOV R7, A 1162: FF MOV R7, A 1163: FF MOV R7, A 1164: FF MOV R7, A 1165: FF MOV R7, A 1166: FF MOV R7, A 1167: FF MOV R7, A 1168: FF MOV R7, A 1169: FF MOV R7, A 116A: FF MOV R7, A 116B: FF MOV R7, A 116C: FF MOV R7, A 116D: FF MOV R7, A 116E: FF MOV R7, A 116F: FF MOV R7, A 1170: FF MOV R7, A 1171: FF MOV R7, A 1172: FF MOV R7, A 1173: FF MOV R7, A 1174: FF MOV R7, A 1175: FF MOV R7, A 1176: FF MOV R7, A 1177: FF MOV R7, A 1178: FF MOV R7, A 1179: FF MOV R7, A 117A: FF MOV R7, A 117B: FF MOV R7, A 117C: FF MOV R7, A 117D: FF MOV R7, A 117E: FF MOV R7, A 117F: FF MOV R7, A 1180: FF MOV R7, A 1181: FF MOV R7, A 1182: FF MOV R7, A 1183: FF MOV R7, A 1184: FF MOV R7, A 1185: FF MOV R7, A 1186: FF MOV R7, A 1187: FF MOV R7, A 1188: FF MOV R7, A 1189: FF MOV R7, A 118A: FF MOV R7, A 118B: FF MOV R7, A 118C: FF MOV R7, A 118D: FF MOV R7, A 118E: FF MOV R7, A 118F: FF MOV R7, A 1190: FF MOV R7, A 1191: FF MOV R7, A 1192: FF MOV R7, A 1193: FF MOV R7, A 1194: FF MOV R7, A 1195: FF MOV R7, A 1196: FF MOV R7, A 1197: FF MOV R7, A 1198: FF MOV R7, A 1199: FF MOV R7, A 119A: FF MOV R7, A 119B: FF MOV R7, A 119C: FF MOV R7, A 119D: FF MOV R7, A 119E: FF MOV R7, A 119F: FF MOV R7, A 11A0: FF MOV R7, A 11A1: FF MOV R7, A 11A2: FF MOV R7, A 11A3: FF MOV R7, A 11A4: FF MOV R7, A 11A5: FF MOV R7, A 11A6: FF MOV R7, A 11A7: FF MOV R7, A 11A8: FF MOV R7, A 11A9: FF MOV R7, A 11AA: FF MOV R7, A 11AB: FF MOV R7, A 11AC: FF MOV R7, A 11AD: FF MOV R7, A 11AE: FF MOV R7, A 11AF: FF MOV R7, A 11B0: FF MOV R7, A 11B1: FF MOV R7, A 11B2: FF MOV R7, A 11B3: FF MOV R7, A 11B4: FF MOV R7, A 11B5: FF MOV R7, A 11B6: FF MOV R7, A 11B7: FF MOV R7, A 11B8: FF MOV R7, A 11B9: FF MOV R7, A 11BA: FF MOV R7, A 11BB: FF MOV R7, A 11BC: FF MOV R7, A 11BD: FF MOV R7, A 11BE: FF MOV R7, A 11BF: FF MOV R7, A 11C0: FF MOV R7, A 11C1: FF MOV R7, A 11C2: FF MOV R7, A 11C3: FF MOV R7, A 11C4: FF MOV R7, A 11C5: FF MOV R7, A 11C6: FF MOV R7, A 11C7: FF MOV R7, A 11C8: FF MOV R7, A 11C9: FF MOV R7, A 11CA: FF MOV R7, A 11CB: FF MOV R7, A 11CC: FF MOV R7, A 11CD: FF MOV R7, A 11CE: FF MOV R7, A 11CF: FF MOV R7, A 11D0: FF MOV R7, A 11D1: FF MOV R7, A 11D2: FF MOV R7, A 11D3: FF MOV R7, A 11D4: FF MOV R7, A 11D5: FF MOV R7, A 11D6: FF MOV R7, A 11D7: FF MOV R7, A 11D8: FF MOV R7, A 11D9: FF MOV R7, A 11DA: FF MOV R7, A 11DB: FF MOV R7, A 11DC: FF MOV R7, A 11DD: FF MOV R7, A 11DE: FF MOV R7, A 11DF: FF MOV R7, A 11E0: FF MOV R7, A 11E1: FF MOV R7, A 11E2: FF MOV R7, A 11E3: FF MOV R7, A 11E4: FF MOV R7, A 11E5: FF MOV R7, A 11E6: FF MOV R7, A 11E7: FF MOV R7, A 11E8: FF MOV R7, A 11E9: FF MOV R7, A 11EA: FF MOV R7, A 11EB: FF MOV R7, A 11EC: FF MOV R7, A 11ED: FF MOV R7, A 11EE: FF MOV R7, A 11EF: FF MOV R7, A 11F0: FF MOV R7, A 11F1: FF MOV R7, A 11F2: FF MOV R7, A 11F3: FF MOV R7, A 11F4: FF MOV R7, A 11F5: FF MOV R7, A 11F6: FF MOV R7, A 11F7: FF MOV R7, A 11F8: FF MOV R7, A 11F9: FF MOV R7, A 11FA: FF MOV R7, A 11FB: FF MOV R7, A 11FC: FF MOV R7, A 11FD: FF MOV R7, A 11FE: FF MOV R7, A 11FF: FF MOV R7, A 1200: FF MOV R7, A 1201: FF MOV R7, A 1202: FF MOV R7, A 1203: FF MOV R7, A 1204: FF MOV R7, A 1205: FF MOV R7, A 1206: FF MOV R7, A 1207: FF MOV R7, A 1208: FF MOV R7, A 1209: FF MOV R7, A 120A: FF MOV R7, A 120B: FF MOV R7, A 120C: FF MOV R7, A 120D: FF MOV R7, A 120E: FF MOV R7, A 120F: FF MOV R7, A 1210: FF MOV R7, A 1211: FF MOV R7, A 1212: FF MOV R7, A 1213: FF MOV R7, A 1214: FF MOV R7, A 1215: FF MOV R7, A 1216: FF MOV R7, A 1217: FF MOV R7, A 1218: FF MOV R7, A 1219: FF MOV R7, A 121A: FF MOV R7, A 121B: FF MOV R7, A 121C: FF MOV R7, A 121D: FF MOV R7, A 121E: FF MOV R7, A 121F: FF MOV R7, A 1220: FF MOV R7, A 1221: FF MOV R7, A 1222: FF MOV R7, A 1223: FF MOV R7, A 1224: FF MOV R7, A 1225: FF MOV R7, A 1226: FF MOV R7, A 1227: FF MOV R7, A 1228: FF MOV R7, A 1229: FF MOV R7, A 122A: FF MOV R7, A 122B: FF MOV R7, A 122C: FF MOV R7, A 122D: FF MOV R7, A 122E: FF MOV R7, A 122F: FF MOV R7, A 1230: FF MOV R7, A 1231: FF MOV R7, A 1232: FF MOV R7, A 1233: FF MOV R7, A 1234: FF MOV R7, A 1235: FF MOV R7, A 1236: FF MOV R7, A 1237: FF MOV R7, A 1238: FF MOV R7, A 1239: FF MOV R7, A 123A: FF MOV R7, A 123B: FF MOV R7, A 123C: FF MOV R7, A 123D: FF MOV R7, A 123E: FF MOV R7, A 123F: FF MOV R7, A 1240: FF MOV R7, A 1241: FF MOV R7, A 1242: FF MOV R7, A 1243: FF MOV R7, A 1244: FF MOV R7, A 1245: FF MOV R7, A 1246: FF MOV R7, A 1247: FF MOV R7, A 1248: FF MOV R7, A 1249: FF MOV R7, A 124A: FF MOV R7, A 124B: FF MOV R7, A 124C: FF MOV R7, A 124D: FF MOV R7, A 124E: FF MOV R7, A 124F: FF MOV R7, A 1250: FF MOV R7, A 1251: FF MOV R7, A 1252: FF MOV R7, A 1253: FF MOV R7, A 1254: FF MOV R7, A 1255: FF MOV R7, A 1256: FF MOV R7, A 1257: FF MOV R7, A 1258: FF MOV R7, A 1259: FF MOV R7, A 125A: FF MOV R7, A 125B: FF MOV R7, A 125C: FF MOV R7, A 125D: FF MOV R7, A 125E: FF MOV R7, A 125F: FF MOV R7, A 1260: FF MOV R7, A 1261: FF MOV R7, A 1262: FF MOV R7, A 1263: FF MOV R7, A 1264: FF MOV R7, A 1265: FF MOV R7, A 1266: FF MOV R7, A 1267: FF MOV R7, A 1268: FF MOV R7, A 1269: FF MOV R7, A 126A: FF MOV R7, A 126B: FF MOV R7, A 126C: FF MOV R7, A 126D: FF MOV R7, A 126E: FF MOV R7, A 126F: FF MOV R7, A 1270: FF MOV R7, A 1271: FF MOV R7, A 1272: FF MOV R7, A 1273: FF MOV R7, A 1274: FF MOV R7, A 1275: FF MOV R7, A 1276: FF MOV R7, A 1277: FF MOV R7, A 1278: FF MOV R7, A 1279: FF MOV R7, A 127A: FF MOV R7, A 127B: FF MOV R7, A 127C: FF MOV R7, A 127D: FF MOV R7, A 127E: FF MOV R7, A 127F: FF MOV R7, A 1280: FF MOV R7, A 1281: FF MOV R7, A 1282: FF MOV R7, A 1283: FF MOV R7, A 1284: FF MOV R7, A 1285: FF MOV R7, A 1286: FF MOV R7, A 1287: FF MOV R7, A 1288: FF MOV R7, A 1289: FF MOV R7, A 128A: FF MOV R7, A 128B: FF MOV R7, A 128C: FF MOV R7, A 128D: FF MOV R7, A 128E: FF MOV R7, A 128F: FF MOV R7, A 1290: FF MOV R7, A 1291: FF MOV R7, A 1292: FF MOV R7, A 1293: FF MOV R7, A 1294: FF MOV R7, A 1295: FF MOV R7, A 1296: FF MOV R7, A 1297: FF MOV R7, A 1298: FF MOV R7, A 1299: FF MOV R7, A 129A: FF MOV R7, A 129B: FF MOV R7, A 129C: FF MOV R7, A 129D: FF MOV R7, A 129E: FF MOV R7, A 129F: FF MOV R7, A 12A0: FF MOV R7, A 12A1: FF MOV R7, A 12A2: FF MOV R7, A 12A3: FF MOV R7, A 12A4: FF MOV R7, A 12A5: FF MOV R7, A 12A6: FF MOV R7, A 12A7: FF MOV R7, A 12A8: FF MOV R7, A 12A9: FF MOV R7, A 12AA: FF MOV R7, A 12AB: FF MOV R7, A 12AC: FF MOV R7, A 12AD: FF MOV R7, A 12AE: FF MOV R7, A 12AF: FF MOV R7, A 12B0: FF MOV R7, A 12B1: FF MOV R7, A 12B2: FF MOV R7, A 12B3: FF MOV R7, A 12B4: FF MOV R7, A 12B5: FF MOV R7, A 12B6: FF MOV R7, A 12B7: FF MOV R7, A 12B8: FF MOV R7, A 12B9: FF MOV R7, A 12BA: FF MOV R7, A 12BB: FF MOV R7, A 12BC: FF MOV R7, A 12BD: FF MOV R7, A 12BE: FF MOV R7, A 12BF: FF MOV R7, A 12C0: FF MOV R7, A 12C1: FF MOV R7, A 12C2: FF MOV R7, A 12C3: FF MOV R7, A 12C4: FF MOV R7, A 12C5: FF MOV R7, A 12C6: FF MOV R7, A 12C7: FF MOV R7, A 12C8: FF MOV R7, A 12C9: FF MOV R7, A 12CA: FF MOV R7, A 12CB: FF MOV R7, A 12CC: FF MOV R7, A 12CD: FF MOV R7, A 12CE: FF MOV R7, A 12CF: FF MOV R7, A 12D0: FF MOV R7, A 12D1: FF MOV R7, A 12D2: FF MOV R7, A 12D3: FF MOV R7, A 12D4: FF MOV R7, A 12D5: FF MOV R7, A 12D6: FF MOV R7, A 12D7: FF MOV R7, A 12D8: FF MOV R7, A 12D9: FF MOV R7, A 12DA: FF MOV R7, A 12DB: FF MOV R7, A 12DC: FF MOV R7, A 12DD: FF MOV R7, A 12DE: FF MOV R7, A 12DF: FF MOV R7, A 12E0: FF MOV R7, A 12E1: FF MOV R7, A 12E2: FF MOV R7, A 12E3: FF MOV R7, A 12E4: FF MOV R7, A 12E5: FF MOV R7, A 12E6: FF MOV R7, A 12E7: FF MOV R7, A 12E8: FF MOV R7, A 12E9: FF MOV R7, A 12EA: FF MOV R7, A 12EB: FF MOV R7, A 12EC: FF MOV R7, A 12ED: FF MOV R7, A 12EE: FF MOV R7, A 12EF: FF MOV R7, A 12F0: FF MOV R7, A 12F1: FF MOV R7, A 12F2: FF MOV R7, A 12F3: FF MOV R7, A 12F4: FF MOV R7, A 12F5: FF MOV R7, A 12F6: FF MOV R7, A 12F7: FF MOV R7, A 12F8: FF MOV R7, A 12F9: FF MOV R7, A 12FA: FF MOV R7, A 12FB: FF MOV R7, A 12FC: FF MOV R7, A 12FD: FF MOV R7, A 12FE: FF MOV R7, A 12FF: FF MOV R7, A 1300: FF MOV R7, A 1301: FF MOV R7, A 1302: FF MOV R7, A 1303: FF MOV R7, A 1304: FF MOV R7, A 1305: FF MOV R7, A 1306: FF MOV R7, A 1307: FF MOV R7, A 1308: FF MOV R7, A 1309: FF MOV R7, A 130A: FF MOV R7, A 130B: FF MOV R7, A 130C: FF MOV R7, A 130D: FF MOV R7, A 130E: FF MOV R7, A 130F: FF MOV R7, A 1310: FF MOV R7, A 1311: FF MOV R7, A 1312: FF MOV R7, A 1313: FF MOV R7, A 1314: FF MOV R7, A 1315: FF MOV R7, A 1316: FF MOV R7, A 1317: FF MOV R7, A 1318: FF MOV R7, A 1319: FF MOV R7, A 131A: FF MOV R7, A 131B: FF MOV R7, A 131C: FF MOV R7, A 131D: FF MOV R7, A 131E: FF MOV R7, A 131F: FF MOV R7, A 1320: FF MOV R7, A 1321: FF MOV R7, A 1322: FF MOV R7, A 1323: FF MOV R7, A 1324: FF MOV R7, A 1325: FF MOV R7, A 1326: FF MOV R7, A 1327: FF MOV R7, A 1328: FF MOV R7, A 1329: FF MOV R7, A 132A: FF MOV R7, A 132B: FF MOV R7, A 132C: FF MOV R7, A 132D: FF MOV R7, A 132E: FF MOV R7, A 132F: FF MOV R7, A 1330: FF MOV R7, A 1331: FF MOV R7, A 1332: FF MOV R7, A 1333: FF MOV R7, A 1334: FF MOV R7, A 1335: FF MOV R7, A 1336: FF MOV R7, A 1337: FF MOV R7, A 1338: FF MOV R7, A 1339: FF MOV R7, A 133A: FF MOV R7, A 133B: FF MOV R7, A 133C: FF MOV R7, A 133D: FF MOV R7, A 133E: FF MOV R7, A 133F: FF MOV R7, A 1340: FF MOV R7, A 1341: FF MOV R7, A 1342: FF MOV R7, A 1343: FF MOV R7, A 1344: FF MOV R7, A 1345: FF MOV R7, A 1346: FF MOV R7, A 1347: FF MOV R7, A 1348: FF MOV R7, A 1349: FF MOV R7, A 134A: FF MOV R7, A 134B: FF MOV R7, A 134C: FF MOV R7, A 134D: FF MOV R7, A 134E: FF MOV R7, A 134F: FF MOV R7, A 1350: FF MOV R7, A 1351: FF MOV R7, A 1352: FF MOV R7, A 1353: FF MOV R7, A 1354: FF MOV R7, A 1355: FF MOV R7, A 1356: FF MOV R7, A 1357: FF MOV R7, A 1358: FF MOV R7, A 1359: FF MOV R7, A 135A: FF MOV R7, A 135B: FF MOV R7, A 135C: FF MOV R7, A 135D: FF MOV R7, A 135E: FF MOV R7, A 135F: FF MOV R7, A 1360: FF MOV R7, A 1361: FF MOV R7, A 1362: FF MOV R7, A 1363: FF MOV R7, A 1364: FF MOV R7, A 1365: FF MOV R7, A 1366: FF MOV R7, A 1367: FF MOV R7, A 1368: FF MOV R7, A 1369: FF MOV R7, A 136A: FF MOV R7, A 136B: FF MOV R7, A 136C: FF MOV R7, A 136D: FF MOV R7, A 136E: FF MOV R7, A 136F: FF MOV R7, A 1370: FF MOV R7, A 1371: FF MOV R7, A 1372: FF MOV R7, A 1373: FF MOV R7, A 1374: FF MOV R7, A 1375: FF MOV R7, A 1376: FF MOV R7, A 1377: FF MOV R7, A 1378: FF MOV R7, A 1379: FF MOV R7, A 137A: FF MOV R7, A 137B: FF MOV R7, A 137C: FF MOV R7, A 137D: FF MOV R7, A 137E: FF MOV R7, A 137F: FF MOV R7, A 1380: FF MOV R7, A 1381: FF MOV R7, A 1382: FF MOV R7, A 1383: FF MOV R7, A 1384: FF MOV R7, A 1385: FF MOV R7, A 1386: FF MOV R7, A 1387: FF MOV R7, A 1388: FF MOV R7, A 1389: FF MOV R7, A 138A: FF MOV R7, A 138B: FF MOV R7, A 138C: FF MOV R7, A 138D: FF MOV R7, A 138E: FF MOV R7, A 138F: FF MOV R7, A 1390: FF MOV R7, A 1391: FF MOV R7, A 1392: FF MOV R7, A 1393: FF MOV R7, A 1394: FF MOV R7, A 1395: FF MOV R7, A 1396: FF MOV R7, A 1397: FF MOV R7, A 1398: FF MOV R7, A 1399: FF MOV R7, A 139A: FF MOV R7, A 139B: FF MOV R7, A 139C: FF MOV R7, A 139D: FF MOV R7, A 139E: FF MOV R7, A 139F: FF MOV R7, A 13A0: FF MOV R7, A 13A1: FF MOV R7, A 13A2: FF MOV R7, A 13A3: FF MOV R7, A 13A4: FF MOV R7, A 13A5: FF MOV R7, A 13A6: FF MOV R7, A 13A7: FF MOV R7, A 13A8: FF MOV R7, A 13A9: FF MOV R7, A 13AA: FF MOV R7, A 13AB: FF MOV R7, A 13AC: FF MOV R7, A 13AD: FF MOV R7, A 13AE: FF MOV R7, A 13AF: FF MOV R7, A 13B0: FF MOV R7, A 13B1: FF MOV R7, A 13B2: FF MOV R7, A 13B3: FF MOV R7, A 13B4: FF MOV R7, A 13B5: FF MOV R7, A 13B6: FF MOV R7, A 13B7: FF MOV R7, A 13B8: FF MOV R7, A 13B9: FF MOV R7, A 13BA: FF MOV R7, A 13BB: FF MOV R7, A 13BC: FF MOV R7, A 13BD: FF MOV R7, A 13BE: FF MOV R7, A 13BF: FF MOV R7, A 13C0: FF MOV R7, A 13C1: FF MOV R7, A 13C2: FF MOV R7, A 13C3: FF MOV R7, A 13C4: FF MOV R7, A 13C5: FF MOV R7, A 13C6: FF MOV R7, A 13C7: FF MOV R7, A 13C8: FF MOV R7, A 13C9: FF MOV R7, A 13CA: FF MOV R7, A 13CB: FF MOV R7, A 13CC: FF MOV R7, A 13CD: FF MOV R7, A 13CE: FF MOV R7, A 13CF: FF MOV R7, A 13D0: FF MOV R7, A 13D1: FF MOV R7, A 13D2: FF MOV R7, A 13D3: FF MOV R7, A 13D4: FF MOV R7, A 13D5: FF MOV R7, A 13D6: FF MOV R7, A 13D7: FF MOV R7, A 13D8: FF MOV R7, A 13D9: FF MOV R7, A 13DA: FF MOV R7, A 13DB: FF MOV R7, A 13DC: FF MOV R7, A 13DD: FF MOV R7, A 13DE: FF MOV R7, A 13DF: FF MOV R7, A 13E0: FF MOV R7, A 13E1: FF MOV R7, A 13E2: FF MOV R7, A 13E3: FF MOV R7, A 13E4: FF MOV R7, A 13E5: FF MOV R7, A 13E6: FF MOV R7, A 13E7: FF MOV R7, A 13E8: FF MOV R7, A 13E9: FF MOV R7, A 13EA: FF MOV R7, A 13EB: FF MOV R7, A 13EC: FF MOV R7, A 13ED: FF MOV R7, A 13EE: FF MOV R7, A 13EF: FF MOV R7, A 13F0: FF MOV R7, A 13F1: FF MOV R7, A 13F2: FF MOV R7, A 13F3: FF MOV R7, A 13F4: FF MOV R7, A 13F5: FF MOV R7, A 13F6: FF MOV R7, A 13F7: FF MOV R7, A 13F8: FF MOV R7, A 13F9: FF MOV R7, A 13FA: FF MOV R7, A 13FB: FF MOV R7, A 13FC: FF MOV R7, A 13FD: FF MOV R7, A 13FE: FF MOV R7, A 13FF: FF MOV R7, A 1400: FF MOV R7, A 1401: FF MOV R7, A 1402: FF MOV R7, A 1403: FF MOV R7, A 1404: FF MOV R7, A 1405: FF MOV R7, A 1406: FF MOV R7, A 1407: FF MOV R7, A 1408: FF MOV R7, A 1409: FF MOV R7, A 140A: FF MOV R7, A 140B: FF MOV R7, A 140C: FF MOV R7, A 140D: FF MOV R7, A 140E: FF MOV R7, A 140F: FF MOV R7, A 1410: FF MOV R7, A 1411: FF MOV R7, A 1412: FF MOV R7, A 1413: FF MOV R7, A 1414: FF MOV R7, A 1415: FF MOV R7, A 1416: FF MOV R7, A 1417: FF MOV R7, A 1418: FF MOV R7, A 1419: FF MOV R7, A 141A: FF MOV R7, A 141B: FF MOV R7, A 141C: FF MOV R7, A 141D: FF MOV R7, A 141E: FF MOV R7, A 141F: FF MOV R7, A 1420: FF MOV R7, A 1421: FF MOV R7, A 1422: FF MOV R7, A 1423: FF MOV R7, A 1424: FF MOV R7, A 1425: FF MOV R7, A 1426: FF MOV R7, A 1427: FF MOV R7, A 1428: FF MOV R7, A 1429: FF MOV R7, A 142A: FF MOV R7, A 142B: FF MOV R7, A 142C: FF MOV R7, A 142D: FF MOV R7, A 142E: FF MOV R7, A 142F: FF MOV R7, A 1430: FF MOV R7, A 1431: FF MOV R7, A 1432: FF MOV R7, A 1433: FF MOV R7, A 1434: FF MOV R7, A 1435: FF MOV R7, A 1436: FF MOV R7, A 1437: FF MOV R7, A 1438: FF MOV R7, A 1439: FF MOV R7, A 143A: FF MOV R7, A 143B: FF MOV R7, A 143C: FF MOV R7, A 143D: FF MOV R7, A 143E: FF MOV R7, A 143F: FF MOV R7, A 1440: FF MOV R7, A 1441: FF MOV R7, A 1442: FF MOV R7, A 1443: FF MOV R7, A 1444: FF MOV R7, A 1445: FF MOV R7, A 1446: FF MOV R7, A 1447: FF MOV R7, A 1448: FF MOV R7, A 1449: FF MOV R7, A 144A: FF MOV R7, A 144B: FF MOV R7, A 144C: FF MOV R7, A 144D: FF MOV R7, A 144E: FF MOV R7, A 144F: FF MOV R7, A 1450: FF MOV R7, A 1451: FF MOV R7, A 1452: FF MOV R7, A 1453: FF MOV R7, A 1454: FF MOV R7, A 1455: FF MOV R7, A 1456: FF MOV R7, A 1457: FF MOV R7, A 1458: FF MOV R7, A 1459: FF MOV R7, A 145A: FF MOV R7, A 145B: FF MOV R7, A 145C: FF MOV R7, A 145D: FF MOV R7, A 145E: FF MOV R7, A 145F: FF MOV R7, A 1460: FF MOV R7, A 1461: FF MOV R7, A 1462: FF MOV R7, A 1463: FF MOV R7, A 1464: FF MOV R7, A 1465: FF MOV R7, A 1466: FF MOV R7, A 1467: FF MOV R7, A 1468: FF MOV R7, A 1469: FF MOV R7, A 146A: FF MOV R7, A 146B: FF MOV R7, A 146C: FF MOV R7, A 146D: FF MOV R7, A 146E: FF MOV R7, A 146F: FF MOV R7, A 1470: FF MOV R7, A 1471: FF MOV R7, A 1472: FF MOV R7, A 1473: FF MOV R7, A 1474: FF MOV R7, A 1475: FF MOV R7, A 1476: FF MOV R7, A 1477: FF MOV R7, A 1478: FF MOV R7, A 1479: FF MOV R7, A 147A: FF MOV R7, A 147B: FF MOV R7, A 147C: FF MOV R7, A 147D: FF MOV R7, A 147E: FF MOV R7, A 147F: FF MOV R7, A 1480: FF MOV R7, A 1481: FF MOV R7, A 1482: FF MOV R7, A 1483: FF MOV R7, A 1484: FF MOV R7, A 1485: FF MOV R7, A 1486: FF MOV R7, A 1487: FF MOV R7, A 1488: FF MOV R7, A 1489: FF MOV R7, A 148A: FF MOV R7, A 148B: FF MOV R7, A 148C: FF MOV R7, A 148D: FF MOV R7, A 148E: FF MOV R7, A 148F: FF MOV R7, A 1490: FF MOV R7, A 1491: FF MOV R7, A 1492: FF MOV R7, A 1493: FF MOV R7, A 1494: FF MOV R7, A 1495: FF MOV R7, A 1496: FF MOV R7, A 1497: FF MOV R7, A 1498: FF MOV R7, A 1499: FF MOV R7, A 149A: FF MOV R7, A 149B: FF MOV R7, A 149C: FF MOV R7, A 149D: FF MOV R7, A 149E: FF MOV R7, A 149F: FF MOV R7, A 14A0: FF MOV R7, A 14A1: FF MOV R7, A 14A2: FF MOV R7, A 14A3: FF MOV R7, A 14A4: FF MOV R7, A 14A5: FF MOV R7, A 14A6: FF MOV R7, A 14A7: FF MOV R7, A 14A8: FF MOV R7, A 14A9: FF MOV R7, A 14AA: FF MOV R7, A 14AB: FF MOV R7, A 14AC: FF MOV R7, A 14AD: FF MOV R7, A 14AE: FF MOV R7, A 14AF: FF MOV R7, A 14B0: FF MOV R7, A 14B1: FF MOV R7, A 14B2: FF MOV R7, A 14B3: FF MOV R7, A 14B4: FF MOV R7, A 14B5: FF MOV R7, A 14B6: FF MOV R7, A 14B7: FF MOV R7, A 14B8: FF MOV R7, A 14B9: FF MOV R7, A 14BA: FF MOV R7, A 14BB: FF MOV R7, A 14BC: FF MOV R7, A 14BD: FF MOV R7, A 14BE: FF MOV R7, A 14BF: FF MOV R7, A 14C0: FF MOV R7, A 14C1: FF MOV R7, A 14C2: FF MOV R7, A 14C3: FF MOV R7, A 14C4: FF MOV R7, A 14C5: FF MOV R7, A 14C6: FF MOV R7, A 14C7: FF MOV R7, A 14C8: FF MOV R7, A 14C9: FF MOV R7, A 14CA: FF MOV R7, A 14CB: FF MOV R7, A 14CC: FF MOV R7, A 14CD: FF MOV R7, A 14CE: FF MOV R7, A 14CF: FF MOV R7, A 14D0: FF MOV R7, A 14D1: FF MOV R7, A 14D2: FF MOV R7, A 14D3: FF MOV R7, A 14D4: FF MOV R7, A 14D5: FF MOV R7, A 14D6: FF MOV R7, A 14D7: FF MOV R7, A 14D8: FF MOV R7, A 14D9: FF MOV R7, A 14DA: FF MOV R7, A 14DB: FF MOV R7, A 14DC: FF MOV R7, A 14DD: FF MOV R7, A 14DE: FF MOV R7, A 14DF: FF MOV R7, A 14E0: FF MOV R7, A 14E1: FF MOV R7, A 14E2: FF MOV R7, A 14E3: FF MOV R7, A 14E4: FF MOV R7, A 14E5: FF MOV R7, A 14E6: FF MOV R7, A 14E7: FF MOV R7, A 14E8: FF MOV R7, A 14E9: FF MOV R7, A 14EA: FF MOV R7, A 14EB: FF MOV R7, A 14EC: FF MOV R7, A 14ED: FF MOV R7, A 14EE: FF MOV R7, A 14EF: FF MOV R7, A 14F0: FF MOV R7, A 14F1: FF MOV R7, A 14F2: FF MOV R7, A 14F3: FF MOV R7, A 14F4: FF MOV R7, A 14F5: FF MOV R7, A 14F6: FF MOV R7, A 14F7: FF MOV R7, A 14F8: FF MOV R7, A 14F9: FF MOV R7, A 14FA: FF MOV R7, A 14FB: FF MOV R7, A 14FC: FF MOV R7, A 14FD: FF MOV R7, A 14FE: FF MOV R7, A 14FF: FF MOV R7, A 1500: FF MOV R7, A 1501: FF MOV R7, A 1502: FF MOV R7, A 1503: FF MOV R7, A 1504: FF MOV R7, A 1505: FF MOV R7, A 1506: FF MOV R7, A 1507: FF MOV R7, A 1508: FF MOV R7, A 1509: FF MOV R7, A 150A: FF MOV R7, A 150B: FF MOV R7, A 150C: FF MOV R7, A 150D: FF MOV R7, A 150E: FF MOV R7, A 150F: FF MOV R7, A 1510: FF MOV R7, A 1511: FF MOV R7, A 1512: FF MOV R7, A 1513: FF MOV R7, A 1514: FF MOV R7, A 1515: FF MOV R7, A 1516: FF MOV R7, A 1517: FF MOV R7, A 1518: FF MOV R7, A 1519: FF MOV R7, A 151A: FF MOV R7, A 151B: FF MOV R7, A 151C: FF MOV R7, A 151D: FF MOV R7, A 151E: FF MOV R7, A 151F: FF MOV R7, A 1520: FF MOV R7, A 1521: FF MOV R7, A 1522: FF MOV R7, A 1523: FF MOV R7, A 1524: FF MOV R7, A 1525: FF MOV R7, A 1526: FF MOV R7, A 1527: FF MOV R7, A 1528: FF MOV R7, A 1529: FF MOV R7, A 152A: FF MOV R7, A 152B: FF MOV R7, A 152C: FF MOV R7, A 152D: FF MOV R7, A 152E: FF MOV R7, A 152F: FF MOV R7, A 1530: FF MOV R7, A 1531: FF MOV R7, A 1532: FF MOV R7, A 1533: FF MOV R7, A 1534: FF MOV R7, A 1535: FF MOV R7, A 1536: FF MOV R7, A 1537: FF MOV R7, A 1538: FF MOV R7, A 1539: FF MOV R7, A 153A: FF MOV R7, A 153B: FF MOV R7, A 153C: FF MOV R7, A 153D: FF MOV R7, A 153E: FF MOV R7, A 153F: FF MOV R7, A 1540: FF MOV R7, A 1541: FF MOV R7, A 1542: FF MOV R7, A 1543: FF MOV R7, A 1544: FF MOV R7, A 1545: FF MOV R7, A 1546: FF MOV R7, A 1547: FF MOV R7, A 1548: FF MOV R7, A 1549: FF MOV R7, A 154A: FF MOV R7, A 154B: FF MOV R7, A 154C: FF MOV R7, A 154D: FF MOV R7, A 154E: FF MOV R7, A 154F: FF MOV R7, A 1550: FF MOV R7, A 1551: FF MOV R7, A 1552: FF MOV R7, A 1553: FF MOV R7, A 1554: FF MOV R7, A 1555: FF MOV R7, A 1556: FF MOV R7, A 1557: FF MOV R7, A 1558: FF MOV R7, A 1559: FF MOV R7, A 155A: FF MOV R7, A 155B: FF MOV R7, A 155C: FF MOV R7, A 155D: FF MOV R7, A 155E: FF MOV R7, A 155F: FF MOV R7, A 1560: FF MOV R7, A 1561: FF MOV R7, A 1562: FF MOV R7, A 1563: FF MOV R7, A 1564: FF MOV R7, A 1565: FF MOV R7, A 1566: FF MOV R7, A 1567: FF MOV R7, A 1568: FF MOV R7, A 1569: FF MOV R7, A 156A: FF MOV R7, A 156B: FF MOV R7, A 156C: FF MOV R7, A 156D: FF MOV R7, A 156E: FF MOV R7, A 156F: FF MOV R7, A 1570: FF MOV R7, A 1571: FF MOV R7, A 1572: FF MOV R7, A 1573: FF MOV R7, A 1574: FF MOV R7, A 1575: FF MOV R7, A 1576: FF MOV R7, A 1577: FF MOV R7, A 1578: FF MOV R7, A 1579: FF MOV R7, A 157A: FF MOV R7, A 157B: FF MOV R7, A 157C: FF MOV R7, A 157D: FF MOV R7, A 157E: FF MOV R7, A 157F: FF MOV R7, A 1580: FF MOV R7, A 1581: FF MOV R7, A 1582: FF MOV R7, A 1583: FF MOV R7, A 1584: FF MOV R7, A 1585: FF MOV R7, A 1586: FF MOV R7, A 1587: FF MOV R7, A 1588: FF MOV R7, A 1589: FF MOV R7, A 158A: FF MOV R7, A 158B: FF MOV R7, A 158C: FF MOV R7, A 158D: FF MOV R7, A 158E: FF MOV R7, A 158F: FF MOV R7, A 1590: FF MOV R7, A 1591: FF MOV R7, A 1592: FF MOV R7, A 1593: FF MOV R7, A 1594: FF MOV R7, A 1595: FF MOV R7, A 1596: FF MOV R7, A 1597: FF MOV R7, A 1598: FF MOV R7, A 1599: FF MOV R7, A 159A: FF MOV R7, A 159B: FF MOV R7, A 159C: FF MOV R7, A 159D: FF MOV R7, A 159E: FF MOV R7, A 159F: FF MOV R7, A 15A0: FF MOV R7, A 15A1: FF MOV R7, A 15A2: FF MOV R7, A 15A3: FF MOV R7, A 15A4: FF MOV R7, A 15A5: FF MOV R7, A 15A6: FF MOV R7, A 15A7: FF MOV R7, A 15A8: FF MOV R7, A 15A9: FF MOV R7, A 15AA: FF MOV R7, A 15AB: FF MOV R7, A 15AC: FF MOV R7, A 15AD: FF MOV R7, A 15AE: FF MOV R7, A 15AF: FF MOV R7, A 15B0: FF MOV R7, A 15B1: FF MOV R7, A 15B2: FF MOV R7, A 15B3: FF MOV R7, A 15B4: FF MOV R7, A 15B5: FF MOV R7, A 15B6: FF MOV R7, A 15B7: FF MOV R7, A 15B8: FF MOV R7, A 15B9: FF MOV R7, A 15BA: FF MOV R7, A 15BB: FF MOV R7, A 15BC: FF MOV R7, A 15BD: FF MOV R7, A 15BE: FF MOV R7, A 15BF: FF MOV R7, A 15C0: FF MOV R7, A 15C1: FF MOV R7, A 15C2: FF MOV R7, A 15C3: FF MOV R7, A 15C4: FF MOV R7, A 15C5: FF MOV R7, A 15C6: FF MOV R7, A 15C7: FF MOV R7, A 15C8: FF MOV R7, A 15C9: FF MOV R7, A 15CA: FF MOV R7, A 15CB: FF MOV R7, A 15CC: FF MOV R7, A 15CD: FF MOV R7, A 15CE: FF MOV R7, A 15CF: FF MOV R7, A 15D0: FF MOV R7, A 15D1: FF MOV R7, A 15D2: FF MOV R7, A 15D3: FF MOV R7, A 15D4: FF MOV R7, A 15D5: FF MOV R7, A 15D6: FF MOV R7, A 15D7: FF MOV R7, A 15D8: FF MOV R7, A 15D9: FF MOV R7, A 15DA: FF MOV R7, A 15DB: FF MOV R7, A 15DC: FF MOV R7, A 15DD: FF MOV R7, A 15DE: FF MOV R7, A 15DF: FF MOV R7, A 15E0: FF MOV R7, A 15E1: FF MOV R7, A 15E2: FF MOV R7, A 15E3: FF MOV R7, A 15E4: FF MOV R7, A 15E5: FF MOV R7, A 15E6: FF MOV R7, A 15E7: FF MOV R7, A 15E8: FF MOV R7, A 15E9: FF MOV R7, A 15EA: FF MOV R7, A 15EB: FF MOV R7, A 15EC: FF MOV R7, A 15ED: FF MOV R7, A 15EE: FF MOV R7, A 15EF: FF MOV R7, A 15F0: FF MOV R7, A 15F1: FF MOV R7, A 15F2: FF MOV R7, A 15F3: FF MOV R7, A 15F4: FF MOV R7, A 15F5: FF MOV R7, A 15F6: FF MOV R7, A 15F7: FF MOV R7, A 15F8: FF MOV R7, A 15F9: FF MOV R7, A 15FA: FF MOV R7, A 15FB: FF MOV R7, A 15FC: FF MOV R7, A 15FD: FF MOV R7, A 15FE: FF MOV R7, A 15FF: FF MOV R7, A 1600: FF MOV R7, A 1601: FF MOV R7, A 1602: FF MOV R7, A 1603: FF MOV R7, A 1604: FF MOV R7, A 1605: FF MOV R7, A 1606: FF MOV R7, A 1607: FF MOV R7, A 1608: FF MOV R7, A 1609: FF MOV R7, A 160A: FF MOV R7, A 160B: FF MOV R7, A 160C: FF MOV R7, A 160D: FF MOV R7, A 160E: FF MOV R7, A 160F: FF MOV R7, A 1610: FF MOV R7, A 1611: FF MOV R7, A 1612: FF MOV R7, A 1613: FF MOV R7, A 1614: FF MOV R7, A 1615: FF MOV R7, A 1616: FF MOV R7, A 1617: FF MOV R7, A 1618: FF MOV R7, A 1619: FF MOV R7, A 161A: FF MOV R7, A 161B: FF MOV R7, A 161C: FF MOV R7, A 161D: FF MOV R7, A 161E: FF MOV R7, A 161F: FF MOV R7, A 1620: FF MOV R7, A 1621: FF MOV R7, A 1622: FF MOV R7, A 1623: FF MOV R7, A 1624: FF MOV R7, A 1625: FF MOV R7, A 1626: FF MOV R7, A 1627: FF MOV R7, A 1628: FF MOV R7, A 1629: FF MOV R7, A 162A: FF MOV R7, A 162B: FF MOV R7, A 162C: FF MOV R7, A 162D: FF MOV R7, A 162E: FF MOV R7, A 162F: FF MOV R7, A 1630: FF MOV R7, A 1631: FF MOV R7, A 1632: FF MOV R7, A 1633: FF MOV R7, A 1634: FF MOV R7, A 1635: FF MOV R7, A 1636: FF MOV R7, A 1637: FF MOV R7, A 1638: FF MOV R7, A 1639: FF MOV R7, A 163A: FF MOV R7, A 163B: FF MOV R7, A 163C: FF MOV R7, A 163D: FF MOV R7, A 163E: FF MOV R7, A 163F: FF MOV R7, A 1640: FF MOV R7, A 1641: FF MOV R7, A 1642: FF MOV R7, A 1643: FF MOV R7, A 1644: FF MOV R7, A 1645: FF MOV R7, A 1646: FF MOV R7, A 1647: FF MOV R7, A 1648: FF MOV R7, A 1649: FF MOV R7, A 164A: FF MOV R7, A 164B: FF MOV R7, A 164C: FF MOV R7, A 164D: FF MOV R7, A 164E: FF MOV R7, A 164F: FF MOV R7, A 1650: FF MOV R7, A 1651: FF MOV R7, A 1652: FF MOV R7, A 1653: FF MOV R7, A 1654: FF MOV R7, A 1655: FF MOV R7, A 1656: FF MOV R7, A 1657: FF MOV R7, A 1658: FF MOV R7, A 1659: FF MOV R7, A 165A: FF MOV R7, A 165B: FF MOV R7, A 165C: FF MOV R7, A 165D: FF MOV R7, A 165E: FF MOV R7, A 165F: FF MOV R7, A 1660: FF MOV R7, A 1661: FF MOV R7, A 1662: FF MOV R7, A 1663: FF MOV R7, A 1664: FF MOV R7, A 1665: FF MOV R7, A 1666: FF MOV R7, A 1667: FF MOV R7, A 1668: FF MOV R7, A 1669: FF MOV R7, A 166A: FF MOV R7, A 166B: FF MOV R7, A 166C: FF MOV R7, A 166D: FF MOV R7, A 166E: FF MOV R7, A 166F: FF MOV R7, A 1670: FF MOV R7, A 1671: FF MOV R7, A 1672: FF MOV R7, A 1673: FF MOV R7, A 1674: FF MOV R7, A 1675: FF MOV R7, A 1676: FF MOV R7, A 1677: FF MOV R7, A 1678: FF MOV R7, A 1679: FF MOV R7, A 167A: FF MOV R7, A 167B: FF MOV R7, A 167C: FF MOV R7, A 167D: FF MOV R7, A 167E: FF MOV R7, A 167F: FF MOV R7, A 1680: FF MOV R7, A 1681: FF MOV R7, A 1682: FF MOV R7, A 1683: FF MOV R7, A 1684: FF MOV R7, A 1685: FF MOV R7, A 1686: FF MOV R7, A 1687: FF MOV R7, A 1688: FF MOV R7, A 1689: FF MOV R7, A 168A: FF MOV R7, A 168B: FF MOV R7, A 168C: FF MOV R7, A 168D: FF MOV R7, A 168E: FF MOV R7, A 168F: FF MOV R7, A 1690: FF MOV R7, A 1691: FF MOV R7, A 1692: FF MOV R7, A 1693: FF MOV R7, A 1694: FF MOV R7, A 1695: FF MOV R7, A 1696: FF MOV R7, A 1697: FF MOV R7, A 1698: FF MOV R7, A 1699: FF MOV R7, A 169A: FF MOV R7, A 169B: FF MOV R7, A 169C: FF MOV R7, A 169D: FF MOV R7, A 169E: FF MOV R7, A 169F: FF MOV R7, A 16A0: FF MOV R7, A 16A1: FF MOV R7, A 16A2: FF MOV R7, A 16A3: FF MOV R7, A 16A4: FF MOV R7, A 16A5: FF MOV R7, A 16A6: FF MOV R7, A 16A7: FF MOV R7, A 16A8: FF MOV R7, A 16A9: FF MOV R7, A 16AA: FF MOV R7, A 16AB: FF MOV R7, A 16AC: FF MOV R7, A 16AD: FF MOV R7, A 16AE: FF MOV R7, A 16AF: FF MOV R7, A 16B0: FF MOV R7, A 16B1: FF MOV R7, A 16B2: FF MOV R7, A 16B3: FF MOV R7, A 16B4: FF MOV R7, A 16B5: FF MOV R7, A 16B6: FF MOV R7, A 16B7: FF MOV R7, A 16B8: FF MOV R7, A 16B9: FF MOV R7, A 16BA: FF MOV R7, A 16BB: FF MOV R7, A 16BC: FF MOV R7, A 16BD: FF MOV R7, A 16BE: FF MOV R7, A 16BF: FF MOV R7, A 16C0: FF MOV R7, A 16C1: FF MOV R7, A 16C2: FF MOV R7, A 16C3: FF MOV R7, A 16C4: FF MOV R7, A 16C5: FF MOV R7, A 16C6: FF MOV R7, A 16C7: FF MOV R7, A 16C8: FF MOV R7, A 16C9: FF MOV R7, A 16CA: FF MOV R7, A 16CB: FF MOV R7, A 16CC: FF MOV R7, A 16CD: FF MOV R7, A 16CE: FF MOV R7, A 16CF: FF MOV R7, A 16D0: FF MOV R7, A 16D1: FF MOV R7, A 16D2: FF MOV R7, A 16D3: FF MOV R7, A 16D4: FF MOV R7, A 16D5: FF MOV R7, A 16D6: FF MOV R7, A 16D7: FF MOV R7, A 16D8: FF MOV R7, A 16D9: FF MOV R7, A 16DA: FF MOV R7, A 16DB: FF MOV R7, A 16DC: FF MOV R7, A 16DD: FF MOV R7, A 16DE: FF MOV R7, A 16DF: FF MOV R7, A 16E0: FF MOV R7, A 16E1: FF MOV R7, A 16E2: FF MOV R7, A 16E3: FF MOV R7, A 16E4: FF MOV R7, A 16E5: FF MOV R7, A 16E6: FF MOV R7, A 16E7: FF MOV R7, A 16E8: FF MOV R7, A 16E9: FF MOV R7, A 16EA: FF MOV R7, A 16EB: FF MOV R7, A 16EC: FF MOV R7, A 16ED: FF MOV R7, A 16EE: FF MOV R7, A 16EF: FF MOV R7, A 16F0: FF MOV R7, A 16F1: FF MOV R7, A 16F2: FF MOV R7, A 16F3: FF MOV R7, A 16F4: FF MOV R7, A 16F5: FF MOV R7, A 16F6: FF MOV R7, A 16F7: FF MOV R7, A 16F8: FF MOV R7, A 16F9: FF MOV R7, A 16FA: FF MOV R7, A 16FB: FF MOV R7, A 16FC: FF MOV R7, A 16FD: FF MOV R7, A 16FE: FF MOV R7, A 16FF: FF MOV R7, A 1700: FF MOV R7, A 1701: FF MOV R7, A 1702: FF MOV R7, A 1703: FF MOV R7, A 1704: FF MOV R7, A 1705: FF MOV R7, A 1706: FF MOV R7, A 1707: FF MOV R7, A 1708: FF MOV R7, A 1709: FF MOV R7, A 170A: FF MOV R7, A 170B: FF MOV R7, A 170C: FF MOV R7, A 170D: FF MOV R7, A 170E: FF MOV R7, A 170F: FF MOV R7, A 1710: FF MOV R7, A 1711: FF MOV R7, A 1712: FF MOV R7, A 1713: FF MOV R7, A 1714: FF MOV R7, A 1715: FF MOV R7, A 1716: FF MOV R7, A 1717: FF MOV R7, A 1718: FF MOV R7, A 1719: FF MOV R7, A 171A: FF MOV R7, A 171B: FF MOV R7, A 171C: FF MOV R7, A 171D: FF MOV R7, A 171E: FF MOV R7, A 171F: FF MOV R7, A 1720: FF MOV R7, A 1721: FF MOV R7, A 1722: FF MOV R7, A 1723: FF MOV R7, A 1724: FF MOV R7, A 1725: FF MOV R7, A 1726: FF MOV R7, A 1727: FF MOV R7, A 1728: FF MOV R7, A 1729: FF MOV R7, A 172A: FF MOV R7, A 172B: FF MOV R7, A 172C: FF MOV R7, A 172D: FF MOV R7, A 172E: FF MOV R7, A 172F: FF MOV R7, A 1730: FF MOV R7, A 1731: FF MOV R7, A 1732: FF MOV R7, A 1733: FF MOV R7, A 1734: FF MOV R7, A 1735: FF MOV R7, A 1736: FF MOV R7, A 1737: FF MOV R7, A 1738: FF MOV R7, A 1739: FF MOV R7, A 173A: FF MOV R7, A 173B: FF MOV R7, A 173C: FF MOV R7, A 173D: FF MOV R7, A 173E: FF MOV R7, A 173F: FF MOV R7, A 1740: FF MOV R7, A 1741: FF MOV R7, A 1742: FF MOV R7, A 1743: FF MOV R7, A 1744: FF MOV R7, A 1745: FF MOV R7, A 1746: FF MOV R7, A 1747: FF MOV R7, A 1748: FF MOV R7, A 1749: FF MOV R7, A 174A: FF MOV R7, A 174B: FF MOV R7, A 174C: FF MOV R7, A 174D: FF MOV R7, A 174E: FF MOV R7, A 174F: FF MOV R7, A 1750: FF MOV R7, A 1751: FF MOV R7, A 1752: FF MOV R7, A 1753: FF MOV R7, A 1754: FF MOV R7, A 1755: FF MOV R7, A 1756: FF MOV R7, A 1757: FF MOV R7, A 1758: FF MOV R7, A 1759: FF MOV R7, A 175A: FF MOV R7, A 175B: FF MOV R7, A 175C: FF MOV R7, A 175D: FF MOV R7, A 175E: FF MOV R7, A 175F: FF MOV R7, A 1760: FF MOV R7, A 1761: FF MOV R7, A 1762: FF MOV R7, A 1763: FF MOV R7, A 1764: FF MOV R7, A 1765: FF MOV R7, A 1766: FF MOV R7, A 1767: FF MOV R7, A 1768: FF MOV R7, A 1769: FF MOV R7, A 176A: FF MOV R7, A 176B: FF MOV R7, A 176C: FF MOV R7, A 176D: FF MOV R7, A 176E: FF MOV R7, A 176F: FF MOV R7, A 1770: FF MOV R7, A 1771: FF MOV R7, A 1772: FF MOV R7, A 1773: FF MOV R7, A 1774: FF MOV R7, A 1775: FF MOV R7, A 1776: FF MOV R7, A 1777: FF MOV R7, A 1778: FF MOV R7, A 1779: FF MOV R7, A 177A: FF MOV R7, A 177B: FF MOV R7, A 177C: FF MOV R7, A 177D: FF MOV R7, A 177E: FF MOV R7, A 177F: FF MOV R7, A 1780: FF MOV R7, A 1781: FF MOV R7, A 1782: FF MOV R7, A 1783: FF MOV R7, A 1784: FF MOV R7, A 1785: FF MOV R7, A 1786: FF MOV R7, A 1787: FF MOV R7, A 1788: FF MOV R7, A 1789: FF MOV R7, A 178A: FF MOV R7, A 178B: FF MOV R7, A 178C: FF MOV R7, A 178D: FF MOV R7, A 178E: FF MOV R7, A 178F: FF MOV R7, A 1790: FF MOV R7, A 1791: FF MOV R7, A 1792: FF MOV R7, A 1793: FF MOV R7, A 1794: FF MOV R7, A 1795: FF MOV R7, A 1796: FF MOV R7, A 1797: FF MOV R7, A 1798: FF MOV R7, A 1799: FF MOV R7, A 179A: FF MOV R7, A 179B: FF MOV R7, A 179C: FF MOV R7, A 179D: FF MOV R7, A 179E: FF MOV R7, A 179F: FF MOV R7, A 17A0: FF MOV R7, A 17A1: FF MOV R7, A 17A2: FF MOV R7, A 17A3: FF MOV R7, A 17A4: FF MOV R7, A 17A5: FF MOV R7, A 17A6: FF MOV R7, A 17A7: FF MOV R7, A 17A8: FF MOV R7, A 17A9: FF MOV R7, A 17AA: FF MOV R7, A 17AB: FF MOV R7, A 17AC: FF MOV R7, A 17AD: FF MOV R7, A 17AE: FF MOV R7, A 17AF: FF MOV R7, A 17B0: FF MOV R7, A 17B1: FF MOV R7, A 17B2: FF MOV R7, A 17B3: FF MOV R7, A 17B4: FF MOV R7, A 17B5: FF MOV R7, A 17B6: FF MOV R7, A 17B7: FF MOV R7, A 17B8: FF MOV R7, A 17B9: FF MOV R7, A 17BA: FF MOV R7, A 17BB: FF MOV R7, A 17BC: FF MOV R7, A 17BD: FF MOV R7, A 17BE: FF MOV R7, A 17BF: FF MOV R7, A 17C0: FF MOV R7, A 17C1: FF MOV R7, A 17C2: FF MOV R7, A 17C3: FF MOV R7, A 17C4: FF MOV R7, A 17C5: FF MOV R7, A 17C6: FF MOV R7, A 17C7: FF MOV R7, A 17C8: FF MOV R7, A 17C9: FF MOV R7, A 17CA: FF MOV R7, A 17CB: FF MOV R7, A 17CC: FF MOV R7, A 17CD: FF MOV R7, A 17CE: FF MOV R7, A 17CF: FF MOV R7, A 17D0: FF MOV R7, A 17D1: FF MOV R7, A 17D2: FF MOV R7, A 17D3: FF MOV R7, A 17D4: FF MOV R7, A 17D5: FF MOV R7, A 17D6: FF MOV R7, A 17D7: FF MOV R7, A 17D8: FF MOV R7, A 17D9: FF MOV R7, A 17DA: FF MOV R7, A 17DB: FF MOV R7, A 17DC: FF MOV R7, A 17DD: FF MOV R7, A 17DE: FF MOV R7, A 17DF: FF MOV R7, A 17E0: FF MOV R7, A 17E1: FF MOV R7, A 17E2: FF MOV R7, A 17E3: FF MOV R7, A 17E4: FF MOV R7, A 17E5: FF MOV R7, A 17E6: FF MOV R7, A 17E7: FF MOV R7, A 17E8: FF MOV R7, A 17E9: FF MOV R7, A 17EA: FF MOV R7, A 17EB: FF MOV R7, A 17EC: FF MOV R7, A 17ED: FF MOV R7, A 17EE: FF MOV R7, A 17EF: FF MOV R7, A 17F0: FF MOV R7, A 17F1: FF MOV R7, A 17F2: FF MOV R7, A 17F3: FF MOV R7, A 17F4: FF MOV R7, A 17F5: FF MOV R7, A 17F6: FF MOV R7, A 17F7: FF MOV R7, A 17F8: FF MOV R7, A 17F9: FF MOV R7, A 17FA: FF MOV R7, A 17FB: FF MOV R7, A 17FC: FF MOV R7, A 17FD: FF MOV R7, A 17FE: FF MOV R7, A 17FF: FF MOV R7, A 1800: FF MOV R7, A 1801: FF MOV R7, A 1802: FF MOV R7, A 1803: FF MOV R7, A 1804: FF MOV R7, A 1805: FF MOV R7, A 1806: FF MOV R7, A 1807: FF MOV R7, A 1808: FF MOV R7, A 1809: FF MOV R7, A 180A: FF MOV R7, A 180B: FF MOV R7, A 180C: FF MOV R7, A 180D: FF MOV R7, A 180E: FF MOV R7, A 180F: FF MOV R7, A 1810: FF MOV R7, A 1811: FF MOV R7, A 1812: FF MOV R7, A 1813: FF MOV R7, A 1814: FF MOV R7, A 1815: FF MOV R7, A 1816: FF MOV R7, A 1817: FF MOV R7, A 1818: FF MOV R7, A 1819: FF MOV R7, A 181A: FF MOV R7, A 181B: FF MOV R7, A 181C: FF MOV R7, A 181D: FF MOV R7, A 181E: FF MOV R7, A 181F: FF MOV R7, A 1820: FF MOV R7, A 1821: FF MOV R7, A 1822: FF MOV R7, A 1823: FF MOV R7, A 1824: FF MOV R7, A 1825: FF MOV R7, A 1826: FF MOV R7, A 1827: FF MOV R7, A 1828: FF MOV R7, A 1829: FF MOV R7, A 182A: FF MOV R7, A 182B: FF MOV R7, A 182C: FF MOV R7, A 182D: FF MOV R7, A 182E: FF MOV R7, A 182F: FF MOV R7, A 1830: FF MOV R7, A 1831: FF MOV R7, A 1832: FF MOV R7, A 1833: FF MOV R7, A 1834: FF MOV R7, A 1835: FF MOV R7, A 1836: FF MOV R7, A 1837: FF MOV R7, A 1838: FF MOV R7, A 1839: FF MOV R7, A 183A: FF MOV R7, A 183B: FF MOV R7, A 183C: FF MOV R7, A 183D: FF MOV R7, A 183E: FF MOV R7, A 183F: FF MOV R7, A 1840: FF MOV R7, A 1841: FF MOV R7, A 1842: FF MOV R7, A 1843: FF MOV R7, A 1844: FF MOV R7, A 1845: FF MOV R7, A 1846: FF MOV R7, A 1847: FF MOV R7, A 1848: FF MOV R7, A 1849: FF MOV R7, A 184A: FF MOV R7, A 184B: FF MOV R7, A 184C: FF MOV R7, A 184D: FF MOV R7, A 184E: FF MOV R7, A 184F: FF MOV R7, A 1850: FF MOV R7, A 1851: FF MOV R7, A 1852: FF MOV R7, A 1853: FF MOV R7, A 1854: FF MOV R7, A 1855: FF MOV R7, A 1856: FF MOV R7, A 1857: FF MOV R7, A 1858: FF MOV R7, A 1859: FF MOV R7, A 185A: FF MOV R7, A 185B: FF MOV R7, A 185C: FF MOV R7, A 185D: FF MOV R7, A 185E: FF MOV R7, A 185F: FF MOV R7, A 1860: FF MOV R7, A 1861: FF MOV R7, A 1862: FF MOV R7, A 1863: FF MOV R7, A 1864: FF MOV R7, A 1865: FF MOV R7, A 1866: FF MOV R7, A 1867: FF MOV R7, A 1868: FF MOV R7, A 1869: FF MOV R7, A 186A: FF MOV R7, A 186B: FF MOV R7, A 186C: FF MOV R7, A 186D: FF MOV R7, A 186E: FF MOV R7, A 186F: FF MOV R7, A 1870: FF MOV R7, A 1871: FF MOV R7, A 1872: FF MOV R7, A 1873: FF MOV R7, A 1874: FF MOV R7, A 1875: FF MOV R7, A 1876: FF MOV R7, A 1877: FF MOV R7, A 1878: FF MOV R7, A 1879: FF MOV R7, A 187A: FF MOV R7, A 187B: FF MOV R7, A 187C: FF MOV R7, A 187D: FF MOV R7, A 187E: FF MOV R7, A 187F: FF MOV R7, A 1880: FF MOV R7, A 1881: FF MOV R7, A 1882: FF MOV R7, A 1883: FF MOV R7, A 1884: FF MOV R7, A 1885: FF MOV R7, A 1886: FF MOV R7, A 1887: FF MOV R7, A 1888: FF MOV R7, A 1889: FF MOV R7, A 188A: FF MOV R7, A 188B: FF MOV R7, A 188C: FF MOV R7, A 188D: FF MOV R7, A 188E: FF MOV R7, A 188F: FF MOV R7, A 1890: FF MOV R7, A 1891: FF MOV R7, A 1892: FF MOV R7, A 1893: FF MOV R7, A 1894: FF MOV R7, A 1895: FF MOV R7, A 1896: FF MOV R7, A 1897: FF MOV R7, A 1898: FF MOV R7, A 1899: FF MOV R7, A 189A: FF MOV R7, A 189B: FF MOV R7, A 189C: FF MOV R7, A 189D: FF MOV R7, A 189E: FF MOV R7, A 189F: FF MOV R7, A 18A0: FF MOV R7, A 18A1: FF MOV R7, A 18A2: FF MOV R7, A 18A3: FF MOV R7, A 18A4: FF MOV R7, A 18A5: FF MOV R7, A 18A6: FF MOV R7, A 18A7: FF MOV R7, A 18A8: FF MOV R7, A 18A9: FF MOV R7, A 18AA: FF MOV R7, A 18AB: FF MOV R7, A 18AC: FF MOV R7, A 18AD: FF MOV R7, A 18AE: FF MOV R7, A 18AF: FF MOV R7, A 18B0: FF MOV R7, A 18B1: FF MOV R7, A 18B2: FF MOV R7, A 18B3: FF MOV R7, A 18B4: FF MOV R7, A 18B5: FF MOV R7, A 18B6: FF MOV R7, A 18B7: FF MOV R7, A 18B8: FF MOV R7, A 18B9: FF MOV R7, A 18BA: FF MOV R7, A 18BB: FF MOV R7, A 18BC: FF MOV R7, A 18BD: FF MOV R7, A 18BE: FF MOV R7, A 18BF: FF MOV R7, A 18C0: FF MOV R7, A 18C1: FF MOV R7, A 18C2: FF MOV R7, A 18C3: FF MOV R7, A 18C4: FF MOV R7, A 18C5: FF MOV R7, A 18C6: FF MOV R7, A 18C7: FF MOV R7, A 18C8: FF MOV R7, A 18C9: FF MOV R7, A 18CA: FF MOV R7, A 18CB: FF MOV R7, A 18CC: FF MOV R7, A 18CD: FF MOV R7, A 18CE: FF MOV R7, A 18CF: FF MOV R7, A 18D0: FF MOV R7, A 18D1: FF MOV R7, A 18D2: FF MOV R7, A 18D3: FF MOV R7, A 18D4: FF MOV R7, A 18D5: FF MOV R7, A 18D6: FF MOV R7, A 18D7: FF MOV R7, A 18D8: FF MOV R7, A 18D9: FF MOV R7, A 18DA: FF MOV R7, A 18DB: FF MOV R7, A 18DC: FF MOV R7, A 18DD: FF MOV R7, A 18DE: FF MOV R7, A 18DF: FF MOV R7, A 18E0: FF MOV R7, A 18E1: FF MOV R7, A 18E2: FF MOV R7, A 18E3: FF MOV R7, A 18E4: FF MOV R7, A 18E5: FF MOV R7, A 18E6: FF MOV R7, A 18E7: FF MOV R7, A 18E8: FF MOV R7, A 18E9: FF MOV R7, A 18EA: FF MOV R7, A 18EB: FF MOV R7, A 18EC: FF MOV R7, A 18ED: FF MOV R7, A 18EE: FF MOV R7, A 18EF: FF MOV R7, A 18F0: FF MOV R7, A 18F1: FF MOV R7, A 18F2: FF MOV R7, A 18F3: FF MOV R7, A 18F4: FF MOV R7, A 18F5: FF MOV R7, A 18F6: FF MOV R7, A 18F7: FF MOV R7, A 18F8: FF MOV R7, A 18F9: FF MOV R7, A 18FA: FF MOV R7, A 18FB: FF MOV R7, A 18FC: FF MOV R7, A 18FD: FF MOV R7, A 18FE: FF MOV R7, A 18FF: FF MOV R7, A 1900: FF MOV R7, A 1901: FF MOV R7, A 1902: FF MOV R7, A 1903: FF MOV R7, A 1904: FF MOV R7, A 1905: FF MOV R7, A 1906: FF MOV R7, A 1907: FF MOV R7, A 1908: FF MOV R7, A 1909: FF MOV R7, A 190A: FF MOV R7, A 190B: FF MOV R7, A 190C: FF MOV R7, A 190D: FF MOV R7, A 190E: FF MOV R7, A 190F: FF MOV R7, A 1910: FF MOV R7, A 1911: FF MOV R7, A 1912: FF MOV R7, A 1913: FF MOV R7, A 1914: FF MOV R7, A 1915: FF MOV R7, A 1916: FF MOV R7, A 1917: FF MOV R7, A 1918: FF MOV R7, A 1919: FF MOV R7, A 191A: FF MOV R7, A 191B: FF MOV R7, A 191C: FF MOV R7, A 191D: FF MOV R7, A 191E: FF MOV R7, A 191F: FF MOV R7, A 1920: FF MOV R7, A 1921: FF MOV R7, A 1922: FF MOV R7, A 1923: FF MOV R7, A 1924: FF MOV R7, A 1925: FF MOV R7, A 1926: FF MOV R7, A 1927: FF MOV R7, A 1928: FF MOV R7, A 1929: FF MOV R7, A 192A: FF MOV R7, A 192B: FF MOV R7, A 192C: FF MOV R7, A 192D: FF MOV R7, A 192E: FF MOV R7, A 192F: FF MOV R7, A 1930: FF MOV R7, A 1931: FF MOV R7, A 1932: FF MOV R7, A 1933: FF MOV R7, A 1934: FF MOV R7, A 1935: FF MOV R7, A 1936: FF MOV R7, A 1937: FF MOV R7, A 1938: FF MOV R7, A 1939: FF MOV R7, A 193A: FF MOV R7, A 193B: FF MOV R7, A 193C: FF MOV R7, A 193D: FF MOV R7, A 193E: FF MOV R7, A 193F: FF MOV R7, A 1940: FF MOV R7, A 1941: FF MOV R7, A 1942: FF MOV R7, A 1943: FF MOV R7, A 1944: FF MOV R7, A 1945: FF MOV R7, A 1946: FF MOV R7, A 1947: FF MOV R7, A 1948: FF MOV R7, A 1949: FF MOV R7, A 194A: FF MOV R7, A 194B: FF MOV R7, A 194C: FF MOV R7, A 194D: FF MOV R7, A 194E: FF MOV R7, A 194F: FF MOV R7, A 1950: FF MOV R7, A 1951: FF MOV R7, A 1952: FF MOV R7, A 1953: FF MOV R7, A 1954: FF MOV R7, A 1955: FF MOV R7, A 1956: FF MOV R7, A 1957: FF MOV R7, A 1958: FF MOV R7, A 1959: FF MOV R7, A 195A: FF MOV R7, A 195B: FF MOV R7, A 195C: FF MOV R7, A 195D: FF MOV R7, A 195E: FF MOV R7, A 195F: FF MOV R7, A 1960: FF MOV R7, A 1961: FF MOV R7, A 1962: FF MOV R7, A 1963: FF MOV R7, A 1964: FF MOV R7, A 1965: FF MOV R7, A 1966: FF MOV R7, A 1967: FF MOV R7, A 1968: FF MOV R7, A 1969: FF MOV R7, A 196A: FF MOV R7, A 196B: FF MOV R7, A 196C: FF MOV R7, A 196D: FF MOV R7, A 196E: FF MOV R7, A 196F: FF MOV R7, A 1970: FF MOV R7, A 1971: FF MOV R7, A 1972: FF MOV R7, A 1973: FF MOV R7, A 1974: FF MOV R7, A 1975: FF MOV R7, A 1976: FF MOV R7, A 1977: FF MOV R7, A 1978: FF MOV R7, A 1979: FF MOV R7, A 197A: FF MOV R7, A 197B: FF MOV R7, A 197C: FF MOV R7, A 197D: FF MOV R7, A 197E: FF MOV R7, A 197F: FF MOV R7, A 1980: FF MOV R7, A 1981: FF MOV R7, A 1982: FF MOV R7, A 1983: FF MOV R7, A 1984: FF MOV R7, A 1985: FF MOV R7, A 1986: FF MOV R7, A 1987: FF MOV R7, A 1988: FF MOV R7, A 1989: FF MOV R7, A 198A: FF MOV R7, A 198B: FF MOV R7, A 198C: FF MOV R7, A 198D: FF MOV R7, A 198E: FF MOV R7, A 198F: FF MOV R7, A 1990: FF MOV R7, A 1991: FF MOV R7, A 1992: FF MOV R7, A 1993: FF MOV R7, A 1994: FF MOV R7, A 1995: FF MOV R7, A 1996: FF MOV R7, A 1997: FF MOV R7, A 1998: FF MOV R7, A 1999: FF MOV R7, A 199A: FF MOV R7, A 199B: FF MOV R7, A 199C: FF MOV R7, A 199D: FF MOV R7, A 199E: FF MOV R7, A 199F: FF MOV R7, A 19A0: FF MOV R7, A 19A1: FF MOV R7, A 19A2: FF MOV R7, A 19A3: FF MOV R7, A 19A4: FF MOV R7, A 19A5: FF MOV R7, A 19A6: FF MOV R7, A 19A7: FF MOV R7, A 19A8: FF MOV R7, A 19A9: FF MOV R7, A 19AA: FF MOV R7, A 19AB: FF MOV R7, A 19AC: FF MOV R7, A 19AD: FF MOV R7, A 19AE: FF MOV R7, A 19AF: FF MOV R7, A 19B0: FF MOV R7, A 19B1: FF MOV R7, A 19B2: FF MOV R7, A 19B3: FF MOV R7, A 19B4: FF MOV R7, A 19B5: FF MOV R7, A 19B6: FF MOV R7, A 19B7: FF MOV R7, A 19B8: FF MOV R7, A 19B9: FF MOV R7, A 19BA: FF MOV R7, A 19BB: FF MOV R7, A 19BC: FF MOV R7, A 19BD: FF MOV R7, A 19BE: FF MOV R7, A 19BF: FF MOV R7, A 19C0: FF MOV R7, A 19C1: FF MOV R7, A 19C2: FF MOV R7, A 19C3: FF MOV R7, A 19C4: FF MOV R7, A 19C5: FF MOV R7, A 19C6: FF MOV R7, A 19C7: FF MOV R7, A 19C8: FF MOV R7, A 19C9: FF MOV R7, A 19CA: FF MOV R7, A 19CB: FF MOV R7, A 19CC: FF MOV R7, A 19CD: FF MOV R7, A 19CE: FF MOV R7, A 19CF: FF MOV R7, A 19D0: FF MOV R7, A 19D1: FF MOV R7, A 19D2: FF MOV R7, A 19D3: FF MOV R7, A 19D4: FF MOV R7, A 19D5: FF MOV R7, A 19D6: FF MOV R7, A 19D7: FF MOV R7, A 19D8: FF MOV R7, A 19D9: FF MOV R7, A 19DA: FF MOV R7, A 19DB: FF MOV R7, A 19DC: FF MOV R7, A 19DD: FF MOV R7, A 19DE: FF MOV R7, A 19DF: FF MOV R7, A 19E0: FF MOV R7, A 19E1: FF MOV R7, A 19E2: FF MOV R7, A 19E3: FF MOV R7, A 19E4: FF MOV R7, A 19E5: FF MOV R7, A 19E6: FF MOV R7, A 19E7: FF MOV R7, A 19E8: FF MOV R7, A 19E9: FF MOV R7, A 19EA: FF MOV R7, A 19EB: FF MOV R7, A 19EC: FF MOV R7, A 19ED: FF MOV R7, A 19EE: FF MOV R7, A 19EF: FF MOV R7, A 19F0: FF MOV R7, A 19F1: FF MOV R7, A 19F2: FF MOV R7, A 19F3: FF MOV R7, A 19F4: FF MOV R7, A 19F5: FF MOV R7, A 19F6: FF MOV R7, A 19F7: FF MOV R7, A 19F8: FF MOV R7, A 19F9: FF MOV R7, A 19FA: FF MOV R7, A 19FB: FF MOV R7, A 19FC: FF MOV R7, A 19FD: FF MOV R7, A 19FE: FF MOV R7, A 19FF: FF MOV R7, A 1A00: FF MOV R7, A 1A01: FF MOV R7, A 1A02: FF MOV R7, A 1A03: FF MOV R7, A 1A04: FF MOV R7, A 1A05: FF MOV R7, A 1A06: FF MOV R7, A 1A07: FF MOV R7, A 1A08: FF MOV R7, A 1A09: FF MOV R7, A 1A0A: FF MOV R7, A 1A0B: FF MOV R7, A 1A0C: FF MOV R7, A 1A0D: FF MOV R7, A 1A0E: FF MOV R7, A 1A0F: FF MOV R7, A 1A10: FF MOV R7, A 1A11: FF MOV R7, A 1A12: FF MOV R7, A 1A13: FF MOV R7, A 1A14: FF MOV R7, A 1A15: FF MOV R7, A 1A16: FF MOV R7, A 1A17: FF MOV R7, A 1A18: FF MOV R7, A 1A19: FF MOV R7, A 1A1A: FF MOV R7, A 1A1B: FF MOV R7, A 1A1C: FF MOV R7, A 1A1D: FF MOV R7, A 1A1E: FF MOV R7, A 1A1F: FF MOV R7, A 1A20: FF MOV R7, A 1A21: FF MOV R7, A 1A22: FF MOV R7, A 1A23: FF MOV R7, A 1A24: FF MOV R7, A 1A25: FF MOV R7, A 1A26: FF MOV R7, A 1A27: FF MOV R7, A 1A28: FF MOV R7, A 1A29: FF MOV R7, A 1A2A: FF MOV R7, A 1A2B: FF MOV R7, A 1A2C: FF MOV R7, A 1A2D: FF MOV R7, A 1A2E: FF MOV R7, A 1A2F: FF MOV R7, A 1A30: FF MOV R7, A 1A31: FF MOV R7, A 1A32: FF MOV R7, A 1A33: FF MOV R7, A 1A34: FF MOV R7, A 1A35: FF MOV R7, A 1A36: FF MOV R7, A 1A37: FF MOV R7, A 1A38: FF MOV R7, A 1A39: FF MOV R7, A 1A3A: FF MOV R7, A 1A3B: FF MOV R7, A 1A3C: FF MOV R7, A 1A3D: FF MOV R7, A 1A3E: FF MOV R7, A 1A3F: FF MOV R7, A 1A40: FF MOV R7, A 1A41: FF MOV R7, A 1A42: FF MOV R7, A 1A43: FF MOV R7, A 1A44: FF MOV R7, A 1A45: FF MOV R7, A 1A46: FF MOV R7, A 1A47: FF MOV R7, A 1A48: FF MOV R7, A 1A49: FF MOV R7, A 1A4A: FF MOV R7, A 1A4B: FF MOV R7, A 1A4C: FF MOV R7, A 1A4D: FF MOV R7, A 1A4E: FF MOV R7, A 1A4F: FF MOV R7, A 1A50: FF MOV R7, A 1A51: FF MOV R7, A 1A52: FF MOV R7, A 1A53: FF MOV R7, A 1A54: FF MOV R7, A 1A55: FF MOV R7, A 1A56: FF MOV R7, A 1A57: FF MOV R7, A 1A58: FF MOV R7, A 1A59: FF MOV R7, A 1A5A: FF MOV R7, A 1A5B: FF MOV R7, A 1A5C: FF MOV R7, A 1A5D: FF MOV R7, A 1A5E: FF MOV R7, A 1A5F: FF MOV R7, A 1A60: FF MOV R7, A 1A61: FF MOV R7, A 1A62: FF MOV R7, A 1A63: FF MOV R7, A 1A64: FF MOV R7, A 1A65: FF MOV R7, A 1A66: FF MOV R7, A 1A67: FF MOV R7, A 1A68: FF MOV R7, A 1A69: FF MOV R7, A 1A6A: FF MOV R7, A 1A6B: FF MOV R7, A 1A6C: FF MOV R7, A 1A6D: FF MOV R7, A 1A6E: FF MOV R7, A 1A6F: FF MOV R7, A 1A70: FF MOV R7, A 1A71: FF MOV R7, A 1A72: FF MOV R7, A 1A73: FF MOV R7, A 1A74: FF MOV R7, A 1A75: FF MOV R7, A 1A76: FF MOV R7, A 1A77: FF MOV R7, A 1A78: FF MOV R7, A 1A79: FF MOV R7, A 1A7A: FF MOV R7, A 1A7B: FF MOV R7, A 1A7C: FF MOV R7, A 1A7D: FF MOV R7, A 1A7E: FF MOV R7, A 1A7F: FF MOV R7, A 1A80: FF MOV R7, A 1A81: FF MOV R7, A 1A82: FF MOV R7, A 1A83: FF MOV R7, A 1A84: FF MOV R7, A 1A85: FF MOV R7, A 1A86: FF MOV R7, A 1A87: FF MOV R7, A 1A88: FF MOV R7, A 1A89: FF MOV R7, A 1A8A: FF MOV R7, A 1A8B: FF MOV R7, A 1A8C: FF MOV R7, A 1A8D: FF MOV R7, A 1A8E: FF MOV R7, A 1A8F: FF MOV R7, A 1A90: FF MOV R7, A 1A91: FF MOV R7, A 1A92: FF MOV R7, A 1A93: FF MOV R7, A 1A94: FF MOV R7, A 1A95: FF MOV R7, A 1A96: FF MOV R7, A 1A97: FF MOV R7, A 1A98: FF MOV R7, A 1A99: FF MOV R7, A 1A9A: FF MOV R7, A 1A9B: FF MOV R7, A 1A9C: FF MOV R7, A 1A9D: FF MOV R7, A 1A9E: FF MOV R7, A 1A9F: FF MOV R7, A 1AA0: FF MOV R7, A 1AA1: FF MOV R7, A 1AA2: FF MOV R7, A 1AA3: FF MOV R7, A 1AA4: FF MOV R7, A 1AA5: FF MOV R7, A 1AA6: FF MOV R7, A 1AA7: FF MOV R7, A 1AA8: FF MOV R7, A 1AA9: FF MOV R7, A 1AAA: FF MOV R7, A 1AAB: FF MOV R7, A 1AAC: FF MOV R7, A 1AAD: FF MOV R7, A 1AAE: FF MOV R7, A 1AAF: FF MOV R7, A 1AB0: FF MOV R7, A 1AB1: FF MOV R7, A 1AB2: FF MOV R7, A 1AB3: FF MOV R7, A 1AB4: FF MOV R7, A 1AB5: FF MOV R7, A 1AB6: FF MOV R7, A 1AB7: FF MOV R7, A 1AB8: FF MOV R7, A 1AB9: FF MOV R7, A 1ABA: FF MOV R7, A 1ABB: FF MOV R7, A 1ABC: FF MOV R7, A 1ABD: FF MOV R7, A 1ABE: FF MOV R7, A 1ABF: FF MOV R7, A 1AC0: FF MOV R7, A 1AC1: FF MOV R7, A 1AC2: FF MOV R7, A 1AC3: FF MOV R7, A 1AC4: FF MOV R7, A 1AC5: FF MOV R7, A 1AC6: FF MOV R7, A 1AC7: FF MOV R7, A 1AC8: FF MOV R7, A 1AC9: FF MOV R7, A 1ACA: FF MOV R7, A 1ACB: FF MOV R7, A 1ACC: FF MOV R7, A 1ACD: FF MOV R7, A 1ACE: FF MOV R7, A 1ACF: FF MOV R7, A 1AD0: FF MOV R7, A 1AD1: FF MOV R7, A 1AD2: FF MOV R7, A 1AD3: FF MOV R7, A 1AD4: FF MOV R7, A 1AD5: FF MOV R7, A 1AD6: FF MOV R7, A 1AD7: FF MOV R7, A 1AD8: FF MOV R7, A 1AD9: FF MOV R7, A 1ADA: FF MOV R7, A 1ADB: FF MOV R7, A 1ADC: FF MOV R7, A 1ADD: FF MOV R7, A 1ADE: FF MOV R7, A 1ADF: FF MOV R7, A 1AE0: FF MOV R7, A 1AE1: FF MOV R7, A 1AE2: FF MOV R7, A 1AE3: FF MOV R7, A 1AE4: FF MOV R7, A 1AE5: FF MOV R7, A 1AE6: FF MOV R7, A 1AE7: FF MOV R7, A 1AE8: FF MOV R7, A 1AE9: FF MOV R7, A 1AEA: FF MOV R7, A 1AEB: FF MOV R7, A 1AEC: FF MOV R7, A 1AED: FF MOV R7, A 1AEE: FF MOV R7, A 1AEF: FF MOV R7, A 1AF0: FF MOV R7, A 1AF1: FF MOV R7, A 1AF2: FF MOV R7, A 1AF3: FF MOV R7, A 1AF4: FF MOV R7, A 1AF5: FF MOV R7, A 1AF6: FF MOV R7, A 1AF7: FF MOV R7, A 1AF8: FF MOV R7, A 1AF9: FF MOV R7, A 1AFA: FF MOV R7, A 1AFB: FF MOV R7, A 1AFC: FF MOV R7, A 1AFD: FF MOV R7, A 1AFE: FF MOV R7, A 1AFF: FF MOV R7, A 1B00: FF MOV R7, A 1B01: FF MOV R7, A 1B02: FF MOV R7, A 1B03: FF MOV R7, A 1B04: FF MOV R7, A 1B05: FF MOV R7, A 1B06: FF MOV R7, A 1B07: FF MOV R7, A 1B08: FF MOV R7, A 1B09: FF MOV R7, A 1B0A: FF MOV R7, A 1B0B: FF MOV R7, A 1B0C: FF MOV R7, A 1B0D: FF MOV R7, A 1B0E: FF MOV R7, A 1B0F: FF MOV R7, A 1B10: FF MOV R7, A 1B11: FF MOV R7, A 1B12: FF MOV R7, A 1B13: FF MOV R7, A 1B14: FF MOV R7, A 1B15: FF MOV R7, A 1B16: FF MOV R7, A 1B17: FF MOV R7, A 1B18: FF MOV R7, A 1B19: FF MOV R7, A 1B1A: FF MOV R7, A 1B1B: FF MOV R7, A 1B1C: FF MOV R7, A 1B1D: FF MOV R7, A 1B1E: FF MOV R7, A 1B1F: FF MOV R7, A 1B20: FF MOV R7, A 1B21: FF MOV R7, A 1B22: FF MOV R7, A 1B23: FF MOV R7, A 1B24: FF MOV R7, A 1B25: FF MOV R7, A 1B26: FF MOV R7, A 1B27: FF MOV R7, A 1B28: FF MOV R7, A 1B29: FF MOV R7, A 1B2A: FF MOV R7, A 1B2B: FF MOV R7, A 1B2C: FF MOV R7, A 1B2D: FF MOV R7, A 1B2E: FF MOV R7, A 1B2F: FF MOV R7, A 1B30: FF MOV R7, A 1B31: FF MOV R7, A 1B32: FF MOV R7, A 1B33: FF MOV R7, A 1B34: FF MOV R7, A 1B35: FF MOV R7, A 1B36: FF MOV R7, A 1B37: FF MOV R7, A 1B38: FF MOV R7, A 1B39: FF MOV R7, A 1B3A: FF MOV R7, A 1B3B: FF MOV R7, A 1B3C: FF MOV R7, A 1B3D: FF MOV R7, A 1B3E: FF MOV R7, A 1B3F: FF MOV R7, A 1B40: FF MOV R7, A 1B41: FF MOV R7, A 1B42: FF MOV R7, A 1B43: FF MOV R7, A 1B44: FF MOV R7, A 1B45: FF MOV R7, A 1B46: FF MOV R7, A 1B47: FF MOV R7, A 1B48: FF MOV R7, A 1B49: FF MOV R7, A 1B4A: FF MOV R7, A 1B4B: FF MOV R7, A 1B4C: FF MOV R7, A 1B4D: FF MOV R7, A 1B4E: FF MOV R7, A 1B4F: FF MOV R7, A 1B50: FF MOV R7, A 1B51: FF MOV R7, A 1B52: FF MOV R7, A 1B53: FF MOV R7, A 1B54: FF MOV R7, A 1B55: FF MOV R7, A 1B56: FF MOV R7, A 1B57: FF MOV R7, A 1B58: FF MOV R7, A 1B59: FF MOV R7, A 1B5A: FF MOV R7, A 1B5B: FF MOV R7, A 1B5C: FF MOV R7, A 1B5D: FF MOV R7, A 1B5E: FF MOV R7, A 1B5F: FF MOV R7, A 1B60: FF MOV R7, A 1B61: FF MOV R7, A 1B62: FF MOV R7, A 1B63: FF MOV R7, A 1B64: FF MOV R7, A 1B65: FF MOV R7, A 1B66: FF MOV R7, A 1B67: FF MOV R7, A 1B68: FF MOV R7, A 1B69: FF MOV R7, A 1B6A: FF MOV R7, A 1B6B: FF MOV R7, A 1B6C: FF MOV R7, A 1B6D: FF MOV R7, A 1B6E: FF MOV R7, A 1B6F: FF MOV R7, A 1B70: FF MOV R7, A 1B71: FF MOV R7, A 1B72: FF MOV R7, A 1B73: FF MOV R7, A 1B74: FF MOV R7, A 1B75: FF MOV R7, A 1B76: FF MOV R7, A 1B77: FF MOV R7, A 1B78: FF MOV R7, A 1B79: FF MOV R7, A 1B7A: FF MOV R7, A 1B7B: FF MOV R7, A 1B7C: FF MOV R7, A 1B7D: FF MOV R7, A 1B7E: FF MOV R7, A 1B7F: FF MOV R7, A 1B80: FF MOV R7, A 1B81: FF MOV R7, A 1B82: FF MOV R7, A 1B83: FF MOV R7, A 1B84: FF MOV R7, A 1B85: FF MOV R7, A 1B86: FF MOV R7, A 1B87: FF MOV R7, A 1B88: FF MOV R7, A 1B89: FF MOV R7, A 1B8A: FF MOV R7, A 1B8B: FF MOV R7, A 1B8C: FF MOV R7, A 1B8D: FF MOV R7, A 1B8E: FF MOV R7, A 1B8F: FF MOV R7, A 1B90: FF MOV R7, A 1B91: FF MOV R7, A 1B92: FF MOV R7, A 1B93: FF MOV R7, A 1B94: FF MOV R7, A 1B95: FF MOV R7, A 1B96: FF MOV R7, A 1B97: FF MOV R7, A 1B98: FF MOV R7, A 1B99: FF MOV R7, A 1B9A: FF MOV R7, A 1B9B: FF MOV R7, A 1B9C: FF MOV R7, A 1B9D: FF MOV R7, A 1B9E: FF MOV R7, A 1B9F: FF MOV R7, A 1BA0: FF MOV R7, A 1BA1: FF MOV R7, A 1BA2: FF MOV R7, A 1BA3: FF MOV R7, A 1BA4: FF MOV R7, A 1BA5: FF MOV R7, A 1BA6: FF MOV R7, A 1BA7: FF MOV R7, A 1BA8: FF MOV R7, A 1BA9: FF MOV R7, A 1BAA: FF MOV R7, A 1BAB: FF MOV R7, A 1BAC: FF MOV R7, A 1BAD: FF MOV R7, A 1BAE: FF MOV R7, A 1BAF: FF MOV R7, A 1BB0: FF MOV R7, A 1BB1: FF MOV R7, A 1BB2: FF MOV R7, A 1BB3: FF MOV R7, A 1BB4: FF MOV R7, A 1BB5: FF MOV R7, A 1BB6: FF MOV R7, A 1BB7: FF MOV R7, A 1BB8: FF MOV R7, A 1BB9: FF MOV R7, A 1BBA: FF MOV R7, A 1BBB: FF MOV R7, A 1BBC: FF MOV R7, A 1BBD: FF MOV R7, A 1BBE: FF MOV R7, A 1BBF: FF MOV R7, A 1BC0: FF MOV R7, A 1BC1: FF MOV R7, A 1BC2: FF MOV R7, A 1BC3: FF MOV R7, A 1BC4: FF MOV R7, A 1BC5: FF MOV R7, A 1BC6: FF MOV R7, A 1BC7: FF MOV R7, A 1BC8: FF MOV R7, A 1BC9: FF MOV R7, A 1BCA: FF MOV R7, A 1BCB: FF MOV R7, A 1BCC: FF MOV R7, A 1BCD: FF MOV R7, A 1BCE: FF MOV R7, A 1BCF: FF MOV R7, A 1BD0: FF MOV R7, A 1BD1: FF MOV R7, A 1BD2: FF MOV R7, A 1BD3: FF MOV R7, A 1BD4: FF MOV R7, A 1BD5: FF MOV R7, A 1BD6: FF MOV R7, A 1BD7: FF MOV R7, A 1BD8: FF MOV R7, A 1BD9: FF MOV R7, A 1BDA: FF MOV R7, A 1BDB: FF MOV R7, A 1BDC: FF MOV R7, A 1BDD: FF MOV R7, A 1BDE: FF MOV R7, A 1BDF: FF MOV R7, A 1BE0: FF MOV R7, A 1BE1: FF MOV R7, A 1BE2: FF MOV R7, A 1BE3: FF MOV R7, A 1BE4: FF MOV R7, A 1BE5: FF MOV R7, A 1BE6: FF MOV R7, A 1BE7: FF MOV R7, A 1BE8: FF MOV R7, A 1BE9: FF MOV R7, A 1BEA: FF MOV R7, A 1BEB: FF MOV R7, A 1BEC: FF MOV R7, A 1BED: FF MOV R7, A 1BEE: FF MOV R7, A 1BEF: FF MOV R7, A 1BF0: FF MOV R7, A 1BF1: FF MOV R7, A 1BF2: FF MOV R7, A 1BF3: FF MOV R7, A 1BF4: FF MOV R7, A 1BF5: FF MOV R7, A 1BF6: FF MOV R7, A 1BF7: FF MOV R7, A 1BF8: FF MOV R7, A 1BF9: FF MOV R7, A 1BFA: FF MOV R7, A 1BFB: FF MOV R7, A 1BFC: FF MOV R7, A 1BFD: FF MOV R7, A 1BFE: FF MOV R7, A 1BFF: FF MOV R7, A 1C00: FF MOV R7, A 1C01: FF MOV R7, A 1C02: FF MOV R7, A 1C03: FF MOV R7, A 1C04: FF MOV R7, A 1C05: FF MOV R7, A 1C06: FF MOV R7, A 1C07: FF MOV R7, A 1C08: FF MOV R7, A 1C09: FF MOV R7, A 1C0A: FF MOV R7, A 1C0B: FF MOV R7, A 1C0C: FF MOV R7, A 1C0D: FF MOV R7, A 1C0E: FF MOV R7, A 1C0F: FF MOV R7, A 1C10: FF MOV R7, A 1C11: FF MOV R7, A 1C12: FF MOV R7, A 1C13: FF MOV R7, A 1C14: FF MOV R7, A 1C15: FF MOV R7, A 1C16: FF MOV R7, A 1C17: FF MOV R7, A 1C18: FF MOV R7, A 1C19: FF MOV R7, A 1C1A: FF MOV R7, A 1C1B: FF MOV R7, A 1C1C: FF MOV R7, A 1C1D: FF MOV R7, A 1C1E: FF MOV R7, A 1C1F: FF MOV R7, A 1C20: FF MOV R7, A 1C21: FF MOV R7, A 1C22: FF MOV R7, A 1C23: FF MOV R7, A 1C24: FF MOV R7, A 1C25: FF MOV R7, A 1C26: FF MOV R7, A 1C27: FF MOV R7, A 1C28: FF MOV R7, A 1C29: FF MOV R7, A 1C2A: FF MOV R7, A 1C2B: FF MOV R7, A 1C2C: FF MOV R7, A 1C2D: FF MOV R7, A 1C2E: FF MOV R7, A 1C2F: FF MOV R7, A 1C30: FF MOV R7, A 1C31: FF MOV R7, A 1C32: FF MOV R7, A 1C33: FF MOV R7, A 1C34: FF MOV R7, A 1C35: FF MOV R7, A 1C36: FF MOV R7, A 1C37: FF MOV R7, A 1C38: FF MOV R7, A 1C39: FF MOV R7, A 1C3A: FF MOV R7, A 1C3B: FF MOV R7, A 1C3C: FF MOV R7, A 1C3D: FF MOV R7, A 1C3E: FF MOV R7, A 1C3F: FF MOV R7, A 1C40: FF MOV R7, A 1C41: FF MOV R7, A 1C42: FF MOV R7, A 1C43: FF MOV R7, A 1C44: FF MOV R7, A 1C45: FF MOV R7, A 1C46: FF MOV R7, A 1C47: FF MOV R7, A 1C48: FF MOV R7, A 1C49: FF MOV R7, A 1C4A: FF MOV R7, A 1C4B: FF MOV R7, A 1C4C: FF MOV R7, A 1C4D: FF MOV R7, A 1C4E: FF MOV R7, A 1C4F: FF MOV R7, A 1C50: FF MOV R7, A 1C51: FF MOV R7, A 1C52: FF MOV R7, A 1C53: FF MOV R7, A 1C54: FF MOV R7, A 1C55: FF MOV R7, A 1C56: FF MOV R7, A 1C57: FF MOV R7, A 1C58: FF MOV R7, A 1C59: FF MOV R7, A 1C5A: FF MOV R7, A 1C5B: FF MOV R7, A 1C5C: FF MOV R7, A 1C5D: FF MOV R7, A 1C5E: FF MOV R7, A 1C5F: FF MOV R7, A 1C60: FF MOV R7, A 1C61: FF MOV R7, A 1C62: FF MOV R7, A 1C63: FF MOV R7, A 1C64: FF MOV R7, A 1C65: FF MOV R7, A 1C66: FF MOV R7, A 1C67: FF MOV R7, A 1C68: FF MOV R7, A 1C69: FF MOV R7, A 1C6A: FF MOV R7, A 1C6B: FF MOV R7, A 1C6C: FF MOV R7, A 1C6D: FF MOV R7, A 1C6E: FF MOV R7, A 1C6F: FF MOV R7, A 1C70: FF MOV R7, A 1C71: FF MOV R7, A 1C72: FF MOV R7, A 1C73: FF MOV R7, A 1C74: FF MOV R7, A 1C75: FF MOV R7, A 1C76: FF MOV R7, A 1C77: FF MOV R7, A 1C78: FF MOV R7, A 1C79: FF MOV R7, A 1C7A: FF MOV R7, A 1C7B: FF MOV R7, A 1C7C: FF MOV R7, A 1C7D: FF MOV R7, A 1C7E: FF MOV R7, A 1C7F: FF MOV R7, A 1C80: FF MOV R7, A 1C81: FF MOV R7, A 1C82: FF MOV R7, A 1C83: FF MOV R7, A 1C84: FF MOV R7, A 1C85: FF MOV R7, A 1C86: FF MOV R7, A 1C87: FF MOV R7, A 1C88: FF MOV R7, A 1C89: FF MOV R7, A 1C8A: FF MOV R7, A 1C8B: FF MOV R7, A 1C8C: FF MOV R7, A 1C8D: FF MOV R7, A 1C8E: FF MOV R7, A 1C8F: FF MOV R7, A 1C90: FF MOV R7, A 1C91: FF MOV R7, A 1C92: FF MOV R7, A 1C93: FF MOV R7, A 1C94: FF MOV R7, A 1C95: FF MOV R7, A 1C96: FF MOV R7, A 1C97: FF MOV R7, A 1C98: FF MOV R7, A 1C99: FF MOV R7, A 1C9A: FF MOV R7, A 1C9B: FF MOV R7, A 1C9C: FF MOV R7, A 1C9D: FF MOV R7, A 1C9E: FF MOV R7, A 1C9F: FF MOV R7, A 1CA0: FF MOV R7, A 1CA1: FF MOV R7, A 1CA2: FF MOV R7, A 1CA3: FF MOV R7, A 1CA4: FF MOV R7, A 1CA5: FF MOV R7, A 1CA6: FF MOV R7, A 1CA7: FF MOV R7, A 1CA8: FF MOV R7, A 1CA9: FF MOV R7, A 1CAA: FF MOV R7, A 1CAB: FF MOV R7, A 1CAC: FF MOV R7, A 1CAD: FF MOV R7, A 1CAE: FF MOV R7, A 1CAF: FF MOV R7, A 1CB0: FF MOV R7, A 1CB1: FF MOV R7, A 1CB2: FF MOV R7, A 1CB3: FF MOV R7, A 1CB4: FF MOV R7, A 1CB5: FF MOV R7, A 1CB6: FF MOV R7, A 1CB7: FF MOV R7, A 1CB8: FF MOV R7, A 1CB9: FF MOV R7, A 1CBA: FF MOV R7, A 1CBB: FF MOV R7, A 1CBC: FF MOV R7, A 1CBD: FF MOV R7, A 1CBE: FF MOV R7, A 1CBF: FF MOV R7, A 1CC0: FF MOV R7, A 1CC1: FF MOV R7, A 1CC2: FF MOV R7, A 1CC3: FF MOV R7, A 1CC4: FF MOV R7, A 1CC5: FF MOV R7, A 1CC6: FF MOV R7, A 1CC7: FF MOV R7, A 1CC8: FF MOV R7, A 1CC9: FF MOV R7, A 1CCA: FF MOV R7, A 1CCB: FF MOV R7, A 1CCC: FF MOV R7, A 1CCD: FF MOV R7, A 1CCE: FF MOV R7, A 1CCF: FF MOV R7, A 1CD0: FF MOV R7, A 1CD1: FF MOV R7, A 1CD2: FF MOV R7, A 1CD3: FF MOV R7, A 1CD4: FF MOV R7, A 1CD5: FF MOV R7, A 1CD6: FF MOV R7, A 1CD7: FF MOV R7, A 1CD8: FF MOV R7, A 1CD9: FF MOV R7, A 1CDA: FF MOV R7, A 1CDB: FF MOV R7, A 1CDC: FF MOV R7, A 1CDD: FF MOV R7, A 1CDE: FF MOV R7, A 1CDF: FF MOV R7, A 1CE0: FF MOV R7, A 1CE1: FF MOV R7, A 1CE2: FF MOV R7, A 1CE3: FF MOV R7, A 1CE4: FF MOV R7, A 1CE5: FF MOV R7, A 1CE6: FF MOV R7, A 1CE7: FF MOV R7, A 1CE8: FF MOV R7, A 1CE9: FF MOV R7, A 1CEA: FF MOV R7, A 1CEB: FF MOV R7, A 1CEC: FF MOV R7, A 1CED: FF MOV R7, A 1CEE: FF MOV R7, A 1CEF: FF MOV R7, A 1CF0: FF MOV R7, A 1CF1: FF MOV R7, A 1CF2: FF MOV R7, A 1CF3: FF MOV R7, A 1CF4: FF MOV R7, A 1CF5: FF MOV R7, A 1CF6: FF MOV R7, A 1CF7: FF MOV R7, A 1CF8: FF MOV R7, A 1CF9: FF MOV R7, A 1CFA: FF MOV R7, A 1CFB: FF MOV R7, A 1CFC: FF MOV R7, A 1CFD: FF MOV R7, A 1CFE: FF MOV R7, A 1CFF: FF MOV R7, A 1D00: FF MOV R7, A 1D01: FF MOV R7, A 1D02: FF MOV R7, A 1D03: FF MOV R7, A 1D04: FF MOV R7, A 1D05: FF MOV R7, A 1D06: FF MOV R7, A 1D07: FF MOV R7, A 1D08: FF MOV R7, A 1D09: FF MOV R7, A 1D0A: FF MOV R7, A 1D0B: FF MOV R7, A 1D0C: FF MOV R7, A 1D0D: FF MOV R7, A 1D0E: FF MOV R7, A 1D0F: FF MOV R7, A 1D10: FF MOV R7, A 1D11: FF MOV R7, A 1D12: FF MOV R7, A 1D13: FF MOV R7, A 1D14: FF MOV R7, A 1D15: FF MOV R7, A 1D16: FF MOV R7, A 1D17: FF MOV R7, A 1D18: FF MOV R7, A 1D19: FF MOV R7, A 1D1A: FF MOV R7, A 1D1B: FF MOV R7, A 1D1C: FF MOV R7, A 1D1D: FF MOV R7, A 1D1E: FF MOV R7, A 1D1F: FF MOV R7, A 1D20: FF MOV R7, A 1D21: FF MOV R7, A 1D22: FF MOV R7, A 1D23: FF MOV R7, A 1D24: FF MOV R7, A 1D25: FF MOV R7, A 1D26: FF MOV R7, A 1D27: FF MOV R7, A 1D28: FF MOV R7, A 1D29: FF MOV R7, A 1D2A: FF MOV R7, A 1D2B: FF MOV R7, A 1D2C: FF MOV R7, A 1D2D: FF MOV R7, A 1D2E: FF MOV R7, A 1D2F: FF MOV R7, A 1D30: FF MOV R7, A 1D31: FF MOV R7, A 1D32: FF MOV R7, A 1D33: FF MOV R7, A 1D34: FF MOV R7, A 1D35: FF MOV R7, A 1D36: FF MOV R7, A 1D37: FF MOV R7, A 1D38: FF MOV R7, A 1D39: FF MOV R7, A 1D3A: FF MOV R7, A 1D3B: FF MOV R7, A 1D3C: FF MOV R7, A 1D3D: FF MOV R7, A 1D3E: FF MOV R7, A 1D3F: FF MOV R7, A 1D40: FF MOV R7, A 1D41: FF MOV R7, A 1D42: FF MOV R7, A 1D43: FF MOV R7, A 1D44: FF MOV R7, A 1D45: FF MOV R7, A 1D46: FF MOV R7, A 1D47: FF MOV R7, A 1D48: FF MOV R7, A 1D49: FF MOV R7, A 1D4A: FF MOV R7, A 1D4B: FF MOV R7, A 1D4C: FF MOV R7, A 1D4D: FF MOV R7, A 1D4E: FF MOV R7, A 1D4F: FF MOV R7, A 1D50: FF MOV R7, A 1D51: FF MOV R7, A 1D52: FF MOV R7, A 1D53: FF MOV R7, A 1D54: FF MOV R7, A 1D55: FF MOV R7, A 1D56: FF MOV R7, A 1D57: FF MOV R7, A 1D58: FF MOV R7, A 1D59: FF MOV R7, A 1D5A: FF MOV R7, A 1D5B: FF MOV R7, A 1D5C: FF MOV R7, A 1D5D: FF MOV R7, A 1D5E: FF MOV R7, A 1D5F: FF MOV R7, A 1D60: FF MOV R7, A 1D61: FF MOV R7, A 1D62: FF MOV R7, A 1D63: FF MOV R7, A 1D64: FF MOV R7, A 1D65: FF MOV R7, A 1D66: FF MOV R7, A 1D67: FF MOV R7, A 1D68: FF MOV R7, A 1D69: FF MOV R7, A 1D6A: FF MOV R7, A 1D6B: FF MOV R7, A 1D6C: FF MOV R7, A 1D6D: FF MOV R7, A 1D6E: FF MOV R7, A 1D6F: FF MOV R7, A 1D70: FF MOV R7, A 1D71: FF MOV R7, A 1D72: FF MOV R7, A 1D73: FF MOV R7, A 1D74: FF MOV R7, A 1D75: FF MOV R7, A 1D76: FF MOV R7, A 1D77: FF MOV R7, A 1D78: FF MOV R7, A 1D79: FF MOV R7, A 1D7A: FF MOV R7, A 1D7B: FF MOV R7, A 1D7C: FF MOV R7, A 1D7D: FF MOV R7, A 1D7E: FF MOV R7, A 1D7F: FF MOV R7, A 1D80: FF MOV R7, A 1D81: FF MOV R7, A 1D82: FF MOV R7, A 1D83: FF MOV R7, A 1D84: FF MOV R7, A 1D85: FF MOV R7, A 1D86: FF MOV R7, A 1D87: FF MOV R7, A 1D88: FF MOV R7, A 1D89: FF MOV R7, A 1D8A: FF MOV R7, A 1D8B: FF MOV R7, A 1D8C: FF MOV R7, A 1D8D: FF MOV R7, A 1D8E: FF MOV R7, A 1D8F: FF MOV R7, A 1D90: FF MOV R7, A 1D91: FF MOV R7, A 1D92: FF MOV R7, A 1D93: FF MOV R7, A 1D94: FF MOV R7, A 1D95: FF MOV R7, A 1D96: FF MOV R7, A 1D97: FF MOV R7, A 1D98: FF MOV R7, A 1D99: FF MOV R7, A 1D9A: FF MOV R7, A 1D9B: FF MOV R7, A 1D9C: FF MOV R7, A 1D9D: FF MOV R7, A 1D9E: FF MOV R7, A 1D9F: FF MOV R7, A 1DA0: FF MOV R7, A 1DA1: FF MOV R7, A 1DA2: FF MOV R7, A 1DA3: FF MOV R7, A 1DA4: FF MOV R7, A 1DA5: FF MOV R7, A 1DA6: FF MOV R7, A 1DA7: FF MOV R7, A 1DA8: FF MOV R7, A 1DA9: FF MOV R7, A 1DAA: FF MOV R7, A 1DAB: FF MOV R7, A 1DAC: FF MOV R7, A 1DAD: FF MOV R7, A 1DAE: FF MOV R7, A 1DAF: FF MOV R7, A 1DB0: FF MOV R7, A 1DB1: FF MOV R7, A 1DB2: FF MOV R7, A 1DB3: FF MOV R7, A 1DB4: FF MOV R7, A 1DB5: FF MOV R7, A 1DB6: FF MOV R7, A 1DB7: FF MOV R7, A 1DB8: FF MOV R7, A 1DB9: FF MOV R7, A 1DBA: FF MOV R7, A 1DBB: FF MOV R7, A 1DBC: FF MOV R7, A 1DBD: FF MOV R7, A 1DBE: FF MOV R7, A 1DBF: FF MOV R7, A 1DC0: FF MOV R7, A 1DC1: FF MOV R7, A 1DC2: FF MOV R7, A 1DC3: FF MOV R7, A 1DC4: FF MOV R7, A 1DC5: FF MOV R7, A 1DC6: FF MOV R7, A 1DC7: FF MOV R7, A 1DC8: FF MOV R7, A 1DC9: FF MOV R7, A 1DCA: FF MOV R7, A 1DCB: FF MOV R7, A 1DCC: FF MOV R7, A 1DCD: FF MOV R7, A 1DCE: FF MOV R7, A 1DCF: FF MOV R7, A 1DD0: FF MOV R7, A 1DD1: FF MOV R7, A 1DD2: FF MOV R7, A 1DD3: FF MOV R7, A 1DD4: FF MOV R7, A 1DD5: FF MOV R7, A 1DD6: FF MOV R7, A 1DD7: FF MOV R7, A 1DD8: FF MOV R7, A 1DD9: FF MOV R7, A 1DDA: FF MOV R7, A 1DDB: FF MOV R7, A 1DDC: FF MOV R7, A 1DDD: FF MOV R7, A 1DDE: FF MOV R7, A 1DDF: FF MOV R7, A 1DE0: FF MOV R7, A 1DE1: FF MOV R7, A 1DE2: FF MOV R7, A 1DE3: FF MOV R7, A 1DE4: FF MOV R7, A 1DE5: FF MOV R7, A 1DE6: FF MOV R7, A 1DE7: FF MOV R7, A 1DE8: FF MOV R7, A 1DE9: FF MOV R7, A 1DEA: FF MOV R7, A 1DEB: FF MOV R7, A 1DEC: FF MOV R7, A 1DED: FF MOV R7, A 1DEE: FF MOV R7, A 1DEF: FF MOV R7, A 1DF0: FF MOV R7, A 1DF1: FF MOV R7, A 1DF2: FF MOV R7, A 1DF3: FF MOV R7, A 1DF4: FF MOV R7, A 1DF5: FF MOV R7, A 1DF6: FF MOV R7, A 1DF7: FF MOV R7, A 1DF8: FF MOV R7, A 1DF9: FF MOV R7, A 1DFA: FF MOV R7, A 1DFB: FF MOV R7, A 1DFC: FF MOV R7, A 1DFD: FF MOV R7, A 1DFE: FF MOV R7, A 1DFF: FF MOV R7, A 1E00: FF MOV R7, A 1E01: FF MOV R7, A 1E02: FF MOV R7, A 1E03: FF MOV R7, A 1E04: FF MOV R7, A 1E05: FF MOV R7, A 1E06: FF MOV R7, A 1E07: FF MOV R7, A 1E08: FF MOV R7, A 1E09: FF MOV R7, A 1E0A: FF MOV R7, A 1E0B: FF MOV R7, A 1E0C: FF MOV R7, A 1E0D: FF MOV R7, A 1E0E: FF MOV R7, A 1E0F: FF MOV R7, A 1E10: FF MOV R7, A 1E11: FF MOV R7, A 1E12: FF MOV R7, A 1E13: FF MOV R7, A 1E14: FF MOV R7, A 1E15: FF MOV R7, A 1E16: FF MOV R7, A 1E17: FF MOV R7, A 1E18: FF MOV R7, A 1E19: FF MOV R7, A 1E1A: FF MOV R7, A 1E1B: FF MOV R7, A 1E1C: FF MOV R7, A 1E1D: FF MOV R7, A 1E1E: FF MOV R7, A 1E1F: FF MOV R7, A 1E20: FF MOV R7, A 1E21: FF MOV R7, A 1E22: FF MOV R7, A 1E23: FF MOV R7, A 1E24: FF MOV R7, A 1E25: FF MOV R7, A 1E26: FF MOV R7, A 1E27: FF MOV R7, A 1E28: FF MOV R7, A 1E29: FF MOV R7, A 1E2A: FF MOV R7, A 1E2B: FF MOV R7, A 1E2C: FF MOV R7, A 1E2D: FF MOV R7, A 1E2E: FF MOV R7, A 1E2F: FF MOV R7, A 1E30: FF MOV R7, A 1E31: FF MOV R7, A 1E32: FF MOV R7, A 1E33: FF MOV R7, A 1E34: FF MOV R7, A 1E35: FF MOV R7, A 1E36: FF MOV R7, A 1E37: FF MOV R7, A 1E38: FF MOV R7, A 1E39: FF MOV R7, A 1E3A: FF MOV R7, A 1E3B: FF MOV R7, A 1E3C: FF MOV R7, A 1E3D: FF MOV R7, A 1E3E: FF MOV R7, A 1E3F: FF MOV R7, A 1E40: FF MOV R7, A 1E41: FF MOV R7, A 1E42: FF MOV R7, A 1E43: FF MOV R7, A 1E44: FF MOV R7, A 1E45: FF MOV R7, A 1E46: FF MOV R7, A 1E47: FF MOV R7, A 1E48: FF MOV R7, A 1E49: FF MOV R7, A 1E4A: FF MOV R7, A 1E4B: FF MOV R7, A 1E4C: FF MOV R7, A 1E4D: FF MOV R7, A 1E4E: FF MOV R7, A 1E4F: FF MOV R7, A 1E50: FF MOV R7, A 1E51: FF MOV R7, A 1E52: FF MOV R7, A 1E53: FF MOV R7, A 1E54: FF MOV R7, A 1E55: FF MOV R7, A 1E56: FF MOV R7, A 1E57: FF MOV R7, A 1E58: FF MOV R7, A 1E59: FF MOV R7, A 1E5A: FF MOV R7, A 1E5B: FF MOV R7, A 1E5C: FF MOV R7, A 1E5D: FF MOV R7, A 1E5E: FF MOV R7, A 1E5F: FF MOV R7, A 1E60: FF MOV R7, A 1E61: FF MOV R7, A 1E62: FF MOV R7, A 1E63: FF MOV R7, A 1E64: FF MOV R7, A 1E65: FF MOV R7, A 1E66: FF MOV R7, A 1E67: FF MOV R7, A 1E68: FF MOV R7, A 1E69: FF MOV R7, A 1E6A: FF MOV R7, A 1E6B: FF MOV R7, A 1E6C: FF MOV R7, A 1E6D: FF MOV R7, A 1E6E: FF MOV R7, A 1E6F: FF MOV R7, A 1E70: FF MOV R7, A 1E71: FF MOV R7, A 1E72: FF MOV R7, A 1E73: FF MOV R7, A 1E74: FF MOV R7, A 1E75: FF MOV R7, A 1E76: FF MOV R7, A 1E77: FF MOV R7, A 1E78: FF MOV R7, A 1E79: FF MOV R7, A 1E7A: FF MOV R7, A 1E7B: FF MOV R7, A 1E7C: FF MOV R7, A 1E7D: FF MOV R7, A 1E7E: FF MOV R7, A 1E7F: FF MOV R7, A 1E80: FF MOV R7, A 1E81: FF MOV R7, A 1E82: FF MOV R7, A 1E83: FF MOV R7, A 1E84: FF MOV R7, A 1E85: FF MOV R7, A 1E86: FF MOV R7, A 1E87: FF MOV R7, A 1E88: FF MOV R7, A 1E89: FF MOV R7, A 1E8A: FF MOV R7, A 1E8B: FF MOV R7, A 1E8C: FF MOV R7, A 1E8D: FF MOV R7, A 1E8E: FF MOV R7, A 1E8F: FF MOV R7, A 1E90: FF MOV R7, A 1E91: FF MOV R7, A 1E92: FF MOV R7, A 1E93: FF MOV R7, A 1E94: FF MOV R7, A 1E95: FF MOV R7, A 1E96: FF MOV R7, A 1E97: FF MOV R7, A 1E98: FF MOV R7, A 1E99: FF MOV R7, A 1E9A: FF MOV R7, A 1E9B: FF MOV R7, A 1E9C: FF MOV R7, A 1E9D: FF MOV R7, A 1E9E: FF MOV R7, A 1E9F: FF MOV R7, A 1EA0: FF MOV R7, A 1EA1: FF MOV R7, A 1EA2: FF MOV R7, A 1EA3: FF MOV R7, A 1EA4: FF MOV R7, A 1EA5: FF MOV R7, A 1EA6: FF MOV R7, A 1EA7: FF MOV R7, A 1EA8: FF MOV R7, A 1EA9: FF MOV R7, A 1EAA: FF MOV R7, A 1EAB: FF MOV R7, A 1EAC: FF MOV R7, A 1EAD: FF MOV R7, A 1EAE: FF MOV R7, A 1EAF: FF MOV R7, A 1EB0: FF MOV R7, A 1EB1: FF MOV R7, A 1EB2: FF MOV R7, A 1EB3: FF MOV R7, A 1EB4: FF MOV R7, A 1EB5: FF MOV R7, A 1EB6: FF MOV R7, A 1EB7: FF MOV R7, A 1EB8: FF MOV R7, A 1EB9: FF MOV R7, A 1EBA: FF MOV R7, A 1EBB: FF MOV R7, A 1EBC: FF MOV R7, A 1EBD: FF MOV R7, A 1EBE: FF MOV R7, A 1EBF: FF MOV R7, A 1EC0: FF MOV R7, A 1EC1: FF MOV R7, A 1EC2: FF MOV R7, A 1EC3: FF MOV R7, A 1EC4: FF MOV R7, A 1EC5: FF MOV R7, A 1EC6: FF MOV R7, A 1EC7: FF MOV R7, A 1EC8: FF MOV R7, A 1EC9: FF MOV R7, A 1ECA: FF MOV R7, A 1ECB: FF MOV R7, A 1ECC: FF MOV R7, A 1ECD: FF MOV R7, A 1ECE: FF MOV R7, A 1ECF: FF MOV R7, A 1ED0: FF MOV R7, A 1ED1: FF MOV R7, A 1ED2: FF MOV R7, A 1ED3: FF MOV R7, A 1ED4: FF MOV R7, A 1ED5: FF MOV R7, A 1ED6: FF MOV R7, A 1ED7: FF MOV R7, A 1ED8: FF MOV R7, A 1ED9: FF MOV R7, A 1EDA: FF MOV R7, A 1EDB: FF MOV R7, A 1EDC: FF MOV R7, A 1EDD: FF MOV R7, A 1EDE: FF MOV R7, A 1EDF: FF MOV R7, A 1EE0: FF MOV R7, A 1EE1: FF MOV R7, A 1EE2: FF MOV R7, A 1EE3: FF MOV R7, A 1EE4: FF MOV R7, A 1EE5: FF MOV R7, A 1EE6: FF MOV R7, A 1EE7: FF MOV R7, A 1EE8: FF MOV R7, A 1EE9: FF MOV R7, A 1EEA: FF MOV R7, A 1EEB: FF MOV R7, A 1EEC: FF MOV R7, A 1EED: FF MOV R7, A 1EEE: FF MOV R7, A 1EEF: FF MOV R7, A 1EF0: FF MOV R7, A 1EF1: FF MOV R7, A 1EF2: FF MOV R7, A 1EF3: FF MOV R7, A 1EF4: FF MOV R7, A 1EF5: FF MOV R7, A 1EF6: FF MOV R7, A 1EF7: FF MOV R7, A 1EF8: FF MOV R7, A 1EF9: FF MOV R7, A 1EFA: FF MOV R7, A 1EFB: FF MOV R7, A 1EFC: FF MOV R7, A 1EFD: FF MOV R7, A 1EFE: FF MOV R7, A 1EFF: FF MOV R7, A 1F00: FF MOV R7, A 1F01: FF MOV R7, A 1F02: FF MOV R7, A 1F03: FF MOV R7, A 1F04: FF MOV R7, A 1F05: FF MOV R7, A 1F06: FF MOV R7, A 1F07: FF MOV R7, A 1F08: FF MOV R7, A 1F09: FF MOV R7, A 1F0A: FF MOV R7, A 1F0B: FF MOV R7, A 1F0C: FF MOV R7, A 1F0D: FF MOV R7, A 1F0E: FF MOV R7, A 1F0F: FF MOV R7, A 1F10: FF MOV R7, A 1F11: FF MOV R7, A 1F12: FF MOV R7, A 1F13: FF MOV R7, A 1F14: FF MOV R7, A 1F15: FF MOV R7, A 1F16: FF MOV R7, A 1F17: FF MOV R7, A 1F18: FF MOV R7, A 1F19: FF MOV R7, A 1F1A: FF MOV R7, A 1F1B: FF MOV R7, A 1F1C: FF MOV R7, A 1F1D: FF MOV R7, A 1F1E: FF MOV R7, A 1F1F: FF MOV R7, A 1F20: FF MOV R7, A 1F21: FF MOV R7, A 1F22: FF MOV R7, A 1F23: FF MOV R7, A 1F24: FF MOV R7, A 1F25: FF MOV R7, A 1F26: FF MOV R7, A 1F27: FF MOV R7, A 1F28: FF MOV R7, A 1F29: FF MOV R7, A 1F2A: FF MOV R7, A 1F2B: FF MOV R7, A 1F2C: FF MOV R7, A 1F2D: FF MOV R7, A 1F2E: FF MOV R7, A 1F2F: FF MOV R7, A 1F30: FF MOV R7, A 1F31: FF MOV R7, A 1F32: FF MOV R7, A 1F33: FF MOV R7, A 1F34: FF MOV R7, A 1F35: FF MOV R7, A 1F36: FF MOV R7, A 1F37: FF MOV R7, A 1F38: FF MOV R7, A 1F39: FF MOV R7, A 1F3A: FF MOV R7, A 1F3B: FF MOV R7, A 1F3C: FF MOV R7, A 1F3D: FF MOV R7, A 1F3E: FF MOV R7, A 1F3F: FF MOV R7, A 1F40: FF MOV R7, A 1F41: FF MOV R7, A 1F42: FF MOV R7, A 1F43: FF MOV R7, A 1F44: FF MOV R7, A 1F45: FF MOV R7, A 1F46: FF MOV R7, A 1F47: FF MOV R7, A 1F48: FF MOV R7, A 1F49: FF MOV R7, A 1F4A: FF MOV R7, A 1F4B: FF MOV R7, A 1F4C: FF MOV R7, A 1F4D: FF MOV R7, A 1F4E: FF MOV R7, A 1F4F: FF MOV R7, A 1F50: FF MOV R7, A 1F51: FF MOV R7, A 1F52: FF MOV R7, A 1F53: FF MOV R7, A 1F54: FF MOV R7, A 1F55: FF MOV R7, A 1F56: FF MOV R7, A 1F57: FF MOV R7, A 1F58: FF MOV R7, A 1F59: FF MOV R7, A 1F5A: FF MOV R7, A 1F5B: FF MOV R7, A 1F5C: FF MOV R7, A 1F5D: FF MOV R7, A 1F5E: FF MOV R7, A 1F5F: FF MOV R7, A 1F60: FF MOV R7, A 1F61: FF MOV R7, A 1F62: FF MOV R7, A 1F63: FF MOV R7, A 1F64: FF MOV R7, A 1F65: FF MOV R7, A 1F66: FF MOV R7, A 1F67: FF MOV R7, A 1F68: FF MOV R7, A 1F69: FF MOV R7, A 1F6A: FF MOV R7, A 1F6B: FF MOV R7, A 1F6C: FF MOV R7, A 1F6D: FF MOV R7, A 1F6E: FF MOV R7, A 1F6F: FF MOV R7, A 1F70: FF MOV R7, A 1F71: FF MOV R7, A 1F72: FF MOV R7, A 1F73: FF MOV R7, A 1F74: FF MOV R7, A 1F75: FF MOV R7, A 1F76: FF MOV R7, A 1F77: FF MOV R7, A 1F78: FF MOV R7, A 1F79: FF MOV R7, A 1F7A: FF MOV R7, A 1F7B: FF MOV R7, A 1F7C: FF MOV R7, A 1F7D: FF MOV R7, A 1F7E: FF MOV R7, A 1F7F: FF MOV R7, A 1F80: FF MOV R7, A 1F81: FF MOV R7, A 1F82: FF MOV R7, A 1F83: FF MOV R7, A 1F84: FF MOV R7, A 1F85: FF MOV R7, A 1F86: FF MOV R7, A 1F87: FF MOV R7, A 1F88: FF MOV R7, A 1F89: FF MOV R7, A 1F8A: FF MOV R7, A 1F8B: FF MOV R7, A 1F8C: FF MOV R7, A 1F8D: FF MOV R7, A 1F8E: FF MOV R7, A 1F8F: FF MOV R7, A 1F90: FF MOV R7, A 1F91: FF MOV R7, A 1F92: FF MOV R7, A 1F93: FF MOV R7, A 1F94: FF MOV R7, A 1F95: FF MOV R7, A 1F96: FF MOV R7, A 1F97: FF MOV R7, A 1F98: FF MOV R7, A 1F99: FF MOV R7, A 1F9A: FF MOV R7, A 1F9B: FF MOV R7, A 1F9C: FF MOV R7, A 1F9D: FF MOV R7, A 1F9E: FF MOV R7, A 1F9F: FF MOV R7, A 1FA0: FF MOV R7, A 1FA1: FF MOV R7, A 1FA2: FF MOV R7, A 1FA3: FF MOV R7, A 1FA4: FF MOV R7, A 1FA5: FF MOV R7, A 1FA6: FF MOV R7, A 1FA7: FF MOV R7, A 1FA8: FF MOV R7, A 1FA9: FF MOV R7, A 1FAA: FF MOV R7, A 1FAB: FF MOV R7, A 1FAC: FF MOV R7, A 1FAD: FF MOV R7, A 1FAE: FF MOV R7, A 1FAF: FF MOV R7, A 1FB0: FF MOV R7, A 1FB1: FF MOV R7, A 1FB2: FF MOV R7, A 1FB3: FF MOV R7, A 1FB4: FF MOV R7, A 1FB5: FF MOV R7, A 1FB6: FF MOV R7, A 1FB7: FF MOV R7, A 1FB8: FF MOV R7, A 1FB9: FF MOV R7, A 1FBA: FF MOV R7, A 1FBB: FF MOV R7, A 1FBC: FF MOV R7, A 1FBD: FF MOV R7, A 1FBE: FF MOV R7, A 1FBF: FF MOV R7, A 1FC0: FF MOV R7, A 1FC1: FF MOV R7, A 1FC2: FF MOV R7, A 1FC3: FF MOV R7, A 1FC4: FF MOV R7, A 1FC5: FF MOV R7, A 1FC6: FF MOV R7, A 1FC7: FF MOV R7, A 1FC8: FF MOV R7, A 1FC9: FF MOV R7, A 1FCA: FF MOV R7, A 1FCB: FF MOV R7, A 1FCC: FF MOV R7, A 1FCD: FF MOV R7, A 1FCE: FF MOV R7, A 1FCF: FF MOV R7, A 1FD0: FF MOV R7, A 1FD1: FF MOV R7, A 1FD2: FF MOV R7, A 1FD3: FF MOV R7, A 1FD4: FF MOV R7, A 1FD5: FF MOV R7, A 1FD6: FF MOV R7, A 1FD7: FF MOV R7, A 1FD8: FF MOV R7, A 1FD9: FF MOV R7, A 1FDA: FF MOV R7, A 1FDB: FF MOV R7, A 1FDC: FF MOV R7, A 1FDD: FF MOV R7, A 1FDE: FF MOV R7, A 1FDF: FF MOV R7, A 1FE0: FF MOV R7, A 1FE1: FF MOV R7, A 1FE2: FF MOV R7, A 1FE3: FF MOV R7, A 1FE4: FF MOV R7, A 1FE5: FF MOV R7, A 1FE6: FF MOV R7, A 1FE7: FF MOV R7, A 1FE8: FF MOV R7, A 1FE9: FF MOV R7, A 1FEA: FF MOV R7, A 1FEB: FF MOV R7, A 1FEC: FF MOV R7, A 1FED: FF MOV R7, A 1FEE: FF MOV R7, A 1FEF: FF MOV R7, A 1FF0: FF MOV R7, A 1FF1: FF MOV R7, A 1FF2: FF MOV R7, A 1FF3: FF MOV R7, A 1FF4: FF MOV R7, A 1FF5: FF MOV R7, A 1FF6: FF MOV R7, A 1FF7: FF MOV R7, A 1FF8: FF MOV R7, A 1FF9: FF MOV R7, A 1FFA: FF MOV R7, A 1FFB: FF MOV R7, A 1FFC: FF MOV R7, A 1FFD: FF MOV R7, A 1FFE: FF MOV R7, A 1FFF: FF MOV R7, A