📄 hello.asm
字号:
;***************************************************************
;* 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 + -