声明:我司做的反汇编程序有以下特点:
1. ****成功,编译后和原来的******一样;
2. 程序和数据******分开,所有的程序******反成汇编,不会当做数据来处理;
3. 子程序之前用分段行分开;
4. 带寄存器名称,方便程序阅读;
5. 带PC地址和机器码,方便修改程序;
6. 中断和程序入口注释。
ORG $800
L0800: RSP ;0800 9C
JSR L08F3 ;0801 CD 08 F3
JSR L0810 ;0804 CD 08 10
BRSET 0,$CB,L080D ;0807 00 CB 03
JSR L10EB ;080A CD 10 EB
L080D: JSR L129C ;080D CD 12 9C
L0810: BRCLR 0,PORTB,L0815 ;0810 01 01 02
BSET 0,$CB ;0813 10 CB
L0815: LDX #$02 ;0815 AE 02
JSR L08B4 ;0817 CD 08 B4
BRSET 0,PORTB,L081F ;081A 00 01 02
BCLR 0,$CB ;081D 11 CB
L081F: RTS ;081F 81
;====================================================================================================
L0820: STA $D1 ;0820 B7 D1
STX $D0 ;0822 BF D0
L0824: LDX $D0 ;0824 BE D0
LDA ,X ;0826 F6
LDX $D1 ;0827 BE D1
CPX #$9F ;0829 A3 9F
BHI L0852 ;082B 22 25
CMP $0100,X ;082D D1 01 00
BEQ L0852 ;0830 27 20
JSR L0874 ;0832 CD 08 74
LDX $D0 ;0835 BE D0
LDA ,X ;0837 F6
LDX $D1 ;0838 BE D1
JSR L087B ;083A CD 08 7B
LDX $D0 ;083D BE D0
LDA ,X ;083F F6
LDX $D1 ;0840 BE D1
CMP $0100,X ;0842 D1 01 00
BEQ L0852 ;0845 27 0B
LDA $CB ;0847 B6 CB
EOR #$80 ;0849 A8 80
STA $CB ;084B B7 CB
BRSET 7,$CB,L0824 ;084D 0E CB D4
BSET 7,$CA ;0850 1E CA
L0852: BCLR 7,$CB ;0852 1F CB
INC $D0 ;0854 3C D0
INC $D1 ;0856 3C D1
DEC $CF ;0858 3A CF
BNE L0824 ;085A 26 C8
BRCLR 7,$CA,L0864 ;085C 0F CA 05
LDX $CA ;085F BE CA
JSR L1B07 ;0861 CD 1B 07
L0864: RTS ;0864 81
;=====================================================================================================
L0865: CLRX ;0865 5F
BSET 4,EPROG ;0866 18 1C
JSR L08A1 ;0868 CD 08 A1
LDX #$0A ;086B AE 0A
JSR L08B4 ;086D CD 08 B4
JSR L08AB ;0870 CD 08 AB
RTS ;0873 81
;=====================================================================================================
L0874: JSR L0882 ;0874 CD 08 82
JSR L0898 ;0877 CD 08 98
RTS ;087A 81
;=====================================================================================================
L087B: JSR L088F ;087B CD 08 8F
JSR L0898 ;087E CD 08 98
RTS ;0881 81
;=====================================================================================================
L0882: LDA #$FF ;0882 A6 FF
CMP $0100,X ;0884 D1 01 00
BEQ L088E ;0887 27 05
BSET 3,EPROG ;0889 16 1C
JSR L08A1 ;088B CD 08 A1
L088E: RTS ;088E 81
;=====================================================================================================
L088F: CMP $0100,X ;088F D1 01 00
BEQ L0897 ;0892 27 03
JSR L08A1 ;0894 CD 08 A1
L0897: RTS ;0897 81
;=====================================================================================================
L0898: LDX #$01 ;0898 AE 01
JSR L08B4 ;089A CD 08 B4
JSR L08AB ;089D CD 08 AB
RTS ;08A0 81
;=====================================================================================================
L08A1: BSET 6,EPROG ;08A1 1C 1C
BSET 2,EPROG ;08A3 14 1C
STA $0100,X ;08A5 D7 01 00
BSET 0,EPROG ;08A8 10 1C
RTS ;08AA 81
;=====================================================================================================
L08AB: BCLR 0,EPROG ;08AB 11 1C
BCLR 0,EPROG ;08AD 11 1C
BCLR 0,EPROG ;08AF 11 1C
CLR EPROG ;08B1 3F 1C
RTS ;08B3 81
;=====================================================================================================
L08B4: STX $C6 ;08B4 BF C6
JSR L08CF ;08B6 CD 08 CF
LDA #$C4 ;08B9 A6 C4
STA $C7 ;08BB B7 C7
LDA #$09 ;08BD A6 09
STA $C8 ;08BF B7 C8
L08C1: JSR L08E3 ;08C1 CD 08 E3
L08C4: BRSET 3,$CB,L08CE ;08C4 06 CB 07
BRCLR 6,TSR,L08C4 ;08C7 0D 13 FA
DEC $C6 ;08CA 3A C6
BNE L08C1 ;08CC 26 F3
L08CE: RTS ;08CE 81
;=====================================================================================================
L08CF: LDA TCH ;08CF B6 18
STA OCH ;08D1 B7 16
LDA TCL ;08D3 B6 19
ADD #$19 ;08D5 AB 19
TAX ;08D7 97
LDA OCH ;08D8 B6 16
ADC #$00 ;08DA A9 00
STA OCH ;08DC B7 16
LDA TSR ;08DE B6 13
STX OCL ;08E0 BF 17
RTS ;08E2 81
;=====================================================================================================
L08E3: LDA OCL ;08E3 B6 17
ADD $C7 ;08E5 BB C7
TAX ;08E7 97
LDA OCH ;08E8 B6 16
ADC $C8 ;08EA B9 C8
STA OCH ;08EC B7 16
LDA TSR ;08EE B6 13
STX OCL ;08F0 BF 17
RTS ;08F2 81
;=====================================================================================================
L08F3: SEI ;08F3 9B
LDA #$04 ;08F4 A6 04
LDX #$FE ;08F6 AE FE
STA PORTB ;08F8 B7 01
STX DDRB ;08FA BF 05
STA PORTB ;08FC B7 01
LDX #$01 ;08FE AE 01
STX CONFC ;0900 BF 0E
LDA #$FF ;0902 A6 FF
LDX #$C2 ;0904 AE C2
STA PORTC ;0906 B7 02
STX DDRC ;0908 BF 06
STA PORTC ;090A B7 02
STA PORTA ;090C B7 00
STA DDRA ;090E B7 04
STA PORTA ;0910 B7 00
LDA #$21 ;0912 A6 21
STA SEL ;0914 B7 0A
CLR ADSTAT ;0916 3F 11
CLR TCR ;0918 3F 12
CLI ;091A 9A
CLR $CA ;091B 3F CA
CLR $CB ;091D 3F CB
RTS ;091F 81
;=====================================================================================================
L0920: FCB 01DH,00AH,01AH,00AH,01AH,0CBH,080H,00FH ;........
L0928: FCB 013H,05EH,01FH,012H,003H,0CBH,055H,01DH ;.^....U.
L0930: FCB 012H,016H,0CBH,0B6H,014H,0B7H,0A8H,0B6H ;........
L0938: FCB 015H,0B7H,0A7H,005H,0CBH,02FH,0B6H,0A7H ;...../..
L0940: FCB 0B0H,0A9H,0B7H,0A9H,0B6H,0A8H,0B2H,0AAH ;........
L0948: FCB 0B7H,0AAH,018H,0CBH,0B6H,0A9H,0A0H,0F8H ;........
L0950: FCB 0B7H,0A9H,0B6H,0AAH,0A2H,000H,0B7H,0AAH ;........
L0958: FCB 025H,02AH,0AEH,0FFH,05CH,0B6H,0A9H,0A0H ;%*.....
L0960: FCB 010H,0B7H,0A9H,0B6H,0AAH,0A2H,000H,0B7H ;........
L0968: FCB 0AAH,024H,0F1H,0BFH,0A4H,014H,0CBH,019H ;.$......
L0970: FCB 0CBH,0B6H,0A7H,0B7H,0A9H,0ABH,0F8H,097H ;........
L0978: FCB 0B6H,0A8H,0B7H,0AAH,0A9H,001H,0B7H,016H ;........
L0980: FCB 0B6H,013H,0BFH,017H,0B6H,013H,0B6H,015H ;........
L0988: FCB 00DH,013H,012H,01DH,012H,003H,0CBH,009H ;........
L0990: FCB 005H,0CBH,006H,01FH,012H,016H,0CBH,018H ;........
L0998: FCB 0CBH,0B6H,013H,0B6H,017H,080H,01AH,00FH ;........
L09A0: FCB 012H,001H,080H,080H,080H,080H ;......
;=====================================================================================================
L09A6: BCLR 0,PORTA ;09A6 11 00
BSET 5,ADSTAT ;09A8 1A 11
L09AA: BRCLR 7,ADSTAT,L09AA ;09AA 0F 11 FD
LDA ADDAT ;09AD B6 10
STA $84 ;09AF B7 84
BCLR 5,ADSTAT ;09B1 1B 11
BRSET 0,$CB,L09DD ;09B3 00 CB 27
LDX $0195 ;09B6 CE 01 95
BNE L09BE ;09B9 26 03
ADD $0199 ;09BB CB 01 99
L09BE: LDX #$FF ;09BE AE FF
CMP $0198 ;09C0 C1 01 98
BLO L09C8 ;09C3 25 03
BSET 0,PORTA ;09C5 10 00
CLRX ;09C7 5F
L09C8: CPX $0195 ;09C8 C3 01 95
BEQ L09D2 ;09CB 27 05
LDX #$95 ;09CD AE 95
JSR L1BD5 ;09CF CD 1B D5
L09D2: LDA #$B6 ;09D2 A6 B6
STA $C7 ;09D4 B7 C7
LDA #$0F ;09D6 A6 0F
STA $C8 ;09D8 B7 C8
JSR L08E3 ;09DA CD 08 E3
L09DD: BRCLR 6,TSR,L09DD ;09DD 0D 13 FD
BSET 0,PORTA ;09E0 10 00
RTS ;09E2 81
;=====================================================================================================
L09E3: LDA #$7F ;09E3 A6 7F
CMP $AB ;09E5 B1 AB
ROL $AE ;09E7 39 AE
ROL $AD ;09E9 39 AD
ROL $AC ;09EB 39 AC
ROL $AB ;09ED 39 AB
RTS ;09EF 81
;=====================================================================================================
L09F0: FCB 0B6H,0AEH,046H,036H,0ABH,036H,0ACH,036H ;..F6.6.6
L09F8: FCB 0ADH,036H,0AEH,081H ;.6..
;=====================================================================================================
L09FC: LDX $AE ;09FC BE AE
LDA $AA ;09FE B6 AA
STA $AE ;0A00 B7 AE
LDA $A6 ;0A02 B6 A6
STA $AA ;0A04 B7 AA
LDA $B2 ;0A06 B6 B2
STA $A6 ;0A08 B7 A6
LDA $AB ;0A0A B6 AB
STA $B2 ;0A0C B7 B2
LDA $A7 ;0A0E B6 A7
STA $AB ;0A10 B7 AB
LDA $A3 ;0A12 B6 A3
STA $A7 ;0A14 B7 A7
LDA $AF ;0A16 B6 AF
STA $A3 ;0A18 B7 A3
LDA $AC ;0A1A B6 AC
STA $AF ;0A1C B7 AF
LDA $A8 ;0A1E B6 A8
STA $AC ;0A20 B7 AC
LDA $A4 ;0A22 B6 A4
STA $A8 ;0A24 B7 A8
LDA $B0 ;0A26 B6 B0
STA $A4 ;0A28 B7 A4
LDA $AD ;0A2A B6 AD
STA $B0 ;0A2C B7 B0
LDA $A9 ;0A2E B6 A9
STA $AD ;0A30 B7 AD
LDA $A5 ;0A32 B6 A5
STA $A9 ;0A34 B7 A9
LDA $B1 ;0A36 B6 B1
STA $A5 ;0A38 B7 A5
STX $B1 ;0A3A BF B1
RTS ;0A3C 81