;The Num of Instruction(Size):1947. The Max Address(Begin with 0):1954 

                MCU  ES7P169C

A    equ    0
R    equ    1
HRAM_0X10  equ  0X10
HRAM_0X11  equ  0X11
HRAM_0X12  equ  0X12
HRAM_0X13  equ  0X13
HRAM_0X14  equ  0X14
HRAM_0X15  equ  0X15
HRAM_0X16  equ  0X16
HRAM_0X17  equ  0X17
HRAM_0X18  equ  0X18
HRAM_0X19  equ  0X19
HRAM_0X1A  equ  0X1a
HRAM_0X2  equ  0X2
HRAM_0X3  equ  0X3
HRAM_0X4  equ  0X4
HRAM_0X5  equ  0X5
HRAM_0X6  equ  0X6
HRAM_0X7  equ  0X7
HRAM_0X8  equ  0X8
HRAM_0X80  equ  0X80
HRAM_0X81  equ  0X81
HRAM_0X82  equ  0X82
HRAM_0X83  equ  0X83
HRAM_0X84  equ  0X84
HRAM_0X88  equ  0X88
HRAM_0X89  equ  0X89
HRAM_0X8D  equ  0X8d
HRAM_0X8E  equ  0X8e
HRAM_0X8F  equ  0X8f
HRAM_0X9  equ  0X9
HRAM_0X90  equ  0X90
HRAM_0X94  equ  0X94
HRAM_0X95  equ  0X95
HRAM_0X97  equ  0X97
HRAM_0X9A  equ  0X9a
HRAM_0X9E  equ  0X9e
HRAM_0XA  equ  0Xa
HRAM_0XA8  equ  0Xa8
HRAM_0XB  equ  0Xb
HRAM_0XC  equ  0Xc
HRAM_0XCF  equ  0Xcf
HRAM_0XD  equ  0Xd
HRAM_0XD0  equ  0Xd0
HRAM_0XD1  equ  0Xd1
HRAM_0XD2  equ  0Xd2
HRAM_0XD3  equ  0Xd3
HRAM_0XE  equ  0Xe
HRAM_0XF  equ  0Xf

                ORG             0X00
HADR_0X0:
;#include "ES7P169C.inc"
;
;
;EXTERN	_main
;EXTERN ?_TMP
;
;APP_ENTRY EQU 0x0800		;用户程序入口地址
;
;_STARTUP	CSEG 0x00
;	CALL	_main	;jump to the entry of main function
:0X0  6028                      CALL            HADR_0X28
;	GOTO	0x00		
:0X1  6800                      GOTO            HADR_0X0
;	NOP
:0X2  ffff                      NOP
;	NOP
:0X3  ffff                      NOP
                                ORG             0X8
;
;ISR_ENTRY1	CSEG 0x08
;	push
:0X8  c180                      PUSH
;	NOP
:0X9  ffff                      NOP
;	AJMP	APP_ENTRY+0x08		;jump to the entry of interrupt function
:0Xa  c708f008                  AJMP            0X808
                                ORG             0Xc
;
;ISR_ENTRY2	CSEG 0x0C
;	push
:0Xc  c180                      PUSH
;	NOP
:0Xd  ffff                      NOP
;	AJMP	APP_ENTRY+0x0C		;jump to the entry of interrupt function
:0Xe  c70cf008                  AJMP            0X80C
                                ORG             0X10
HADR_0X10:
;/**********************************************
;函数名：Init_Timer
;描  述：定时器初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Init_Timer(void)
;{
;    T8NC = 0x0E; //欲分频系数1:128
:0X10  e783                     CLR             HRAM_0X83
:0X11  e50e                     MOVI            0XE
:0X12  e6be                     MOVA            _T8NC_0                              ;_T8NC_0: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    T8N = 0;
:0X13  e7bd                     CLR             _T8N_0                               ;_T8N_0: Bank 511    Addr: 65469    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    T8NIE = 0;  //不使能中断
:0X14  a999                     BCC             (_T8NIE_0)>>3,  1                    ;(_T8NIE_0)>>3: Bank 511    Addr: 65433    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    T8NEN = 1;
:0X15  a7be                     BSS             (_T8NEN_0)>>3,  7                    ;(_T8NEN_0)>>3: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;}
:0X16  c183                     RET
                                ORG             0X18
;	
;ISR_ENTRY3	CSEG 0x18
;	push
:0X18  c180                     PUSH
;	NOP
:0X19  ffff                     NOP
;	AJMP	APP_ENTRY+0x18		;jump to the entry of interrupt function
:0X1a  c718f008                 AJMP            0X818
                                ORG             0X1c
HADR_0X1C:
;/**********************************************
;函数名：Init_Ports
;描  述：端口初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Init_Ports(void)
;{
;    PAT0 = 1;
:0X1c  e783                     CLR             HRAM_0X83
:0X1d  a0ad                     BSS             (_PAT0_0)>>3,   0                    ;(_PAT0_0)>>3: Bank 511    Addr: 65453    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    ANSL0 = 1;
:0X1e  a0bc                     BSS             (_ANSL0_0)>>3,  0                    ;(_ANSL0_0)>>3: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    PAPD0 = 1;  //BOOTPIN下拉
:0X1f  a0b0                     BSS             (_PAPD0_0)>>3,  0                    ;(_PAPD0_0)>>3: Bank 511    Addr: 65456    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;}
:0X20  c183                     RET
                                ORG             0X24
;	
;ISR_ENTRY4	CSEG 0x24
;	push
:0X24  c180                     PUSH
;	NOP
:0X25  ffff                     NOP
;	AJMP	APP_ENTRY+0x24		;jump to the entry of interrupt function
:0X26  c724f008                 AJMP            0X824
                                ORG             0X28
HADR_0X28:
;/**********************************************
;函数名： main
;描  述：主函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void main()
;{
;    Init_MCU();
:0X28  e783                     CLR             HRAM_0X83
:0X29  ec00                     PAGE            (_Init_MCU)>>11
:0X2a  667b                     CALL            HADR_0X67B
:0X2b  ec00                     PAGE            (_0)>>11
;    fsm_init();
:0X2c  ec00                     PAGE            (_fsm_init)>>11
:0X2d  63b5                     CALL            HADR_0X3B5
:0X2e  ec00                     PAGE            (_1)>>11
HADR_0X2F:
;
;    while (1)
:0X2f  ec00                     PAGE            (_Timer_Proc)>>11
:0X30  6686                     CALL            HADR_0X686
:0X31  ec00                     PAGE            (_2)>>11
;        UartReceive();
:0X32  ec00                     PAGE            (_UartReceive)>>11
:0X33  66ef                     CALL            HADR_0X6EF
:0X34  ec00                     PAGE            (_3)>>11
HADR_0X35:
;
;        while (g_isp_data.triger == 1)
:0X35  ea01                     SECTION         0X1
:0X36  5034                     MOV             (_g_isp_data+3)&7f,             A    ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
:0X37  e301                     XORI            0X1
:0X38  9284                     JBS             HRAM_0X84,      2
:0X39  683e                     GOTO            HADR_0X3E
;        {
;            uart_proc_fsm();  //isp命令状态机处理
:0X3a  ec00                     PAGE            (_uart_proc_fsm)>>11
:0X3b  63c9                     CALL            HADR_0X3C9
:0X3c  ec00                     PAGE            (_4)>>11
;        }
:0X3d  6835                     GOTO            HADR_0X35
HADR_0X3E:
;
;        if (g_boot == 1) //需要引导程序到flash
:0X3e  501c                     MOV             (_g_boot)&7f,   A                    ;(_g_boot)&7f: Bank 0    Addr: 28     
:0X3f  e301                     XORI            0X1
:0X40  9284                     JBS             HRAM_0X84,      2
:0X41  682f                     GOTO            HADR_0X2F
;        {
;            Reg_reset();
:0X42  ec00                     PAGE            (_Reg_reset)>>11
:0X43  666f                     CALL            HADR_0X66F
:0X44  ec00                     PAGE            (_5)>>11
;            RAM_clear();
:0X45  ec00                     PAGE            (_RAM_clear)>>11
:0X46  6433                     CALL            HADR_0X433
:0X47  ec00                     PAGE            (_6)>>11
;            PCRH = 0x08;
:0X48  e508                     MOVI            0X8
:0X49  e687                     MOVA            _PCRH_0                              ;_PCRH_0: Bank 511    Addr: 65415    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
;            PCRL = 0x00;
:0X4a  e786                     CLR             _PCRL_0                              ;_PCRL_0: Bank 511    Addr: 65414    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
;            //ASM_GOTO(USR_APP_ENTER);          //判断是跳到App程序还是进行Bootloader
;        }
;    }
:0X4b  682f                     GOTO            HADR_0X2F
HADR_0X4C:
;#include "typedef.h"
;#include "rw_flash.h"
;#include "string.h"
;#include "uart.h"
;#include <hic.h>
;extern isp_data_t g_isp_data;
;extern u32  g_boot_timer;
;extern u32  g_frame_timer;
;extern u8   g_boot;
;
;/***************************************************************
;函数名：next_ans_ins
;描  述: 响应指令码后确定下一步
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void next_ans_ins(u8 ins)
;{
;    switch (ins)
:0X4c  e783                     CLR             HRAM_0X83
:0X4d  ea01                     SECTION         0X1
:0X4e  5005                     MOV             HRAM_0X5,       A
:0X4f  e391                     XORI            0X91
:0X50  9a84                     JBC             HRAM_0X84,      2
:0X51  685f                     GOTO            HADR_0X5F
:0X52  e340                     XORI            0X40
:0X53  9a84                     JBC             HRAM_0X84,      2
:0X54  685f                     GOTO            HADR_0X5F
:0X55  e360                     XORI            0X60
:0X56  9a84                     JBC             HRAM_0X84,      2
:0X57  685f                     GOTO            HADR_0X5F
:0X58  e375                     XORI            0X75
:0X59  9a84                     JBC             HRAM_0X84,      2
:0X5a  685f                     GOTO            HADR_0X5F
:0X5b  e365                     XORI            0X65
:0X5c  9a84                     JBC             HRAM_0X84,      2
:0X5d  685f                     GOTO            HADR_0X5F
:0X5e  6864                     GOTO            HADR_0X64
HADR_0X5F:
;    {
;        case  READ_M:
;        case  CHECK_EMPTY:
;        case  WRITE_M:
;        case  EX_ERASE:
;        case  GO:
:0X5f  e503                     MOVI            0X3
:0X60  e631                     MOVA            (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            g_isp_data.rx_len = 4;
:0X61  e504                     MOVI            0X4
:0X62  e635                     MOVA            (_g_isp_data+4)&7f                   ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;            break;
:0X63  6865                     GOTO            HADR_0X65
HADR_0X64:
;
;        default:
:0X64  e731                     CLR             (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X65:
;            break;
;    }
;
;}
:0X65  ea00                     SECTION         0X0
:0X66  c183                     RET
HADR_0X67:
;/***************************************************************
;函数名：wait_rev_para1
;描  述: 参数1处理
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void wait_rev_para1(u8 ins)
;{
;    u8 buf8, i;
;
;    switch (ins)
:0X67  e783                     CLR             HRAM_0X83
:0X68  ea01                     SECTION         0X1
:0X69  5005                     MOV             HRAM_0X5,       A
:0X6a  e391                     XORI            0X91
:0X6b  9a84                     JBC             HRAM_0X84,      2
:0X6c  687a                     GOTO            HADR_0X7A
:0X6d  e320                     XORI            0X20
:0X6e  9a84                     JBC             HRAM_0X84,      2
:0X6f  687a                     GOTO            HADR_0X7A
:0X70  e375                     XORI            0X75
:0X71  9a84                     JBC             HRAM_0X84,      2
:0X72  689c                     GOTO            HADR_0X9C
:0X73  e315                     XORI            0X15
:0X74  9a84                     JBC             HRAM_0X84,      2
:0X75  68de                     GOTO            HADR_0XDE
:0X76  e370                     XORI            0X70
:0X77  9a84                     JBC             HRAM_0X84,      2
:0X78  6921                     GOTO            HADR_0X121
:0X79  6942                     GOTO            HADR_0X142
HADR_0X7A:
;    {
;        case  READ_M:
;        case  WRITE_M:
:0X7a  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X7b  5c41                     XOR             (_g_isp_data+16)&7f,            A    ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
;            buf8 = buf8 ^ g_isp_data.rx_buf[2];
:0X7c  e605                     MOVA            HRAM_0X5
:0X7d  5c43                     XOR             (_g_isp_data+18)&7f,            A    ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
;            buf8 = buf8 ^ g_isp_data.rx_buf[3];
:0X7e  e605                     MOVA            HRAM_0X5
:0X7f  5c44                     XOR             (_g_isp_data+19)&7f,            A    ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
;
;            if (g_isp_data.rx_buf[4] == buf8)
:0X80  e605                     MOVA            HRAM_0X5
:0X81  5c45                     XOR             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
:0X82  ea02                     SECTION         0X2
:0X83  9284                     JBS             HRAM_0X84,      2
:0X84  6897                     GOTO            HADR_0X97
;                //if(1)
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X85  e579                     MOVI            0X79
:0X86  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[3];
:0X87  78c4                     MOVRA           _g_isp_data+19                       ;_g_isp_data+19: Bank 1    Addr: 196     
:0X88  20b9                     MOVAR           _g_isp_data+8                        ;_g_isp_data+8: Bank 1    Addr: 185     
;                g_isp_data.para1.b08[1] = g_isp_data.rx_buf[2];
:0X89  78c3                     MOVRA           _g_isp_data+18                       ;_g_isp_data+18: Bank 1    Addr: 195     
:0X8a  20ba                     MOVAR           _g_isp_data+9                        ;_g_isp_data+9: Bank 1    Addr: 186     
;                g_isp_data.para1.b08[2] = g_isp_data.rx_buf[1];
:0X8b  78c2                     MOVRA           _g_isp_data+17                       ;_g_isp_data+17: Bank 1    Addr: 194     
:0X8c  20bb                     MOVAR           _g_isp_data+10                       ;_g_isp_data+10: Bank 1    Addr: 187     
;                g_isp_data.para1.b08[3] = g_isp_data.rx_buf[0];
:0X8d  78c1                     MOVRA           _g_isp_data+16                       ;_g_isp_data+16: Bank 1    Addr: 193     
:0X8e  20bc                     MOVAR           _g_isp_data+11                       ;_g_isp_data+11: Bank 1    Addr: 188     
;                g_isp_data.step = END_REV_PARA1;
:0X8f  e504                     MOVI            0X4
:0X90  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;                start_tx(0);
:0X91  e500                     MOVI            0X0
:0X92  208d                     MOVAR           _start_txDATA                        ;_start_txDATA: Bank 1    Addr: 141     
:0X93  ec00                     PAGE            (_start_tx)>>11
:0X94  66c8                     CALL            HADR_0X6C8
:0X95  ec00                     PAGE            (_0)>>11
;            }
:0X96  6943                     GOTO            HADR_0X143
HADR_0X97:
;            else
:0X97  e51f                     MOVI            0X1F
:0X98  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X99  e507                     MOVI            0X7
:0X9a  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X9b  6943                     GOTO            HADR_0X143
HADR_0X9C:
;
;        case  EX_ERASE:
:0X9c  5041                     MOV             (_g_isp_data+16)&7f,            A    ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X9d  e3ff                     XORI            0XFF
:0X9e  9284                     JBS             HRAM_0X84,      2
:0X9f  68a6                     GOTO            HADR_0XA6
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0Xa0  e51f                     MOVI            0X1F
:0Xa1  ea02                     SECTION         0X2
:0Xa2  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0Xa3  e507                     MOVI            0X7
:0Xa4  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;            }
:0Xa5  68ae                     GOTO            HADR_0XAE
HADR_0XA6:
;            else
:0Xa6  e739                     CLR             (_g_isp_data+8)&7f                   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0Xa7  e73a                     CLR             (_g_isp_data+9)&7f                   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0Xa8  e73b                     CLR             (_g_isp_data+10)&7f                  ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0Xa9  e73c                     CLR             (_g_isp_data+11)&7f                  ;(_g_isp_data+11)&7f: Bank 0    Addr: 60     
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[2];
:0Xaa  5043                     MOV             (_g_isp_data+18)&7f,            A    ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
:0Xab  e639                     MOVA            (_g_isp_data+8)&7f                   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
;                g_isp_data.para1.b08[1] = g_isp_data.rx_buf[1];
:0Xac  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0Xad  e63a                     MOVA            (_g_isp_data+9)&7f                   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
HADR_0XAE:
;            }
:0Xae  ea01                     SECTION         0X1
:0Xaf  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0Xb0  5c41                     XOR             (_g_isp_data+16)&7f,            A    ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0Xb1  e605                     MOVA            HRAM_0X5
;
;            for (i = 2; i < g_isp_data.rx_len; i++)
:0Xb2  e502                     MOVI            0X2
:0Xb3  e606                     MOVA            HRAM_0X6
HADR_0XB4:
:0Xb4  5035                     MOV             (_g_isp_data+4)&7f,             A    ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
:0Xb5  ee06                     SUB             HRAM_0X6,       A
:0Xb6  9884                     JBC             HRAM_0X84,      0
:0Xb7  68c7                     GOTO            HADR_0XC7
;            {
;                buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0Xb8  e708                     CLR             HRAM_0X8
:0Xb9  5006                     MOV             HRAM_0X6,       A
:0Xba  e0c1                     ADDI            _g_isp_data+16
:0Xbb  e609                     MOVA            HRAM_0X9
:0Xbc  5008                     MOV             HRAM_0X8,       A
:0Xbd  c300                     ADDCI           (_g_isp_data+16)>>8
:0Xbe  e682                     MOVA            HRAM_0X82
:0Xbf  5009                     MOV             HRAM_0X9,       A
:0Xc0  e681                     MOVA            HRAM_0X81
:0Xc1  5080                     MOV             HRAM_0X80,      A
:0Xc2  2000                     MOVAR           ?_TMP                                ;?_TMP: Bank 0    Addr: 0     
:0Xc3  5c05                     XOR             HRAM_0X5,       A
:0Xc4  e605                     MOVA            HRAM_0X5
:0Xc5  5506                     INC             HRAM_0X6,       R
;            }
:0Xc6  68b4                     GOTO            HADR_0XB4
HADR_0XC7:
;
;            if (buf8 == g_isp_data.rx_buf[g_isp_data.rx_len])
:0Xc7  e707                     CLR             HRAM_0X7
:0Xc8  5035                     MOV             (_g_isp_data+4)&7f,             A    ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
:0Xc9  e0c1                     ADDI            _g_isp_data+16
:0Xca  e608                     MOVA            HRAM_0X8
:0Xcb  5007                     MOV             HRAM_0X7,       A
:0Xcc  c300                     ADDCI           (_g_isp_data+16)>>8
:0Xcd  e682                     MOVA            HRAM_0X82
:0Xce  5008                     MOV             HRAM_0X8,       A
:0Xcf  e681                     MOVA            HRAM_0X81
:0Xd0  5080                     MOV             HRAM_0X80,      A
:0Xd1  2000                     MOVAR           ?_TMP                                ;?_TMP: Bank 0    Addr: 0     
:0Xd2  5c05                     XOR             HRAM_0X5,       A
:0Xd3  9284                     JBS             HRAM_0X84,      2
:0Xd4  68d8                     GOTO            HADR_0XD8
;            {
;                g_isp_data.step = IN_EXE_INS;
:0Xd5  e506                     MOVI            0X6
:0Xd6  e631                     MOVA            (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            }
:0Xd7  6943                     GOTO            HADR_0X143
HADR_0XD8:
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0Xd8  e51f                     MOVI            0X1F
:0Xd9  ea02                     SECTION         0X2
:0Xda  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0Xdb  e507                     MOVI            0X7
:0Xdc  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0Xdd  6943                     GOTO            HADR_0X143
HADR_0XDE:
;
;        case  CHECK_EMPTY:
:0Xde  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0Xdf  5c41                     XOR             (_g_isp_data+16)&7f,            A    ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
;            buf8 = buf8 ^ g_isp_data.rx_buf[2];
:0Xe0  e605                     MOVA            HRAM_0X5
:0Xe1  5c43                     XOR             (_g_isp_data+18)&7f,            A    ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
;            buf8 = buf8 ^ g_isp_data.rx_buf[3];
:0Xe2  e605                     MOVA            HRAM_0X5
:0Xe3  5c44                     XOR             (_g_isp_data+19)&7f,            A    ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
;
;            if (g_isp_data.rx_buf[4] == buf8)
:0Xe4  e605                     MOVA            HRAM_0X5
:0Xe5  5c45                     XOR             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
:0Xe6  9284                     JBS             HRAM_0X84,      2
:0Xe7  691b                     GOTO            HADR_0X11B
;            {
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[3];
:0Xe8  5044                     MOV             (_g_isp_data+19)&7f,            A    ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
:0Xe9  e639                     MOVA            (_g_isp_data+8)&7f                   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
;                g_isp_data.para1.b08[1] = g_isp_data.rx_buf[2];
:0Xea  5043                     MOV             (_g_isp_data+18)&7f,            A    ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
:0Xeb  e63a                     MOVA            (_g_isp_data+9)&7f                   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
;                g_isp_data.para1.b08[2] = g_isp_data.rx_buf[1];
:0Xec  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0Xed  e63b                     MOVA            (_g_isp_data+10)&7f                  ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
;                g_isp_data.para1.b08[3] = g_isp_data.rx_buf[0];
:0Xee  5041                     MOV             (_g_isp_data+16)&7f,            A    ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0Xef  e63c                     MOVA            (_g_isp_data+11)&7f                  ;(_g_isp_data+11)&7f: Bank 0    Addr: 60     
;                g_isp_data.para1.b32 = g_isp_data.para1.b32 >> 1;
:0Xf0  a884                     BCC             HRAM_0X84,      0
:0Xf1  d03c                     RRB             (_g_isp_data+11)&7f,            A,              0X1  ;(_g_isp_data+11)&7f: Bank 0    Addr: 60     
:0Xf2  e608                     MOVA            HRAM_0X8
:0Xf3  d03b                     RRB             (_g_isp_data+10)&7f,            A,              0X1  ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0Xf4  e607                     MOVA            HRAM_0X7
:0Xf5  d03a                     RRB             (_g_isp_data+9)&7f,             A,              0X1  ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0Xf6  e606                     MOVA            HRAM_0X6
:0Xf7  d039                     RRB             (_g_isp_data+8)&7f,             A,              0X1  ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0Xf8  e639                     MOVA            (_g_isp_data+8)&7f                   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0Xf9  5006                     MOV             HRAM_0X6,       A
:0Xfa  e63a                     MOVA            (_g_isp_data+9)&7f                   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0Xfb  5007                     MOV             HRAM_0X7,       A
:0Xfc  e63b                     MOVA            (_g_isp_data+10)&7f                  ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0Xfd  5008                     MOV             HRAM_0X8,       A
:0Xfe  e63c                     MOVA            (_g_isp_data+11)&7f                  ;(_g_isp_data+11)&7f: Bank 0    Addr: 60     
;
;                if ((g_isp_data.para1.b32 % 4) == 0)
:0Xff  5039                     MOV             (_g_isp_data+8)&7f,             A    ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X100  e203                    ANDI            0X3
:0X101  e605                    MOVA            HRAM_0X5
:0X102  e706                    CLR             HRAM_0X6
:0X103  e707                    CLR             HRAM_0X7
:0X104  e708                    CLR             HRAM_0X8
:0X105  5005                    MOV             HRAM_0X5,       A
:0X106  5806                    IOR             HRAM_0X6,       A
:0X107  5807                    IOR             HRAM_0X7,       A
:0X108  5808                    IOR             HRAM_0X8,       A
:0X109  ea02                    SECTION         0X2
:0X10a  9284                    JBS             HRAM_0X84,      2
:0X10b  6916                    GOTO            HADR_0X116
;                {
;                    g_isp_data.tx_buf[0] = ACK;
:0X10c  e579                    MOVI            0X79
:0X10d  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    g_isp_data.step = END_REV_PARA1;
:0X10e  e504                    MOVI            0X4
:0X10f  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                    start_tx(0);
:0X110  e500                    MOVI            0X0
:0X111  208d                    MOVAR           _start_txDATA                       ;_start_txDATA: Bank 1    Addr: 141     
:0X112  ec00                    PAGE            (_start_tx)>>11
:0X113  66c8                    CALL            HADR_0X6C8
:0X114  ec00                    PAGE            (_1)>>11
;                }
:0X115  6943                    GOTO            HADR_0X143
HADR_0X116:
;                else
:0X116  e51f                    MOVI            0X1F
:0X117  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    g_isp_data.step = IN_SEND_OVER;
:0X118  e507                    MOVI            0X7
:0X119  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                }
;            }
:0X11a  6943                    GOTO            HADR_0X143
HADR_0X11B:
;            else
:0X11b  e51f                    MOVI            0X1F
:0X11c  ea02                    SECTION         0X2
:0X11d  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X11e  e507                    MOVI            0X7
:0X11f  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X120  6943                    GOTO            HADR_0X143
HADR_0X121:
;
;        case  GO:
:0X121  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X122  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
;            buf8 = buf8 ^ g_isp_data.rx_buf[2];
:0X123  e605                    MOVA            HRAM_0X5
:0X124  5c43                    XOR             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
;            buf8 = buf8 ^ g_isp_data.rx_buf[3];
:0X125  e605                    MOVA            HRAM_0X5
:0X126  5c44                    XOR             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
;
;            if (g_isp_data.rx_buf[4] == buf8)
:0X127  e605                    MOVA            HRAM_0X5
:0X128  5c45                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
:0X129  9284                    JBS             HRAM_0X84,      2
:0X12a  693c                    GOTO            HADR_0X13C
;            {
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[3];
:0X12b  5044                    MOV             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
:0X12c  e639                    MOVA            (_g_isp_data+8)&7f                  ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
;                g_isp_data.para1.b08[1] = g_isp_data.rx_buf[2];
:0X12d  5043                    MOV             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
:0X12e  e63a                    MOVA            (_g_isp_data+9)&7f                  ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
;                g_isp_data.para1.b08[2] = g_isp_data.rx_buf[1];
:0X12f  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X130  e63b                    MOVA            (_g_isp_data+10)&7f                 ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
;                g_isp_data.para1.b08[3] = g_isp_data.rx_buf[0];
:0X131  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X132  e63c                    MOVA            (_g_isp_data+11)&7f                 ;(_g_isp_data+11)&7f: Bank 0    Addr: 60     
;                g_isp_data.step = WAIT_REV_PARA2;
:0X133  e505                    MOVI            0X5
:0X134  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;                g_isp_data.tx_buf[0] = ACK;
:0X135  e579                    MOVI            0X79
:0X136  2145                    MOVAR           _g_isp_data+148                     ;_g_isp_data+148: Bank 2    Addr: 325     
;                start_tx(0);
:0X137  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X138  ec00                    PAGE            (_start_tx)>>11
:0X139  66c8                    CALL            HADR_0X6C8
:0X13a  ec00                    PAGE            (_2)>>11
;            }
:0X13b  6943                    GOTO            HADR_0X143
HADR_0X13C:
;            else
:0X13c  e51f                    MOVI            0X1F
:0X13d  ea02                    SECTION         0X2
:0X13e  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X13f  e507                    MOVI            0X7
:0X140  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X141  6943                    GOTO            HADR_0X143
HADR_0X142:
;
;        default:
:0X142  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X143:
;            break;
;    }
;
;}
:0X143  ea00                    SECTION         0X0
:0X144  c183                    RET
HADR_0X145:
;/***************************************************************
;函数名：next_rev_para1
;描  述: 参数1处理后的下一步确定
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void next_rev_para1(u8 ins)
;{
;    switch (ins)
:0X145  e783                    CLR             HRAM_0X83
:0X146  ea01                    SECTION         0X1
:0X147  5005                    MOV             HRAM_0X5,       A
:0X148  e391                    XORI            0X91
:0X149  9a84                    JBC             HRAM_0X84,      2
:0X14a  6952                    GOTO            HADR_0X152
:0X14b  e320                    XORI            0X20
:0X14c  9a84                    JBC             HRAM_0X84,      2
:0X14d  6952                    GOTO            HADR_0X152
:0X14e  e360                    XORI            0X60
:0X14f  9a84                    JBC             HRAM_0X84,      2
:0X150  6957                    GOTO            HADR_0X157
:0X151  695c                    GOTO            HADR_0X15C
HADR_0X152:
;    {
;        case  READ_M:
;        case  WRITE_M:
:0X152  e501                    MOVI            0X1
:0X153  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;            g_isp_data.step = WAIT_REV_PARA2;
:0X154  e505                    MOVI            0X5
:0X155  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X156  695d                    GOTO            HADR_0X15D
HADR_0X157:
;
;        case  CHECK_EMPTY:
:0X157  e504                    MOVI            0X4
:0X158  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;            g_isp_data.step = WAIT_REV_PARA2;
:0X159  e505                    MOVI            0X5
:0X15a  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X15b  695d                    GOTO            HADR_0X15D
HADR_0X15C:
;
;        default:
:0X15c  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X15D:
;            break;
;    }
;}
:0X15d  ea00                    SECTION         0X0
:0X15e  c183                    RET
HADR_0X15F:
;/***************************************************************
;函数名：wait_rev_para2
;描  述: 参数2处理
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void wait_rev_para2(u8 ins)
;{
;    u8 i, buf8;
;
;    switch (ins)
:0X15f  e783                    CLR             HRAM_0X83
:0X160  ea01                    SECTION         0X1
:0X161  5005                    MOV             HRAM_0X5,       A
:0X162  e391                    XORI            0X91
:0X163  9a84                    JBC             HRAM_0X84,      2
:0X164  696f                    GOTO            HADR_0X16F
:0X165  e320                    XORI            0X20
:0X166  9a84                    JBC             HRAM_0X84,      2
:0X167  6987                    GOTO            HADR_0X187
:0X168  e360                    XORI            0X60
:0X169  9a84                    JBC             HRAM_0X84,      2
:0X16a  698f                    GOTO            HADR_0X18F
:0X16b  e370                    XORI            0X70
:0X16c  9a84                    JBC             HRAM_0X84,      2
:0X16d  69cc                    GOTO            HADR_0X1CC
:0X16e  69d5                    GOTO            HADR_0X1D5
HADR_0X16F:
;    {
;        case  READ_M:
:0X16f  e706                    CLR             HRAM_0X6
:0X170  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X171  e605                    MOVA            HRAM_0X5
:0X172  5205                    COM             HRAM_0X5,       A
:0X173  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X174  9284                    JBS             HRAM_0X84,      2
:0X175  6981                    GOTO            HADR_0X181
;            {
;                g_isp_data.para2.b08[0] = g_isp_data.rx_buf[0];
:0X176  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X177  e63d                    MOVA            (_g_isp_data+12)&7f                 ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
;                g_isp_data.step = IN_EXE_INS;
:0X178  e506                    MOVI            0X6
:0X179  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;                g_isp_data.tx_buf[0] = ACK;
:0X17a  e579                    MOVI            0X79
:0X17b  2145                    MOVAR           _g_isp_data+148                     ;_g_isp_data+148: Bank 2    Addr: 325     
;                start_tx(0);
:0X17c  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X17d  ec00                    PAGE            (_start_tx)>>11
:0X17e  66c8                    CALL            HADR_0X6C8
:0X17f  ec00                    PAGE            (_3)>>11
;            }
:0X180  69d6                    GOTO            HADR_0X1D6
HADR_0X181:
;            else
:0X181  e51f                    MOVI            0X1F
:0X182  ea02                    SECTION         0X2
:0X183  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X184  e507                    MOVI            0X7
:0X185  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X186  69d6                    GOTO            HADR_0X1D6
HADR_0X187:
;
;        case  WRITE_M:
:0X187  e73e                    CLR             (_g_isp_data+13)&7f                 ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X188  e73f                    CLR             (_g_isp_data+14)&7f                 ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
:0X189  e740                    CLR             (_g_isp_data+15)&7f                 ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
:0X18a  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X18b  e63d                    MOVA            (_g_isp_data+12)&7f                 ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
;            g_isp_data.step = IN_EXE_INS;
:0X18c  e506                    MOVI            0X6
:0X18d  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X18e  69d6                    GOTO            HADR_0X1D6
HADR_0X18F:
;
;        case  CHECK_EMPTY:
:0X18f  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X190  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
;            buf8 = buf8 ^ g_isp_data.rx_buf[2];
:0X191  e605                    MOVA            HRAM_0X5
:0X192  5c43                    XOR             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
;            buf8 = buf8 ^ g_isp_data.rx_buf[3];
:0X193  e605                    MOVA            HRAM_0X5
:0X194  5c44                    XOR             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
;
;            if (buf8 == g_isp_data.rx_buf[4])
:0X195  e605                    MOVA            HRAM_0X5
:0X196  5c45                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
:0X197  9284                    JBS             HRAM_0X84,      2
:0X198  69c6                    GOTO            HADR_0X1C6
;            {
;                g_isp_data.para2.b08[0] = g_isp_data.rx_buf[3];
:0X199  5044                    MOV             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
:0X19a  e63d                    MOVA            (_g_isp_data+12)&7f                 ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
;                g_isp_data.para2.b08[1] = g_isp_data.rx_buf[2];
:0X19b  5043                    MOV             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
:0X19c  e63e                    MOVA            (_g_isp_data+13)&7f                 ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
;                g_isp_data.para2.b08[2] = g_isp_data.rx_buf[1];
:0X19d  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X19e  e63f                    MOVA            (_g_isp_data+14)&7f                 ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
;                g_isp_data.para2.b08[3] = g_isp_data.rx_buf[0];
:0X19f  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X1a0  e640                    MOVA            (_g_isp_data+15)&7f                 ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
;
;                if ((g_isp_data.para2.b32 + 1) % 4 == 0)
:0X1a1  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X1a2  e001                    ADDI            0X1
:0X1a3  e605                    MOVA            HRAM_0X5
:0X1a4  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X1a5  c300                    ADDCI           0X0
:0X1a6  503f                    MOV             (_g_isp_data+14)&7f,            A   ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
:0X1a7  c300                    ADDCI           0X0
:0X1a8  5040                    MOV             (_g_isp_data+15)&7f,            A   ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
:0X1a9  c300                    ADDCI           0X0
:0X1aa  5005                    MOV             HRAM_0X5,       A
:0X1ab  e203                    ANDI            0X3
:0X1ac  e609                    MOVA            HRAM_0X9
:0X1ad  e70a                    CLR             HRAM_0XA
:0X1ae  e70b                    CLR             HRAM_0XB
:0X1af  e70c                    CLR             HRAM_0XC
:0X1b0  5009                    MOV             HRAM_0X9,       A
:0X1b1  580a                    IOR             HRAM_0XA,       A
:0X1b2  580b                    IOR             HRAM_0XB,       A
:0X1b3  580c                    IOR             HRAM_0XC,       A
:0X1b4  ea02                    SECTION         0X2
:0X1b5  9284                    JBS             HRAM_0X84,      2
:0X1b6  69c1                    GOTO            HADR_0X1C1
;                {
;                    g_isp_data.tx_buf[0] = ACK;
:0X1b7  e579                    MOVI            0X79
:0X1b8  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    g_isp_data.step = IN_EXE_INS;
:0X1b9  e506                    MOVI            0X6
:0X1ba  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                    start_tx(0);
:0X1bb  e500                    MOVI            0X0
:0X1bc  208d                    MOVAR           _start_txDATA                       ;_start_txDATA: Bank 1    Addr: 141     
:0X1bd  ec00                    PAGE            (_start_tx)>>11
:0X1be  66c8                    CALL            HADR_0X6C8
:0X1bf  ec00                    PAGE            (_4)>>11
;                }
:0X1c0  69d6                    GOTO            HADR_0X1D6
HADR_0X1C1:
;                else
:0X1c1  e51f                    MOVI            0X1F
:0X1c2  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    g_isp_data.step = IN_SEND_OVER;
:0X1c3  e507                    MOVI            0X7
:0X1c4  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                }
;            }
:0X1c5  69d6                    GOTO            HADR_0X1D6
HADR_0X1C6:
;            else
:0X1c6  e51f                    MOVI            0X1F
:0X1c7  ea02                    SECTION         0X2
:0X1c8  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X1c9  e507                    MOVI            0X7
:0X1ca  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X1cb  69d6                    GOTO            HADR_0X1D6
HADR_0X1CC:
;
;        case  GO:
:0X1cc  e506                    MOVI            0X6
:0X1cd  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            g_isp_data.tx_buf[0] = ACK;
:0X1ce  e579                    MOVI            0X79
:0X1cf  2145                    MOVAR           _g_isp_data+148                     ;_g_isp_data+148: Bank 2    Addr: 325     
;            start_tx(0);
:0X1d0  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X1d1  ec00                    PAGE            (_start_tx)>>11
:0X1d2  66c8                    CALL            HADR_0X6C8
:0X1d3  ec00                    PAGE            (_5)>>11
;            break;
:0X1d4  69d6                    GOTO            HADR_0X1D6
HADR_0X1D5:
;
;        default:
:0X1d5  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X1D6:
;            break;
;    }
;}
:0X1d6  ea00                    SECTION         0X0
:0X1d7  c183                    RET
HADR_0X1D8:
;
;/***************************************************************
;函数名：in_exe_ins
;描  述: 执行各指令码
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;u16 test;
;void in_exe_ins(u8 ins)
;{
;    g_boot_timer = Boot_OVERTIME_2;
:0X1d8  e783                    CLR             HRAM_0X83
:0X1d9  e500                    MOVI            0X0
:0X1da  ea01                    SECTION         0X1
:0X1db  e628                    MOVA            (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X1dc  e727                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X1dd  e501                    MOVI            0X1
:0X1de  e626                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X1df  e52c                    MOVI            0X2C
:0X1e0  e625                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
;    volatile u8  buf8, wr_buf8[130], result, i;
;    volatile u16 page;
;    u32 buf32, iap_addr;
;
;    switch (ins)
:0X1e1  5005                    MOV             HRAM_0X5,       A
:0X1e2  e391                    XORI            0X91
:0X1e3  9a84                    JBC             HRAM_0X84,      2
:0X1e4  69f2                    GOTO            HADR_0X1F2
:0X1e5  e320                    XORI            0X20
:0X1e6  9a84                    JBC             HRAM_0X84,      2
:0X1e7  6a0e                    GOTO            HADR_0X20E
:0X1e8  e375                    XORI            0X75
:0X1e9  9a84                    JBC             HRAM_0X84,      2
:0X1ea  6aef                    GOTO            HADR_0X2EF
:0X1eb  e315                    XORI            0X15
:0X1ec  9a84                    JBC             HRAM_0X84,      2
:0X1ed  6b6f                    GOTO            HADR_0X36F
:0X1ee  e370                    XORI            0X70
:0X1ef  9a84                    JBC             HRAM_0X84,      2
:0X1f0  6b97                    GOTO            HADR_0X397
:0X1f1  6bb2                    GOTO            HADR_0X3B2
HADR_0X1F2:
;    {
;        case  READ_M:
:0X1f2  a884                    BCC             HRAM_0X84,      0
:0X1f3  d03b                    RRB             (_g_isp_data+10)&7f,            A,              0X1 ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0X1f4  d03a                    RRB             (_g_isp_data+9)&7f,             A,              0X1 ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X1f5  e606                    MOVA            HRAM_0X6
:0X1f6  d039                    RRB             (_g_isp_data+8)&7f,             A,              0X1 ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X1f7  e60d                    MOVA            (_Read_ContDATA)&7f                 ;(_Read_ContDATA)&7f: Bank 0    Addr: 13     
:0X1f8  5006                    MOV             HRAM_0X6,       A
:0X1f9  e60e                    MOVA            (_Read_ContDATA+1)&7f               ;(_Read_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X1fa  e545                    MOVI            _g_isp_data+148
:0X1fb  e60f                    MOVA            (_Read_ContDATA+2)&7f               ;(_Read_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X1fc  e501                    MOVI            (_g_isp_data+148)>>8
:0X1fd  e610                    MOVA            (_Read_ContDATA+3)&7f               ;(_Read_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X1fe  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X1ff  e001                    ADDI            0X1
:0X200  e611                    MOVA            (_Read_ContDATA+4)&7f               ;(_Read_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X201  e712                    CLR             (_Read_ContDATA+5)&7f               ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X202  b112                    RLB             (_Read_ContDATA+5)&7f,          R,              0X1 ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X203  ec00                    PAGE            (_Read_Cont)>>11
:0X204  64bb                    CALL            HADR_0X4BB
:0X205  ec00                    PAGE            (_6)>>11
;            g_isp_data.step = WAIT_REV_INS;
:0X206  e500                    MOVI            0X0
:0X207  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            start_tx(g_isp_data.para2.b08[0]);
:0X208  78bd                    MOVRA           _g_isp_data+12                      ;_g_isp_data+12: Bank 1    Addr: 189     
:0X209  208d                    MOVAR           _start_txDATA                       ;_start_txDATA: Bank 1    Addr: 141     
:0X20a  ec00                    PAGE            (_start_tx)>>11
:0X20b  66c8                    CALL            HADR_0X6C8
:0X20c  ec00                    PAGE            (_7)>>11
;            break;
:0X20d  6bb3                    GOTO            HADR_0X3B3
HADR_0X20E:
;
;        case  WRITE_M:
:0X20e  e507                    MOVI            0X7
:0X20f  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            buf8 = g_isp_data.rx_buf[0] ^ g_isp_data.rx_buf[1];
:0X210  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X211  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X212  e61d                    MOVA            (_in_exe_ins_buf8_69)&7f            ;(_in_exe_ins_buf8_69)&7f: Bank 0    Addr: 29    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;
;            for (i = 2; i < (g_isp_data.para2.b32 + 2); i++)
:0X213  e502                    MOVI            0X2
:0X214  e61e                    MOVA            (_in_exe_ins_i_69)&7f               ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
HADR_0X215:
:0X215  e706                    CLR             HRAM_0X6
:0X216  e707                    CLR             HRAM_0X7
:0X217  e708                    CLR             HRAM_0X8
:0X218  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X219  e605                    MOVA            HRAM_0X5
:0X21a  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X21b  e002                    ADDI            0X2
:0X21c  e609                    MOVA            HRAM_0X9
:0X21d  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X21e  c300                    ADDCI           0X0
:0X21f  e60a                    MOVA            HRAM_0XA
:0X220  503f                    MOV             (_g_isp_data+14)&7f,            A   ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
:0X221  c300                    ADDCI           0X0
:0X222  e60b                    MOVA            HRAM_0XB
:0X223  5040                    MOV             (_g_isp_data+15)&7f,            A   ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
:0X224  c300                    ADDCI           0X0
:0X225  ee08                    SUB             HRAM_0X8,       A
:0X226  9284                    JBS             HRAM_0X84,      2
:0X227  6a32                    GOTO            HADR_0X232
:0X228  500b                    MOV             HRAM_0XB,       A
:0X229  ee07                    SUB             HRAM_0X7,       A
:0X22a  9284                    JBS             HRAM_0X84,      2
:0X22b  6a32                    GOTO            HADR_0X232
:0X22c  500a                    MOV             HRAM_0XA,       A
:0X22d  ee06                    SUB             HRAM_0X6,       A
:0X22e  9284                    JBS             HRAM_0X84,      2
:0X22f  6a32                    GOTO            HADR_0X232
:0X230  5009                    MOV             HRAM_0X9,       A
:0X231  ee05                    SUB             HRAM_0X5,       A
HADR_0X232:
:0X232  9884                    JBC             HRAM_0X84,      0
:0X233  6a43                    GOTO            HADR_0X243
;            {
;                buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0X234  e706                    CLR             HRAM_0X6
:0X235  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X236  e0c1                    ADDI            _g_isp_data+16
:0X237  e607                    MOVA            HRAM_0X7
:0X238  5006                    MOV             HRAM_0X6,       A
:0X239  c300                    ADDCI           (_g_isp_data+16)>>8
:0X23a  e682                    MOVA            HRAM_0X82
:0X23b  5007                    MOV             HRAM_0X7,       A
:0X23c  e681                    MOVA            HRAM_0X81
:0X23d  5080                    MOV             HRAM_0X80,      A
:0X23e  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X23f  5c1d                    XOR             (_in_exe_ins_buf8_69)&7f,       A   ;(_in_exe_ins_buf8_69)&7f: Bank 0    Addr: 29    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X240  e61d                    MOVA            (_in_exe_ins_buf8_69)&7f            ;(_in_exe_ins_buf8_69)&7f: Bank 0    Addr: 29    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X241  551e                    INC             (_in_exe_ins_i_69)&7f,          R   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;            }
:0X242  6a15                    GOTO            HADR_0X215
HADR_0X243:
;
;            if (buf8 ==  g_isp_data.rx_buf[i]) //下发的数据校验正确
:0X243  e706                    CLR             HRAM_0X6
:0X244  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X245  e0c1                    ADDI            _g_isp_data+16
:0X246  e607                    MOVA            HRAM_0X7
:0X247  5006                    MOV             HRAM_0X6,       A
:0X248  c300                    ADDCI           (_g_isp_data+16)>>8
:0X249  e682                    MOVA            HRAM_0X82
:0X24a  5007                    MOV             HRAM_0X7,       A
:0X24b  e681                    MOVA            HRAM_0X81
:0X24c  5080                    MOV             HRAM_0X80,      A
:0X24d  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X24e  5c1d                    XOR             (_in_exe_ins_buf8_69)&7f,       A   ;(_in_exe_ins_buf8_69)&7f: Bank 0    Addr: 29    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X24f  9284                    JBS             HRAM_0X84,      2
:0X250  6aeb                    GOTO            HADR_0X2EB
;            {
;                memcpy(wr_buf8, g_isp_data.rx_buf + 1, g_isp_data.para2.b32 + 1);
:0X251  e5c9                    MOVI            _in_exe_ins_wr_buf8_69
:0X252  e60d                    MOVA            (_memcpyDATA)&7f                    ;(_memcpyDATA)&7f: Bank 0    Addr: 13     
:0X253  e501                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X254  e60e                    MOVA            (_memcpyDATA+1)&7f                  ;(_memcpyDATA+1)&7f: Bank 0    Addr: 14     
:0X255  e5c2                    MOVI            _g_isp_data+17
:0X256  e60f                    MOVA            (_memcpyDATA+2)&7f                  ;(_memcpyDATA+2)&7f: Bank 0    Addr: 15     
:0X257  e500                    MOVI            (_g_isp_data+17)>>8
:0X258  e610                    MOVA            (_memcpyDATA+3)&7f                  ;(_memcpyDATA+3)&7f: Bank 0    Addr: 16     
:0X259  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X25a  e001                    ADDI            0X1
:0X25b  e605                    MOVA            HRAM_0X5
:0X25c  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X25d  c300                    ADDCI           0X0
:0X25e  e606                    MOVA            HRAM_0X6
:0X25f  5005                    MOV             HRAM_0X5,       A
:0X260  e611                    MOVA            (_memcpyDATA+4)&7f                  ;(_memcpyDATA+4)&7f: Bank 0    Addr: 17     
:0X261  5006                    MOV             HRAM_0X6,       A
:0X262  e612                    MOVA            (_memcpyDATA+5)&7f                  ;(_memcpyDATA+5)&7f: Bank 0    Addr: 18     
:0X263  ec00                    PAGE            (_memcpy)>>11
:0X264  6767                    CALL            HADR_0X767
:0X265  ec00                    PAGE            (_8)>>11
;                result = Write_Cont(g_isp_data.para1.b32 >> 1, wr_buf8, g_isp_data.para2.b32 + 1);
:0X266  a884                    BCC             HRAM_0X84,      0
:0X267  ea01                    SECTION         0X1
:0X268  d03b                    RRB             (_g_isp_data+10)&7f,            A,              0X1 ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0X269  d03a                    RRB             (_g_isp_data+9)&7f,             A,              0X1 ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X26a  e606                    MOVA            HRAM_0X6
:0X26b  d039                    RRB             (_g_isp_data+8)&7f,             A,              0X1 ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X26c  e60d                    MOVA            (_Write_ContDATA)&7f                ;(_Write_ContDATA)&7f: Bank 0    Addr: 13     
:0X26d  5006                    MOV             HRAM_0X6,       A
:0X26e  e60e                    MOVA            (_Write_ContDATA+1)&7f              ;(_Write_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X26f  e5c9                    MOVI            _in_exe_ins_wr_buf8_69
:0X270  e60f                    MOVA            (_Write_ContDATA+2)&7f              ;(_Write_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X271  e501                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X272  e610                    MOVA            (_Write_ContDATA+3)&7f              ;(_Write_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X273  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X274  e001                    ADDI            0X1
:0X275  e605                    MOVA            HRAM_0X5
:0X276  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X277  c300                    ADDCI           0X0
:0X278  e606                    MOVA            HRAM_0X6
:0X279  5005                    MOV             HRAM_0X5,       A
:0X27a  e611                    MOVA            (_Write_ContDATA+4)&7f              ;(_Write_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X27b  5006                    MOV             HRAM_0X6,       A
:0X27c  e612                    MOVA            (_Write_ContDATA+5)&7f              ;(_Write_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X27d  ec00                    PAGE            (_Write_Cont)>>11
:0X27e  6572                    CALL            HADR_0X572
:0X27f  ec00                    PAGE            (_9)>>11
:0X280  209f                    MOVAR           _in_exe_ins_result_69               ;_in_exe_ins_result_69: Bank 1    Addr: 159    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;
;
;                //if(g_isp_data.para1.b32 >= 0x3FFF)
;                //{
;                //test = 0;
;                //}
;                if (result == FAILED) //失败
:0X281  ea01                    SECTION         0X1
:0X282  501f                    MOV             (_in_exe_ins_result_69)&7f,     A   ;(_in_exe_ins_result_69)&7f: Bank 0    Addr: 31    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X283  9284                    JBS             HRAM_0X84,      2
:0X284  6a89                    GOTO            HADR_0X289
;                {
;                    g_isp_data.tx_buf[0] = NACK;
:0X285  e51f                    MOVI            0X1F
:0X286  ea02                    SECTION         0X2
:0X287  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                }
:0X288  6bb3                    GOTO            HADR_0X3B3
HADR_0X289:
;                else
:0X289  a884                    BCC             HRAM_0X84,      0
:0X28a  d03b                    RRB             (_g_isp_data+10)&7f,            A,              0X1 ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0X28b  d03a                    RRB             (_g_isp_data+9)&7f,             A,              0X1 ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X28c  e606                    MOVA            HRAM_0X6
:0X28d  d039                    RRB             (_g_isp_data+8)&7f,             A,              0X1 ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X28e  e60d                    MOVA            (_Read_ContDATA)&7f                 ;(_Read_ContDATA)&7f: Bank 0    Addr: 13     
:0X28f  5006                    MOV             HRAM_0X6,       A
:0X290  e60e                    MOVA            (_Read_ContDATA+1)&7f               ;(_Read_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X291  e5c2                    MOVI            _g_isp_data+17
:0X292  e60f                    MOVA            (_Read_ContDATA+2)&7f               ;(_Read_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X293  e500                    MOVI            (_g_isp_data+17)>>8
:0X294  e610                    MOVA            (_Read_ContDATA+3)&7f               ;(_Read_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X295  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X296  e001                    ADDI            0X1
:0X297  e605                    MOVA            HRAM_0X5
:0X298  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X299  c300                    ADDCI           0X0
:0X29a  e606                    MOVA            HRAM_0X6
:0X29b  5005                    MOV             HRAM_0X5,       A
:0X29c  e611                    MOVA            (_Read_ContDATA+4)&7f               ;(_Read_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X29d  5006                    MOV             HRAM_0X6,       A
:0X29e  e612                    MOVA            (_Read_ContDATA+5)&7f               ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X29f  ec00                    PAGE            (_Read_Cont)>>11
:0X2a0  64bb                    CALL            HADR_0X4BB
:0X2a1  ec00                    PAGE            (_a)>>11
;                    buf8 = g_isp_data.rx_buf[0] ^ g_isp_data.rx_buf[1];
:0X2a2  78c2                    MOVRA           _g_isp_data+17                      ;_g_isp_data+17: Bank 1    Addr: 194     
:0X2a3  ea01                    SECTION         0X1
:0X2a4  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X2a5  e61d                    MOVA            (_in_exe_ins_buf8_69)&7f            ;(_in_exe_ins_buf8_69)&7f: Bank 0    Addr: 29    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;
;                    for (i = 2; i < (g_isp_data.para2.b32 + 2); i++)
:0X2a6  e502                    MOVI            0X2
:0X2a7  e61e                    MOVA            (_in_exe_ins_i_69)&7f               ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
HADR_0X2A8:
:0X2a8  e706                    CLR             HRAM_0X6
:0X2a9  e707                    CLR             HRAM_0X7
:0X2aa  e708                    CLR             HRAM_0X8
:0X2ab  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X2ac  e605                    MOVA            HRAM_0X5
:0X2ad  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X2ae  e002                    ADDI            0X2
:0X2af  e609                    MOVA            HRAM_0X9
:0X2b0  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X2b1  c300                    ADDCI           0X0
:0X2b2  e60a                    MOVA            HRAM_0XA
:0X2b3  503f                    MOV             (_g_isp_data+14)&7f,            A   ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
:0X2b4  c300                    ADDCI           0X0
:0X2b5  e60b                    MOVA            HRAM_0XB
:0X2b6  5040                    MOV             (_g_isp_data+15)&7f,            A   ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
:0X2b7  c300                    ADDCI           0X0
:0X2b8  ee08                    SUB             HRAM_0X8,       A
:0X2b9  9284                    JBS             HRAM_0X84,      2
:0X2ba  6ac5                    GOTO            HADR_0X2C5
:0X2bb  500b                    MOV             HRAM_0XB,       A
:0X2bc  ee07                    SUB             HRAM_0X7,       A
:0X2bd  9284                    JBS             HRAM_0X84,      2
:0X2be  6ac5                    GOTO            HADR_0X2C5
:0X2bf  500a                    MOV             HRAM_0XA,       A
:0X2c0  ee06                    SUB             HRAM_0X6,       A
:0X2c1  9284                    JBS             HRAM_0X84,      2
:0X2c2  6ac5                    GOTO            HADR_0X2C5
:0X2c3  5009                    MOV             HRAM_0X9,       A
:0X2c4  ee05                    SUB             HRAM_0X5,       A
HADR_0X2C5:
:0X2c5  9884                    JBC             HRAM_0X84,      0
:0X2c6  6ad6                    GOTO            HADR_0X2D6
;                    {
;                        buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0X2c7  e706                    CLR             HRAM_0X6
:0X2c8  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X2c9  e0c1                    ADDI            _g_isp_data+16
:0X2ca  e607                    MOVA            HRAM_0X7
:0X2cb  5006                    MOV             HRAM_0X6,       A
:0X2cc  c300                    ADDCI           (_g_isp_data+16)>>8
:0X2cd  e682                    MOVA            HRAM_0X82
:0X2ce  5007                    MOV             HRAM_0X7,       A
:0X2cf  e681                    MOVA            HRAM_0X81
:0X2d0  5080                    MOV             HRAM_0X80,      A
:0X2d1  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2d2  5c1d                    XOR             (_in_exe_ins_buf8_69)&7f,       A   ;(_in_exe_ins_buf8_69)&7f: Bank 0    Addr: 29    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X2d3  e61d                    MOVA            (_in_exe_ins_buf8_69)&7f            ;(_in_exe_ins_buf8_69)&7f: Bank 0    Addr: 29    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X2d4  551e                    INC             (_in_exe_ins_i_69)&7f,          R   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;                    }
:0X2d5  6aa8                    GOTO            HADR_0X2A8
HADR_0X2D6:
;
;                    if (buf8 ==  g_isp_data.rx_buf[i]) //写入的数据校验是否正确
:0X2d6  e706                    CLR             HRAM_0X6
:0X2d7  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X2d8  e0c1                    ADDI            _g_isp_data+16
:0X2d9  e607                    MOVA            HRAM_0X7
:0X2da  5006                    MOV             HRAM_0X6,       A
:0X2db  c300                    ADDCI           (_g_isp_data+16)>>8
:0X2dc  e682                    MOVA            HRAM_0X82
:0X2dd  5007                    MOV             HRAM_0X7,       A
:0X2de  e681                    MOVA            HRAM_0X81
:0X2df  5080                    MOV             HRAM_0X80,      A
:0X2e0  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2e1  5c1d                    XOR             (_in_exe_ins_buf8_69)&7f,       A   ;(_in_exe_ins_buf8_69)&7f: Bank 0    Addr: 29    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X2e2  ea02                    SECTION         0X2
:0X2e3  9284                    JBS             HRAM_0X84,      2
:0X2e4  6ae8                    GOTO            HADR_0X2E8
;                    {
;                        g_isp_data.tx_buf[0] = ACK;
:0X2e5  e579                    MOVI            0X79
:0X2e6  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    }
:0X2e7  6bb3                    GOTO            HADR_0X3B3
HADR_0X2E8:
;                    else
:0X2e8  e51f                    MOVI            0X1F
:0X2e9  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    }
;                }
;            }
:0X2ea  6bb3                    GOTO            HADR_0X3B3
HADR_0X2EB:
;            else
:0X2eb  e51f                    MOVI            0X1F
:0X2ec  ea02                    SECTION         0X2
:0X2ed  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;            }
;
;            break;
:0X2ee  6bb3                    GOTO            HADR_0X3B3
HADR_0X2EF:
;
;        case  EX_ERASE:
:0X2ef  e71e                    CLR             (_in_exe_ins_i_69)&7f               ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
HADR_0X2F0:
:0X2f0  e706                    CLR             HRAM_0X6
:0X2f1  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X2f2  e605                    MOVA            HRAM_0X5
:0X2f3  5039                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X2f4  e001                    ADDI            0X1
:0X2f5  e607                    MOVA            HRAM_0X7
:0X2f6  e708                    CLR             HRAM_0X8
:0X2f7  b108                    RLB             HRAM_0X8,       R,              0X1
:0X2f8  5006                    MOV             HRAM_0X6,       A
:0X2f9  e380                    XORI            0X80
:0X2fa  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2fb  5008                    MOV             HRAM_0X8,       A
:0X2fc  e380                    XORI            0X80
:0X2fd  ea00                    SECTION         0X0
:0X2fe  ee00                    SUB             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X2ff  9284                    JBS             HRAM_0X84,      2
:0X300  6b04                    GOTO            HADR_0X304
:0X301  ea01                    SECTION         0X1
:0X302  5007                    MOV             HRAM_0X7,       A
:0X303  ee05                    SUB             HRAM_0X5,       A
HADR_0X304:
:0X304  9884                    JBC             HRAM_0X84,      0
:0X305  6b53                    GOTO            HADR_0X353
;            {
;                page = (((u16)g_isp_data.rx_buf[3 + i * 2] + ((u16)g_isp_data.rx_buf[2 + i * 2] << 8)) << 8); //0x1000
:0X306  ea01                    SECTION         0X1
:0X307  e706                    CLR             HRAM_0X6
:0X308  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X309  e605                    MOVA            HRAM_0X5
:0X30a  a884                    BCC             HRAM_0X84,      0
:0X30b  b005                    RLB             HRAM_0X5,       A,              0X1
:0X30c  e607                    MOVA            HRAM_0X7
:0X30d  b006                    RLB             HRAM_0X6,       A,              0X1
:0X30e  e608                    MOVA            HRAM_0X8
:0X30f  5007                    MOV             HRAM_0X7,       A
:0X310  e003                    ADDI            0X3
:0X311  e605                    MOVA            HRAM_0X5
:0X312  5008                    MOV             HRAM_0X8,       A
:0X313  c300                    ADDCI           0X0
:0X314  e606                    MOVA            HRAM_0X6
:0X315  5005                    MOV             HRAM_0X5,       A
:0X316  e0c1                    ADDI            _g_isp_data+16
:0X317  e607                    MOVA            HRAM_0X7
:0X318  5006                    MOV             HRAM_0X6,       A
:0X319  c300                    ADDCI           (_g_isp_data+16)>>8
:0X31a  e682                    MOVA            HRAM_0X82
:0X31b  5007                    MOV             HRAM_0X7,       A
:0X31c  e681                    MOVA            HRAM_0X81
:0X31d  5080                    MOV             HRAM_0X80,      A
:0X31e  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X31f  e706                    CLR             HRAM_0X6
:0X320  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X321  e605                    MOVA            HRAM_0X5
:0X322  e708                    CLR             HRAM_0X8
:0X323  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X324  e607                    MOVA            HRAM_0X7
:0X325  a884                    BCC             HRAM_0X84,      0
:0X326  b007                    RLB             HRAM_0X7,       A,              0X1
:0X327  e609                    MOVA            HRAM_0X9
:0X328  b008                    RLB             HRAM_0X8,       A,              0X1
:0X329  e60a                    MOVA            HRAM_0XA
:0X32a  5009                    MOV             HRAM_0X9,       A
:0X32b  e002                    ADDI            0X2
:0X32c  e607                    MOVA            HRAM_0X7
:0X32d  500a                    MOV             HRAM_0XA,       A
:0X32e  c300                    ADDCI           0X0
:0X32f  e608                    MOVA            HRAM_0X8
:0X330  5007                    MOV             HRAM_0X7,       A
:0X331  e0c1                    ADDI            _g_isp_data+16
:0X332  e609                    MOVA            HRAM_0X9
:0X333  5008                    MOV             HRAM_0X8,       A
:0X334  c300                    ADDCI           (_g_isp_data+16)>>8
:0X335  e682                    MOVA            HRAM_0X82
:0X336  5009                    MOV             HRAM_0X9,       A
:0X337  e681                    MOVA            HRAM_0X81
:0X338  5080                    MOV             HRAM_0X80,      A
:0X339  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X33a  e708                    CLR             HRAM_0X8
:0X33b  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X33c  e60a                    MOVA            HRAM_0XA
:0X33d  e709                    CLR             HRAM_0X9
:0X33e  5009                    MOV             HRAM_0X9,       A
:0X33f  5e05                    ADD             HRAM_0X5,       A
:0X340  e607                    MOVA            HRAM_0X7
:0X341  500a                    MOV             HRAM_0XA,       A
:0X342  1406                    ADDC            HRAM_0X6,       A
:0X343  5007                    MOV             HRAM_0X7,       A
:0X344  e624                    MOVA            (_in_exe_ins_page_69+1)&7f          ;(_in_exe_ins_page_69+1)&7f: Bank 0    Addr: 36    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X345  e723                    CLR             (_in_exe_ins_page_69)&7f            ;(_in_exe_ins_page_69)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;
;                if (Erase_Page(page) != SUCCESS)
:0X346  5023                    MOV             (_in_exe_ins_page_69)&7f,       A   ;(_in_exe_ins_page_69)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X347  e60d                    MOVA            (_Erase_PageDATA)&7f                ;(_Erase_PageDATA)&7f: Bank 0    Addr: 13     
:0X348  5024                    MOV             (_in_exe_ins_page_69+1)&7f,     A   ;(_in_exe_ins_page_69+1)&7f: Bank 0    Addr: 36    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X349  e60e                    MOVA            (_Erase_PageDATA+1)&7f              ;(_Erase_PageDATA+1)&7f: Bank 0    Addr: 14     
:0X34a  ec00                    PAGE            (_Erase_Page)>>11
:0X34b  6549                    CALL            HADR_0X549
:0X34c  ec00                    PAGE            (_b)>>11
:0X34d  e301                    XORI            0X1
:0X34e  9284                    JBS             HRAM_0X84,      2
:0X34f  6b53                    GOTO            HADR_0X353
:0X350  ea01                    SECTION         0X1
:0X351  551e                    INC             (_in_exe_ins_i_69)&7f,          R   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;                    break;
;            }
:0X352  6af0                    GOTO            HADR_0X2F0
HADR_0X353:
;
;            if (i != g_isp_data.para1.b08[0] + 1) //擦除有误
:0X353  ea01                    SECTION         0X1
:0X354  e706                    CLR             HRAM_0X6
:0X355  501e                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X356  e605                    MOVA            HRAM_0X5
:0X357  5039                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X358  e001                    ADDI            0X1
:0X359  e607                    MOVA            HRAM_0X7
:0X35a  e708                    CLR             HRAM_0X8
:0X35b  b108                    RLB             HRAM_0X8,       R,              0X1
:0X35c  5007                    MOV             HRAM_0X7,       A
:0X35d  5c05                    XOR             HRAM_0X5,       A
:0X35e  9284                    JBS             HRAM_0X84,      2
:0X35f  6b64                    GOTO            HADR_0X364
:0X360  5008                    MOV             HRAM_0X8,       A
:0X361  5c06                    XOR             HRAM_0X6,       A
:0X362  9a84                    JBC             HRAM_0X84,      2
:0X363  6b68                    GOTO            HADR_0X368
HADR_0X364:
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0X364  e51f                    MOVI            0X1F
:0X365  ea02                    SECTION         0X2
:0X366  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;            }
:0X367  6b6b                    GOTO            HADR_0X36B
HADR_0X368:
;            else
:0X368  e579                    MOVI            0X79
:0X369  ea02                    SECTION         0X2
:0X36a  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
HADR_0X36B:
;            }
:0X36b  e507                    MOVI            0X7
:0X36c  ea01                    SECTION         0X1
:0X36d  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X36e  6bb3                    GOTO            HADR_0X3B3
HADR_0X36F:
;
;        case  CHECK_EMPTY:
:0X36f  5039                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X370  e605                    MOVA            HRAM_0X5
:0X371  503a                    MOV             (_g_isp_data+9)&7f,             A   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X372  e606                    MOVA            HRAM_0X6
:0X373  5005                    MOV             HRAM_0X5,       A
:0X374  e60d                    MOVA            (_check_emptyDATA)&7f               ;(_check_emptyDATA)&7f: Bank 0    Addr: 13     
:0X375  5006                    MOV             HRAM_0X6,       A
:0X376  e60e                    MOVA            (_check_emptyDATA+1)&7f             ;(_check_emptyDATA+1)&7f: Bank 0    Addr: 14     
:0X377  e5c9                    MOVI            _in_exe_ins_wr_buf8_69
:0X378  e60f                    MOVA            (_check_emptyDATA+2)&7f             ;(_check_emptyDATA+2)&7f: Bank 0    Addr: 15     
:0X379  e501                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X37a  e610                    MOVA            (_check_emptyDATA+3)&7f             ;(_check_emptyDATA+3)&7f: Bank 0    Addr: 16     
:0X37b  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X37c  e001                    ADDI            0X1
:0X37d  e605                    MOVA            HRAM_0X5
:0X37e  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X37f  c300                    ADDCI           0X0
:0X380  e606                    MOVA            HRAM_0X6
:0X381  5005                    MOV             HRAM_0X5,       A
:0X382  e611                    MOVA            (_check_emptyDATA+4)&7f             ;(_check_emptyDATA+4)&7f: Bank 0    Addr: 17     
:0X383  5006                    MOV             HRAM_0X6,       A
:0X384  e612                    MOVA            (_check_emptyDATA+5)&7f             ;(_check_emptyDATA+5)&7f: Bank 0    Addr: 18     
:0X385  ec00                    PAGE            (_check_empty)>>11
:0X386  6445                    CALL            HADR_0X445
:0X387  ec00                    PAGE            (_c)>>11
:0X388  209f                    MOVAR           _in_exe_ins_result_69               ;_in_exe_ins_result_69: Bank 1    Addr: 159    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;
;            if (result)
:0X389  ea01                    SECTION         0X1
:0X38a  501f                    MOV             (_in_exe_ins_result_69)&7f,     A   ;(_in_exe_ins_result_69)&7f: Bank 0    Addr: 31    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
:0X38b  ea02                    SECTION         0X2
:0X38c  9a84                    JBC             HRAM_0X84,      2
:0X38d  6b91                    GOTO            HADR_0X391
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X38e  e579                    MOVI            0X79
:0X38f  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;            }
:0X390  6b93                    GOTO            HADR_0X393
HADR_0X391:
;            else
:0X391  e51f                    MOVI            0X1F
:0X392  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
HADR_0X393:
;            }
:0X393  e507                    MOVI            0X7
:0X394  ea01                    SECTION         0X1
:0X395  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X396  6bb3                    GOTO            HADR_0X3B3
HADR_0X397:
;
;        case  GO:
:0X397  e508                    MOVI            0X8
:0X398  e001                    ADDI            0X1
:0X399  ea00                    SECTION         0X0
:0X39a  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X39b  78b9                    MOVRA           _g_isp_data+8                       ;_g_isp_data+8: Bank 1    Addr: 185     
:0X39c  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X39d  78ba                    MOVRA           _g_isp_data+9                       ;_g_isp_data+9: Bank 1    Addr: 186     
:0X39e  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X39f  78bb                    MOVRA           _g_isp_data+10                      ;_g_isp_data+10: Bank 1    Addr: 187     
:0X3a0  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X3a1  78bc                    MOVRA           _g_isp_data+11                      ;_g_isp_data+11: Bank 1    Addr: 188     
:0X3a2  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X3a3  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X3a4  6baa                    GOTO            HADR_0X3AA
HADR_0X3A5:
:0X3a5  a884                    BCC             HRAM_0X84,      0
:0X3a6  d104                    RRB             (?_TMP+4)&7f,   R,              0X1 ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X3a7  d103                    RRB             (?_TMP+3)&7f,   R,              0X1 ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X3a8  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X3a9  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X3AA:
:0X3aa  e0ff                    ADDI            0XFF
:0X3ab  9284                    JBS             HRAM_0X84,      2
:0X3ac  6ba5                    GOTO            HADR_0X3A5
:0X3ad  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X3ae  e687                    MOVA            _PCRH_0                             ;_PCRH_0: Bank 511    Addr: 65415    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;            PCRL = g_isp_data.para1.b32;
:0X3af  78b9                    MOVRA           _g_isp_data+8                       ;_g_isp_data+8: Bank 1    Addr: 185     
:0X3b0  e686                    MOVA            _PCRL_0                             ;_PCRL_0: Bank 511    Addr: 65414    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\isp_proc.obj 
;            break;
:0X3b1  6bb3                    GOTO            HADR_0X3B3
HADR_0X3B2:
;
;        default:
:0X3b2  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X3B3:
;            break;
;    }
;}
:0X3b3  ea00                    SECTION         0X0
:0X3b4  c183                    RET
HADR_0X3B5:
;
;/***************************************************************
;函数名：fsm_init
;描  述: 状态机初始化
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void fsm_init(void)
;{
;    g_isp_data.syn = 0;
:0X3b5  e783                    CLR             HRAM_0X83
:0X3b6  e500                    MOVI            0X0
:0X3b7  ea01                    SECTION         0X1
:0X3b8  e632                    MOVA            (_g_isp_data+1)&7f                  ;(_g_isp_data+1)&7f: Bank 0    Addr: 50     
;    g_isp_data.step = WAIT_REV_INS;
:0X3b9  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;    g_isp_data.cmd = 0;  //指令码
:0X3ba  e733                    CLR             (_g_isp_data+2)&7f                  ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
;    g_isp_data.rx_len = 1;    //接收长度
:0X3bb  e501                    MOVI            0X1
:0X3bc  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;    g_isp_data.tx_len = 0;    //发送长度
:0X3bd  e736                    CLR             (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 54     
;    g_isp_data.rx_cnt = 0;    //接收计数
:0X3be  e737                    CLR             (_g_isp_data+6)&7f                  ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
;    g_isp_data.tx_cnt = 0;    //发送计数
:0X3bf  e738                    CLR             (_g_isp_data+7)&7f                  ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
;    g_isp_data.triger = 0;    //上一步动作完成，触发下一步动作
:0X3c0  e734                    CLR             (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
;    g_boot_timer = Boot_OVERTIME_1;
:0X3c1  e728                    CLR             (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X3c2  e727                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X3c3  e726                    CLR             (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X3c4  e514                    MOVI            0X14
:0X3c5  e625                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
;    g_boot = 0;
:0X3c6  e71c                    CLR             (_g_boot)&7f                        ;(_g_boot)&7f: Bank 0    Addr: 28     
;}
:0X3c7  ea00                    SECTION         0X0
:0X3c8  c183                    RET
HADR_0X3C9:
;
;
;/***************************************************************
;函数名：uart_proc_fsm
;描  述: UART命令帧处理状态机
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void uart_proc_fsm(void)
;{
;    g_isp_data.triger = 0;
:0X3c9  e783                    CLR             HRAM_0X83
:0X3ca  e500                    MOVI            0X0
:0X3cb  ea01                    SECTION         0X1
:0X3cc  e634                    MOVA            (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
;
;    switch (g_isp_data.step)
:0X3cd  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X3ce  e301                    XORI            0X1
:0X3cf  9a84                    JBC             HRAM_0X84,      2
:0X3d0  6be4                    GOTO            HADR_0X3E4
:0X3d1  e303                    XORI            0X3
:0X3d2  9a84                    JBC             HRAM_0X84,      2
:0X3d3  6bfe                    GOTO            HADR_0X3FE
:0X3d4  e301                    XORI            0X1
:0X3d5  9a84                    JBC             HRAM_0X84,      2
:0X3d6  6c04                    GOTO            HADR_0X404
:0X3d7  e307                    XORI            0X7
:0X3d8  9a84                    JBC             HRAM_0X84,      2
:0X3d9  6c0c                    GOTO            HADR_0X40C
:0X3da  e301                    XORI            0X1
:0X3db  9a84                    JBC             HRAM_0X84,      2
:0X3dc  6c12                    GOTO            HADR_0X412
:0X3dd  e303                    XORI            0X3
:0X3de  9a84                    JBC             HRAM_0X84,      2
:0X3df  6c1a                    GOTO            HADR_0X41A
:0X3e0  e301                    XORI            0X1
:0X3e1  9a84                    JBC             HRAM_0X84,      2
:0X3e2  6c22                    GOTO            HADR_0X422
:0X3e3  6c2d                    GOTO            HADR_0X42D
HADR_0X3E4:
;    {
;        case  IN_REV_INS:  //0:接收指令码
:0X3e4  e703                    CLR             HRAM_0X3
:0X3e5  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X3e6  e602                    MOVA            HRAM_0X2
:0X3e7  5202                    COM             HRAM_0X2,       A
:0X3e8  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X3e9  ea02                    SECTION         0X2
:0X3ea  9284                    JBS             HRAM_0X84,      2
:0X3eb  6bf3                    GOTO            HADR_0X3F3
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X3ec  e579                    MOVI            0X79
:0X3ed  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = END_IN_INS;
:0X3ee  e502                    MOVI            0X2
:0X3ef  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                g_isp_data.cmd = g_isp_data.rx_buf[0];
:0X3f0  78c1                    MOVRA           _g_isp_data+16                      ;_g_isp_data+16: Bank 1    Addr: 193     
:0X3f1  20b3                    MOVAR           _g_isp_data+2                       ;_g_isp_data+2: Bank 1    Addr: 179     
;            }
:0X3f2  6bf7                    GOTO            HADR_0X3F7
HADR_0X3F3:
;            else
:0X3f3  e51f                    MOVI            0X1F
:0X3f4  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X3f5  e507                    MOVI            0X7
:0X3f6  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
HADR_0X3F7:
;            }
:0X3f7  e500                    MOVI            0X0
:0X3f8  ea01                    SECTION         0X1
:0X3f9  e60d                    MOVA            (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X3fa  ec00                    PAGE            (_start_tx)>>11
:0X3fb  66c8                    CALL            HADR_0X6C8
:0X3fc  ec00                    PAGE            (_d)>>11
;            break;
:0X3fd  6c31                    GOTO            HADR_0X431
HADR_0X3FE:
;
;        case  END_IN_INS:  //完成接收指令码
:0X3fe  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X3ff  e605                    MOVA            HRAM_0X5
:0X400  ec00                    PAGE            (_next_ans_ins)>>11
:0X401  604c                    CALL            HADR_0X4C
:0X402  ec00                    PAGE            (_e)>>11
;            break;
:0X403  6c31                    GOTO            HADR_0X431
HADR_0X404:
;
;        case  WAIT_REV_PARA1://等待接收参数1
:0X404  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X405  e605                    MOVA            HRAM_0X5
:0X406  ec00                    PAGE            (_wait_rev_para1)>>11
:0X407  6067                    CALL            HADR_0X67
:0X408  ec00                    PAGE            (_f)>>11
;            g_isp_data.triger = 1;
:0X409  e501                    MOVI            0X1
:0X40a  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;            break;
:0X40b  6c31                    GOTO            HADR_0X431
HADR_0X40C:
;
;        case  END_REV_PARA1: //接收参数1完成
:0X40c  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X40d  e605                    MOVA            HRAM_0X5
:0X40e  ec00                    PAGE            (_next_rev_para1)>>11
:0X40f  6145                    CALL            HADR_0X145
:0X410  ec00                    PAGE            (_10)>>11
;            break;
:0X411  6c31                    GOTO            HADR_0X431
HADR_0X412:
;
;        case  WAIT_REV_PARA2://等待接收参数2
:0X412  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X413  e605                    MOVA            HRAM_0X5
:0X414  ec00                    PAGE            (_wait_rev_para2)>>11
:0X415  615f                    CALL            HADR_0X15F
:0X416  ec00                    PAGE            (_11)>>11
;            g_isp_data.triger = 1;
:0X417  e501                    MOVI            0X1
:0X418  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;            break;
:0X419  6c31                    GOTO            HADR_0X431
HADR_0X41A:
;
;        case  IN_EXE_INS:  //执行指令
:0X41a  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X41b  e605                    MOVA            HRAM_0X5
:0X41c  ec00                    PAGE            (_in_exe_ins)>>11
:0X41d  61d8                    CALL            HADR_0X1D8
:0X41e  ec00                    PAGE            (_12)>>11
;            g_isp_data.triger = 1;
:0X41f  e501                    MOVI            0X1
:0X420  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;            break;
:0X421  6c31                    GOTO            HADR_0X431
HADR_0X422:
;
;        case  IN_SEND_OVER:  //发送结束ACK
:0X422  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X423  ec00                    PAGE            (_start_tx)>>11
:0X424  66c8                    CALL            HADR_0X6C8
:0X425  ec00                    PAGE            (_13)>>11
;            g_isp_data.step = WAIT_REV_INS;
:0X426  e500                    MOVI            0X0
:0X427  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            g_isp_data.rx_len = 1;    //接收长度
:0X428  e501                    MOVI            0X1
:0X429  20b5                    MOVAR           _g_isp_data+4                       ;_g_isp_data+4: Bank 1    Addr: 181     
;            g_isp_data.triger = 0;
:0X42a  e500                    MOVI            0X0
:0X42b  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;            break;
:0X42c  6c31                    GOTO            HADR_0X431
HADR_0X42D:
;
;        default:             //其他状态回归等待同步码状态
:0X42d  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            g_isp_data.rx_len = 1;    //接收长度
:0X42e  e501                    MOVI            0X1
:0X42f  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;            g_isp_data.triger = 0;
:0X430  e734                    CLR             (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
HADR_0X431:
;            break;
;    }
;}
:0X431  ea00                    SECTION         0X0
:0X432  c183                    RET
HADR_0X433:
;/*********************************************************
;*Copyright (C), 2021, Shanghai Eastsoft Microelectronics Co., Ltd
;*文件名:  main.c
;*作  者:  AE Team
;*版  本:  V1.00， 编译于iDesigner(v4.2.3.166) + 工具链HRCC(v1.2.0.122)
;*日  期:  2021/12/9
;*描  述:  Bootloader示例程序
;          PA0：模拟BootPIN
;          PA1：TX
;          PA2：RX
;          串口配置 波特率：9600  数据位：8位  停止位：1位  校验：无校验
;          演示方法请参考应用笔记《AN112_UserManual_ES-UART-BOOT》
;*备  注:  本软件仅供学习和演示使用，对用户直接引用代码所带来的风险或后果不承担任何法律责任。
;**********************************************************/
;#include "typedef.h"
;#include "rw_flash.h"
;#include "string.h"
;#include "uart.h"
;#include  "sysinit.h"
;#include "systick.h"
;#include <hic.h>
;
;extern isp_data_t g_isp_data;
;extern u32  g_boot_timer;
;extern u8   g_boot;
;void uart_proc_fsm(void);
;void fsm_init(void);
;void UartReceive(void);
;
;/**********************************************
;函数名：RAM_clear
;描  述：RAM区清0
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void RAM_clear(void)
;{
;    for (IAAH = 0; IAAH <= 0x03; IAAH++)
:0X433  e783                    CLR             HRAM_0X83
:0X434  e782                    CLR             _IAAH_0                             ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
HADR_0X435:
:0X435  5082                    MOV             _IAAH_0,        A                   ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
:0X436  ce03                    SUBI            0X3
:0X437  9084                    JBS             HRAM_0X84,      0
:0X438  6c44                    GOTO            HADR_0X444
;    {
;        for (IAAL = 0; IAAL < 0xFF; IAAL++)IAD = 0;
:0X439  e781                    CLR             _IAAL_0                             ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
HADR_0X43A:
:0X43a  e5ff                    MOVI            0XFF
:0X43b  ee81                    SUB             _IAAL_0,        A                   ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
:0X43c  9884                    JBC             HRAM_0X84,      0
:0X43d  6c41                    GOTO            HADR_0X441
:0X43e  e780                    CLR             _IAD_0                              ;_IAD_0: Bank 511    Addr: 65408    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
:0X43f  5581                    INC             _IAAL_0,        R                   ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
:0X440  6c3a                    GOTO            HADR_0X43A
HADR_0X441:
;
;        IAD = 0;
:0X441  e780                    CLR             _IAD_0                              ;_IAD_0: Bank 511    Addr: 65408    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
:0X442  5582                    INC             _IAAH_0,        R                   ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\main.obj 
;    }
:0X443  6c35                    GOTO            HADR_0X435
HADR_0X444:
;}
:0X444  c183                    RET
HADR_0X445:
;#include  <hic.h>
;#include  <string.h>
;#include  "typedef.h"
;#include  "macrodef.h"
;#include  "rw_flash.h"
;
;/**********************************************
;函数名：check_empty
;描  述：查询Flash是否为空
;输入值：word_addr:Flash起始地址;num:查空的字节数
;输出值：无
;返回值：SUCCESS，FAILED
;**********************************************/
;u8 check_empty(u16  word_addr, u8 *buf_Addr, u16 num)
;{
;    u16  i, buf16;
;
;    for (i = 0; i < (num / 2); i++)
:0X445  e783                    CLR             HRAM_0X83
:0X446  ea01                    SECTION         0X1
:0X447  e713                    CLR             HRAM_0X13
:0X448  e714                    CLR             HRAM_0X14
HADR_0X449:
:0X449  5014                    MOV             HRAM_0X14,      A
:0X44a  e618                    MOVA            HRAM_0X18
:0X44b  5013                    MOV             HRAM_0X13,      A
:0X44c  e617                    MOVA            HRAM_0X17
:0X44d  a884                    BCC             HRAM_0X84,      0
:0X44e  d012                    RRB             HRAM_0X12,      A,              0X1
:0X44f  e61a                    MOVA            HRAM_0X1A
:0X450  d011                    RRB             HRAM_0X11,      A,              0X1
:0X451  e619                    MOVA            HRAM_0X19
:0X452  501a                    MOV             HRAM_0X1A,      A
:0X453  ee18                    SUB             HRAM_0X18,      A
:0X454  9284                    JBS             HRAM_0X84,      2
:0X455  6c58                    GOTO            HADR_0X458
:0X456  5019                    MOV             HRAM_0X19,      A
:0X457  ee17                    SUB             HRAM_0X17,      A
HADR_0X458:
:0X458  9884                    JBC             HRAM_0X84,      0
:0X459  6cb9                    GOTO            HADR_0X4B9
;    {
;        if (i % 2 == 1)
:0X45a  5013                    MOV             HRAM_0X13,      A
:0X45b  e201                    ANDI            0X1
:0X45c  e718                    CLR             HRAM_0X18
:0X45d  e301                    XORI            0X1
:0X45e  9284                    JBS             HRAM_0X84,      2
:0X45f  6c63                    GOTO            HADR_0X463
:0X460  5018                    MOV             HRAM_0X18,      A
:0X461  e300                    XORI            0X0
:0X462  9284                    JBS             HRAM_0X84,      2
HADR_0X463:
:0X463  6c79                    GOTO            HADR_0X479
;        {
;
;            __Asm  TBR;
:0X464  c184                    TBR
;
;            buf16 = (((u16)ROMD1H << 8) + ROMD1L);
:0X465  e718                    CLR             HRAM_0X18
:0X466  50a2                    MOV             _ROMD1H_0,      A                   ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X467  e61a                    MOVA            HRAM_0X1A
:0X468  e719                    CLR             HRAM_0X19
:0X469  e718                    CLR             HRAM_0X18
:0X46a  50a1                    MOV             _ROMD1L_0,      A                   ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X46b  5e19                    ADD             HRAM_0X19,      A
:0X46c  e615                    MOVA            HRAM_0X15
:0X46d  5018                    MOV             HRAM_0X18,      A
:0X46e  141a                    ADDC            HRAM_0X1A,      A
:0X46f  e616                    MOVA            HRAM_0X16
;            ++word_addr;
:0X470  550d                    INC             HRAM_0XD,       R
:0X471  9284                    JBS             HRAM_0X84,      2
:0X472  6c74                    GOTO            HADR_0X474
:0X473  550e                    INC             HRAM_0XE,       R
HADR_0X474:
;            buf_Addr += 2;
:0X474  e502                    MOVI            0X2
:0X475  5f0f                    ADD             HRAM_0XF,       R
:0X476  5010                    MOV             HRAM_0X10,      A
:0X477  c300                    ADDCI           0X0
:0X478  e610                    MOVA            HRAM_0X10
HADR_0X479:
;        }
:0X479  9813                    JBC             HRAM_0X13,      0
:0X47a  6caa                    GOTO            HADR_0X4AA
;        {
;            FRAL = word_addr;
:0X47b  500d                    MOV             HRAM_0XD,       A
:0X47c  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;            FRAH = word_addr >> 8;
:0X47d  e508                    MOVI            0X8
:0X47e  e001                    ADDI            0X1
:0X47f  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X480  500d                    MOV             HRAM_0XD,       A
:0X481  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X482  500e                    MOV             HRAM_0XE,       A
:0X483  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X484  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X485  6c8a                    GOTO            HADR_0X48A
HADR_0X486:
:0X486  a884                    BCC             HRAM_0X84,      0
:0X487  ea00                    SECTION         0X0
:0X488  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X489  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X48A:
:0X48a  e0ff                    ADDI            0XFF
:0X48b  9284                    JBS             HRAM_0X84,      2
:0X48c  6c86                    GOTO            HADR_0X486
:0X48d  ea00                    SECTION         0X0
:0X48e  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X48f  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;            FRAHN = ~FRAH;
:0X490  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X491  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;            FRALN = ~FRAL;
:0X492  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X493  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;            __Asm  TBR;
:0X494  c184                    TBR
;            buf16 = (((u16)ROMDH << 8) + ROMDL);
:0X495  ea01                    SECTION         0X1
:0X496  e718                    CLR             HRAM_0X18
:0X497  5093                    MOV             _ROMDH_0,       A                   ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X498  e61a                    MOVA            HRAM_0X1A
:0X499  e719                    CLR             HRAM_0X19
:0X49a  e718                    CLR             HRAM_0X18
:0X49b  5092                    MOV             _ROMDL_0,       A                   ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X49c  5e19                    ADD             HRAM_0X19,      A
:0X49d  e615                    MOVA            HRAM_0X15
:0X49e  5018                    MOV             HRAM_0X18,      A
:0X49f  141a                    ADDC            HRAM_0X1A,      A
:0X4a0  e616                    MOVA            HRAM_0X16
;            ++word_addr;
:0X4a1  550d                    INC             HRAM_0XD,       R
:0X4a2  9284                    JBS             HRAM_0X84,      2
:0X4a3  6ca5                    GOTO            HADR_0X4A5
:0X4a4  550e                    INC             HRAM_0XE,       R
HADR_0X4A5:
;            buf_Addr += 2;
:0X4a5  e502                    MOVI            0X2
:0X4a6  5f0f                    ADD             HRAM_0XF,       R
:0X4a7  5010                    MOV             HRAM_0X10,      A
:0X4a8  c300                    ADDCI           0X0
:0X4a9  e610                    MOVA            HRAM_0X10
HADR_0X4AA:
;        }
:0X4aa  5015                    MOV             HRAM_0X15,      A
:0X4ab  e3ff                    XORI            0XFF
:0X4ac  9284                    JBS             HRAM_0X84,      2
:0X4ad  6cb2                    GOTO            HADR_0X4B2
:0X4ae  5016                    MOV             HRAM_0X16,      A
:0X4af  e3ff                    XORI            0XFF
:0X4b0  9a84                    JBC             HRAM_0X84,      2
:0X4b1  6cb4                    GOTO            HADR_0X4B4
HADR_0X4B2:
;        {
;            return  FAILED;
:0X4b2  ea00                    SECTION         0X0
:0X4b3  e400                    RETIA           0X0
HADR_0X4B4:
;        }
;    }
:0X4b4  5513                    INC             HRAM_0X13,      R
:0X4b5  9284                    JBS             HRAM_0X84,      2
:0X4b6  6cb8                    GOTO            HADR_0X4B8
:0X4b7  5514                    INC             HRAM_0X14,      R
HADR_0X4B8:
:0X4b8  6c49                    GOTO            HADR_0X449
HADR_0X4B9:
;
;    return  SUCCESS;
:0X4b9  ea00                    SECTION         0X0
:0X4ba  e401                    RETIA           0X1
HADR_0X4BB:
;}
;/**********************************************
;函数名：Read_Cont
;描  述：连续读Flash
;输入值：word_addr:Flash地址; *buf_Addr:数据保存地址; num:连续读的字节数
;输出值：Flash中的数据
;返回值：SUCCESS，FAILED
;**********************************************/
;u8 Read_Cont(u16  word_addr, u8 *buf_Addr, u16 num)
;{
;    u16  i;
;
;    for (i = 0; i < (num / 2); i++)
:0X4bb  e783                    CLR             HRAM_0X83
:0X4bc  ea01                    SECTION         0X1
:0X4bd  e713                    CLR             HRAM_0X13
:0X4be  e714                    CLR             HRAM_0X14
HADR_0X4BF:
:0X4bf  5014                    MOV             HRAM_0X14,      A
:0X4c0  e616                    MOVA            HRAM_0X16
:0X4c1  5013                    MOV             HRAM_0X13,      A
:0X4c2  e615                    MOVA            HRAM_0X15
:0X4c3  a884                    BCC             HRAM_0X84,      0
:0X4c4  d012                    RRB             HRAM_0X12,      A,              0X1
:0X4c5  e618                    MOVA            HRAM_0X18
:0X4c6  d011                    RRB             HRAM_0X11,      A,              0X1
:0X4c7  e617                    MOVA            HRAM_0X17
:0X4c8  5018                    MOV             HRAM_0X18,      A
:0X4c9  ee16                    SUB             HRAM_0X16,      A
:0X4ca  9284                    JBS             HRAM_0X84,      2
:0X4cb  6cce                    GOTO            HADR_0X4CE
:0X4cc  5017                    MOV             HRAM_0X17,      A
:0X4cd  ee15                    SUB             HRAM_0X15,      A
HADR_0X4CE:
:0X4ce  9884                    JBC             HRAM_0X84,      0
:0X4cf  6d35                    GOTO            HADR_0X535
;    {
;        if (i % 2 == 1)
:0X4d0  5013                    MOV             HRAM_0X13,      A
:0X4d1  e201                    ANDI            0X1
:0X4d2  e716                    CLR             HRAM_0X16
:0X4d3  e301                    XORI            0X1
:0X4d4  9284                    JBS             HRAM_0X84,      2
:0X4d5  6cd9                    GOTO            HADR_0X4D9
:0X4d6  5016                    MOV             HRAM_0X16,      A
:0X4d7  e300                    XORI            0X0
:0X4d8  9284                    JBS             HRAM_0X84,      2
HADR_0X4D9:
:0X4d9  6cf7                    GOTO            HADR_0X4F7
;        {
;            __Asm  TBR;
:0X4da  c184                    TBR
;            *(u16 *)buf_Addr = (((u16)ROMD1H << 8) + ROMD1L);
:0X4db  e716                    CLR             HRAM_0X16
:0X4dc  50a2                    MOV             _ROMD1H_0,      A                   ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X4dd  e618                    MOVA            HRAM_0X18
:0X4de  e717                    CLR             HRAM_0X17
:0X4df  e716                    CLR             HRAM_0X16
:0X4e0  50a1                    MOV             _ROMD1L_0,      A                   ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X4e1  e615                    MOVA            HRAM_0X15
:0X4e2  5010                    MOV             HRAM_0X10,      A
:0X4e3  e682                    MOVA            HRAM_0X82
:0X4e4  500f                    MOV             HRAM_0XF,       A
:0X4e5  e681                    MOVA            HRAM_0X81
:0X4e6  5015                    MOV             HRAM_0X15,      A
:0X4e7  5e17                    ADD             HRAM_0X17,      A
:0X4e8  e680                    MOVA            HRAM_0X80
:0X4e9  c201                    ISTEP           0X1
:0X4ea  5016                    MOV             HRAM_0X16,      A
:0X4eb  1418                    ADDC            HRAM_0X18,      A
:0X4ec  e680                    MOVA            HRAM_0X80
:0X4ed  c201                    ISTEP           0X1
;            word_addr++;
:0X4ee  550d                    INC             HRAM_0XD,       R
:0X4ef  9284                    JBS             HRAM_0X84,      2
:0X4f0  6cf2                    GOTO            HADR_0X4F2
:0X4f1  550e                    INC             HRAM_0XE,       R
HADR_0X4F2:
;            buf_Addr += 2;
:0X4f2  e502                    MOVI            0X2
:0X4f3  5f0f                    ADD             HRAM_0XF,       R
:0X4f4  5010                    MOV             HRAM_0X10,      A
:0X4f5  c300                    ADDCI           0X0
:0X4f6  e610                    MOVA            HRAM_0X10
HADR_0X4F7:
;        }
:0X4f7  9813                    JBC             HRAM_0X13,      0
:0X4f8  6d30                    GOTO            HADR_0X530
;        {
;            FRAL = word_addr;
:0X4f9  500d                    MOV             HRAM_0XD,       A
:0X4fa  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;            FRAH = word_addr >> 8;
:0X4fb  e508                    MOVI            0X8
:0X4fc  e001                    ADDI            0X1
:0X4fd  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X4fe  500d                    MOV             HRAM_0XD,       A
:0X4ff  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X500  500e                    MOV             HRAM_0XE,       A
:0X501  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X502  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X503  6d08                    GOTO            HADR_0X508
HADR_0X504:
:0X504  a884                    BCC             HRAM_0X84,      0
:0X505  ea00                    SECTION         0X0
:0X506  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X507  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X508:
:0X508  e0ff                    ADDI            0XFF
:0X509  9284                    JBS             HRAM_0X84,      2
:0X50a  6d04                    GOTO            HADR_0X504
:0X50b  ea00                    SECTION         0X0
:0X50c  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X50d  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;            FRAHN = ~FRAH;
:0X50e  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X50f  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;            FRALN = ~FRAL;
:0X510  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X511  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;            __Asm  TBR;
:0X512  c184                    TBR
;            *(u16 *)buf_Addr = (((u16)ROMDH << 8) + ROMDL);
:0X513  ea01                    SECTION         0X1
:0X514  e716                    CLR             HRAM_0X16
:0X515  5093                    MOV             _ROMDH_0,       A                   ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X516  e618                    MOVA            HRAM_0X18
:0X517  e717                    CLR             HRAM_0X17
:0X518  e716                    CLR             HRAM_0X16
:0X519  5092                    MOV             _ROMDL_0,       A                   ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X51a  e615                    MOVA            HRAM_0X15
:0X51b  5010                    MOV             HRAM_0X10,      A
:0X51c  e682                    MOVA            HRAM_0X82
:0X51d  500f                    MOV             HRAM_0XF,       A
:0X51e  e681                    MOVA            HRAM_0X81
:0X51f  5015                    MOV             HRAM_0X15,      A
:0X520  5e17                    ADD             HRAM_0X17,      A
:0X521  e680                    MOVA            HRAM_0X80
:0X522  c201                    ISTEP           0X1
:0X523  5016                    MOV             HRAM_0X16,      A
:0X524  1418                    ADDC            HRAM_0X18,      A
:0X525  e680                    MOVA            HRAM_0X80
:0X526  c201                    ISTEP           0X1
;            word_addr++;
:0X527  550d                    INC             HRAM_0XD,       R
:0X528  9284                    JBS             HRAM_0X84,      2
:0X529  6d2b                    GOTO            HADR_0X52B
:0X52a  550e                    INC             HRAM_0XE,       R
HADR_0X52B:
;            buf_Addr += 2;
:0X52b  e502                    MOVI            0X2
:0X52c  5f0f                    ADD             HRAM_0XF,       R
:0X52d  5010                    MOV             HRAM_0X10,      A
:0X52e  c300                    ADDCI           0X0
:0X52f  e610                    MOVA            HRAM_0X10
HADR_0X530:
;        }
;    }
:0X530  5513                    INC             HRAM_0X13,      R
:0X531  9284                    JBS             HRAM_0X84,      2
:0X532  6d34                    GOTO            HADR_0X534
:0X533  5514                    INC             HRAM_0X14,      R
HADR_0X534:
:0X534  6cbf                    GOTO            HADR_0X4BF
HADR_0X535:
;
;    ROMCL = 0x00;
:0X535  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    return  SUCCESS;
:0X536  ea00                    SECTION         0X0
:0X537  e401                    RETIA           0X1
HADR_0X538:
;}
;
;static volatile unsigned int section8 FRAN @ 0xFF8E;
;static volatile unsigned int section8 FRA  @ 0xFF90;
;/**********************************************
;函数名：StartIAP
;描  述：IAP固定操作
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void StartIAP(void) //IAP固定格式
;{
;    __asm
:0X538  e783                    CLR             HRAM_0X83
;    {
;        MOVI 0x55
:0X539  e555                    MOVI            0X55
;        MOVA ROMCH
:0X53a  e695                    MOVA            HRAM_0X95
;        MOVI 0x02        //等待8个指令周期
:0X53b  e502                    MOVI            0X2
HADR_0X53C:
;        SSUBI 1          //(A)-1->(A)
:0X53c  cf01                    SSUBI           0X1
;        JBS PSW, Z
:0X53d  9284                    JBS             HRAM_0X84,      2
;        goto $-2
:0X53e  6d3c                    GOTO            HADR_0X53C
;        MOVI 0xAA
:0X53f  e5aa                    MOVI            0XAA
;        MOVA ROMCH
:0X540  e695                    MOVA            HRAM_0X95
;        MOVI 0x02        //等待8个->(指令周期
:0X541  e502                    MOVI            0X2
HADR_0X542:
;        SSUBI 1          //(A)-1A)
:0X542  cf01                    SSUBI           0X1
;        JBS PSW, Z
:0X543  9284                    JBS             HRAM_0X84,      2
;        goto $-2
:0X544  6d42                    GOTO            HADR_0X542
;        BSS ROMCL, WR    //Flash存储器页擦除/自编程触发位
:0X545  a194                    BSS             HRAM_0X94,      1
HADR_0X546:
;        JBC ROMCL, WR
:0X546  9994                    JBC             HRAM_0X94,      1
;        goto $-1         //等待操作结束
:0X547  6d46                    GOTO            HADR_0X546
;    }
:0X548  c183                    RET
HADR_0X549:
;/**********************************************
;函数名：Erase_Page
;描  述：擦除一页Flash
;输入值：page_addr：擦除页所在的地址
;输出值：无
;返回值：SUCCESS，FAILED
;**********************************************/
;u8 Erase_Page(u16  page_addr)
;{
;    GIE = 0 ;
:0X549  e783                    CLR             HRAM_0X83
:0X54a  af96                    BCC             (_GIE_0)>>3,    7                   ;(_GIE_0)>>3: Bank 511    Addr: 65430    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    DATARDEN = 1;
:0X54b  a794                    BSS             (_DATARDEN_0)>>3,               7   ;(_DATARDEN_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FPEE = 1;
:0X54c  a394                    BSS             (_FPEE_0)>>3,   3                   ;(_FPEE_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FRAH = page_addr >> 8;  //地址高字节
:0X54d  e508                    MOVI            0X8
:0X54e  e001                    ADDI            0X1
:0X54f  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X550  788d                    MOVRA           HRAM_0X8D
:0X551  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X552  788e                    MOVRA           HRAM_0X8E
:0X553  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X554  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X555  6d59                    GOTO            HADR_0X559
HADR_0X556:
:0X556  a884                    BCC             HRAM_0X84,      0
:0X557  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X558  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X559:
:0X559  e0ff                    ADDI            0XFF
:0X55a  9284                    JBS             HRAM_0X84,      2
:0X55b  6d56                    GOTO            HADR_0X556
:0X55c  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X55d  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FRAL = page_addr;       //地址低字节
:0X55e  788d                    MOVRA           HRAM_0X8D
:0X55f  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FRAHN = ~FRAH;
:0X560  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X561  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FRALN = ~FRAL;
:0X562  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X563  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    WREN = 1;
:0X564  a294                    BSS             (_WREN_0)>>3,   2                   ;(_WREN_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    StartIAP();
:0X565  ec00                    PAGE            (_StartIAP)>>11
:0X566  6538                    CALL            HADR_0X538
:0X567  ec00                    PAGE            (_3)>>11
;    //while(WR);    //等待擦除结束
;    ROMCL = 0x00;
:0X568  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FRA = 0xFF12;   //指到不用的地址空间
:0X569  e5ff                    MOVI            0XFF
:0X56a  e691                    MOVA            _FRA_0+1                            ;_FRA_0+1: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X56b  e512                    MOVI            0X12
:0X56c  e690                    MOVA            _FRA_0                              ;_FRA_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FRAN = 0x3456;  //此处把地址反码赋成与0xFFFF和FRA无取反关系的值
:0X56d  e534                    MOVI            0X34
:0X56e  e68f                    MOVA            _FRAN_0+1                           ;_FRAN_0+1: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X56f  e556                    MOVI            0X56
:0X570  e68e                    MOVA            _FRAN_0                             ;_FRAN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    return SUCCESS;
:0X571  e401                    RETIA           0X1
HADR_0X572:
;}
;/**********************************************
;函数名：Write_Cont
;描  述：向Flash中连续写数据
;输入值：word_addr：Flash起始地址;buf_Addr:要写入数据的起始地址 num:数据个数
;输出值：无
;返回值：SUCCESS，FAILED
;**********************************************/
;u8 Write_Cont(u16  word_addr, u8 *buf_Addr, u16 num)
;{
;    u16  i;
;
;    GIE = 0;
:0X572  e783                    CLR             HRAM_0X83
:0X573  af96                    BCC             (_GIE_0)>>3,    7                   ;(_GIE_0)>>3: Bank 511    Addr: 65430    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    ROMCL = 0x80;
:0X574  e580                    MOVI            0X80
:0X575  e694                    MOVA            _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    DATARDEN = 1;
:0X576  a794                    BSS             (_DATARDEN_0)>>3,               7   ;(_DATARDEN_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FPEE = 0;
:0X577  ab94                    BCC             (_FPEE_0)>>3,   3                   ;(_FPEE_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;
;    for (i = 0; i < (num / 4); i++) //每次写入双字(32bit)
:0X578  ea01                    SECTION         0X1
:0X579  e713                    CLR             HRAM_0X13
:0X57a  e714                    CLR             HRAM_0X14
HADR_0X57B:
:0X57b  5014                    MOV             HRAM_0X14,      A
:0X57c  e616                    MOVA            HRAM_0X16
:0X57d  5013                    MOV             HRAM_0X13,      A
:0X57e  e615                    MOVA            HRAM_0X15
:0X57f  e502                    MOVI            0X2
:0X580  e001                    ADDI            0X1
:0X581  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X582  5011                    MOV             HRAM_0X11,      A
:0X583  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X584  5012                    MOV             HRAM_0X12,      A
:0X585  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X586  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X587  6d8c                    GOTO            HADR_0X58C
HADR_0X588:
:0X588  a884                    BCC             HRAM_0X84,      0
:0X589  ea00                    SECTION         0X0
:0X58a  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X58b  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X58C:
:0X58c  e0ff                    ADDI            0XFF
:0X58d  9284                    JBS             HRAM_0X84,      2
:0X58e  6d88                    GOTO            HADR_0X588
:0X58f  ea00                    SECTION         0X0
:0X590  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X591  2097                    MOVAR           HRAM_0X97
:0X592  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X593  ea01                    SECTION         0X1
:0X594  ee16                    SUB             HRAM_0X16,      A
:0X595  9284                    JBS             HRAM_0X84,      2
:0X596  6d99                    GOTO            HADR_0X599
:0X597  5017                    MOV             HRAM_0X17,      A
:0X598  ee15                    SUB             HRAM_0X15,      A
HADR_0X599:
:0X599  9884                    JBC             HRAM_0X84,      0
:0X59a  6e4c                    GOTO            HADR_0X64C
;    {
;        FRAH = word_addr >> 8;  //地址高字节
:0X59b  e508                    MOVI            0X8
:0X59c  e001                    ADDI            0X1
:0X59d  ea00                    SECTION         0X0
:0X59e  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X59f  788d                    MOVRA           HRAM_0X8D
:0X5a0  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5a1  788e                    MOVRA           HRAM_0X8E
:0X5a2  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5a3  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5a4  6da8                    GOTO            HADR_0X5A8
HADR_0X5A5:
:0X5a5  a884                    BCC             HRAM_0X84,      0
:0X5a6  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5a7  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X5A8:
:0X5a8  e0ff                    ADDI            0XFF
:0X5a9  9284                    JBS             HRAM_0X84,      2
:0X5aa  6da5                    GOTO            HADR_0X5A5
:0X5ab  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5ac  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        FRAL = word_addr;       //地址低字节
:0X5ad  788d                    MOVRA           HRAM_0X8D
:0X5ae  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        FRAHN = ~FRAH;
:0X5af  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X5b0  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        FRALN = ~FRAL;
:0X5b1  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X5b2  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        ROMD1H = (*((u32 *)buf_Addr)) >> 24;
:0X5b3  7890                    MOVRA           HRAM_0X90
:0X5b4  e682                    MOVA            HRAM_0X82
:0X5b5  788f                    MOVRA           HRAM_0X8F
:0X5b6  e681                    MOVA            HRAM_0X81
:0X5b7  5080                    MOV             HRAM_0X80,      A
:0X5b8  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5b9  c201                    ISTEP           0X1
:0X5ba  5080                    MOV             HRAM_0X80,      A
:0X5bb  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5bc  c201                    ISTEP           0X1
:0X5bd  5080                    MOV             HRAM_0X80,      A
:0X5be  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5bf  c201                    ISTEP           0X1
:0X5c0  5080                    MOV             HRAM_0X80,      A
:0X5c1  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5c2  e518                    MOVI            0X18
:0X5c3  e001                    ADDI            0X1
:0X5c4  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5c5  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5c6  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5c7  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5c8  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5c9  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5ca  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5cb  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5cc  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5cd  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5ce  6dd4                    GOTO            HADR_0X5D4
HADR_0X5CF:
:0X5cf  a884                    BCC             HRAM_0X84,      0
:0X5d0  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5d1  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5d2  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5d3  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X5D4:
:0X5d4  e0ff                    ADDI            0XFF
:0X5d5  9284                    JBS             HRAM_0X84,      2
:0X5d6  6dcf                    GOTO            HADR_0X5CF
:0X5d7  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5d8  e6a2                    MOVA            _ROMD1H_0                           ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        ROMD1L = (*((u32 *)buf_Addr)) >> 16;
:0X5d9  7890                    MOVRA           HRAM_0X90
:0X5da  e682                    MOVA            HRAM_0X82
:0X5db  788f                    MOVRA           HRAM_0X8F
:0X5dc  e681                    MOVA            HRAM_0X81
:0X5dd  5080                    MOV             HRAM_0X80,      A
:0X5de  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5df  c201                    ISTEP           0X1
:0X5e0  5080                    MOV             HRAM_0X80,      A
:0X5e1  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5e2  c201                    ISTEP           0X1
:0X5e3  5080                    MOV             HRAM_0X80,      A
:0X5e4  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5e5  c201                    ISTEP           0X1
:0X5e6  5080                    MOV             HRAM_0X80,      A
:0X5e7  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5e8  e510                    MOVI            0X10
:0X5e9  e001                    ADDI            0X1
:0X5ea  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5eb  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5ec  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5ed  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5ee  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5ef  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5f0  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5f1  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5f2  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5f3  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5f4  6dfa                    GOTO            HADR_0X5FA
HADR_0X5F5:
:0X5f5  a884                    BCC             HRAM_0X84,      0
:0X5f6  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5f7  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5f8  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5f9  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X5FA:
:0X5fa  e0ff                    ADDI            0XFF
:0X5fb  9284                    JBS             HRAM_0X84,      2
:0X5fc  6df5                    GOTO            HADR_0X5F5
:0X5fd  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5fe  e6a1                    MOVA            _ROMD1L_0                           ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        ROMDH = (*((u32 *)buf_Addr)) >> 8;
:0X5ff  7890                    MOVRA           HRAM_0X90
:0X600  e682                    MOVA            HRAM_0X82
:0X601  788f                    MOVRA           HRAM_0X8F
:0X602  e681                    MOVA            HRAM_0X81
:0X603  5080                    MOV             HRAM_0X80,      A
:0X604  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X605  c201                    ISTEP           0X1
:0X606  5080                    MOV             HRAM_0X80,      A
:0X607  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X608  c201                    ISTEP           0X1
:0X609  5080                    MOV             HRAM_0X80,      A
:0X60a  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X60b  c201                    ISTEP           0X1
:0X60c  5080                    MOV             HRAM_0X80,      A
:0X60d  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X60e  e508                    MOVI            0X8
:0X60f  e001                    ADDI            0X1
:0X610  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X611  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X612  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X613  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X614  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X615  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X616  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X617  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X618  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X619  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X61a  6e20                    GOTO            HADR_0X620
HADR_0X61B:
:0X61b  a884                    BCC             HRAM_0X84,      0
:0X61c  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X61d  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X61e  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X61f  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X620:
:0X620  e0ff                    ADDI            0XFF
:0X621  9284                    JBS             HRAM_0X84,      2
:0X622  6e1b                    GOTO            HADR_0X61B
:0X623  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X624  e693                    MOVA            _ROMDH_0                            ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        ROMDL = (*((u32 *)buf_Addr));    //写入Flash的字节数据
:0X625  7890                    MOVRA           HRAM_0X90
:0X626  e682                    MOVA            HRAM_0X82
:0X627  788f                    MOVRA           HRAM_0X8F
:0X628  e681                    MOVA            HRAM_0X81
:0X629  5080                    MOV             HRAM_0X80,      A
:0X62a  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X62b  c201                    ISTEP           0X1
:0X62c  5080                    MOV             HRAM_0X80,      A
:0X62d  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X62e  c201                    ISTEP           0X1
:0X62f  5080                    MOV             HRAM_0X80,      A
:0X630  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X631  c201                    ISTEP           0X1
:0X632  5080                    MOV             HRAM_0X80,      A
:0X633  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X634  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X635  e692                    MOVA            _ROMDL_0                            ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        WREN = 1;
:0X636  a294                    BSS             (_WREN_0)>>3,   2                   ;(_WREN_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;        StartIAP();
:0X637  ec00                    PAGE            (_StartIAP)>>11
:0X638  6538                    CALL            HADR_0X538
:0X639  ec00                    PAGE            (_4)>>11
;        word_addr += 2;
:0X63a  788d                    MOVRA           HRAM_0X8D
:0X63b  e002                    ADDI            0X2
:0X63c  208d                    MOVAR           HRAM_0X8D
:0X63d  788e                    MOVRA           HRAM_0X8E
:0X63e  c300                    ADDCI           0X0
:0X63f  208e                    MOVAR           HRAM_0X8E
;        buf_Addr += 4;
:0X640  788f                    MOVRA           HRAM_0X8F
:0X641  e004                    ADDI            0X4
:0X642  208f                    MOVAR           HRAM_0X8F
:0X643  7890                    MOVRA           HRAM_0X90
:0X644  c300                    ADDCI           0X0
:0X645  2090                    MOVAR           HRAM_0X90
:0X646  ea01                    SECTION         0X1
:0X647  5513                    INC             HRAM_0X13,      R
:0X648  9284                    JBS             HRAM_0X84,      2
:0X649  6e4b                    GOTO            HADR_0X64B
:0X64a  5514                    INC             HRAM_0X14,      R
HADR_0X64B:
;    }
:0X64b  6d7b                    GOTO            HADR_0X57B
HADR_0X64C:
;
;    ROMCL = 0x00;
:0X64c  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FRA = 0xFF12;//指到不用的地址空间
:0X64d  e5ff                    MOVI            0XFF
:0X64e  e691                    MOVA            _FRA_0+1                            ;_FRA_0+1: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X64f  e512                    MOVI            0X12
:0X650  e690                    MOVA            _FRA_0                              ;_FRA_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    FRAN = 0x3456;//此处把地址反码赋成与0xFFFF和FRA无取反关系的值
:0X651  e534                    MOVI            0X34
:0X652  e68f                    MOVA            _FRAN_0+1                           ;_FRAN_0+1: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
:0X653  e556                    MOVI            0X56
:0X654  e68e                    MOVA            _FRAN_0                             ;_FRAN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    ROMDH = 0xFF;//数据初始化为0xFF
:0X655  e5ff                    MOVI            0XFF
:0X656  e693                    MOVA            _ROMDH_0                            ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    ROMDL = 0xFF;//数据初始化为0xFF
:0X657  e5ff                    MOVI            0XFF
:0X658  e692                    MOVA            _ROMDL_0                            ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    ROMD1H = 0xFF;//数据初始化为0xFF
:0X659  e5ff                    MOVI            0XFF
:0X65a  e6a2                    MOVA            _ROMD1H_0                           ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    ROMD1L = 0xFF;//数据初始化为0xFF
:0X65b  e5ff                    MOVI            0XFF
:0X65c  e6a1                    MOVA            _ROMD1L_0                           ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\rw_flash.obj 
;    return  SUCCESS;
:0X65d  ea00                    SECTION         0X0
:0X65e  e401                    RETIA           0X1
HADR_0X65F:
;#include  <hic.h>
;#include  "typedef.h"
;#include  "macrodef.h"
;#include  "sysinit.h"
;
;/**********************************************
;函数名：Init_Uart
;描  述：UATR初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Init_Uart(void)
;{
;    PAT1 = 0; //TX输出
:0X65f  e783                    CLR             HRAM_0X83
:0X660  a9ad                    BCC             (_PAT1_0)>>3,   1                   ;(_PAT1_0)>>3: Bank 511    Addr: 65453    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    PAT2 = 1; //RX输入
:0X661  a2ad                    BSS             (_PAT2_0)>>3,   2                   ;(_PAT2_0)>>3: Bank 511    Addr: 65453    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    ANSL |= 3 << 1; //数字口
:0X662  50bc                    MOV             _ANSL_0,        A                   ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
:0X663  e106                    IORI            0X6
:0X664  e6bc                    MOVA            _ANSL_0                             ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    RX0LEN = 0;
:0X665  a483                    BSS             HRAM_0X83,      4
:0X666  aed0                    BCC             HRAM_0XD0,      6
;    TX0LEN = 0;
:0X667  aed2                    BCC             HRAM_0XD2,      6
;    BRGH0 = 1;
:0X668  a5d2                    BSS             HRAM_0XD2,      5
;    BR0R = 103; //波特率9600
:0X669  e567                    MOVI            0X67
:0X66a  e6d3                    MOVA            HRAM_0XD3
;    RX0EN = 1;
:0X66b  a7d0                    BSS             HRAM_0XD0,      7
;    TX0EN = 1;
:0X66c  a7d2                    BSS             HRAM_0XD2,      7
;}
:0X66d  ac83                    BCC             HRAM_0X83,      4
:0X66e  c183                    RET
HADR_0X66F:
;/**********************************************
;函数名：Reg_reset
;描  述：寄存器复位
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void Reg_reset(void)
;{
;    PAT0 = 0xFF;
:0X66f  e783                    CLR             HRAM_0X83
:0X670  a0ad                    BSS             (_PAT0_0)>>3,   0                   ;(_PAT0_0)>>3: Bank 511    Addr: 65453    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    ANSL = 0;
:0X671  e7bc                    CLR             _ANSL_0                             ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    ANSH = 0;
:0X672  e78d                    CLR             _ANSH_0                             ;_ANSH_0: Bank 511    Addr: 65421    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;
;    T8NC = 0;
:0X673  e7be                    CLR             _T8NC_0                             ;_T8NC_0: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;    T8NEN = 0;
:0X674  afbe                    BCC             (_T8NEN_0)>>3,  7                   ;(_T8NEN_0)>>3: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\sysinit.obj 
;
;    BR0R = 0;
:0X675  a483                    BSS             HRAM_0X83,      4
:0X676  e7d3                    CLR             HRAM_0XD3
;    RX0EN = 0;
:0X677  afd0                    BCC             HRAM_0XD0,      7
;    TX0EN = 0;
:0X678  afd2                    BCC             HRAM_0XD2,      7
;}
:0X679  ac83                    BCC             HRAM_0X83,      4
:0X67a  c183                    RET
HADR_0X67B:
;/**********************************************
;函数名：Init_MCU
;描  述：总初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void Init_MCU(void)
;{
;    Init_Ports();
:0X67b  e783                    CLR             HRAM_0X83
:0X67c  ec00                    PAGE            (_Init_Ports)>>11
:0X67d  601c                    CALL            HADR_0X1C
:0X67e  ec00                    PAGE            (_0)>>11
;    Init_Uart();
:0X67f  ec00                    PAGE            (_Init_Uart)>>11
:0X680  665f                    CALL            HADR_0X65F
:0X681  ec00                    PAGE            (_1)>>11
;    Init_Timer();
:0X682  ec00                    PAGE            (_Init_Timer)>>11
:0X683  6010                    CALL            HADR_0X10
:0X684  ec00                    PAGE            (_2)>>11
;}
:0X685  c183                    RET
HADR_0X686:
;#include  <hic.h>
;#include  "typedef.h"
;extern isp_data_t g_isp_data;
;u32  g_boot_timer;   //超时引导程序计时器
;u32  g_frame_timer;  //帧间隔超时计时器
;u8   g_boot;  //引导程序标识
;
;/**********************************************
;函数名：Timer_Proc
;描  述：定时器处理函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Timer_Proc(void)
;{
;    static u16 t1s_tmp = 0 ;
;
;    if (T8NIF == 1)  //每4ms产生一次
:0X686  e783                    CLR             HRAM_0X83
:0X687  e500                    MOVI            0X0
:0X688  999a                    JBC             HRAM_0X9A,      1
:0X689  e501                    MOVI            0X1
:0X68a  ea01                    SECTION         0X1
:0X68b  e301                    XORI            0X1
:0X68c  9284                    JBS             HRAM_0X84,      2
:0X68d  6ec6                    GOTO            HADR_0X6C6
;    {
;        T8NIF = 0;
:0X68e  a99a                    BCC             (_T8NIF_0)>>3,  1                   ;(_T8NIF_0)>>3: Bank 511    Addr: 65434    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\systick.obj 
;        T8N = 130;
:0X68f  e582                    MOVI            0X82
:0X690  e6bd                    MOVA            _T8N_0                              ;_T8N_0: Bank 511    Addr: 65469    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\systick.obj 
;
;        if (PA0 == 0) //BootPIN拉低
:0X691  98a8                    JBC             HRAM_0XA8,      0
:0X692  6ead                    GOTO            HADR_0X6AD
;        {
;            if (g_boot_timer != 0)
:0X693  5025                    MOV             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
:0X694  5826                    IOR             (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X695  5827                    IOR             (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X696  5828                    IOR             (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X697  9a84                    JBC             HRAM_0X84,      2
:0X698  6ead                    GOTO            HADR_0X6AD
;            {
;                g_boot_timer--;
:0X699  e501                    MOVI            0X1
:0X69a  ee25                    SUB             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
:0X69b  e625                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
:0X69c  e500                    MOVI            0X0
:0X69d  1626                    SUBC            (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X69e  e626                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X69f  e500                    MOVI            0X0
:0X6a0  1627                    SUBC            (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X6a1  e627                    MOVA            (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X6a2  e500                    MOVI            0X0
:0X6a3  1628                    SUBC            (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X6a4  e628                    MOVA            (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
;
;                if (g_boot_timer == 0)
:0X6a5  5025                    MOV             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
:0X6a6  5826                    IOR             (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X6a7  5827                    IOR             (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X6a8  5828                    IOR             (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X6a9  9284                    JBS             HRAM_0X84,      2
:0X6aa  6ead                    GOTO            HADR_0X6AD
;                {
;                    g_boot = 1;  //引导程序
:0X6ab  e501                    MOVI            0X1
:0X6ac  e61c                    MOVA            (_g_boot)&7f                        ;(_g_boot)&7f: Bank 0    Addr: 28     
HADR_0X6AD:
;                }
;            }
;        }
:0X6ad  5029                    MOV             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 41     
:0X6ae  582a                    IOR             (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 42     
:0X6af  582b                    IOR             (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 43     
:0X6b0  582c                    IOR             (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 44     
:0X6b1  9a84                    JBC             HRAM_0X84,      2
:0X6b2  6ec6                    GOTO            HADR_0X6C6
;        {
;            g_frame_timer--;
:0X6b3  e501                    MOVI            0X1
:0X6b4  ee29                    SUB             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 41     
:0X6b5  e629                    MOVA            (_g_frame_timer)&7f                 ;(_g_frame_timer)&7f: Bank 0    Addr: 41     
:0X6b6  e500                    MOVI            0X0
:0X6b7  162a                    SUBC            (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 42     
:0X6b8  e62a                    MOVA            (_g_frame_timer+1)&7f               ;(_g_frame_timer+1)&7f: Bank 0    Addr: 42     
:0X6b9  e500                    MOVI            0X0
:0X6ba  162b                    SUBC            (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 43     
:0X6bb  e62b                    MOVA            (_g_frame_timer+2)&7f               ;(_g_frame_timer+2)&7f: Bank 0    Addr: 43     
:0X6bc  e500                    MOVI            0X0
:0X6bd  162c                    SUBC            (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 44     
:0X6be  e62c                    MOVA            (_g_frame_timer+3)&7f               ;(_g_frame_timer+3)&7f: Bank 0    Addr: 44     
;
;            if (g_frame_timer == 0)
:0X6bf  5029                    MOV             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 41     
:0X6c0  582a                    IOR             (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 42     
:0X6c1  582b                    IOR             (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 43     
:0X6c2  582c                    IOR             (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 44     
:0X6c3  9284                    JBS             HRAM_0X84,      2
:0X6c4  6ec6                    GOTO            HADR_0X6C6
;            {
;                g_isp_data.step = WAIT_REV_INS;
:0X6c5  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X6C6:
;                //g_isp_data.syn = 0;
;                //Init_Uart();
;            }
;        }
;    }
;}
:0X6c6  ea00                    SECTION         0X0
:0X6c7  c183                    RET
HADR_0X6C8:
;#include  <hic.h>
;#include  "typedef.h"
;#include "rw_flash.h"
;
;isp_data_t g_isp_data;   //通信数据与通信状态机寄存器
;extern u32  g_boot_timer;
;extern u32  g_frame_timer;
;
;/***************************************************************
;函数名：start_tx
;描  述: 启动UART发送
;输入值：发送的字节数
;输出值：无
;返回值：无
;***************************************************************/
;void start_tx(u8 len)
;{
;    g_isp_data.tx_cnt = 0;
:0X6c8  e783                    CLR             HRAM_0X83
:0X6c9  e500                    MOVI            0X0
:0X6ca  ea01                    SECTION         0X1
:0X6cb  e638                    MOVA            (_g_isp_data+7)&7f                  ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
;    g_isp_data.tx_len = len;
:0X6cc  500d                    MOV             HRAM_0XD,       A
:0X6cd  e636                    MOVA            (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 54     
;    TX0B = g_isp_data.tx_buf[0];
:0X6ce  7945                    MOVRA           _g_isp_data+148                     ;_g_isp_data+148: Bank 2    Addr: 325     
:0X6cf  a483                    BSS             HRAM_0X83,      4
:0X6d0  e6d1                    MOVA            HRAM_0XD1
HADR_0X6D1:
;
;    while (1)
:0X6d1  e501                    MOVI            0X1
:0X6d2  5f38                    ADD             (_g_isp_data+7)&7f,             R   ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
:0X6d3  5038                    MOV             (_g_isp_data+7)&7f,             A   ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
:0X6d4  ee36                    SUB             (_g_isp_data+5)&7f,             A   ;(_g_isp_data+5)&7f: Bank 0    Addr: 54     
:0X6d5  9884                    JBC             HRAM_0X84,      0
:0X6d6  6edd                    GOTO            HADR_0X6DD
HADR_0X6D7:
;        {
;            while (!TX0IF);
:0X6d7  909e                    JBS             HRAM_0X9E,      0
:0X6d8  6ed7                    GOTO            HADR_0X6D7
;
;            g_isp_data.triger = 1;      //触发状态机进入下一步
:0X6d9  e501                    MOVI            0X1
:0X6da  e634                    MOVA            (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
;            g_isp_data.rx_cnt = 0;
:0X6db  e737                    CLR             (_g_isp_data+6)&7f                  ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
;            break;
:0X6dc  6eec                    GOTO            HADR_0X6EC
HADR_0X6DD:
;        }
;        else
;        {
;            while (!TX0IF);
:0X6dd  909e                    JBS             HRAM_0X9E,      0
:0X6de  6edd                    GOTO            HADR_0X6DD
;
;            TX0B = g_isp_data.tx_buf[g_isp_data.tx_cnt];
:0X6df  e70e                    CLR             HRAM_0XE
:0X6e0  5038                    MOV             (_g_isp_data+7)&7f,             A   ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
:0X6e1  e045                    ADDI            _g_isp_data+148
:0X6e2  e60f                    MOVA            HRAM_0XF
:0X6e3  500e                    MOV             HRAM_0XE,       A
:0X6e4  c301                    ADDCI           (_g_isp_data+148)>>8
:0X6e5  e682                    MOVA            HRAM_0X82
:0X6e6  500f                    MOV             HRAM_0XF,       A
:0X6e7  e681                    MOVA            HRAM_0X81
:0X6e8  5080                    MOV             HRAM_0X80,      A
:0X6e9  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X6ea  e6d1                    MOVA            HRAM_0XD1
;        }
;    }
:0X6eb  6ed1                    GOTO            HADR_0X6D1
HADR_0X6EC:
;}
:0X6ec  ea00                    SECTION         0X0
:0X6ed  ac83                    BCC             HRAM_0X83,      4
:0X6ee  c183                    RET
HADR_0X6EF:
;/***************************************************************
;函数名：UartReceive
;描  述: UART接收数据
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void UartReceive(void)
;{
;    volatile u8   buf8;
;
;    while (1)               //如果没有接收到数据直接退出
:0X6ef  e783                    CLR             HRAM_0X83
HADR_0X6F0:
;    {
;        if (RX0IF)
:0X6f0  919e                    JBS             HRAM_0X9E,      1
:0X6f1  6f64                    GOTO            HADR_0X764
;        {
;            buf8 = RX0B;
:0X6f2  a483                    BSS             HRAM_0X83,      4
:0X6f3  50cf                    MOV             HRAM_0XCF,      A
:0X6f4  ea01                    SECTION         0X1
:0X6f5  e61b                    MOVA            (_UartReceive_buf8_13)&7f           ;(_UartReceive_buf8_13)&7f: Bank 0    Addr: 27    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\uart.obj 
;            g_boot_timer = Boot_OVERTIME_2;
:0X6f6  e728                    CLR             (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X6f7  e727                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X6f8  e501                    MOVI            0X1
:0X6f9  e626                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X6fa  e52c                    MOVI            0X2C
:0X6fb  e625                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
;
;            if (g_isp_data.syn) //如果同步成功
:0X6fc  5032                    MOV             (_g_isp_data+1)&7f,             A   ;(_g_isp_data+1)&7f: Bank 0    Addr: 50     
:0X6fd  9a84                    JBC             HRAM_0X84,      2
:0X6fe  6f52                    GOTO            HADR_0X752
;            {
;                if ((buf8 == SYN) && (g_isp_data.step == WAIT_REV_INS))
:0X6ff  501b                    MOV             (_UartReceive_buf8_13)&7f,      A   ;(_UartReceive_buf8_13)&7f: Bank 0    Addr: 27    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\uart.obj 
:0X700  e33f                    XORI            0X3F
:0X701  9284                    JBS             HRAM_0X84,      2
:0X702  6f11                    GOTO            HADR_0X711
:0X703  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X704  9284                    JBS             HRAM_0X84,      2
:0X705  6f11                    GOTO            HADR_0X711
;                {
;                    g_isp_data.tx_buf[0] = ACK;
:0X706  e579                    MOVI            0X79
:0X707  ea02                    SECTION         0X2
:0X708  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    start_tx(0);
:0X709  e500                    MOVI            0X0
:0X70a  208d                    MOVAR           HRAM_0X8D
:0X70b  ec00                    PAGE            (_start_tx)>>11
:0X70c  66c8                    CALL            HADR_0X6C8
:0X70d  ec00                    PAGE            (_0)>>11
;                    g_isp_data.triger = 0;
:0X70e  e500                    MOVI            0X0
:0X70f  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;                    break;
:0X710  6f64                    GOTO            HADR_0X764
HADR_0X711:
;                }
;                else
:0X711  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X712  9284                    JBS             HRAM_0X84,      2
:0X713  6f19                    GOTO            HADR_0X719
;                    {
;                        g_isp_data.rx_len = 1;
:0X714  e501                    MOVI            0X1
:0X715  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;                        g_isp_data.rx_cnt = 0;
:0X716  e737                    CLR             (_g_isp_data+6)&7f                  ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
;                        g_isp_data.step = IN_REV_INS;  //正在接收指令码
:0X717  e501                    MOVI            0X1
:0X718  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X719:
;                    }
:0X719  e703                    CLR             HRAM_0X3
:0X71a  5037                    MOV             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X71b  e0c1                    ADDI            _g_isp_data+16
:0X71c  e604                    MOVA            HRAM_0X4
:0X71d  5003                    MOV             HRAM_0X3,       A
:0X71e  c300                    ADDCI           (_g_isp_data+16)>>8
:0X71f  e682                    MOVA            HRAM_0X82
:0X720  5004                    MOV             HRAM_0X4,       A
:0X721  e681                    MOVA            HRAM_0X81
:0X722  501b                    MOV             (_UartReceive_buf8_13)&7f,      A   ;(_UartReceive_buf8_13)&7f: Bank 0    Addr: 27    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\uart.obj 
:0X723  e680                    MOVA            HRAM_0X80
:0X724  c201                    ISTEP           0X1
;                    g_isp_data.rx_cnt++;
:0X725  e501                    MOVI            0X1
:0X726  5f37                    ADD             (_g_isp_data+6)&7f,             R   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X727  5037                    MOV             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X728  e302                    XORI            0X2
:0X729  9284                    JBS             HRAM_0X84,      2
:0X72a  6f3c                    GOTO            HADR_0X73C
:0X72b  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X72c  e303                    XORI            0X3
:0X72d  9284                    JBS             HRAM_0X84,      2
:0X72e  6f3c                    GOTO            HADR_0X73C
:0X72f  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X730  e3c4                    XORI            0XC4
:0X731  9284                    JBS             HRAM_0X84,      2
:0X732  6f3c                    GOTO            HADR_0X73C
;                    {
;                        g_isp_data.rx_len = (g_isp_data.rx_buf[1] + 2) * 2;
:0X733  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X734  e002                    ADDI            0X2
:0X735  2012                    MOVAR           MUL_TEMP                            ;MUL_TEMP: Bank 0    Addr: 18     
:0X736  e688                    MOVA            HRAM_0X88
:0X737  e502                    MOVI            0X2
:0X738  2013                    MOVAR           MUL_TEMP+1                          ;MUL_TEMP+1: Bank 0    Addr: 19     
:0X739  e689                    MOVA            HRAM_0X89
:0X73a  5088                    MOV             HRAM_0X88,      A
:0X73b  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
HADR_0X73C:
;                    }
:0X73c  5037                    MOV             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X73d  e301                    XORI            0X1
:0X73e  9284                    JBS             HRAM_0X84,      2
:0X73f  6f4b                    GOTO            HADR_0X74B
:0X740  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X741  e305                    XORI            0X5
:0X742  9284                    JBS             HRAM_0X84,      2
:0X743  6f4b                    GOTO            HADR_0X74B
:0X744  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X745  e3b1                    XORI            0XB1
:0X746  9284                    JBS             HRAM_0X84,      2
:0X747  6f4b                    GOTO            HADR_0X74B
;                    {
;                        g_isp_data.rx_len = g_isp_data.rx_buf[0] + 2;
:0X748  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X749  e002                    ADDI            0X2
:0X74a  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
HADR_0X74B:
;                    }
:0X74b  5037                    MOV             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X74c  ee35                    SUB             (_g_isp_data+4)&7f,             A   ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
:0X74d  9884                    JBC             HRAM_0X84,      0
:0X74e  6ef0                    GOTO            HADR_0X6F0
;                    {
;
;                        g_isp_data.triger = 1;  //触发状态机进入下一步
:0X74f  e501                    MOVI            0X1
:0X750  e634                    MOVA            (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
;                        break;
:0X751  6f64                    GOTO            HADR_0X764
HADR_0X752:
;                    }
;
;                }
;            }
;            else if (buf8 == SYN) //如果接收到启动码则同步成功
:0X752  501b                    MOV             (_UartReceive_buf8_13)&7f,      A   ;(_UartReceive_buf8_13)&7f: Bank 0    Addr: 27    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot_vector_interrupt\Boot\debug\uart.obj 
:0X753  e33f                    XORI            0X3F
:0X754  9284                    JBS             HRAM_0X84,      2
:0X755  6ef0                    GOTO            HADR_0X6F0
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X756  e579                    MOVI            0X79
:0X757  ea02                    SECTION         0X2
:0X758  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.syn = 1;  //同步完成
:0X759  e501                    MOVI            0X1
:0X75a  20b2                    MOVAR           _g_isp_data+1                       ;_g_isp_data+1: Bank 1    Addr: 178     
;                g_isp_data.step = WAIT_REV_INS;
:0X75b  e500                    MOVI            0X0
:0X75c  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                g_isp_data.triger = 0;
:0X75d  e500                    MOVI            0X0
:0X75e  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;                start_tx(0);
:0X75f  e500                    MOVI            0X0
:0X760  208d                    MOVAR           HRAM_0X8D
:0X761  ec00                    PAGE            (_start_tx)>>11
:0X762  66c8                    CALL            HADR_0X6C8
:0X763  ec00                    PAGE            (_1)>>11
HADR_0X764:
;                break;
;            }
;        }
;        else
;        {
;            break;
;        }
;    }
;}
:0X764  ea00                    SECTION         0X0
:0X765  ac83                    BCC             HRAM_0X83,      4
:0X766  c183                    RET
HADR_0X767:
:0X767  e783                    CLR             HRAM_0X83
:0X768  ea01                    SECTION         0X1
:0X769  5010                    MOV             HRAM_0X10,      A
:0X76a  e614                    MOVA            HRAM_0X14
:0X76b  500f                    MOV             HRAM_0XF,       A
:0X76c  e613                    MOVA            HRAM_0X13
:0X76d  500e                    MOV             HRAM_0XE,       A
:0X76e  e610                    MOVA            HRAM_0X10
:0X76f  500d                    MOV             HRAM_0XD,       A
:0X770  e60f                    MOVA            HRAM_0XF
HADR_0X771:
:0X771  5012                    MOV             HRAM_0X12,      A
:0X772  e616                    MOVA            HRAM_0X16
:0X773  5011                    MOV             HRAM_0X11,      A
:0X774  e615                    MOVA            HRAM_0X15
:0X775  5011                    MOV             HRAM_0X11,      A
:0X776  9284                    JBS             HRAM_0X84,      2
:0X777  6f79                    GOTO            HADR_0X779
:0X778  1112                    DEC             HRAM_0X12,      R
HADR_0X779:
:0X779  1111                    DEC             HRAM_0X11,      R
:0X77a  5015                    MOV             HRAM_0X15,      A
:0X77b  5816                    IOR             HRAM_0X16,      A
:0X77c  9a84                    JBC             HRAM_0X84,      2
:0X77d  6f9c                    GOTO            HADR_0X79C
:0X77e  5010                    MOV             HRAM_0X10,      A
:0X77f  e616                    MOVA            HRAM_0X16
:0X780  500f                    MOV             HRAM_0XF,       A
:0X781  e615                    MOVA            HRAM_0X15
:0X782  5014                    MOV             HRAM_0X14,      A
:0X783  e618                    MOVA            HRAM_0X18
:0X784  5013                    MOV             HRAM_0X13,      A
:0X785  e617                    MOVA            HRAM_0X17
:0X786  5018                    MOV             HRAM_0X18,      A
:0X787  e682                    MOVA            HRAM_0X82
:0X788  5017                    MOV             HRAM_0X17,      A
:0X789  e681                    MOVA            HRAM_0X81
:0X78a  5080                    MOV             HRAM_0X80,      A
:0X78b  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X78c  5016                    MOV             HRAM_0X16,      A
:0X78d  e682                    MOVA            HRAM_0X82
:0X78e  5015                    MOV             HRAM_0X15,      A
:0X78f  e681                    MOVA            HRAM_0X81
:0X790  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X791  e680                    MOVA            HRAM_0X80
:0X792  c201                    ISTEP           0X1
:0X793  550f                    INC             HRAM_0XF,       R
:0X794  9284                    JBS             HRAM_0X84,      2
:0X795  6f97                    GOTO            HADR_0X797
:0X796  5510                    INC             HRAM_0X10,      R
HADR_0X797:
:0X797  5513                    INC             HRAM_0X13,      R
:0X798  9284                    JBS             HRAM_0X84,      2
:0X799  6f9b                    GOTO            HADR_0X79B
:0X79a  5514                    INC             HRAM_0X14,      R
HADR_0X79B:
:0X79b  6f71                    GOTO            HADR_0X771
HADR_0X79C:
:0X79c  500d                    MOV             HRAM_0XD,       A
:0X79d  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X79e  500e                    MOV             HRAM_0XE,       A
:0X79f  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X7a0  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X7a1  ea00                    SECTION         0X0
:0X7a2  c183                    RET

                                END
