📄 bsl_ad535.asm
字号:
;******************************************************************************
;* FUNCTION NAME: _AD535_read *
;* *
;* Regs Modified : A0,A1,A3,A4 *
;* Regs Used : A0,A1,A3,A4,B3 *
;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte *
;******************************************************************************
_AD535_read:
;** --------------------------------------------------------------------------*
LDW .D1T1 *+A4(8),A0
NOP 4
ADD .D1 12,A0,A4
LDW .D1T1 *A4,A0
NOP 4
ADD .D1 8,A0,A3
LDW .D1T1 *A3,A0 ; |220|
NOP 3
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 136
;* Loop opening brace source line : 0
;* Loop closing brace source line : 0
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 7
;* Unpartitioned Resource Bound : 1
;* Partitioned Resource Bound(*) : 1
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 0 1*
;* .D units 1* 0
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 1* 0
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 1 0 (.L or .S unit)
;* Addition ops (.LSD) 0 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1* 1*
;* Bound(.L .S .D .LS .LSD) 1* 1*
;*
;* Disqualified loop: Loop carried dependency bound too large
;*----------------------------------------------------------------------------*
L20:
NOP 1
AND .S1 2,A0,A1 ; |220|
[!A1] B .S1 L20 ; |220|
[!A1] LDW .D1T1 *A3,A0 ; |220|
[ A1] LDW .D1T1 *+A4(4),A0 ; |208|
NOP 3
; BRANCH OCCURS ; |220|
;** --------------------------------------------------------------------------*
B .S2 B3 ; |138|
LDW .D1T1 *A0,A4
NOP 4
; BRANCH OCCURS ; |138|
.sect ".text:_AD535_powerDown"
.clink
.global _AD535_powerDown
;******************************************************************************
;* FUNCTION NAME: _AD535_powerDown *
;* *
;* Regs Modified : A0,A1,A3,A5,A6,A7,B0,B3,B4,B5,B6,B7,B8,B9,SP *
;* Regs Used : A0,A1,A3,A4,A5,A6,A7,B0,B3,B4,B5,B6,B7,B8,B9,SP *
;* Local Frame Size : 0 Args + 16 Auto + 0 Save = 16 byte *
;******************************************************************************
_AD535_powerDown:
;** --------------------------------------------------------------------------*
MVK .S1 -1,A0 ; |342|
CMPEQ .L1 A4,A0,A1
[ A1] B .S1 L21 ; |342|
|| MVKL .S2 _writeData,B5 ; |348|
MVK .S2 1,B7 ; |345|
MVKL .S2 RL12,B3 ; |348|
|| MV .D2 B3,B9 ; |337|
MVK .S2 832,B8 ; |346|
MVKH .S2 _writeData,B5 ; |348|
|| SUB .D2 SP,16,SP ; |337|
MVKH .S2 RL12,B3 ; |348|
|| ADD .D2 4,SP,B4 ; |348|
|| ZERO .L2 B6 ; |344|
|| MVK .S1 0x4,A6 ; |348|
; BRANCH OCCURS ; |342|
;** --------------------------------------------------------------------------*
B .S2 B5 ; |348|
STW .D2T2 B6,*+SP(4) ; |344|
STW .D2T2 B7,*+SP(8) ; |345|
STW .D2T2 B8,*+SP(12) ; |346|
STW .D2T2 B6,*+SP(16) ; |347|
NOP 1
RL12: ; CALL OCCURS ; |348|
;** --------------------------------------------------------------------------*
L21:
B .S2 B9 ; |351|
ADDK .S2 16,SP ; |351|
NOP 4
; BRANCH OCCURS ; |351|
.sect ".text:_AD535_outGain"
.clink
.global _AD535_outGain
;******************************************************************************
;* FUNCTION NAME: _AD535_outGain *
;* *
;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A12,A13,B0,B1,B2, *
;* B3,B4,B5,B6,B7,B8,B9,SP *
;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A12,A13,B0,B1,B2, *
;* B3,B4,B5,B6,B7,B8,B9,SP *
;* Local Frame Size : 0 Args + 12 Auto + 16 Save = 28 byte *
;******************************************************************************
_AD535_outGain:
;** --------------------------------------------------------------------------*
SPDP .S1X B4,A7:A6 ; |313|
ZERO .D1 A1 ; |313|
MVKH .S1 0xc0420000,A1 ; |313|
|| SPDP .S2 B4,B7:B6 ; |313|
|| ZERO .D1 A9 ; |313|
MVKH .S1 0x40280000,A9 ; |313|
|| ZERO .D1 A0 ; |313|
|| ZERO .L1 A8 ; |313|
CMPGTDP .S2X B7:B6,A9:A8,B4 ; |313|
|| CMPLTDP .S1X B7:B6,A1:A0,A0 ; |313|
STW .D2T1 A13,*SP--(32) ; |307|
XOR .S1 1,A0,A0 ; |313|
|| XOR .S2 1,B4,B4 ; |313|
AND .S2X A0,B4,B0 ; |313|
[!B0] B .S1 L22 ; |313|
MVKL .S2 __divd,B8 ; |314|
MVKH .S2 __divd,B8 ; |314|
|| STW .D2T2 B3,*+SP(28) ; |307|
|| ZERO .L2 B5 ; |314|
MVKH .S2 0x3ff80000,B5 ; |314|
|| STW .D2T1 A10,*+SP(20) ; |307|
ZERO .D1 A12 ; |314|
|| MV .S1 A4,A10
|| MVKL .S2 RL14,B3 ; |314|
|| STW .D2T1 A12,*+SP(24) ; |307|
|| ZERO .L1 A13 ; |314|
ZERO .D2 B4 ; |314|
|| MV .D1 A6,A4 ; |314|
|| MVKH .S2 RL14,B3 ; |314|
|| MV .L1 A7,A5 ; |314|
|| MVKH .S1 0x40390000,A13 ; |314|
; BRANCH OCCURS ; |313|
;** --------------------------------------------------------------------------*
B .S2 B8 ; |314|
NOP 5
RL14: ; CALL OCCURS ; |314|
ADDDP .L1 A13:A12,A5:A4,A1:A0 ; |314|
NOP 6
DPTRUNC .L1 A1:A0,A8 ; |314|
;** --------------------------------------------------------------------------*
L22:
MVK .S1 -1,A0 ; |316|
CMPEQ .L1 A10,A0,A1 ; |316|
[ A1] B .S1 L27 ; |316|
|| MVKL .S2 RL16,B3 ; |321|
MVKL .S2 _writeData,B6 ; |321|
MVK .S2 0x1,B8 ; |319|
MVK .S2 9520,B5 ; |320|
MVKH .S2 RL16,B3 ; |321|
MVKH .S2 _writeData,B6 ; |321|
|| MV .D1 A10,A4 ; |321|
|| ZERO .D2 B9 ; |318|
|| ADD .L2 4,SP,B4 ; |321|
|| MVK .S1 0x3,A6 ; |321|
; BRANCH OCCURS ; |316|
;** --------------------------------------------------------------------------*
B .S2 B6 ; |321|
STW .D2T2 B5,*+SP(12) ; |320|
STW .D2T2 B9,*+SP(4) ; |318|
STW .D2T2 B8,*+SP(8) ; |319|
NOP 2
RL16: ; CALL OCCURS ; |321|
LDW .D1T1 *+A10(8),A0
NOP 4
ADD .D1 12,A0,A3
LDW .D1T1 *A3,A6
NOP 4
ADD .D1 8,A6,A0
LDW .D1T1 *A0,A4 ; |220|
NOP 4
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 51
;* Loop opening brace source line : 0
;* Loop closing brace source line : 0
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 7
;* Unpartitioned Resource Bound : 1
;* Partitioned Resource Bound(*) : 1
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 0 1*
;* .D units 1* 0
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 1* 0
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 1 0 (.L or .S unit)
;* Addition ops (.LSD) 0 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1* 1*
;* Bound(.L .S .D .LS .LSD) 1* 1*
;*
;* Disqualified loop: Loop carried dependency bound too large
;*----------------------------------------------------------------------------*
L23:
AND .S1 2,A4,A1 ; |220|
[!A1] B .S1 L23 ; |220|
[!A1] LDW .D1T1 *A0,A4 ; |220|
[ A1] LDW .D1T1 *+A3(4),A3 ; |208|
NOP 3
; BRANCH OCCURS ; |220|
;** --------------------------------------------------------------------------*
MVK .S1 0xffffff00,A4 ; |324|
LDW .D1T1 *A3,A0
NOP 4
SHRU .S1 A0,8,A1
[!A1] B .S1 L26 ; |324|
[ A1] ADD .D1 8,A6,A5
NOP 3
[ A1] LDW .D1T1 *A5,A0 ; |220|
; BRANCH OCCURS ; |324|
;** --------------------------------------------------------------------------*
;** BEGIN LOOP L24
;** --------------------------------------------------------------------------*
L24:
NOP 3
;*----------------------------------------------------------------------------*
;* SOFTWARE PIPELINE INFORMATION
;*
;* Loop source line : 51
;* Loop opening brace source line : 0
;* Loop closing brace source line : 0
;* Known Minimum Trip Count : 1
;* Known Max Trip Count Factor : 1
;* Loop Carried Dependency Bound(^) : 7
;* Unpartitioned Resource Bound : 1
;* Partitioned Resource Bound(*) : 1
;* Resource Partition:
;* A-side B-side
;* .L units 0 0
;* .S units 0 1*
;* .D units 1* 0
;* .M units 0 0
;* .X cross paths 0 0
;* .T address paths 1* 0
;* Long read paths 0 0
;* Long write paths 0 0
;* Logical ops (.LS) 1 0 (.L or .S unit)
;* Addition ops (.LSD) 0 1 (.L or .S or .D unit)
;* Bound(.L .S .LS) 1* 1*
;* Bound(.L .S .D .LS .LSD) 1* 1*
;*
;* Disqualified loop: Loop carried dependency bound too large
;*----------------------------------------------------------------------------*
L25:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -