add.asm

来自「瑞泰2812的9个例程C源代码」· 汇编 代码 · 共 227 行

ASM
227
字号
;***************************************************************
;* TMS320C2000 C/C++ Codegen                         PC v4.1.3 *
;* Date/Time created: Mon Apr 20 16:25:48 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("add.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)
;	C:\CCStudio_v3.3\C2000\cgtools\bin\ac2000.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI63612 
	.sect	".text"
	.global	_add

DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("add"), DW_AT_symbol_name("_add")
	.dwattr DW$1, DW_AT_low_pc(_add)
	.dwattr DW$1, DW_AT_high_pc(0x00)
	.dwattr DW$1, DW_AT_begin_file("add.c")
	.dwattr DW$1, DW_AT_begin_line(0x03)
	.dwattr DW$1, DW_AT_begin_column(0x05)
	.dwpsn	"add.c",5,1

	.dwfde DW$CIE

;***************************************************************
;* FNAME: _add                          FR SIZE:   2           *
;*                                                             *
;* FUNCTION ENVIRONMENT                                        *
;*                                                             *
;* FUNCTION PROPERTIES                                         *
;*                            0 Parameter,  2 Auto,  0 SOE     *
;***************************************************************

_add:
	.dwcfa	0x1d, -2
	.dwcfa	0x1c, 26, 0
	.dwcfa	0x09, 40, 26
        ADDB      SP,#2
	.dwcfa	0x1d, -4
;* AL    assigned to _a
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_name("a"), DW_AT_symbol_name("_a")
	.dwattr DW$2, DW_AT_type(*DW$T$10)
	.dwattr DW$2, DW_AT_location[DW_OP_reg0]
;* AH    assigned to _b
DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_name("b"), DW_AT_symbol_name("_b")
	.dwattr DW$3, DW_AT_type(*DW$T$10)
	.dwattr DW$3, DW_AT_location[DW_OP_reg1]
DW$4	.dwtag  DW_TAG_variable, DW_AT_name("a"), DW_AT_symbol_name("_a")
	.dwattr DW$4, DW_AT_type(*DW$T$10)
	.dwattr DW$4, DW_AT_location[DW_OP_breg20 -1]
DW$5	.dwtag  DW_TAG_variable, DW_AT_name("b"), DW_AT_symbol_name("_b")
	.dwattr DW$5, DW_AT_type(*DW$T$10)
	.dwattr DW$5, DW_AT_location[DW_OP_breg20 -2]
        MOV       *-SP[2],AH            ; |5| 
        MOV       *-SP[1],AL            ; |5| 
	.dwpsn	"add.c",7,2
        MOV       AL,*-SP[2]            ; |7| 
        ADD       AL,*-SP[1]            ; |7| 
	.dwpsn	"add.c",9,1
        SUBB      SP,#2                 ; |7| 
	.dwcfa	0x1d, -2
        LRETR
        ; return occurs
	.dwattr DW$1, DW_AT_end_file("add.c")
	.dwattr DW$1, DW_AT_end_line(0x09)
	.dwattr DW$1, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$1


;***************************************************************
;* 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$6	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$7	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$T$19


	.dwattr DW$1, DW_AT_external(0x01)
	.dwattr DW$1, 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$8	.dwtag  DW_TAG_assign_register, DW_AT_name("AL")
	.dwattr DW$8, DW_AT_location[DW_OP_reg0]
DW$9	.dwtag  DW_TAG_assign_register, DW_AT_name("AH")
	.dwattr DW$9, DW_AT_location[DW_OP_reg1]
DW$10	.dwtag  DW_TAG_assign_register, DW_AT_name("PL")
	.dwattr DW$10, DW_AT_location[DW_OP_reg2]
DW$11	.dwtag  DW_TAG_assign_register, DW_AT_name("PH")
	.dwattr DW$11, DW_AT_location[DW_OP_reg3]
DW$12	.dwtag  DW_TAG_assign_register, DW_AT_name("AR0")
	.dwattr DW$12, DW_AT_location[DW_OP_reg4]
DW$13	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR0")
	.dwattr DW$13, DW_AT_location[DW_OP_reg5]
DW$14	.dwtag  DW_TAG_assign_register, DW_AT_name("AR1")
	.dwattr DW$14, DW_AT_location[DW_OP_reg6]
DW$15	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR1")
	.dwattr DW$15, DW_AT_location[DW_OP_reg7]
DW$16	.dwtag  DW_TAG_assign_register, DW_AT_name("AR2")
	.dwattr DW$16, DW_AT_location[DW_OP_reg8]
DW$17	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR2")
	.dwattr DW$17, DW_AT_location[DW_OP_reg9]
DW$18	.dwtag  DW_TAG_assign_register, DW_AT_name("AR3")
	.dwattr DW$18, DW_AT_location[DW_OP_reg10]
DW$19	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR3")
	.dwattr DW$19, DW_AT_location[DW_OP_reg11]
DW$20	.dwtag  DW_TAG_assign_register, DW_AT_name("AR4")
	.dwattr DW$20, DW_AT_location[DW_OP_reg12]
DW$21	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR4")
	.dwattr DW$21, DW_AT_location[DW_OP_reg13]
DW$22	.dwtag  DW_TAG_assign_register, DW_AT_name("AR5")
	.dwattr DW$22, DW_AT_location[DW_OP_reg14]
DW$23	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR5")
	.dwattr DW$23, DW_AT_location[DW_OP_reg15]
DW$24	.dwtag  DW_TAG_assign_register, DW_AT_name("AR6")
	.dwattr DW$24, DW_AT_location[DW_OP_reg16]
DW$25	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR6")
	.dwattr DW$25, DW_AT_location[DW_OP_reg17]
DW$26	.dwtag  DW_TAG_assign_register, DW_AT_name("AR7")
	.dwattr DW$26, DW_AT_location[DW_OP_reg18]
DW$27	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR7")
	.dwattr DW$27, DW_AT_location[DW_OP_reg19]
DW$28	.dwtag  DW_TAG_assign_register, DW_AT_name("SP")
	.dwattr DW$28, DW_AT_location[DW_OP_reg20]
DW$29	.dwtag  DW_TAG_assign_register, DW_AT_name("XT")
	.dwattr DW$29, DW_AT_location[DW_OP_reg21]
DW$30	.dwtag  DW_TAG_assign_register, DW_AT_name("T")
	.dwattr DW$30, DW_AT_location[DW_OP_reg22]
DW$31	.dwtag  DW_TAG_assign_register, DW_AT_name("ST0")
	.dwattr DW$31, DW_AT_location[DW_OP_reg23]
DW$32	.dwtag  DW_TAG_assign_register, DW_AT_name("ST1")
	.dwattr DW$32, DW_AT_location[DW_OP_reg24]
DW$33	.dwtag  DW_TAG_assign_register, DW_AT_name("PC")
	.dwattr DW$33, DW_AT_location[DW_OP_reg25]
DW$34	.dwtag  DW_TAG_assign_register, DW_AT_name("RPC")
	.dwattr DW$34, DW_AT_location[DW_OP_reg26]
DW$35	.dwtag  DW_TAG_assign_register, DW_AT_name("FP")
	.dwattr DW$35, DW_AT_location[DW_OP_reg27]
DW$36	.dwtag  DW_TAG_assign_register, DW_AT_name("DP")
	.dwattr DW$36, DW_AT_location[DW_OP_reg28]
DW$37	.dwtag  DW_TAG_assign_register, DW_AT_name("SXM")
	.dwattr DW$37, DW_AT_location[DW_OP_reg29]
DW$38	.dwtag  DW_TAG_assign_register, DW_AT_name("PM")
	.dwattr DW$38, DW_AT_location[DW_OP_reg30]
DW$39	.dwtag  DW_TAG_assign_register, DW_AT_name("OVM")
	.dwattr DW$39, DW_AT_location[DW_OP_reg31]
DW$40	.dwtag  DW_TAG_assign_register, DW_AT_name("PAGE0")
	.dwattr DW$40, DW_AT_location[DW_OP_regx 0x20]
DW$41	.dwtag  DW_TAG_assign_register, DW_AT_name("AMODE")
	.dwattr DW$41, DW_AT_location[DW_OP_regx 0x21]
DW$42	.dwtag  DW_TAG_assign_register, DW_AT_name("IFR")
	.dwattr DW$42, DW_AT_location[DW_OP_regx 0x22]
DW$43	.dwtag  DW_TAG_assign_register, DW_AT_name("IER")
	.dwattr DW$43, DW_AT_location[DW_OP_regx 0x23]
DW$44	.dwtag  DW_TAG_assign_register, DW_AT_name("IER")
	.dwattr DW$44, DW_AT_location[DW_OP_regx 0x24]
DW$45	.dwtag  DW_TAG_assign_register, DW_AT_name("PSEUDO")
	.dwattr DW$45, DW_AT_location[DW_OP_regx 0x25]
DW$46	.dwtag  DW_TAG_assign_register, DW_AT_name("PSEUDOH")
	.dwattr DW$46, DW_AT_location[DW_OP_regx 0x26]
DW$47	.dwtag  DW_TAG_assign_register, DW_AT_name("VOL")
	.dwattr DW$47, DW_AT_location[DW_OP_regx 0x27]
DW$48	.dwtag  DW_TAG_assign_register, DW_AT_name("CIE_RETA")
	.dwattr DW$48, DW_AT_location[DW_OP_regx 0x28]
	.dwendtag DW$CU

⌨️ 快捷键说明

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