⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iqsample.asm

📁 This example code is for TI DSP(TMS320F2808) IQ math study.
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	.global	_puts
	.global	__IQ9mag
	.global	__IQ9mpyI32int
	.global	__atoIQN
	.global	_gets
	.global	__IQ9div
	.global	__IQ9exp
	.global	__IQ9atan2PU
	.global	__IQ9sin
	.global	FD$$MPY
	.global	U$$TOFD
	.global	FD$$TOL

;***************************************************************
;* 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$31	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$10)
	.dwattr DW$T$31, DW_AT_language(DW_LANG_C)
DW$51	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$30)
	.dwendtag DW$T$31


DW$T$33	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$10)
	.dwattr DW$T$33, DW_AT_language(DW_LANG_C)
DW$T$11	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned int")
	.dwattr DW$T$11, DW_AT_encoding(DW_ATE_unsigned)
	.dwattr DW$T$11, DW_AT_byte_size(0x01)
DW$T$12	.dwtag  DW_TAG_base_type, DW_AT_name("long")
	.dwattr DW$T$12, DW_AT_encoding(DW_ATE_signed)
	.dwattr DW$T$12, DW_AT_byte_size(0x02)
DW$T$19	.dwtag  DW_TAG_typedef, DW_AT_name("_iq"), DW_AT_type(*DW$T$12)
	.dwattr DW$T$19, DW_AT_language(DW_LANG_C)

DW$T$40	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$12)
	.dwattr DW$T$40, DW_AT_language(DW_LANG_C)
DW$52	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$12)
	.dwendtag DW$T$40


DW$T$42	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$12)
	.dwattr DW$T$42, DW_AT_language(DW_LANG_C)
DW$53	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$12)
DW$54	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$12)
DW$55	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$T$42


DW$T$43	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$12)
	.dwattr DW$T$43, DW_AT_language(DW_LANG_C)
DW$56	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$12)
DW$57	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$12)
	.dwendtag DW$T$43


DW$T$45	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$12)
	.dwattr DW$T$45, DW_AT_language(DW_LANG_C)
DW$58	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$30)
DW$59	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$12)
	.dwendtag DW$T$45


DW$T$22	.dwtag  DW_TAG_structure_type
	.dwattr DW$T$22, DW_AT_name("DATA_LOG_C")
	.dwattr DW$T$22, DW_AT_byte_size(0x280)
DW$60	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$20)
	.dwattr DW$60, DW_AT_name("Xwaveform"), DW_AT_symbol_name("_Xwaveform")
	.dwattr DW$60, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
	.dwattr DW$60, DW_AT_accessibility(DW_ACCESS_public)
DW$61	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$20)
	.dwattr DW$61, DW_AT_name("Ywaveform"), DW_AT_symbol_name("_Ywaveform")
	.dwattr DW$61, DW_AT_data_member_location[DW_OP_plus_uconst 0x80]
	.dwattr DW$61, DW_AT_accessibility(DW_ACCESS_public)
DW$62	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$21)
	.dwattr DW$62, DW_AT_name("Phase"), DW_AT_symbol_name("_Phase")
	.dwattr DW$62, DW_AT_data_member_location[DW_OP_plus_uconst 0x100]
	.dwattr DW$62, DW_AT_accessibility(DW_ACCESS_public)
DW$63	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$20)
	.dwattr DW$63, DW_AT_name("Mag"), DW_AT_symbol_name("_Mag")
	.dwattr DW$63, DW_AT_data_member_location[DW_OP_plus_uconst 0x180]
	.dwattr DW$63, DW_AT_accessibility(DW_ACCESS_public)
DW$64	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$20)
	.dwattr DW$64, DW_AT_name("Exp"), DW_AT_symbol_name("_Exp")
	.dwattr DW$64, DW_AT_data_member_location[DW_OP_plus_uconst 0x200]
	.dwattr DW$64, DW_AT_accessibility(DW_ACCESS_public)
	.dwendtag DW$T$22


DW$T$23	.dwtag  DW_TAG_structure_type
	.dwattr DW$T$23, DW_AT_name("STEP")
	.dwattr DW$T$23, DW_AT_byte_size(0x12)
DW$65	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$65, DW_AT_name("Xsize"), DW_AT_symbol_name("_Xsize")
	.dwattr DW$65, DW_AT_data_member_location[DW_OP_plus_uconst 0x0]
	.dwattr DW$65, DW_AT_accessibility(DW_ACCESS_public)
DW$66	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$66, DW_AT_name("Ysize"), DW_AT_symbol_name("_Ysize")
	.dwattr DW$66, DW_AT_data_member_location[DW_OP_plus_uconst 0x2]
	.dwattr DW$66, DW_AT_accessibility(DW_ACCESS_public)
DW$67	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$67, DW_AT_name("Yoffset"), DW_AT_symbol_name("_Yoffset")
	.dwattr DW$67, DW_AT_data_member_location[DW_OP_plus_uconst 0x4]
	.dwattr DW$67, DW_AT_accessibility(DW_ACCESS_public)
DW$68	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$68, DW_AT_name("X"), DW_AT_symbol_name("_X")
	.dwattr DW$68, DW_AT_data_member_location[DW_OP_plus_uconst 0x6]
	.dwattr DW$68, DW_AT_accessibility(DW_ACCESS_public)
DW$69	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$69, DW_AT_name("Y"), DW_AT_symbol_name("_Y")
	.dwattr DW$69, DW_AT_data_member_location[DW_OP_plus_uconst 0x8]
	.dwattr DW$69, DW_AT_accessibility(DW_ACCESS_public)
DW$70	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$70, DW_AT_name("GainX"), DW_AT_symbol_name("_GainX")
	.dwattr DW$70, DW_AT_data_member_location[DW_OP_plus_uconst 0xa]
	.dwattr DW$70, DW_AT_accessibility(DW_ACCESS_public)
DW$71	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$71, DW_AT_name("GainY"), DW_AT_symbol_name("_GainY")
	.dwattr DW$71, DW_AT_data_member_location[DW_OP_plus_uconst 0xc]
	.dwattr DW$71, DW_AT_accessibility(DW_ACCESS_public)
DW$72	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$72, DW_AT_name("FreqX"), DW_AT_symbol_name("_FreqX")
	.dwattr DW$72, DW_AT_data_member_location[DW_OP_plus_uconst 0xe]
	.dwattr DW$72, DW_AT_accessibility(DW_ACCESS_public)
DW$73	.dwtag  DW_TAG_member, DW_AT_type(*DW$T$19)
	.dwattr DW$73, DW_AT_name("FreqY"), DW_AT_symbol_name("_FreqY")
	.dwattr DW$73, DW_AT_data_member_location[DW_OP_plus_uconst 0x10]
	.dwattr DW$73, DW_AT_accessibility(DW_ACCESS_public)
	.dwendtag DW$T$23

DW$T$26	.dwtag  DW_TAG_pointer_type, DW_AT_type(*DW$T$25)
	.dwattr DW$T$26, DW_AT_address_class(0x16)

DW$T$49	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$26)
	.dwattr DW$T$49, DW_AT_language(DW_LANG_C)
DW$74	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$26)
	.dwendtag DW$T$49

DW$T$30	.dwtag  DW_TAG_pointer_type, DW_AT_type(*DW$T$29)
	.dwattr DW$T$30, DW_AT_address_class(0x16)

DW$T$50	.dwtag  DW_TAG_array_type, DW_AT_type(*DW$T$25)
	.dwattr DW$T$50, DW_AT_language(DW_LANG_C)
	.dwattr DW$T$50, DW_AT_byte_size(0x14)
DW$75	.dwtag  DW_TAG_subrange_type
	.dwattr DW$75, DW_AT_upper_bound(0x13)
	.dwendtag DW$T$50


DW$T$20	.dwtag  DW_TAG_array_type, DW_AT_type(*DW$T$19)
	.dwattr DW$T$20, DW_AT_language(DW_LANG_C)
	.dwattr DW$T$20, DW_AT_byte_size(0x80)
DW$76	.dwtag  DW_TAG_subrange_type
	.dwattr DW$76, DW_AT_upper_bound(0x3f)
	.dwendtag DW$T$20


DW$T$21	.dwtag  DW_TAG_array_type, DW_AT_type(*DW$T$12)
	.dwattr DW$T$21, DW_AT_language(DW_LANG_C)
	.dwattr DW$T$21, DW_AT_byte_size(0x80)
DW$77	.dwtag  DW_TAG_subrange_type
	.dwattr DW$77, DW_AT_upper_bound(0x3f)
	.dwendtag DW$T$21

DW$T$25	.dwtag  DW_TAG_base_type, DW_AT_name("signed char")
	.dwattr DW$T$25, DW_AT_encoding(DW_ATE_signed_char)
	.dwattr DW$T$25, DW_AT_byte_size(0x01)
DW$78	.dwtag  DW_TAG_far_type
	.dwattr DW$78, DW_AT_type(*DW$T$25)
DW$T$29	.dwtag  DW_TAG_const_type
	.dwattr DW$T$29, DW_AT_type(*DW$78)

	.dwattr DW$35, DW_AT_external(0x01)
	.dwattr DW$35, 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$79	.dwtag  DW_TAG_assign_register, DW_AT_name("AL")
	.dwattr DW$79, DW_AT_location[DW_OP_reg0]
DW$80	.dwtag  DW_TAG_assign_register, DW_AT_name("AH")
	.dwattr DW$80, DW_AT_location[DW_OP_reg1]
DW$81	.dwtag  DW_TAG_assign_register, DW_AT_name("PL")
	.dwattr DW$81, DW_AT_location[DW_OP_reg2]
DW$82	.dwtag  DW_TAG_assign_register, DW_AT_name("PH")
	.dwattr DW$82, DW_AT_location[DW_OP_reg3]
DW$83	.dwtag  DW_TAG_assign_register, DW_AT_name("AR0")
	.dwattr DW$83, DW_AT_location[DW_OP_reg4]
DW$84	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR0")
	.dwattr DW$84, DW_AT_location[DW_OP_reg5]
DW$85	.dwtag  DW_TAG_assign_register, DW_AT_name("AR1")
	.dwattr DW$85, DW_AT_location[DW_OP_reg6]
DW$86	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR1")
	.dwattr DW$86, DW_AT_location[DW_OP_reg7]
DW$87	.dwtag  DW_TAG_assign_register, DW_AT_name("AR2")
	.dwattr DW$87, DW_AT_location[DW_OP_reg8]
DW$88	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR2")
	.dwattr DW$88, DW_AT_location[DW_OP_reg9]
DW$89	.dwtag  DW_TAG_assign_register, DW_AT_name("AR3")
	.dwattr DW$89, DW_AT_location[DW_OP_reg10]
DW$90	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR3")
	.dwattr DW$90, DW_AT_location[DW_OP_reg11]
DW$91	.dwtag  DW_TAG_assign_register, DW_AT_name("AR4")
	.dwattr DW$91, DW_AT_location[DW_OP_reg12]
DW$92	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR4")
	.dwattr DW$92, DW_AT_location[DW_OP_reg13]
DW$93	.dwtag  DW_TAG_assign_register, DW_AT_name("AR5")
	.dwattr DW$93, DW_AT_location[DW_OP_reg14]
DW$94	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR5")
	.dwattr DW$94, DW_AT_location[DW_OP_reg15]
DW$95	.dwtag  DW_TAG_assign_register, DW_AT_name("AR6")
	.dwattr DW$95, DW_AT_location[DW_OP_reg16]
DW$96	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR6")
	.dwattr DW$96, DW_AT_location[DW_OP_reg17]
