📄 amd29lv400bt.asm
字号:
RL10: ; CALL OCCURS ; |265|
EXTU .S1 A4,24,24,A3 ; |265|
STW .D2T1 A3,*+SP(12) ; |265|
NOP 2
.line 13
B .S1 _FlsWrite ; |267|
LDW .D2T1 *+SP(16),A4 ; |267|
ADDKPC .S2 RL12,B3,2 ; |267|
MVK .D2 0xfffffff0,B4 ; |267|
RL12: ; CALL OCCURS ; |267|
.line 15
LDW .D2T2 *+SP(4),B5 ; |269|
LDW .D2T2 *+SP(8),B4 ; |269|
NOP 4
STW .D2T2 B4,*B5 ; |269|
NOP 2
.line 16
LDW .D2T2 *+SP(12),B5 ; |270|
LDW .D2T2 *+SP(4),B4 ; |270|
NOP 4
STW .D2T2 B5,*+B4(4) ; |270|
NOP 2
.line 18
ZERO .D1 A4 ; |272|
.line 19
LDW .D2T2 *++SP(24),B3 ; |273|
NOP 4
BNOP .S2 B3,5
; BRANCH OCCURS ; |273|
.endfunc 273,000080000h,24
.sect ".text"
.global _FLASH_Read
.sym _FLASH_Read,_FLASH_Read, 36, 2, 0
.func 284
;******************************************************************************
;* FUNCTION NAME: _FLASH_Read *
;* *
;* Regs Modified : A4,B0,B3,B4,B5,SP *
;* Regs Used : A4,A6,B0,B3,B4,B5,SP *
;* Local Frame Size : 0 Args + 16 Auto + 4 Save = 20 byte *
;******************************************************************************
_FLASH_Read:
;** --------------------------------------------------------------------------*
.line 2
.sym _Faddr,4, 14, 17, 32
.sym _pData,20, 16, 17, 32
.sym _Count,6, 14, 17, 32
.sym _Faddr,4, 14, 1, 32
.sym _pData,8, 16, 1, 32
.sym _Count,12, 14, 1, 32
.sym _pBuf,16, 18, 1, 32
STW .D2T2 B3,*SP--(24) ; |285|
NOP 2
STW .D2T1 A6,*+SP(12) ; |285|
STW .D2T2 B4,*+SP(8) ; |285|
STW .D2T1 A4,*+SP(4) ; |285|
NOP 2
.line 3
STW .D2T2 B4,*+SP(16) ; |286|
NOP 2
.line 5
MV .D2X A6,B0
[!B0] BNOP .S1 L4,3
SUB .D2X A6,1,B4
STW .D2T2 B4,*+SP(12) ; |288|
; BRANCH OCCURS ; |288|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: software pipelining disabled
;*----------------------------------------------------------------------------*
L3:
.line 7
B .S1 _FlsRead ; |290|
LDW .D2T1 *+SP(4),A4 ; |290|
ADDKPC .S2 RL14,B3,3 ; |290|
RL14: ; CALL OCCURS ; |290|
LDW .D2T2 *+SP(16),B4 ; |290|
NOP 4
ADD .D2 1,B4,B5 ; |290|
STW .D2T2 B5,*+SP(16) ; |290|
STB .D2T1 A4,*B4 ; |290|
NOP 2
.line 8
LDW .D2T2 *+SP(4),B4 ; |291|
NOP 4
ADD .D2 1,B4,B4 ; |291|
STW .D2T2 B4,*+SP(4) ; |291|
NOP 2
.line 9
LDW .D2T2 *+SP(12),B0 ; |292|
NOP 4
[ B0] BNOP .S1 L3,3
SUB .D2 B0,1,B4 ; |292|
STW .D2T2 B4,*+SP(12) ; |292|
; BRANCH OCCURS ; |292|
;** --------------------------------------------------------------------------*
L4:
.line 10
ZERO .D1 A4 ; |293|
.line 11
LDW .D2T2 *++SP(24),B3 ; |294|
NOP 4
BNOP .S2 B3,5
; BRANCH OCCURS ; |294|
.endfunc 294,000080000h,24
.sect ".text"
.global _FLASH_Write
.sym _FLASH_Write,_FLASH_Write, 36, 2, 0
.func 305
;******************************************************************************
;* FUNCTION NAME: _FLASH_Write *
;* *
;* Regs Modified : A0,A3,A4,B0,B3,B4,B5,SP *
;* Regs Used : A0,A3,A4,A6,B0,B3,B4,B5,SP *
;* Local Frame Size : 0 Args + 28 Auto + 4 Save = 32 byte *
;******************************************************************************
_FLASH_Write:
;** --------------------------------------------------------------------------*
.line 2
.sym _Faddr,4, 14, 17, 32
.sym _pData,20, 16, 17, 32
.sym _Count,6, 14, 17, 32
.sym _Faddr,4, 14, 1, 32
.sym _pData,8, 16, 1, 32
.sym _Count,12, 14, 1, 32
.sym _Error,16, 4, 1, 32
.sym _Timeout,20, 4, 1, 32
.sym _Status,24, 2, 1, 8
.sym _pBuf,28, 18, 1, 32
.sym _Temp,3, 2, 4, 8
STW .D2T2 B3,*SP--(32) ; |306|
NOP 2
STW .D2T1 A6,*+SP(12) ; |306|
STW .D2T2 B4,*+SP(8) ; |306|
STW .D2T1 A4,*+SP(4) ; |306|
NOP 2
.line 7
STW .D2T2 B4,*+SP(28) ; |311|
NOP 2
.line 10
ZERO .D2 B4
STW .D2T2 B4,*+SP(16) ; |314|
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L5
;** --------------------------------------------------------------------------*
L5:
.line 13
LDW .D2T2 *+SP(28),B4 ; |317|
NOP 4
LDB .D2T1 *B4,A3 ; |317|
NOP 4
.line 14
B .S1 _FlsWrite ; |318|
MVK .S2 0xffffffaa,B4 ; |318|
MVKL .S1 0x64000555,A4 ; |318|
ADDKPC .S2 RL16,B3,0 ; |318|
MVKH .S1 0x64000555,A4 ; |318|
NOP 1
RL16: ; CALL OCCURS ; |318|
.line 15
B .S1 _FlsWrite ; |319|
MVK .S2 0x55,B4 ; |319|
MVKL .S1 0x640002aa,A4 ; |319|
ADDKPC .S2 RL18,B3,0 ; |319|
MVKH .S1 0x640002aa,A4 ; |319|
NOP 1
RL18: ; CALL OCCURS ; |319|
.line 16
B .S1 _FlsWrite ; |320|
MVK .S2 0xffffffa0,B4 ; |320|
MVKL .S1 0x64000555,A4 ; |320|
ADDKPC .S2 RL20,B3,0 ; |320|
MVKH .S1 0x64000555,A4 ; |320|
NOP 1
RL20: ; CALL OCCURS ; |320|
.line 17
B .S1 _FlsWrite ; |321|
LDW .D2T1 *+SP(4),A4 ; |321|
ADDKPC .S2 RL22,B3,2 ; |321|
MV .D2X A3,B4 ; |321|
RL22: ; CALL OCCURS ; |321|
.line 19
MVK .S2 22,B4 ; |323|
STW .D2T2 B4,*+SP(20) ; |323|
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;* Disqualified loop: software pipelining disabled
;*----------------------------------------------------------------------------*
L6:
.line 22
B .S1 _Delay ; |326|
ADDKPC .S2 RL24,B3,3 ; |326|
MVK .S1 0x2a,A4 ; |326|
RL24: ; CALL OCCURS ; |326|
.line 23
B .S1 _FlsRead ; |327|
LDW .D2T1 *+SP(4),A4 ; |327|
ADDKPC .S2 RL26,B3,3 ; |327|
RL26: ; CALL OCCURS ; |327|
STB .D2T1 A4,*+SP(24) ; |327|
NOP 2
.line 26
LDB .D2T2 *+SP(24),B5 ; |330|
NOP 2
MVK .S2 128,B4 ; |330|
MVK .S1 128,A4 ; |330|
AND .D2 B4,B5,B4 ; |330|
AND .D1 A4,A3,A4 ; |330|
CMPEQ .L1X B4,A4,A0 ; |330|
[ A0] BNOP .S1 L8,5
; BRANCH OCCURS ; |330|
;** --------------------------------------------------------------------------*
.line 27
.line 30
LDB .D2T2 *+SP(24),B4 ; |334|
NOP 3
MVK .S2 32,B5 ; |334|
AND .D2 B5,B4,B4 ; |334|
MVK .S1 32,A4 ; |334|
CMPEQ .L1X B4,A4,A0 ; |334|
[!A0] BNOP .S1 L7,5
; BRANCH OCCURS ; |334|
;** --------------------------------------------------------------------------*
.line 32
B .S1 _FlsRead ; |336|
LDW .D2T1 *+SP(4),A4 ; |336|
ADDKPC .S2 RL28,B3,3 ; |336|
RL28: ; CALL OCCURS ; |336|
STB .D2T1 A4,*+SP(24) ; |336|
NOP 2
.line 34
LDB .D2T2 *+SP(24),B4 ; |338|
NOP 2
MVK .S2 128,B5 ; |338|
MVK .S1 128,A4 ; |338|
AND .D2 B5,B4,B4 ; |338|
AND .D1 A4,A3,A4 ; |338|
CMPEQ .L1X B4,A4,A0 ; |338|
[ A0] BNOP .S1 L8,5
; BRANCH OCCURS ; |338|
;** --------------------------------------------------------------------------*
.line 35
.line 38
MVK .D2 -1,B4 ; |342|
STW .D2T2 B4,*+SP(20) ; |342|
;** --------------------------------------------------------------------------*
L7:
.line 41
LDW .D2T2 *+SP(20),B4 ; |345|
NOP 4
CMPGT .L2 B4,0,B0 ; |345|
[ B0] BNOP .S1 L6,3
SUB .D2 B4,1,B5 ; |345|
STW .D2T2 B5,*+SP(20) ; |345|
; BRANCH OCCURS ; |345|
;** --------------------------------------------------------------------------*
L8:
.line 43
LDW .D2T2 *+SP(4),B4 ; |347|
NOP 4
ADD .D2 1,B4,B4 ; |347|
STW .D2T2 B4,*+SP(4) ; |347|
NOP 2
.line 44
LDW .D2T2 *+SP(28),B4 ; |348|
NOP 4
ADD .D2 1,B4,B4 ; |348|
STW .D2T2 B4,*+SP(28) ; |348|
NOP 2
.line 45
LDW .D2T2 *+SP(12),B4 ; |349|
NOP 4
SUB .D2 B4,1,B4 ; |349|
STW .D2T2 B4,*+SP(12) ; |349|
NOP 2
.line 47
CMPEQ .L2 B4,0,B4 ; |351|
XOR .D2 1,B4,B0 ; |351|
[!B0] BNOP .S1 L9,5
; BRANCH OCCURS ; |351|
;** --------------------------------------------------------------------------*
LDW .D2T2 *+SP(20),B4 ; |351|
NOP 4
CMPGT .L2 B4,0,B0 ; |351|
;** --------------------------------------------------------------------------*
L9:
[ B0] BNOP .S1 L5,5
; BRANCH OCCURS ; |351|
;** --------------------------------------------------------------------------*
.line 49
LDW .D2T2 *+SP(20),B4 ; |353|
NOP 4
CMPGT .L2 B4,0,B0 ; |353|
[ B0] BNOP .S1 L10,5
; BRANCH OCCURS ; |353|
;** --------------------------------------------------------------------------*
.line 50
MVK .D2 -1,B4 ; |354|
STW .D2T2 B4,*+SP(16) ; |354|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -