📄 erase_flash.asm
字号:
;** --------------------------------------------------------------------------*
.line 2
.line 4
ZERO .D2 B4 ; |158|
MVKH .S2 0x1940000,B4 ; |158|
LDW .D2T1 *B4,A3 ; |158|
MVKL .S1 0xff3f,A0 ; |158|
MVKH .S1 0xff3f,A0 ; |158|
NOP 2
AND .S1 A0,A3,A0 ; |158|
STW .D2T1 A0,*B4 ; |158|
NOP 2
.line 7
ZERO .D1 A0 ; |161|
MVKH .S1 0x1940000,A0 ; |161|
LDW .D1T2 *A0,B4 ; |161|
NOP 4
SET .S2 B4,9,9,B4 ; |161|
STW .D1T2 B4,*A0 ; |161|
NOP 2
.line 10
MVKL .S2 0x1940004,B4 ; |164|
MVKH .S2 0x1940004,B4 ; |164|
LDW .D2T2 *B4,B5 ; |164|
NOP 4
OR .S2 -1,B5,B5 ; |164|
STW .D2T2 B5,*B4 ; |164|
NOP 2
.line 13
ZERO .D1 A3 ; |167|
MVKH .S1 0x1940000,A3 ; |167|
LDW .D1T1 *A3,A0 ; |167|
NOP 4
SET .S1 A0,6,7,A0 ; |167|
STW .D1T1 A0,*A3 ; |167|
NOP 2
.line 14
B .S2 B3 ; |168|
NOP 5
; BRANCH OCCURS ; |168|
.endfunc 168,000000000h,0
.sect ".text"
.global _poll_data
.sym _poll_data,_poll_data, 44, 2, 0
.func 174
;******************************************************************************
;* FUNCTION NAME: _poll_data *
;* *
;* Regs Modified : A4,B0,B4,B5,B6,SP *
;* Regs Used : A4,B0,B3,B4,B5,B6,SP *
;* Local Frame Size : 0 Args + 8 Auto + 0 Save = 8 byte *
;******************************************************************************
_poll_data:
;** --------------------------------------------------------------------------*
.line 2
.sym _prog_ptr,4, 28, 17, 32
.sym _prog_data,20, 12, 17, 8
.sym _prog_ptr,4, 28, 1, 32
.sym _prog_data,8, 12, 1, 8
.sym _data,9, 12, 1, 8
SUB .D2 SP,8,SP ; |175|
STB .D2T2 B4,*+SP(8) ; |175|
STW .D2T1 A4,*+SP(4) ; |175|
NOP 2
.line 5
MV .S2X A4,B4
LDBU .D2T2 *B4,B4 ; |178|
NOP 4
STB .D2T2 B4,*+SP(9) ; |178|
NOP 2
.line 6
LDBU .D2T2 *+SP(9),B5 ; |179|
LDBU .D2T2 *+SP(8),B4 ; |179|
MVK .S2 128,B6 ; |179|
NOP 2
AND .S2 B6,B5,B5 ; |179|
CMPEQ .L2 B5,B4,B0 ; |179|
[ B0] B .S1 L5 ; |179|
NOP 5
; BRANCH OCCURS ; |179|
;** --------------------------------------------------------------------------*
.line 7
B .S1 L6 ; |180|
ZERO .D1 A4 ; |180|
NOP 4
; BRANCH OCCURS ; |180|
;** --------------------------------------------------------------------------*
L5:
.line 9
MVK .S1 0x1,A4 ; |182|
;** --------------------------------------------------------------------------*
L6:
.line 10
B .S2 B3 ; |183|
ADD .D2 8,SP,SP ; |183|
NOP 4
; BRANCH OCCURS ; |183|
.endfunc 183,000000000h,8
.sect ".text"
.global _erase_flash
.sym _erase_flash,_erase_flash, 44, 2, 0
.func 189
;******************************************************************************
;* FUNCTION NAME: _erase_flash *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,B10,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6, *
;* B7,B8,B9,B10,SP *
;* Local Frame Size : 0 Args + 20 Auto + 8 Save = 28 byte *
;******************************************************************************
_erase_flash:
;** --------------------------------------------------------------------------*
.line 2
.sym _flash_ptr,4, 28, 17, 32
.sym _flash_ptr,4, 28, 1, 32
.sym _pass,8, 12, 1, 8
.sym _i,12, 4, 1, 32
.sym _ctrl_addr1,16, 28, 1, 32
.sym _ctrl_addr2,20, 28, 1, 32
STW .D2T2 B10,*SP--(32) ; |190|
STW .D2T2 B3,*+SP(28) ; |190|
NOP 2
STW .D2T1 A4,*+SP(4) ; |190|
NOP 2
.line 3
MVK .S2 1,B4 ; |191|
STB .D2T2 B4,*+SP(8) ; |191|
NOP 2
.line 6
MV .D1 A4,A0
ADDK .S1 1365,A0 ; |194|
STW .D2T1 A0,*+SP(16) ; |194|
NOP 2
.line 7
MV .S2X A4,B4
ADDK .S2 682,B4 ; |195|
STW .D2T2 B4,*+SP(20) ; |195|
NOP 2
.line 9
MVK .S1 170,A0 ; |197|
|| MV .D1 A0,A3
STB .D1T1 A0,*A3 ; |197|
NOP 2
.line 10
LDW .D2T1 *+SP(20),A0 ; |198|
MVK .S2 85,B4 ; |198|
NOP 3
STB .D1T2 B4,*A0 ; |198|
NOP 2
.line 11
LDW .D2T1 *+SP(16),A3 ; |199|
MVK .S1 128,A0 ; |199|
NOP 3
STB .D1T1 A0,*A3 ; |199|
NOP 2
.line 13
LDW .D2T2 *+SP(16),B4 ; |201|
MVK .S1 170,A0 ; |201|
NOP 3
STB .D2T1 A0,*B4 ; |201|
NOP 2
.line 14
LDW .D2T2 *+SP(20),B5 ; |202|
MVK .S2 85,B4 ; |202|
NOP 3
STB .D2T2 B4,*B5 ; |202|
NOP 2
.line 15
LDW .D2T2 *+SP(16),B4 ; |203|
MVK .S1 16,A0 ; |203|
NOP 3
STB .D2T1 A0,*B4 ; |203|
NOP 2
.line 17
ZERO .D2 B4 ; |205|
|| MVK .S2 18,B5 ; |205|
CMPLT .L2 B4,B5,B0 ; |205|
[!B0] B .S1 L8 ; |205|
STW .D2T2 B4,*+SP(12) ; |205|
NOP 3
MVK .S2 18,B10 ; |211|
; BRANCH OCCURS ; |205|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: software pipelining disabled
;*----------------------------------------------------------------------------*
L7:
.line 19
B .S1 _OpenAllLed ; |207|
MVKL .S2 RL30,B3 ; |207|
MVKH .S2 RL30,B3 ; |207|
NOP 3
RL30: ; CALL OCCURS ; |207|
.line 20
B .S1 _delay_msec ; |208|
MVKL .S2 RL32,B3 ; |208|
MVKH .S2 RL32,B3 ; |208|
MVK .S1 0x1f4,A4 ; |208|
NOP 2
RL32: ; CALL OCCURS ; |208|
.line 21
B .S1 _CloseAllLed ; |209|
MVKL .S2 RL34,B3 ; |209|
MVKH .S2 RL34,B3 ; |209|
NOP 3
RL34: ; CALL OCCURS ; |209|
.line 22
B .S1 _delay_msec ; |210|
MVKL .S2 RL36,B3 ; |210|
MVKH .S2 RL36,B3 ; |210|
MVK .S1 0x1f4,A4 ; |210|
NOP 2
RL36: ; CALL OCCURS ; |210|
.line 23
LDW .D2T2 *+SP(12),B4 ; |211|
NOP 4
ADD .D2 1,B4,B4 ; |211|
CMPLT .L2 B4,B10,B0 ; |211|
[ B0] B .S1 L7 ; |211|
NOP 4
STW .D2T2 B4,*+SP(12) ; |211|
; BRANCH OCCURS ; |211|
;** --------------------------------------------------------------------------*
L8:
.line 25
B .S1 _poll_data ; |213|
LDW .D2T1 *+SP(4),A4 ; |213|
MVKL .S2 RL38,B3 ; |213|
MVK .S2 0x80,B4 ; |213|
MVKH .S2 RL38,B3 ; |213|
NOP 1
RL38: ; CALL OCCURS ; |213|
STB .D2T1 A4,*+SP(8) ; |213|
NOP 2
.line 27
LDBU .D2T1 *+SP(8),A4 ; |215|
NOP 4
.line 28
LDW .D2T2 *+SP(28),B3 ; |216|
LDW .D2T2 *++SP(32),B10 ; |216|
NOP 3
B .S2 B3 ; |216|
NOP 5
; BRANCH OCCURS ; |216|
.endfunc 216,004080000h,32
;******************************************************************************
;* TYPE INFORMATION *
;******************************************************************************
.stag _IOStruct, 8
.member _Led0, 0, 4, 18, 1
.member _Led1, 1, 4, 18, 1
.member _Led2, 2, 4, 18, 1
.member _Led3, 3, 4, 18, 1
.eos
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -