;The Num of Instruction(Size):1935. The Max Address(Begin with 0):1934 

                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  6008                      CALL            HADR_0X8
;	GOTO	0x00		
:0X1  6800                      GOTO            HADR_0X0
;	NOP
:0X2  ffff                      NOP
;	NOP
:0X3  ffff                      NOP
;	PUSH
:0X4  c180                      PUSH
;	NOP
:0X5  ffff                      NOP
;	AJMP	APP_ENTRY+4		;jump to the entry of interrupt function
:0X6  c704f008                  AJMP            0X804
                                ORG             0X8
HADR_0X8:
;/**********************************************
;函数名： main
;描  述：主函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void main()
;{
;    Init_MCU();
:0X8  e783                      CLR             HRAM_0X83
:0X9  ec00                      PAGE            (_Init_MCU)>>11
:0Xa  6667                      CALL            HADR_0X667
:0Xb  ec00                      PAGE            (_0)>>11
;    fsm_init();
:0Xc  ec00                      PAGE            (_fsm_init)>>11
:0Xd  6395                      CALL            HADR_0X395
:0Xe  ec00                      PAGE            (_1)>>11
HADR_0XF:
;
;    while (1)
:0Xf  ec00                      PAGE            (_Timer_Proc)>>11
:0X10  6672                     CALL            HADR_0X672
:0X11  ec00                     PAGE            (_2)>>11
;        UartReceive();
:0X12  ec00                     PAGE            (_UartReceive)>>11
:0X13  66db                     CALL            HADR_0X6DB
:0X14  ec00                     PAGE            (_3)>>11
HADR_0X15:
;
;        while (g_isp_data.triger == 1)
:0X15  ea01                     SECTION         0X1
:0X16  5034                     MOV             (_g_isp_data+3)&7f,             A    ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
:0X17  e301                     XORI            0X1
:0X18  9284                     JBS             HRAM_0X84,      2
:0X19  681e                     GOTO            HADR_0X1E
;        {
;            uart_proc_fsm();  //isp命令状态机处理
:0X1a  ec00                     PAGE            (_uart_proc_fsm)>>11
:0X1b  63a9                     CALL            HADR_0X3A9
:0X1c  ec00                     PAGE            (_4)>>11
;        }
:0X1d  6815                     GOTO            HADR_0X15
HADR_0X1E:
;
;        if (g_boot == 1) //需要引导程序到flash
:0X1e  501c                     MOV             (_g_boot)&7f,   A                    ;(_g_boot)&7f: Bank 0    Addr: 28     
:0X1f  e301                     XORI            0X1
:0X20  9284                     JBS             HRAM_0X84,      2
:0X21  680f                     GOTO            HADR_0XF
;        {
;            Reg_reset();
:0X22  ec00                     PAGE            (_Reg_reset)>>11
:0X23  665b                     CALL            HADR_0X65B
:0X24  ec00                     PAGE            (_5)>>11
;            RAM_clear();
:0X25  ec00                     PAGE            (_RAM_clear)>>11
:0X26  6413                     CALL            HADR_0X413
:0X27  ec00                     PAGE            (_6)>>11
;            PCRH = 0x08;
:0X28  e508                     MOVI            0X8
:0X29  e687                     MOVA            _PCRH_0                              ;_PCRH_0: Bank 511    Addr: 65415    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
;            PCRL = 0x00;
:0X2a  e786                     CLR             _PCRL_0                              ;_PCRL_0: Bank 511    Addr: 65414    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
;            //ASM_GOTO(USR_APP_ENTER);          //判断是跳到App程序还是进行Bootloader
;        }
;    }
:0X2b  680f                     GOTO            HADR_0XF
HADR_0X2C:
;#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)
:0X2c  e783                     CLR             HRAM_0X83
:0X2d  ea01                     SECTION         0X1
:0X2e  5005                     MOV             HRAM_0X5,       A
:0X2f  e391                     XORI            0X91
:0X30  9a84                     JBC             HRAM_0X84,      2
:0X31  683f                     GOTO            HADR_0X3F
:0X32  e340                     XORI            0X40
:0X33  9a84                     JBC             HRAM_0X84,      2
:0X34  683f                     GOTO            HADR_0X3F
:0X35  e360                     XORI            0X60
:0X36  9a84                     JBC             HRAM_0X84,      2
:0X37  683f                     GOTO            HADR_0X3F
:0X38  e375                     XORI            0X75
:0X39  9a84                     JBC             HRAM_0X84,      2
:0X3a  683f                     GOTO            HADR_0X3F
:0X3b  e365                     XORI            0X65
:0X3c  9a84                     JBC             HRAM_0X84,      2
:0X3d  683f                     GOTO            HADR_0X3F
:0X3e  6844                     GOTO            HADR_0X44
HADR_0X3F:
;    {
;        case  READ_M:
;        case  CHECK_EMPTY:
;        case  WRITE_M:
;        case  EX_ERASE:
;        case  GO:
:0X3f  e503                     MOVI            0X3
:0X40  e631                     MOVA            (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            g_isp_data.rx_len = 4;
:0X41  e504                     MOVI            0X4
:0X42  e635                     MOVA            (_g_isp_data+4)&7f                   ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;            break;
:0X43  6845                     GOTO            HADR_0X45
HADR_0X44:
;
;        default:
:0X44  e731                     CLR             (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X45:
;            break;
;    }
;
;}
:0X45  ea00                     SECTION         0X0
:0X46  c183                     RET
HADR_0X47:
;/***************************************************************
;函数名：wait_rev_para1
;描  述: 参数1处理
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void wait_rev_para1(u8 ins)
;{
;    u8 buf8, i;
;
;    switch (ins)
:0X47  e783                     CLR             HRAM_0X83
:0X48  ea01                     SECTION         0X1
:0X49  5005                     MOV             HRAM_0X5,       A
:0X4a  e391                     XORI            0X91
:0X4b  9a84                     JBC             HRAM_0X84,      2
:0X4c  685a                     GOTO            HADR_0X5A
:0X4d  e320                     XORI            0X20
:0X4e  9a84                     JBC             HRAM_0X84,      2
:0X4f  685a                     GOTO            HADR_0X5A
:0X50  e375                     XORI            0X75
:0X51  9a84                     JBC             HRAM_0X84,      2
:0X52  687c                     GOTO            HADR_0X7C
:0X53  e315                     XORI            0X15
:0X54  9a84                     JBC             HRAM_0X84,      2
:0X55  68be                     GOTO            HADR_0XBE
:0X56  e370                     XORI            0X70
:0X57  9a84                     JBC             HRAM_0X84,      2
:0X58  6901                     GOTO            HADR_0X101
:0X59  6922                     GOTO            HADR_0X122
HADR_0X5A:
;    {
;        case  READ_M:
;        case  WRITE_M:
:0X5a  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X5b  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];
:0X5c  e605                     MOVA            HRAM_0X5
:0X5d  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];
:0X5e  e605                     MOVA            HRAM_0X5
:0X5f  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)
:0X60  e605                     MOVA            HRAM_0X5
:0X61  5c45                     XOR             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
:0X62  ea02                     SECTION         0X2
:0X63  9284                     JBS             HRAM_0X84,      2
:0X64  6877                     GOTO            HADR_0X77
;                //if(1)
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X65  e579                     MOVI            0X79
:0X66  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];
:0X67  78c4                     MOVRA           _g_isp_data+19                       ;_g_isp_data+19: Bank 1    Addr: 196     
:0X68  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];
:0X69  78c3                     MOVRA           _g_isp_data+18                       ;_g_isp_data+18: Bank 1    Addr: 195     
:0X6a  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];
:0X6b  78c2                     MOVRA           _g_isp_data+17                       ;_g_isp_data+17: Bank 1    Addr: 194     
:0X6c  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];
:0X6d  78c1                     MOVRA           _g_isp_data+16                       ;_g_isp_data+16: Bank 1    Addr: 193     
:0X6e  20bc                     MOVAR           _g_isp_data+11                       ;_g_isp_data+11: Bank 1    Addr: 188     
;                g_isp_data.step = END_REV_PARA1;
:0X6f  e504                     MOVI            0X4
:0X70  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;                start_tx(0);
:0X71  e500                     MOVI            0X0
:0X72  208d                     MOVAR           _start_txDATA                        ;_start_txDATA: Bank 1    Addr: 141     
:0X73  ec00                     PAGE            (_start_tx)>>11
:0X74  66b4                     CALL            HADR_0X6B4
:0X75  ec00                     PAGE            (_0)>>11
;            }
:0X76  6923                     GOTO            HADR_0X123
HADR_0X77:
;            else
:0X77  e51f                     MOVI            0X1F
:0X78  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X79  e507                     MOVI            0X7
:0X7a  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X7b  6923                     GOTO            HADR_0X123
HADR_0X7C:
;
;        case  EX_ERASE:
:0X7c  5041                     MOV             (_g_isp_data+16)&7f,            A    ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X7d  e3ff                     XORI            0XFF
:0X7e  9284                     JBS             HRAM_0X84,      2
:0X7f  6886                     GOTO            HADR_0X86
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0X80  e51f                     MOVI            0X1F
:0X81  ea02                     SECTION         0X2
:0X82  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X83  e507                     MOVI            0X7
:0X84  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;            }
:0X85  688e                     GOTO            HADR_0X8E
HADR_0X86:
;            else
:0X86  e739                     CLR             (_g_isp_data+8)&7f                   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X87  e73a                     CLR             (_g_isp_data+9)&7f                   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X88  e73b                     CLR             (_g_isp_data+10)&7f                  ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0X89  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];
:0X8a  5043                     MOV             (_g_isp_data+18)&7f,            A    ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
:0X8b  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];
:0X8c  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X8d  e63a                     MOVA            (_g_isp_data+9)&7f                   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
HADR_0X8E:
;            }
:0X8e  ea01                     SECTION         0X1
:0X8f  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X90  5c41                     XOR             (_g_isp_data+16)&7f,            A    ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X91  e605                     MOVA            HRAM_0X5
;
;            for (i = 2; i < g_isp_data.rx_len; i++)
:0X92  e502                     MOVI            0X2
:0X93  e606                     MOVA            HRAM_0X6
HADR_0X94:
:0X94  5035                     MOV             (_g_isp_data+4)&7f,             A    ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
:0X95  ee06                     SUB             HRAM_0X6,       A
:0X96  9884                     JBC             HRAM_0X84,      0
:0X97  68a7                     GOTO            HADR_0XA7
;            {
;                buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0X98  e708                     CLR             HRAM_0X8
:0X99  5006                     MOV             HRAM_0X6,       A
:0X9a  e0c1                     ADDI            _g_isp_data+16
:0X9b  e609                     MOVA            HRAM_0X9
:0X9c  5008                     MOV             HRAM_0X8,       A
:0X9d  c300                     ADDCI           (_g_isp_data+16)>>8
:0X9e  e682                     MOVA            HRAM_0X82
:0X9f  5009                     MOV             HRAM_0X9,       A
:0Xa0  e681                     MOVA            HRAM_0X81
:0Xa1  5080                     MOV             HRAM_0X80,      A
:0Xa2  2000                     MOVAR           ?_TMP                                ;?_TMP: Bank 0    Addr: 0     
:0Xa3  5c05                     XOR             HRAM_0X5,       A
:0Xa4  e605                     MOVA            HRAM_0X5
:0Xa5  5506                     INC             HRAM_0X6,       R
;            }
:0Xa6  6894                     GOTO            HADR_0X94
HADR_0XA7:
;
;            if (buf8 == g_isp_data.rx_buf[g_isp_data.rx_len])
:0Xa7  e707                     CLR             HRAM_0X7
:0Xa8  5035                     MOV             (_g_isp_data+4)&7f,             A    ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
:0Xa9  e0c1                     ADDI            _g_isp_data+16
:0Xaa  e608                     MOVA            HRAM_0X8
:0Xab  5007                     MOV             HRAM_0X7,       A
:0Xac  c300                     ADDCI           (_g_isp_data+16)>>8
:0Xad  e682                     MOVA            HRAM_0X82
:0Xae  5008                     MOV             HRAM_0X8,       A
:0Xaf  e681                     MOVA            HRAM_0X81
:0Xb0  5080                     MOV             HRAM_0X80,      A
:0Xb1  2000                     MOVAR           ?_TMP                                ;?_TMP: Bank 0    Addr: 0     
:0Xb2  5c05                     XOR             HRAM_0X5,       A
:0Xb3  9284                     JBS             HRAM_0X84,      2
:0Xb4  68b8                     GOTO            HADR_0XB8
;            {
;                g_isp_data.step = IN_EXE_INS;
:0Xb5  e506                     MOVI            0X6
:0Xb6  e631                     MOVA            (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            }
:0Xb7  6923                     GOTO            HADR_0X123
HADR_0XB8:
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0Xb8  e51f                     MOVI            0X1F
:0Xb9  ea02                     SECTION         0X2
:0Xba  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0Xbb  e507                     MOVI            0X7
:0Xbc  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0Xbd  6923                     GOTO            HADR_0X123
HADR_0XBE:
;
;        case  CHECK_EMPTY:
:0Xbe  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0Xbf  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];
:0Xc0  e605                     MOVA            HRAM_0X5
:0Xc1  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];
:0Xc2  e605                     MOVA            HRAM_0X5
:0Xc3  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)
:0Xc4  e605                     MOVA            HRAM_0X5
:0Xc5  5c45                     XOR             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
:0Xc6  9284                     JBS             HRAM_0X84,      2
:0Xc7  68fb                     GOTO            HADR_0XFB
;            {
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[3];
:0Xc8  5044                     MOV             (_g_isp_data+19)&7f,            A    ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
:0Xc9  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];
:0Xca  5043                     MOV             (_g_isp_data+18)&7f,            A    ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
:0Xcb  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];
:0Xcc  5042                     MOV             (_g_isp_data+17)&7f,            A    ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0Xcd  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];
:0Xce  5041                     MOV             (_g_isp_data+16)&7f,            A    ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0Xcf  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;
:0Xd0  a884                     BCC             HRAM_0X84,      0
:0Xd1  d03c                     RRB             (_g_isp_data+11)&7f,            A,              0X1  ;(_g_isp_data+11)&7f: Bank 0    Addr: 60     
:0Xd2  e608                     MOVA            HRAM_0X8
:0Xd3  d03b                     RRB             (_g_isp_data+10)&7f,            A,              0X1  ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0Xd4  e607                     MOVA            HRAM_0X7
:0Xd5  d03a                     RRB             (_g_isp_data+9)&7f,             A,              0X1  ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0Xd6  e606                     MOVA            HRAM_0X6
:0Xd7  d039                     RRB             (_g_isp_data+8)&7f,             A,              0X1  ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0Xd8  e639                     MOVA            (_g_isp_data+8)&7f                   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0Xd9  5006                     MOV             HRAM_0X6,       A
:0Xda  e63a                     MOVA            (_g_isp_data+9)&7f                   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0Xdb  5007                     MOV             HRAM_0X7,       A
:0Xdc  e63b                     MOVA            (_g_isp_data+10)&7f                  ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0Xdd  5008                     MOV             HRAM_0X8,       A
:0Xde  e63c                     MOVA            (_g_isp_data+11)&7f                  ;(_g_isp_data+11)&7f: Bank 0    Addr: 60     
;
;                if ((g_isp_data.para1.b32 % 4) == 0)
:0Xdf  5039                     MOV             (_g_isp_data+8)&7f,             A    ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0Xe0  e203                     ANDI            0X3
:0Xe1  e605                     MOVA            HRAM_0X5
:0Xe2  e706                     CLR             HRAM_0X6
:0Xe3  e707                     CLR             HRAM_0X7
:0Xe4  e708                     CLR             HRAM_0X8
:0Xe5  5005                     MOV             HRAM_0X5,       A
:0Xe6  5806                     IOR             HRAM_0X6,       A
:0Xe7  5807                     IOR             HRAM_0X7,       A
:0Xe8  5808                     IOR             HRAM_0X8,       A
:0Xe9  ea02                     SECTION         0X2
:0Xea  9284                     JBS             HRAM_0X84,      2
:0Xeb  68f6                     GOTO            HADR_0XF6
;                {
;                    g_isp_data.tx_buf[0] = ACK;
:0Xec  e579                     MOVI            0X79
:0Xed  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    g_isp_data.step = END_REV_PARA1;
:0Xee  e504                     MOVI            0X4
:0Xef  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;                    start_tx(0);
:0Xf0  e500                     MOVI            0X0
:0Xf1  208d                     MOVAR           _start_txDATA                        ;_start_txDATA: Bank 1    Addr: 141     
:0Xf2  ec00                     PAGE            (_start_tx)>>11
:0Xf3  66b4                     CALL            HADR_0X6B4
:0Xf4  ec00                     PAGE            (_1)>>11
;                }
:0Xf5  6923                     GOTO            HADR_0X123
HADR_0XF6:
;                else
:0Xf6  e51f                     MOVI            0X1F
:0Xf7  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    g_isp_data.step = IN_SEND_OVER;
:0Xf8  e507                     MOVI            0X7
:0Xf9  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;                }
;            }
:0Xfa  6923                     GOTO            HADR_0X123
HADR_0XFB:
;            else
:0Xfb  e51f                     MOVI            0X1F
:0Xfc  ea02                     SECTION         0X2
:0Xfd  e645                     MOVA            (_g_isp_data+20)&7f                  ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0Xfe  e507                     MOVI            0X7
:0Xff  20b1                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X100  6923                    GOTO            HADR_0X123
HADR_0X101:
;
;        case  GO:
:0X101  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X102  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];
:0X103  e605                    MOVA            HRAM_0X5
:0X104  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];
:0X105  e605                    MOVA            HRAM_0X5
:0X106  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)
:0X107  e605                    MOVA            HRAM_0X5
:0X108  5c45                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
:0X109  9284                    JBS             HRAM_0X84,      2
:0X10a  691c                    GOTO            HADR_0X11C
;            {
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[3];
:0X10b  5044                    MOV             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
:0X10c  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];
:0X10d  5043                    MOV             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
:0X10e  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];
:0X10f  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X110  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];
:0X111  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X112  e63c                    MOVA            (_g_isp_data+11)&7f                 ;(_g_isp_data+11)&7f: Bank 0    Addr: 60     
;                g_isp_data.step = WAIT_REV_PARA2;
:0X113  e505                    MOVI            0X5
:0X114  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;                g_isp_data.tx_buf[0] = ACK;
:0X115  e579                    MOVI            0X79
:0X116  2145                    MOVAR           _g_isp_data+148                     ;_g_isp_data+148: Bank 2    Addr: 325     
;                start_tx(0);
:0X117  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X118  ec00                    PAGE            (_start_tx)>>11
:0X119  66b4                    CALL            HADR_0X6B4
:0X11a  ec00                    PAGE            (_2)>>11
;            }
:0X11b  6923                    GOTO            HADR_0X123
HADR_0X11C:
;            else
:0X11c  e51f                    MOVI            0X1F
:0X11d  ea02                    SECTION         0X2
:0X11e  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X11f  e507                    MOVI            0X7
:0X120  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X121  6923                    GOTO            HADR_0X123
HADR_0X122:
;
;        default:
:0X122  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X123:
;            break;
;    }
;
;}
:0X123  ea00                    SECTION         0X0
:0X124  c183                    RET
HADR_0X125:
;/***************************************************************
;函数名：next_rev_para1
;描  述: 参数1处理后的下一步确定
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void next_rev_para1(u8 ins)
;{
;    switch (ins)
:0X125  e783                    CLR             HRAM_0X83
:0X126  ea01                    SECTION         0X1
:0X127  5005                    MOV             HRAM_0X5,       A
:0X128  e391                    XORI            0X91
:0X129  9a84                    JBC             HRAM_0X84,      2
:0X12a  6932                    GOTO            HADR_0X132
:0X12b  e320                    XORI            0X20
:0X12c  9a84                    JBC             HRAM_0X84,      2
:0X12d  6932                    GOTO            HADR_0X132
:0X12e  e360                    XORI            0X60
:0X12f  9a84                    JBC             HRAM_0X84,      2
:0X130  6937                    GOTO            HADR_0X137
:0X131  693c                    GOTO            HADR_0X13C
HADR_0X132:
;    {
;        case  READ_M:
;        case  WRITE_M:
:0X132  e501                    MOVI            0X1
:0X133  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;            g_isp_data.step = WAIT_REV_PARA2;
:0X134  e505                    MOVI            0X5
:0X135  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X136  693d                    GOTO            HADR_0X13D
HADR_0X137:
;
;        case  CHECK_EMPTY:
:0X137  e504                    MOVI            0X4
:0X138  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;            g_isp_data.step = WAIT_REV_PARA2;
:0X139  e505                    MOVI            0X5
:0X13a  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X13b  693d                    GOTO            HADR_0X13D
HADR_0X13C:
;
;        default:
:0X13c  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X13D:
;            break;
;    }
;}
:0X13d  ea00                    SECTION         0X0
:0X13e  c183                    RET
HADR_0X13F:
;/***************************************************************
;函数名：wait_rev_para2
;描  述: 参数2处理
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void wait_rev_para2(u8 ins)
;{
;    u8 i, buf8;
;
;    switch (ins)
:0X13f  e783                    CLR             HRAM_0X83
:0X140  ea01                    SECTION         0X1
:0X141  5005                    MOV             HRAM_0X5,       A
:0X142  e391                    XORI            0X91
:0X143  9a84                    JBC             HRAM_0X84,      2
:0X144  694f                    GOTO            HADR_0X14F
:0X145  e320                    XORI            0X20
:0X146  9a84                    JBC             HRAM_0X84,      2
:0X147  6967                    GOTO            HADR_0X167
:0X148  e360                    XORI            0X60
:0X149  9a84                    JBC             HRAM_0X84,      2
:0X14a  696f                    GOTO            HADR_0X16F
:0X14b  e370                    XORI            0X70
:0X14c  9a84                    JBC             HRAM_0X84,      2
:0X14d  69ac                    GOTO            HADR_0X1AC
:0X14e  69b5                    GOTO            HADR_0X1B5
HADR_0X14F:
;    {
;        case  READ_M:
:0X14f  e706                    CLR             HRAM_0X6
:0X150  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X151  e605                    MOVA            HRAM_0X5
:0X152  5205                    COM             HRAM_0X5,       A
:0X153  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X154  9284                    JBS             HRAM_0X84,      2
:0X155  6961                    GOTO            HADR_0X161
;            {
;                g_isp_data.para2.b08[0] = g_isp_data.rx_buf[0];
:0X156  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X157  e63d                    MOVA            (_g_isp_data+12)&7f                 ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
;                g_isp_data.step = IN_EXE_INS;
:0X158  e506                    MOVI            0X6
:0X159  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;                g_isp_data.tx_buf[0] = ACK;
:0X15a  e579                    MOVI            0X79
:0X15b  2145                    MOVAR           _g_isp_data+148                     ;_g_isp_data+148: Bank 2    Addr: 325     
;                start_tx(0);
:0X15c  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X15d  ec00                    PAGE            (_start_tx)>>11
:0X15e  66b4                    CALL            HADR_0X6B4
:0X15f  ec00                    PAGE            (_3)>>11
;            }
:0X160  69b6                    GOTO            HADR_0X1B6
HADR_0X161:
;            else
:0X161  e51f                    MOVI            0X1F
:0X162  ea02                    SECTION         0X2
:0X163  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X164  e507                    MOVI            0X7
:0X165  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X166  69b6                    GOTO            HADR_0X1B6
HADR_0X167:
;
;        case  WRITE_M:
:0X167  e73e                    CLR             (_g_isp_data+13)&7f                 ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X168  e73f                    CLR             (_g_isp_data+14)&7f                 ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
:0X169  e740                    CLR             (_g_isp_data+15)&7f                 ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
:0X16a  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X16b  e63d                    MOVA            (_g_isp_data+12)&7f                 ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
;            g_isp_data.step = IN_EXE_INS;
:0X16c  e506                    MOVI            0X6
:0X16d  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X16e  69b6                    GOTO            HADR_0X1B6
HADR_0X16F:
;
;        case  CHECK_EMPTY:
:0X16f  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X170  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];
:0X171  e605                    MOVA            HRAM_0X5
:0X172  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];
:0X173  e605                    MOVA            HRAM_0X5
:0X174  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])
:0X175  e605                    MOVA            HRAM_0X5
:0X176  5c45                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
:0X177  9284                    JBS             HRAM_0X84,      2
:0X178  69a6                    GOTO            HADR_0X1A6
;            {
;                g_isp_data.para2.b08[0] = g_isp_data.rx_buf[3];
:0X179  5044                    MOV             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 68     
:0X17a  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];
:0X17b  5043                    MOV             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 67     
:0X17c  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];
:0X17d  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X17e  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];
:0X17f  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X180  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)
:0X181  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X182  e001                    ADDI            0X1
:0X183  e605                    MOVA            HRAM_0X5
:0X184  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X185  c300                    ADDCI           0X0
:0X186  503f                    MOV             (_g_isp_data+14)&7f,            A   ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
:0X187  c300                    ADDCI           0X0
:0X188  5040                    MOV             (_g_isp_data+15)&7f,            A   ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
:0X189  c300                    ADDCI           0X0
:0X18a  5005                    MOV             HRAM_0X5,       A
:0X18b  e203                    ANDI            0X3
:0X18c  e609                    MOVA            HRAM_0X9
:0X18d  e70a                    CLR             HRAM_0XA
:0X18e  e70b                    CLR             HRAM_0XB
:0X18f  e70c                    CLR             HRAM_0XC
:0X190  5009                    MOV             HRAM_0X9,       A
:0X191  580a                    IOR             HRAM_0XA,       A
:0X192  580b                    IOR             HRAM_0XB,       A
:0X193  580c                    IOR             HRAM_0XC,       A
:0X194  ea02                    SECTION         0X2
:0X195  9284                    JBS             HRAM_0X84,      2
:0X196  69a1                    GOTO            HADR_0X1A1
;                {
;                    g_isp_data.tx_buf[0] = ACK;
:0X197  e579                    MOVI            0X79
:0X198  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    g_isp_data.step = IN_EXE_INS;
:0X199  e506                    MOVI            0X6
:0X19a  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                    start_tx(0);
:0X19b  e500                    MOVI            0X0
:0X19c  208d                    MOVAR           _start_txDATA                       ;_start_txDATA: Bank 1    Addr: 141     
:0X19d  ec00                    PAGE            (_start_tx)>>11
:0X19e  66b4                    CALL            HADR_0X6B4
:0X19f  ec00                    PAGE            (_4)>>11
;                }
:0X1a0  69b6                    GOTO            HADR_0X1B6
HADR_0X1A1:
;                else
:0X1a1  e51f                    MOVI            0X1F
:0X1a2  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    g_isp_data.step = IN_SEND_OVER;
:0X1a3  e507                    MOVI            0X7
:0X1a4  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                }
;            }
:0X1a5  69b6                    GOTO            HADR_0X1B6
HADR_0X1A6:
;            else
:0X1a6  e51f                    MOVI            0X1F
:0X1a7  ea02                    SECTION         0X2
:0X1a8  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X1a9  e507                    MOVI            0X7
:0X1aa  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            }
;
;            break;
:0X1ab  69b6                    GOTO            HADR_0X1B6
HADR_0X1AC:
;
;        case  GO:
:0X1ac  e506                    MOVI            0X6
:0X1ad  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            g_isp_data.tx_buf[0] = ACK;
:0X1ae  e579                    MOVI            0X79
:0X1af  2145                    MOVAR           _g_isp_data+148                     ;_g_isp_data+148: Bank 2    Addr: 325     
;            start_tx(0);
:0X1b0  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X1b1  ec00                    PAGE            (_start_tx)>>11
:0X1b2  66b4                    CALL            HADR_0X6B4
:0X1b3  ec00                    PAGE            (_5)>>11
;            break;
:0X1b4  69b6                    GOTO            HADR_0X1B6
HADR_0X1B5:
;
;        default:
:0X1b5  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X1B6:
;            break;
;    }
;}
:0X1b6  ea00                    SECTION         0X0
:0X1b7  c183                    RET
HADR_0X1B8:
;
;/***************************************************************
;函数名：in_exe_ins
;描  述: 执行各指令码
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;u16 test;
;void in_exe_ins(u8 ins)
;{
;    g_boot_timer = Boot_OVERTIME_2;
:0X1b8  e783                    CLR             HRAM_0X83
:0X1b9  e500                    MOVI            0X0
:0X1ba  ea01                    SECTION         0X1
:0X1bb  e628                    MOVA            (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X1bc  e727                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X1bd  e501                    MOVI            0X1
:0X1be  e626                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X1bf  e52c                    MOVI            0X2C
:0X1c0  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)
:0X1c1  5005                    MOV             HRAM_0X5,       A
:0X1c2  e391                    XORI            0X91
:0X1c3  9a84                    JBC             HRAM_0X84,      2
:0X1c4  69d2                    GOTO            HADR_0X1D2
:0X1c5  e320                    XORI            0X20
:0X1c6  9a84                    JBC             HRAM_0X84,      2
:0X1c7  69ee                    GOTO            HADR_0X1EE
:0X1c8  e375                    XORI            0X75
:0X1c9  9a84                    JBC             HRAM_0X84,      2
:0X1ca  6acf                    GOTO            HADR_0X2CF
:0X1cb  e315                    XORI            0X15
:0X1cc  9a84                    JBC             HRAM_0X84,      2
:0X1cd  6b4f                    GOTO            HADR_0X34F
:0X1ce  e370                    XORI            0X70
:0X1cf  9a84                    JBC             HRAM_0X84,      2
:0X1d0  6b77                    GOTO            HADR_0X377
:0X1d1  6b92                    GOTO            HADR_0X392
HADR_0X1D2:
;    {
;        case  READ_M:
:0X1d2  a884                    BCC             HRAM_0X84,      0
:0X1d3  d03b                    RRB             (_g_isp_data+10)&7f,            A,              0X1 ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0X1d4  d03a                    RRB             (_g_isp_data+9)&7f,             A,              0X1 ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X1d5  e606                    MOVA            HRAM_0X6
:0X1d6  d039                    RRB             (_g_isp_data+8)&7f,             A,              0X1 ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X1d7  e60d                    MOVA            (_Read_ContDATA)&7f                 ;(_Read_ContDATA)&7f: Bank 0    Addr: 13     
:0X1d8  5006                    MOV             HRAM_0X6,       A
:0X1d9  e60e                    MOVA            (_Read_ContDATA+1)&7f               ;(_Read_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X1da  e545                    MOVI            _g_isp_data+148
:0X1db  e60f                    MOVA            (_Read_ContDATA+2)&7f               ;(_Read_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X1dc  e501                    MOVI            (_g_isp_data+148)>>8
:0X1dd  e610                    MOVA            (_Read_ContDATA+3)&7f               ;(_Read_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X1de  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X1df  e001                    ADDI            0X1
:0X1e0  e611                    MOVA            (_Read_ContDATA+4)&7f               ;(_Read_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X1e1  e712                    CLR             (_Read_ContDATA+5)&7f               ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X1e2  b112                    RLB             (_Read_ContDATA+5)&7f,          R,              0X1 ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X1e3  ec00                    PAGE            (_Read_Cont)>>11
:0X1e4  649b                    CALL            HADR_0X49B
:0X1e5  ec00                    PAGE            (_6)>>11
;            g_isp_data.step = WAIT_REV_INS;
:0X1e6  e500                    MOVI            0X0
:0X1e7  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            start_tx(g_isp_data.para2.b08[0]);
:0X1e8  78bd                    MOVRA           _g_isp_data+12                      ;_g_isp_data+12: Bank 1    Addr: 189     
:0X1e9  208d                    MOVAR           _start_txDATA                       ;_start_txDATA: Bank 1    Addr: 141     
:0X1ea  ec00                    PAGE            (_start_tx)>>11
:0X1eb  66b4                    CALL            HADR_0X6B4
:0X1ec  ec00                    PAGE            (_7)>>11
;            break;
:0X1ed  6b93                    GOTO            HADR_0X393
HADR_0X1EE:
;
;        case  WRITE_M:
:0X1ee  e507                    MOVI            0X7
:0X1ef  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];
:0X1f0  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X1f1  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X1f2  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\Boot\debug\isp_proc.obj 
;
;            for (i = 2; i < (g_isp_data.para2.b32 + 2); i++)
:0X1f3  e502                    MOVI            0X2
:0X1f4  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\Boot\debug\isp_proc.obj 
HADR_0X1F5:
:0X1f5  e706                    CLR             HRAM_0X6
:0X1f6  e707                    CLR             HRAM_0X7
:0X1f7  e708                    CLR             HRAM_0X8
:0X1f8  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\Boot\debug\isp_proc.obj 
:0X1f9  e605                    MOVA            HRAM_0X5
:0X1fa  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X1fb  e002                    ADDI            0X2
:0X1fc  e609                    MOVA            HRAM_0X9
:0X1fd  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X1fe  c300                    ADDCI           0X0
:0X1ff  e60a                    MOVA            HRAM_0XA
:0X200  503f                    MOV             (_g_isp_data+14)&7f,            A   ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
:0X201  c300                    ADDCI           0X0
:0X202  e60b                    MOVA            HRAM_0XB
:0X203  5040                    MOV             (_g_isp_data+15)&7f,            A   ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
:0X204  c300                    ADDCI           0X0
:0X205  ee08                    SUB             HRAM_0X8,       A
:0X206  9284                    JBS             HRAM_0X84,      2
:0X207  6a12                    GOTO            HADR_0X212
:0X208  500b                    MOV             HRAM_0XB,       A
:0X209  ee07                    SUB             HRAM_0X7,       A
:0X20a  9284                    JBS             HRAM_0X84,      2
:0X20b  6a12                    GOTO            HADR_0X212
:0X20c  500a                    MOV             HRAM_0XA,       A
:0X20d  ee06                    SUB             HRAM_0X6,       A
:0X20e  9284                    JBS             HRAM_0X84,      2
:0X20f  6a12                    GOTO            HADR_0X212
:0X210  5009                    MOV             HRAM_0X9,       A
:0X211  ee05                    SUB             HRAM_0X5,       A
HADR_0X212:
:0X212  9884                    JBC             HRAM_0X84,      0
:0X213  6a23                    GOTO            HADR_0X223
;            {
;                buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0X214  e706                    CLR             HRAM_0X6
:0X215  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\Boot\debug\isp_proc.obj 
:0X216  e0c1                    ADDI            _g_isp_data+16
:0X217  e607                    MOVA            HRAM_0X7
:0X218  5006                    MOV             HRAM_0X6,       A
:0X219  c300                    ADDCI           (_g_isp_data+16)>>8
:0X21a  e682                    MOVA            HRAM_0X82
:0X21b  5007                    MOV             HRAM_0X7,       A
:0X21c  e681                    MOVA            HRAM_0X81
:0X21d  5080                    MOV             HRAM_0X80,      A
:0X21e  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X21f  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\Boot\debug\isp_proc.obj 
:0X220  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\Boot\debug\isp_proc.obj 
:0X221  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\Boot\debug\isp_proc.obj 
;            }
:0X222  69f5                    GOTO            HADR_0X1F5
HADR_0X223:
;
;            if (buf8 ==  g_isp_data.rx_buf[i]) //下发的数据校验正确
:0X223  e706                    CLR             HRAM_0X6
:0X224  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\Boot\debug\isp_proc.obj 
:0X225  e0c1                    ADDI            _g_isp_data+16
:0X226  e607                    MOVA            HRAM_0X7
:0X227  5006                    MOV             HRAM_0X6,       A
:0X228  c300                    ADDCI           (_g_isp_data+16)>>8
:0X229  e682                    MOVA            HRAM_0X82
:0X22a  5007                    MOV             HRAM_0X7,       A
:0X22b  e681                    MOVA            HRAM_0X81
:0X22c  5080                    MOV             HRAM_0X80,      A
:0X22d  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X22e  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\Boot\debug\isp_proc.obj 
:0X22f  9284                    JBS             HRAM_0X84,      2
:0X230  6acb                    GOTO            HADR_0X2CB
;            {
;                memcpy(wr_buf8, g_isp_data.rx_buf + 1, g_isp_data.para2.b32 + 1);
:0X231  e5c9                    MOVI            _in_exe_ins_wr_buf8_69
:0X232  e60d                    MOVA            (_memcpyDATA)&7f                    ;(_memcpyDATA)&7f: Bank 0    Addr: 13     
:0X233  e501                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X234  e60e                    MOVA            (_memcpyDATA+1)&7f                  ;(_memcpyDATA+1)&7f: Bank 0    Addr: 14     
:0X235  e5c2                    MOVI            _g_isp_data+17
:0X236  e60f                    MOVA            (_memcpyDATA+2)&7f                  ;(_memcpyDATA+2)&7f: Bank 0    Addr: 15     
:0X237  e500                    MOVI            (_g_isp_data+17)>>8
:0X238  e610                    MOVA            (_memcpyDATA+3)&7f                  ;(_memcpyDATA+3)&7f: Bank 0    Addr: 16     
:0X239  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X23a  e001                    ADDI            0X1
:0X23b  e605                    MOVA            HRAM_0X5
:0X23c  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X23d  c300                    ADDCI           0X0
:0X23e  e606                    MOVA            HRAM_0X6
:0X23f  5005                    MOV             HRAM_0X5,       A
:0X240  e611                    MOVA            (_memcpyDATA+4)&7f                  ;(_memcpyDATA+4)&7f: Bank 0    Addr: 17     
:0X241  5006                    MOV             HRAM_0X6,       A
:0X242  e612                    MOVA            (_memcpyDATA+5)&7f                  ;(_memcpyDATA+5)&7f: Bank 0    Addr: 18     
:0X243  ec00                    PAGE            (_memcpy)>>11
:0X244  6753                    CALL            HADR_0X753
:0X245  ec00                    PAGE            (_8)>>11
;                result = Write_Cont(g_isp_data.para1.b32 >> 1, wr_buf8, g_isp_data.para2.b32 + 1);
:0X246  a884                    BCC             HRAM_0X84,      0
:0X247  ea01                    SECTION         0X1
:0X248  d03b                    RRB             (_g_isp_data+10)&7f,            A,              0X1 ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0X249  d03a                    RRB             (_g_isp_data+9)&7f,             A,              0X1 ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X24a  e606                    MOVA            HRAM_0X6
:0X24b  d039                    RRB             (_g_isp_data+8)&7f,             A,              0X1 ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X24c  e60d                    MOVA            (_Write_ContDATA)&7f                ;(_Write_ContDATA)&7f: Bank 0    Addr: 13     
:0X24d  5006                    MOV             HRAM_0X6,       A
:0X24e  e60e                    MOVA            (_Write_ContDATA+1)&7f              ;(_Write_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X24f  e5c9                    MOVI            _in_exe_ins_wr_buf8_69
:0X250  e60f                    MOVA            (_Write_ContDATA+2)&7f              ;(_Write_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X251  e501                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X252  e610                    MOVA            (_Write_ContDATA+3)&7f              ;(_Write_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X253  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X254  e001                    ADDI            0X1
:0X255  e605                    MOVA            HRAM_0X5
:0X256  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X257  c300                    ADDCI           0X0
:0X258  e606                    MOVA            HRAM_0X6
:0X259  5005                    MOV             HRAM_0X5,       A
:0X25a  e611                    MOVA            (_Write_ContDATA+4)&7f              ;(_Write_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X25b  5006                    MOV             HRAM_0X6,       A
:0X25c  e612                    MOVA            (_Write_ContDATA+5)&7f              ;(_Write_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X25d  ec00                    PAGE            (_Write_Cont)>>11
:0X25e  6552                    CALL            HADR_0X552
:0X25f  ec00                    PAGE            (_9)>>11
:0X260  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\Boot\debug\isp_proc.obj 
;
;
;                //if(g_isp_data.para1.b32 >= 0x3FFF)
;                //{
;                //test = 0;
;                //}
;                if (result == FAILED) //失败
:0X261  ea01                    SECTION         0X1
:0X262  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\Boot\debug\isp_proc.obj 
:0X263  9284                    JBS             HRAM_0X84,      2
:0X264  6a69                    GOTO            HADR_0X269
;                {
;                    g_isp_data.tx_buf[0] = NACK;
:0X265  e51f                    MOVI            0X1F
:0X266  ea02                    SECTION         0X2
:0X267  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                }
:0X268  6b93                    GOTO            HADR_0X393
HADR_0X269:
;                else
:0X269  a884                    BCC             HRAM_0X84,      0
:0X26a  d03b                    RRB             (_g_isp_data+10)&7f,            A,              0X1 ;(_g_isp_data+10)&7f: Bank 0    Addr: 59     
:0X26b  d03a                    RRB             (_g_isp_data+9)&7f,             A,              0X1 ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X26c  e606                    MOVA            HRAM_0X6
:0X26d  d039                    RRB             (_g_isp_data+8)&7f,             A,              0X1 ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X26e  e60d                    MOVA            (_Read_ContDATA)&7f                 ;(_Read_ContDATA)&7f: Bank 0    Addr: 13     
:0X26f  5006                    MOV             HRAM_0X6,       A
:0X270  e60e                    MOVA            (_Read_ContDATA+1)&7f               ;(_Read_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X271  e5c2                    MOVI            _g_isp_data+17
:0X272  e60f                    MOVA            (_Read_ContDATA+2)&7f               ;(_Read_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X273  e500                    MOVI            (_g_isp_data+17)>>8
:0X274  e610                    MOVA            (_Read_ContDATA+3)&7f               ;(_Read_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X275  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X276  e001                    ADDI            0X1
:0X277  e605                    MOVA            HRAM_0X5
:0X278  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X279  c300                    ADDCI           0X0
:0X27a  e606                    MOVA            HRAM_0X6
:0X27b  5005                    MOV             HRAM_0X5,       A
:0X27c  e611                    MOVA            (_Read_ContDATA+4)&7f               ;(_Read_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X27d  5006                    MOV             HRAM_0X6,       A
:0X27e  e612                    MOVA            (_Read_ContDATA+5)&7f               ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X27f  ec00                    PAGE            (_Read_Cont)>>11
:0X280  649b                    CALL            HADR_0X49B
:0X281  ec00                    PAGE            (_a)>>11
;                    buf8 = g_isp_data.rx_buf[0] ^ g_isp_data.rx_buf[1];
:0X282  78c2                    MOVRA           _g_isp_data+17                      ;_g_isp_data+17: Bank 1    Addr: 194     
:0X283  ea01                    SECTION         0X1
:0X284  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X285  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\Boot\debug\isp_proc.obj 
;
;                    for (i = 2; i < (g_isp_data.para2.b32 + 2); i++)
:0X286  e502                    MOVI            0X2
:0X287  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\Boot\debug\isp_proc.obj 
HADR_0X288:
:0X288  e706                    CLR             HRAM_0X6
:0X289  e707                    CLR             HRAM_0X7
:0X28a  e708                    CLR             HRAM_0X8
:0X28b  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\Boot\debug\isp_proc.obj 
:0X28c  e605                    MOVA            HRAM_0X5
:0X28d  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X28e  e002                    ADDI            0X2
:0X28f  e609                    MOVA            HRAM_0X9
:0X290  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X291  c300                    ADDCI           0X0
:0X292  e60a                    MOVA            HRAM_0XA
:0X293  503f                    MOV             (_g_isp_data+14)&7f,            A   ;(_g_isp_data+14)&7f: Bank 0    Addr: 63     
:0X294  c300                    ADDCI           0X0
:0X295  e60b                    MOVA            HRAM_0XB
:0X296  5040                    MOV             (_g_isp_data+15)&7f,            A   ;(_g_isp_data+15)&7f: Bank 0    Addr: 64     
:0X297  c300                    ADDCI           0X0
:0X298  ee08                    SUB             HRAM_0X8,       A
:0X299  9284                    JBS             HRAM_0X84,      2
:0X29a  6aa5                    GOTO            HADR_0X2A5
:0X29b  500b                    MOV             HRAM_0XB,       A
:0X29c  ee07                    SUB             HRAM_0X7,       A
:0X29d  9284                    JBS             HRAM_0X84,      2
:0X29e  6aa5                    GOTO            HADR_0X2A5
:0X29f  500a                    MOV             HRAM_0XA,       A
:0X2a0  ee06                    SUB             HRAM_0X6,       A
:0X2a1  9284                    JBS             HRAM_0X84,      2
:0X2a2  6aa5                    GOTO            HADR_0X2A5
:0X2a3  5009                    MOV             HRAM_0X9,       A
:0X2a4  ee05                    SUB             HRAM_0X5,       A
HADR_0X2A5:
:0X2a5  9884                    JBC             HRAM_0X84,      0
:0X2a6  6ab6                    GOTO            HADR_0X2B6
;                    {
;                        buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0X2a7  e706                    CLR             HRAM_0X6
:0X2a8  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\Boot\debug\isp_proc.obj 
:0X2a9  e0c1                    ADDI            _g_isp_data+16
:0X2aa  e607                    MOVA            HRAM_0X7
:0X2ab  5006                    MOV             HRAM_0X6,       A
:0X2ac  c300                    ADDCI           (_g_isp_data+16)>>8
:0X2ad  e682                    MOVA            HRAM_0X82
:0X2ae  5007                    MOV             HRAM_0X7,       A
:0X2af  e681                    MOVA            HRAM_0X81
:0X2b0  5080                    MOV             HRAM_0X80,      A
:0X2b1  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2b2  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\Boot\debug\isp_proc.obj 
:0X2b3  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\Boot\debug\isp_proc.obj 
:0X2b4  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\Boot\debug\isp_proc.obj 
;                    }
:0X2b5  6a88                    GOTO            HADR_0X288
HADR_0X2B6:
;
;                    if (buf8 ==  g_isp_data.rx_buf[i]) //写入的数据校验是否正确
:0X2b6  e706                    CLR             HRAM_0X6
:0X2b7  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\Boot\debug\isp_proc.obj 
:0X2b8  e0c1                    ADDI            _g_isp_data+16
:0X2b9  e607                    MOVA            HRAM_0X7
:0X2ba  5006                    MOV             HRAM_0X6,       A
:0X2bb  c300                    ADDCI           (_g_isp_data+16)>>8
:0X2bc  e682                    MOVA            HRAM_0X82
:0X2bd  5007                    MOV             HRAM_0X7,       A
:0X2be  e681                    MOVA            HRAM_0X81
:0X2bf  5080                    MOV             HRAM_0X80,      A
:0X2c0  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2c1  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\Boot\debug\isp_proc.obj 
:0X2c2  ea02                    SECTION         0X2
:0X2c3  9284                    JBS             HRAM_0X84,      2
:0X2c4  6ac8                    GOTO            HADR_0X2C8
;                    {
;                        g_isp_data.tx_buf[0] = ACK;
:0X2c5  e579                    MOVI            0X79
:0X2c6  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    }
:0X2c7  6b93                    GOTO            HADR_0X393
HADR_0X2C8:
;                    else
:0X2c8  e51f                    MOVI            0X1F
:0X2c9  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    }
;                }
;            }
:0X2ca  6b93                    GOTO            HADR_0X393
HADR_0X2CB:
;            else
:0X2cb  e51f                    MOVI            0X1F
:0X2cc  ea02                    SECTION         0X2
:0X2cd  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;            }
;
;            break;
:0X2ce  6b93                    GOTO            HADR_0X393
HADR_0X2CF:
;
;        case  EX_ERASE:
:0X2cf  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\Boot\debug\isp_proc.obj 
HADR_0X2D0:
:0X2d0  e706                    CLR             HRAM_0X6
:0X2d1  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\Boot\debug\isp_proc.obj 
:0X2d2  e605                    MOVA            HRAM_0X5
:0X2d3  5039                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X2d4  e001                    ADDI            0X1
:0X2d5  e607                    MOVA            HRAM_0X7
:0X2d6  e708                    CLR             HRAM_0X8
:0X2d7  b108                    RLB             HRAM_0X8,       R,              0X1
:0X2d8  5006                    MOV             HRAM_0X6,       A
:0X2d9  e380                    XORI            0X80
:0X2da  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2db  5008                    MOV             HRAM_0X8,       A
:0X2dc  e380                    XORI            0X80
:0X2dd  ea00                    SECTION         0X0
:0X2de  ee00                    SUB             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X2df  9284                    JBS             HRAM_0X84,      2
:0X2e0  6ae4                    GOTO            HADR_0X2E4
:0X2e1  ea01                    SECTION         0X1
:0X2e2  5007                    MOV             HRAM_0X7,       A
:0X2e3  ee05                    SUB             HRAM_0X5,       A
HADR_0X2E4:
:0X2e4  9884                    JBC             HRAM_0X84,      0
:0X2e5  6b33                    GOTO            HADR_0X333
;            {
;                page = (((u16)g_isp_data.rx_buf[3 + i * 2] + ((u16)g_isp_data.rx_buf[2 + i * 2] << 8)) << 8); //0x1000
:0X2e6  ea01                    SECTION         0X1
:0X2e7  e706                    CLR             HRAM_0X6
:0X2e8  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\Boot\debug\isp_proc.obj 
:0X2e9  e605                    MOVA            HRAM_0X5
:0X2ea  a884                    BCC             HRAM_0X84,      0
:0X2eb  b005                    RLB             HRAM_0X5,       A,              0X1
:0X2ec  e607                    MOVA            HRAM_0X7
:0X2ed  b006                    RLB             HRAM_0X6,       A,              0X1
:0X2ee  e608                    MOVA            HRAM_0X8
:0X2ef  5007                    MOV             HRAM_0X7,       A
:0X2f0  e003                    ADDI            0X3
:0X2f1  e605                    MOVA            HRAM_0X5
:0X2f2  5008                    MOV             HRAM_0X8,       A
:0X2f3  c300                    ADDCI           0X0
:0X2f4  e606                    MOVA            HRAM_0X6
:0X2f5  5005                    MOV             HRAM_0X5,       A
:0X2f6  e0c1                    ADDI            _g_isp_data+16
:0X2f7  e607                    MOVA            HRAM_0X7
:0X2f8  5006                    MOV             HRAM_0X6,       A
:0X2f9  c300                    ADDCI           (_g_isp_data+16)>>8
:0X2fa  e682                    MOVA            HRAM_0X82
:0X2fb  5007                    MOV             HRAM_0X7,       A
:0X2fc  e681                    MOVA            HRAM_0X81
:0X2fd  5080                    MOV             HRAM_0X80,      A
:0X2fe  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2ff  e706                    CLR             HRAM_0X6
:0X300  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X301  e605                    MOVA            HRAM_0X5
:0X302  e708                    CLR             HRAM_0X8
:0X303  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\Boot\debug\isp_proc.obj 
:0X304  e607                    MOVA            HRAM_0X7
:0X305  a884                    BCC             HRAM_0X84,      0
:0X306  b007                    RLB             HRAM_0X7,       A,              0X1
:0X307  e609                    MOVA            HRAM_0X9
:0X308  b008                    RLB             HRAM_0X8,       A,              0X1
:0X309  e60a                    MOVA            HRAM_0XA
:0X30a  5009                    MOV             HRAM_0X9,       A
:0X30b  e002                    ADDI            0X2
:0X30c  e607                    MOVA            HRAM_0X7
:0X30d  500a                    MOV             HRAM_0XA,       A
:0X30e  c300                    ADDCI           0X0
:0X30f  e608                    MOVA            HRAM_0X8
:0X310  5007                    MOV             HRAM_0X7,       A
:0X311  e0c1                    ADDI            _g_isp_data+16
:0X312  e609                    MOVA            HRAM_0X9
:0X313  5008                    MOV             HRAM_0X8,       A
:0X314  c300                    ADDCI           (_g_isp_data+16)>>8
:0X315  e682                    MOVA            HRAM_0X82
:0X316  5009                    MOV             HRAM_0X9,       A
:0X317  e681                    MOVA            HRAM_0X81
:0X318  5080                    MOV             HRAM_0X80,      A
:0X319  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X31a  e708                    CLR             HRAM_0X8
:0X31b  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X31c  e60a                    MOVA            HRAM_0XA
:0X31d  e709                    CLR             HRAM_0X9
:0X31e  5009                    MOV             HRAM_0X9,       A
:0X31f  5e05                    ADD             HRAM_0X5,       A
:0X320  e607                    MOVA            HRAM_0X7
:0X321  500a                    MOV             HRAM_0XA,       A
:0X322  1406                    ADDC            HRAM_0X6,       A
:0X323  5007                    MOV             HRAM_0X7,       A
:0X324  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\Boot\debug\isp_proc.obj 
:0X325  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\Boot\debug\isp_proc.obj 
;
;                if (Erase_Page(page) != SUCCESS)
:0X326  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\Boot\debug\isp_proc.obj 
:0X327  e60d                    MOVA            (_Erase_PageDATA)&7f                ;(_Erase_PageDATA)&7f: Bank 0    Addr: 13     
:0X328  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\Boot\debug\isp_proc.obj 
:0X329  e60e                    MOVA            (_Erase_PageDATA+1)&7f              ;(_Erase_PageDATA+1)&7f: Bank 0    Addr: 14     
:0X32a  ec00                    PAGE            (_Erase_Page)>>11
:0X32b  6529                    CALL            HADR_0X529
:0X32c  ec00                    PAGE            (_b)>>11
:0X32d  e301                    XORI            0X1
:0X32e  9284                    JBS             HRAM_0X84,      2
:0X32f  6b33                    GOTO            HADR_0X333
:0X330  ea01                    SECTION         0X1
:0X331  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\Boot\debug\isp_proc.obj 
;                    break;
;            }
:0X332  6ad0                    GOTO            HADR_0X2D0
HADR_0X333:
;
;            if (i != g_isp_data.para1.b08[0] + 1) //擦除有误
:0X333  ea01                    SECTION         0X1
:0X334  e706                    CLR             HRAM_0X6
:0X335  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\Boot\debug\isp_proc.obj 
:0X336  e605                    MOVA            HRAM_0X5
:0X337  5039                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X338  e001                    ADDI            0X1
:0X339  e607                    MOVA            HRAM_0X7
:0X33a  e708                    CLR             HRAM_0X8
:0X33b  b108                    RLB             HRAM_0X8,       R,              0X1
:0X33c  5007                    MOV             HRAM_0X7,       A
:0X33d  5c05                    XOR             HRAM_0X5,       A
:0X33e  9284                    JBS             HRAM_0X84,      2
:0X33f  6b44                    GOTO            HADR_0X344
:0X340  5008                    MOV             HRAM_0X8,       A
:0X341  5c06                    XOR             HRAM_0X6,       A
:0X342  9a84                    JBC             HRAM_0X84,      2
:0X343  6b48                    GOTO            HADR_0X348
HADR_0X344:
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0X344  e51f                    MOVI            0X1F
:0X345  ea02                    SECTION         0X2
:0X346  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;            }
:0X347  6b4b                    GOTO            HADR_0X34B
HADR_0X348:
;            else
:0X348  e579                    MOVI            0X79
:0X349  ea02                    SECTION         0X2
:0X34a  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
HADR_0X34B:
;            }
:0X34b  e507                    MOVI            0X7
:0X34c  ea01                    SECTION         0X1
:0X34d  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X34e  6b93                    GOTO            HADR_0X393
HADR_0X34F:
;
;        case  CHECK_EMPTY:
:0X34f  5039                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 57     
:0X350  e605                    MOVA            HRAM_0X5
:0X351  503a                    MOV             (_g_isp_data+9)&7f,             A   ;(_g_isp_data+9)&7f: Bank 0    Addr: 58     
:0X352  e606                    MOVA            HRAM_0X6
:0X353  5005                    MOV             HRAM_0X5,       A
:0X354  e60d                    MOVA            (_check_emptyDATA)&7f               ;(_check_emptyDATA)&7f: Bank 0    Addr: 13     
:0X355  5006                    MOV             HRAM_0X6,       A
:0X356  e60e                    MOVA            (_check_emptyDATA+1)&7f             ;(_check_emptyDATA+1)&7f: Bank 0    Addr: 14     
:0X357  e5c9                    MOVI            _in_exe_ins_wr_buf8_69
:0X358  e60f                    MOVA            (_check_emptyDATA+2)&7f             ;(_check_emptyDATA+2)&7f: Bank 0    Addr: 15     
:0X359  e501                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X35a  e610                    MOVA            (_check_emptyDATA+3)&7f             ;(_check_emptyDATA+3)&7f: Bank 0    Addr: 16     
:0X35b  503d                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 61     
:0X35c  e001                    ADDI            0X1
:0X35d  e605                    MOVA            HRAM_0X5
:0X35e  503e                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 62     
:0X35f  c300                    ADDCI           0X0
:0X360  e606                    MOVA            HRAM_0X6
:0X361  5005                    MOV             HRAM_0X5,       A
:0X362  e611                    MOVA            (_check_emptyDATA+4)&7f             ;(_check_emptyDATA+4)&7f: Bank 0    Addr: 17     
:0X363  5006                    MOV             HRAM_0X6,       A
:0X364  e612                    MOVA            (_check_emptyDATA+5)&7f             ;(_check_emptyDATA+5)&7f: Bank 0    Addr: 18     
:0X365  ec00                    PAGE            (_check_empty)>>11
:0X366  6425                    CALL            HADR_0X425
:0X367  ec00                    PAGE            (_c)>>11
:0X368  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\Boot\debug\isp_proc.obj 
;
;            if (result)
:0X369  ea01                    SECTION         0X1
:0X36a  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\Boot\debug\isp_proc.obj 
:0X36b  ea02                    SECTION         0X2
:0X36c  9a84                    JBC             HRAM_0X84,      2
:0X36d  6b71                    GOTO            HADR_0X371
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X36e  e579                    MOVI            0X79
:0X36f  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;            }
:0X370  6b73                    GOTO            HADR_0X373
HADR_0X371:
;            else
:0X371  e51f                    MOVI            0X1F
:0X372  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
HADR_0X373:
;            }
:0X373  e507                    MOVI            0X7
:0X374  ea01                    SECTION         0X1
:0X375  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            break;
:0X376  6b93                    GOTO            HADR_0X393
HADR_0X377:
;
;        case  GO:
:0X377  e508                    MOVI            0X8
:0X378  e001                    ADDI            0X1
:0X379  ea00                    SECTION         0X0
:0X37a  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X37b  78b9                    MOVRA           _g_isp_data+8                       ;_g_isp_data+8: Bank 1    Addr: 185     
:0X37c  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X37d  78ba                    MOVRA           _g_isp_data+9                       ;_g_isp_data+9: Bank 1    Addr: 186     
:0X37e  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X37f  78bb                    MOVRA           _g_isp_data+10                      ;_g_isp_data+10: Bank 1    Addr: 187     
:0X380  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X381  78bc                    MOVRA           _g_isp_data+11                      ;_g_isp_data+11: Bank 1    Addr: 188     
:0X382  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X383  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X384  6b8a                    GOTO            HADR_0X38A
HADR_0X385:
:0X385  a884                    BCC             HRAM_0X84,      0
:0X386  d104                    RRB             (?_TMP+4)&7f,   R,              0X1 ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X387  d103                    RRB             (?_TMP+3)&7f,   R,              0X1 ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X388  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X389  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X38A:
:0X38a  e0ff                    ADDI            0XFF
:0X38b  9284                    JBS             HRAM_0X84,      2
:0X38c  6b85                    GOTO            HADR_0X385
:0X38d  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X38e  e687                    MOVA            _PCRH_0                             ;_PCRH_0: Bank 511    Addr: 65415    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\isp_proc.obj 
;            PCRL = g_isp_data.para1.b32;
:0X38f  78b9                    MOVRA           _g_isp_data+8                       ;_g_isp_data+8: Bank 1    Addr: 185     
:0X390  e686                    MOVA            _PCRL_0                             ;_PCRL_0: Bank 511    Addr: 65414    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\isp_proc.obj 
;            break;
:0X391  6b93                    GOTO            HADR_0X393
HADR_0X392:
;
;        default:
:0X392  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X393:
;            break;
;    }
;}
:0X393  ea00                    SECTION         0X0
:0X394  c183                    RET
HADR_0X395:
;
;/***************************************************************
;函数名：fsm_init
;描  述: 状态机初始化
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void fsm_init(void)
;{
;    g_isp_data.syn = 0;
:0X395  e783                    CLR             HRAM_0X83
:0X396  e500                    MOVI            0X0
:0X397  ea01                    SECTION         0X1
:0X398  e632                    MOVA            (_g_isp_data+1)&7f                  ;(_g_isp_data+1)&7f: Bank 0    Addr: 50     
;    g_isp_data.step = WAIT_REV_INS;
:0X399  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;    g_isp_data.cmd = 0;  //指令码
:0X39a  e733                    CLR             (_g_isp_data+2)&7f                  ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
;    g_isp_data.rx_len = 1;    //接收长度
:0X39b  e501                    MOVI            0X1
:0X39c  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;    g_isp_data.tx_len = 0;    //发送长度
:0X39d  e736                    CLR             (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 54     
;    g_isp_data.rx_cnt = 0;    //接收计数
:0X39e  e737                    CLR             (_g_isp_data+6)&7f                  ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
;    g_isp_data.tx_cnt = 0;    //发送计数
:0X39f  e738                    CLR             (_g_isp_data+7)&7f                  ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
;    g_isp_data.triger = 0;    //上一步动作完成，触发下一步动作
:0X3a0  e734                    CLR             (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
;    g_boot_timer = Boot_OVERTIME_1;
:0X3a1  e728                    CLR             (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X3a2  e727                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X3a3  e726                    CLR             (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X3a4  e514                    MOVI            0X14
:0X3a5  e625                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
;    g_boot = 0;
:0X3a6  e71c                    CLR             (_g_boot)&7f                        ;(_g_boot)&7f: Bank 0    Addr: 28     
;}
:0X3a7  ea00                    SECTION         0X0
:0X3a8  c183                    RET
HADR_0X3A9:
;
;
;/***************************************************************
;函数名：uart_proc_fsm
;描  述: UART命令帧处理状态机
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void uart_proc_fsm(void)
;{
;    g_isp_data.triger = 0;
:0X3a9  e783                    CLR             HRAM_0X83
:0X3aa  e500                    MOVI            0X0
:0X3ab  ea01                    SECTION         0X1
:0X3ac  e634                    MOVA            (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
;
;    switch (g_isp_data.step)
:0X3ad  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X3ae  e301                    XORI            0X1
:0X3af  9a84                    JBC             HRAM_0X84,      2
:0X3b0  6bc4                    GOTO            HADR_0X3C4
:0X3b1  e303                    XORI            0X3
:0X3b2  9a84                    JBC             HRAM_0X84,      2
:0X3b3  6bde                    GOTO            HADR_0X3DE
:0X3b4  e301                    XORI            0X1
:0X3b5  9a84                    JBC             HRAM_0X84,      2
:0X3b6  6be4                    GOTO            HADR_0X3E4
:0X3b7  e307                    XORI            0X7
:0X3b8  9a84                    JBC             HRAM_0X84,      2
:0X3b9  6bec                    GOTO            HADR_0X3EC
:0X3ba  e301                    XORI            0X1
:0X3bb  9a84                    JBC             HRAM_0X84,      2
:0X3bc  6bf2                    GOTO            HADR_0X3F2
:0X3bd  e303                    XORI            0X3
:0X3be  9a84                    JBC             HRAM_0X84,      2
:0X3bf  6bfa                    GOTO            HADR_0X3FA
:0X3c0  e301                    XORI            0X1
:0X3c1  9a84                    JBC             HRAM_0X84,      2
:0X3c2  6c02                    GOTO            HADR_0X402
:0X3c3  6c0d                    GOTO            HADR_0X40D
HADR_0X3C4:
;    {
;        case  IN_REV_INS:  //0:接收指令码
:0X3c4  e703                    CLR             HRAM_0X3
:0X3c5  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X3c6  e602                    MOVA            HRAM_0X2
:0X3c7  5202                    COM             HRAM_0X2,       A
:0X3c8  5c41                    XOR             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X3c9  ea02                    SECTION         0X2
:0X3ca  9284                    JBS             HRAM_0X84,      2
:0X3cb  6bd3                    GOTO            HADR_0X3D3
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X3cc  e579                    MOVI            0X79
:0X3cd  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = END_IN_INS;
:0X3ce  e502                    MOVI            0X2
:0X3cf  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                g_isp_data.cmd = g_isp_data.rx_buf[0];
:0X3d0  78c1                    MOVRA           _g_isp_data+16                      ;_g_isp_data+16: Bank 1    Addr: 193     
:0X3d1  20b3                    MOVAR           _g_isp_data+2                       ;_g_isp_data+2: Bank 1    Addr: 179     
;            }
:0X3d2  6bd7                    GOTO            HADR_0X3D7
HADR_0X3D3:
;            else
:0X3d3  e51f                    MOVI            0X1F
:0X3d4  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.step = IN_SEND_OVER;
:0X3d5  e507                    MOVI            0X7
:0X3d6  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
HADR_0X3D7:
;            }
:0X3d7  e500                    MOVI            0X0
:0X3d8  ea01                    SECTION         0X1
:0X3d9  e60d                    MOVA            (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X3da  ec00                    PAGE            (_start_tx)>>11
:0X3db  66b4                    CALL            HADR_0X6B4
:0X3dc  ec00                    PAGE            (_d)>>11
;            break;
:0X3dd  6c11                    GOTO            HADR_0X411
HADR_0X3DE:
;
;        case  END_IN_INS:  //完成接收指令码
:0X3de  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X3df  e605                    MOVA            HRAM_0X5
:0X3e0  ec00                    PAGE            (_next_ans_ins)>>11
:0X3e1  602c                    CALL            HADR_0X2C
:0X3e2  ec00                    PAGE            (_e)>>11
;            break;
:0X3e3  6c11                    GOTO            HADR_0X411
HADR_0X3E4:
;
;        case  WAIT_REV_PARA1://等待接收参数1
:0X3e4  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X3e5  e605                    MOVA            HRAM_0X5
:0X3e6  ec00                    PAGE            (_wait_rev_para1)>>11
:0X3e7  6047                    CALL            HADR_0X47
:0X3e8  ec00                    PAGE            (_f)>>11
;            g_isp_data.triger = 1;
:0X3e9  e501                    MOVI            0X1
:0X3ea  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;            break;
:0X3eb  6c11                    GOTO            HADR_0X411
HADR_0X3EC:
;
;        case  END_REV_PARA1: //接收参数1完成
:0X3ec  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X3ed  e605                    MOVA            HRAM_0X5
:0X3ee  ec00                    PAGE            (_next_rev_para1)>>11
:0X3ef  6125                    CALL            HADR_0X125
:0X3f0  ec00                    PAGE            (_10)>>11
;            break;
:0X3f1  6c11                    GOTO            HADR_0X411
HADR_0X3F2:
;
;        case  WAIT_REV_PARA2://等待接收参数2
:0X3f2  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X3f3  e605                    MOVA            HRAM_0X5
:0X3f4  ec00                    PAGE            (_wait_rev_para2)>>11
:0X3f5  613f                    CALL            HADR_0X13F
:0X3f6  ec00                    PAGE            (_11)>>11
;            g_isp_data.triger = 1;
:0X3f7  e501                    MOVI            0X1
:0X3f8  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;            break;
:0X3f9  6c11                    GOTO            HADR_0X411
HADR_0X3FA:
;
;        case  IN_EXE_INS:  //执行指令
:0X3fa  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X3fb  e605                    MOVA            HRAM_0X5
:0X3fc  ec00                    PAGE            (_in_exe_ins)>>11
:0X3fd  61b8                    CALL            HADR_0X1B8
:0X3fe  ec00                    PAGE            (_12)>>11
;            g_isp_data.triger = 1;
:0X3ff  e501                    MOVI            0X1
:0X400  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;            break;
:0X401  6c11                    GOTO            HADR_0X411
HADR_0X402:
;
;        case  IN_SEND_OVER:  //发送结束ACK
:0X402  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X403  ec00                    PAGE            (_start_tx)>>11
:0X404  66b4                    CALL            HADR_0X6B4
:0X405  ec00                    PAGE            (_13)>>11
;            g_isp_data.step = WAIT_REV_INS;
:0X406  e500                    MOVI            0X0
:0X407  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;            g_isp_data.rx_len = 1;    //接收长度
:0X408  e501                    MOVI            0X1
:0X409  20b5                    MOVAR           _g_isp_data+4                       ;_g_isp_data+4: Bank 1    Addr: 181     
;            g_isp_data.triger = 0;
:0X40a  e500                    MOVI            0X0
:0X40b  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;            break;
:0X40c  6c11                    GOTO            HADR_0X411
HADR_0X40D:
;
;        default:             //其他状态回归等待同步码状态
:0X40d  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
;            g_isp_data.rx_len = 1;    //接收长度
:0X40e  e501                    MOVI            0X1
:0X40f  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;            g_isp_data.triger = 0;
:0X410  e734                    CLR             (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
HADR_0X411:
;            break;
;    }
;}
:0X411  ea00                    SECTION         0X0
:0X412  c183                    RET
HADR_0X413:
;/*********************************************************
;*Copyright (C), 2020, Shanghai Eastsoft Microelectronics Co., Ltd
;*文件名:  main.c
;*作  者:  AE Team
;*版  本:  V1.00， 编译于iDesigner(v4.2.3.166) + 工具链HRCC(v1.2.0.106)
;*日  期:  2020/07/23
;*描  述:  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++)
:0X413  e783                    CLR             HRAM_0X83
:0X414  e782                    CLR             _IAAH_0                             ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
HADR_0X415:
:0X415  5082                    MOV             _IAAH_0,        A                   ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
:0X416  ce03                    SUBI            0X3
:0X417  9084                    JBS             HRAM_0X84,      0
:0X418  6c24                    GOTO            HADR_0X424
;    {
;        for (IAAL = 0; IAAL < 0xFF; IAAL++)IAD = 0;
:0X419  e781                    CLR             _IAAL_0                             ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
HADR_0X41A:
:0X41a  e5ff                    MOVI            0XFF
:0X41b  ee81                    SUB             _IAAL_0,        A                   ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
:0X41c  9884                    JBC             HRAM_0X84,      0
:0X41d  6c21                    GOTO            HADR_0X421
:0X41e  e780                    CLR             _IAD_0                              ;_IAD_0: Bank 511    Addr: 65408    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
:0X41f  5581                    INC             _IAAL_0,        R                   ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
:0X420  6c1a                    GOTO            HADR_0X41A
HADR_0X421:
;
;        IAD = 0;
:0X421  e780                    CLR             _IAD_0                              ;_IAD_0: Bank 511    Addr: 65408    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
:0X422  5582                    INC             _IAAH_0,        R                   ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\main.obj 
;    }
:0X423  6c15                    GOTO            HADR_0X415
HADR_0X424:
;}
:0X424  c183                    RET
HADR_0X425:
;#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++)
:0X425  e783                    CLR             HRAM_0X83
:0X426  ea01                    SECTION         0X1
:0X427  e713                    CLR             HRAM_0X13
:0X428  e714                    CLR             HRAM_0X14
HADR_0X429:
:0X429  5014                    MOV             HRAM_0X14,      A
:0X42a  e618                    MOVA            HRAM_0X18
:0X42b  5013                    MOV             HRAM_0X13,      A
:0X42c  e617                    MOVA            HRAM_0X17
:0X42d  a884                    BCC             HRAM_0X84,      0
:0X42e  d012                    RRB             HRAM_0X12,      A,              0X1
:0X42f  e61a                    MOVA            HRAM_0X1A
:0X430  d011                    RRB             HRAM_0X11,      A,              0X1
:0X431  e619                    MOVA            HRAM_0X19
:0X432  501a                    MOV             HRAM_0X1A,      A
:0X433  ee18                    SUB             HRAM_0X18,      A
:0X434  9284                    JBS             HRAM_0X84,      2
:0X435  6c38                    GOTO            HADR_0X438
:0X436  5019                    MOV             HRAM_0X19,      A
:0X437  ee17                    SUB             HRAM_0X17,      A
HADR_0X438:
:0X438  9884                    JBC             HRAM_0X84,      0
:0X439  6c99                    GOTO            HADR_0X499
;    {
;        if (i % 2 == 1)
:0X43a  5013                    MOV             HRAM_0X13,      A
:0X43b  e201                    ANDI            0X1
:0X43c  e718                    CLR             HRAM_0X18
:0X43d  e301                    XORI            0X1
:0X43e  9284                    JBS             HRAM_0X84,      2
:0X43f  6c43                    GOTO            HADR_0X443
:0X440  5018                    MOV             HRAM_0X18,      A
:0X441  e300                    XORI            0X0
:0X442  9284                    JBS             HRAM_0X84,      2
HADR_0X443:
:0X443  6c59                    GOTO            HADR_0X459
;        {
;
;            __Asm  TBR;
:0X444  c184                    TBR
;
;            buf16 = (((u16)ROMD1H << 8) + ROMD1L);
:0X445  e718                    CLR             HRAM_0X18
:0X446  50a2                    MOV             _ROMD1H_0,      A                   ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X447  e61a                    MOVA            HRAM_0X1A
:0X448  e719                    CLR             HRAM_0X19
:0X449  e718                    CLR             HRAM_0X18
:0X44a  50a1                    MOV             _ROMD1L_0,      A                   ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X44b  5e19                    ADD             HRAM_0X19,      A
:0X44c  e615                    MOVA            HRAM_0X15
:0X44d  5018                    MOV             HRAM_0X18,      A
:0X44e  141a                    ADDC            HRAM_0X1A,      A
:0X44f  e616                    MOVA            HRAM_0X16
;            ++word_addr;
:0X450  550d                    INC             HRAM_0XD,       R
:0X451  9284                    JBS             HRAM_0X84,      2
:0X452  6c54                    GOTO            HADR_0X454
:0X453  550e                    INC             HRAM_0XE,       R
HADR_0X454:
;            buf_Addr += 2;
:0X454  e502                    MOVI            0X2
:0X455  5f0f                    ADD             HRAM_0XF,       R
:0X456  5010                    MOV             HRAM_0X10,      A
:0X457  c300                    ADDCI           0X0
:0X458  e610                    MOVA            HRAM_0X10
HADR_0X459:
;        }
:0X459  9813                    JBC             HRAM_0X13,      0
:0X45a  6c8a                    GOTO            HADR_0X48A
;        {
;            FRAL = word_addr;
:0X45b  500d                    MOV             HRAM_0XD,       A
:0X45c  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;            FRAH = word_addr >> 8;
:0X45d  e508                    MOVI            0X8
:0X45e  e001                    ADDI            0X1
:0X45f  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X460  500d                    MOV             HRAM_0XD,       A
:0X461  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X462  500e                    MOV             HRAM_0XE,       A
:0X463  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X464  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X465  6c6a                    GOTO            HADR_0X46A
HADR_0X466:
:0X466  a884                    BCC             HRAM_0X84,      0
:0X467  ea00                    SECTION         0X0
:0X468  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X469  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X46A:
:0X46a  e0ff                    ADDI            0XFF
:0X46b  9284                    JBS             HRAM_0X84,      2
:0X46c  6c66                    GOTO            HADR_0X466
:0X46d  ea00                    SECTION         0X0
:0X46e  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X46f  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;            FRAHN = ~FRAH;
:0X470  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X471  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;            FRALN = ~FRAL;
:0X472  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X473  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;            __Asm  TBR;
:0X474  c184                    TBR
;            buf16 = (((u16)ROMDH << 8) + ROMDL);
:0X475  ea01                    SECTION         0X1
:0X476  e718                    CLR             HRAM_0X18
:0X477  5093                    MOV             _ROMDH_0,       A                   ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X478  e61a                    MOVA            HRAM_0X1A
:0X479  e719                    CLR             HRAM_0X19
:0X47a  e718                    CLR             HRAM_0X18
:0X47b  5092                    MOV             _ROMDL_0,       A                   ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X47c  5e19                    ADD             HRAM_0X19,      A
:0X47d  e615                    MOVA            HRAM_0X15
:0X47e  5018                    MOV             HRAM_0X18,      A
:0X47f  141a                    ADDC            HRAM_0X1A,      A
:0X480  e616                    MOVA            HRAM_0X16
;            ++word_addr;
:0X481  550d                    INC             HRAM_0XD,       R
:0X482  9284                    JBS             HRAM_0X84,      2
:0X483  6c85                    GOTO            HADR_0X485
:0X484  550e                    INC             HRAM_0XE,       R
HADR_0X485:
;            buf_Addr += 2;
:0X485  e502                    MOVI            0X2
:0X486  5f0f                    ADD             HRAM_0XF,       R
:0X487  5010                    MOV             HRAM_0X10,      A
:0X488  c300                    ADDCI           0X0
:0X489  e610                    MOVA            HRAM_0X10
HADR_0X48A:
;        }
:0X48a  5015                    MOV             HRAM_0X15,      A
:0X48b  e3ff                    XORI            0XFF
:0X48c  9284                    JBS             HRAM_0X84,      2
:0X48d  6c92                    GOTO            HADR_0X492
:0X48e  5016                    MOV             HRAM_0X16,      A
:0X48f  e3ff                    XORI            0XFF
:0X490  9a84                    JBC             HRAM_0X84,      2
:0X491  6c94                    GOTO            HADR_0X494
HADR_0X492:
;        {
;            return  FAILED;
:0X492  ea00                    SECTION         0X0
:0X493  e400                    RETIA           0X0
HADR_0X494:
;        }
;    }
:0X494  5513                    INC             HRAM_0X13,      R
:0X495  9284                    JBS             HRAM_0X84,      2
:0X496  6c98                    GOTO            HADR_0X498
:0X497  5514                    INC             HRAM_0X14,      R
HADR_0X498:
:0X498  6c29                    GOTO            HADR_0X429
HADR_0X499:
;
;    return  SUCCESS;
:0X499  ea00                    SECTION         0X0
:0X49a  e401                    RETIA           0X1
HADR_0X49B:
;}
;/**********************************************
;函数名：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++)
:0X49b  e783                    CLR             HRAM_0X83
:0X49c  ea01                    SECTION         0X1
:0X49d  e713                    CLR             HRAM_0X13
:0X49e  e714                    CLR             HRAM_0X14
HADR_0X49F:
:0X49f  5014                    MOV             HRAM_0X14,      A
:0X4a0  e616                    MOVA            HRAM_0X16
:0X4a1  5013                    MOV             HRAM_0X13,      A
:0X4a2  e615                    MOVA            HRAM_0X15
:0X4a3  a884                    BCC             HRAM_0X84,      0
:0X4a4  d012                    RRB             HRAM_0X12,      A,              0X1
:0X4a5  e618                    MOVA            HRAM_0X18
:0X4a6  d011                    RRB             HRAM_0X11,      A,              0X1
:0X4a7  e617                    MOVA            HRAM_0X17
:0X4a8  5018                    MOV             HRAM_0X18,      A
:0X4a9  ee16                    SUB             HRAM_0X16,      A
:0X4aa  9284                    JBS             HRAM_0X84,      2
:0X4ab  6cae                    GOTO            HADR_0X4AE
:0X4ac  5017                    MOV             HRAM_0X17,      A
:0X4ad  ee15                    SUB             HRAM_0X15,      A
HADR_0X4AE:
:0X4ae  9884                    JBC             HRAM_0X84,      0
:0X4af  6d15                    GOTO            HADR_0X515
;    {
;        if (i % 2 == 1)
:0X4b0  5013                    MOV             HRAM_0X13,      A
:0X4b1  e201                    ANDI            0X1
:0X4b2  e716                    CLR             HRAM_0X16
:0X4b3  e301                    XORI            0X1
:0X4b4  9284                    JBS             HRAM_0X84,      2
:0X4b5  6cb9                    GOTO            HADR_0X4B9
:0X4b6  5016                    MOV             HRAM_0X16,      A
:0X4b7  e300                    XORI            0X0
:0X4b8  9284                    JBS             HRAM_0X84,      2
HADR_0X4B9:
:0X4b9  6cd7                    GOTO            HADR_0X4D7
;        {
;            __Asm  TBR;
:0X4ba  c184                    TBR
;            *(u16 *)buf_Addr = (((u16)ROMD1H << 8) + ROMD1L);
:0X4bb  e716                    CLR             HRAM_0X16
:0X4bc  50a2                    MOV             _ROMD1H_0,      A                   ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X4bd  e618                    MOVA            HRAM_0X18
:0X4be  e717                    CLR             HRAM_0X17
:0X4bf  e716                    CLR             HRAM_0X16
:0X4c0  50a1                    MOV             _ROMD1L_0,      A                   ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X4c1  e615                    MOVA            HRAM_0X15
:0X4c2  5010                    MOV             HRAM_0X10,      A
:0X4c3  e682                    MOVA            HRAM_0X82
:0X4c4  500f                    MOV             HRAM_0XF,       A
:0X4c5  e681                    MOVA            HRAM_0X81
:0X4c6  5015                    MOV             HRAM_0X15,      A
:0X4c7  5e17                    ADD             HRAM_0X17,      A
:0X4c8  e680                    MOVA            HRAM_0X80
:0X4c9  c201                    ISTEP           0X1
:0X4ca  5016                    MOV             HRAM_0X16,      A
:0X4cb  1418                    ADDC            HRAM_0X18,      A
:0X4cc  e680                    MOVA            HRAM_0X80
:0X4cd  c201                    ISTEP           0X1
;            word_addr++;
:0X4ce  550d                    INC             HRAM_0XD,       R
:0X4cf  9284                    JBS             HRAM_0X84,      2
:0X4d0  6cd2                    GOTO            HADR_0X4D2
:0X4d1  550e                    INC             HRAM_0XE,       R
HADR_0X4D2:
;            buf_Addr += 2;
:0X4d2  e502                    MOVI            0X2
:0X4d3  5f0f                    ADD             HRAM_0XF,       R
:0X4d4  5010                    MOV             HRAM_0X10,      A
:0X4d5  c300                    ADDCI           0X0
:0X4d6  e610                    MOVA            HRAM_0X10
HADR_0X4D7:
;        }
:0X4d7  9813                    JBC             HRAM_0X13,      0
:0X4d8  6d10                    GOTO            HADR_0X510
;        {
;            FRAL = word_addr;
:0X4d9  500d                    MOV             HRAM_0XD,       A
:0X4da  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;            FRAH = word_addr >> 8;
:0X4db  e508                    MOVI            0X8
:0X4dc  e001                    ADDI            0X1
:0X4dd  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X4de  500d                    MOV             HRAM_0XD,       A
:0X4df  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X4e0  500e                    MOV             HRAM_0XE,       A
:0X4e1  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X4e2  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X4e3  6ce8                    GOTO            HADR_0X4E8
HADR_0X4E4:
:0X4e4  a884                    BCC             HRAM_0X84,      0
:0X4e5  ea00                    SECTION         0X0
:0X4e6  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X4e7  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X4E8:
:0X4e8  e0ff                    ADDI            0XFF
:0X4e9  9284                    JBS             HRAM_0X84,      2
:0X4ea  6ce4                    GOTO            HADR_0X4E4
:0X4eb  ea00                    SECTION         0X0
:0X4ec  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X4ed  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;            FRAHN = ~FRAH;
:0X4ee  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X4ef  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;            FRALN = ~FRAL;
:0X4f0  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X4f1  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;            __Asm  TBR;
:0X4f2  c184                    TBR
;            *(u16 *)buf_Addr = (((u16)ROMDH << 8) + ROMDL);
:0X4f3  ea01                    SECTION         0X1
:0X4f4  e716                    CLR             HRAM_0X16
:0X4f5  5093                    MOV             _ROMDH_0,       A                   ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X4f6  e618                    MOVA            HRAM_0X18
:0X4f7  e717                    CLR             HRAM_0X17
:0X4f8  e716                    CLR             HRAM_0X16
:0X4f9  5092                    MOV             _ROMDL_0,       A                   ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X4fa  e615                    MOVA            HRAM_0X15
:0X4fb  5010                    MOV             HRAM_0X10,      A
:0X4fc  e682                    MOVA            HRAM_0X82
:0X4fd  500f                    MOV             HRAM_0XF,       A
:0X4fe  e681                    MOVA            HRAM_0X81
:0X4ff  5015                    MOV             HRAM_0X15,      A
:0X500  5e17                    ADD             HRAM_0X17,      A
:0X501  e680                    MOVA            HRAM_0X80
:0X502  c201                    ISTEP           0X1
:0X503  5016                    MOV             HRAM_0X16,      A
:0X504  1418                    ADDC            HRAM_0X18,      A
:0X505  e680                    MOVA            HRAM_0X80
:0X506  c201                    ISTEP           0X1
;            word_addr++;
:0X507  550d                    INC             HRAM_0XD,       R
:0X508  9284                    JBS             HRAM_0X84,      2
:0X509  6d0b                    GOTO            HADR_0X50B
:0X50a  550e                    INC             HRAM_0XE,       R
HADR_0X50B:
;            buf_Addr += 2;
:0X50b  e502                    MOVI            0X2
:0X50c  5f0f                    ADD             HRAM_0XF,       R
:0X50d  5010                    MOV             HRAM_0X10,      A
:0X50e  c300                    ADDCI           0X0
:0X50f  e610                    MOVA            HRAM_0X10
HADR_0X510:
;        }
;    }
:0X510  5513                    INC             HRAM_0X13,      R
:0X511  9284                    JBS             HRAM_0X84,      2
:0X512  6d14                    GOTO            HADR_0X514
:0X513  5514                    INC             HRAM_0X14,      R
HADR_0X514:
:0X514  6c9f                    GOTO            HADR_0X49F
HADR_0X515:
;
;    ROMCL = 0x00;
:0X515  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    return  SUCCESS;
:0X516  ea00                    SECTION         0X0
:0X517  e401                    RETIA           0X1
HADR_0X518:
;}
;
;static volatile unsigned int section8 FRAN @ 0xFF8E;
;static volatile unsigned int section8 FRA  @ 0xFF90;
;/**********************************************
;函数名：StartIAP
;描  述：IAP固定操作
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void StartIAP(void) //IAP固定格式
;{
;    __asm
:0X518  e783                    CLR             HRAM_0X83
;    {
;        MOVI 0x55
:0X519  e555                    MOVI            0X55
;        MOVA ROMCH
:0X51a  e695                    MOVA            HRAM_0X95
;        MOVI 0x02        //等待8个指令周期
:0X51b  e502                    MOVI            0X2
HADR_0X51C:
;        SSUBI 1          //(A)-1->(A)
:0X51c  cf01                    SSUBI           0X1
;        JBS PSW, Z
:0X51d  9284                    JBS             HRAM_0X84,      2
;        goto $-2
:0X51e  6d1c                    GOTO            HADR_0X51C
;        MOVI 0xAA
:0X51f  e5aa                    MOVI            0XAA
;        MOVA ROMCH
:0X520  e695                    MOVA            HRAM_0X95
;        MOVI 0x02        //等待8个->(指令周期
:0X521  e502                    MOVI            0X2
HADR_0X522:
;        SSUBI 1          //(A)-1A)
:0X522  cf01                    SSUBI           0X1
;        JBS PSW, Z
:0X523  9284                    JBS             HRAM_0X84,      2
;        goto $-2
:0X524  6d22                    GOTO            HADR_0X522
;        BSS ROMCL, WR    //Flash存储器页擦除/自编程触发位
:0X525  a194                    BSS             HRAM_0X94,      1
HADR_0X526:
;        JBC ROMCL, WR
:0X526  9994                    JBC             HRAM_0X94,      1
;        goto $-1         //等待操作结束
:0X527  6d26                    GOTO            HADR_0X526
;    }
:0X528  c183                    RET
HADR_0X529:
;/**********************************************
;函数名：Erase_Page
;描  述：擦除一页Flash
;输入值：page_addr：擦除页所在的地址
;输出值：无
;返回值：SUCCESS，FAILED
;**********************************************/
;u8 Erase_Page(u16 page_addr)
;{
;    GIE = 0 ;
:0X529  e783                    CLR             HRAM_0X83
:0X52a  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\Boot\debug\rw_flash.obj 
;    DATARDEN = 1;
:0X52b  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\Boot\debug\rw_flash.obj 
;    FPEE = 1;
:0X52c  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\Boot\debug\rw_flash.obj 
;    FRAH = page_addr >> 8;  //地址高字节
:0X52d  e508                    MOVI            0X8
:0X52e  e001                    ADDI            0X1
:0X52f  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X530  788d                    MOVRA           HRAM_0X8D
:0X531  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X532  788e                    MOVRA           HRAM_0X8E
:0X533  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X534  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X535  6d39                    GOTO            HADR_0X539
HADR_0X536:
:0X536  a884                    BCC             HRAM_0X84,      0
:0X537  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X538  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X539:
:0X539  e0ff                    ADDI            0XFF
:0X53a  9284                    JBS             HRAM_0X84,      2
:0X53b  6d36                    GOTO            HADR_0X536
:0X53c  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X53d  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    FRAL = page_addr;       //地址低字节
:0X53e  788d                    MOVRA           HRAM_0X8D
:0X53f  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    FRAHN = ~FRAH;
:0X540  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X541  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    FRALN = ~FRAL;
:0X542  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X543  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    WREN = 1;
:0X544  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\Boot\debug\rw_flash.obj 
;    StartIAP();
:0X545  ec00                    PAGE            (_StartIAP)>>11
:0X546  6518                    CALL            HADR_0X518
:0X547  ec00                    PAGE            (_3)>>11
;    //while(WR);    //等待擦除结束
;
;    ROMCL = 0x00;
:0X548  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    FRA = 0xFF12;   //指到不用的地址空间
:0X549  e5ff                    MOVI            0XFF
:0X54a  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\Boot\debug\rw_flash.obj 
:0X54b  e512                    MOVI            0X12
:0X54c  e690                    MOVA            _FRA_0                              ;_FRA_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    FRAN = 0x3456;  //此处把地址反码赋成与0xFFFF和FRA无取反关系的值
:0X54d  e534                    MOVI            0X34
:0X54e  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\Boot\debug\rw_flash.obj 
:0X54f  e556                    MOVI            0X56
:0X550  e68e                    MOVA            _FRAN_0                             ;_FRAN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;
;    return SUCCESS;
:0X551  e401                    RETIA           0X1
HADR_0X552:
;}
;/**********************************************
;函数名：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;
:0X552  e783                    CLR             HRAM_0X83
:0X553  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\Boot\debug\rw_flash.obj 
;    ROMCL = 0x80;
:0X554  e580                    MOVI            0X80
:0X555  e694                    MOVA            _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    DATARDEN = 1;
:0X556  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\Boot\debug\rw_flash.obj 
;    FPEE = 0;
:0X557  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\Boot\debug\rw_flash.obj 
;
;    for (i = 0; i < (num / 4); i++) //每次写入双字(32bit)
:0X558  ea01                    SECTION         0X1
:0X559  e713                    CLR             HRAM_0X13
:0X55a  e714                    CLR             HRAM_0X14
HADR_0X55B:
:0X55b  5014                    MOV             HRAM_0X14,      A
:0X55c  e616                    MOVA            HRAM_0X16
:0X55d  5013                    MOV             HRAM_0X13,      A
:0X55e  e615                    MOVA            HRAM_0X15
:0X55f  e502                    MOVI            0X2
:0X560  e001                    ADDI            0X1
:0X561  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X562  5011                    MOV             HRAM_0X11,      A
:0X563  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X564  5012                    MOV             HRAM_0X12,      A
:0X565  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X566  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X567  6d6c                    GOTO            HADR_0X56C
HADR_0X568:
:0X568  a884                    BCC             HRAM_0X84,      0
:0X569  ea00                    SECTION         0X0
:0X56a  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X56b  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X56C:
:0X56c  e0ff                    ADDI            0XFF
:0X56d  9284                    JBS             HRAM_0X84,      2
:0X56e  6d68                    GOTO            HADR_0X568
:0X56f  ea00                    SECTION         0X0
:0X570  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X571  2097                    MOVAR           HRAM_0X97
:0X572  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X573  ea01                    SECTION         0X1
:0X574  ee16                    SUB             HRAM_0X16,      A
:0X575  9284                    JBS             HRAM_0X84,      2
:0X576  6d79                    GOTO            HADR_0X579
:0X577  5017                    MOV             HRAM_0X17,      A
:0X578  ee15                    SUB             HRAM_0X15,      A
HADR_0X579:
:0X579  9884                    JBC             HRAM_0X84,      0
:0X57a  6e2c                    GOTO            HADR_0X62C
;    {
;        FRAH = word_addr >> 8;  //地址高字节
:0X57b  e508                    MOVI            0X8
:0X57c  e001                    ADDI            0X1
:0X57d  ea00                    SECTION         0X0
:0X57e  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X57f  788d                    MOVRA           HRAM_0X8D
:0X580  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X581  788e                    MOVRA           HRAM_0X8E
:0X582  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X583  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X584  6d88                    GOTO            HADR_0X588
HADR_0X585:
:0X585  a884                    BCC             HRAM_0X84,      0
:0X586  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X587  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X588:
:0X588  e0ff                    ADDI            0XFF
:0X589  9284                    JBS             HRAM_0X84,      2
:0X58a  6d85                    GOTO            HADR_0X585
:0X58b  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X58c  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;        FRAL = word_addr;       //地址低字节
:0X58d  788d                    MOVRA           HRAM_0X8D
:0X58e  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;        FRAHN = ~FRAH;
:0X58f  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X590  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;        FRALN = ~FRAL;
:0X591  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
:0X592  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;        ROMD1H = (*((u32 *)buf_Addr)) >> 24;
:0X593  7890                    MOVRA           HRAM_0X90
:0X594  e682                    MOVA            HRAM_0X82
:0X595  788f                    MOVRA           HRAM_0X8F
:0X596  e681                    MOVA            HRAM_0X81
:0X597  5080                    MOV             HRAM_0X80,      A
:0X598  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X599  c201                    ISTEP           0X1
:0X59a  5080                    MOV             HRAM_0X80,      A
:0X59b  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X59c  c201                    ISTEP           0X1
:0X59d  5080                    MOV             HRAM_0X80,      A
:0X59e  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X59f  c201                    ISTEP           0X1
:0X5a0  5080                    MOV             HRAM_0X80,      A
:0X5a1  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5a2  e518                    MOVI            0X18
:0X5a3  e001                    ADDI            0X1
:0X5a4  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5a5  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5a6  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5a7  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5a8  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5a9  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5aa  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5ab  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5ac  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5ad  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5ae  6db4                    GOTO            HADR_0X5B4
HADR_0X5AF:
:0X5af  a884                    BCC             HRAM_0X84,      0
:0X5b0  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5b1  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5b2  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5b3  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X5B4:
:0X5b4  e0ff                    ADDI            0XFF
:0X5b5  9284                    JBS             HRAM_0X84,      2
:0X5b6  6daf                    GOTO            HADR_0X5AF
:0X5b7  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5b8  e6a2                    MOVA            _ROMD1H_0                           ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;        ROMD1L = (*((u32 *)buf_Addr)) >> 16;
:0X5b9  7890                    MOVRA           HRAM_0X90
:0X5ba  e682                    MOVA            HRAM_0X82
:0X5bb  788f                    MOVRA           HRAM_0X8F
:0X5bc  e681                    MOVA            HRAM_0X81
:0X5bd  5080                    MOV             HRAM_0X80,      A
:0X5be  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5bf  c201                    ISTEP           0X1
:0X5c0  5080                    MOV             HRAM_0X80,      A
:0X5c1  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5c2  c201                    ISTEP           0X1
:0X5c3  5080                    MOV             HRAM_0X80,      A
:0X5c4  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5c5  c201                    ISTEP           0X1
:0X5c6  5080                    MOV             HRAM_0X80,      A
:0X5c7  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5c8  e510                    MOVI            0X10
:0X5c9  e001                    ADDI            0X1
:0X5ca  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5cb  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5cc  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5cd  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5ce  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5cf  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5d0  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5d1  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5d2  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5d3  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5d4  6dda                    GOTO            HADR_0X5DA
HADR_0X5D5:
:0X5d5  a884                    BCC             HRAM_0X84,      0
:0X5d6  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5d7  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5d8  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5d9  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X5DA:
:0X5da  e0ff                    ADDI            0XFF
:0X5db  9284                    JBS             HRAM_0X84,      2
:0X5dc  6dd5                    GOTO            HADR_0X5D5
:0X5dd  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5de  e6a1                    MOVA            _ROMD1L_0                           ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;        ROMDH = (*((u32 *)buf_Addr)) >> 8;
:0X5df  7890                    MOVRA           HRAM_0X90
:0X5e0  e682                    MOVA            HRAM_0X82
:0X5e1  788f                    MOVRA           HRAM_0X8F
:0X5e2  e681                    MOVA            HRAM_0X81
:0X5e3  5080                    MOV             HRAM_0X80,      A
:0X5e4  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5e5  c201                    ISTEP           0X1
:0X5e6  5080                    MOV             HRAM_0X80,      A
:0X5e7  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5e8  c201                    ISTEP           0X1
:0X5e9  5080                    MOV             HRAM_0X80,      A
:0X5ea  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5eb  c201                    ISTEP           0X1
:0X5ec  5080                    MOV             HRAM_0X80,      A
:0X5ed  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5ee  e508                    MOVI            0X8
:0X5ef  e001                    ADDI            0X1
:0X5f0  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5f1  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5f2  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5f3  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5f4  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5f5  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5f6  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5f7  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5f8  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5f9  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5fa  6e00                    GOTO            HADR_0X600
HADR_0X5FB:
:0X5fb  a884                    BCC             HRAM_0X84,      0
:0X5fc  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5fd  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5fe  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5ff  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X600:
:0X600  e0ff                    ADDI            0XFF
:0X601  9284                    JBS             HRAM_0X84,      2
:0X602  6dfb                    GOTO            HADR_0X5FB
:0X603  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X604  e693                    MOVA            _ROMDH_0                            ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;        ROMDL = (*((u32 *)buf_Addr));    //写入Flash的字节数据
:0X605  7890                    MOVRA           HRAM_0X90
:0X606  e682                    MOVA            HRAM_0X82
:0X607  788f                    MOVRA           HRAM_0X8F
:0X608  e681                    MOVA            HRAM_0X81
:0X609  5080                    MOV             HRAM_0X80,      A
:0X60a  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X60b  c201                    ISTEP           0X1
:0X60c  5080                    MOV             HRAM_0X80,      A
:0X60d  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X60e  c201                    ISTEP           0X1
:0X60f  5080                    MOV             HRAM_0X80,      A
:0X610  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X611  c201                    ISTEP           0X1
:0X612  5080                    MOV             HRAM_0X80,      A
:0X613  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X614  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X615  e692                    MOVA            _ROMDL_0                            ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;        WREN = 1;
:0X616  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\Boot\debug\rw_flash.obj 
;        StartIAP();
:0X617  ec00                    PAGE            (_StartIAP)>>11
:0X618  6518                    CALL            HADR_0X518
:0X619  ec00                    PAGE            (_4)>>11
;        word_addr += 2;
:0X61a  788d                    MOVRA           HRAM_0X8D
:0X61b  e002                    ADDI            0X2
:0X61c  208d                    MOVAR           HRAM_0X8D
:0X61d  788e                    MOVRA           HRAM_0X8E
:0X61e  c300                    ADDCI           0X0
:0X61f  208e                    MOVAR           HRAM_0X8E
;        buf_Addr += 4;
:0X620  788f                    MOVRA           HRAM_0X8F
:0X621  e004                    ADDI            0X4
:0X622  208f                    MOVAR           HRAM_0X8F
:0X623  7890                    MOVRA           HRAM_0X90
:0X624  c300                    ADDCI           0X0
:0X625  2090                    MOVAR           HRAM_0X90
:0X626  ea01                    SECTION         0X1
:0X627  5513                    INC             HRAM_0X13,      R
:0X628  9284                    JBS             HRAM_0X84,      2
:0X629  6e2b                    GOTO            HADR_0X62B
:0X62a  5514                    INC             HRAM_0X14,      R
HADR_0X62B:
;    }
:0X62b  6d5b                    GOTO            HADR_0X55B
HADR_0X62C:
;
;    ROMCL = 0x00;
:0X62c  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    FRA = 0xFF12;//指到不用的地址空间
:0X62d  e5ff                    MOVI            0XFF
:0X62e  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\Boot\debug\rw_flash.obj 
:0X62f  e512                    MOVI            0X12
:0X630  e690                    MOVA            _FRA_0                              ;_FRA_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    FRAN = 0x3456;//此处把地址反码赋成与0xFFFF和FRA无取反关系的值
:0X631  e534                    MOVI            0X34
:0X632  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\Boot\debug\rw_flash.obj 
:0X633  e556                    MOVI            0X56
:0X634  e68e                    MOVA            _FRAN_0                             ;_FRAN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    ROMDH = 0xFF;//数据初始化为0xFF
:0X635  e5ff                    MOVI            0XFF
:0X636  e693                    MOVA            _ROMDH_0                            ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    ROMDL = 0xFF;//数据初始化为0xFF
:0X637  e5ff                    MOVI            0XFF
:0X638  e692                    MOVA            _ROMDL_0                            ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    ROMD1H = 0xFF;//数据初始化为0xFF
:0X639  e5ff                    MOVI            0XFF
:0X63a  e6a2                    MOVA            _ROMD1H_0                           ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;    ROMD1L = 0xFF;//数据初始化为0xFF
:0X63b  e5ff                    MOVI            0XFF
:0X63c  e6a1                    MOVA            _ROMD1L_0                           ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\rw_flash.obj 
;
;    return  SUCCESS;
:0X63d  ea00                    SECTION         0X0
:0X63e  e401                    RETIA           0X1
HADR_0X63F:
;#include  <hic.h>
;#include  "typedef.h"
;#include  "macrodef.h"
;#include  "sysinit.h"
;
;/**********************************************
;函数名：Init_Uart
;描  述：UATR初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Init_Uart(void)
;{
;    PAT1 = 0; //TX输出
:0X63f  e783                    CLR             HRAM_0X83
:0X640  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\Boot\debug\sysinit.obj 
;    PAT2 = 1; //RX输入
:0X641  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\Boot\debug\sysinit.obj 
;    ANSL |= 3 << 1; //数字口
:0X642  50bc                    MOV             _ANSL_0,        A                   ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\sysinit.obj 
:0X643  e106                    IORI            0X6
:0X644  e6bc                    MOVA            _ANSL_0                             ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\sysinit.obj 
;    RX0LEN = 0;
:0X645  a483                    BSS             HRAM_0X83,      4
:0X646  aed0                    BCC             HRAM_0XD0,      6
;    TX0LEN = 0;
:0X647  aed2                    BCC             HRAM_0XD2,      6
;    BRGH0 = 1;
:0X648  a5d2                    BSS             HRAM_0XD2,      5
;    BR0R = 103; //波特率9600
:0X649  e567                    MOVI            0X67
:0X64a  e6d3                    MOVA            HRAM_0XD3
;    RX0EN = 1;
:0X64b  a7d0                    BSS             HRAM_0XD0,      7
;    TX0EN = 1;
:0X64c  a7d2                    BSS             HRAM_0XD2,      7
;}
:0X64d  ac83                    BCC             HRAM_0X83,      4
:0X64e  c183                    RET
HADR_0X64F:
;/**********************************************
;函数名：Init_Timer
;描  述：定时器初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Init_Timer(void)
;{
;    T8NC = 0x0E; //欲分频系数1:128
:0X64f  e783                    CLR             HRAM_0X83
:0X650  e50e                    MOVI            0XE
:0X651  e6be                    MOVA            _T8NC_0                             ;_T8NC_0: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\sysinit.obj 
;    T8N = 0;
:0X652  e7bd                    CLR             _T8N_0                              ;_T8N_0: Bank 511    Addr: 65469    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\sysinit.obj 
;    T8NIE = 0;  //不使能中断
:0X653  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\Boot\debug\sysinit.obj 
;    T8NEN = 1;
:0X654  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\Boot\debug\sysinit.obj 
;}
:0X655  c183                    RET
HADR_0X656:
;/**********************************************
;函数名：Init_Ports
;描  述：端口初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Init_Ports(void)
;{
;    PAT0 = 1;
:0X656  e783                    CLR             HRAM_0X83
:0X657  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\Boot\debug\sysinit.obj 
;    ANSL0 = 1;
:0X658  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\Boot\debug\sysinit.obj 
;    PAPD0 = 1;  //BOOTPIN下拉
:0X659  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\Boot\debug\sysinit.obj 
;}
:0X65a  c183                    RET
HADR_0X65B:
;/**********************************************
;函数名：Reg_reset
;描  述：寄存器复位
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void Reg_reset(void)
;{
;    PAT0 = 0xFF;
:0X65b  e783                    CLR             HRAM_0X83
:0X65c  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\Boot\debug\sysinit.obj 
;    ANSL = 0;
:0X65d  e7bc                    CLR             _ANSL_0                             ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\sysinit.obj 
;    ANSH = 0;
:0X65e  e78d                    CLR             _ANSH_0                             ;_ANSH_0: Bank 511    Addr: 65421    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\sysinit.obj 
;
;    T8NC = 0;
:0X65f  e7be                    CLR             _T8NC_0                             ;_T8NC_0: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\sysinit.obj 
;    T8NEN = 0;
:0X660  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\Boot\debug\sysinit.obj 
;
;    BR0R = 0;
:0X661  a483                    BSS             HRAM_0X83,      4
:0X662  e7d3                    CLR             HRAM_0XD3
;    RX0EN = 0;
:0X663  afd0                    BCC             HRAM_0XD0,      7
;    TX0EN = 0;
:0X664  afd2                    BCC             HRAM_0XD2,      7
;}
:0X665  ac83                    BCC             HRAM_0X83,      4
:0X666  c183                    RET
HADR_0X667:
;/**********************************************
;函数名：Init_MCU
;描  述：总初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void Init_MCU(void)
;{
;    Init_Ports();
:0X667  e783                    CLR             HRAM_0X83
:0X668  ec00                    PAGE            (_Init_Ports)>>11
:0X669  6656                    CALL            HADR_0X656
:0X66a  ec00                    PAGE            (_0)>>11
;    Init_Uart();
:0X66b  ec00                    PAGE            (_Init_Uart)>>11
:0X66c  663f                    CALL            HADR_0X63F
:0X66d  ec00                    PAGE            (_1)>>11
;    Init_Timer();
:0X66e  ec00                    PAGE            (_Init_Timer)>>11
:0X66f  664f                    CALL            HADR_0X64F
:0X670  ec00                    PAGE            (_2)>>11
;}
:0X671  c183                    RET
HADR_0X672:
;#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产生一次
:0X672  e783                    CLR             HRAM_0X83
:0X673  e500                    MOVI            0X0
:0X674  999a                    JBC             HRAM_0X9A,      1
:0X675  e501                    MOVI            0X1
:0X676  ea01                    SECTION         0X1
:0X677  e301                    XORI            0X1
:0X678  9284                    JBS             HRAM_0X84,      2
:0X679  6eb2                    GOTO            HADR_0X6B2
;    {
;        T8NIF = 0;
:0X67a  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\Boot\debug\systick.obj 
;        T8N = 130;
:0X67b  e582                    MOVI            0X82
:0X67c  e6bd                    MOVA            _T8N_0                              ;_T8N_0: Bank 511    Addr: 65469    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\Uart_Boot\Boot\debug\systick.obj 
;
;        if (PA0 == 0) //BootPIN拉低
:0X67d  98a8                    JBC             HRAM_0XA8,      0
:0X67e  6e99                    GOTO            HADR_0X699
;        {
;            if (g_boot_timer != 0)
:0X67f  5025                    MOV             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
:0X680  5826                    IOR             (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X681  5827                    IOR             (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X682  5828                    IOR             (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X683  9a84                    JBC             HRAM_0X84,      2
:0X684  6e99                    GOTO            HADR_0X699
;            {
;                g_boot_timer--;
:0X685  e501                    MOVI            0X1
:0X686  ee25                    SUB             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
:0X687  e625                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
:0X688  e500                    MOVI            0X0
:0X689  1626                    SUBC            (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X68a  e626                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X68b  e500                    MOVI            0X0
:0X68c  1627                    SUBC            (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X68d  e627                    MOVA            (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X68e  e500                    MOVI            0X0
:0X68f  1628                    SUBC            (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X690  e628                    MOVA            (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
;
;                if (g_boot_timer == 0)
:0X691  5025                    MOV             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
:0X692  5826                    IOR             (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X693  5827                    IOR             (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X694  5828                    IOR             (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X695  9284                    JBS             HRAM_0X84,      2
:0X696  6e99                    GOTO            HADR_0X699
;                {
;                    g_boot = 1;  //引导程序
:0X697  e501                    MOVI            0X1
:0X698  e61c                    MOVA            (_g_boot)&7f                        ;(_g_boot)&7f: Bank 0    Addr: 28     
HADR_0X699:
;                }
;            }
;        }
:0X699  5029                    MOV             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 41     
:0X69a  582a                    IOR             (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 42     
:0X69b  582b                    IOR             (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 43     
:0X69c  582c                    IOR             (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 44     
:0X69d  9a84                    JBC             HRAM_0X84,      2
:0X69e  6eb2                    GOTO            HADR_0X6B2
;        {
;            g_frame_timer--;
:0X69f  e501                    MOVI            0X1
:0X6a0  ee29                    SUB             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 41     
:0X6a1  e629                    MOVA            (_g_frame_timer)&7f                 ;(_g_frame_timer)&7f: Bank 0    Addr: 41     
:0X6a2  e500                    MOVI            0X0
:0X6a3  162a                    SUBC            (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 42     
:0X6a4  e62a                    MOVA            (_g_frame_timer+1)&7f               ;(_g_frame_timer+1)&7f: Bank 0    Addr: 42     
:0X6a5  e500                    MOVI            0X0
:0X6a6  162b                    SUBC            (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 43     
:0X6a7  e62b                    MOVA            (_g_frame_timer+2)&7f               ;(_g_frame_timer+2)&7f: Bank 0    Addr: 43     
:0X6a8  e500                    MOVI            0X0
:0X6a9  162c                    SUBC            (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 44     
:0X6aa  e62c                    MOVA            (_g_frame_timer+3)&7f               ;(_g_frame_timer+3)&7f: Bank 0    Addr: 44     
;
;            if (g_frame_timer == 0)
:0X6ab  5029                    MOV             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 41     
:0X6ac  582a                    IOR             (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 42     
:0X6ad  582b                    IOR             (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 43     
:0X6ae  582c                    IOR             (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 44     
:0X6af  9284                    JBS             HRAM_0X84,      2
:0X6b0  6eb2                    GOTO            HADR_0X6B2
;            {
;                g_isp_data.step = WAIT_REV_INS;
:0X6b1  e731                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X6B2:
;                //g_isp_data.syn = 0;
;                //Init_Uart();
;            }
;        }
;    }
;}
:0X6b2  ea00                    SECTION         0X0
:0X6b3  c183                    RET
HADR_0X6B4:
;#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;
:0X6b4  e783                    CLR             HRAM_0X83
:0X6b5  e500                    MOVI            0X0
:0X6b6  ea01                    SECTION         0X1
:0X6b7  e638                    MOVA            (_g_isp_data+7)&7f                  ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
;    g_isp_data.tx_len = len;
:0X6b8  500d                    MOV             HRAM_0XD,       A
:0X6b9  e636                    MOVA            (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 54     
;    TX0B = g_isp_data.tx_buf[0];
:0X6ba  7945                    MOVRA           _g_isp_data+148                     ;_g_isp_data+148: Bank 2    Addr: 325     
:0X6bb  a483                    BSS             HRAM_0X83,      4
:0X6bc  e6d1                    MOVA            HRAM_0XD1
HADR_0X6BD:
;
;    while (1)
:0X6bd  e501                    MOVI            0X1
:0X6be  5f38                    ADD             (_g_isp_data+7)&7f,             R   ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
:0X6bf  5038                    MOV             (_g_isp_data+7)&7f,             A   ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
:0X6c0  ee36                    SUB             (_g_isp_data+5)&7f,             A   ;(_g_isp_data+5)&7f: Bank 0    Addr: 54     
:0X6c1  9884                    JBC             HRAM_0X84,      0
:0X6c2  6ec9                    GOTO            HADR_0X6C9
HADR_0X6C3:
;        {
;            while (!TX0IF);
:0X6c3  909e                    JBS             HRAM_0X9E,      0
:0X6c4  6ec3                    GOTO            HADR_0X6C3
;
;            g_isp_data.triger = 1;      //触发状态机进入下一步
:0X6c5  e501                    MOVI            0X1
:0X6c6  e634                    MOVA            (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
;            g_isp_data.rx_cnt = 0;
:0X6c7  e737                    CLR             (_g_isp_data+6)&7f                  ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
;            break;
:0X6c8  6ed8                    GOTO            HADR_0X6D8
HADR_0X6C9:
;        }
;        else
;        {
;            while (!TX0IF);
:0X6c9  909e                    JBS             HRAM_0X9E,      0
:0X6ca  6ec9                    GOTO            HADR_0X6C9
;
;            TX0B = g_isp_data.tx_buf[g_isp_data.tx_cnt];
:0X6cb  e70e                    CLR             HRAM_0XE
:0X6cc  5038                    MOV             (_g_isp_data+7)&7f,             A   ;(_g_isp_data+7)&7f: Bank 0    Addr: 56     
:0X6cd  e045                    ADDI            _g_isp_data+148
:0X6ce  e60f                    MOVA            HRAM_0XF
:0X6cf  500e                    MOV             HRAM_0XE,       A
:0X6d0  c301                    ADDCI           (_g_isp_data+148)>>8
:0X6d1  e682                    MOVA            HRAM_0X82
:0X6d2  500f                    MOV             HRAM_0XF,       A
:0X6d3  e681                    MOVA            HRAM_0X81
:0X6d4  5080                    MOV             HRAM_0X80,      A
:0X6d5  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X6d6  e6d1                    MOVA            HRAM_0XD1
;        }
;    }
:0X6d7  6ebd                    GOTO            HADR_0X6BD
HADR_0X6D8:
;}
:0X6d8  ea00                    SECTION         0X0
:0X6d9  ac83                    BCC             HRAM_0X83,      4
:0X6da  c183                    RET
HADR_0X6DB:
;/***************************************************************
;函数名：UartReceive
;描  述: UART接收数据
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void UartReceive(void)
;{
;    volatile u8   buf8;
;
;    while (1)               //如果没有接收到数据直接退出
:0X6db  e783                    CLR             HRAM_0X83
HADR_0X6DC:
;    {
;        if (RX0IF)
:0X6dc  919e                    JBS             HRAM_0X9E,      1
:0X6dd  6f50                    GOTO            HADR_0X750
;        {
;            buf8 = RX0B;
:0X6de  a483                    BSS             HRAM_0X83,      4
:0X6df  50cf                    MOV             HRAM_0XCF,      A
:0X6e0  ea01                    SECTION         0X1
:0X6e1  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\Boot\debug\uart.obj 
;            g_boot_timer = Boot_OVERTIME_2;
:0X6e2  e728                    CLR             (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 40     
:0X6e3  e727                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 39     
:0X6e4  e501                    MOVI            0X1
:0X6e5  e626                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 38     
:0X6e6  e52c                    MOVI            0X2C
:0X6e7  e625                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 37     
;
;            if (g_isp_data.syn) //如果同步成功
:0X6e8  5032                    MOV             (_g_isp_data+1)&7f,             A   ;(_g_isp_data+1)&7f: Bank 0    Addr: 50     
:0X6e9  9a84                    JBC             HRAM_0X84,      2
:0X6ea  6f3e                    GOTO            HADR_0X73E
;            {
;                if ((buf8 == SYN) && (g_isp_data.step == WAIT_REV_INS))
:0X6eb  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\Boot\debug\uart.obj 
:0X6ec  e33f                    XORI            0X3F
:0X6ed  9284                    JBS             HRAM_0X84,      2
:0X6ee  6efd                    GOTO            HADR_0X6FD
:0X6ef  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X6f0  9284                    JBS             HRAM_0X84,      2
:0X6f1  6efd                    GOTO            HADR_0X6FD
;                {
;                    g_isp_data.tx_buf[0] = ACK;
:0X6f2  e579                    MOVI            0X79
:0X6f3  ea02                    SECTION         0X2
:0X6f4  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                    start_tx(0);
:0X6f5  e500                    MOVI            0X0
:0X6f6  208d                    MOVAR           HRAM_0X8D
:0X6f7  ec00                    PAGE            (_start_tx)>>11
:0X6f8  66b4                    CALL            HADR_0X6B4
:0X6f9  ec00                    PAGE            (_0)>>11
;                    g_isp_data.triger = 0;
:0X6fa  e500                    MOVI            0X0
:0X6fb  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;                    break;
:0X6fc  6f50                    GOTO            HADR_0X750
HADR_0X6FD:
;                }
;                else
:0X6fd  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X6fe  9284                    JBS             HRAM_0X84,      2
:0X6ff  6f05                    GOTO            HADR_0X705
;                    {
;                        g_isp_data.rx_len = 1;
:0X700  e501                    MOVI            0X1
:0X701  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
;                        g_isp_data.rx_cnt = 0;
:0X702  e737                    CLR             (_g_isp_data+6)&7f                  ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
;                        g_isp_data.step = IN_REV_INS;  //正在接收指令码
:0X703  e501                    MOVI            0X1
:0X704  e631                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 49     
HADR_0X705:
;                    }
:0X705  e703                    CLR             HRAM_0X3
:0X706  5037                    MOV             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X707  e0c1                    ADDI            _g_isp_data+16
:0X708  e604                    MOVA            HRAM_0X4
:0X709  5003                    MOV             HRAM_0X3,       A
:0X70a  c300                    ADDCI           (_g_isp_data+16)>>8
:0X70b  e682                    MOVA            HRAM_0X82
:0X70c  5004                    MOV             HRAM_0X4,       A
:0X70d  e681                    MOVA            HRAM_0X81
:0X70e  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\Boot\debug\uart.obj 
:0X70f  e680                    MOVA            HRAM_0X80
:0X710  c201                    ISTEP           0X1
;                    g_isp_data.rx_cnt++;
:0X711  e501                    MOVI            0X1
:0X712  5f37                    ADD             (_g_isp_data+6)&7f,             R   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X713  5037                    MOV             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X714  e302                    XORI            0X2
:0X715  9284                    JBS             HRAM_0X84,      2
:0X716  6f28                    GOTO            HADR_0X728
:0X717  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X718  e303                    XORI            0X3
:0X719  9284                    JBS             HRAM_0X84,      2
:0X71a  6f28                    GOTO            HADR_0X728
:0X71b  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X71c  e3c4                    XORI            0XC4
:0X71d  9284                    JBS             HRAM_0X84,      2
:0X71e  6f28                    GOTO            HADR_0X728
;                    {
;                        g_isp_data.rx_len = (g_isp_data.rx_buf[1] + 2) * 2;
:0X71f  5042                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 66     
:0X720  e002                    ADDI            0X2
:0X721  2012                    MOVAR           MUL_TEMP                            ;MUL_TEMP: Bank 0    Addr: 18     
:0X722  e688                    MOVA            HRAM_0X88
:0X723  e502                    MOVI            0X2
:0X724  2013                    MOVAR           MUL_TEMP+1                          ;MUL_TEMP+1: Bank 0    Addr: 19     
:0X725  e689                    MOVA            HRAM_0X89
:0X726  5088                    MOV             HRAM_0X88,      A
:0X727  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
HADR_0X728:
;                    }
:0X728  5037                    MOV             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X729  e301                    XORI            0X1
:0X72a  9284                    JBS             HRAM_0X84,      2
:0X72b  6f37                    GOTO            HADR_0X737
:0X72c  5031                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 49     
:0X72d  e305                    XORI            0X5
:0X72e  9284                    JBS             HRAM_0X84,      2
:0X72f  6f37                    GOTO            HADR_0X737
:0X730  5033                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 51     
:0X731  e3b1                    XORI            0XB1
:0X732  9284                    JBS             HRAM_0X84,      2
:0X733  6f37                    GOTO            HADR_0X737
;                    {
;                        g_isp_data.rx_len = g_isp_data.rx_buf[0] + 2;
:0X734  5041                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 65     
:0X735  e002                    ADDI            0X2
:0X736  e635                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
HADR_0X737:
;                    }
:0X737  5037                    MOV             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 55     
:0X738  ee35                    SUB             (_g_isp_data+4)&7f,             A   ;(_g_isp_data+4)&7f: Bank 0    Addr: 53     
:0X739  9884                    JBC             HRAM_0X84,      0
:0X73a  6edc                    GOTO            HADR_0X6DC
;                    {
;
;                        g_isp_data.triger = 1;  //触发状态机进入下一步
:0X73b  e501                    MOVI            0X1
:0X73c  e634                    MOVA            (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 52     
;                        break;
:0X73d  6f50                    GOTO            HADR_0X750
HADR_0X73E:
;                    }
;
;                }
;            }
;            else if (buf8 == SYN) //如果接收到启动码则同步成功
:0X73e  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\Boot\debug\uart.obj 
:0X73f  e33f                    XORI            0X3F
:0X740  9284                    JBS             HRAM_0X84,      2
:0X741  6edc                    GOTO            HADR_0X6DC
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X742  e579                    MOVI            0X79
:0X743  ea02                    SECTION         0X2
:0X744  e645                    MOVA            (_g_isp_data+20)&7f                 ;(_g_isp_data+20)&7f: Bank 0    Addr: 69     
;                g_isp_data.syn = 1;  //同步完成
:0X745  e501                    MOVI            0X1
:0X746  20b2                    MOVAR           _g_isp_data+1                       ;_g_isp_data+1: Bank 1    Addr: 178     
;                g_isp_data.step = WAIT_REV_INS;
:0X747  e500                    MOVI            0X0
:0X748  20b1                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 177     
;                g_isp_data.triger = 0;
:0X749  e500                    MOVI            0X0
:0X74a  20b4                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 180     
;                start_tx(0);
:0X74b  e500                    MOVI            0X0
:0X74c  208d                    MOVAR           HRAM_0X8D
:0X74d  ec00                    PAGE            (_start_tx)>>11
:0X74e  66b4                    CALL            HADR_0X6B4
:0X74f  ec00                    PAGE            (_1)>>11
HADR_0X750:
;                break;
;            }
;        }
;        else
;        {
;            break;
;        }
;    }
;}
:0X750  ea00                    SECTION         0X0
:0X751  ac83                    BCC             HRAM_0X83,      4
:0X752  c183                    RET
HADR_0X753:
:0X753  e783                    CLR             HRAM_0X83
:0X754  ea01                    SECTION         0X1
:0X755  5010                    MOV             HRAM_0X10,      A
:0X756  e614                    MOVA            HRAM_0X14
:0X757  500f                    MOV             HRAM_0XF,       A
:0X758  e613                    MOVA            HRAM_0X13
:0X759  500e                    MOV             HRAM_0XE,       A
:0X75a  e610                    MOVA            HRAM_0X10
:0X75b  500d                    MOV             HRAM_0XD,       A
:0X75c  e60f                    MOVA            HRAM_0XF
HADR_0X75D:
:0X75d  5012                    MOV             HRAM_0X12,      A
:0X75e  e616                    MOVA            HRAM_0X16
:0X75f  5011                    MOV             HRAM_0X11,      A
:0X760  e615                    MOVA            HRAM_0X15
:0X761  5011                    MOV             HRAM_0X11,      A
:0X762  9284                    JBS             HRAM_0X84,      2
:0X763  6f65                    GOTO            HADR_0X765
:0X764  1112                    DEC             HRAM_0X12,      R
HADR_0X765:
:0X765  1111                    DEC             HRAM_0X11,      R
:0X766  5015                    MOV             HRAM_0X15,      A
:0X767  5816                    IOR             HRAM_0X16,      A
:0X768  9a84                    JBC             HRAM_0X84,      2
:0X769  6f88                    GOTO            HADR_0X788
:0X76a  5010                    MOV             HRAM_0X10,      A
:0X76b  e616                    MOVA            HRAM_0X16
:0X76c  500f                    MOV             HRAM_0XF,       A
:0X76d  e615                    MOVA            HRAM_0X15
:0X76e  5014                    MOV             HRAM_0X14,      A
:0X76f  e618                    MOVA            HRAM_0X18
:0X770  5013                    MOV             HRAM_0X13,      A
:0X771  e617                    MOVA            HRAM_0X17
:0X772  5018                    MOV             HRAM_0X18,      A
:0X773  e682                    MOVA            HRAM_0X82
:0X774  5017                    MOV             HRAM_0X17,      A
:0X775  e681                    MOVA            HRAM_0X81
:0X776  5080                    MOV             HRAM_0X80,      A
:0X777  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X778  5016                    MOV             HRAM_0X16,      A
:0X779  e682                    MOVA            HRAM_0X82
:0X77a  5015                    MOV             HRAM_0X15,      A
:0X77b  e681                    MOVA            HRAM_0X81
:0X77c  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X77d  e680                    MOVA            HRAM_0X80
:0X77e  c201                    ISTEP           0X1
:0X77f  550f                    INC             HRAM_0XF,       R
:0X780  9284                    JBS             HRAM_0X84,      2
:0X781  6f83                    GOTO            HADR_0X783
:0X782  5510                    INC             HRAM_0X10,      R
HADR_0X783:
:0X783  5513                    INC             HRAM_0X13,      R
:0X784  9284                    JBS             HRAM_0X84,      2
:0X785  6f87                    GOTO            HADR_0X787
:0X786  5514                    INC             HRAM_0X14,      R
HADR_0X787:
:0X787  6f5d                    GOTO            HADR_0X75D
HADR_0X788:
:0X788  500d                    MOV             HRAM_0XD,       A
:0X789  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X78a  500e                    MOV             HRAM_0XE,       A
:0X78b  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X78c  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X78d  ea00                    SECTION         0X0
:0X78e  c183                    RET

                                END
