📄 amd29lv400bt.asm
字号:
SHL .S2 B5,3,B5 ; |463|
ADD .D2 B4,B5,B4 ; |463|
LDW .D2T2 *B4,B4 ; |463|
NOP 4
STW .D2T2 B4,*+SP(16) ; |463|
NOP 2
.line 31
B .S1 _FLASH_Erase ; |464|
ADDKPC .S2 RL54,B3,3 ; |464|
MV .D1X B4,A4 ; |464|
RL54: ; CALL OCCURS ; |464|
STW .D2T1 A4,*+SP(4) ; |464|
NOP 2
.line 33
MV .D2X A4,B0
[!B0] BNOP .S1 L18,5
; BRANCH OCCURS ; |466|
;** --------------------------------------------------------------------------*
.line 37
LDW .D2T2 *+SP(12),B5 ; |470|
NOP 2
MVK .S2 (_MyFlash+16-$bss),B4 ; |470|
ADD .D2 DP,B4,B4 ; |470|
SHL .S2 B5,3,B5 ; |470|
ADD .D2 B4,B5,B4 ; |470|
LDW .D2T2 *B4,B4 ; |470|
NOP 4
CMPEQ .L2 B4,3,B0 ; |470|
[ B0] BNOP .S1 L18,5
; BRANCH OCCURS ; |470|
;** --------------------------------------------------------------------------*
.line 39
MVK .D2 3,B4 ; |472|
STW .D2T2 B4,*+DP(_PRG_status) ; |472|
NOP 2
.line 40
BNOP .S1 L20,5
; BRANCH OCCURS ; |473|
;** --------------------------------------------------------------------------*
L18:
.line 43
LDW .D2T2 *+SP(12),B4 ; |476|
NOP 4
ADD .D2 1,B4,B4 ; |476|
STW .D2T2 B4,*+SP(12) ; |476|
NOP 2
.line 44
LDW .D2T2 *+SP(8),B5 ; |477|
NOP 4
CMPLTU .L2 B4,B5,B0 ; |477|
[ B0] BNOP .S1 L17,5
; BRANCH OCCURS ; |477|
;** --------------------------------------------------------------------------*
L19:
.line 45
ZERO .D2 B4
STW .D2T2 B4,*+DP(_PRG_status) ; |478|
NOP 2
.line 46
;** --------------------------------------------------------------------------*
L20:
.line 47
LDW .D2T2 *++SP(24),B3 ; |480|
NOP 4
BNOP .S2 B3,5
; BRANCH OCCURS ; |480|
.endfunc 480,000080000h,24
.sect ".text"
.global _Program
.sym _Program,_Program, 32, 2, 0
.func 490
;******************************************************************************
;* FUNCTION NAME: _Program *
;* *
;* Regs Modified : A0,A3,A4,A6,B0,B3,B4,B5,SP *
;* Regs Used : A0,A3,A4,A6,B0,B3,B4,B5,DP,SP *
;* Local Frame Size : 0 Args + 4 Auto + 4 Save = 8 byte *
;******************************************************************************
_Program:
;** --------------------------------------------------------------------------*
.line 2
.sym _Error,4, 4, 1, 32
STW .D2T2 B3,*SP--(8) ; |491|
NOP 2
.line 4
MVK .D2 1,B4 ; |493|
STW .D2T2 B4,*+DP(_PRG_status) ; |493|
NOP 2
.line 6
LDW .D2T1 *+DP(_PRG_paddr),A4 ; |495|
B .S1 _FLASH_Write ; |495|
|| LDW .D2T2 *+DP(_PRG_bufaddr),B4 ; |495|
LDW .D2T1 *+DP(_PRG_length),A6
ADDKPC .S2 RL56,B3,3 ; |495|
RL56: ; CALL OCCURS ; |495|
STW .D2T1 A4,*+SP(4) ; |495|
NOP 2
.line 10
MV .D2X A4,B0
[ B0] BNOP .S1 L21,4
MVK .D2 0x4,B4 ; |499|
; BRANCH OCCURS ; |499|
;** --------------------------------------------------------------------------*
ZERO .D2 B4 ; |499|
;** --------------------------------------------------------------------------*
L21:
STW .D2T2 B4,*+DP(_PRG_status) ; |499|
NOP 2
.line 13
MVK .D2 -1,B4 ; |502|
STW .D2T2 B4,*+DP(_PRG_options) ; |502|
NOP 2
.line 14
.line 15
LDW .D2T2 *++SP(8),B3 ; |504|
NOP 4
BNOP .S2 B3,5
; BRANCH OCCURS ; |504|
.endfunc 504,000080000h,8
.sect ".text"
.global _Verify
.sym _Verify,_Verify, 32, 2, 0
.func 514
;******************************************************************************
;* FUNCTION NAME: _Verify *
;* *
;* Regs Modified : A0,A3,A4,B0,B3,B4,B5,SP *
;* Regs Used : A0,A3,A4,B0,B3,B4,B5,DP,SP *
;* Local Frame Size : 0 Args + 16 Auto + 4 Save = 20 byte *
;******************************************************************************
_Verify:
;** --------------------------------------------------------------------------*
.line 2
.sym _Error,4, 4, 1, 32
.sym _Count,8, 14, 1, 32
.sym _pVer,12, 18, 1, 32
.sym _Faddr,16, 14, 1, 32
STW .D2T2 B3,*SP--(24) ; |515|
NOP 2
.line 3
ZERO .D1 A3
STW .D2T1 A3,*+SP(4) ; |516|
NOP 2
.line 4
LDW .D2T2 *+DP(_PRG_length),B4 ; |517|
NOP 4
STW .D2T2 B4,*+SP(8) ; |517|
NOP 2
.line 5
LDW .D2T2 *+DP(_PRG_bufaddr),B4 ; |518|
NOP 4
STW .D2T2 B4,*+SP(12) ; |518|
NOP 2
.line 6
LDW .D2T2 *+DP(_PRG_paddr),B4 ; |519|
NOP 4
STW .D2T2 B4,*+SP(16) ; |519|
NOP 2
.line 8
MVK .D2 1,B4 ; |521|
STW .D2T2 B4,*+DP(_PRG_status) ; |521|
NOP 2
.line 10
B .S1 _FlsWrite ; |523|
ZERO .D1 A4 ; |523|
ADDKPC .S2 RL58,B3,1 ; |523|
MVK .D2 0xfffffff0,B4 ; |523|
MVKH .S1 0x64000000,A4 ; |523|
RL58: ; CALL OCCURS ; |523|
.line 11
LDW .D2T2 *+SP(8),B0 ; |524|
NOP 4
[!B0] BNOP .S1 L24,3
SUB .D2 B0,1,B4 ; |524|
STW .D2T2 B4,*+SP(8) ; |524|
; BRANCH OCCURS ; |524|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: software pipelining disabled
;*----------------------------------------------------------------------------*
L22:
.line 13
B .S1 _FlsRead ; |526|
LDW .D2T1 *+SP(16),A4 ; |526|
ADDKPC .S2 RL60,B3,3 ; |526|
RL60: ; CALL OCCURS ; |526|
LDW .D2T2 *+SP(12),B4 ; |526|
NOP 4
LDB .D2T2 *B4,B4 ; |526|
NOP 4
CMPEQ .L1X B4,A4,A0 ; |526|
[ A0] BNOP .S1 L23,5
; BRANCH OCCURS ; |526|
;** --------------------------------------------------------------------------*
.line 14
LDW .D2T2 *+SP(4),B4 ; |527|
NOP 4
ADD .D2 1,B4,B4 ; |527|
STW .D2T2 B4,*+SP(4) ; |527|
;** --------------------------------------------------------------------------*
L23:
.line 15
LDW .D2T2 *+SP(12),B4 ; |528|
NOP 4
ADD .D2 1,B4,B4 ; |528|
STW .D2T2 B4,*+SP(12) ; |528|
NOP 2
.line 16
LDW .D2T2 *+SP(16),B4 ; |529|
NOP 4
ADD .D2 1,B4,B4 ; |529|
STW .D2T2 B4,*+SP(16) ; |529|
NOP 2
.line 17
LDW .D2T2 *+SP(8),B0 ; |530|
NOP 4
[ B0] BNOP .S1 L22,3
SUB .D2 B0,1,B4 ; |530|
STW .D2T2 B4,*+SP(8) ; |530|
; BRANCH OCCURS ; |530|
;** --------------------------------------------------------------------------*
L24:
.line 19
LDW .D2T2 *+SP(4),B0 ; |532|
NOP 3
MVK .D2 0x5,B4 ; |532|
[ B0] BNOP .S1 L25,5
; BRANCH OCCURS ; |532|
;** --------------------------------------------------------------------------*
ZERO .D2 B4 ; |532|
;** --------------------------------------------------------------------------*
L25:
STW .D2T2 B4,*+DP(_PRG_status) ; |532|
NOP 2
.line 22
MVK .D2 -1,B4 ; |535|
STW .D2T2 B4,*+DP(_PRG_options) ; |535|
NOP 2
.line 24
.line 25
LDW .D2T2 *++SP(24),B3 ; |538|
NOP 4
BNOP .S2 B3,5
; BRANCH OCCURS ; |538|
.endfunc 538,000080000h,24
.sect ".text"
.sym _FlashTestBlocks,_FlashTestBlocks, 36, 3, 0
.func 542
;******************************************************************************
;* FUNCTION NAME: _FlashTestBlocks *
;* *
;* Regs Modified : A0,A3,A4,A6,B0,B3,B4,B5,B6,B7,SP *
;* Regs Used : A0,A3,A4,A6,B0,B3,B4,B5,B6,B7,DP,SP *
;* Local Frame Size : 0 Args + 24 Auto + 4 Save = 28 byte *
;******************************************************************************
_FlashTestBlocks:
;** --------------------------------------------------------------------------*
.line 2
.sym _Error,4, 4, 1, 32
.sym _i,8, 4, 1, 32
.sym _MfgCode,12, 8, 1, 64, _flash_mfg_code
.sym _NumBlocks,20, 14, 1, 32
.sym _pData,24, 18, 1, 32
STW .D2T2 B3,*SP--(32) ; |543|
NOP 2
.line 7
LDW .D2T2 *+DP(_PRG_bufaddr),B4 ; |548|
NOP 4
STW .D2T2 B4,*+SP(24) ; |548|
NOP 2
.line 9
ZERO .D1 A3
STW .D2T1 A3,*+SP(12) ; |550|
NOP 2
.line 10
ZERO .D2 B4
STW .D2T2 B4,*+SP(16) ; |551|
NOP 2
.line 13
B .S1 _FLASH_MfgCode ; |554|
ADDKPC .S2 RL62,B3,3 ; |554|
ADD .D1X 12,SP,A4
RL62: ; CALL OCCURS ; |554|
STW .D2T1 A4,*+SP(4) ; |554|
NOP 2
.line 14
LDW .D2T2 *+SP(12),B6 ; |555|
LDW .D2T2 *+DP(_MyFlash),B4 ; |555|
NOP 2
LDW .D2T2 *+SP(16),B7 ; |555|
LDW .D2T2 *+DP(_MyFlash+4),B5 ; |555|
CMPEQ .L2 B6,B4,B4 ; |555|
XOR .S2 1,B4,B0 ; |555|
[ B0] BNOP .S1 L26,4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -