mix.s54

来自「TMS320C54系列在CCS3.1 下实验教程」· S54 代码 · 共 498 行 · 第 1/2 页

S54
498
字号
;***************************************************************
;* TMS320C54x C/C++ Codegen                          PC v4.1.0 *
;* Date/Time created: Wed Dec 27 22:47:25 2006                 *
;***************************************************************
	.compiler_opts --mem_model:code=near --mem_model:data=flat --quiet 
	.mmregs
FP	.set	AR7
	.c_mode

DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr DW$CU, DW_AT_name("mix.c")
	.dwattr DW$CU, DW_AT_producer("TMS320C54x C/C++ Codegen PC v4.1.0 Copyright (c) 1996-2005 Texas Instruments Incorporated")
	.dwattr DW$CU, DW_AT_stmt_list(0x00)
	.dwattr DW$CU, DW_AT_TI_VERSION(0x01)
;**************************************************************
;* CINIT RECORDS                                              *
;**************************************************************
	.sect	".cinit"
	.align	1
	.field  	1,16
	.field  	_i_var2+0,16
	.field  	0,16			; _i_var2 @ 0


DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("printf"), DW_AT_symbol_name("_printf")
	.dwattr DW$1, DW_AT_type(*DW$T$10)
	.dwattr DW$1, DW_AT_declaration(0x01)
	.dwattr DW$1, DW_AT_external(0x01)
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$22)
DW$3	.dwtag  DW_TAG_unspecified_parameters
	.dwendtag DW$1

	.global	_i_var1
	.bss	_i_var1,1,0,0
DW$4	.dwtag  DW_TAG_variable, DW_AT_name("i_var1"), DW_AT_symbol_name("_i_var1")
	.dwattr DW$4, DW_AT_location[DW_OP_addr _i_var1]
	.dwattr DW$4, DW_AT_type(*DW$T$10)
	.dwattr DW$4, DW_AT_external(0x01)
	.global	_i_var2
	.bss	_i_var2,1,0,0
DW$5	.dwtag  DW_TAG_variable, DW_AT_name("i_var2"), DW_AT_symbol_name("_i_var2")
	.dwattr DW$5, DW_AT_location[DW_OP_addr _i_var2]
	.dwattr DW$5, DW_AT_type(*DW$T$10)
	.dwattr DW$5, DW_AT_external(0x01)
	.global	_s_var
	.bss	_s_var,1,0,0
DW$6	.dwtag  DW_TAG_variable, DW_AT_name("s_var"), DW_AT_symbol_name("_s_var")
	.dwattr DW$6, DW_AT_location[DW_OP_addr _s_var]
	.dwattr DW$6, DW_AT_type(*DW$T$8)
	.dwattr DW$6, DW_AT_external(0x01)
	.global	_c_var
	.bss	_c_var,1,0,0
DW$7	.dwtag  DW_TAG_variable, DW_AT_name("c_var"), DW_AT_symbol_name("_c_var")
	.dwattr DW$7, DW_AT_location[DW_OP_addr _c_var]
	.dwattr DW$7, DW_AT_type(*DW$T$20)
	.dwattr DW$7, DW_AT_external(0x01)
	.global	_l_var
	.bss	_l_var,2,0,2
DW$8	.dwtag  DW_TAG_variable, DW_AT_name("l_var"), DW_AT_symbol_name("_l_var")
	.dwattr DW$8, DW_AT_location[DW_OP_addr _l_var]
	.dwattr DW$8, DW_AT_type(*DW$T$12)
	.dwattr DW$8, DW_AT_external(0x01)
	.global	_lp_var
	.bss	_lp_var,1,0,0
DW$9	.dwtag  DW_TAG_variable, DW_AT_name("lp_var"), DW_AT_symbol_name("_lp_var")
	.dwattr DW$9, DW_AT_location[DW_OP_addr _lp_var]
	.dwattr DW$9, DW_AT_type(*DW$T$27)
	.dwattr DW$9, DW_AT_external(0x01)
DW$10	.dwtag  DW_TAG_variable, DW_AT_name("port0"), DW_AT_symbol_name("_port0")
	.dwattr DW$10, DW_AT_location[DW_OP_addr 0x0000]
	.dwattr DW$10, DW_AT_type(*DW$T$28)
	.dwattr DW$10, DW_AT_external(0x01)
;	E:\CCStudio_v3.1\C5400\cgtools\bin\acp500.exe -@C:\DOCUME~1\lumingui\LOCALS~1\Temp\TI52012 
	.sect	".text"
	.global	_func_c

DW$11	.dwtag  DW_TAG_subprogram, DW_AT_name("func_c"), DW_AT_symbol_name("_func_c")
	.dwattr DW$11, DW_AT_low_pc(_func_c)
	.dwattr DW$11, DW_AT_high_pc(0x00)
	.dwattr DW$11, DW_AT_begin_file("mix.c")
	.dwattr DW$11, DW_AT_begin_line(0x1d)
	.dwattr DW$11, DW_AT_begin_column(0x05)
	.dwpsn	"mix.c",30,1

	.dwfde DW$CIE

;***************************************************************
;* FUNCTION DEF: _func_c                                       *
;***************************************************************
_func_c:
	.dwcfa	0x0e, 1
	.dwcfa	0x80, 34, 1
        FRAME     #-2
        NOP
	.dwcfa	0x0e, 3
;* A     assigned to _var1
DW$12	.dwtag  DW_TAG_formal_parameter, DW_AT_name("var1"), DW_AT_symbol_name("_var1")
	.dwattr DW$12, DW_AT_type(*DW$T$10)
	.dwattr DW$12, DW_AT_location[DW_OP_reg0]
DW$13	.dwtag  DW_TAG_formal_parameter, DW_AT_name("var2"), DW_AT_symbol_name("_var2")
	.dwattr DW$13, DW_AT_type(*DW$T$10)
	.dwattr DW$13, DW_AT_location[DW_OP_breg17 3]
DW$14	.dwtag  DW_TAG_variable, DW_AT_name("var1"), DW_AT_symbol_name("_var1")
	.dwattr DW$14, DW_AT_type(*DW$T$10)
	.dwattr DW$14, DW_AT_location[DW_OP_breg17 0]
DW$15	.dwtag  DW_TAG_variable, DW_AT_name("sum"), DW_AT_symbol_name("_sum")
	.dwattr DW$15, DW_AT_type(*DW$T$10)
	.dwattr DW$15, DW_AT_location[DW_OP_breg17 1]
        STL       A,*SP(0)
	.dwpsn	"mix.c",33,2
        LD        *SP(3),A
        ADD       *SP(0),A              ; |33| 
        STL       A,*SP(1)
	.dwpsn	"mix.c",35,2
	.dwpsn	"mix.c",36,1
        FRAME     #2                    ; |35| 
	.dwcfa	0x0e, 1
        RET       ; |35| 
        ; return occurs ; |35| 
	.dwattr DW$11, DW_AT_end_file("mix.c")
	.dwattr DW$11, DW_AT_end_line(0x24)
	.dwattr DW$11, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$11

	.sect	".text"
	.global	_Timer0_ISR

DW$16	.dwtag  DW_TAG_subprogram, DW_AT_name("Timer0_ISR"), DW_AT_symbol_name("_Timer0_ISR")
	.dwattr DW$16, DW_AT_low_pc(_Timer0_ISR)
	.dwattr DW$16, DW_AT_high_pc(0x00)
	.dwattr DW$16, DW_AT_begin_file("mix.c")
	.dwattr DW$16, DW_AT_begin_line(0x26)
	.dwattr DW$16, DW_AT_begin_column(0x10)
	.dwpsn	"mix.c",39,1

	.dwfde DW$CIE

;***************************************************************
;* FUNCTION DEF: _Timer0_ISR                                   *
;***************************************************************
_Timer0_ISR:
        NOP
	.dwcfa	0x0e, 1
	.dwcfa	0x80, 34, 1
        PSHM      AL
	.dwcfa	0x0e, 2
	.dwcfa	0x80, 0, 2
        PSHM      AH
	.dwcfa	0x0e, 3
	.dwcfa	0x80, 1, 3
        PSHM      AG
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 2, 4
        PSHM      ST0
	.dwcfa	0x0e, 5
	.dwcfa	0x80, 23, 5
        PSHM      ST1
        NOP
	.dwcfa	0x0e, 6
	.dwcfa	0x80, 24, 6
        PSHM      PMST
        NOP
	.dwcfa	0x0e, 7
	.dwcfa	0x80, 29, 7
        ANDM      #32063,*(ST1)
        ORM       #16384,*(ST1)
        ANDM      #-4,*(PMST)
        NOP
	.dwcfa	0x0e, 7
	.dwpsn	"mix.c",40,2
        ADDM      #1,*(_i_var2)         ; |40| 
	.dwpsn	"mix.c",41,2
        ST        #1,*(_c_var)          ; |41| 
	.dwpsn	"mix.c",43,2
        CMPM      *(_i_var2),#10        ; |43| 
        BC        L1,NTC                ; |43| 
        ; branchcc occurs ; |43| 
	.dwpsn	"mix.c",45,3
        PORTR     00H,*(AL)             ; |45| 
        XOR       #1,A,A                ; |45| 
        PORTW     *(AL),00H             ; |45| 
	.dwpsn	"mix.c",46,3
        ST        #0,*(_i_var2)         ; |46| 
	.dwpsn	"mix.c",47,2
L1:    
	.dwpsn	"mix.c",48,1
	.dwcfa	0x0e, 7
        POPM      PMST
        NOP
	.dwcfa	0xc0, 29
	.dwcfa	0x0e, 6
        POPM      ST1
        NOP
	.dwcfa	0xc0, 24
	.dwcfa	0x0e, 5
        POPM      ST0
	.dwcfa	0xc0, 23
	.dwcfa	0x0e, 4
        POPM      AG
	.dwcfa	0xc0, 2
	.dwcfa	0x0e, 3
        POPM      AH
	.dwcfa	0xc0, 1
	.dwcfa	0x0e, 2
        POPM      AL
	.dwcfa	0xc0, 0
	.dwcfa	0x0e, 1
        RETE
        ; branch occurs
	.dwattr DW$16, DW_AT_end_file("mix.c")
	.dwattr DW$16, DW_AT_end_line(0x30)
	.dwattr DW$16, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$16

	.sect	".text"
	.global	_main

DW$17	.dwtag  DW_TAG_subprogram, DW_AT_name("main"), DW_AT_symbol_name("_main")
	.dwattr DW$17, DW_AT_low_pc(_main)
	.dwattr DW$17, DW_AT_high_pc(0x00)
	.dwattr DW$17, DW_AT_begin_file("mix.c")
	.dwattr DW$17, DW_AT_begin_line(0x32)
	.dwattr DW$17, DW_AT_begin_column(0x06)
	.dwpsn	"mix.c",51,1

	.dwfde DW$CIE

;***************************************************************
;* FUNCTION DEF: _main                                         *
;***************************************************************
_main:
	.dwcfa	0x0e, 1
	.dwcfa	0x80, 34, 1
        PSHM      AR1
	.dwcfa	0x0e, 2
	.dwcfa	0x80, 10, 2
        FRAME     #-2
	.dwcfa	0x0e, 4
	.dwpsn	"mix.c",53,2
	ssbx	INTM
	.dwpsn	"mix.c",55,2
	stm		#0x7fff, SWWSR
	.dwpsn	"mix.c",56,2
	stm		#0x00A0, PMST
	.dwpsn	"mix.c",59,2
        STM       #0,AR1
        ST        #8,*AR1               ; |59| 

⌨️ 快捷键说明

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