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

📄 hello.asm

📁 dspled通讯程序样例
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;***************************************************************
;* TMS320C54x ANSI C Codegen                      Version 3.70 *
;* Date/Time created: Mon Jun 12 17:30:42 2006                 *
;***************************************************************
	.mmregs
FP	.set	AR7
	.c_mode
	.file	"hello.cpp"

	.sect	".const"
	.align	1
_SREG:
	.field  	0,16			; _SREG @ 0
	.sect	".text"
	.sym	_SREG,_SREG, 24, 3, 16, __TI_SREG

	.sect	".const"
	.align	1
_TIMER0:
	.field  	36,16			; _TIMER0 @ 0
	.sect	".text"
	.sym	_TIMER0,_TIMER0, 24, 3, 16, __TI_TIMER
	.global	_IOXF
	.bss	_IOXF,1,0,0
	.sym	_IOXF,_IOXF, 4, 2, 16
	.global	_SystemRamTest
	.bss	_SystemRamTest,1,0,0
	.sym	_SystemRamTest,_SystemRamTest, 14, 2, 16
	.global	_Sys
	.bss	_Sys,1,0,0
	.sym	_Sys,_Sys, 8, 2, 16, _SystemObj
;	c:\ti\c5400\cgtools\bin\opt500.exe -n2 -s -O3 -Z C:\DOCUME~1\pei\LOCALS~1\Temp\TI240_2 C:\DOCUME~1\pei\LOCALS~1\Temp\TI240_4 -w D:/dspbird/Debug 
	.sect	".text"
	.sym	_SystemInit__9SystemObjFv,_SystemInit__9SystemObjFv, 32, 3, 0
	.func	51

;***************************************************************
;* FUNCTION DEF: _SystemInit__9SystemObjFv                     *
;***************************************************************
_SystemInit__9SystemObjFv:
	.line	2
;* A     assigned to _this
	.sym	_this,0, 24, 17, 16, _SystemObj
;* AR1   assigned to _this
	.sym	_this,10, 24, 4, 16, _SystemObj
;** 53	-----------------------    if ( SystemRamTest == 21930u ) goto g2;
        PSHM      AR1
        STLM      A,AR1
	.line	3
        CMPM      *(_SystemRamTest),#21930 ; |53| 
        BC        L1,TC                 ; |53| 
        ; branch occurs ; |53| 
;** 54	-----------------------    SystemRamTest = 21930u;
	.line	4
        ST        #21930,*(_SystemRamTest) ; |54| 
L1:    
;**	-----------------------g2:
;** 56	-----------------------    if ( this->SystemRamTest == 21930u ) goto g4;
	.line	6
        CMPM      *AR1,#21930           ; |56| 
        BC        L2,TC                 ; |56| 
        ; branch occurs ; |56| 
;** 57	-----------------------    this->SystemRamTest = 21930u;
	.line	7
        ST        #21930,*AR1           ; |57| 
L2:    
;**	-----------------------g4:
;** 59	-----------------------    IOXF = 0;
;** 59	-----------------------    return;
	.line	9
        ST        #0,*(_IOXF)           ; |59| 
	.line	10
        POPM      AR1
        RET
        ; return occurs
	.endfunc	60,000000400h,1


	.sect	".text"
	.global	_main
	.sym	_main,_main, 36, 2, 0
	.func	65

;***************************************************************
;* FUNCTION DEF: _main                                         *
;***************************************************************
_main:
	.line	2
;* BRC   assigned to L$1
	.sym	L$1,25, 4, 4, 16
;* A     assigned to L$1
	.sym	L$1,0, 4, 4, 16
;* A     assigned to _j
	.sym	_j,0, 14, 4, 16
;
; BRC	assigned to temp var  L$1
;
;** 68	-----------------------    SystemInit(&Sys);
;** 69	-----------------------    (NULL)->ST1 |= 0x4000u;
;** 71	-----------------------    (NULL)->ST1 &= 0xbfffu;
;** 73	-----------------------    (NULL)->ST1 |= 0x2000u;
;** 75	-----------------------    (NULL)->ST1 &= 0xdfffu;
;** 76	-----------------------    (NULL)->ST1 |= 0x2000u;
;** 78	-----------------------    (NULL)->ST1 &= 0xdfffu;
;** 80	-----------------------    (NULL)->ST1 |= 0x800u;
;** 81	-----------------------    (NULL)->ST1 &= 0xf7ffu;
;** 83	-----------------------    ((volatile struct __TI_TIMER * const)0x24u)->TCR |= 0x10u;
;** 84	-----------------------    (NULL)->IMR = 0u;
;** 85	-----------------------    (NULL)->IFR = 0xffffu;
;** 86	-----------------------    asm(" rsbx intm");
;** 87	-----------------------    (NULL)->IMR = 0x9876u;
;** 88	-----------------------    (NULL)->IFR = 4660u;
;** 89	-----------------------    (NULL)->IMR = 17185u;
;** 90	-----------------------    (NULL)->IFR = 0xffffu;
;**  	-----------------------    #pragma MUST_ITERATE(8, 8, 8)
;** 67	-----------------------    j = 1u;
;**	-----------------------g2:
;**  	-----------------------    L$1 = 7;
;**	-----------------------g8:
        PSHM      AR1
	.line	4
        LD        #_Sys,A
        CALL      #_SystemInit__9SystemObjFv ; |68| 
        ; call occurs [#_SystemInit__9SystemObjFv] ; |68| 
	.line	5
        STM       #7,AR1
        ORM       #16384,*AR1           ; |69| 
	.line	7
        ANDM      #49151,*AR1           ; |71| 
	.line	9
        ORM       #8192,*AR1            ; |73| 
	.line	11
        ANDM      #57343,*AR1           ; |75| 
	.line	12
        ORM       #8192,*AR1            ; |76| 
	.line	14
        ANDM      #57343,*AR1           ; |78| 
	.line	16
        ORM       #2048,*AR1            ; |80| 
	.line	17
        ANDM      #63487,*AR1           ; |81| 
	.line	19
        STM       #38,AR1
        ORM       #16,*AR1              ; |83| 
	.line	20
        STM       #0,AR1
        ST        #0,*AR1               ; |84| 
	.line	21
        STM       #1,AR1
        ST        #65535,*AR1           ; |85| 
	.line	22
 rsbx intm
	.line	23
        STM       #0,AR1
        ST        #39030,*AR1           ; |87| 
	.line	24
        STM       #1,AR1
        ST        #4660,*AR1            ; |88| 
	.line	25
        STM       #0,AR1
        ST        #17185,*AR1           ; |89| 
	.line	26
        STM       #1,AR1
        ST        #65535,*AR1           ; |90| 
	.line	3
        STM       #7,BRC
        LD        #1,A
        RPTB      L4-1
        ; loop starts
L3:    
;** 92	-----------------------    (NULL)->IMR |= j;
;** 93	-----------------------    (NULL)->IFR &= ~j;
;** 94	-----------------------    j *= 2u;
;** 95	-----------------------    (NULL)->IMR = 17185u;
;** 96	-----------------------    (NULL)->IFR = 0xffffu;
;** 97	-----------------------    if ( --L$1 != -1 ) goto g8;
	.line	28
        STM       #0,AR1
        LD        A,B
        OR        *AR1,B                ; |92| 
        STL       B,*AR1
	.line	29
        CMPL      A,B                   ; |93| 
        STM       #1,AR1
        AND       *AR1,B                ; |93| 
        STL       B,*AR1
	.line	30
        SFTL      A,#1,A                ; |94| 
	.line	31
        STM       #0,AR1
        ST        #17185,*AR1           ; |95| 
	.line	32
        STM       #1,AR1
        ST        #65535,*AR1           ; |96| 
	.line	33
        ; loop ends ; |97| 
L4:    
;** 98	-----------------------    (NULL)->IMR = 8u;
;** 99	-----------------------    ((volatile struct __TI_TIMER * const)0x24u)->PRD = 5000u;
;** 100	-----------------------    ((volatile struct __TI_TIMER * const)0x24u)->TCR &= 0xffefu;
;** 101	-----------------------    goto g5;
	.line	34
        STM       #0,AR1
        ST        #8,*AR1               ; |98| 
	.line	35
        STM       #37,AR1
        ST        #5000,*AR1            ; |99| 
	.line	36
        STM       #38,AR1
        ANDM      #65519,*AR1           ; |100| 
	.line	37
        B         L6                    ; |101| 
        ; branch occurs ; |101| 
L5:    
;**	-----------------------g4:
;** 107	-----------------------    (NULL)->ST1 &= 0xdfffu;
	.line	43
        STM       #7,AR1
        ANDM      #57343,*AR1           ; |107| 
L6:    
;**	-----------------------g5:
;**	-----------------------g6:
;** 103	-----------------------    if ( !IOXF ) goto g4;
	.line	39
        LD        *(_IOXF),A            ; |103| 
        BC        L5,AEQ                ; |103| 
        ; branch occurs ; |103| 
;** 104	-----------------------    (NULL)->ST1 |= 0x2000u;
;** 105	-----------------------    goto g6;
	.line	40
        STM       #7,AR1
        ORM       #8192,*AR1            ; |104| 
	.line	41
        B         L6                    ; |105| 
        ; branch occurs ; |105| 
	.endfunc	110,000000400h,1


	.sect	".text"
	.global	___ct__9SystemObjFv

⌨️ 快捷键说明

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