📄 examplescfg.lst
字号:
2 .endif
2
2
2 000008 .sect ".cinit"
2 .align CINITALIGN ; Create the cinit header
2 000008 0001 .field 1 ; size
2 000009 0001- .field _RTDX_Buffer_Start, 24 ; address
00000a 0200
2 00000a 0200 .field DATAPAGE, 8 ; page
2 .eval 0, offset ; initialize the offset to 0
TMS320C55x COFF Assembler Version 2.04 Tue Apr 15 17:20:23 2003
Copyright (c) 1996-2001 Texas Instruments Incorporated
examplescfg.s55 PAGE 15
1 00000b C55_cinitBegin isDataPtrAligned
2 00000b CHK_nargs "CINIT", isObjectAligned
2 00000b C55_alignIfRequired isObjectAligned
3 00000b CHK_nargs "CINIT", isObjectAligned
3
3 .if (1 = 2) ; Does the obj requir
3 ; alignment
3 .if (offset & 0x1) ; if the object is at
3 ; odd offset
3 .word 0xdead ; create a dead word
3 .eval offset + 1, offset
3 ; increase the offset
3 .endif
3 .endif
1 00000b C55_cinitDataPtr _RTDX_Buffer
2 00000b CHK_nargs "CINIT", value
2 .if (__large_model)
2 ; compilaton
2 .if (offset & 0x1) ; if at odd offset
2 .word 0xdead ; fill in the hole
2 .eval offset + 1, offset
2 ; increase the offset
2 ; for hole filled.
2 .endif
2 .xlong :value: ; Fill in the value
2 .eval offset + 2, offset ; Increase the offset
2 ; corrresponding size
2 ; of dataPtr.
2 .else
2 00000b 0000% .word _RTDX_Buffer & 0xffff ; If in near mode just
2 ; fill the value.
2 .eval 0 + 1, offset ; increase the offset
2 ; coressponding to
2 ; that of data ptr.
2 .endif
1 00000c C55_cinitEnd isDataPtrAligned
2 00000c CHK_nargs "CINIT", isObjectAligned
2 00000c C55_alignIfRequired isObjectAligned
3 00000c CHK_nargs "CINIT", isObjectAligned
3
3 .if (1 = 2) ; Does the obj requir
3 ; alignment
3 .if (offset & 0x1) ; if the object is at
3 ; odd offset
3 .word 0xdead ; create a dead word
3 .eval offset + 1, offset
3 ; increase the offset
3 .endif
3 .endif
1
1 ; define _RTDX_Buffer_End
1 00000c C55_allocateObject isDataPtrAligned, _RTDX_Buffer_End, DATAPTRSIZE, ".rtdx_data"
2 00000c CHK_nargs "CINIT", section
2
2 .var objSize ; Explicitly decalate a variable
TMS320C55x COFF Assembler Version 2.04 Tue Apr 15 17:20:23 2003
Copyright (c) 1996-2001 Texas Instruments Incorporated
examplescfg.s55 PAGE 16
2 ; so that it limits the scope
2 ; to the macro
2 .eval 1, objSize ; This is the size of
2 ; .object
2 .if (1 = 2) ; Does the Obj require alignment
2 .if (objSize & 0x1) ; if the cinit size is odd
2 .eval objSize + 1, objSize ; Make it even
2 .endif
2 _RTDX_Buffer_End .usect ":section:", objSize, 0, 1 ; allocate object at
2 ; even boundary
2 .else
2 000103 _RTDX_Buffer_End .usect ".rtdx_data", 1, 0, 0
2 ; allocate object at any
2 ; boundary.
2 ; Note that the last parameter
2 ; is a flag that represents
2 ; if the object has alignment
2 ; requirment or not.
2 .endif
2
1
1 00000c C55_cinitHeader CINITALIGN, isDataPtrAligned, _RTDX_Buffer_End, DATAPTRSIZE, DATAPAGE
2 00000c CHK_nargs "CINIT", page
2 .var cinitSize ; Explicitly decalate a variable
2 ; so that it limits the scope
2 ; to the macro
2 .eval 1, cinitSize ; This is the size of
2 ; cinit records.
2 .if (1 = 2) ; Does the Obj require alignment
2 .if (:objSize: & 0x1) ; if the cinit size is odd
2 .eval cinitSize + 1, cinitSize ; Make it even
2 .endif
2 .endif
2
2
2 00000c .sect ".cinit"
2 .align CINITALIGN ; Create the cinit header
2 00000c 0001 .field 1 ; size
2 00000d 0001- .field _RTDX_Buffer_End, 24 ; address
00000e 0300
2 00000e 0300 .field DATAPAGE, 8 ; page
2 .eval 0, offset ; initialize the offset to 0
1 00000f C55_cinitBegin isDataPtrAligned
2 00000f CHK_nargs "CINIT", isObjectAligned
2 00000f C55_alignIfRequired isObjectAligned
3 00000f CHK_nargs "CINIT", isObjectAligned
3
3 .if (1 = 2) ; Does the obj requir
3 ; alignment
3 .if (offset & 0x1) ; if the object is at
3 ; odd offset
3 .word 0xdead ; create a dead word
3 .eval offset + 1, offset
3 ; increase the offset
3 .endif
TMS320C55x COFF Assembler Version 2.04 Tue Apr 15 17:20:23 2003
Copyright (c) 1996-2001 Texas Instruments Incorporated
examplescfg.s55 PAGE 17
3 .endif
1 00000f C55_cinitDataPtr _RTDX_Buffer + _bufsize - 1
2 00000f CHK_nargs "CINIT", value
2 .if (__large_model)
2 ; compilaton
2 .if (offset & 0x1) ; if at odd offset
2 .word 0xdead ; fill in the hole
2 .eval offset + 1, offset
2 ; increase the offset
2 ; for hole filled.
2 .endif
2 .xlong :value: ; Fill in the value
2 .eval offset + 2, offset ; Increase the offset
2 ; corrresponding size
2 ; of dataPtr.
2 .else
2 00000f 0000% .word _RTDX_Buffer + 0102H - 1 & 0xffff ; If in near mode just
2 ; fill the value.
2 .eval 0 + 1, offset ; increase the offset
2 ; coressponding to
2 ; that of data ptr.
2 .endif
1 000010 C55_cinitEnd isDataPtrAligned
2 000010 CHK_nargs "CINIT", isObjectAligned
2 000010 C55_alignIfRequired isObjectAligned
3 000010 CHK_nargs "CINIT", isObjectAligned
3
3 .if (1 = 2) ; Does the obj requir
3 ; alignment
3 .if (offset & 0x1) ; if the object is at
3 ; odd offset
3 .word 0xdead ; create a dead word
3 .eval offset + 1, offset
3 ; increase the offset
3 .endif
3 .endif
1
1 .endif
300
301 ;; ======== HST_config ========
302 .asg 01H, _RTDX
303 .asg 00H, _DSM
304 .asg 00H, _NONE
305 .asg 00H, _MAXFRAMESET
306 .asg 0100H, _MAXFRAMEALLOWED
307 .asg DARAM, _DSMBUFSEG
308 .asg 0400H, _DSMMEMSIZE
309 000010 HST_config _RTDX, _DSM, _NONE, _MAXFRAMESET, _MAXFRAMEALLOWED, _DSMBUFSEG, _DSMMEMSIZE
1 .asg 0, HST$hstCount
1 .asg 0, chanId
1
1 .if(HST$ != 0)
1 LNK_config _dsm, _dsmbufseg, _dsmmemsize ; do any reqd LNK config
1 .endif
1
TMS320C55x COFF Assembler Version 2.04 Tue Apr 15 17:20:23 2003
Copyright (c) 1996-2001 Texas Instruments Incorporated
examplescfg.s55 PAGE 18
310
311 ;; ======== HWI_config ========
312 .asg 00H, _ZEROTAB
313 .asg "C54X_STK", _STACKMODEL
314 000010 HWI_config _ZEROTAB, _STACKMODEL
1
1 .asg "C54X_STK", stk_model ; stk_mode = C54X_STK if 1*32 slow ret mode
1 ; stk_mode = USE_RETA 1*16 FAST RETURN
1 ; stk_mode = NO_RETA SLOW RETURN mode
1
1
315
316
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -