1. 100%成功,编译后和原来的完全一样;
2. 程序和数据完全分开,所有的程序完全反成汇编,不会当做数据来处理;
3. 子程序之前用分段行分开;
4. 带寄存器名称,方便程序阅读;
5. 带PC地址和机器码,方便修改程序;
6. 中断和程序入口注释。
;=====================================================================================================
ORG 0x0000
GOTO L0015 ;0000 2815
;=====================================================================================================
GOTO L0015 ;0001 2815
;=====================================================================================================
GOTO L0015 ;0002 2815
;=====================================================================================================
GOTO L0015 ;0003 2815
;=====================================================================================================
GOTO L0006 ;0004 2806
;=====================================================================================================
GOTO L0015 ;0005 2815
;=====================================================================================================
L0006 MOVWF 0x0021 ;0006 00A1
SWAPF STATUS,W ;0007 0E03
BCF STATUS,RP0 ;0008 1283
MOVWF 0x0022 ;0009 00A2
BCF INTCON,GIE ;000A 138B
BTFSC PIR1,TMR2IF ;000B 188C
GOTO L00AB ;000C 28AB
;=====================================================================================================
BTFSC INTCON,TMR0IF ;000D 190B
GOTO L01FE ;000E 29FE
;=====================================================================================================
BTFSC PIR1,TMR1IF ;000F 180C
GOTO L0251 ;0010 2A51
;=====================================================================================================
GOTO L0298 ;0011 2A98
;=====================================================================================================
L0012 GOTO L0012 ;0012 2812
;=====================================================================================================
L0013 GOTO L0013 ;0013 2813
;=====================================================================================================
L0014 RETLW 0x94 ;0014 3494
;=====================================================================================================
L0015 CLRWDT ;0015 0064
CLRF INTCON ;0016 018B
MOVLW 0x5F ;_ ;0017 305F
MOVWF 0x0020 ;0018 00A0
MOVLW 0x21 ;! ;0019 3021
MOVWF FSR ;001A 0084
L001B CLRF INDF ;001B 0180
INCF FSR,F ;001C 0A84
DECFSZ 0x0020,F ;001D 0BA0
GOTO L001B ;001E 281B
;=====================================================================================================
BSF STATUS,RP0 ;001F 1683
MOVLW 0x1F ;0020 301F
MOVWF TRISA ;0021 0085
MOVLW 0x1A ;0022 301A
MOVWF TRISB ;0023 0086
MOVLW 0x0 ;0024 3000
MOVWF TRISC ;0025 0087
BCF STATUS,RP0 ;0026 1283
CLRF PORTA ;0027 0185
CLRF PORTB ;0028 0186
CLRF PORTC ;0029 0187
CLRWDT ;002A 0064
BSF STATUS,RP0 ;002B 1683
MOVLW 0x4 ;002C 3004
MOVWF ADCON1 ;002D 009F
BCF STATUS,RP0 ;002E 1283
MOVLW 0x1 ;002F 3001
MOVWF T1CON ;0030 0090
MOVLW 0x63 ;c ;0031 3063
MOVWF TMR1H ;0032 008F
MOVLW 0xC0 ;0033 30C0
MOVWF TMR1L ;0034 008E
BSF STATUS,RP0 ;0035 1683
MOVLW 0x81 ;0036 3081
MOVWF OPTION_REG ;0037 0081
BCF STATUS,RP0 ;0038 1283
MOVLW 0x38 ;8 ;0039 3038
MOVWF TMR0 ;003A 0081
CLRF CCPR1L ;003B 0195
CLRF CCPR1H ;003C 0196
CLRF CCP1CON ;003D 0197
MOVLW 0x4 ;003E 3004
MOVWF T2CON ;003F 0092
CLRF TMR2 ;0040 0191
MOVLW 0xC ;0041 300C
MOVWF CCP1CON ;0042 0097
MOVLW 0xE0 ;0043 30E0
MOVWF INTCON ;0044 008B
BSF STATUS,RP0 ;0045 1683
MOVLW 0x3 ;0046 3003
MOVWF PIE1 ;0047 008C
BCF STATUS,RP0 ;0048 1283
MOVLW 0xC8 ;0049 30C8
MOVWF 0x002B ;004A 00AB
MOVLW 0x0 ;004B 3000
MOVWF 0x002A ;004C 00AA
L004D MOVLW 0x10 ;004D 3010
MOVWF 0x0020 ;004E 00A0
L004F MOVLW 0xFE ;004F 30FE
MOVWF 0x0065 ;0050 00E5
MOVLW 0xA5 ;0051 30A5
MOVWF 0x0066 ;0052 00E6
CALL L0771 ;0053 2771
CALL L0760 ;0054 2760
MOVLW 0xA5 ;0055 30A5
SUBWF 0x0066,W ;0056 0266
BTFSS STATUS,Z ;0057 1D03
GOTO L005A ;0058 285A