DW$97	.dwtag  DW_TAG_assign_register, DW_AT_name("AR7")
	.dwattr DW$97, DW_AT_location[DW_OP_reg18]
DW$98	.dwtag  DW_TAG_assign_register, DW_AT_name("XAR7")
	.dwattr DW$98, DW_AT_location[DW_OP_reg19]
DW$99	.dwtag  DW_TAG_assign_register, DW_AT_name("SP")
	.dwattr DW$99, DW_AT_location[DW_OP_reg20]
DW$100	.dwtag  DW_TAG_assign_register, DW_AT_name("XT")
	.dwattr DW$100, DW_AT_location[DW_OP_reg21]
DW$101	.dwtag  DW_TAG_assign_register, DW_AT_name("T")
	.dwattr DW$101, DW_AT_location[DW_OP_reg22]
DW$102	.dwtag  DW_TAG_assign_register, DW_AT_name("ST0")
	.dwattr DW$102, DW_AT_location[DW_OP_reg23]
DW$103	.dwtag  DW_TAG_assign_register, DW_AT_name("ST1")
	.dwattr DW$103, DW_AT_location[DW_OP_reg24]
DW$104	.dwtag  DW_TAG_assign_register, DW_AT_name("PC")
	.dwattr DW$104, DW_AT_location[DW_OP_reg25]
DW$105	.dwtag  DW_TAG_assign_register, DW_AT_name("RPC")
	.dwattr DW$105, DW_AT_location[DW_OP_reg26]
DW$106	.dwtag  DW_TAG_assign_register, DW_AT_name("FP")
	.dwattr DW$106, DW_AT_location[DW_OP_reg27]
DW$107	.dwtag  DW_TAG_assign_register, DW_AT_name("DP")
	.dwattr DW$107, DW_AT_location[DW_OP_reg28]
DW$108	.dwtag  DW_TAG_assign_register, DW_AT_name("SXM")
	.dwattr DW$108, DW_AT_location[DW_OP_reg29]
DW$109	.dwtag  DW_TAG_assign_register, DW_AT_name("PM")
	.dwattr DW$109, DW_AT_location[DW_OP_reg30]
DW$110	.dwtag  DW_TAG_assign_register, DW_AT_name("OVM")
	.dwattr DW$110, DW_AT_location[DW_OP_reg31]
DW$111	.dwtag  DW_TAG_assign_register, DW_AT_name("PAGE0")
	.dwattr DW$111, DW_AT_location[DW_OP_regx 0x20]
DW$112	.dwtag  DW_TAG_assign_register, DW_AT_name("AMODE")
	.dwattr DW$112, DW_AT_location[DW_OP_regx 0x21]
DW$113	.dwtag  DW_TAG_assign_register, DW_AT_name("IFR")
	.dwattr DW$113, DW_AT_location[DW_OP_regx 0x22]
DW$114	.dwtag  DW_TAG_assign_register, DW_AT_name("IER")
	.dwattr DW$114, DW_AT_location[DW_OP_regx 0x23]
DW$115	.dwtag  DW_TAG_assign_register, DW_AT_name("IER")
	.dwattr DW$115, DW_AT_location[DW_OP_regx 0x24]
DW$116	.dwtag  DW_TAG_assign_register, DW_AT_name("PSEUDO")
	.dwattr DW$116, DW_AT_location[DW_OP_regx 0x25]
DW$117	.dwtag  DW_TAG_assign_register, DW_AT_name("PSEUDOH")
	.dwattr DW$117, DW_AT_location[DW_OP_regx 0x26]
DW$118	.dwtag  DW_TAG_assign_register, DW_AT_name("VOL")
	.dwattr DW$118, DW_AT_location[DW_OP_regx 0x27]
DW$119	.dwtag  DW_TAG_assign_register, DW_AT_name("CIE_RETA")
	.dwattr DW$119, DW_AT_location[DW_OP_regx 0x28]
	.dwendtag DW$CU

⌨️ 快捷键说明

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