;The Num of Instruction(Size):2032. The Max Address(Begin with 0):2031 

                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_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_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_0XA  equ  0Xa
HRAM_0XA8  equ  0Xa8
HRAM_0XB  equ  0Xb
HRAM_0XC  equ  0Xc
HRAM_0XD  equ  0Xd
HRAM_0XDA  equ  0Xda
HRAM_0XDB  equ  0Xdb
HRAM_0XDC  equ  0Xdc
HRAM_0XDD  equ  0Xdd
HRAM_0XDF  equ  0Xdf
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
;	NOP
:0X4  ffff                      NOP
;	PUSH
:0X5  c180                      PUSH
;	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  6682                      CALL            HADR_0X682
:0Xb  ec00                      PAGE            (_0)>>11
;    fsm_init();
:0Xc  ec00                      PAGE            (_fsm_init)>>11
:0Xd  63a7                      CALL            HADR_0X3A7
:0Xe  ec00                      PAGE            (_1)>>11
HADR_0XF:
;
;    while (1)
:0Xf  ec00                      PAGE            (_Timer_Proc)>>11
:0X10  668d                     CALL            HADR_0X68D
:0X11  ec00                     PAGE            (_2)>>11
;        IICReceive();
:0X12  ec00                     PAGE            (_IICReceive)>>11
:0X13  671d                     CALL            HADR_0X71D
:0X14  ec00                     PAGE            (_3)>>11
HADR_0X15:
;
;        while (g_isp_data.triger == 1)
:0X15  ea01                     SECTION         0X1
:0X16  5037                     MOV             (_g_isp_data+3)&7f,             A    ;(_g_isp_data+3)&7f: Bank 0    Addr: 55     
:0X17  e301                     XORI            0X1
:0X18  9284                     JBS             HRAM_0X84,      2
:0X19  681e                     GOTO            HADR_0X1E
;        {
;            iic_proc_fsm();  //isp命令状态机处理
:0X1a  ec00                     PAGE            (_iic_proc_fsm)>>11
:0X1b  63bf                     CALL            HADR_0X3BF
: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  6677                     CALL            HADR_0X677
:0X24  ec00                     PAGE            (_5)>>11
;            RAM_clear();
:0X25  ec00                     PAGE            (_RAM_clear)>>11
:0X26  642c                     CALL            HADR_0X42C
: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\I2C_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\I2C_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 "iic.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  6845                     GOTO            HADR_0X45
HADR_0X3F:
;    {
;        case  READ_M:
;        case  CHECK_EMPTY:
;        case  WRITE_M:
;        case  EX_ERASE:
;        case  GO:
:0X3f  e503                     MOVI            0X3
:0X40  e634                     MOVA            (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            g_isp_data.rx_len = 4;
:0X41  e504                     MOVI            0X4
:0X42  e638                     MOVA            (_g_isp_data+4)&7f                   ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X43  e739                     CLR             (_g_isp_data+5)&7f                   ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
;            break;
:0X44  6846                     GOTO            HADR_0X46
HADR_0X45:
;
;        default:
:0X45  e734                     CLR             (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 52     
HADR_0X46:
;            break;
;    }
;
;}
:0X46  ea00                     SECTION         0X0
:0X47  c183                     RET
HADR_0X48:
;/***************************************************************
;函数名：wait_rev_para1
;描  述: 参数1处理
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void wait_rev_para1(u8 ins)
;{
;    u8 buf8, i;
;
;    switch (ins)
:0X48  e783                     CLR             HRAM_0X83
:0X49  ea01                     SECTION         0X1
:0X4a  5005                     MOV             HRAM_0X5,       A
:0X4b  e391                     XORI            0X91
:0X4c  9a84                     JBC             HRAM_0X84,      2
:0X4d  685b                     GOTO            HADR_0X5B
:0X4e  e320                     XORI            0X20
:0X4f  9a84                     JBC             HRAM_0X84,      2
:0X50  685b                     GOTO            HADR_0X5B
:0X51  e375                     XORI            0X75
:0X52  9a84                     JBC             HRAM_0X84,      2
:0X53  687d                     GOTO            HADR_0X7D
:0X54  e315                     XORI            0X15
:0X55  9a84                     JBC             HRAM_0X84,      2
:0X56  68c5                     GOTO            HADR_0XC5
:0X57  e370                     XORI            0X70
:0X58  9a84                     JBC             HRAM_0X84,      2
:0X59  6908                     GOTO            HADR_0X108
:0X5a  6929                     GOTO            HADR_0X129
HADR_0X5B:
;    {
;        case  READ_M:
;        case  WRITE_M:
:0X5b  5049                     MOV             (_g_isp_data+21)&7f,            A    ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X5c  5c48                     XOR             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
;            buf8 = buf8 ^ g_isp_data.rx_buf[2];
:0X5d  e605                     MOVA            HRAM_0X5
:0X5e  5c4a                     XOR             (_g_isp_data+22)&7f,            A    ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;            buf8 = buf8 ^ g_isp_data.rx_buf[3];
:0X5f  e605                     MOVA            HRAM_0X5
:0X60  5c4b                     XOR             (_g_isp_data+23)&7f,            A    ;(_g_isp_data+23)&7f: Bank 0    Addr: 75     
;
;            if (g_isp_data.rx_buf[4] == buf8)
:0X61  e605                     MOVA            HRAM_0X5
:0X62  5c4c                     XOR             (_g_isp_data+24)&7f,            A    ;(_g_isp_data+24)&7f: Bank 0    Addr: 76     
:0X63  ea03                     SECTION         0X3
:0X64  9284                     JBS             HRAM_0X84,      2
:0X65  6878                     GOTO            HADR_0X78
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X66  e579                     MOVI            0X79
:0X67  e64a                     MOVA            (_g_isp_data+22)&7f                  ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[3];
:0X68  78cb                     MOVRA           _g_isp_data+23                       ;_g_isp_data+23: Bank 1    Addr: 203     
:0X69  20c0                     MOVAR           _g_isp_data+12                       ;_g_isp_data+12: Bank 1    Addr: 192     
;                g_isp_data.para1.b08[1] = g_isp_data.rx_buf[2];
:0X6a  78ca                     MOVRA           _g_isp_data+22                       ;_g_isp_data+22: Bank 1    Addr: 202     
:0X6b  20c1                     MOVAR           _g_isp_data+13                       ;_g_isp_data+13: Bank 1    Addr: 193     
;                g_isp_data.para1.b08[2] = g_isp_data.rx_buf[1];
:0X6c  78c9                     MOVRA           _g_isp_data+21                       ;_g_isp_data+21: Bank 1    Addr: 201     
:0X6d  20c2                     MOVAR           _g_isp_data+14                       ;_g_isp_data+14: Bank 1    Addr: 194     
;                g_isp_data.para1.b08[3] = g_isp_data.rx_buf[0];
:0X6e  78c8                     MOVRA           _g_isp_data+20                       ;_g_isp_data+20: Bank 1    Addr: 200     
:0X6f  20c3                     MOVAR           _g_isp_data+15                       ;_g_isp_data+15: Bank 1    Addr: 195     
;                g_isp_data.step = END_REV_PARA1;
:0X70  e504                     MOVI            0X4
:0X71  20b4                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 180     
;                start_tx(0);
:0X72  e500                     MOVI            0X0
:0X73  208d                     MOVAR           _start_txDATA                        ;_start_txDATA: Bank 1    Addr: 141     
:0X74  ec00                     PAGE            (_start_tx)>>11
:0X75  66e8                     CALL            HADR_0X6E8
:0X76  ec00                     PAGE            (_0)>>11
;            }
:0X77  692a                     GOTO            HADR_0X12A
HADR_0X78:
;            else
:0X78  e51f                     MOVI            0X1F
:0X79  e64a                     MOVA            (_g_isp_data+22)&7f                  ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = IN_SEND_OVER;
:0X7a  e507                     MOVI            0X7
:0X7b  20b4                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 180     
;            }
;
;            break;
:0X7c  692a                     GOTO            HADR_0X12A
HADR_0X7D:
;
;        case  EX_ERASE:
:0X7d  5048                     MOV             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X7e  e3ff                     XORI            0XFF
:0X7f  9284                     JBS             HRAM_0X84,      2
:0X80  6887                     GOTO            HADR_0X87
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0X81  e51f                     MOVI            0X1F
:0X82  ea03                     SECTION         0X3
:0X83  e64a                     MOVA            (_g_isp_data+22)&7f                  ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = IN_SEND_OVER;
:0X84  e507                     MOVI            0X7
:0X85  20b4                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 180     
;            }
:0X86  688f                     GOTO            HADR_0X8F
HADR_0X87:
;            else
:0X87  e740                     CLR             (_g_isp_data+12)&7f                  ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0X88  e741                     CLR             (_g_isp_data+13)&7f                  ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
:0X89  e742                     CLR             (_g_isp_data+14)&7f                  ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
:0X8a  e743                     CLR             (_g_isp_data+15)&7f                  ;(_g_isp_data+15)&7f: Bank 0    Addr: 67     
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[2];
:0X8b  504a                     MOV             (_g_isp_data+22)&7f,            A    ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
:0X8c  e640                     MOVA            (_g_isp_data+12)&7f                  ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
;                g_isp_data.para1.b08[1] = g_isp_data.rx_buf[1];
:0X8d  5049                     MOV             (_g_isp_data+21)&7f,            A    ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X8e  e641                     MOVA            (_g_isp_data+13)&7f                  ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
HADR_0X8F:
;            }
:0X8f  ea01                     SECTION         0X1
:0X90  5049                     MOV             (_g_isp_data+21)&7f,            A    ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X91  5c48                     XOR             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X92  e605                     MOVA            HRAM_0X5
;
;            for (i = 2; i < g_isp_data.rx_len; i++)
:0X93  e502                     MOVI            0X2
:0X94  e606                     MOVA            HRAM_0X6
HADR_0X95:
:0X95  e708                     CLR             HRAM_0X8
:0X96  5006                     MOV             HRAM_0X6,       A
:0X97  e607                     MOVA            HRAM_0X7
:0X98  5039                     MOV             (_g_isp_data+5)&7f,             A    ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
:0X99  ee08                     SUB             HRAM_0X8,       A
:0X9a  9284                     JBS             HRAM_0X84,      2
:0X9b  689e                     GOTO            HADR_0X9E
:0X9c  5038                     MOV             (_g_isp_data+4)&7f,             A    ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X9d  ee07                     SUB             HRAM_0X7,       A
HADR_0X9E:
:0X9e  9884                     JBC             HRAM_0X84,      0
:0X9f  68af                     GOTO            HADR_0XAF
;            {
;                buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0Xa0  e708                     CLR             HRAM_0X8
:0Xa1  5006                     MOV             HRAM_0X6,       A
:0Xa2  e0c8                     ADDI            _g_isp_data+20
:0Xa3  e609                     MOVA            HRAM_0X9
:0Xa4  5008                     MOV             HRAM_0X8,       A
:0Xa5  c300                     ADDCI           (_g_isp_data+20)>>8
:0Xa6  e682                     MOVA            HRAM_0X82
:0Xa7  5009                     MOV             HRAM_0X9,       A
:0Xa8  e681                     MOVA            HRAM_0X81
:0Xa9  5080                     MOV             HRAM_0X80,      A
:0Xaa  2000                     MOVAR           ?_TMP                                ;?_TMP: Bank 0    Addr: 0     
:0Xab  5c05                     XOR             HRAM_0X5,       A
:0Xac  e605                     MOVA            HRAM_0X5
:0Xad  5506                     INC             HRAM_0X6,       R
;            }
:0Xae  6895                     GOTO            HADR_0X95
HADR_0XAF:
;
;            if (buf8 == g_isp_data.rx_buf[g_isp_data.rx_len])
:0Xaf  e5c8                     MOVI            _g_isp_data+20
:0Xb0  5e38                     ADD             (_g_isp_data+4)&7f,             A    ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0Xb1  e606                     MOVA            HRAM_0X6
:0Xb2  e500                     MOVI            (_g_isp_data+20)>>8
:0Xb3  1439                     ADDC            (_g_isp_data+5)&7f,             A    ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
:0Xb4  e682                     MOVA            HRAM_0X82
:0Xb5  5006                     MOV             HRAM_0X6,       A
:0Xb6  e681                     MOVA            HRAM_0X81
:0Xb7  5080                     MOV             HRAM_0X80,      A
:0Xb8  2000                     MOVAR           ?_TMP                                ;?_TMP: Bank 0    Addr: 0     
:0Xb9  5c05                     XOR             HRAM_0X5,       A
:0Xba  9284                     JBS             HRAM_0X84,      2
:0Xbb  68bf                     GOTO            HADR_0XBF
;            {
;                g_isp_data.step = IN_EXE_INS;
:0Xbc  e506                     MOVI            0X6
:0Xbd  e634                     MOVA            (_g_isp_data)&7f                     ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            }
:0Xbe  692a                     GOTO            HADR_0X12A
HADR_0XBF:
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0Xbf  e51f                     MOVI            0X1F
:0Xc0  ea03                     SECTION         0X3
:0Xc1  e64a                     MOVA            (_g_isp_data+22)&7f                  ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = IN_SEND_OVER;
:0Xc2  e507                     MOVI            0X7
:0Xc3  20b4                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 180     
;            }
;
;            break;
:0Xc4  692a                     GOTO            HADR_0X12A
HADR_0XC5:
;
;        case  CHECK_EMPTY:
:0Xc5  5049                     MOV             (_g_isp_data+21)&7f,            A    ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0Xc6  5c48                     XOR             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
;            buf8 = buf8 ^ g_isp_data.rx_buf[2];
:0Xc7  e605                     MOVA            HRAM_0X5
:0Xc8  5c4a                     XOR             (_g_isp_data+22)&7f,            A    ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;            buf8 = buf8 ^ g_isp_data.rx_buf[3];
:0Xc9  e605                     MOVA            HRAM_0X5
:0Xca  5c4b                     XOR             (_g_isp_data+23)&7f,            A    ;(_g_isp_data+23)&7f: Bank 0    Addr: 75     
;
;            if (g_isp_data.rx_buf[4] == buf8)
:0Xcb  e605                     MOVA            HRAM_0X5
:0Xcc  5c4c                     XOR             (_g_isp_data+24)&7f,            A    ;(_g_isp_data+24)&7f: Bank 0    Addr: 76     
:0Xcd  9284                     JBS             HRAM_0X84,      2
:0Xce  6902                     GOTO            HADR_0X102
;            {
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[3];
:0Xcf  504b                     MOV             (_g_isp_data+23)&7f,            A    ;(_g_isp_data+23)&7f: Bank 0    Addr: 75     
:0Xd0  e640                     MOVA            (_g_isp_data+12)&7f                  ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
;                g_isp_data.para1.b08[1] = g_isp_data.rx_buf[2];
:0Xd1  504a                     MOV             (_g_isp_data+22)&7f,            A    ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
:0Xd2  e641                     MOVA            (_g_isp_data+13)&7f                  ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
;                g_isp_data.para1.b08[2] = g_isp_data.rx_buf[1];
:0Xd3  5049                     MOV             (_g_isp_data+21)&7f,            A    ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0Xd4  e642                     MOVA            (_g_isp_data+14)&7f                  ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
;                g_isp_data.para1.b08[3] = g_isp_data.rx_buf[0];
:0Xd5  5048                     MOV             (_g_isp_data+20)&7f,            A    ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0Xd6  e643                     MOVA            (_g_isp_data+15)&7f                  ;(_g_isp_data+15)&7f: Bank 0    Addr: 67     
;                g_isp_data.para1.b32 = g_isp_data.para1.b32 >> 1;
:0Xd7  a884                     BCC             HRAM_0X84,      0
:0Xd8  d043                     RRB             (_g_isp_data+15)&7f,            A,              0X1  ;(_g_isp_data+15)&7f: Bank 0    Addr: 67     
:0Xd9  e608                     MOVA            HRAM_0X8
:0Xda  d042                     RRB             (_g_isp_data+14)&7f,            A,              0X1  ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
:0Xdb  e607                     MOVA            HRAM_0X7
:0Xdc  d041                     RRB             (_g_isp_data+13)&7f,            A,              0X1  ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
:0Xdd  e606                     MOVA            HRAM_0X6
:0Xde  d040                     RRB             (_g_isp_data+12)&7f,            A,              0X1  ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0Xdf  e640                     MOVA            (_g_isp_data+12)&7f                  ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0Xe0  5006                     MOV             HRAM_0X6,       A
:0Xe1  e641                     MOVA            (_g_isp_data+13)&7f                  ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
:0Xe2  5007                     MOV             HRAM_0X7,       A
:0Xe3  e642                     MOVA            (_g_isp_data+14)&7f                  ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
:0Xe4  5008                     MOV             HRAM_0X8,       A
:0Xe5  e643                     MOVA            (_g_isp_data+15)&7f                  ;(_g_isp_data+15)&7f: Bank 0    Addr: 67     
;
;                if ((g_isp_data.para1.b32 % 4) == 0)
:0Xe6  5040                     MOV             (_g_isp_data+12)&7f,            A    ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0Xe7  e203                     ANDI            0X3
:0Xe8  e605                     MOVA            HRAM_0X5
:0Xe9  e706                     CLR             HRAM_0X6
:0Xea  e707                     CLR             HRAM_0X7
:0Xeb  e708                     CLR             HRAM_0X8
:0Xec  5005                     MOV             HRAM_0X5,       A
:0Xed  5806                     IOR             HRAM_0X6,       A
:0Xee  5807                     IOR             HRAM_0X7,       A
:0Xef  5808                     IOR             HRAM_0X8,       A
:0Xf0  ea03                     SECTION         0X3
:0Xf1  9284                     JBS             HRAM_0X84,      2
:0Xf2  68fd                     GOTO            HADR_0XFD
;                {
;                    g_isp_data.tx_buf[0] = ACK;
:0Xf3  e579                     MOVI            0X79
:0Xf4  e64a                     MOVA            (_g_isp_data+22)&7f                  ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                    g_isp_data.step = END_REV_PARA1;
:0Xf5  e504                     MOVI            0X4
:0Xf6  20b4                     MOVAR           _g_isp_data                          ;_g_isp_data: Bank 1    Addr: 180     
;                    start_tx(0);
:0Xf7  e500                     MOVI            0X0
:0Xf8  208d                     MOVAR           _start_txDATA                        ;_start_txDATA: Bank 1    Addr: 141     
:0Xf9  ec00                     PAGE            (_start_tx)>>11
:0Xfa  66e8                     CALL            HADR_0X6E8
:0Xfb  ec00                     PAGE            (_1)>>11
;                }
:0Xfc  692a                     GOTO            HADR_0X12A
HADR_0XFD:
;                else
:0Xfd  e51f                     MOVI            0X1F
:0Xfe  e64a                     MOVA            (_g_isp_data+22)&7f                  ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                    g_isp_data.step = IN_SEND_OVER;
:0Xff  e507                     MOVI            0X7
:0X100  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;                }
;            }
:0X101  692a                    GOTO            HADR_0X12A
HADR_0X102:
;            else
:0X102  e51f                    MOVI            0X1F
:0X103  ea03                    SECTION         0X3
:0X104  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = IN_SEND_OVER;
:0X105  e507                    MOVI            0X7
:0X106  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;            }
;
;            break;
:0X107  692a                    GOTO            HADR_0X12A
HADR_0X108:
;
;        case  GO:
:0X108  5049                    MOV             (_g_isp_data+21)&7f,            A   ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X109  5c48                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
;            buf8 = buf8 ^ g_isp_data.rx_buf[2];
:0X10a  e605                    MOVA            HRAM_0X5
:0X10b  5c4a                    XOR             (_g_isp_data+22)&7f,            A   ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;            buf8 = buf8 ^ g_isp_data.rx_buf[3];
:0X10c  e605                    MOVA            HRAM_0X5
:0X10d  5c4b                    XOR             (_g_isp_data+23)&7f,            A   ;(_g_isp_data+23)&7f: Bank 0    Addr: 75     
;
;            if (g_isp_data.rx_buf[4] == buf8)
:0X10e  e605                    MOVA            HRAM_0X5
:0X10f  5c4c                    XOR             (_g_isp_data+24)&7f,            A   ;(_g_isp_data+24)&7f: Bank 0    Addr: 76     
:0X110  9284                    JBS             HRAM_0X84,      2
:0X111  6923                    GOTO            HADR_0X123
;            {
;                g_isp_data.para1.b08[0] = g_isp_data.rx_buf[3];
:0X112  504b                    MOV             (_g_isp_data+23)&7f,            A   ;(_g_isp_data+23)&7f: Bank 0    Addr: 75     
:0X113  e640                    MOVA            (_g_isp_data+12)&7f                 ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
;                g_isp_data.para1.b08[1] = g_isp_data.rx_buf[2];
:0X114  504a                    MOV             (_g_isp_data+22)&7f,            A   ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
:0X115  e641                    MOVA            (_g_isp_data+13)&7f                 ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
;                g_isp_data.para1.b08[2] = g_isp_data.rx_buf[1];
:0X116  5049                    MOV             (_g_isp_data+21)&7f,            A   ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X117  e642                    MOVA            (_g_isp_data+14)&7f                 ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
;                g_isp_data.para1.b08[3] = g_isp_data.rx_buf[0];
:0X118  5048                    MOV             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X119  e643                    MOVA            (_g_isp_data+15)&7f                 ;(_g_isp_data+15)&7f: Bank 0    Addr: 67     
;                g_isp_data.step = WAIT_REV_PARA2;
:0X11a  e505                    MOVI            0X5
:0X11b  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;                g_isp_data.tx_buf[0] = ACK;
:0X11c  e579                    MOVI            0X79
:0X11d  21ca                    MOVAR           _g_isp_data+278                     ;_g_isp_data+278: Bank 3    Addr: 458     
;                start_tx(0);
:0X11e  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X11f  ec00                    PAGE            (_start_tx)>>11
:0X120  66e8                    CALL            HADR_0X6E8
:0X121  ec00                    PAGE            (_2)>>11
;            }
:0X122  692a                    GOTO            HADR_0X12A
HADR_0X123:
;            else
:0X123  e51f                    MOVI            0X1F
:0X124  ea03                    SECTION         0X3
:0X125  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = IN_SEND_OVER;
:0X126  e507                    MOVI            0X7
:0X127  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;            }
;
;            break;
:0X128  692a                    GOTO            HADR_0X12A
HADR_0X129:
;
;        default:
:0X129  e734                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
HADR_0X12A:
;            break;
;    }
;
;}
:0X12a  ea00                    SECTION         0X0
:0X12b  c183                    RET
HADR_0X12C:
;/***************************************************************
;函数名：next_rev_para1
;描  述: 参数1处理后的下一步确定
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void next_rev_para1(u8 ins)
;{
;    switch (ins)
:0X12c  e783                    CLR             HRAM_0X83
:0X12d  ea01                    SECTION         0X1
:0X12e  5005                    MOV             HRAM_0X5,       A
:0X12f  e391                    XORI            0X91
:0X130  9a84                    JBC             HRAM_0X84,      2
:0X131  6939                    GOTO            HADR_0X139
:0X132  e320                    XORI            0X20
:0X133  9a84                    JBC             HRAM_0X84,      2
:0X134  6939                    GOTO            HADR_0X139
:0X135  e360                    XORI            0X60
:0X136  9a84                    JBC             HRAM_0X84,      2
:0X137  693f                    GOTO            HADR_0X13F
:0X138  6945                    GOTO            HADR_0X145
HADR_0X139:
;    {
;        case  READ_M:
;        case  WRITE_M:
:0X139  e501                    MOVI            0X1
:0X13a  e638                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X13b  e739                    CLR             (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
;            g_isp_data.step = WAIT_REV_PARA2;
:0X13c  e505                    MOVI            0X5
:0X13d  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            break;
:0X13e  6946                    GOTO            HADR_0X146
HADR_0X13F:
;
;        case  CHECK_EMPTY:
:0X13f  e504                    MOVI            0X4
:0X140  e638                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X141  e739                    CLR             (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
;            g_isp_data.step = WAIT_REV_PARA2;
:0X142  e505                    MOVI            0X5
:0X143  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            break;
:0X144  6946                    GOTO            HADR_0X146
HADR_0X145:
;
;        default:
:0X145  e734                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
HADR_0X146:
;            break;
;    }
;}
:0X146  ea00                    SECTION         0X0
:0X147  c183                    RET
HADR_0X148:
;/***************************************************************
;函数名：wait_rev_para2
;描  述: 参数2处理
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;void wait_rev_para2(u8 ins)
;{
;    u8 i, buf8;
;
;    switch (ins)
:0X148  e783                    CLR             HRAM_0X83
:0X149  ea01                    SECTION         0X1
:0X14a  5005                    MOV             HRAM_0X5,       A
:0X14b  e391                    XORI            0X91
:0X14c  9a84                    JBC             HRAM_0X84,      2
:0X14d  6958                    GOTO            HADR_0X158
:0X14e  e320                    XORI            0X20
:0X14f  9a84                    JBC             HRAM_0X84,      2
:0X150  6970                    GOTO            HADR_0X170
:0X151  e360                    XORI            0X60
:0X152  9a84                    JBC             HRAM_0X84,      2
:0X153  6978                    GOTO            HADR_0X178
:0X154  e370                    XORI            0X70
:0X155  9a84                    JBC             HRAM_0X84,      2
:0X156  69b5                    GOTO            HADR_0X1B5
:0X157  69be                    GOTO            HADR_0X1BE
HADR_0X158:
;    {
;        case  READ_M:
:0X158  e706                    CLR             HRAM_0X6
:0X159  5049                    MOV             (_g_isp_data+21)&7f,            A   ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X15a  e605                    MOVA            HRAM_0X5
:0X15b  5205                    COM             HRAM_0X5,       A
:0X15c  5c48                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X15d  9284                    JBS             HRAM_0X84,      2
:0X15e  696a                    GOTO            HADR_0X16A
;            {
;                g_isp_data.para2.b08[0] = g_isp_data.rx_buf[0];
:0X15f  5048                    MOV             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X160  e644                    MOVA            (_g_isp_data+16)&7f                 ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
;                g_isp_data.step = IN_EXE_INS;
:0X161  e506                    MOVI            0X6
:0X162  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;                g_isp_data.tx_buf[0] = ACK;
:0X163  e579                    MOVI            0X79
:0X164  21ca                    MOVAR           _g_isp_data+278                     ;_g_isp_data+278: Bank 3    Addr: 458     
;                start_tx(0);
:0X165  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X166  ec00                    PAGE            (_start_tx)>>11
:0X167  66e8                    CALL            HADR_0X6E8
:0X168  ec00                    PAGE            (_3)>>11
;            }
:0X169  69bf                    GOTO            HADR_0X1BF
HADR_0X16A:
;            else
:0X16a  e51f                    MOVI            0X1F
:0X16b  ea03                    SECTION         0X3
:0X16c  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = IN_SEND_OVER;
:0X16d  e507                    MOVI            0X7
:0X16e  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;            }
;
;            break;
:0X16f  69bf                    GOTO            HADR_0X1BF
HADR_0X170:
;
;        case  WRITE_M:
:0X170  e745                    CLR             (_g_isp_data+17)&7f                 ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
:0X171  e746                    CLR             (_g_isp_data+18)&7f                 ;(_g_isp_data+18)&7f: Bank 0    Addr: 70     
:0X172  e747                    CLR             (_g_isp_data+19)&7f                 ;(_g_isp_data+19)&7f: Bank 0    Addr: 71     
:0X173  5048                    MOV             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X174  e644                    MOVA            (_g_isp_data+16)&7f                 ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
;            g_isp_data.step = IN_EXE_INS;
:0X175  e506                    MOVI            0X6
:0X176  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            break;
:0X177  69bf                    GOTO            HADR_0X1BF
HADR_0X178:
;
;        case  CHECK_EMPTY:
:0X178  5049                    MOV             (_g_isp_data+21)&7f,            A   ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X179  5c48                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
;            buf8 = buf8 ^ g_isp_data.rx_buf[2];
:0X17a  e605                    MOVA            HRAM_0X5
:0X17b  5c4a                    XOR             (_g_isp_data+22)&7f,            A   ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;            buf8 = buf8 ^ g_isp_data.rx_buf[3];
:0X17c  e605                    MOVA            HRAM_0X5
:0X17d  5c4b                    XOR             (_g_isp_data+23)&7f,            A   ;(_g_isp_data+23)&7f: Bank 0    Addr: 75     
;
;            if (buf8 == g_isp_data.rx_buf[4])
:0X17e  e605                    MOVA            HRAM_0X5
:0X17f  5c4c                    XOR             (_g_isp_data+24)&7f,            A   ;(_g_isp_data+24)&7f: Bank 0    Addr: 76     
:0X180  9284                    JBS             HRAM_0X84,      2
:0X181  69af                    GOTO            HADR_0X1AF
;            {
;                g_isp_data.para2.b08[0] = g_isp_data.rx_buf[3];
:0X182  504b                    MOV             (_g_isp_data+23)&7f,            A   ;(_g_isp_data+23)&7f: Bank 0    Addr: 75     
:0X183  e644                    MOVA            (_g_isp_data+16)&7f                 ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
;                g_isp_data.para2.b08[1] = g_isp_data.rx_buf[2];
:0X184  504a                    MOV             (_g_isp_data+22)&7f,            A   ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
:0X185  e645                    MOVA            (_g_isp_data+17)&7f                 ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
;                g_isp_data.para2.b08[2] = g_isp_data.rx_buf[1];
:0X186  5049                    MOV             (_g_isp_data+21)&7f,            A   ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X187  e646                    MOVA            (_g_isp_data+18)&7f                 ;(_g_isp_data+18)&7f: Bank 0    Addr: 70     
;                g_isp_data.para2.b08[3] = g_isp_data.rx_buf[0];
:0X188  5048                    MOV             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X189  e647                    MOVA            (_g_isp_data+19)&7f                 ;(_g_isp_data+19)&7f: Bank 0    Addr: 71     
;
;                if ((g_isp_data.para2.b32 + 1) % 4 == 0)
:0X18a  5044                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
:0X18b  e001                    ADDI            0X1
:0X18c  e605                    MOVA            HRAM_0X5
:0X18d  5045                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
:0X18e  c300                    ADDCI           0X0
:0X18f  5046                    MOV             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 70     
:0X190  c300                    ADDCI           0X0
:0X191  5047                    MOV             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 71     
:0X192  c300                    ADDCI           0X0
:0X193  5005                    MOV             HRAM_0X5,       A
:0X194  e203                    ANDI            0X3
:0X195  e609                    MOVA            HRAM_0X9
:0X196  e70a                    CLR             HRAM_0XA
:0X197  e70b                    CLR             HRAM_0XB
:0X198  e70c                    CLR             HRAM_0XC
:0X199  5009                    MOV             HRAM_0X9,       A
:0X19a  580a                    IOR             HRAM_0XA,       A
:0X19b  580b                    IOR             HRAM_0XB,       A
:0X19c  580c                    IOR             HRAM_0XC,       A
:0X19d  ea03                    SECTION         0X3
:0X19e  9284                    JBS             HRAM_0X84,      2
:0X19f  69aa                    GOTO            HADR_0X1AA
;                {
;                    g_isp_data.tx_buf[0] = ACK;
:0X1a0  e579                    MOVI            0X79
:0X1a1  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                    g_isp_data.step = IN_EXE_INS;
:0X1a2  e506                    MOVI            0X6
:0X1a3  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;                    start_tx(0);
:0X1a4  e500                    MOVI            0X0
:0X1a5  208d                    MOVAR           _start_txDATA                       ;_start_txDATA: Bank 1    Addr: 141     
:0X1a6  ec00                    PAGE            (_start_tx)>>11
:0X1a7  66e8                    CALL            HADR_0X6E8
:0X1a8  ec00                    PAGE            (_4)>>11
;                }
:0X1a9  69bf                    GOTO            HADR_0X1BF
HADR_0X1AA:
;                else
:0X1aa  e51f                    MOVI            0X1F
:0X1ab  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                    g_isp_data.step = IN_SEND_OVER;
:0X1ac  e507                    MOVI            0X7
:0X1ad  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;                }
;            }
:0X1ae  69bf                    GOTO            HADR_0X1BF
HADR_0X1AF:
;            else
:0X1af  e51f                    MOVI            0X1F
:0X1b0  ea03                    SECTION         0X3
:0X1b1  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = IN_SEND_OVER;
:0X1b2  e507                    MOVI            0X7
:0X1b3  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;            }
;
;            break;
:0X1b4  69bf                    GOTO            HADR_0X1BF
HADR_0X1B5:
;
;        case  GO:
:0X1b5  e506                    MOVI            0X6
:0X1b6  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            g_isp_data.tx_buf[0] = ACK;
:0X1b7  e579                    MOVI            0X79
:0X1b8  21ca                    MOVAR           _g_isp_data+278                     ;_g_isp_data+278: Bank 3    Addr: 458     
;            start_tx(0);
:0X1b9  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X1ba  ec00                    PAGE            (_start_tx)>>11
:0X1bb  66e8                    CALL            HADR_0X6E8
:0X1bc  ec00                    PAGE            (_5)>>11
;            break;
:0X1bd  69bf                    GOTO            HADR_0X1BF
HADR_0X1BE:
;
;        default:
:0X1be  e734                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
HADR_0X1BF:
;            break;
;    }
;}
:0X1bf  ea00                    SECTION         0X0
:0X1c0  c183                    RET
HADR_0X1C1:
;
;/***************************************************************
;函数名：in_exe_ins
;描  述: 执行各指令码
;输入值：指令码
;输出值：无
;返回值：无
;***************************************************************/
;u16 test;
;void in_exe_ins(u8 ins)
;{
;    g_boot_timer = Boot_OVERTIME_2;
:0X1c1  e783                    CLR             HRAM_0X83
:0X1c2  e500                    MOVI            0X0
:0X1c3  ea01                    SECTION         0X1
:0X1c4  e62b                    MOVA            (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 43     
:0X1c5  e72a                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 42     
:0X1c6  e501                    MOVI            0X1
:0X1c7  e629                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 41     
:0X1c8  e52c                    MOVI            0X2C
:0X1c9  e628                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 40     
;    volatile u8  buf8, wr_buf8[130], result;
;    volatile u16 page, i;
;    u32 buf32, iap_addr;
;
;    switch (ins)
:0X1ca  5005                    MOV             HRAM_0X5,       A
:0X1cb  e391                    XORI            0X91
:0X1cc  9a84                    JBC             HRAM_0X84,      2
:0X1cd  69db                    GOTO            HADR_0X1DB
:0X1ce  e320                    XORI            0X20
:0X1cf  9a84                    JBC             HRAM_0X84,      2
:0X1d0  69f7                    GOTO            HADR_0X1F7
:0X1d1  e375                    XORI            0X75
:0X1d2  9a84                    JBC             HRAM_0X84,      2
:0X1d3  6af0                    GOTO            HADR_0X2F0
:0X1d4  e315                    XORI            0X15
:0X1d5  9a84                    JBC             HRAM_0X84,      2
:0X1d6  6b61                    GOTO            HADR_0X361
:0X1d7  e370                    XORI            0X70
:0X1d8  9a84                    JBC             HRAM_0X84,      2
:0X1d9  6b89                    GOTO            HADR_0X389
:0X1da  6ba4                    GOTO            HADR_0X3A4
HADR_0X1DB:
;    {
;        case  READ_M:
:0X1db  a884                    BCC             HRAM_0X84,      0
:0X1dc  d042                    RRB             (_g_isp_data+14)&7f,            A,              0X1 ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
:0X1dd  d041                    RRB             (_g_isp_data+13)&7f,            A,              0X1 ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
:0X1de  e606                    MOVA            HRAM_0X6
:0X1df  d040                    RRB             (_g_isp_data+12)&7f,            A,              0X1 ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0X1e0  e60d                    MOVA            (_Read_ContDATA)&7f                 ;(_Read_ContDATA)&7f: Bank 0    Addr: 13     
:0X1e1  5006                    MOV             HRAM_0X6,       A
:0X1e2  e60e                    MOVA            (_Read_ContDATA+1)&7f               ;(_Read_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X1e3  e5ca                    MOVI            _g_isp_data+278
:0X1e4  e60f                    MOVA            (_Read_ContDATA+2)&7f               ;(_Read_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X1e5  e501                    MOVI            (_g_isp_data+278)>>8
:0X1e6  e610                    MOVA            (_Read_ContDATA+3)&7f               ;(_Read_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X1e7  5044                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
:0X1e8  e001                    ADDI            0X1
:0X1e9  e611                    MOVA            (_Read_ContDATA+4)&7f               ;(_Read_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X1ea  e712                    CLR             (_Read_ContDATA+5)&7f               ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X1eb  b112                    RLB             (_Read_ContDATA+5)&7f,          R,              0X1 ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X1ec  ec00                    PAGE            (_Read_Cont)>>11
:0X1ed  64b4                    CALL            HADR_0X4B4
:0X1ee  ec00                    PAGE            (_6)>>11
;            g_isp_data.step = WAIT_REV_INS;
:0X1ef  e500                    MOVI            0X0
:0X1f0  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;            start_tx(g_isp_data.para2.b08[0]);
:0X1f1  78c4                    MOVRA           _g_isp_data+16                      ;_g_isp_data+16: Bank 1    Addr: 196     
:0X1f2  208d                    MOVAR           _start_txDATA                       ;_start_txDATA: Bank 1    Addr: 141     
:0X1f3  ec00                    PAGE            (_start_tx)>>11
:0X1f4  66e8                    CALL            HADR_0X6E8
:0X1f5  ec00                    PAGE            (_7)>>11
;            break;
:0X1f6  6ba5                    GOTO            HADR_0X3A5
HADR_0X1F7:
;
;        case  WRITE_M:
:0X1f7  e507                    MOVI            0X7
:0X1f8  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            buf8 = g_isp_data.rx_buf[0] ^ g_isp_data.rx_buf[1];
:0X1f9  5049                    MOV             (_g_isp_data+21)&7f,            A   ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X1fa  5c48                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X1fb  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\I2C_Boot\Boot\debug\isp_proc.obj 
;
;            for (i = 2; i < (g_isp_data.para2.b32 + 2); i++)
:0X1fc  e723                    CLR             (_in_exe_ins_i_69+1)&7f             ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X1fd  e502                    MOVI            0X2
:0X1fe  e622                    MOVA            (_in_exe_ins_i_69)&7f               ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
HADR_0X1FF:
:0X1ff  e707                    CLR             HRAM_0X7
:0X200  e708                    CLR             HRAM_0X8
:0X201  5023                    MOV             (_in_exe_ins_i_69+1)&7f,        A   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X202  e606                    MOVA            HRAM_0X6
:0X203  5022                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X204  e605                    MOVA            HRAM_0X5
:0X205  5044                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
:0X206  e002                    ADDI            0X2
:0X207  e609                    MOVA            HRAM_0X9
:0X208  5045                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
:0X209  c300                    ADDCI           0X0
:0X20a  e60a                    MOVA            HRAM_0XA
:0X20b  5046                    MOV             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 70     
:0X20c  c300                    ADDCI           0X0
:0X20d  e60b                    MOVA            HRAM_0XB
:0X20e  5047                    MOV             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 71     
:0X20f  c300                    ADDCI           0X0
:0X210  ee08                    SUB             HRAM_0X8,       A
:0X211  9284                    JBS             HRAM_0X84,      2
:0X212  6a1d                    GOTO            HADR_0X21D
:0X213  500b                    MOV             HRAM_0XB,       A
:0X214  ee07                    SUB             HRAM_0X7,       A
:0X215  9284                    JBS             HRAM_0X84,      2
:0X216  6a1d                    GOTO            HADR_0X21D
:0X217  500a                    MOV             HRAM_0XA,       A
:0X218  ee06                    SUB             HRAM_0X6,       A
:0X219  9284                    JBS             HRAM_0X84,      2
:0X21a  6a1d                    GOTO            HADR_0X21D
:0X21b  5009                    MOV             HRAM_0X9,       A
:0X21c  ee05                    SUB             HRAM_0X5,       A
HADR_0X21D:
:0X21d  9884                    JBC             HRAM_0X84,      0
:0X21e  6a30                    GOTO            HADR_0X230
;            {
;                buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0X21f  e5c8                    MOVI            _g_isp_data+20
:0X220  5e22                    ADD             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X221  e605                    MOVA            HRAM_0X5
:0X222  e500                    MOVI            (_g_isp_data+20)>>8
:0X223  1423                    ADDC            (_in_exe_ins_i_69+1)&7f,        A   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X224  e682                    MOVA            HRAM_0X82
:0X225  5005                    MOV             HRAM_0X5,       A
:0X226  e681                    MOVA            HRAM_0X81
:0X227  5080                    MOV             HRAM_0X80,      A
:0X228  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X229  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\I2C_Boot\Boot\debug\isp_proc.obj 
:0X22a  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\I2C_Boot\Boot\debug\isp_proc.obj 
:0X22b  5522                    INC             (_in_exe_ins_i_69)&7f,          R   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X22c  9284                    JBS             HRAM_0X84,      2
:0X22d  6a2f                    GOTO            HADR_0X22F
:0X22e  5523                    INC             (_in_exe_ins_i_69+1)&7f,        R   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
HADR_0X22F:
;            }
:0X22f  69ff                    GOTO            HADR_0X1FF
HADR_0X230:
;
;            if (buf8 ==  g_isp_data.rx_buf[i]) //下发的数据校验正确
:0X230  e5c8                    MOVI            _g_isp_data+20
:0X231  5e22                    ADD             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X232  e605                    MOVA            HRAM_0X5
:0X233  e500                    MOVI            (_g_isp_data+20)>>8
:0X234  1423                    ADDC            (_in_exe_ins_i_69+1)&7f,        A   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X235  e682                    MOVA            HRAM_0X82
:0X236  5005                    MOV             HRAM_0X5,       A
:0X237  e681                    MOVA            HRAM_0X81
:0X238  5080                    MOV             HRAM_0X80,      A
:0X239  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X23a  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\I2C_Boot\Boot\debug\isp_proc.obj 
:0X23b  9284                    JBS             HRAM_0X84,      2
:0X23c  6aec                    GOTO            HADR_0X2EC
;            {
;                memcpy(wr_buf8, g_isp_data.rx_buf + 1, g_isp_data.para2.b32 + 1);
:0X23d  e5cc                    MOVI            _in_exe_ins_wr_buf8_69
:0X23e  e60d                    MOVA            (_memcpyDATA)&7f                    ;(_memcpyDATA)&7f: Bank 0    Addr: 13     
:0X23f  e502                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X240  e60e                    MOVA            (_memcpyDATA+1)&7f                  ;(_memcpyDATA+1)&7f: Bank 0    Addr: 14     
:0X241  e5c9                    MOVI            _g_isp_data+21
:0X242  e60f                    MOVA            (_memcpyDATA+2)&7f                  ;(_memcpyDATA+2)&7f: Bank 0    Addr: 15     
:0X243  e500                    MOVI            (_g_isp_data+21)>>8
:0X244  e610                    MOVA            (_memcpyDATA+3)&7f                  ;(_memcpyDATA+3)&7f: Bank 0    Addr: 16     
:0X245  5044                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
:0X246  e001                    ADDI            0X1
:0X247  e605                    MOVA            HRAM_0X5
:0X248  5045                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
:0X249  c300                    ADDCI           0X0
:0X24a  e606                    MOVA            HRAM_0X6
:0X24b  5005                    MOV             HRAM_0X5,       A
:0X24c  e611                    MOVA            (_memcpyDATA+4)&7f                  ;(_memcpyDATA+4)&7f: Bank 0    Addr: 17     
:0X24d  5006                    MOV             HRAM_0X6,       A
:0X24e  e612                    MOVA            (_memcpyDATA+5)&7f                  ;(_memcpyDATA+5)&7f: Bank 0    Addr: 18     
:0X24f  ec00                    PAGE            (_memcpy)>>11
:0X250  67b4                    CALL            HADR_0X7B4
:0X251  ec00                    PAGE            (_8)>>11
;                result = Write_Cont(g_isp_data.para1.b32 >> 1, wr_buf8, g_isp_data.para2.b32 + 1);
:0X252  a884                    BCC             HRAM_0X84,      0
:0X253  ea01                    SECTION         0X1
:0X254  d042                    RRB             (_g_isp_data+14)&7f,            A,              0X1 ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
:0X255  d041                    RRB             (_g_isp_data+13)&7f,            A,              0X1 ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
:0X256  e606                    MOVA            HRAM_0X6
:0X257  d040                    RRB             (_g_isp_data+12)&7f,            A,              0X1 ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0X258  e60d                    MOVA            (_Write_ContDATA)&7f                ;(_Write_ContDATA)&7f: Bank 0    Addr: 13     
:0X259  5006                    MOV             HRAM_0X6,       A
:0X25a  e60e                    MOVA            (_Write_ContDATA+1)&7f              ;(_Write_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X25b  e5cc                    MOVI            _in_exe_ins_wr_buf8_69
:0X25c  e60f                    MOVA            (_Write_ContDATA+2)&7f              ;(_Write_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X25d  e502                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X25e  e610                    MOVA            (_Write_ContDATA+3)&7f              ;(_Write_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X25f  5044                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
:0X260  e001                    ADDI            0X1
:0X261  e605                    MOVA            HRAM_0X5
:0X262  5045                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
:0X263  c300                    ADDCI           0X0
:0X264  e606                    MOVA            HRAM_0X6
:0X265  5005                    MOV             HRAM_0X5,       A
:0X266  e611                    MOVA            (_Write_ContDATA+4)&7f              ;(_Write_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X267  5006                    MOV             HRAM_0X6,       A
:0X268  e612                    MOVA            (_Write_ContDATA+5)&7f              ;(_Write_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X269  ec00                    PAGE            (_Write_Cont)>>11
:0X26a  656b                    CALL            HADR_0X56B
:0X26b  ec00                    PAGE            (_9)>>11
:0X26c  209e                    MOVAR           _in_exe_ins_result_69               ;_in_exe_ins_result_69: Bank 1    Addr: 158    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
;
;                if (g_isp_data.para1.b32 >= 0x3300)
:0X26d  e500                    MOVI            0X0
:0X26e  ea01                    SECTION         0X1
:0X26f  ee43                    SUB             (_g_isp_data+15)&7f,            A   ;(_g_isp_data+15)&7f: Bank 0    Addr: 67     
:0X270  9284                    JBS             HRAM_0X84,      2
:0X271  6a7c                    GOTO            HADR_0X27C
:0X272  e500                    MOVI            0X0
:0X273  ee42                    SUB             (_g_isp_data+14)&7f,            A   ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
:0X274  9284                    JBS             HRAM_0X84,      2
:0X275  6a7c                    GOTO            HADR_0X27C
:0X276  e533                    MOVI            0X33
:0X277  ee41                    SUB             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
:0X278  9284                    JBS             HRAM_0X84,      2
:0X279  6a7c                    GOTO            HADR_0X27C
:0X27a  e500                    MOVI            0X0
:0X27b  ee40                    SUB             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
HADR_0X27C:
:0X27c  9084                    JBS             HRAM_0X84,      0
:0X27d  6a80                    GOTO            HADR_0X280
;                {
;                    test = 0;
:0X27e  e726                    CLR             (_test)&7f                          ;(_test)&7f: Bank 0    Addr: 38     
:0X27f  e727                    CLR             (_test+1)&7f                        ;(_test+1)&7f: Bank 0    Addr: 39     
HADR_0X280:
;                }
:0X280  501e                    MOV             (_in_exe_ins_result_69)&7f,     A   ;(_in_exe_ins_result_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X281  9284                    JBS             HRAM_0X84,      2
:0X282  6a87                    GOTO            HADR_0X287
;                {
;                    g_isp_data.tx_buf[0] = NACK;
:0X283  e51f                    MOVI            0X1F
:0X284  ea03                    SECTION         0X3
:0X285  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                }
:0X286  6ba5                    GOTO            HADR_0X3A5
HADR_0X287:
;                else
:0X287  a884                    BCC             HRAM_0X84,      0
:0X288  d042                    RRB             (_g_isp_data+14)&7f,            A,              0X1 ;(_g_isp_data+14)&7f: Bank 0    Addr: 66     
:0X289  d041                    RRB             (_g_isp_data+13)&7f,            A,              0X1 ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
:0X28a  e606                    MOVA            HRAM_0X6
:0X28b  d040                    RRB             (_g_isp_data+12)&7f,            A,              0X1 ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0X28c  e60d                    MOVA            (_Read_ContDATA)&7f                 ;(_Read_ContDATA)&7f: Bank 0    Addr: 13     
:0X28d  5006                    MOV             HRAM_0X6,       A
:0X28e  e60e                    MOVA            (_Read_ContDATA+1)&7f               ;(_Read_ContDATA+1)&7f: Bank 0    Addr: 14     
:0X28f  e5c9                    MOVI            _g_isp_data+21
:0X290  e60f                    MOVA            (_Read_ContDATA+2)&7f               ;(_Read_ContDATA+2)&7f: Bank 0    Addr: 15     
:0X291  e500                    MOVI            (_g_isp_data+21)>>8
:0X292  e610                    MOVA            (_Read_ContDATA+3)&7f               ;(_Read_ContDATA+3)&7f: Bank 0    Addr: 16     
:0X293  5044                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
:0X294  e001                    ADDI            0X1
:0X295  e605                    MOVA            HRAM_0X5
:0X296  5045                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
:0X297  c300                    ADDCI           0X0
:0X298  e606                    MOVA            HRAM_0X6
:0X299  5005                    MOV             HRAM_0X5,       A
:0X29a  e611                    MOVA            (_Read_ContDATA+4)&7f               ;(_Read_ContDATA+4)&7f: Bank 0    Addr: 17     
:0X29b  5006                    MOV             HRAM_0X6,       A
:0X29c  e612                    MOVA            (_Read_ContDATA+5)&7f               ;(_Read_ContDATA+5)&7f: Bank 0    Addr: 18     
:0X29d  ec00                    PAGE            (_Read_Cont)>>11
:0X29e  64b4                    CALL            HADR_0X4B4
:0X29f  ec00                    PAGE            (_a)>>11
;                    buf8 = g_isp_data.rx_buf[0] ^ g_isp_data.rx_buf[1];
:0X2a0  78c9                    MOVRA           _g_isp_data+21                      ;_g_isp_data+21: Bank 1    Addr: 201     
:0X2a1  ea01                    SECTION         0X1
:0X2a2  5c48                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X2a3  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\I2C_Boot\Boot\debug\isp_proc.obj 
;
;                    for (i = 2; i < (g_isp_data.para2.b32 + 2); i++)
:0X2a4  e723                    CLR             (_in_exe_ins_i_69+1)&7f             ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2a5  e502                    MOVI            0X2
:0X2a6  e622                    MOVA            (_in_exe_ins_i_69)&7f               ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
HADR_0X2A7:
:0X2a7  e707                    CLR             HRAM_0X7
:0X2a8  e708                    CLR             HRAM_0X8
:0X2a9  5023                    MOV             (_in_exe_ins_i_69+1)&7f,        A   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2aa  e606                    MOVA            HRAM_0X6
:0X2ab  5022                    MOV             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2ac  e605                    MOVA            HRAM_0X5
:0X2ad  5044                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
:0X2ae  e002                    ADDI            0X2
:0X2af  e609                    MOVA            HRAM_0X9
:0X2b0  5045                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
:0X2b1  c300                    ADDCI           0X0
:0X2b2  e60a                    MOVA            HRAM_0XA
:0X2b3  5046                    MOV             (_g_isp_data+18)&7f,            A   ;(_g_isp_data+18)&7f: Bank 0    Addr: 70     
:0X2b4  c300                    ADDCI           0X0
:0X2b5  e60b                    MOVA            HRAM_0XB
:0X2b6  5047                    MOV             (_g_isp_data+19)&7f,            A   ;(_g_isp_data+19)&7f: Bank 0    Addr: 71     
:0X2b7  c300                    ADDCI           0X0
:0X2b8  ee08                    SUB             HRAM_0X8,       A
:0X2b9  9284                    JBS             HRAM_0X84,      2
:0X2ba  6ac5                    GOTO            HADR_0X2C5
:0X2bb  500b                    MOV             HRAM_0XB,       A
:0X2bc  ee07                    SUB             HRAM_0X7,       A
:0X2bd  9284                    JBS             HRAM_0X84,      2
:0X2be  6ac5                    GOTO            HADR_0X2C5
:0X2bf  500a                    MOV             HRAM_0XA,       A
:0X2c0  ee06                    SUB             HRAM_0X6,       A
:0X2c1  9284                    JBS             HRAM_0X84,      2
:0X2c2  6ac5                    GOTO            HADR_0X2C5
:0X2c3  5009                    MOV             HRAM_0X9,       A
:0X2c4  ee05                    SUB             HRAM_0X5,       A
HADR_0X2C5:
:0X2c5  9884                    JBC             HRAM_0X84,      0
:0X2c6  6ad8                    GOTO            HADR_0X2D8
;                    {
;                        buf8 = buf8 ^ g_isp_data.rx_buf[i];
:0X2c7  e5c8                    MOVI            _g_isp_data+20
:0X2c8  5e22                    ADD             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2c9  e605                    MOVA            HRAM_0X5
:0X2ca  e500                    MOVI            (_g_isp_data+20)>>8
:0X2cb  1423                    ADDC            (_in_exe_ins_i_69+1)&7f,        A   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2cc  e682                    MOVA            HRAM_0X82
:0X2cd  5005                    MOV             HRAM_0X5,       A
:0X2ce  e681                    MOVA            HRAM_0X81
:0X2cf  5080                    MOV             HRAM_0X80,      A
:0X2d0  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2d1  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\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2d2  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\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2d3  5522                    INC             (_in_exe_ins_i_69)&7f,          R   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2d4  9284                    JBS             HRAM_0X84,      2
:0X2d5  6ad7                    GOTO            HADR_0X2D7
:0X2d6  5523                    INC             (_in_exe_ins_i_69+1)&7f,        R   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
HADR_0X2D7:
;                    }
:0X2d7  6aa7                    GOTO            HADR_0X2A7
HADR_0X2D8:
;
;                    if (buf8 ==  g_isp_data.rx_buf[i]) //写入的数据校验是否正确
:0X2d8  e5c8                    MOVI            _g_isp_data+20
:0X2d9  5e22                    ADD             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2da  e605                    MOVA            HRAM_0X5
:0X2db  e500                    MOVI            (_g_isp_data+20)>>8
:0X2dc  1423                    ADDC            (_in_exe_ins_i_69+1)&7f,        A   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2dd  e682                    MOVA            HRAM_0X82
:0X2de  5005                    MOV             HRAM_0X5,       A
:0X2df  e681                    MOVA            HRAM_0X81
:0X2e0  5080                    MOV             HRAM_0X80,      A
:0X2e1  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X2e2  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\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2e3  ea03                    SECTION         0X3
:0X2e4  9284                    JBS             HRAM_0X84,      2
:0X2e5  6ae9                    GOTO            HADR_0X2E9
;                    {
;                        g_isp_data.tx_buf[0] = ACK;
:0X2e6  e579                    MOVI            0X79
:0X2e7  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                    }
:0X2e8  6ba5                    GOTO            HADR_0X3A5
HADR_0X2E9:
;                    else
:0X2e9  e51f                    MOVI            0X1F
:0X2ea  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                    }
;                }
;            }
:0X2eb  6ba5                    GOTO            HADR_0X3A5
HADR_0X2EC:
;            else
:0X2ec  e51f                    MOVI            0X1F
:0X2ed  ea03                    SECTION         0X3
:0X2ee  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;            }
;
;            break;
:0X2ef  6ba5                    GOTO            HADR_0X3A5
HADR_0X2F0:
;
;        case  EX_ERASE:
:0X2f0  e722                    CLR             (_in_exe_ins_i_69)&7f               ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2f1  e723                    CLR             (_in_exe_ins_i_69+1)&7f             ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
HADR_0X2F2:
:0X2f2  5040                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0X2f3  e001                    ADDI            0X1
:0X2f4  e605                    MOVA            HRAM_0X5
:0X2f5  e706                    CLR             HRAM_0X6
:0X2f6  b106                    RLB             HRAM_0X6,       R,              0X1
:0X2f7  5006                    MOV             HRAM_0X6,       A
:0X2f8  ee23                    SUB             (_in_exe_ins_i_69+1)&7f,        A   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X2f9  9284                    JBS             HRAM_0X84,      2
:0X2fa  6afd                    GOTO            HADR_0X2FD
:0X2fb  5005                    MOV             HRAM_0X5,       A
:0X2fc  ee22                    SUB             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
HADR_0X2FD:
:0X2fd  9884                    JBC             HRAM_0X84,      0
:0X2fe  6b48                    GOTO            HADR_0X348
;            {
;                page = (((u16)g_isp_data.rx_buf[3 + i * 2] + ((u16)g_isp_data.rx_buf[2 + i * 2] << 8)) << 8); //0x1000
:0X2ff  a884                    BCC             HRAM_0X84,      0
:0X300  b022                    RLB             (_in_exe_ins_i_69)&7f,          A,              0X1 ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X301  e605                    MOVA            HRAM_0X5
:0X302  b023                    RLB             (_in_exe_ins_i_69+1)&7f,        A,              0X1 ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X303  e606                    MOVA            HRAM_0X6
:0X304  5005                    MOV             HRAM_0X5,       A
:0X305  e003                    ADDI            0X3
:0X306  e607                    MOVA            HRAM_0X7
:0X307  5006                    MOV             HRAM_0X6,       A
:0X308  c300                    ADDCI           0X0
:0X309  e608                    MOVA            HRAM_0X8
:0X30a  5007                    MOV             HRAM_0X7,       A
:0X30b  e0c8                    ADDI            _g_isp_data+20
:0X30c  e605                    MOVA            HRAM_0X5
:0X30d  5008                    MOV             HRAM_0X8,       A
:0X30e  c300                    ADDCI           (_g_isp_data+20)>>8
:0X30f  e682                    MOVA            HRAM_0X82
:0X310  5005                    MOV             HRAM_0X5,       A
:0X311  e681                    MOVA            HRAM_0X81
:0X312  5080                    MOV             HRAM_0X80,      A
:0X313  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X314  e708                    CLR             HRAM_0X8
:0X315  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X316  e607                    MOVA            HRAM_0X7
:0X317  a884                    BCC             HRAM_0X84,      0
:0X318  b022                    RLB             (_in_exe_ins_i_69)&7f,          A,              0X1 ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X319  e605                    MOVA            HRAM_0X5
:0X31a  b023                    RLB             (_in_exe_ins_i_69+1)&7f,        A,              0X1 ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X31b  e606                    MOVA            HRAM_0X6
:0X31c  5005                    MOV             HRAM_0X5,       A
:0X31d  e002                    ADDI            0X2
:0X31e  e609                    MOVA            HRAM_0X9
:0X31f  5006                    MOV             HRAM_0X6,       A
:0X320  c300                    ADDCI           0X0
:0X321  e60a                    MOVA            HRAM_0XA
:0X322  5009                    MOV             HRAM_0X9,       A
:0X323  e0c8                    ADDI            _g_isp_data+20
:0X324  e605                    MOVA            HRAM_0X5
:0X325  500a                    MOV             HRAM_0XA,       A
:0X326  c300                    ADDCI           (_g_isp_data+20)>>8
:0X327  e682                    MOVA            HRAM_0X82
:0X328  5005                    MOV             HRAM_0X5,       A
:0X329  e681                    MOVA            HRAM_0X81
:0X32a  5080                    MOV             HRAM_0X80,      A
:0X32b  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X32c  e70a                    CLR             HRAM_0XA
:0X32d  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X32e  e606                    MOVA            HRAM_0X6
:0X32f  e705                    CLR             HRAM_0X5
:0X330  5005                    MOV             HRAM_0X5,       A
:0X331  5e07                    ADD             HRAM_0X7,       A
:0X332  e609                    MOVA            HRAM_0X9
:0X333  5006                    MOV             HRAM_0X6,       A
:0X334  1408                    ADDC            HRAM_0X8,       A
:0X335  5009                    MOV             HRAM_0X9,       A
:0X336  e625                    MOVA            (_in_exe_ins_page_69+1)&7f          ;(_in_exe_ins_page_69+1)&7f: Bank 0    Addr: 37    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X337  e724                    CLR             (_in_exe_ins_page_69)&7f            ;(_in_exe_ins_page_69)&7f: Bank 0    Addr: 36    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
;
;                if (Erase_Page(page) != SUCCESS)
:0X338  5024                    MOV             (_in_exe_ins_page_69)&7f,       A   ;(_in_exe_ins_page_69)&7f: Bank 0    Addr: 36    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X339  e60d                    MOVA            (_Erase_PageDATA)&7f                ;(_Erase_PageDATA)&7f: Bank 0    Addr: 13     
:0X33a  5025                    MOV             (_in_exe_ins_page_69+1)&7f,     A   ;(_in_exe_ins_page_69+1)&7f: Bank 0    Addr: 37    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X33b  e60e                    MOVA            (_Erase_PageDATA+1)&7f              ;(_Erase_PageDATA+1)&7f: Bank 0    Addr: 14     
:0X33c  ec00                    PAGE            (_Erase_Page)>>11
:0X33d  6542                    CALL            HADR_0X542
:0X33e  ec00                    PAGE            (_b)>>11
:0X33f  e301                    XORI            0X1
:0X340  9284                    JBS             HRAM_0X84,      2
:0X341  6b48                    GOTO            HADR_0X348
:0X342  ea01                    SECTION         0X1
:0X343  5522                    INC             (_in_exe_ins_i_69)&7f,          R   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X344  9284                    JBS             HRAM_0X84,      2
:0X345  6b47                    GOTO            HADR_0X347
:0X346  5523                    INC             (_in_exe_ins_i_69+1)&7f,        R   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
HADR_0X347:
;                    break;
;            }
:0X347  6af2                    GOTO            HADR_0X2F2
HADR_0X348:
;
;            if (i != g_isp_data.para1.b08[0] + 1) //擦除有误
:0X348  ea01                    SECTION         0X1
:0X349  5040                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0X34a  e001                    ADDI            0X1
:0X34b  e605                    MOVA            HRAM_0X5
:0X34c  e706                    CLR             HRAM_0X6
:0X34d  b106                    RLB             HRAM_0X6,       R,              0X1
:0X34e  5005                    MOV             HRAM_0X5,       A
:0X34f  5c22                    XOR             (_in_exe_ins_i_69)&7f,          A   ;(_in_exe_ins_i_69)&7f: Bank 0    Addr: 34    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X350  9284                    JBS             HRAM_0X84,      2
:0X351  6b56                    GOTO            HADR_0X356
:0X352  5006                    MOV             HRAM_0X6,       A
:0X353  5c23                    XOR             (_in_exe_ins_i_69+1)&7f,        A   ;(_in_exe_ins_i_69+1)&7f: Bank 0    Addr: 35    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X354  9a84                    JBC             HRAM_0X84,      2
:0X355  6b5a                    GOTO            HADR_0X35A
HADR_0X356:
;            {
;                g_isp_data.tx_buf[0] = NACK;
:0X356  e51f                    MOVI            0X1F
:0X357  ea03                    SECTION         0X3
:0X358  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;            }
:0X359  6b5d                    GOTO            HADR_0X35D
HADR_0X35A:
;            else
:0X35a  e579                    MOVI            0X79
:0X35b  ea03                    SECTION         0X3
:0X35c  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
HADR_0X35D:
;            }
:0X35d  e507                    MOVI            0X7
:0X35e  ea01                    SECTION         0X1
:0X35f  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            break;
:0X360  6ba5                    GOTO            HADR_0X3A5
HADR_0X361:
;
;        case  CHECK_EMPTY:
:0X361  5040                    MOV             (_g_isp_data+12)&7f,            A   ;(_g_isp_data+12)&7f: Bank 0    Addr: 64     
:0X362  e605                    MOVA            HRAM_0X5
:0X363  5041                    MOV             (_g_isp_data+13)&7f,            A   ;(_g_isp_data+13)&7f: Bank 0    Addr: 65     
:0X364  e606                    MOVA            HRAM_0X6
:0X365  5005                    MOV             HRAM_0X5,       A
:0X366  e60d                    MOVA            (_check_emptyDATA)&7f               ;(_check_emptyDATA)&7f: Bank 0    Addr: 13     
:0X367  5006                    MOV             HRAM_0X6,       A
:0X368  e60e                    MOVA            (_check_emptyDATA+1)&7f             ;(_check_emptyDATA+1)&7f: Bank 0    Addr: 14     
:0X369  e5cc                    MOVI            _in_exe_ins_wr_buf8_69
:0X36a  e60f                    MOVA            (_check_emptyDATA+2)&7f             ;(_check_emptyDATA+2)&7f: Bank 0    Addr: 15     
:0X36b  e502                    MOVI            (_in_exe_ins_wr_buf8_69)>>8
:0X36c  e610                    MOVA            (_check_emptyDATA+3)&7f             ;(_check_emptyDATA+3)&7f: Bank 0    Addr: 16     
:0X36d  5044                    MOV             (_g_isp_data+16)&7f,            A   ;(_g_isp_data+16)&7f: Bank 0    Addr: 68     
:0X36e  e001                    ADDI            0X1
:0X36f  e605                    MOVA            HRAM_0X5
:0X370  5045                    MOV             (_g_isp_data+17)&7f,            A   ;(_g_isp_data+17)&7f: Bank 0    Addr: 69     
:0X371  c300                    ADDCI           0X0
:0X372  e606                    MOVA            HRAM_0X6
:0X373  5005                    MOV             HRAM_0X5,       A
:0X374  e611                    MOVA            (_check_emptyDATA+4)&7f             ;(_check_emptyDATA+4)&7f: Bank 0    Addr: 17     
:0X375  5006                    MOV             HRAM_0X6,       A
:0X376  e612                    MOVA            (_check_emptyDATA+5)&7f             ;(_check_emptyDATA+5)&7f: Bank 0    Addr: 18     
:0X377  ec00                    PAGE            (_check_empty)>>11
:0X378  643e                    CALL            HADR_0X43E
:0X379  ec00                    PAGE            (_c)>>11
:0X37a  209e                    MOVAR           _in_exe_ins_result_69               ;_in_exe_ins_result_69: Bank 1    Addr: 158    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
;
;            if (result)
:0X37b  ea01                    SECTION         0X1
:0X37c  501e                    MOV             (_in_exe_ins_result_69)&7f,     A   ;(_in_exe_ins_result_69)&7f: Bank 0    Addr: 30    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
:0X37d  ea03                    SECTION         0X3
:0X37e  9a84                    JBC             HRAM_0X84,      2
:0X37f  6b83                    GOTO            HADR_0X383
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X380  e579                    MOVI            0X79
:0X381  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;            }
:0X382  6b85                    GOTO            HADR_0X385
HADR_0X383:
;            else
:0X383  e51f                    MOVI            0X1F
:0X384  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
HADR_0X385:
;            }
:0X385  e507                    MOVI            0X7
:0X386  ea01                    SECTION         0X1
:0X387  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            break;
:0X388  6ba5                    GOTO            HADR_0X3A5
HADR_0X389:
;
;        case  GO:
:0X389  e508                    MOVI            0X8
:0X38a  e001                    ADDI            0X1
:0X38b  ea00                    SECTION         0X0
:0X38c  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X38d  78c0                    MOVRA           _g_isp_data+12                      ;_g_isp_data+12: Bank 1    Addr: 192     
:0X38e  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X38f  78c1                    MOVRA           _g_isp_data+13                      ;_g_isp_data+13: Bank 1    Addr: 193     
:0X390  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X391  78c2                    MOVRA           _g_isp_data+14                      ;_g_isp_data+14: Bank 1    Addr: 194     
:0X392  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X393  78c3                    MOVRA           _g_isp_data+15                      ;_g_isp_data+15: Bank 1    Addr: 195     
:0X394  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X395  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X396  6b9c                    GOTO            HADR_0X39C
HADR_0X397:
:0X397  a884                    BCC             HRAM_0X84,      0
:0X398  d104                    RRB             (?_TMP+4)&7f,   R,              0X1 ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X399  d103                    RRB             (?_TMP+3)&7f,   R,              0X1 ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X39a  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X39b  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X39C:
:0X39c  e0ff                    ADDI            0XFF
:0X39d  9284                    JBS             HRAM_0X84,      2
:0X39e  6b97                    GOTO            HADR_0X397
:0X39f  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X3a0  e687                    MOVA            _PCRH_0                             ;_PCRH_0: Bank 511    Addr: 65415    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
;            PCRL = g_isp_data.para1.b32;
:0X3a1  78c0                    MOVRA           _g_isp_data+12                      ;_g_isp_data+12: Bank 1    Addr: 192     
:0X3a2  e686                    MOVA            _PCRL_0                             ;_PCRL_0: Bank 511    Addr: 65414    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\isp_proc.obj 
;            break;
:0X3a3  6ba5                    GOTO            HADR_0X3A5
HADR_0X3A4:
;
;        default:
:0X3a4  e734                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
HADR_0X3A5:
;            break;
;    }
;}
:0X3a5  ea00                    SECTION         0X0
:0X3a6  c183                    RET
HADR_0X3A7:
;
;/***************************************************************
;函数名：fsm_init
;描  述: 状态机初始化
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void fsm_init(void)
;{
;    g_isp_data.syn = 0;
:0X3a7  e783                    CLR             HRAM_0X83
:0X3a8  e500                    MOVI            0X0
:0X3a9  ea01                    SECTION         0X1
:0X3aa  e635                    MOVA            (_g_isp_data+1)&7f                  ;(_g_isp_data+1)&7f: Bank 0    Addr: 53     
;    g_isp_data.step = WAIT_REV_INS;
:0X3ab  e734                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;    g_isp_data.cmd = 0;  //指令码
:0X3ac  e736                    CLR             (_g_isp_data+2)&7f                  ;(_g_isp_data+2)&7f: Bank 0    Addr: 54     
;    g_isp_data.rx_len = 1;    //接收长度
:0X3ad  e501                    MOVI            0X1
:0X3ae  e638                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X3af  e739                    CLR             (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
;    g_isp_data.tx_len = 0;    //发送长度
:0X3b0  e73a                    CLR             (_g_isp_data+6)&7f                  ;(_g_isp_data+6)&7f: Bank 0    Addr: 58     
:0X3b1  e73b                    CLR             (_g_isp_data+7)&7f                  ;(_g_isp_data+7)&7f: Bank 0    Addr: 59     
;    g_isp_data.rx_cnt = 0;    //接收计数
:0X3b2  e73c                    CLR             (_g_isp_data+8)&7f                  ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X3b3  e73d                    CLR             (_g_isp_data+9)&7f                  ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
;    g_isp_data.tx_cnt = 0;    //发送计数
:0X3b4  e73e                    CLR             (_g_isp_data+10)&7f                 ;(_g_isp_data+10)&7f: Bank 0    Addr: 62     
:0X3b5  e73f                    CLR             (_g_isp_data+11)&7f                 ;(_g_isp_data+11)&7f: Bank 0    Addr: 63     
;    g_isp_data.triger = 0;    //上一步动作完成，触发下一步动作
:0X3b6  e737                    CLR             (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 55     
;    g_boot_timer = Boot_OVERTIME_1;
:0X3b7  e72b                    CLR             (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 43     
:0X3b8  e72a                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 42     
:0X3b9  e729                    CLR             (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 41     
:0X3ba  e514                    MOVI            0X14
:0X3bb  e628                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 40     
;    g_boot = 0;
:0X3bc  e71c                    CLR             (_g_boot)&7f                        ;(_g_boot)&7f: Bank 0    Addr: 28     
;}
:0X3bd  ea00                    SECTION         0X0
:0X3be  c183                    RET
HADR_0X3BF:
;
;
;/***************************************************************
;函数名：iic_proc_fsm
;描  述: IIC命令帧处理状态机
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void iic_proc_fsm(void)
;{
;    g_isp_data.triger = 0;
:0X3bf  e783                    CLR             HRAM_0X83
:0X3c0  e500                    MOVI            0X0
:0X3c1  ea01                    SECTION         0X1
:0X3c2  e637                    MOVA            (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 55     
;
;    switch (g_isp_data.step)
:0X3c3  5034                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 52     
:0X3c4  e301                    XORI            0X1
:0X3c5  9a84                    JBC             HRAM_0X84,      2
:0X3c6  6bda                    GOTO            HADR_0X3DA
:0X3c7  e303                    XORI            0X3
:0X3c8  9a84                    JBC             HRAM_0X84,      2
:0X3c9  6bf4                    GOTO            HADR_0X3F4
:0X3ca  e301                    XORI            0X1
:0X3cb  9a84                    JBC             HRAM_0X84,      2
:0X3cc  6bfa                    GOTO            HADR_0X3FA
:0X3cd  e307                    XORI            0X7
:0X3ce  9a84                    JBC             HRAM_0X84,      2
:0X3cf  6c02                    GOTO            HADR_0X402
:0X3d0  e301                    XORI            0X1
:0X3d1  9a84                    JBC             HRAM_0X84,      2
:0X3d2  6c08                    GOTO            HADR_0X408
:0X3d3  e303                    XORI            0X3
:0X3d4  9a84                    JBC             HRAM_0X84,      2
:0X3d5  6c10                    GOTO            HADR_0X410
:0X3d6  e301                    XORI            0X1
:0X3d7  9a84                    JBC             HRAM_0X84,      2
:0X3d8  6c18                    GOTO            HADR_0X418
:0X3d9  6c25                    GOTO            HADR_0X425
HADR_0X3DA:
;    {
;        case  IN_REV_INS:  //0:接收指令码
:0X3da  e703                    CLR             HRAM_0X3
:0X3db  5049                    MOV             (_g_isp_data+21)&7f,            A   ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X3dc  e602                    MOVA            HRAM_0X2
:0X3dd  5202                    COM             HRAM_0X2,       A
:0X3de  5c48                    XOR             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X3df  ea03                    SECTION         0X3
:0X3e0  9284                    JBS             HRAM_0X84,      2
:0X3e1  6be9                    GOTO            HADR_0X3E9
;            {
;                g_isp_data.tx_buf[0] = ACK;
:0X3e2  e579                    MOVI            0X79
:0X3e3  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = END_IN_INS;
:0X3e4  e502                    MOVI            0X2
:0X3e5  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;                g_isp_data.cmd = g_isp_data.rx_buf[0];
:0X3e6  78c8                    MOVRA           _g_isp_data+20                      ;_g_isp_data+20: Bank 1    Addr: 200     
:0X3e7  20b6                    MOVAR           _g_isp_data+2                       ;_g_isp_data+2: Bank 1    Addr: 182     
;            }
:0X3e8  6bed                    GOTO            HADR_0X3ED
HADR_0X3E9:
;            else
:0X3e9  e51f                    MOVI            0X1F
:0X3ea  e64a                    MOVA            (_g_isp_data+22)&7f                 ;(_g_isp_data+22)&7f: Bank 0    Addr: 74     
;                g_isp_data.step = IN_SEND_OVER;
:0X3eb  e507                    MOVI            0X7
:0X3ec  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
HADR_0X3ED:
;            }
:0X3ed  e500                    MOVI            0X0
:0X3ee  ea01                    SECTION         0X1
:0X3ef  e60d                    MOVA            (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X3f0  ec00                    PAGE            (_start_tx)>>11
:0X3f1  66e8                    CALL            HADR_0X6E8
:0X3f2  ec00                    PAGE            (_d)>>11
;            break;
:0X3f3  6c2a                    GOTO            HADR_0X42A
HADR_0X3F4:
;
;        case  END_IN_INS:  //完成接收指令码
:0X3f4  5036                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 54     
:0X3f5  e605                    MOVA            HRAM_0X5
:0X3f6  ec00                    PAGE            (_next_ans_ins)>>11
:0X3f7  602c                    CALL            HADR_0X2C
:0X3f8  ec00                    PAGE            (_e)>>11
;            break;
:0X3f9  6c2a                    GOTO            HADR_0X42A
HADR_0X3FA:
;
;        case  WAIT_REV_PARA1://等待接收参数1
:0X3fa  5036                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 54     
:0X3fb  e605                    MOVA            HRAM_0X5
:0X3fc  ec00                    PAGE            (_wait_rev_para1)>>11
:0X3fd  6048                    CALL            HADR_0X48
:0X3fe  ec00                    PAGE            (_f)>>11
;            g_isp_data.triger = 1;
:0X3ff  e501                    MOVI            0X1
:0X400  20b7                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 183     
;            break;
:0X401  6c2a                    GOTO            HADR_0X42A
HADR_0X402:
;
;        case  END_REV_PARA1: //接收参数1完成
:0X402  5036                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 54     
:0X403  e605                    MOVA            HRAM_0X5
:0X404  ec00                    PAGE            (_next_rev_para1)>>11
:0X405  612c                    CALL            HADR_0X12C
:0X406  ec00                    PAGE            (_10)>>11
;            break;
:0X407  6c2a                    GOTO            HADR_0X42A
HADR_0X408:
;
;        case  WAIT_REV_PARA2://等待接收参数2
:0X408  5036                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 54     
:0X409  e605                    MOVA            HRAM_0X5
:0X40a  ec00                    PAGE            (_wait_rev_para2)>>11
:0X40b  6148                    CALL            HADR_0X148
:0X40c  ec00                    PAGE            (_11)>>11
;            g_isp_data.triger = 1;
:0X40d  e501                    MOVI            0X1
:0X40e  20b7                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 183     
;            break;
:0X40f  6c2a                    GOTO            HADR_0X42A
HADR_0X410:
;
;        case  IN_EXE_INS:  //执行指令
:0X410  5036                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 54     
:0X411  e605                    MOVA            HRAM_0X5
:0X412  ec00                    PAGE            (_in_exe_ins)>>11
:0X413  61c1                    CALL            HADR_0X1C1
:0X414  ec00                    PAGE            (_12)>>11
;            g_isp_data.triger = 1;
:0X415  e501                    MOVI            0X1
:0X416  20b7                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 183     
;            break;
:0X417  6c2a                    GOTO            HADR_0X42A
HADR_0X418:
;
;        case  IN_SEND_OVER:  //发送结束ACK
:0X418  e70d                    CLR             (_start_txDATA)&7f                  ;(_start_txDATA)&7f: Bank 0    Addr: 13     
:0X419  ec00                    PAGE            (_start_tx)>>11
:0X41a  66e8                    CALL            HADR_0X6E8
:0X41b  ec00                    PAGE            (_13)>>11
;            g_isp_data.step = WAIT_REV_INS;
:0X41c  e500                    MOVI            0X0
:0X41d  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;            g_isp_data.rx_len = 1;    //接收长度
:0X41e  e501                    MOVI            0X1
:0X41f  20b8                    MOVAR           _g_isp_data+4                       ;_g_isp_data+4: Bank 1    Addr: 184     
:0X420  e500                    MOVI            0X0
:0X421  20b9                    MOVAR           _g_isp_data+5                       ;_g_isp_data+5: Bank 1    Addr: 185     
;            g_isp_data.triger = 0;
:0X422  e500                    MOVI            0X0
:0X423  20b7                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 183     
;            break;
:0X424  6c2a                    GOTO            HADR_0X42A
HADR_0X425:
;
;        default:             //其他状态回归等待同步码状态
:0X425  e734                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
;            g_isp_data.rx_len = 1;    //接收长度
:0X426  e501                    MOVI            0X1
:0X427  e638                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X428  e739                    CLR             (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
;            g_isp_data.triger = 0;
:0X429  e737                    CLR             (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 55     
HADR_0X42A:
;            break;
;    }
;}
:0X42a  ea00                    SECTION         0X0
:0X42b  c183                    RET
HADR_0X42C:
;/*********************************************************
;*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
;          PB1：SCL
;          PB0：SDA
;          I2C从机通信 地址模式7bit 时钟频率100k 从机地址0x2D
;          演示方法请参考应用笔记《AN112_UserManual_ES-UART-BOOT》
;*备  注:  本软件仅供学习和演示使用，对用户直接引用代码所带来的风险或后果不承担任何法律责任。
;**********************************************************/
;#include "typedef.h"
;#include "rw_flash.h"
;#include "string.h"
;#include "iic.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 iic_proc_fsm(void);
;void fsm_init(void);
;void IICReceive(void);
;
;/**********************************************
;函数名：RAM_clear
;描  述：RAM区清0
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void RAM_clear(void)
;{
;    for (IAAH = 0; IAAH <= 0x03; IAAH++)
:0X42c  e783                    CLR             HRAM_0X83
:0X42d  e782                    CLR             _IAAH_0                             ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\main.obj 
HADR_0X42E:
:0X42e  5082                    MOV             _IAAH_0,        A                   ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\main.obj 
:0X42f  ce03                    SUBI            0X3
:0X430  9084                    JBS             HRAM_0X84,      0
:0X431  6c3d                    GOTO            HADR_0X43D
;    {
;        for (IAAL = 0; IAAL < 0xFF; IAAL++)IAD = 0;
:0X432  e781                    CLR             _IAAL_0                             ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\main.obj 
HADR_0X433:
:0X433  e5ff                    MOVI            0XFF
:0X434  ee81                    SUB             _IAAL_0,        A                   ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\main.obj 
:0X435  9884                    JBC             HRAM_0X84,      0
:0X436  6c3a                    GOTO            HADR_0X43A
:0X437  e780                    CLR             _IAD_0                              ;_IAD_0: Bank 511    Addr: 65408    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\main.obj 
:0X438  5581                    INC             _IAAL_0,        R                   ;_IAAL_0: Bank 511    Addr: 65409    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\main.obj 
:0X439  6c33                    GOTO            HADR_0X433
HADR_0X43A:
;
;        IAD = 0;
:0X43a  e780                    CLR             _IAD_0                              ;_IAD_0: Bank 511    Addr: 65408    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\main.obj 
:0X43b  5582                    INC             _IAAH_0,        R                   ;_IAAH_0: Bank 511    Addr: 65410    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\main.obj 
;    }
:0X43c  6c2e                    GOTO            HADR_0X42E
HADR_0X43D:
;}
:0X43d  c183                    RET
HADR_0X43E:
;#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++)
:0X43e  e783                    CLR             HRAM_0X83
:0X43f  ea01                    SECTION         0X1
:0X440  e713                    CLR             HRAM_0X13
:0X441  e714                    CLR             HRAM_0X14
HADR_0X442:
:0X442  5014                    MOV             HRAM_0X14,      A
:0X443  e618                    MOVA            HRAM_0X18
:0X444  5013                    MOV             HRAM_0X13,      A
:0X445  e617                    MOVA            HRAM_0X17
:0X446  a884                    BCC             HRAM_0X84,      0
:0X447  d012                    RRB             HRAM_0X12,      A,              0X1
:0X448  e61a                    MOVA            HRAM_0X1A
:0X449  d011                    RRB             HRAM_0X11,      A,              0X1
:0X44a  e619                    MOVA            HRAM_0X19
:0X44b  501a                    MOV             HRAM_0X1A,      A
:0X44c  ee18                    SUB             HRAM_0X18,      A
:0X44d  9284                    JBS             HRAM_0X84,      2
:0X44e  6c51                    GOTO            HADR_0X451
:0X44f  5019                    MOV             HRAM_0X19,      A
:0X450  ee17                    SUB             HRAM_0X17,      A
HADR_0X451:
:0X451  9884                    JBC             HRAM_0X84,      0
:0X452  6cb2                    GOTO            HADR_0X4B2
;    {
;        if (i % 2 == 1)
:0X453  5013                    MOV             HRAM_0X13,      A
:0X454  e201                    ANDI            0X1
:0X455  e718                    CLR             HRAM_0X18
:0X456  e301                    XORI            0X1
:0X457  9284                    JBS             HRAM_0X84,      2
:0X458  6c5c                    GOTO            HADR_0X45C
:0X459  5018                    MOV             HRAM_0X18,      A
:0X45a  e300                    XORI            0X0
:0X45b  9284                    JBS             HRAM_0X84,      2
HADR_0X45C:
:0X45c  6c72                    GOTO            HADR_0X472
;        {
;
;            __Asm  TBR;
:0X45d  c184                    TBR
;
;            buf16 = (((u16)ROMD1H << 8) + ROMD1L);
:0X45e  e718                    CLR             HRAM_0X18
:0X45f  50a2                    MOV             _ROMD1H_0,      A                   ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X460  e61a                    MOVA            HRAM_0X1A
:0X461  e719                    CLR             HRAM_0X19
:0X462  e718                    CLR             HRAM_0X18
:0X463  50a1                    MOV             _ROMD1L_0,      A                   ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X464  5e19                    ADD             HRAM_0X19,      A
:0X465  e615                    MOVA            HRAM_0X15
:0X466  5018                    MOV             HRAM_0X18,      A
:0X467  141a                    ADDC            HRAM_0X1A,      A
:0X468  e616                    MOVA            HRAM_0X16
;            ++word_addr;
:0X469  550d                    INC             HRAM_0XD,       R
:0X46a  9284                    JBS             HRAM_0X84,      2
:0X46b  6c6d                    GOTO            HADR_0X46D
:0X46c  550e                    INC             HRAM_0XE,       R
HADR_0X46D:
;            buf_Addr += 2;
:0X46d  e502                    MOVI            0X2
:0X46e  5f0f                    ADD             HRAM_0XF,       R
:0X46f  5010                    MOV             HRAM_0X10,      A
:0X470  c300                    ADDCI           0X0
:0X471  e610                    MOVA            HRAM_0X10
HADR_0X472:
;        }
:0X472  9813                    JBC             HRAM_0X13,      0
:0X473  6ca3                    GOTO            HADR_0X4A3
;        {
;            FRAL = word_addr;
:0X474  500d                    MOV             HRAM_0XD,       A
:0X475  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;            FRAH = word_addr >> 8;
:0X476  e508                    MOVI            0X8
:0X477  e001                    ADDI            0X1
:0X478  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X479  500d                    MOV             HRAM_0XD,       A
:0X47a  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X47b  500e                    MOV             HRAM_0XE,       A
:0X47c  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X47d  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X47e  6c83                    GOTO            HADR_0X483
HADR_0X47F:
:0X47f  a884                    BCC             HRAM_0X84,      0
:0X480  ea00                    SECTION         0X0
:0X481  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X482  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X483:
:0X483  e0ff                    ADDI            0XFF
:0X484  9284                    JBS             HRAM_0X84,      2
:0X485  6c7f                    GOTO            HADR_0X47F
:0X486  ea00                    SECTION         0X0
:0X487  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X488  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;            FRAHN = ~FRAH;
:0X489  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X48a  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;            FRALN = ~FRAL;
:0X48b  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X48c  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;            __Asm  TBR;
:0X48d  c184                    TBR
;            buf16 = (((u16)ROMDH << 8) + ROMDL);
:0X48e  ea01                    SECTION         0X1
:0X48f  e718                    CLR             HRAM_0X18
:0X490  5093                    MOV             _ROMDH_0,       A                   ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X491  e61a                    MOVA            HRAM_0X1A
:0X492  e719                    CLR             HRAM_0X19
:0X493  e718                    CLR             HRAM_0X18
:0X494  5092                    MOV             _ROMDL_0,       A                   ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X495  5e19                    ADD             HRAM_0X19,      A
:0X496  e615                    MOVA            HRAM_0X15
:0X497  5018                    MOV             HRAM_0X18,      A
:0X498  141a                    ADDC            HRAM_0X1A,      A
:0X499  e616                    MOVA            HRAM_0X16
;            ++word_addr;
:0X49a  550d                    INC             HRAM_0XD,       R
:0X49b  9284                    JBS             HRAM_0X84,      2
:0X49c  6c9e                    GOTO            HADR_0X49E
:0X49d  550e                    INC             HRAM_0XE,       R
HADR_0X49E:
;            buf_Addr += 2;
:0X49e  e502                    MOVI            0X2
:0X49f  5f0f                    ADD             HRAM_0XF,       R
:0X4a0  5010                    MOV             HRAM_0X10,      A
:0X4a1  c300                    ADDCI           0X0
:0X4a2  e610                    MOVA            HRAM_0X10
HADR_0X4A3:
;        }
:0X4a3  5015                    MOV             HRAM_0X15,      A
:0X4a4  e3ff                    XORI            0XFF
:0X4a5  9284                    JBS             HRAM_0X84,      2
:0X4a6  6cab                    GOTO            HADR_0X4AB
:0X4a7  5016                    MOV             HRAM_0X16,      A
:0X4a8  e3ff                    XORI            0XFF
:0X4a9  9a84                    JBC             HRAM_0X84,      2
:0X4aa  6cad                    GOTO            HADR_0X4AD
HADR_0X4AB:
;        {
;            return  FAILED;
:0X4ab  ea00                    SECTION         0X0
:0X4ac  e400                    RETIA           0X0
HADR_0X4AD:
;        }
;    }
:0X4ad  5513                    INC             HRAM_0X13,      R
:0X4ae  9284                    JBS             HRAM_0X84,      2
:0X4af  6cb1                    GOTO            HADR_0X4B1
:0X4b0  5514                    INC             HRAM_0X14,      R
HADR_0X4B1:
:0X4b1  6c42                    GOTO            HADR_0X442
HADR_0X4B2:
;
;    return  SUCCESS;
:0X4b2  ea00                    SECTION         0X0
:0X4b3  e401                    RETIA           0X1
HADR_0X4B4:
;}
;/**********************************************
;函数名：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++)
:0X4b4  e783                    CLR             HRAM_0X83
:0X4b5  ea01                    SECTION         0X1
:0X4b6  e713                    CLR             HRAM_0X13
:0X4b7  e714                    CLR             HRAM_0X14
HADR_0X4B8:
:0X4b8  5014                    MOV             HRAM_0X14,      A
:0X4b9  e616                    MOVA            HRAM_0X16
:0X4ba  5013                    MOV             HRAM_0X13,      A
:0X4bb  e615                    MOVA            HRAM_0X15
:0X4bc  a884                    BCC             HRAM_0X84,      0
:0X4bd  d012                    RRB             HRAM_0X12,      A,              0X1
:0X4be  e618                    MOVA            HRAM_0X18
:0X4bf  d011                    RRB             HRAM_0X11,      A,              0X1
:0X4c0  e617                    MOVA            HRAM_0X17
:0X4c1  5018                    MOV             HRAM_0X18,      A
:0X4c2  ee16                    SUB             HRAM_0X16,      A
:0X4c3  9284                    JBS             HRAM_0X84,      2
:0X4c4  6cc7                    GOTO            HADR_0X4C7
:0X4c5  5017                    MOV             HRAM_0X17,      A
:0X4c6  ee15                    SUB             HRAM_0X15,      A
HADR_0X4C7:
:0X4c7  9884                    JBC             HRAM_0X84,      0
:0X4c8  6d2e                    GOTO            HADR_0X52E
;    {
;        if (i % 2 == 1)
:0X4c9  5013                    MOV             HRAM_0X13,      A
:0X4ca  e201                    ANDI            0X1
:0X4cb  e716                    CLR             HRAM_0X16
:0X4cc  e301                    XORI            0X1
:0X4cd  9284                    JBS             HRAM_0X84,      2
:0X4ce  6cd2                    GOTO            HADR_0X4D2
:0X4cf  5016                    MOV             HRAM_0X16,      A
:0X4d0  e300                    XORI            0X0
:0X4d1  9284                    JBS             HRAM_0X84,      2
HADR_0X4D2:
:0X4d2  6cf0                    GOTO            HADR_0X4F0
;        {
;            __Asm  TBR;
:0X4d3  c184                    TBR
;            *(u16 *)buf_Addr = (((u16)ROMD1H << 8) + ROMD1L);
:0X4d4  e716                    CLR             HRAM_0X16
:0X4d5  50a2                    MOV             _ROMD1H_0,      A                   ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X4d6  e618                    MOVA            HRAM_0X18
:0X4d7  e717                    CLR             HRAM_0X17
:0X4d8  e716                    CLR             HRAM_0X16
:0X4d9  50a1                    MOV             _ROMD1L_0,      A                   ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X4da  e615                    MOVA            HRAM_0X15
:0X4db  5010                    MOV             HRAM_0X10,      A
:0X4dc  e682                    MOVA            HRAM_0X82
:0X4dd  500f                    MOV             HRAM_0XF,       A
:0X4de  e681                    MOVA            HRAM_0X81
:0X4df  5015                    MOV             HRAM_0X15,      A
:0X4e0  5e17                    ADD             HRAM_0X17,      A
:0X4e1  e680                    MOVA            HRAM_0X80
:0X4e2  c201                    ISTEP           0X1
:0X4e3  5016                    MOV             HRAM_0X16,      A
:0X4e4  1418                    ADDC            HRAM_0X18,      A
:0X4e5  e680                    MOVA            HRAM_0X80
:0X4e6  c201                    ISTEP           0X1
;            word_addr++;
:0X4e7  550d                    INC             HRAM_0XD,       R
:0X4e8  9284                    JBS             HRAM_0X84,      2
:0X4e9  6ceb                    GOTO            HADR_0X4EB
:0X4ea  550e                    INC             HRAM_0XE,       R
HADR_0X4EB:
;            buf_Addr += 2;
:0X4eb  e502                    MOVI            0X2
:0X4ec  5f0f                    ADD             HRAM_0XF,       R
:0X4ed  5010                    MOV             HRAM_0X10,      A
:0X4ee  c300                    ADDCI           0X0
:0X4ef  e610                    MOVA            HRAM_0X10
HADR_0X4F0:
;        }
:0X4f0  9813                    JBC             HRAM_0X13,      0
:0X4f1  6d29                    GOTO            HADR_0X529
;        {
;            FRAL = word_addr;
:0X4f2  500d                    MOV             HRAM_0XD,       A
:0X4f3  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;            FRAH = word_addr >> 8;
:0X4f4  e508                    MOVI            0X8
:0X4f5  e001                    ADDI            0X1
:0X4f6  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X4f7  500d                    MOV             HRAM_0XD,       A
:0X4f8  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X4f9  500e                    MOV             HRAM_0XE,       A
:0X4fa  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X4fb  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X4fc  6d01                    GOTO            HADR_0X501
HADR_0X4FD:
:0X4fd  a884                    BCC             HRAM_0X84,      0
:0X4fe  ea00                    SECTION         0X0
:0X4ff  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X500  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X501:
:0X501  e0ff                    ADDI            0XFF
:0X502  9284                    JBS             HRAM_0X84,      2
:0X503  6cfd                    GOTO            HADR_0X4FD
:0X504  ea00                    SECTION         0X0
:0X505  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X506  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;            FRAHN = ~FRAH;
:0X507  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X508  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;            FRALN = ~FRAL;
:0X509  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X50a  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;            __Asm  TBR;
:0X50b  c184                    TBR
;            *(u16 *)buf_Addr = (((u16)ROMDH << 8) + ROMDL);
:0X50c  ea01                    SECTION         0X1
:0X50d  e716                    CLR             HRAM_0X16
:0X50e  5093                    MOV             _ROMDH_0,       A                   ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X50f  e618                    MOVA            HRAM_0X18
:0X510  e717                    CLR             HRAM_0X17
:0X511  e716                    CLR             HRAM_0X16
:0X512  5092                    MOV             _ROMDL_0,       A                   ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X513  e615                    MOVA            HRAM_0X15
:0X514  5010                    MOV             HRAM_0X10,      A
:0X515  e682                    MOVA            HRAM_0X82
:0X516  500f                    MOV             HRAM_0XF,       A
:0X517  e681                    MOVA            HRAM_0X81
:0X518  5015                    MOV             HRAM_0X15,      A
:0X519  5e17                    ADD             HRAM_0X17,      A
:0X51a  e680                    MOVA            HRAM_0X80
:0X51b  c201                    ISTEP           0X1
:0X51c  5016                    MOV             HRAM_0X16,      A
:0X51d  1418                    ADDC            HRAM_0X18,      A
:0X51e  e680                    MOVA            HRAM_0X80
:0X51f  c201                    ISTEP           0X1
;            word_addr++;
:0X520  550d                    INC             HRAM_0XD,       R
:0X521  9284                    JBS             HRAM_0X84,      2
:0X522  6d24                    GOTO            HADR_0X524
:0X523  550e                    INC             HRAM_0XE,       R
HADR_0X524:
;            buf_Addr += 2;
:0X524  e502                    MOVI            0X2
:0X525  5f0f                    ADD             HRAM_0XF,       R
:0X526  5010                    MOV             HRAM_0X10,      A
:0X527  c300                    ADDCI           0X0
:0X528  e610                    MOVA            HRAM_0X10
HADR_0X529:
;        }
;    }
:0X529  5513                    INC             HRAM_0X13,      R
:0X52a  9284                    JBS             HRAM_0X84,      2
:0X52b  6d2d                    GOTO            HADR_0X52D
:0X52c  5514                    INC             HRAM_0X14,      R
HADR_0X52D:
:0X52d  6cb8                    GOTO            HADR_0X4B8
HADR_0X52E:
;
;    ROMCL = 0x00;
:0X52e  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    return  SUCCESS;
:0X52f  ea00                    SECTION         0X0
:0X530  e401                    RETIA           0X1
HADR_0X531:
;}
;
;static volatile unsigned int section8 FRAN @ 0xFF8E;
;static volatile unsigned int section8 FRA  @ 0xFF90;
;/**********************************************
;函数名：StartIAP
;描  述：IAP固定操作
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void StartIAP(void) //IAP固定格式
;{
;    __asm
:0X531  e783                    CLR             HRAM_0X83
;    {
;        MOVI 0x55
:0X532  e555                    MOVI            0X55
;        MOVA ROMCH
:0X533  e695                    MOVA            HRAM_0X95
;        MOVI 0x02        //等待8个指令周期
:0X534  e502                    MOVI            0X2
HADR_0X535:
;        SSUBI 1          //(A)-1->(A)
:0X535  cf01                    SSUBI           0X1
;        JBS PSW, Z
:0X536  9284                    JBS             HRAM_0X84,      2
;        goto $-2
:0X537  6d35                    GOTO            HADR_0X535
;        MOVI 0xAA
:0X538  e5aa                    MOVI            0XAA
;        MOVA ROMCH
:0X539  e695                    MOVA            HRAM_0X95
;        MOVI 0x02        //等待8个->(指令周期
:0X53a  e502                    MOVI            0X2
HADR_0X53B:
;        SSUBI 1          //(A)-1A)
:0X53b  cf01                    SSUBI           0X1
;        JBS PSW, Z
:0X53c  9284                    JBS             HRAM_0X84,      2
;        goto $-2
:0X53d  6d3b                    GOTO            HADR_0X53B
;        BSS ROMCL, WR    //Flash存储器页擦除/自编程触发位
:0X53e  a194                    BSS             HRAM_0X94,      1
HADR_0X53F:
;        JBC ROMCL, WR
:0X53f  9994                    JBC             HRAM_0X94,      1
;        goto $-1         //等待操作结束
:0X540  6d3f                    GOTO            HADR_0X53F
;    }
:0X541  c183                    RET
HADR_0X542:
;/**********************************************
;函数名：Erase_Page
;描  述：擦除一页Flash
;输入值：page_addr：擦除页所在的地址
;输出值：无
;返回值：SUCCESS，FAILED
;**********************************************/
;u8 Erase_Page(u16  page_addr)
;{
;    GIE = 0 ;
:0X542  e783                    CLR             HRAM_0X83
:0X543  af96                    BCC             (_GIE_0)>>3,    7                   ;(_GIE_0)>>3: Bank 511    Addr: 65430    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    DATARDEN = 1;
:0X544  a794                    BSS             (_DATARDEN_0)>>3,               7   ;(_DATARDEN_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FPEE = 1;
:0X545  a394                    BSS             (_FPEE_0)>>3,   3                   ;(_FPEE_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FRAH = page_addr >> 8;  //地址高字节
:0X546  e508                    MOVI            0X8
:0X547  e001                    ADDI            0X1
:0X548  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X549  788d                    MOVRA           HRAM_0X8D
:0X54a  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X54b  788e                    MOVRA           HRAM_0X8E
:0X54c  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X54d  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X54e  6d52                    GOTO            HADR_0X552
HADR_0X54F:
:0X54f  a884                    BCC             HRAM_0X84,      0
:0X550  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X551  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X552:
:0X552  e0ff                    ADDI            0XFF
:0X553  9284                    JBS             HRAM_0X84,      2
:0X554  6d4f                    GOTO            HADR_0X54F
:0X555  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X556  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FRAL = page_addr;       //地址低字节
:0X557  788d                    MOVRA           HRAM_0X8D
:0X558  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FRAHN = ~FRAH;
:0X559  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X55a  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FRALN = ~FRAL;
:0X55b  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X55c  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    WREN = 1;
:0X55d  a294                    BSS             (_WREN_0)>>3,   2                   ;(_WREN_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    StartIAP();
:0X55e  ec00                    PAGE            (_StartIAP)>>11
:0X55f  6531                    CALL            HADR_0X531
:0X560  ec00                    PAGE            (_3)>>11
;    //while(WR);    //等待擦除结束
;    ROMCL = 0x00;
:0X561  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FRA = 0xFF12;   //指到不用的地址空间
:0X562  e5ff                    MOVI            0XFF
:0X563  e691                    MOVA            _FRA_0+1                            ;_FRA_0+1: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X564  e512                    MOVI            0X12
:0X565  e690                    MOVA            _FRA_0                              ;_FRA_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FRAN = 0x3456;  //此处把地址反码赋成与0xFFFF和FRA无取反关系的值
:0X566  e534                    MOVI            0X34
:0X567  e68f                    MOVA            _FRAN_0+1                           ;_FRAN_0+1: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X568  e556                    MOVI            0X56
:0X569  e68e                    MOVA            _FRAN_0                             ;_FRAN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    return SUCCESS;
:0X56a  e401                    RETIA           0X1
HADR_0X56B:
;}
;/**********************************************
;函数名：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;
:0X56b  e783                    CLR             HRAM_0X83
:0X56c  af96                    BCC             (_GIE_0)>>3,    7                   ;(_GIE_0)>>3: Bank 511    Addr: 65430    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    ROMCL = 0x80;
:0X56d  e580                    MOVI            0X80
:0X56e  e694                    MOVA            _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    DATARDEN = 1;
:0X56f  a794                    BSS             (_DATARDEN_0)>>3,               7   ;(_DATARDEN_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FPEE = 0;
:0X570  ab94                    BCC             (_FPEE_0)>>3,   3                   ;(_FPEE_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;
;    for (i = 0; i < (num / 4); i++) //每次写入双字(32bit)
:0X571  ea01                    SECTION         0X1
:0X572  e713                    CLR             HRAM_0X13
:0X573  e714                    CLR             HRAM_0X14
HADR_0X574:
:0X574  5014                    MOV             HRAM_0X14,      A
:0X575  e616                    MOVA            HRAM_0X16
:0X576  5013                    MOV             HRAM_0X13,      A
:0X577  e615                    MOVA            HRAM_0X15
:0X578  e502                    MOVI            0X2
:0X579  e001                    ADDI            0X1
:0X57a  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X57b  5011                    MOV             HRAM_0X11,      A
:0X57c  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X57d  5012                    MOV             HRAM_0X12,      A
:0X57e  2002                    MOVAR           ?_TMP+2                             ;?_TMP+2: Bank 0    Addr: 2     
:0X57f  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X580  6d85                    GOTO            HADR_0X585
HADR_0X581:
:0X581  a884                    BCC             HRAM_0X84,      0
:0X582  ea00                    SECTION         0X0
:0X583  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X584  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X585:
:0X585  e0ff                    ADDI            0XFF
:0X586  9284                    JBS             HRAM_0X84,      2
:0X587  6d81                    GOTO            HADR_0X581
:0X588  ea00                    SECTION         0X0
:0X589  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X58a  2097                    MOVAR           HRAM_0X97
:0X58b  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X58c  ea01                    SECTION         0X1
:0X58d  ee16                    SUB             HRAM_0X16,      A
:0X58e  9284                    JBS             HRAM_0X84,      2
:0X58f  6d92                    GOTO            HADR_0X592
:0X590  5017                    MOV             HRAM_0X17,      A
:0X591  ee15                    SUB             HRAM_0X15,      A
HADR_0X592:
:0X592  9884                    JBC             HRAM_0X84,      0
:0X593  6e45                    GOTO            HADR_0X645
;    {
;        FRAH = word_addr >> 8;  //地址高字节
:0X594  e508                    MOVI            0X8
:0X595  e001                    ADDI            0X1
:0X596  ea00                    SECTION         0X0
:0X597  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X598  788d                    MOVRA           HRAM_0X8D
:0X599  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X59a  788e                    MOVRA           HRAM_0X8E
:0X59b  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X59c  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X59d  6da1                    GOTO            HADR_0X5A1
HADR_0X59E:
:0X59e  a884                    BCC             HRAM_0X84,      0
:0X59f  d102                    RRB             (?_TMP+2)&7f,   R,              0X1 ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5a0  d101                    RRB             (?_TMP+1)&7f,   R,              0X1 ;(?_TMP+1)&7f: Bank 0    Addr: 1     
HADR_0X5A1:
:0X5a1  e0ff                    ADDI            0XFF
:0X5a2  9284                    JBS             HRAM_0X84,      2
:0X5a3  6d9e                    GOTO            HADR_0X59E
:0X5a4  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5a5  e691                    MOVA            _FRAH_0                             ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        FRAL = word_addr;       //地址低字节
:0X5a6  788d                    MOVRA           HRAM_0X8D
:0X5a7  e690                    MOVA            _FRAL_0                             ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        FRAHN = ~FRAH;
:0X5a8  5291                    COM             _FRAH_0,        A                   ;_FRAH_0: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X5a9  e68f                    MOVA            _FRAHN_0                            ;_FRAHN_0: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        FRALN = ~FRAL;
:0X5aa  5290                    COM             _FRAL_0,        A                   ;_FRAL_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X5ab  e68e                    MOVA            _FRALN_0                            ;_FRALN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        ROMD1H = (*((u32 *)buf_Addr)) >> 24;
:0X5ac  7890                    MOVRA           HRAM_0X90
:0X5ad  e682                    MOVA            HRAM_0X82
:0X5ae  788f                    MOVRA           HRAM_0X8F
:0X5af  e681                    MOVA            HRAM_0X81
:0X5b0  5080                    MOV             HRAM_0X80,      A
:0X5b1  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5b2  c201                    ISTEP           0X1
:0X5b3  5080                    MOV             HRAM_0X80,      A
:0X5b4  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5b5  c201                    ISTEP           0X1
:0X5b6  5080                    MOV             HRAM_0X80,      A
:0X5b7  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5b8  c201                    ISTEP           0X1
:0X5b9  5080                    MOV             HRAM_0X80,      A
:0X5ba  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5bb  e518                    MOVI            0X18
:0X5bc  e001                    ADDI            0X1
:0X5bd  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5be  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5bf  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5c0  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5c1  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5c2  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5c3  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5c4  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5c5  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5c6  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5c7  6dcd                    GOTO            HADR_0X5CD
HADR_0X5C8:
:0X5c8  a884                    BCC             HRAM_0X84,      0
:0X5c9  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5ca  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5cb  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5cc  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X5CD:
:0X5cd  e0ff                    ADDI            0XFF
:0X5ce  9284                    JBS             HRAM_0X84,      2
:0X5cf  6dc8                    GOTO            HADR_0X5C8
:0X5d0  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5d1  e6a2                    MOVA            _ROMD1H_0                           ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        ROMD1L = (*((u32 *)buf_Addr)) >> 16;
:0X5d2  7890                    MOVRA           HRAM_0X90
:0X5d3  e682                    MOVA            HRAM_0X82
:0X5d4  788f                    MOVRA           HRAM_0X8F
:0X5d5  e681                    MOVA            HRAM_0X81
:0X5d6  5080                    MOV             HRAM_0X80,      A
:0X5d7  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5d8  c201                    ISTEP           0X1
:0X5d9  5080                    MOV             HRAM_0X80,      A
:0X5da  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5db  c201                    ISTEP           0X1
:0X5dc  5080                    MOV             HRAM_0X80,      A
:0X5dd  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5de  c201                    ISTEP           0X1
:0X5df  5080                    MOV             HRAM_0X80,      A
:0X5e0  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5e1  e510                    MOVI            0X10
:0X5e2  e001                    ADDI            0X1
:0X5e3  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5e4  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5e5  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5e6  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X5e7  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5e8  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X5e9  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5ea  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X5eb  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5ec  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X5ed  6df3                    GOTO            HADR_0X5F3
HADR_0X5EE:
:0X5ee  a884                    BCC             HRAM_0X84,      0
:0X5ef  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X5f0  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X5f1  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X5f2  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X5F3:
:0X5f3  e0ff                    ADDI            0XFF
:0X5f4  9284                    JBS             HRAM_0X84,      2
:0X5f5  6dee                    GOTO            HADR_0X5EE
:0X5f6  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X5f7  e6a1                    MOVA            _ROMD1L_0                           ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        ROMDH = (*((u32 *)buf_Addr)) >> 8;
:0X5f8  7890                    MOVRA           HRAM_0X90
:0X5f9  e682                    MOVA            HRAM_0X82
:0X5fa  788f                    MOVRA           HRAM_0X8F
:0X5fb  e681                    MOVA            HRAM_0X81
:0X5fc  5080                    MOV             HRAM_0X80,      A
:0X5fd  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X5fe  c201                    ISTEP           0X1
:0X5ff  5080                    MOV             HRAM_0X80,      A
:0X600  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X601  c201                    ISTEP           0X1
:0X602  5080                    MOV             HRAM_0X80,      A
:0X603  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X604  c201                    ISTEP           0X1
:0X605  5080                    MOV             HRAM_0X80,      A
:0X606  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X607  e508                    MOVI            0X8
:0X608  e001                    ADDI            0X1
:0X609  e604                    MOVA            (?_TMP+4)&7f                        ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X60a  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X60b  e605                    MOVA            (?_TMP+5)&7f                        ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X60c  5001                    MOV             (?_TMP+1)&7f,   A                   ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X60d  e606                    MOVA            (?_TMP+6)&7f                        ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X60e  5002                    MOV             (?_TMP+2)&7f,   A                   ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X60f  e607                    MOVA            (?_TMP+7)&7f                        ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X610  5003                    MOV             (?_TMP+3)&7f,   A                   ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X611  e608                    MOVA            (?_TMP+8)&7f                        ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X612  5004                    MOV             (?_TMP+4)&7f,   A                   ;(?_TMP+4)&7f: Bank 0    Addr: 4     
:0X613  6e19                    GOTO            HADR_0X619
HADR_0X614:
:0X614  a884                    BCC             HRAM_0X84,      0
:0X615  d108                    RRB             (?_TMP+8)&7f,   R,              0X1 ;(?_TMP+8)&7f: Bank 0    Addr: 8     
:0X616  d107                    RRB             (?_TMP+7)&7f,   R,              0X1 ;(?_TMP+7)&7f: Bank 0    Addr: 7     
:0X617  d106                    RRB             (?_TMP+6)&7f,   R,              0X1 ;(?_TMP+6)&7f: Bank 0    Addr: 6     
:0X618  d105                    RRB             (?_TMP+5)&7f,   R,              0X1 ;(?_TMP+5)&7f: Bank 0    Addr: 5     
HADR_0X619:
:0X619  e0ff                    ADDI            0XFF
:0X61a  9284                    JBS             HRAM_0X84,      2
:0X61b  6e14                    GOTO            HADR_0X614
:0X61c  5005                    MOV             (?_TMP+5)&7f,   A                   ;(?_TMP+5)&7f: Bank 0    Addr: 5     
:0X61d  e693                    MOVA            _ROMDH_0                            ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        ROMDL = (*((u32 *)buf_Addr));    //写入Flash的字节数据
:0X61e  7890                    MOVRA           HRAM_0X90
:0X61f  e682                    MOVA            HRAM_0X82
:0X620  788f                    MOVRA           HRAM_0X8F
:0X621  e681                    MOVA            HRAM_0X81
:0X622  5080                    MOV             HRAM_0X80,      A
:0X623  e600                    MOVA            (?_TMP)&7f                          ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X624  c201                    ISTEP           0X1
:0X625  5080                    MOV             HRAM_0X80,      A
:0X626  e601                    MOVA            (?_TMP+1)&7f                        ;(?_TMP+1)&7f: Bank 0    Addr: 1     
:0X627  c201                    ISTEP           0X1
:0X628  5080                    MOV             HRAM_0X80,      A
:0X629  e602                    MOVA            (?_TMP+2)&7f                        ;(?_TMP+2)&7f: Bank 0    Addr: 2     
:0X62a  c201                    ISTEP           0X1
:0X62b  5080                    MOV             HRAM_0X80,      A
:0X62c  e603                    MOVA            (?_TMP+3)&7f                        ;(?_TMP+3)&7f: Bank 0    Addr: 3     
:0X62d  5000                    MOV             (?_TMP)&7f,     A                   ;(?_TMP)&7f: Bank 0    Addr: 0     
:0X62e  e692                    MOVA            _ROMDL_0                            ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        WREN = 1;
:0X62f  a294                    BSS             (_WREN_0)>>3,   2                   ;(_WREN_0)>>3: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;        StartIAP();
:0X630  ec00                    PAGE            (_StartIAP)>>11
:0X631  6531                    CALL            HADR_0X531
:0X632  ec00                    PAGE            (_4)>>11
;        word_addr += 2;
:0X633  788d                    MOVRA           HRAM_0X8D
:0X634  e002                    ADDI            0X2
:0X635  208d                    MOVAR           HRAM_0X8D
:0X636  788e                    MOVRA           HRAM_0X8E
:0X637  c300                    ADDCI           0X0
:0X638  208e                    MOVAR           HRAM_0X8E
;        buf_Addr += 4;
:0X639  788f                    MOVRA           HRAM_0X8F
:0X63a  e004                    ADDI            0X4
:0X63b  208f                    MOVAR           HRAM_0X8F
:0X63c  7890                    MOVRA           HRAM_0X90
:0X63d  c300                    ADDCI           0X0
:0X63e  2090                    MOVAR           HRAM_0X90
:0X63f  ea01                    SECTION         0X1
:0X640  5513                    INC             HRAM_0X13,      R
:0X641  9284                    JBS             HRAM_0X84,      2
:0X642  6e44                    GOTO            HADR_0X644
:0X643  5514                    INC             HRAM_0X14,      R
HADR_0X644:
;    }
:0X644  6d74                    GOTO            HADR_0X574
HADR_0X645:
;
;    ROMCL = 0x00;
:0X645  e794                    CLR             _ROMCL_0                            ;_ROMCL_0: Bank 511    Addr: 65428    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FRA = 0xFF12;//指到不用的地址空间
:0X646  e5ff                    MOVI            0XFF
:0X647  e691                    MOVA            _FRA_0+1                            ;_FRA_0+1: Bank 511    Addr: 65425    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X648  e512                    MOVI            0X12
:0X649  e690                    MOVA            _FRA_0                              ;_FRA_0: Bank 511    Addr: 65424    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    FRAN = 0x3456;//此处把地址反码赋成与0xFFFF和FRA无取反关系的值
:0X64a  e534                    MOVI            0X34
:0X64b  e68f                    MOVA            _FRAN_0+1                           ;_FRAN_0+1: Bank 511    Addr: 65423    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
:0X64c  e556                    MOVI            0X56
:0X64d  e68e                    MOVA            _FRAN_0                             ;_FRAN_0: Bank 511    Addr: 65422    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    ROMDH = 0xFF;//数据初始化为0xFF
:0X64e  e5ff                    MOVI            0XFF
:0X64f  e693                    MOVA            _ROMDH_0                            ;_ROMDH_0: Bank 511    Addr: 65427    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    ROMDL = 0xFF;//数据初始化为0xFF
:0X650  e5ff                    MOVI            0XFF
:0X651  e692                    MOVA            _ROMDL_0                            ;_ROMDL_0: Bank 511    Addr: 65426    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    ROMD1H = 0xFF;//数据初始化为0xFF
:0X652  e5ff                    MOVI            0XFF
:0X653  e6a2                    MOVA            _ROMD1H_0                           ;_ROMD1H_0: Bank 511    Addr: 65442    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    ROMD1L = 0xFF;//数据初始化为0xFF
:0X654  e5ff                    MOVI            0XFF
:0X655  e6a1                    MOVA            _ROMD1L_0                           ;_ROMD1L_0: Bank 511    Addr: 65441    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\rw_flash.obj 
;    return  SUCCESS;
:0X656  ea00                    SECTION         0X0
:0X657  e401                    RETIA           0X1
HADR_0X658:
;#include  <hic.h>
;#include  "typedef.h"
;#include  "macrodef.h"
;#include  "sysinit.h"
;
;/**********************************************
;函数名：Init_I2C
;描  述：I2C初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;
;void  Init_Uart(void)
;{
;    PAT1 = 0; //TX输出
;    PAT2 = 1; //RX输入
;    ANSL |= 3 << 1; //数字口
;    RX0LEN = 0;
;    TX0LEN = 0;
;    BRGH0 = 1;
;    BR0R = 103; //波特率9600
;    RX0EN = 1;
;    TX0EN = 1;
;}
;void  Init_I2C(void)
;{
;    PBT |= 0x03;
:0X658  e783                    CLR             HRAM_0X83
:0X659  50ae                    MOV             _PBT_0,         A                   ;_PBT_0: Bank 511    Addr: 65454    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
:0X65a  e103                    IORI            0X3
:0X65b  e6ae                    MOVA            _PBT_0                              ;_PBT_0: Bank 511    Addr: 65454    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    //PB&=0xFC;
;    PBT0 = 1;       //SDA端口设为输入
:0X65c  a0ae                    BSS             (_PBT0_0)>>3,   0                   ;(_PBT0_0)>>3: Bank 511    Addr: 65454    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    PBT1 = 1;       //SCL端口设为输入
:0X65d  a1ae                    BSS             (_PBT1_0)>>3,   1                   ;(_PBT1_0)>>3: Bank 511    Addr: 65454    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    ANSL |= 1 << 3; //PB0数字口
:0X65e  a3bc                    BSS             _ANSL_0,        3                   ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    ANSH |= 1 << 3; //PB1数字口
:0X65f  a38d                    BSS             _ANSH_0,        3                   ;_ANSH_0: Bank 511    Addr: 65421    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    I2CRST = 1;         //复位I2C
:0X660  a483                    BSS             HRAM_0X83,      4
:0X661  a1da                    BSS             HRAM_0XDA,      1
HADR_0X662:
;
;    while (I2CRST);     //等待复位完成
:0X662  99da                    JBC             HRAM_0XDA,      1
:0X663  6e62                    GOTO            HADR_0X662
;
;    //I2CANAE = 1;
;    I2CC = 0xE0;        //I2C上拉，开漏输入输出，ACK;
:0X664  e5e0                    MOVI            0XE0
:0X665  e6da                    MOVA            HRAM_0XDA
;    I2CSA = SLAVE_ADDR << 1;    //从机地址
:0X666  e55a                    MOVI            0X5A
:0X667  e6db                    MOVA            HRAM_0XDB
;    I2CEN = 1;          //使能I2C
:0X668  a0da                    BSS             HRAM_0XDA,      0
;}
:0X669  ac83                    BCC             HRAM_0X83,      4
:0X66a  c183                    RET
HADR_0X66B:
;/**********************************************
;函数名：Init_Timer
;描  述：定时器初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Init_Timer(void)
;{
;    T8NC = 0x0E; //欲分频系数1:128
:0X66b  e783                    CLR             HRAM_0X83
:0X66c  e50e                    MOVI            0XE
:0X66d  e6be                    MOVA            _T8NC_0                             ;_T8NC_0: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    T8N = 0;
:0X66e  e7bd                    CLR             _T8N_0                              ;_T8N_0: Bank 511    Addr: 65469    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    T8NIE = 0;  //不使能中断
:0X66f  a999                    BCC             (_T8NIE_0)>>3,  1                   ;(_T8NIE_0)>>3: Bank 511    Addr: 65433    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    T8NEN = 1;
:0X670  a7be                    BSS             (_T8NEN_0)>>3,  7                   ;(_T8NEN_0)>>3: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;}
:0X671  c183                    RET
HADR_0X672:
;/**********************************************
;函数名：Init_Ports
;描  述：端口初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void  Init_Ports(void)
;{
;    PAT0 = 1;
:0X672  e783                    CLR             HRAM_0X83
:0X673  a0ad                    BSS             (_PAT0_0)>>3,   0                   ;(_PAT0_0)>>3: Bank 511    Addr: 65453    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    ANSL0 = 1;
:0X674  a0bc                    BSS             (_ANSL0_0)>>3,  0                   ;(_ANSL0_0)>>3: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    PAPD0 = 1;  //BOOTPIN下拉
:0X675  a0b0                    BSS             (_PAPD0_0)>>3,  0                   ;(_PAPD0_0)>>3: Bank 511    Addr: 65456    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;}
:0X676  c183                    RET
HADR_0X677:
;/**********************************************
;函数名：Reg_reset
;描  述：寄存器复位
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void Reg_reset(void)
;{
;    PAT0 = 0xFF;
:0X677  e783                    CLR             HRAM_0X83
:0X678  a0ad                    BSS             (_PAT0_0)>>3,   0                   ;(_PAT0_0)>>3: Bank 511    Addr: 65453    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    PBT0 = 0xFF;
:0X679  a0ae                    BSS             (_PBT0_0)>>3,   0                   ;(_PBT0_0)>>3: Bank 511    Addr: 65454    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    ANSL = 0;
:0X67a  e7bc                    CLR             _ANSL_0                             ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    ANSH = 0;
:0X67b  e78d                    CLR             _ANSH_0                             ;_ANSH_0: Bank 511    Addr: 65421    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;
;    T8NC = 0;
:0X67c  e7be                    CLR             _T8NC_0                             ;_T8NC_0: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;    T8NEN = 0;
:0X67d  afbe                    BCC             (_T8NEN_0)>>3,  7                   ;(_T8NEN_0)>>3: Bank 511    Addr: 65470    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\sysinit.obj 
;
;    I2CEN = 0;
:0X67e  a483                    BSS             HRAM_0X83,      4
:0X67f  a8da                    BCC             HRAM_0XDA,      0
;}
:0X680  ac83                    BCC             HRAM_0X83,      4
:0X681  c183                    RET
HADR_0X682:
;/**********************************************
;函数名：Init_MCU
;描  述：总初始化函数
;输入值：无
;输出值：无
;返回值：无
;**********************************************/
;void Init_MCU(void)
;{
;    Init_Ports();
:0X682  e783                    CLR             HRAM_0X83
:0X683  ec00                    PAGE            (_Init_Ports)>>11
:0X684  6672                    CALL            HADR_0X672
:0X685  ec00                    PAGE            (_0)>>11
;    Init_I2C();
:0X686  ec00                    PAGE            (_Init_I2C)>>11
:0X687  6658                    CALL            HADR_0X658
:0X688  ec00                    PAGE            (_1)>>11
;    Init_Timer();
:0X689  ec00                    PAGE            (_Init_Timer)>>11
:0X68a  666b                    CALL            HADR_0X66B
:0X68b  ec00                    PAGE            (_2)>>11
;}
:0X68c  c183                    RET
HADR_0X68D:
;#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产生一次
:0X68d  e783                    CLR             HRAM_0X83
:0X68e  e500                    MOVI            0X0
:0X68f  999a                    JBC             HRAM_0X9A,      1
:0X690  e501                    MOVI            0X1
:0X691  ea01                    SECTION         0X1
:0X692  e301                    XORI            0X1
:0X693  9284                    JBS             HRAM_0X84,      2
:0X694  6ecd                    GOTO            HADR_0X6CD
;    {
;        T8NIF = 0;
:0X695  a99a                    BCC             (_T8NIF_0)>>3,  1                   ;(_T8NIF_0)>>3: Bank 511    Addr: 65434    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\systick.obj 
;        T8N = 130;
:0X696  e582                    MOVI            0X82
:0X697  e6bd                    MOVA            _T8N_0                              ;_T8N_0: Bank 511    Addr: 65469    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\systick.obj 
;
;        if (PA0 == 0) //BootPIN拉低
:0X698  98a8                    JBC             HRAM_0XA8,      0
:0X699  6eb4                    GOTO            HADR_0X6B4
;        {
;            if (g_boot_timer != 0)
:0X69a  5028                    MOV             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 40     
:0X69b  5829                    IOR             (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 41     
:0X69c  582a                    IOR             (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 42     
:0X69d  582b                    IOR             (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 43     
:0X69e  9a84                    JBC             HRAM_0X84,      2
:0X69f  6eb4                    GOTO            HADR_0X6B4
;            {
;                g_boot_timer--;
:0X6a0  e501                    MOVI            0X1
:0X6a1  ee28                    SUB             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 40     
:0X6a2  e628                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 40     
:0X6a3  e500                    MOVI            0X0
:0X6a4  1629                    SUBC            (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 41     
:0X6a5  e629                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 41     
:0X6a6  e500                    MOVI            0X0
:0X6a7  162a                    SUBC            (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 42     
:0X6a8  e62a                    MOVA            (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 42     
:0X6a9  e500                    MOVI            0X0
:0X6aa  162b                    SUBC            (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 43     
:0X6ab  e62b                    MOVA            (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 43     
;
;                if (g_boot_timer == 0)
:0X6ac  5028                    MOV             (_g_boot_timer)&7f,             A   ;(_g_boot_timer)&7f: Bank 0    Addr: 40     
:0X6ad  5829                    IOR             (_g_boot_timer+1)&7f,           A   ;(_g_boot_timer+1)&7f: Bank 0    Addr: 41     
:0X6ae  582a                    IOR             (_g_boot_timer+2)&7f,           A   ;(_g_boot_timer+2)&7f: Bank 0    Addr: 42     
:0X6af  582b                    IOR             (_g_boot_timer+3)&7f,           A   ;(_g_boot_timer+3)&7f: Bank 0    Addr: 43     
:0X6b0  9284                    JBS             HRAM_0X84,      2
:0X6b1  6eb4                    GOTO            HADR_0X6B4
;                {
;                    g_boot = 1;  //引导程序
:0X6b2  e501                    MOVI            0X1
:0X6b3  e61c                    MOVA            (_g_boot)&7f                        ;(_g_boot)&7f: Bank 0    Addr: 28     
HADR_0X6B4:
;                }
;            }
;        }
:0X6b4  502c                    MOV             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 44     
:0X6b5  582d                    IOR             (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 45     
:0X6b6  582e                    IOR             (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 46     
:0X6b7  582f                    IOR             (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 47     
:0X6b8  9a84                    JBC             HRAM_0X84,      2
:0X6b9  6ecd                    GOTO            HADR_0X6CD
;        {
;            g_frame_timer--;
:0X6ba  e501                    MOVI            0X1
:0X6bb  ee2c                    SUB             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 44     
:0X6bc  e62c                    MOVA            (_g_frame_timer)&7f                 ;(_g_frame_timer)&7f: Bank 0    Addr: 44     
:0X6bd  e500                    MOVI            0X0
:0X6be  162d                    SUBC            (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 45     
:0X6bf  e62d                    MOVA            (_g_frame_timer+1)&7f               ;(_g_frame_timer+1)&7f: Bank 0    Addr: 45     
:0X6c0  e500                    MOVI            0X0
:0X6c1  162e                    SUBC            (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 46     
:0X6c2  e62e                    MOVA            (_g_frame_timer+2)&7f               ;(_g_frame_timer+2)&7f: Bank 0    Addr: 46     
:0X6c3  e500                    MOVI            0X0
:0X6c4  162f                    SUBC            (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 47     
:0X6c5  e62f                    MOVA            (_g_frame_timer+3)&7f               ;(_g_frame_timer+3)&7f: Bank 0    Addr: 47     
;
;            if (g_frame_timer == 0)
:0X6c6  502c                    MOV             (_g_frame_timer)&7f,            A   ;(_g_frame_timer)&7f: Bank 0    Addr: 44     
:0X6c7  582d                    IOR             (_g_frame_timer+1)&7f,          A   ;(_g_frame_timer+1)&7f: Bank 0    Addr: 45     
:0X6c8  582e                    IOR             (_g_frame_timer+2)&7f,          A   ;(_g_frame_timer+2)&7f: Bank 0    Addr: 46     
:0X6c9  582f                    IOR             (_g_frame_timer+3)&7f,          A   ;(_g_frame_timer+3)&7f: Bank 0    Addr: 47     
:0X6ca  9284                    JBS             HRAM_0X84,      2
:0X6cb  6ecd                    GOTO            HADR_0X6CD
;            {
;                g_isp_data.step = WAIT_REV_INS;
:0X6cc  e734                    CLR             (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
HADR_0X6CD:
;                //g_isp_data.syn = 0;
;                //Init_Uart();
;            }
;        }
;    }
;}
:0X6cd  ea00                    SECTION         0X0
:0X6ce  c183                    RET
HADR_0X6CF:
;#include  <hic.h>
;#include  "typedef.h"
;#include "rw_flash.h"
;#include "sysinit.h"
;
;isp_data_t g_isp_data;   //通信数据与通信状态机寄存器
;extern u32  g_boot_timer;
;extern u32  g_frame_timer;
;
;void iic_init(void)
;{
;    PBT0 = 1;
:0X6cf  e783                    CLR             HRAM_0X83
:0X6d0  a0ae                    BSS             (_PBT0_0)>>3,   0                   ;(_PBT0_0)>>3: Bank 511    Addr: 65454    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\iic.obj 
;    PBT1 = 1;
:0X6d1  a1ae                    BSS             (_PBT1_0)>>3,   1                   ;(_PBT1_0)>>3: Bank 511    Addr: 65454    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\iic.obj 
;    ANSL = 0xFF;
:0X6d2  e5ff                    MOVI            0XFF
:0X6d3  e6bc                    MOVA            _ANSL_0                             ;_ANSL_0: Bank 511    Addr: 65468    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\iic.obj 
;    I2CC = 0xE4;
:0X6d4  e5e4                    MOVI            0XE4
:0X6d5  a483                    BSS             HRAM_0X83,      4
:0X6d6  e6da                    MOVA            HRAM_0XDA
;    I2CSA = 0x5A;
:0X6d7  e55a                    MOVI            0X5A
:0X6d8  e6db                    MOVA            HRAM_0XDB
;    I2CEN = 1;
:0X6d9  a0da                    BSS             HRAM_0XDA,      0
;}
:0X6da  ac83                    BCC             HRAM_0X83,      4
:0X6db  c183                    RET
HADR_0X6DC:
;
;void iic_stop_proc(void)
;{
;    while (!I2CSPIF);
:0X6dc  e783                    CLR             HRAM_0X83
HADR_0X6DD:
:0X6dd  a483                    BSS             HRAM_0X83,      4
:0X6de  91df                    JBS             HRAM_0XDF,      1
:0X6df  6edd                    GOTO            HADR_0X6DD
;
;    I2CSPIF = 0;
:0X6e0  a9df                    BCC             HRAM_0XDF,      1
;
;    I2CRST = 1;
:0X6e1  a1da                    BSS             HRAM_0XDA,      1
HADR_0X6E2:
;
;    while (I2CRST);
:0X6e2  99da                    JBC             HRAM_0XDA,      1
:0X6e3  6ee2                    GOTO            HADR_0X6E2
;
;    iic_init();
:0X6e4  ec00                    PAGE            (_iic_init)>>11
:0X6e5  66cf                    CALL            HADR_0X6CF
:0X6e6  ec00                    PAGE            (_0)>>11
;}
:0X6e7  c183                    RET
HADR_0X6E8:
;/***************************************************************
;函数名：start_tx
;描  述: 启动I2C发送
;输入值：发送的字节数
;输出值：无
;返回值：无
;***************************************************************/
;void start_tx(u8 len)
;{
;    g_isp_data.tx_cnt = 0;
:0X6e8  e783                    CLR             HRAM_0X83
:0X6e9  e500                    MOVI            0X0
:0X6ea  ea01                    SECTION         0X1
:0X6eb  e63e                    MOVA            (_g_isp_data+10)&7f                 ;(_g_isp_data+10)&7f: Bank 0    Addr: 62     
:0X6ec  e73f                    CLR             (_g_isp_data+11)&7f                 ;(_g_isp_data+11)&7f: Bank 0    Addr: 63     
;    g_isp_data.tx_len = len;
:0X6ed  e73b                    CLR             (_g_isp_data+7)&7f                  ;(_g_isp_data+7)&7f: Bank 0    Addr: 59     
:0X6ee  500d                    MOV             HRAM_0XD,       A
:0X6ef  e63a                    MOVA            (_g_isp_data+6)&7f                  ;(_g_isp_data+6)&7f: Bank 0    Addr: 58     
;    I2CTB = g_isp_data.tx_buf[0];
:0X6f0  79ca                    MOVRA           _g_isp_data+278                     ;_g_isp_data+278: Bank 3    Addr: 458     
:0X6f1  a483                    BSS             HRAM_0X83,      4
:0X6f2  e6dc                    MOVA            HRAM_0XDC
HADR_0X6F3:
;
;    while (1)
:0X6f3  503e                    MOV             (_g_isp_data+10)&7f,            A   ;(_g_isp_data+10)&7f: Bank 0    Addr: 62     
:0X6f4  e001                    ADDI            0X1
:0X6f5  e60d                    MOVA            HRAM_0XD
:0X6f6  503f                    MOV             (_g_isp_data+11)&7f,            A   ;(_g_isp_data+11)&7f: Bank 0    Addr: 63     
:0X6f7  c300                    ADDCI           0X0
:0X6f8  e60e                    MOVA            HRAM_0XE
:0X6f9  500d                    MOV             HRAM_0XD,       A
:0X6fa  e63e                    MOVA            (_g_isp_data+10)&7f                 ;(_g_isp_data+10)&7f: Bank 0    Addr: 62     
:0X6fb  500e                    MOV             HRAM_0XE,       A
;
;        if (g_isp_data.tx_cnt > g_isp_data.tx_len)   //发送完成，触发下一步工作
:0X6fc  e63f                    MOVA            (_g_isp_data+11)&7f                 ;(_g_isp_data+11)&7f: Bank 0    Addr: 63     
:0X6fd  ee3b                    SUB             (_g_isp_data+7)&7f,             A   ;(_g_isp_data+7)&7f: Bank 0    Addr: 59     
:0X6fe  9284                    JBS             HRAM_0X84,      2
:0X6ff  6f02                    GOTO            HADR_0X702
:0X700  503e                    MOV             (_g_isp_data+10)&7f,            A   ;(_g_isp_data+10)&7f: Bank 0    Addr: 62     
:0X701  ee3a                    SUB             (_g_isp_data+6)&7f,             A   ;(_g_isp_data+6)&7f: Bank 0    Addr: 58     
HADR_0X702:
:0X702  9884                    JBC             HRAM_0X84,      0
:0X703  6f0b                    GOTO            HADR_0X70B
HADR_0X704:
;        {
;            while (!I2CTBIF);
:0X704  92df                    JBS             HRAM_0XDF,      2
:0X705  6f04                    GOTO            HADR_0X704
;
;            g_isp_data.triger = 1;      //触发状态机进入下一步
:0X706  e501                    MOVI            0X1
:0X707  e637                    MOVA            (_g_isp_data+3)&7f                  ;(_g_isp_data+3)&7f: Bank 0    Addr: 55     
;            g_isp_data.rx_cnt = 0;
:0X708  e73c                    CLR             (_g_isp_data+8)&7f                  ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X709  e73d                    CLR             (_g_isp_data+9)&7f                  ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
;            break;
:0X70a  6f19                    GOTO            HADR_0X719
HADR_0X70B:
;        }
;        else
;        {
;            while (!I2CTBIF);
:0X70b  92df                    JBS             HRAM_0XDF,      2
:0X70c  6f0b                    GOTO            HADR_0X70B
;
;            I2CTB = g_isp_data.tx_buf[g_isp_data.tx_cnt];
:0X70d  e5ca                    MOVI            _g_isp_data+278
:0X70e  5e3e                    ADD             (_g_isp_data+10)&7f,            A   ;(_g_isp_data+10)&7f: Bank 0    Addr: 62     
:0X70f  e60d                    MOVA            HRAM_0XD
:0X710  e501                    MOVI            (_g_isp_data+278)>>8
:0X711  143f                    ADDC            (_g_isp_data+11)&7f,            A   ;(_g_isp_data+11)&7f: Bank 0    Addr: 63     
:0X712  e682                    MOVA            HRAM_0X82
:0X713  500d                    MOV             HRAM_0XD,       A
:0X714  e681                    MOVA            HRAM_0X81
:0X715  5080                    MOV             HRAM_0X80,      A
:0X716  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X717  e6dc                    MOVA            HRAM_0XDC
;        }
;    }
:0X718  6ef3                    GOTO            HADR_0X6F3
HADR_0X719:
;
;    iic_stop_proc();
:0X719  ec00                    PAGE            (_iic_stop_proc)>>11
:0X71a  66dc                    CALL            HADR_0X6DC
:0X71b  ec00                    PAGE            (_1)>>11
;}
:0X71c  c183                    RET
HADR_0X71D:
;/***************************************************************
;函数名：IICReceive
;描  述: IIC接收数据
;输入值：无
;输出值：无
;返回值：无
;***************************************************************/
;void IICReceive(void)
;{
;    volatile u8   buf8;
;
;    while (1)               //如果没有接收到数据直接退出
:0X71d  e783                    CLR             HRAM_0X83
HADR_0X71E:
;    {
;        if (I2CRBIF)
:0X71e  a483                    BSS             HRAM_0X83,      4
:0X71f  93df                    JBS             HRAM_0XDF,      3
:0X720  6fb1                    GOTO            HADR_0X7B1
;        {
;            buf8 = I2CRB;
:0X721  50dd                    MOV             HRAM_0XDD,      A
:0X722  ea01                    SECTION         0X1
:0X723  e61b                    MOVA            (_IICReceive_buf8_22)&7f            ;(_IICReceive_buf8_22)&7f: Bank 0    Addr: 27    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\iic.obj 
;            g_boot_timer = Boot_OVERTIME_2;
:0X724  e72b                    CLR             (_g_boot_timer+3)&7f                ;(_g_boot_timer+3)&7f: Bank 0    Addr: 43     
:0X725  e72a                    CLR             (_g_boot_timer+2)&7f                ;(_g_boot_timer+2)&7f: Bank 0    Addr: 42     
:0X726  e501                    MOVI            0X1
:0X727  e629                    MOVA            (_g_boot_timer+1)&7f                ;(_g_boot_timer+1)&7f: Bank 0    Addr: 41     
:0X728  e52c                    MOVI            0X2C
:0X729  e628                    MOVA            (_g_boot_timer)&7f                  ;(_g_boot_timer)&7f: Bank 0    Addr: 40     
;
;            if (g_isp_data.syn) //如果同步成功
:0X72a  5035                    MOV             (_g_isp_data+1)&7f,             A   ;(_g_isp_data+1)&7f: Bank 0    Addr: 53     
:0X72b  9a84                    JBC             HRAM_0X84,      2
:0X72c  6f9d                    GOTO            HADR_0X79D
;            {
;                if ((buf8 == SYN) && (g_isp_data.step == WAIT_REV_INS))
:0X72d  501b                    MOV             (_IICReceive_buf8_22)&7f,       A   ;(_IICReceive_buf8_22)&7f: Bank 0    Addr: 27    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\iic.obj 
:0X72e  e33f                    XORI            0X3F
:0X72f  9284                    JBS             HRAM_0X84,      2
:0X730  6f41                    GOTO            HADR_0X741
:0X731  5034                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 52     
:0X732  9284                    JBS             HRAM_0X84,      2
:0X733  6f41                    GOTO            HADR_0X741
;                {
;                    iic_stop_proc();
:0X734  ec00                    PAGE            (_iic_stop_proc)>>11
:0X735  66dc                    CALL            HADR_0X6DC
:0X736  ec00                    PAGE            (_2)>>11
;                    g_isp_data.tx_buf[0] = ACK;
:0X737  e579                    MOVI            0X79
:0X738  21ca                    MOVAR           _g_isp_data+278                     ;_g_isp_data+278: Bank 3    Addr: 458     
;                    start_tx(0);
:0X739  e500                    MOVI            0X0
:0X73a  208d                    MOVAR           HRAM_0X8D
:0X73b  ec00                    PAGE            (_start_tx)>>11
:0X73c  66e8                    CALL            HADR_0X6E8
:0X73d  ec00                    PAGE            (_3)>>11
;                    g_isp_data.triger = 0;
:0X73e  e500                    MOVI            0X0
:0X73f  20b7                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 183     
;                    break;
:0X740  6fb1                    GOTO            HADR_0X7B1
HADR_0X741:
;                }
;                else
:0X741  5034                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 52     
:0X742  9284                    JBS             HRAM_0X84,      2
:0X743  6f4b                    GOTO            HADR_0X74B
;                    {
;                        g_isp_data.rx_len = 1;
:0X744  e501                    MOVI            0X1
:0X745  e638                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X746  e739                    CLR             (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
;                        g_isp_data.rx_cnt = 0;
:0X747  e73c                    CLR             (_g_isp_data+8)&7f                  ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X748  e73d                    CLR             (_g_isp_data+9)&7f                  ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
;                        g_isp_data.step = IN_REV_INS;  //正在接收指令码
:0X749  e501                    MOVI            0X1
:0X74a  e634                    MOVA            (_g_isp_data)&7f                    ;(_g_isp_data)&7f: Bank 0    Addr: 52     
HADR_0X74B:
;                    }
:0X74b  e5c8                    MOVI            _g_isp_data+20
:0X74c  5e3c                    ADD             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X74d  e602                    MOVA            HRAM_0X2
:0X74e  e500                    MOVI            (_g_isp_data+20)>>8
:0X74f  143d                    ADDC            (_g_isp_data+9)&7f,             A   ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
:0X750  e682                    MOVA            HRAM_0X82
:0X751  5002                    MOV             HRAM_0X2,       A
:0X752  e681                    MOVA            HRAM_0X81
:0X753  501b                    MOV             (_IICReceive_buf8_22)&7f,       A   ;(_IICReceive_buf8_22)&7f: Bank 0    Addr: 27    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\iic.obj 
:0X754  e680                    MOVA            HRAM_0X80
:0X755  c201                    ISTEP           0X1
;                    g_isp_data.rx_cnt++;
:0X756  503c                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X757  e001                    ADDI            0X1
:0X758  e602                    MOVA            HRAM_0X2
:0X759  503d                    MOV             (_g_isp_data+9)&7f,             A   ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
:0X75a  c300                    ADDCI           0X0
:0X75b  e603                    MOVA            HRAM_0X3
:0X75c  5002                    MOV             HRAM_0X2,       A
:0X75d  e63c                    MOVA            (_g_isp_data+8)&7f                  ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X75e  5003                    MOV             HRAM_0X3,       A
:0X75f  e63d                    MOVA            (_g_isp_data+9)&7f                  ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
;
;                    if (g_isp_data.rx_cnt == 2 && g_isp_data.step == WAIT_REV_PARA1 && g_isp_data.cmd == EX_ERASE)
:0X760  503c                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X761  e302                    XORI            0X2
:0X762  9284                    JBS             HRAM_0X84,      2
:0X763  6f67                    GOTO            HADR_0X767
:0X764  503d                    MOV             (_g_isp_data+9)&7f,             A   ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
:0X765  e300                    XORI            0X0
:0X766  9284                    JBS             HRAM_0X84,      2
HADR_0X767:
:0X767  6f7a                    GOTO            HADR_0X77A
:0X768  5034                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 52     
:0X769  e303                    XORI            0X3
:0X76a  9284                    JBS             HRAM_0X84,      2
:0X76b  6f7a                    GOTO            HADR_0X77A
:0X76c  5036                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 54     
:0X76d  e3c4                    XORI            0XC4
:0X76e  9284                    JBS             HRAM_0X84,      2
:0X76f  6f7a                    GOTO            HADR_0X77A
;                    {
;                        g_isp_data.rx_len = (g_isp_data.rx_buf[1] + 2) * 2;
:0X770  5049                    MOV             (_g_isp_data+21)&7f,            A   ;(_g_isp_data+21)&7f: Bank 0    Addr: 73     
:0X771  e002                    ADDI            0X2
:0X772  e602                    MOVA            HRAM_0X2
:0X773  e703                    CLR             HRAM_0X3
:0X774  b103                    RLB             HRAM_0X3,       R,              0X1
:0X775  a884                    BCC             HRAM_0X84,      0
:0X776  b002                    RLB             HRAM_0X2,       A,              0X1
:0X777  e638                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X778  b003                    RLB             HRAM_0X3,       A,              0X1
:0X779  e639                    MOVA            (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
HADR_0X77A:
;                    }
:0X77a  503c                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X77b  e301                    XORI            0X1
:0X77c  9284                    JBS             HRAM_0X84,      2
:0X77d  6f81                    GOTO            HADR_0X781
:0X77e  503d                    MOV             (_g_isp_data+9)&7f,             A   ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
:0X77f  e300                    XORI            0X0
:0X780  9284                    JBS             HRAM_0X84,      2
HADR_0X781:
:0X781  6f8f                    GOTO            HADR_0X78F
:0X782  5034                    MOV             (_g_isp_data)&7f,               A   ;(_g_isp_data)&7f: Bank 0    Addr: 52     
:0X783  e305                    XORI            0X5
:0X784  9284                    JBS             HRAM_0X84,      2
:0X785  6f8f                    GOTO            HADR_0X78F
:0X786  5036                    MOV             (_g_isp_data+2)&7f,             A   ;(_g_isp_data+2)&7f: Bank 0    Addr: 54     
:0X787  e3b1                    XORI            0XB1
:0X788  9284                    JBS             HRAM_0X84,      2
:0X789  6f8f                    GOTO            HADR_0X78F
;                    {
;                        g_isp_data.rx_len = g_isp_data.rx_buf[0] + 2;
:0X78a  5048                    MOV             (_g_isp_data+20)&7f,            A   ;(_g_isp_data+20)&7f: Bank 0    Addr: 72     
:0X78b  e002                    ADDI            0X2
:0X78c  e638                    MOVA            (_g_isp_data+4)&7f                  ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
:0X78d  e739                    CLR             (_g_isp_data+5)&7f                  ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
:0X78e  b139                    RLB             (_g_isp_data+5)&7f,             R,              0X1 ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
HADR_0X78F:
;                    }
:0X78f  503d                    MOV             (_g_isp_data+9)&7f,             A   ;(_g_isp_data+9)&7f: Bank 0    Addr: 61     
:0X790  ee39                    SUB             (_g_isp_data+5)&7f,             A   ;(_g_isp_data+5)&7f: Bank 0    Addr: 57     
:0X791  9284                    JBS             HRAM_0X84,      2
:0X792  6f95                    GOTO            HADR_0X795
:0X793  503c                    MOV             (_g_isp_data+8)&7f,             A   ;(_g_isp_data+8)&7f: Bank 0    Addr: 60     
:0X794  ee38                    SUB             (_g_isp_data+4)&7f,             A   ;(_g_isp_data+4)&7f: Bank 0    Addr: 56     
HADR_0X795:
:0X795  9884                    JBC             HRAM_0X84,      0
:0X796  6f1e                    GOTO            HADR_0X71E
;                    {
;                        iic_stop_proc();
:0X797  ec00                    PAGE            (_iic_stop_proc)>>11
:0X798  66dc                    CALL            HADR_0X6DC
:0X799  ec00                    PAGE            (_4)>>11
;                        g_isp_data.triger = 1;  //触发状态机进入下一步
:0X79a  e501                    MOVI            0X1
:0X79b  20b7                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 183     
;                        break;
:0X79c  6fb1                    GOTO            HADR_0X7B1
HADR_0X79D:
;                    }
;
;                }
;            }
;            else if (buf8 == SYN) //如果接收到启动码则同步成功
:0X79d  501b                    MOV             (_IICReceive_buf8_22)&7f,       A   ;(_IICReceive_buf8_22)&7f: Bank 0    Addr: 27    C:\Lisq\Project\Git\AN135_Examples_ES7P169C_ES7P0693_ES7P0031\_Bootloader_Demo\I2C_Boot\Boot\debug\iic.obj 
:0X79e  e33f                    XORI            0X3F
:0X79f  9284                    JBS             HRAM_0X84,      2
:0X7a0  6f1e                    GOTO            HADR_0X71E
;            {
;                iic_stop_proc();
:0X7a1  ec00                    PAGE            (_iic_stop_proc)>>11
:0X7a2  66dc                    CALL            HADR_0X6DC
:0X7a3  ec00                    PAGE            (_5)>>11
;                g_isp_data.tx_buf[0] = ACK;
:0X7a4  e579                    MOVI            0X79
:0X7a5  21ca                    MOVAR           _g_isp_data+278                     ;_g_isp_data+278: Bank 3    Addr: 458     
;                g_isp_data.syn = 1;  //同步完成
:0X7a6  e501                    MOVI            0X1
:0X7a7  20b5                    MOVAR           _g_isp_data+1                       ;_g_isp_data+1: Bank 1    Addr: 181     
;                g_isp_data.step = WAIT_REV_INS;
:0X7a8  e500                    MOVI            0X0
:0X7a9  20b4                    MOVAR           _g_isp_data                         ;_g_isp_data: Bank 1    Addr: 180     
;                g_isp_data.triger = 0;
:0X7aa  e500                    MOVI            0X0
:0X7ab  20b7                    MOVAR           _g_isp_data+3                       ;_g_isp_data+3: Bank 1    Addr: 183     
;                start_tx(0);
:0X7ac  e500                    MOVI            0X0
:0X7ad  208d                    MOVAR           HRAM_0X8D
:0X7ae  ec00                    PAGE            (_start_tx)>>11
:0X7af  66e8                    CALL            HADR_0X6E8
:0X7b0  ec00                    PAGE            (_6)>>11
HADR_0X7B1:
;                break;
;            }
;        }
;        else
;        {
;            break;
;        }
;    }
;}
:0X7b1  ea00                    SECTION         0X0
:0X7b2  ac83                    BCC             HRAM_0X83,      4
:0X7b3  c183                    RET
HADR_0X7B4:
:0X7b4  e783                    CLR             HRAM_0X83
:0X7b5  ea01                    SECTION         0X1
:0X7b6  5010                    MOV             HRAM_0X10,      A
:0X7b7  e614                    MOVA            HRAM_0X14
:0X7b8  500f                    MOV             HRAM_0XF,       A
:0X7b9  e613                    MOVA            HRAM_0X13
:0X7ba  500e                    MOV             HRAM_0XE,       A
:0X7bb  e610                    MOVA            HRAM_0X10
:0X7bc  500d                    MOV             HRAM_0XD,       A
:0X7bd  e60f                    MOVA            HRAM_0XF
HADR_0X7BE:
:0X7be  5012                    MOV             HRAM_0X12,      A
:0X7bf  e616                    MOVA            HRAM_0X16
:0X7c0  5011                    MOV             HRAM_0X11,      A
:0X7c1  e615                    MOVA            HRAM_0X15
:0X7c2  5011                    MOV             HRAM_0X11,      A
:0X7c3  9284                    JBS             HRAM_0X84,      2
:0X7c4  6fc6                    GOTO            HADR_0X7C6
:0X7c5  1112                    DEC             HRAM_0X12,      R
HADR_0X7C6:
:0X7c6  1111                    DEC             HRAM_0X11,      R
:0X7c7  5015                    MOV             HRAM_0X15,      A
:0X7c8  5816                    IOR             HRAM_0X16,      A
:0X7c9  9a84                    JBC             HRAM_0X84,      2
:0X7ca  6fe9                    GOTO            HADR_0X7E9
:0X7cb  5010                    MOV             HRAM_0X10,      A
:0X7cc  e616                    MOVA            HRAM_0X16
:0X7cd  500f                    MOV             HRAM_0XF,       A
:0X7ce  e615                    MOVA            HRAM_0X15
:0X7cf  5014                    MOV             HRAM_0X14,      A
:0X7d0  e618                    MOVA            HRAM_0X18
:0X7d1  5013                    MOV             HRAM_0X13,      A
:0X7d2  e617                    MOVA            HRAM_0X17
:0X7d3  5018                    MOV             HRAM_0X18,      A
:0X7d4  e682                    MOVA            HRAM_0X82
:0X7d5  5017                    MOV             HRAM_0X17,      A
:0X7d6  e681                    MOVA            HRAM_0X81
:0X7d7  5080                    MOV             HRAM_0X80,      A
:0X7d8  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X7d9  5016                    MOV             HRAM_0X16,      A
:0X7da  e682                    MOVA            HRAM_0X82
:0X7db  5015                    MOV             HRAM_0X15,      A
:0X7dc  e681                    MOVA            HRAM_0X81
:0X7dd  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X7de  e680                    MOVA            HRAM_0X80
:0X7df  c201                    ISTEP           0X1
:0X7e0  550f                    INC             HRAM_0XF,       R
:0X7e1  9284                    JBS             HRAM_0X84,      2
:0X7e2  6fe4                    GOTO            HADR_0X7E4
:0X7e3  5510                    INC             HRAM_0X10,      R
HADR_0X7E4:
:0X7e4  5513                    INC             HRAM_0X13,      R
:0X7e5  9284                    JBS             HRAM_0X84,      2
:0X7e6  6fe8                    GOTO            HADR_0X7E8
:0X7e7  5514                    INC             HRAM_0X14,      R
HADR_0X7E8:
:0X7e8  6fbe                    GOTO            HADR_0X7BE
HADR_0X7E9:
:0X7e9  500d                    MOV             HRAM_0XD,       A
:0X7ea  2000                    MOVAR           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X7eb  500e                    MOV             HRAM_0XE,       A
:0X7ec  2001                    MOVAR           ?_TMP+1                             ;?_TMP+1: Bank 0    Addr: 1     
:0X7ed  7800                    MOVRA           ?_TMP                               ;?_TMP: Bank 0    Addr: 0     
:0X7ee  ea00                    SECTION         0X0
:0X7ef  c183                    RET

                                END
