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

📄 dataprocessing.asm

📁 使用5509A的usb的程序代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        CMP *(#_indicatorOfPolarity) == #1, TC1 ; |68| 
        BCC L1,!TC1 ; |68| 
                                        ; branch occurs	; |68| 
	.line	6
        AMOV #_databuffer0, XAR0 ; |69| 
        CALL #_GetPosTopValue ; |69| 
                                        ; call occurs [#_GetPosTopValue]	; |69| 
        B L6      ; |69| 
                                        ; branch occurs	; |69| 
L1:    
	.line	7
        CMP *(#_indicatorOfPolarity) == #2, TC1 ; |70| 
        BCC L6,!TC1 ; |70| 
                                        ; branch occurs	; |70| 
	.line	8
        AMOV #_databuffer0, XAR0 ; |71| 
        CALL #_GetNegTopValue ; |71| 
                                        ; call occurs [#_GetNegTopValue]	; |71| 
	.line	9
        B L6      ; |72| 
                                        ; branch occurs	; |72| 
L2:    
	.line	10
        CMP *(#_indicatorOfProcMeth) == #2, TC1 ; |73| 
        BCC L4,!TC1 ; |73| 
                                        ; branch occurs	; |73| 
	.line	12
        CMP *(#_indicatorOfPolarity) == #1, TC1 ; |75| 
        BCC L3,!TC1 ; |75| 
                                        ; branch occurs	; |75| 
	.line	13
        AMOV #_databuffer0, XAR0 ; |76| 
        CALL #_GetPosTrValue ; |76| 
                                        ; call occurs [#_GetPosTrValue]	; |76| 
        B L6      ; |76| 
                                        ; branch occurs	; |76| 
L3:    
	.line	14
        CMP *(#_indicatorOfPolarity) == #2, TC1 ; |77| 
        BCC L6,!TC1 ; |77| 
                                        ; branch occurs	; |77| 
	.line	15
        AMOV #_databuffer0, XAR0 ; |78| 
        CALL #_GetNegTrValue ; |78| 
                                        ; call occurs [#_GetNegTrValue]	; |78| 
	.line	16
        B L6      ; |79| 
                                        ; branch occurs	; |79| 
L4:    
	.line	17
        CMP *(#_indicatorOfProcMeth) == #3, TC1 ; |80| 
        BCC L6,!TC1 ; |80| 
                                        ; branch occurs	; |80| 
	.line	19
        CMP *(#_indicatorOfPolarity) == #1, TC1 ; |82| 
        BCC L5,!TC1 ; |82| 
                                        ; branch occurs	; |82| 
	.line	20
        AMOV #_databuffer0, XAR0 ; |83| 
        CALL #_GetPos3ptValue ; |83| 
                                        ; call occurs [#_GetPos3ptValue]	; |83| 
        B L6      ; |83| 
                                        ; branch occurs	; |83| 
L5:    
	.line	21
        CMP *(#_indicatorOfPolarity) == #2, TC1 ; |84| 
        BCC L6,!TC1 ; |84| 
                                        ; branch occurs	; |84| 
	.line	22
        AMOV #_databuffer0, XAR0 ; |85| 
        CALL #_GetNeg3ptValue ; |85| 
                                        ; call occurs [#_GetNeg3ptValue]	; |85| 
L6:    
	.line	25
        AND #0xfffe, *(#_iBufferReady) ; |88| 
	.line	26
        AADD #1, SP
        RET
                                        ; return occurs
	.endfunc	89,000000000h,1



	.sect	".text"
	.align 4
	.global	_Buffer1Processing
	.sym	_Buffer1Processing,_Buffer1Processing, 32, 2, 0
	.func	92
;*******************************************************************************
;* FUNCTION NAME: _Buffer1Processing                                           *
;*                                                                             *
;*   Function Uses Regs : AR0,XAR0,SP,TC1,M40,SATA,SATD,RDM,FRCT,SMUL          *
;*   Stack Frame        : Compact (No Frame Pointer, w/ debug)                 *
;*   Total Frame Size   : 2 words                                              *
;*                        (2 return address/alignment)                         *
;*******************************************************************************
_Buffer1Processing:
	.line	2
        AADD #-1, SP
	.line	3
        CMP *(#_indicatorOfProcMeth) == #1, TC1 ; |94| 
        BCC L8,!TC1 ; |94| 
                                        ; branch occurs	; |94| 
	.line	5
        CMP *(#_indicatorOfPolarity) == #1, TC1 ; |96| 
        BCC L7,!TC1 ; |96| 
                                        ; branch occurs	; |96| 
	.line	6
        AMOV #_databuffer1, XAR0 ; |97| 
        CALL #_GetPosTopValue ; |97| 
                                        ; call occurs [#_GetPosTopValue]	; |97| 
        B L12     ; |97| 
                                        ; branch occurs	; |97| 
L7:    
	.line	7
        CMP *(#_indicatorOfPolarity) == #2, TC1 ; |98| 
        BCC L12,!TC1 ; |98| 
                                        ; branch occurs	; |98| 
	.line	8
        AMOV #_databuffer1, XAR0 ; |99| 
        CALL #_GetNegTopValue ; |99| 
                                        ; call occurs [#_GetNegTopValue]	; |99| 
	.line	9
        B L12     ; |100| 
                                        ; branch occurs	; |100| 
L8:    
	.line	10
        CMP *(#_indicatorOfProcMeth) == #2, TC1 ; |101| 
        BCC L10,!TC1 ; |101| 
                                        ; branch occurs	; |101| 
	.line	12
        CMP *(#_indicatorOfPolarity) == #1, TC1 ; |103| 
        BCC L9,!TC1 ; |103| 
                                        ; branch occurs	; |103| 
	.line	13
        AMOV #_databuffer1, XAR0 ; |104| 
        CALL #_GetPosTrValue ; |104| 
                                        ; call occurs [#_GetPosTrValue]	; |104| 
        B L12     ; |104| 
                                        ; branch occurs	; |104| 
L9:    
	.line	14
        CMP *(#_indicatorOfPolarity) == #2, TC1 ; |105| 
        BCC L12,!TC1 ; |105| 
                                        ; branch occurs	; |105| 
	.line	15
        AMOV #_databuffer1, XAR0 ; |106| 
        CALL #_GetNegTrValue ; |106| 
                                        ; call occurs [#_GetNegTrValue]	; |106| 
	.line	16
        B L12     ; |107| 
                                        ; branch occurs	; |107| 
L10:    
	.line	17
        CMP *(#_indicatorOfProcMeth) == #3, TC1 ; |108| 
        BCC L12,!TC1 ; |108| 
                                        ; branch occurs	; |108| 
	.line	19
        CMP *(#_indicatorOfPolarity) == #1, TC1 ; |110| 
        BCC L11,!TC1 ; |110| 
                                        ; branch occurs	; |110| 
	.line	20
        AMOV #_databuffer1, XAR0 ; |111| 
        CALL #_GetPos3ptValue ; |111| 
                                        ; call occurs [#_GetPos3ptValue]	; |111| 
        B L12     ; |111| 
                                        ; branch occurs	; |111| 
L11:    
	.line	21
        CMP *(#_indicatorOfPolarity) == #2, TC1 ; |112| 
        BCC L12,!TC1 ; |112| 
                                        ; branch occurs	; |112| 
	.line	22
        AMOV #_databuffer1, XAR0 ; |113| 
        CALL #_GetNeg3ptValue ; |113| 
                                        ; call occurs [#_GetNeg3ptValue]	; |113| 
L12:    
	.line	25
        AND #0xfffd, *(#_iBufferReady) ; |116| 
	.line	26
        AADD #1, SP
        RET
                                        ; return occurs
	.endfunc	117,000000000h,1



	.sect	".text"
	.align 4
	.global	_GenerateH
	.sym	_GenerateH,_GenerateH, 32, 2, 0
	.func	120
;*******************************************************************************
;* FUNCTION NAME: _GenerateH                                                   *
;*                                                                             *
;*   Function Uses Regs : AC0,AC0,AC1,AC1,T0,T1,AR0,AR1,AR2,XAR2,AR3,XAR3,SP,  *
;*                        CARRY,TC1,M40,SATA,SATD,RDM,FRCT,SMUL                *
;*   Stack Frame        : Compact (No Frame Pointer, w/ debug)                 *
;*   Total Frame Size   : 10 words                                             *
;*                        (2 return address/alignment)                         *
;*                        (8 local values)                                     *
;*******************************************************************************
_GenerateH:
	.line	2
;* T0    assigned to _na
	.sym	_na,12, 13, 17, 16
;* T1    assigned to _nb
	.sym	_nb,13, 13, 17, 16
;* AR0   assigned to _nc
	.sym	_nc,16, 13, 17, 16
;* AR1   assigned to _nf
	.sym	_nf,18, 13, 17, 16
;* AR2   assigned to _h
	.sym	_h,21, 29, 17, 23
	.sym	_na,0, 13, 1, 16
	.sym	_nb,1, 13, 1, 16
	.sym	_nc,2, 13, 1, 16
	.sym	_nf,3, 13, 1, 16
	.sym	_h,4, 29, 1, 23
        AADD #-9, SP
        MOV XAR2, dbl(*SP(#4))
        MOV AR1, *SP(#3) ; |121| 
        MOV AR0, *SP(#2) ; |121| 
        MOV T1, *SP(#1) ; |121| 
        MOV T0, *SP(#0) ; |121| 
	.line	3
        MOV *SP(#3), T0 ; |122| 
        CALL #__fltud ; |122| 
                                        ; call occurs [#__fltud]	; |122| 
        OR #0, AC0, AC1
        MOV dbl(*(FL1)), AC0 ; |122| 
        CALL #__divd ; |122| 
                                        ; call occurs [#__divd]	; |122| 
        CALL #_exp ; |122| 
                                        ; call occurs [#_exp]	; |122| 
        OR #0, AC0, AC1
        MOV dbl(*(FL2)), AC0 ; |122| 
        CALL #__subd ; |122| 
                                        ; call occurs [#__subd]	; |122| 
        OR #0, AC0, AC1
        MOV dbl(*(FL2)), AC0 ; |122| 
        CALL #__divd ; |122| 
                                        ; call occurs [#__divd]	; |122| 
        MOV AC0, dbl(*(#_factor)) ; |122| 
	.line	5
        MOV *SP(#0), AR1 ; |124| 
        MOV #0, *(#_ii) ; |124| 
        MOV *(#_ii), AR2 ; |124| 

        CMPU AR2 >= AR1, TC1 ; |124| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L14,TC1 ; |124| 
                                        ; branch occurs	; |124| 
L13:    
	.line	7
        MOV *(#_ii), T0 ; |126| 
        CALL #__fltid ; |126| 
                                        ; call occurs [#__fltid]	; |126| 
        OR #0, AC0, AC1
        MOV dbl(*(#_factor)), AC0 ; |126| 
        CALL #__addd ; |126| 
                                        ; call occurs [#__addd]	; |126| 
        MOV *SP(#0), T0 ; |126| 
        MOV AC0, dbl(*SP(#6)) ; |126| 
        CALL #__fltud ; |126| 
                                        ; call occurs [#__fltud]	; |126| 

        MOV dbl(*SP(#6)), AC0 ; |126| 
||      OR #0, AC0, AC1

        CALL #__divd ; |126| 
                                        ; call occurs [#__divd]	; |126| 
        MOV AC0, dbl(*SP(#6)) ; |126| 
        MOV *SP(#3), T0 ; |126| 
        CALL #__fltud ; |126| 
                                        ; call occurs [#__fltud]	; |126| 

        MOV dbl(*SP(#6)), AC0 ; |126| 
||      OR #0, AC0, AC1

        CALL #__divd ; |126| 
                                        ; call occurs [#__divd]	; |126| 
        CALL #__fixdu ; |126| 
                                        ; call occurs [#__fixdu]	; |126| 
        MOV T0, AR1 ; |126| 
        MOV *(#_ii), T0 ; |126| 
        MOV dbl(*SP(#4)), XAR3
        MOV AR1, *AR3(T0) ; |126| 
	.line	8
        ADD #1, *(#_ii) ; |127| 
        MOV *(#_ii), AR2 ; |127| 
        MOV *SP(#0), AR1 ; |127| 

        CMPU AR2 < AR1, TC1 ; |127| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L13,TC1 ; |127| 
                                        ; branch occurs	; |127| 
L14:    
	.line	9
        MOV *SP(#1), AR1 ; |128| 

        CMPU AR2 >= AR1, TC1 ; |128| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L16,TC1 ; |128| 
                                        ; branch occurs	; |128| 
L15:    
	.line	11

        MOV #1, T0
||      MOV *SP(#3), T1 ; |130| 

        CALL #I$$UDIV ; |130| 
                                        ; call occurs [#I$$UDIV]	; |130| 
        MOV dbl(*SP(#4)), XAR3
        MOV T0, AR1 ; |130| 
        MOV *(#_ii), T0 ; |130| 
        MOV AR1, *AR3(T0) ; |130| 
	.line	12
        ADD #1, *(#_ii) ; |131| 
        MOV *SP(#1), AR1 ; |131| 
        MOV *(#_ii), AR2 ; |131| 

        CMPU AR2 < AR1, TC1 ; |131| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L15,TC1 ; |131| 
                                        ; branch occurs	; |131| 
L16:    
	.line	13
        MOV *SP(#2), AR2 ; |132| 
        MOV *(#_ii), AR1 ; |132| 

        CMPU AR1 >= AR2, TC1 ; |132| 
||      NOP       ; 	avoids Silicon Exception CPU_24

        BCC L18,TC1 ; |132| 
                                        ; branch occurs	; |132| 
L17:    
	.line	15
        MOV *(#_ii), AR1 ; |134| 
        SUB AR1, *SP(#2), T0 ; |134| 
        CALL #__fltud ; |134| 
                                        ; call occurs [#__fltud]	; |134| 
        MOV dbl(*(#_factor)), AC1 ; |134| 
        CALL #__subd ; |134| 
                                        ; call occurs [#__subd]	; |134| 
        MOV *SP(#0), T0 ; |134| 
        MOV AC0, dbl(*SP(#6)) ; |134| 
        CALL #__fltud ; |134| 
                                        ; call occurs [#__fltud]	; |134| 

        MOV dbl(*SP(#6)), AC0 ; |134| 
||      OR #0, AC0, AC1

        CALL #__divd ; |134| 
                                        ; call occurs [#__divd]	; |134| 
        MOV *SP(#3), T0 ; |134| 
        MOV AC0, dbl(*SP(#6)) ; |134| 
        CALL #__fltud ; |134| 
                                        ; call occurs [#__fltud]	; |134| 

        MOV dbl(*SP(#6)), AC0 ; |134| 
||      OR #0, AC0, AC1

        CALL #__divd ; |134| 
                                        ; call occurs [#__divd]	; |134| 
        CALL #__fixdu ; |134| 
                                        ; call occurs [#__fixdu]	; |134| 
        MOV dbl(*SP(#4)), XAR3

⌨️ 快捷键说明

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