⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataprocessing.asm

📁 使用5509A的usb的程序代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        MOV *AR3(T0), AR1 ; |207| 
        MOV AR1, *(#_dataMax) ; |207| 
L33:    
	.line	19
        ADD #1, *(#_jj) ; |209| 
        MOV #512, AR1 ; |209| 
        MOV *(#_jj), AR2 ; |209| 

        CMP AR2 < AR1, TC1 ; |209| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L31,TC1 ; |209| 
                                        ; branch occurs	; |209| 
L34:    
	.line	21
        MOV *(#_bOverFlow), AR1 ; |211| 
        BCC L38,AR1 != #0 ; |211| 
                                        ; branch occurs	; |211| 
	.line	24
        MOV #0, AC0 ; |214| 
        MOV AC0, dbl(*(#_dataMean)) ; |214| 
	.line	25
        MOV #50, *(#_jj) ; |215| 
        MOV #66, AR1 ; |215| 
        MOV *(#_jj), AR2 ; |215| 

        CMP AR2 >= AR1, TC1 ; |215| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L36,TC1 ; |215| 
                                        ; branch occurs	; |215| 
L35:    
	.line	26
        MOV AR2, T0 ; |216| 
        MOV dbl(*SP(#0)), XAR3
        MOV *(#_ii), AC1 ; |216| 
        MOV T0, AC0 ; |216| 
        ADD AC1 << #9, AC0 ; |216| 
        MOV AC0, T0 ; |216| 
        MOV *AR3(T0), AC0 ; |216| 
        ADD #1, *(#_jj) ; |216| 
        MOV *(#_jj), AR2 ; |216| 

        CMP AR2 < AR1, TC1 ; |216| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        ADD dbl(*(#_dataMean)), AC0, AC0 ; |216| 
        MOV AC0, dbl(*(#_dataMean)) ; |216| 
        BCC L35,TC1 ; |216| 
                                        ; branch occurs	; |216| 
L36:    
	.line	27
        MOV dbl(*(#_dataMean)), AC0 ; |217| 
        CALL #__fltlid ; |217| 
                                        ; call occurs [#__fltlid]	; |217| 
        MOV dbl(*(FL3)), AC1 ; |217| 
        CALL #__mpyd ; |217| 
                                        ; call occurs [#__mpyd]	; |217| 
        CALL #__fixdli ; |217| 
                                        ; call occurs [#__fixdli]	; |217| 
        MOV AC0, dbl(*(#_dataMean)) ; |217| 
	.line	28
        MOV *(#_dataMax), AC0 ; |218| 
        SUB AC0, dbl(*(#_dataMean)), AC0 ; |218| 
        MOV AC0, *(#_dataMax) ; |218| 
	.line	30
        MOV AC0, AR1
        BCC L37,AR1 < #0 ; |220| 
                                        ; branch occurs	; |220| 

        MOV AC0, AR2 ; |220| 
||      MOV #8192, AR1 ; |220| 

        CMP AR2 >= AR1, TC1 ; |220| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L37,TC1 ; |220| 
                                        ; branch occurs	; |220| 
	.line	33
        MOV AC0, T0 ; |223| 
        SFTL T0, #1 ; |223| 
        AMOV #_mcaData, XAR3 ; |223| 

        MOV AR2, T0 ; |223| 
||      MOV dbl(*AR3(T0)), AC0 ; |223| 

        SFTL T0, #1 ; |223| 
        ADD #1, AC0 ; |223| 
        MOV AC0, dbl(*AR3(T0)) ; |223| 
	.line	34
        MOV *(#_dataMax), AC0 ; |224| 
        SFTL AC0, #-30, AC1 ; |224| 
        ADD AC0, AC1 ; |224| 
        SFTS AC1, #-2, AC0 ; |224| 
        MOV AC0, *(#_dataMax) ; |224| 
	.line	35
        MOV AC0, T0 ; |225| 
        SFTL T0, #1 ; |225| 
        AMOV #_mcaData2048, XAR3 ; |225| 
        MOV dbl(*AR3(T0)), AC0 ; |225| 
        MOV *(#_dataMax), T0 ; |225| 
        SFTL T0, #1 ; |225| 
        ADD #1, AC0 ; |225| 
        MOV AC0, dbl(*AR3(T0)) ; |225| 
	.line	36
        MOV *(#_dataMax), AC0 ; |226| 
        BFXTR #0x8000, AC0, AR1 ; |226| 
        ADD AC0, AR1 ; |226| 
        SFTS AR1, #-1 ; |226| 
        MOV AR1, *(#_dataMax) ; |226| 
	.line	37
        MOV AR1, T0 ; |227| 
        SFTL T0, #1 ; |227| 
        AMOV #_mcaData1024, XAR3 ; |227| 

        MOV AR1, T0 ; |227| 
||      MOV dbl(*AR3(T0)), AC0 ; |227| 

        SFTL T0, #1 ; |227| 
        ADD #1, AC0 ; |227| 
        MOV AC0, dbl(*AR3(T0)) ; |227| 
	.line	38
        MOV *(#_dataMax), AC0 ; |228| 
        BFXTR #0x8000, AC0, AR1 ; |228| 
        ADD AC0, AR1 ; |228| 
        SFTS AR1, #-1 ; |228| 
        MOV AR1, *(#_dataMax) ; |228| 
	.line	39
        MOV AR1, T0 ; |229| 
        SFTL T0, #1 ; |229| 
        AMOV #_mcaData512, XAR3 ; |229| 

        MOV AR1, T0 ; |229| 
||      MOV dbl(*AR3(T0)), AC0 ; |229| 

        SFTL T0, #1 ; |229| 
        ADD #1, AC0 ; |229| 
        MOV AC0, dbl(*AR3(T0)) ; |229| 
	.line	40
        MOV dbl(*(#_nRecordCorrect)), AC0 ; |230| 
        ADD #1, AC0 ; |230| 
        MOV AC0, dbl(*(#_nRecordCorrect)) ; |230| 
	.line	41
        B L39     ; |231| 
                                        ; branch occurs	; |231| 
L37:    
	.line	44
        MOV dbl(*(#_nRecordOverFlow)), AC0 ; |234| 
        ADD #1, AC0 ; |234| 
        MOV AC0, dbl(*(#_nRecordOverFlow)) ; |234| 
	.line	46
        B L39     ; |236| 
                                        ; branch occurs	; |236| 
L38:    
	.line	49
        MOV dbl(*(#_nRecordOverFlow)), AC0 ; |239| 
        ADD #1, AC0 ; |239| 
        MOV AC0, dbl(*(#_nRecordOverFlow)) ; |239| 
L39:    
	.line	51
        ADD #1, *(#_ii) ; |241| 
        MOV #4, AR2
        MOV *(#_ii), AR1 ; |241| 

        CMP AR1 < AR2, TC1 ; |241| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L30,TC1 ; |241| 
                                        ; branch occurs	; |241| 
L40:    
	.line	52
        AADD #3, SP
        RET
                                        ; return occurs
	.endfunc	242,000000000h,3



	.sect	".text"
	.align 4
	.global	_GetPosTrValue
	.sym	_GetPosTrValue,_GetPosTrValue, 32, 2, 0
	.func	245
;*******************************************************************************
;* FUNCTION NAME: _GetPosTrValue                                               *
;*                                                                             *
;*   Function Uses Regs : AC0,AC0,AC1,AC1,AC2,AC2,T0,T1,AR0,XAR0,AR1,XAR1,AR2, *
;*                        XAR2,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)                                     *
;*******************************************************************************
_GetPosTrValue:
	.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) ; |247| 
        MOV #4, AR1
        MOV *(#_ii), AR2 ; |247| 

        CMP AR2 >= AR1, TC1 ; |247| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L51,TC1 ; |247| 
                                        ; branch occurs	; |247| 
L41:    
	.line	6
        MOV #0, AC0 ; |250| 
        MOV AC0, dbl(*(#_dataMean)) ; |250| 
	.line	7
        MOV #50, *(#_jj) ; |251| 
        MOV #66, AR1 ; |251| 
        MOV *(#_jj), AR2 ; |251| 

        CMP AR2 >= AR1, TC1 ; |251| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        MOV #66, AR2 ; |252| 
        BCC L43,TC1 ; |251| 
                                        ; branch occurs	; |251| 
L42:    
	.line	8
        MOV *(#_jj), T0 ; |252| 
        MOV dbl(*SP(#0)), XAR3
        MOV *(#_ii), AC1 ; |252| 
        MOV T0, AC0 ; |252| 
        ADD AC1 << #9, AC0 ; |252| 
        MOV AC0, T0 ; |252| 
        MOV *AR3(T0), AC0 ; |252| 
        ADD #1, *(#_jj) ; |252| 
        MOV *(#_jj), AR1 ; |252| 

        CMP AR1 < AR2, TC1 ; |252| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        ADD dbl(*(#_dataMean)), AC0, AC0 ; |252| 
        MOV AC0, dbl(*(#_dataMean)) ; |252| 
        BCC L42,TC1 ; |252| 
                                        ; branch occurs	; |252| 
L43:    
	.line	9
        MOV dbl(*(#_dataMean)), AC0 ; |253| 
        CALL #__fltlid ; |253| 
                                        ; call occurs [#__fltlid]	; |253| 
        MOV dbl(*(FL3)), AC1 ; |253| 
        CALL #__mpyd ; |253| 
                                        ; call occurs [#__mpyd]	; |253| 
        CALL #__fixdli ; |253| 
                                        ; call occurs [#__fixdli]	; |253| 
        MOV AC0, dbl(*(#_dataMean)) ; |253| 
	.line	12
        MOV #0, *(#_jj) ; |256| 
        MOV *(#_jj), AR2 ; |256| 
        MOV #512, AR1 ; |256| 

        CMP AR2 >= AR1, TC1 ; |256| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        MOV #512, AR2 ; |257| 
        BCC L45,TC1 ; |256| 
                                        ; branch occurs	; |256| 
L44:    
	.line	13
        MOV *(#_jj), T0 ; |257| 
        MOV dbl(*SP(#0)), XAR3
        MOV *(#_ii), AC1 ; |257| 
        MOV T0, AC0 ; |257| 
        ADD AC1 << #9, AC0 ; |257| 
        MOV AC0, T0 ; |257| 
        MOV *AR3(T0), AC0 ; |257| 
        MOV *(#_jj), T0 ; |257| 
        MOV dbl(*SP(#0)), XAR3
        SUB dbl(*(#_dataMean)), AC0, AC2 ; |257| 
        MOV T0, AC0 ; |257| 
        ADD AC1 << #9, AC0 ; |257| 
        MOV AC0, T0 ; |257| 
        MOV AC2, *AR3(T0) ; |257| 
        ADD #1, *(#_jj) ; |257| 
        MOV *(#_jj), AR1 ; |257| 

        CMP AR1 < AR2, TC1 ; |257| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L44,TC1 ; |257| 
                                        ; branch occurs	; |257| 
L45:    
	.line	15
        MOV *(#_ii), AC0 ; |259| 
        SFTS AC0, #9, AC0 ; |259| 
        MOV dbl(*SP(#0)), XAR0
        MOV AC0, AR1 ; |259| 
        MOV dbl(*(#_dbptr)), XAR3
        AMOV #_r, XAR2 ; |259| 
        MOV #100, T1 ; |259| 
        MOV #512, T0 ; |259| 
        AADD AR1, AR0
        AMOV #_h, XAR1 ; |259| 
        CALL #_fir2 ; |259| 
                                        ; call occurs [#_fir2]	; |259| 
	.line	17
        MOV *(#(_r+100)), AR1 ; |261| 
        MOV AR1, *(#_dataMax) ; |261| 
	.line	18
        MOV #100, *(#_jj) ; |262| 
        MOV *(#_jj), AR2 ; |262| 
        MOV #240, AR1 ; |262| 

        CMP AR2 >= AR1, TC1 ; |262| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L48,TC1 ; |262| 
                                        ; branch occurs	; |262| 
L46:    
	.line	19
        MOV *(#_jj), T0 ; |263| 
        AMOV #_r, XAR3 ; |263| 
        MOV *(#_dataMax), AR2 ; |263| 
        MOV *AR3(T0), AR1 ; |263| 

        CMP AR2 >= AR1, TC1 ; |263| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L47,TC1 ; |263| 
                                        ; branch occurs	; |263| 
	.line	20
        MOV *AR3(T0), AR1 ; |264| 
        MOV AR1, *(#_dataMax) ; |264| 
L47:    
        ADD #1, *(#_jj) ; |264| 
        MOV #240, AR2 ; |264| 
        MOV *(#_jj), AR1 ; |264| 

        CMP AR1 < AR2, TC1 ; |264| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L46,TC1 ; |264| 
                                        ; branch occurs	; |264| 
L48:    
	.line	22
        MOV *(#_dataMax), AR1 ; |266| 
        BCC L49,AR1 < #0 ; |266| 
                                        ; branch occurs	; |266| 
        MOV #8192, AR2 ; |266| 

        CMP AR1 >= AR2, TC1 ; |266| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L49,TC1 ; |266| 
                                        ; branch occurs	; |266| 
	.line	24
        MOV AR1, T0 ; |268| 
        SFTL T0, #1 ; |268| 
        AMOV #_mcaData, XAR3 ; |268| 

        MOV AR1, T0 ; |268| 
||      MOV dbl(*AR3(T0)), AC0 ; |268| 

        SFTL T0, #1 ; |268| 
        ADD #1, AC0 ; |268| 
        MOV AC0, dbl(*AR3(T0)) ; |268| 
	.line	25
        MOV *(#_dataMax), AC0 ; |269| 
        SFTL AC0, #-30, AC1 ; |269| 
        ADD AC0, AC1 ; |269| 
        SFTS AC1, #-2, AC0 ; |269| 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -