📄 dataprocessing.asm
字号:
MOV T0, AR1 ; |134|
MOV *(#_ii), T0 ; |134|
MOV AR1, *AR3(T0) ; |134|
.line 16
ADD #1, *(#_ii) ; |135|
MOV *(#_ii), AR2 ; |135|
MOV *SP(#2), AR1 ; |135|
CMPU AR2 < AR1, TC1 ; |135|
|| NOP ; avoids Silicon Exception CPU_24
BCC L17,TC1 ; |135|
; branch occurs ; |135|
L18:
.line 17
AADD #9, SP
RET
; return occurs
.endfunc 136,000000000h,9
.sect ".text"
.align 4
.global _GetPosTopValue
.sym _GetPosTopValue,_GetPosTopValue, 32, 2, 0
.func 138
;*******************************************************************************
;* FUNCTION NAME: _GetPosTopValue *
;* *
;* Function Uses Regs : AC0,AC0,AC1,AC1,T0,AR0,XAR0,AR1,AR2,AR3,XAR3,SP, *
;* CARRY,TC1,M40,SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 4 words *
;* (2 return address/alignment) *
;* (2 local values) *
;*******************************************************************************
_GetPosTopValue:
.line 2
;* AR0 assigned to _pDataBuffer
.sym _pDataBuffer,17, 19, 17, 23
.sym _pDataBuffer,0, 19, 1, 23
AADD #-3, SP
MOV XAR0, dbl(*SP(#0))
.line 3
MOV #0, *(#_ii) ; |140|
MOV #4, AR1
MOV *(#_ii), AR2 ; |140|
CMP AR2 >= AR1, TC1 ; |140|
|| NOP ; avoids Silicon Exception CPU_24
BCC L29,TC1 ; |140|
; branch occurs ; |140|
L19:
.line 5
MOV #0, *(#_dataMax) ; |142|
.line 6
MOV #0, *(#_bOverFlow) ; |143|
.line 7
MOV #10, *(#_jj) ; |144|
MOV #512, AR1 ; |144|
MOV *(#_jj), AR2 ; |144|
CMP AR2 >= AR1, TC1 ; |144|
|| NOP ; avoids Silicon Exception CPU_24
BCC L23,TC1 ; |144|
; branch occurs ; |144|
L20:
.line 9
MOV AR2, T0 ; |146|
MOV dbl(*SP(#0)), XAR3
MOV *(#_ii), AC1 ; |146|
MOV T0, AC0 ; |146|
ADD AC1 << #9, AC0 ; |146|
MOV AC0, T0 ; |146|
MOV *AR3(T0), AR1 ; |146|
BCC L21,AR1 >= #0 ; |146|
; branch occurs ; |146|
.line 11
MOV #1, *(#_bOverFlow) ; |148|
.line 12
MOV #512, *(#_jj) ; |149|
.line 13
B L22 ; |150|
; branch occurs ; |150|
L21:
.line 16
MOV AR2, T0
MOV dbl(*SP(#0)), XAR3
MOV T0, AC0 ; |153|
ADD AC1 << #9, AC0 ; |153|
MOV AC0, T0 ; |153|
MOV *(#_dataMax), AR1 ; |153|
MOV *AR3(T0), AR2 ; |153|
CMP AR2 <= AR1, TC1 ; |153|
|| NOP ; avoids Silicon Exception CPU_24
BCC L22,TC1 ; |153|
; branch occurs ; |153|
.line 17
MOV *(#_jj), T0 ; |154|
MOV dbl(*SP(#0)), XAR3
MOV T0, AC0 ; |154|
ADD AC1 << #9, AC0 ; |154|
MOV AC0, T0 ; |154|
MOV *AR3(T0), AR1 ; |154|
MOV AR1, *(#_dataMax) ; |154|
L22:
.line 19
ADD #1, *(#_jj) ; |156|
MOV #512, AR1 ; |156|
MOV *(#_jj), AR2 ; |156|
CMP AR2 < AR1, TC1 ; |156|
|| NOP ; avoids Silicon Exception CPU_24
BCC L20,TC1 ; |156|
; branch occurs ; |156|
L23:
.line 21
MOV *(#_bOverFlow), AR1 ; |158|
BCC L27,AR1 != #0 ; |158|
; branch occurs ; |158|
.line 24
MOV #0, AC0 ; |161|
MOV AC0, dbl(*(#_dataMean)) ; |161|
.line 25
MOV #50, *(#_jj) ; |162|
MOV #66, AR1 ; |162|
MOV *(#_jj), AR2 ; |162|
CMP AR2 >= AR1, TC1 ; |162|
|| NOP ; avoids Silicon Exception CPU_24
BCC L25,TC1 ; |162|
; branch occurs ; |162|
L24:
.line 26
MOV AR2, T0 ; |163|
MOV dbl(*SP(#0)), XAR3
MOV *(#_ii), AC1 ; |163|
MOV T0, AC0 ; |163|
ADD AC1 << #9, AC0 ; |163|
MOV AC0, T0 ; |163|
MOV *AR3(T0), AC0 ; |163|
ADD #1, *(#_jj) ; |163|
MOV *(#_jj), AR2 ; |163|
CMP AR2 < AR1, TC1 ; |163|
|| NOP ; avoids Silicon Exception CPU_24
ADD dbl(*(#_dataMean)), AC0, AC0 ; |163|
MOV AC0, dbl(*(#_dataMean)) ; |163|
BCC L24,TC1 ; |163|
; branch occurs ; |163|
L25:
.line 27
MOV dbl(*(#_dataMean)), AC0 ; |164|
CALL #__fltlid ; |164|
; call occurs [#__fltlid] ; |164|
MOV dbl(*(FL3)), AC1 ; |164|
CALL #__mpyd ; |164|
; call occurs [#__mpyd] ; |164|
CALL #__fixdli ; |164|
; call occurs [#__fixdli] ; |164|
MOV AC0, dbl(*(#_dataMean)) ; |164|
.line 28
MOV *(#_dataMax), AC0 ; |165|
SUB dbl(*(#_dataMean)), AC0, AC0 ; |165|
MOV AC0, *(#_dataMax) ; |165|
.line 30
MOV AC0, AR1
BCC L26,AR1 < #0 ; |167|
; branch occurs ; |167|
MOV AC0, AR2 ; |167|
|| MOV #8192, AR1 ; |167|
CMP AR2 >= AR1, TC1 ; |167|
|| NOP ; avoids Silicon Exception CPU_24
BCC L26,TC1 ; |167|
; branch occurs ; |167|
.line 33
MOV AC0, T0 ; |170|
SFTL T0, #1 ; |170|
AMOV #_mcaData, XAR3 ; |170|
MOV AR2, T0 ; |170|
|| MOV dbl(*AR3(T0)), AC0 ; |170|
SFTL T0, #1 ; |170|
ADD #1, AC0 ; |170|
MOV AC0, dbl(*AR3(T0)) ; |170|
.line 34
MOV *(#_dataMax), AC0 ; |171|
SFTL AC0, #-30, AC1 ; |171|
ADD AC0, AC1 ; |171|
SFTS AC1, #-2, AC0 ; |171|
MOV AC0, *(#_dataMax) ; |171|
.line 35
MOV AC0, T0 ; |172|
SFTL T0, #1 ; |172|
AMOV #_mcaData2048, XAR3 ; |172|
MOV dbl(*AR3(T0)), AC0 ; |172|
MOV *(#_dataMax), T0 ; |172|
SFTL T0, #1 ; |172|
ADD #1, AC0 ; |172|
MOV AC0, dbl(*AR3(T0)) ; |172|
.line 36
MOV *(#_dataMax), AC0 ; |173|
BFXTR #0x8000, AC0, AR1 ; |173|
ADD AC0, AR1 ; |173|
SFTS AR1, #-1 ; |173|
MOV AR1, *(#_dataMax) ; |173|
.line 37
MOV AR1, T0 ; |174|
SFTL T0, #1 ; |174|
AMOV #_mcaData1024, XAR3 ; |174|
MOV AR1, T0 ; |174|
|| MOV dbl(*AR3(T0)), AC0 ; |174|
SFTL T0, #1 ; |174|
ADD #1, AC0 ; |174|
MOV AC0, dbl(*AR3(T0)) ; |174|
.line 38
MOV *(#_dataMax), AC0 ; |175|
BFXTR #0x8000, AC0, AR1 ; |175|
ADD AC0, AR1 ; |175|
SFTS AR1, #-1 ; |175|
MOV AR1, *(#_dataMax) ; |175|
.line 39
MOV AR1, T0 ; |176|
SFTL T0, #1 ; |176|
AMOV #_mcaData512, XAR3 ; |176|
MOV AR1, T0 ; |176|
|| MOV dbl(*AR3(T0)), AC0 ; |176|
SFTL T0, #1 ; |176|
ADD #1, AC0 ; |176|
MOV AC0, dbl(*AR3(T0)) ; |176|
.line 40
MOV dbl(*(#_nRecordCorrect)), AC0 ; |177|
ADD #1, AC0 ; |177|
MOV AC0, dbl(*(#_nRecordCorrect)) ; |177|
.line 41
B L28 ; |178|
; branch occurs ; |178|
L26:
.line 44
MOV dbl(*(#_nRecordOverFlow)), AC0 ; |181|
ADD #1, AC0 ; |181|
MOV AC0, dbl(*(#_nRecordOverFlow)) ; |181|
.line 46
B L28 ; |183|
; branch occurs ; |183|
L27:
.line 49
MOV dbl(*(#_nRecordOverFlow)), AC0 ; |186|
ADD #1, AC0 ; |186|
MOV AC0, dbl(*(#_nRecordOverFlow)) ; |186|
L28:
.line 51
ADD #1, *(#_ii) ; |188|
MOV #4, AR2
MOV *(#_ii), AR1 ; |188|
CMP AR1 < AR2, TC1 ; |188|
|| NOP ; avoids Silicon Exception CPU_24
BCC L19,TC1 ; |188|
; branch occurs ; |188|
L29:
.line 52
AADD #3, SP
RET
; return occurs
.endfunc 189,000000000h,3
.sect ".text"
.align 4
.global _GetNegTopValue
.sym _GetNegTopValue,_GetNegTopValue, 32, 2, 0
.func 191
;*******************************************************************************
;* FUNCTION NAME: _GetNegTopValue *
;* *
;* Function Uses Regs : AC0,AC0,AC1,AC1,T0,AR0,XAR0,AR1,AR2,AR3,XAR3,SP, *
;* CARRY,TC1,M40,SATA,SATD,RDM,FRCT,SMUL *
;* Stack Frame : Compact (No Frame Pointer, w/ debug) *
;* Total Frame Size : 4 words *
;* (2 return address/alignment) *
;* (2 local values) *
;*******************************************************************************
_GetNegTopValue:
.line 2
;* AR0 assigned to _pDataBuffer
.sym _pDataBuffer,17, 19, 17, 23
.sym _pDataBuffer,0, 19, 1, 23
AADD #-3, SP
MOV XAR0, dbl(*SP(#0))
.line 3
MOV #0, *(#_ii) ; |193|
MOV #4, AR1
MOV *(#_ii), AR2 ; |193|
CMP AR2 >= AR1, TC1 ; |193|
|| NOP ; avoids Silicon Exception CPU_24
BCC L40,TC1 ; |193|
; branch occurs ; |193|
L30:
.line 5
MOV #16384, *(#_dataMax) ; |195|
.line 6
MOV #0, *(#_bOverFlow) ; |196|
.line 7
MOV #10, *(#_jj) ; |197|
MOV #512, AR1 ; |197|
MOV *(#_jj), AR2 ; |197|
CMP AR2 >= AR1, TC1 ; |197|
|| NOP ; avoids Silicon Exception CPU_24
BCC L34,TC1 ; |197|
; branch occurs ; |197|
L31:
.line 9
MOV AR2, T0 ; |199|
MOV dbl(*SP(#0)), XAR3
MOV *(#_ii), AC1 ; |199|
MOV T0, AC0 ; |199|
ADD AC1 << #9, AC0 ; |199|
MOV AC0, T0 ; |199|
MOV *AR3(T0), AR1 ; |199|
BCC L32,AR1 >= #0 ; |199|
; branch occurs ; |199|
.line 11
MOV #1, *(#_bOverFlow) ; |201|
.line 12
MOV #512, *(#_jj) ; |202|
.line 13
B L33 ; |203|
; branch occurs ; |203|
L32:
.line 16
MOV AR2, T0
MOV dbl(*SP(#0)), XAR3
MOV T0, AC0 ; |206|
ADD AC1 << #9, AC0 ; |206|
MOV AC0, T0 ; |206|
MOV *(#_dataMax), AR1 ; |206|
MOV *AR3(T0), AR2 ; |206|
CMP AR2 >= AR1, TC1 ; |206|
|| NOP ; avoids Silicon Exception CPU_24
BCC L33,TC1 ; |206|
; branch occurs ; |206|
.line 17
MOV *(#_jj), T0 ; |207|
MOV dbl(*SP(#0)), XAR3
MOV T0, AC0 ; |207|
ADD AC1 << #9, AC0 ; |207|
MOV AC0, T0 ; |207|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -