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

📄 dataprocessing.asm

📁 使用5509A的usb的程序代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        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 + -