📄 example_28xgpio.asm
字号:
;***************************************************************
;* TMS320C2000 C/C++ Codegen PC Version 3.09 *
;* Date/Time created: Sat Jun 06 15:31:53 2009 *
;***************************************************************
FP .set XAR2
.file "Example_28xGpio.c"
.sect ".cinit"
.align 1
.field -1,16
.field _mn1+0,32
.field 0,16 ; _mn1 @ 0
.sect ".text"
.global _mn1
_mn1: .usect ".ebss",1,1,0
.sym _mn1,_mn1, 4, 2, 16
.sect ".cinit"
.align 1
.field -1,16
.field _i+0,32
.field 0,16 ; _i @ 0
.sect ".text"
.global _i
_i: .usect ".ebss",1,1,0
.sym _i,_i, 4, 2, 16
.sect ".cinit"
.align 1
.field -1,16
.field _mn3+0,32
.field 0,16 ; _mn3 @ 0
.sect ".text"
.global _mn3
_mn3: .usect ".ebss",1,1,0
.sym _mn3,_mn3, 4, 2, 16
.sect ".cinit"
.align 1
.field -1,16
.field _mn2+0,32
.field 0,16 ; _mn2 @ 0
.sect ".text"
.global _mn2
_mn2: .usect ".ebss",1,1,0
.sym _mn2,_mn2, 4, 2, 16
.sect ".cinit"
.align 1
.field -1,16
.field _k+0,32
.field 0,16 ; _k @ 0
.sect ".text"
.global _k
_k: .usect ".ebss",1,1,0
.sym _k,_k, 4, 2, 16
.sect ".cinit"
.align 1
.field -1,16
.field _Reverse+0,32
.field 0,16 ; _Reverse @ 0
.sect ".text"
.global _Reverse
_Reverse: .usect ".ebss",1,1,0
.sym _Reverse,_Reverse, 4, 2, 16
; C:\ti\c2000\cgtools\bin\ac2000.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI240_4
.sect ".text"
.global _delay
.sym _delay,_delay, 32, 2, 0
.func 37
;***************************************************************
;* FNAME: _delay FR SIZE: 2 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 2 Auto, 0 SOE *
;***************************************************************
_delay:
.line 1
.sym _i,-1, 3, 1, 16
.sym _j,-2, 3, 1, 16
ADDB SP,#2
.line 3
MOV *-SP[2],#0 ; |39|
CMP *-SP[2],#400 ; |39|
B L4,GEQ ; |39|
; branch occurs ; |39|
L1:
.line 4
MOV *-SP[1],#0 ; |40|
CMP *-SP[1],#4095 ; |40|
B L3,GEQ ; |40|
; branch occurs ; |40|
L2:
INC *-SP[1] ; |40|
CMP *-SP[1],#4095 ; |40|
B L2,LT ; |40|
; branch occurs ; |40|
L3:
.line 5
INC *-SP[2] ; |41|
CMP *-SP[2],#400 ; |41|
B L1,LT ; |41|
; branch occurs ; |41|
L4:
.line 6
SUBB SP,#2
LRETR
; return occurs
.endfunc 42,000000000h,2
.sect ".text"
.global _main
.sym _main,_main, 32, 2, 0
.func 45
;***************************************************************
;* FNAME: _main FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_main:
.line 2
.line 4
LCR #_InitSysCtrl ; |48|
; call occurs [#_InitSysCtrl] ; |48|
.line 5
setc INTM
.line 6
AND IER,#0 ; |50|
.line 7
AND IFR,#0 ; |51|
.line 8
LCR #_InitPieCtrl ; |52|
; call occurs [#_InitPieCtrl] ; |52|
.line 9
LCR #_InitPieVectTable ; |53|
; call occurs [#_InitPieVectTable] ; |53|
.line 10
clrc INTM
.line 11
clrc DBGM
.line 13
EALLOW
.line 15
MOVW DP,#_GpioMuxRegs+20
AND @_GpioMuxRegs+20,#0xfeff ; |59|
.line 16
AND @_GpioMuxRegs+20,#0xfdff ; |60|
.line 17
AND @_GpioMuxRegs+20,#0xf7ff ; |61|
.line 19
EDIS
.line 20
MOVW DP,#_GpioDataRegs+20
AND @_GpioDataRegs+20,#0xf7ff ; |64|
.line 21
AND @_GpioDataRegs+20,#0xfeff ; |65|
.line 22
AND @_GpioDataRegs+20,#0xfdff ; |66|
L5:
.line 26
MOVW DP,#_GpioDataRegs+20
AND @_GpioDataRegs+20,#0xfeff ; |70|
.line 27
OR @_GpioDataRegs+20,#0x0200 ; |71|
.line 28
OR @_GpioDataRegs+20,#0x0800 ; |72|
.line 29
LCR #_delay_loop ; |73|
; call occurs [#_delay_loop] ; |73|
.line 31
MOVW DP,#_GpioDataRegs+20
OR @_GpioDataRegs+20,#0x0100 ; |75|
.line 32
AND @_GpioDataRegs+20,#0xfdff ; |76|
.line 33
OR @_GpioDataRegs+20,#0x0800 ; |77|
.line 34
LCR #_delay_loop ; |78|
; call occurs [#_delay_loop] ; |78|
.line 36
MOVW DP,#_GpioDataRegs+20
OR @_GpioDataRegs+20,#0x0100 ; |80|
.line 37
OR @_GpioDataRegs+20,#0x0200 ; |81|
.line 38
AND @_GpioDataRegs+20,#0xf7ff ; |82|
.line 39
LCR #_delay_loop ; |83|
; call occurs [#_delay_loop] ; |83|
.line 41
B L5,UNC ; |85|
; branch occurs ; |85|
.endfunc 86,000000000h,0
.sect ".text"
.global _delay_loop
.sym _delay_loop,_delay_loop, 32, 2, 0
.func 88
;***************************************************************
;* FNAME: _delay_loop FR SIZE: 2 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 2 Auto, 0 SOE *
;***************************************************************
_delay_loop:
.line 2
.sym _i,-1, 3, 1, 16
.sym _j,-2, 3, 1, 16
ADDB SP,#2
.line 4
MOV *-SP[2],#0 ; |91|
MOV AL,*-SP[2] ; |91|
CMPB AL,#60 ; |91|
B L9,GEQ ; |91|
; branch occurs ; |91|
L6:
.line 5
MOV *-SP[1],#0 ; |92|
CMP *-SP[1],#65535 ; |92|
B L8,HIS ; |92|
; branch occurs ; |92|
L7:
INC *-SP[1] ; |92|
CMP *-SP[1],#65535 ; |92|
B L7,LO ; |92|
; branch occurs ; |92|
L8:
.line 6
INC *-SP[2] ; |93|
MOV AL,*-SP[2] ; |93|
CMPB AL,#60 ; |93|
B L6,LT ; |93|
; branch occurs ; |93|
L9:
.line 7
SUBB SP,#2
LRETR
; return occurs
.endfunc 94,000000000h,2
;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;***************************************************************
.global _InitPieVectTable
.global _InitSysCtrl
.global _InitPieCtrl
.global _GpioMuxRegs
.global _GpioDataRegs
;***************************************************************
;* TYPE INFORMATION *
;***************************************************************
.sym _Uint16, 0, 14, 13, 16
.stag _GPFMUX_BITS, 16
.member _SPISIMOA_GPIOF0, 0, 14, 18, 1
.member _SPISOMIA_GPIOF1, 1, 14, 18, 1
.member _SPICLKA_GPIOF2, 2, 14, 18, 1
.member _SPISTEA_GPIOF3, 3, 14, 18, 1
.member _SCITXDA_GPIOF4, 4, 14, 18, 1
.member _SCIRXDA_GPIOF5, 5, 14, 18, 1
.member _CANTXA_GPIOF6, 6, 14, 18, 1
.member _CANRXA_GPIOF7, 7, 14, 18, 1
.member _MCLKXA_GPIOF8, 8, 14, 18, 1
.member _MCLKRA_GPIOF9, 9, 14, 18, 1
.member _MFSXA_GPIOF10, 10, 14, 18, 1
.member _MFSRA_GPIOF11, 11, 14, 18, 1
.member _MDXA_GPIOF12, 12, 14, 18, 1
.member _MDRA_GPIOF13, 13, 14, 18, 1
.member _XF_GPIOF14, 14, 14, 18, 1
.member _spare_GPIOF15, 15, 14, 18, 1
.eos
.utag _GPFMUX_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPFMUX_BITS
.eos
.stag _GPAMUX_BITS, 16
.member _PWM1_GPIOA0, 0, 14, 18, 1
.member _PWM2_GPIOA1, 1, 14, 18, 1
.member _PWM3_GPIOA2, 2, 14, 18, 1
.member _PWM4_GPIOA3, 3, 14, 18, 1
.member _PWM5_GPIOA4, 4, 14, 18, 1
.member _PWM6_GPIOA5, 5, 14, 18, 1
.member _T1PWM_GPIOA6, 6, 14, 18, 1
.member _T2PWM_GPIOA7, 7, 14, 18, 1
.member _CAP1Q1_GPIOA8, 8, 14, 18, 1
.member _CAP2Q2_GPIOA9, 9, 14, 18, 1
.member _CAP3QI1_GPIOA10, 10, 14, 18, 1
.member _TDIRA_GPIOA11, 11, 14, 18, 1
.member _TCLKINA_GPIOA12, 12, 14, 18, 1
.member _C1TRIP_GPIOA13, 13, 14, 18, 1
.member _C2TRIP_GPIOA14, 14, 14, 18, 1
.member _C3TRIP_GPIOA15, 15, 14, 18, 1
.eos
.utag _GPAMUX_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPAMUX_BITS
.eos
.stag _GPADIR_BITS, 16
.member _GPIOA0, 0, 14, 18, 1
.member _GPIOA1, 1, 14, 18, 1
.member _GPIOA2, 2, 14, 18, 1
.member _GPIOA3, 3, 14, 18, 1
.member _GPIOA4, 4, 14, 18, 1
.member _GPIOA5, 5, 14, 18, 1
.member _GPIOA6, 6, 14, 18, 1
.member _GPIOA7, 7, 14, 18, 1
.member _GPIOA8, 8, 14, 18, 1
.member _GPIOA9, 9, 14, 18, 1
.member _GPIOA10, 10, 14, 18, 1
.member _GPIOA11, 11, 14, 18, 1
.member _GPIOA12, 12, 14, 18, 1
.member _GPIOA13, 13, 14, 18, 1
.member _GPIOA14, 14, 14, 18, 1
.member _GPIOA15, 15, 14, 18, 1
.eos
.utag _GPADIR_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPADIR_BITS
.eos
.stag _GPAQUAL_BITS, 16
.member _QUALPRD, 0, 14, 18, 8
.member _rsvd1, 8, 14, 18, 8
.eos
.utag _GPAQUAL_REG, 16
.member _all, 0, 14, 11, 16
.member _BIT, 0, 8, 11, 16, _GPAQUAL_BITS
.eos
.stag _GPBMUX_BITS, 16
.member _PWM7_GPIOB0, 0, 14, 18, 1
.member _PWM8_GPIOB1, 1, 14, 18, 1
.member _PWM9_GPIOB2, 2, 14, 18, 1
.member _PWM10_GPIOB3, 3, 14, 18, 1
.member _PWM11_GPIOB4, 4, 14, 18, 1
.member _PWM12_GPIOB5, 5, 14, 18, 1
.member _T3PWM_GPIOB6, 6, 14, 18, 1
.member _T4PWM_GPIOB7, 7, 14, 18, 1
.member _CAP4Q1_GPIOB8, 8, 14, 18, 1
.member _CAP5Q2_GPIOB9, 9, 14, 18, 1
.member _CAP6QI2_GPIOB10, 10, 14, 18, 1
.member _TDIRB_GPIOB11, 11, 14, 18, 1
.member _TCLKINB_GPIOB12, 12, 14, 18, 1
.member _C4TRIP_GPIOB13, 13, 14, 18, 1
.member _C5TRIP_GPIOB14, 14, 14, 18, 1
.member _C6TRIP_GPIOB15, 15, 14, 18, 1
.eos
.utag _GPBMUX_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPBMUX_BITS
.eos
.stag _GPBDIR_BITS, 16
.member _GPIOB0, 0, 14, 18, 1
.member _GPIOB1, 1, 14, 18, 1
.member _GPIOB2, 2, 14, 18, 1
.member _GPIOB3, 3, 14, 18, 1
.member _GPIOB4, 4, 14, 18, 1
.member _GPIOB5, 5, 14, 18, 1
.member _GPIOB6, 6, 14, 18, 1
.member _GPIOB7, 7, 14, 18, 1
.member _GPIOB8, 8, 14, 18, 1
.member _GPIOB9, 9, 14, 18, 1
.member _GPIOB10, 10, 14, 18, 1
.member _GPIOB11, 11, 14, 18, 1
.member _GPIOB12, 12, 14, 18, 1
.member _GPIOB13, 13, 14, 18, 1
.member _GPIOB14, 14, 14, 18, 1
.member _GPIOB15, 15, 14, 18, 1
.eos
.utag _GPBDIR_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPBDIR_BITS
.eos
.stag _GPBQUAL_BITS, 16
.member _QUALPRD, 0, 14, 18, 8
.member _rsvd1, 8, 14, 18, 8
.eos
.utag _GPBQUAL_REG, 16
.member _all, 0, 14, 11, 16
.member _BIT, 0, 8, 11, 16, _GPBQUAL_BITS
.eos
.stag _GPDMUX_BITS, 16
.member _T1CTRIP_PDPA_GPIOD0, 0, 14, 18, 1
.member _T2CTRIP_SOCA_GPIOD1, 1, 14, 18, 1
.member _rsvd1, 2, 14, 18, 3
.member _T3CTRIP_PDPB_GPIOD5, 5, 14, 18, 1
.member _T4CTRIP_SOCB_GPIOD6, 6, 14, 18, 1
.member _rsvd2, 7, 14, 18, 9
.eos
.utag _GPDMUX_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPDMUX_BITS
.eos
.stag _GPDDIR_BITS, 16
.member _GPIOD0, 0, 14, 18, 1
.member _GPIOD1, 1, 14, 18, 1
.member _rsvd1, 2, 14, 18, 3
.member _GPIOD5, 5, 14, 18, 1
.member _GPIOD6, 6, 14, 18, 1
.member _rsvd2, 7, 14, 18, 9
.eos
.utag _GPDDIR_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPDDIR_BITS
.eos
.stag _GPDQUAL_BITS, 16
.member _QUALPRD, 0, 14, 18, 8
.member _rsvd1, 8, 14, 18, 8
.eos
.utag _GPDQUAL_REG, 16
.member _all, 0, 14, 11, 16
.member _BIT, 0, 8, 11, 16, _GPDQUAL_BITS
.eos
.stag _GPEMUX_BITS, 16
.member _XINT1_XBIO_GPIOE0, 0, 14, 18, 1
.member _XINT2_ADCSOC_GPIOE1, 1, 14, 18, 1
.member _XNMI_XINT13_GPIOE2, 2, 14, 18, 1
.member _rsvd1, 3, 14, 18, 12
.eos
.utag _GPEMUX_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPEMUX_BITS
.eos
.stag _GPEDIR_BITS, 16
.member _GPIOE0, 0, 14, 18, 1
.member _GPIOE1, 1, 14, 18, 1
.member _GPIOE2, 2, 14, 18, 1
.member _rsvd1, 3, 14, 18, 12
.eos
.utag _GPEDIR_REG, 16
.member _all, 0, 14, 11, 16
.member _bit, 0, 8, 11, 16, _GPEDIR_BITS
.eos
.stag _GPEQUAL_BITS, 16
.member _QUALPRD, 0, 14, 18, 8
.member _rsvd1, 8, 14, 18, 8
.eos
.utag _GPEQUAL_REG, 16
.member _all, 0, 14, 11, 16
.member _BIT, 0, 8, 11, 16, _GPEQUAL_BITS
.eos
.stag _GPFDIR_BITS, 16
.member _GPIOF0, 0, 14, 18, 1
.member _GPIOF1, 1, 14, 18, 1
.member _GPIOF2, 2, 14, 18, 1
.member _GPIOF3, 3, 14, 18, 1
.member _GPIOF4, 4, 14, 18, 1
.member _GPIOF5, 5, 14, 18, 1
.member _GPIOF6, 6, 14, 18, 1
.member _GPIOF7, 7, 14, 18, 1
.member _GPIOF8, 8, 14, 18, 1
.member _GPIOF9, 9, 14, 18, 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -