cprogram.asm
来自「瑞泰2812的9个例程C源代码」· 汇编 代码 · 共 265 行
ASM
265 行
;***************************************************************
;* TMS320C2000 C/C++ Codegen PC v4.1.3 *
;* Date/Time created: Mon Apr 20 16:29:53 2009 *
;***************************************************************
.compiler_opts --mem_model:code=flat --mem_model:data=large --quiet --silicon_version=28
FP .set XAR2
DW$CU .dwtag DW_TAG_compile_unit
.dwattr DW$CU, DW_AT_name("CProgram.c")
.dwattr DW$CU, DW_AT_producer("TMS320C2000 C/C++ Codegen PC v4.1.3 Copyright (c) 1996-2006 Texas Instruments Incorporated")
.dwattr DW$CU, DW_AT_stmt_list(0x00)
.dwattr DW$CU, DW_AT_TI_VERSION(0x01)
.global _y
_y: .usect ".ebss",1,1,0
DW$1 .dwtag DW_TAG_variable, DW_AT_name("y"), DW_AT_symbol_name("_y")
.dwattr DW$1, DW_AT_location[DW_OP_addr _y]
.dwattr DW$1, DW_AT_type(*DW$T$10)
.dwattr DW$1, DW_AT_external(0x01)
.global _z
_z: .usect ".ebss",1,1,0
DW$2 .dwtag DW_TAG_variable, DW_AT_name("z"), DW_AT_symbol_name("_z")
.dwattr DW$2, DW_AT_location[DW_OP_addr _z]
.dwattr DW$2, DW_AT_type(*DW$T$10)
.dwattr DW$2, DW_AT_external(0x01)
.global _x
_x: .usect ".ebss",1,1,0
DW$3 .dwtag DW_TAG_variable, DW_AT_name("x"), DW_AT_symbol_name("_x")
.dwattr DW$3, DW_AT_location[DW_OP_addr _x]
.dwattr DW$3, DW_AT_type(*DW$T$10)
.dwattr DW$3, DW_AT_external(0x01)
DW$4 .dwtag DW_TAG_subprogram, DW_AT_name("add"), DW_AT_symbol_name("_add")
.dwattr DW$4, DW_AT_type(*DW$T$10)
.dwattr DW$4, DW_AT_declaration(0x01)
.dwattr DW$4, DW_AT_external(0x01)
DW$5 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$6 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
.dwendtag DW$4
; C:\CCStudio_v3.3\C2000\cgtools\bin\ac2000.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI93612
.sect ".text"
.global _main
DW$7 .dwtag DW_TAG_subprogram, DW_AT_name("main"), DW_AT_symbol_name("_main")
.dwattr DW$7, DW_AT_low_pc(_main)
.dwattr DW$7, DW_AT_high_pc(0x00)
.dwattr DW$7, DW_AT_begin_file("CProgram.c")
.dwattr DW$7, DW_AT_begin_line(0x04)
.dwattr DW$7, DW_AT_begin_column(0x01)
.dwpsn "CProgram.c",5,1
.dwfde DW$CIE
;***************************************************************
;* FNAME: _main FR SIZE: 0 *
;* *
;* FUNCTION ENVIRONMENT *
;* *
;* FUNCTION PROPERTIES *
;* 0 Parameter, 0 Auto, 0 SOE *
;***************************************************************
_main:
.dwcfa 0x1d, -2
.dwcfa 0x1c, 26, 0
.dwcfa 0x09, 40, 26
.dwpsn "CProgram.c",6,2
MOVW DP,#_x
MOV @_x,#3 ; |6|
.dwpsn "CProgram.c",6,7
MOV @_y,#17 ; |6|
.dwpsn "CProgram.c",7,10
L1:
DW$L$_main$2$B:
.dwpsn "CProgram.c",9,3
MOV AL,@_x ; |9|
MOV AH,@_y ; |9|
LCR #_add ; |9|
; call occurs [#_add] ; |9|
MOVW DP,#_z
MOV @_z,AL ; |9|
.dwpsn "CProgram.c",7,10
B L1,UNC ; |7|
; branch occurs ; |7|
DW$L$_main$2$E:
DW$8 .dwtag DW_TAG_loop
.dwattr DW$8, DW_AT_name("C:\ICETEK\LF2812A\F2812\DSP281x_examples\lab0104-CAsm\CProgram.asm:L1:1:1240216193")
.dwattr DW$8, DW_AT_begin_file("CProgram.c")
.dwattr DW$8, DW_AT_begin_line(0x07)
.dwattr DW$8, DW_AT_end_line(0x0a)
DW$9 .dwtag DW_TAG_loop_range
.dwattr DW$9, DW_AT_low_pc(DW$L$_main$2$B)
.dwattr DW$9, DW_AT_high_pc(DW$L$_main$2$E)
.dwendtag DW$8
.dwattr DW$7, DW_AT_end_file("CProgram.c")
.dwattr DW$7, DW_AT_end_line(0x0b)
.dwattr DW$7, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$7
;***************************************************************
;* UNDEFINED EXTERNAL REFERENCES *
;***************************************************************
.global _add
;***************************************************************
;* TYPE INFORMATION *
;***************************************************************
DW$T$10 .dwtag DW_TAG_base_type, DW_AT_name("int")
.dwattr DW$T$10, DW_AT_encoding(DW_ATE_signed)
.dwattr DW$T$10, DW_AT_byte_size(0x01)
DW$T$19 .dwtag DW_TAG_subroutine_type, DW_AT_type(*DW$T$10)
.dwattr DW$T$19, DW_AT_language(DW_LANG_C)
DW$10 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$11 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
.dwendtag DW$T$19
DW$T$21 .dwtag DW_TAG_subroutine_type, DW_AT_type(*DW$T$10)
.dwattr DW$T$21, DW_AT_language(DW_LANG_C)
.dwattr DW$7, DW_AT_external(0x01)
.dwattr DW$7, DW_AT_type(*DW$T$10)
.dwattr DW$CU, DW_AT_language(DW_LANG_C)
;***************************************************************
;* DWARF CIE ENTRIES *
;***************************************************************
DW$CIE .dwcie 1, 40
.dwcfa 0x0c, 20, 0
.dwcfa 0x07, 0
.dwcfa 0x07, 1
.dwcfa 0x07, 2
.dwcfa 0x07, 3
.dwcfa 0x07, 4
.dwcfa 0x07, 5
.dwcfa 0x08, 6
.dwcfa 0x08, 7
.dwcfa 0x08, 8
.dwcfa 0x08, 9
.dwcfa 0x08, 10
.dwcfa 0x08, 11
.dwcfa 0x07, 12
.dwcfa 0x07, 13
.dwcfa 0x07, 14
.dwcfa 0x07, 15
.dwcfa 0x07, 16
.dwcfa 0x07, 17
.dwcfa 0x07, 18
.dwcfa 0x07, 19
.dwcfa 0x07, 20
.dwcfa 0x07, 21
.dwcfa 0x07, 22
.dwcfa 0x07, 23
.dwcfa 0x07, 24
.dwcfa 0x07, 25
.dwcfa 0x07, 26
.dwcfa 0x08, 27
.dwcfa 0x07, 28
.dwcfa 0x07, 29
.dwcfa 0x07, 30
.dwcfa 0x07, 31
.dwcfa 0x07, 32
.dwcfa 0x07, 33
.dwcfa 0x07, 34
.dwcfa 0x07, 35
.dwcfa 0x07, 36
.dwcfa 0x07, 37
.dwcfa 0x07, 38
.dwcfa 0x07, 39
.dwcfa 0x07, 40
;***************************************************************
;* DWARF REGISTER MAP *
;***************************************************************
DW$12 .dwtag DW_TAG_assign_register, DW_AT_name("AL")
.dwattr DW$12, DW_AT_location[DW_OP_reg0]
DW$13 .dwtag DW_TAG_assign_register, DW_AT_name("AH")
.dwattr DW$13, DW_AT_location[DW_OP_reg1]
DW$14 .dwtag DW_TAG_assign_register, DW_AT_name("PL")
.dwattr DW$14, DW_AT_location[DW_OP_reg2]
DW$15 .dwtag DW_TAG_assign_register, DW_AT_name("PH")
.dwattr DW$15, DW_AT_location[DW_OP_reg3]
DW$16 .dwtag DW_TAG_assign_register, DW_AT_name("AR0")
.dwattr DW$16, DW_AT_location[DW_OP_reg4]
DW$17 .dwtag DW_TAG_assign_register, DW_AT_name("XAR0")
.dwattr DW$17, DW_AT_location[DW_OP_reg5]
DW$18 .dwtag DW_TAG_assign_register, DW_AT_name("AR1")
.dwattr DW$18, DW_AT_location[DW_OP_reg6]
DW$19 .dwtag DW_TAG_assign_register, DW_AT_name("XAR1")
.dwattr DW$19, DW_AT_location[DW_OP_reg7]
DW$20 .dwtag DW_TAG_assign_register, DW_AT_name("AR2")
.dwattr DW$20, DW_AT_location[DW_OP_reg8]
DW$21 .dwtag DW_TAG_assign_register, DW_AT_name("XAR2")
.dwattr DW$21, DW_AT_location[DW_OP_reg9]
DW$22 .dwtag DW_TAG_assign_register, DW_AT_name("AR3")
.dwattr DW$22, DW_AT_location[DW_OP_reg10]
DW$23 .dwtag DW_TAG_assign_register, DW_AT_name("XAR3")
.dwattr DW$23, DW_AT_location[DW_OP_reg11]
DW$24 .dwtag DW_TAG_assign_register, DW_AT_name("AR4")
.dwattr DW$24, DW_AT_location[DW_OP_reg12]
DW$25 .dwtag DW_TAG_assign_register, DW_AT_name("XAR4")
.dwattr DW$25, DW_AT_location[DW_OP_reg13]
DW$26 .dwtag DW_TAG_assign_register, DW_AT_name("AR5")
.dwattr DW$26, DW_AT_location[DW_OP_reg14]
DW$27 .dwtag DW_TAG_assign_register, DW_AT_name("XAR5")
.dwattr DW$27, DW_AT_location[DW_OP_reg15]
DW$28 .dwtag DW_TAG_assign_register, DW_AT_name("AR6")
.dwattr DW$28, DW_AT_location[DW_OP_reg16]
DW$29 .dwtag DW_TAG_assign_register, DW_AT_name("XAR6")
.dwattr DW$29, DW_AT_location[DW_OP_reg17]
DW$30 .dwtag DW_TAG_assign_register, DW_AT_name("AR7")
.dwattr DW$30, DW_AT_location[DW_OP_reg18]
DW$31 .dwtag DW_TAG_assign_register, DW_AT_name("XAR7")
.dwattr DW$31, DW_AT_location[DW_OP_reg19]
DW$32 .dwtag DW_TAG_assign_register, DW_AT_name("SP")
.dwattr DW$32, DW_AT_location[DW_OP_reg20]
DW$33 .dwtag DW_TAG_assign_register, DW_AT_name("XT")
.dwattr DW$33, DW_AT_location[DW_OP_reg21]
DW$34 .dwtag DW_TAG_assign_register, DW_AT_name("T")
.dwattr DW$34, DW_AT_location[DW_OP_reg22]
DW$35 .dwtag DW_TAG_assign_register, DW_AT_name("ST0")
.dwattr DW$35, DW_AT_location[DW_OP_reg23]
DW$36 .dwtag DW_TAG_assign_register, DW_AT_name("ST1")
.dwattr DW$36, DW_AT_location[DW_OP_reg24]
DW$37 .dwtag DW_TAG_assign_register, DW_AT_name("PC")
.dwattr DW$37, DW_AT_location[DW_OP_reg25]
DW$38 .dwtag DW_TAG_assign_register, DW_AT_name("RPC")
.dwattr DW$38, DW_AT_location[DW_OP_reg26]
DW$39 .dwtag DW_TAG_assign_register, DW_AT_name("FP")
.dwattr DW$39, DW_AT_location[DW_OP_reg27]
DW$40 .dwtag DW_TAG_assign_register, DW_AT_name("DP")
.dwattr DW$40, DW_AT_location[DW_OP_reg28]
DW$41 .dwtag DW_TAG_assign_register, DW_AT_name("SXM")
.dwattr DW$41, DW_AT_location[DW_OP_reg29]
DW$42 .dwtag DW_TAG_assign_register, DW_AT_name("PM")
.dwattr DW$42, DW_AT_location[DW_OP_reg30]
DW$43 .dwtag DW_TAG_assign_register, DW_AT_name("OVM")
.dwattr DW$43, DW_AT_location[DW_OP_reg31]
DW$44 .dwtag DW_TAG_assign_register, DW_AT_name("PAGE0")
.dwattr DW$44, DW_AT_location[DW_OP_regx 0x20]
DW$45 .dwtag DW_TAG_assign_register, DW_AT_name("AMODE")
.dwattr DW$45, DW_AT_location[DW_OP_regx 0x21]
DW$46 .dwtag DW_TAG_assign_register, DW_AT_name("IFR")
.dwattr DW$46, DW_AT_location[DW_OP_regx 0x22]
DW$47 .dwtag DW_TAG_assign_register, DW_AT_name("IER")
.dwattr DW$47, DW_AT_location[DW_OP_regx 0x23]
DW$48 .dwtag DW_TAG_assign_register, DW_AT_name("IER")
.dwattr DW$48, DW_AT_location[DW_OP_regx 0x24]
DW$49 .dwtag DW_TAG_assign_register, DW_AT_name("PSEUDO")
.dwattr DW$49, DW_AT_location[DW_OP_regx 0x25]
DW$50 .dwtag DW_TAG_assign_register, DW_AT_name("PSEUDOH")
.dwattr DW$50, DW_AT_location[DW_OP_regx 0x26]
DW$51 .dwtag DW_TAG_assign_register, DW_AT_name("VOL")
.dwattr DW$51, DW_AT_location[DW_OP_regx 0x27]
DW$52 .dwtag DW_TAG_assign_register, DW_AT_name("CIE_RETA")
.dwattr DW$52, DW_AT_location[DW_OP_regx 0x28]
.dwendtag DW$CU
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?