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

📄 dsp_subsystem.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 2 页
字号:
        STR       A1, [V9, #40]         ; |111| 
	.dwpsn	"DSP_subsystem.c",112,1
        BX        LR
	.dwattr DW$9, DW_AT_end_file("DSP_subsystem.c")
	.dwattr DW$9, DW_AT_end_line(0x70)
	.dwattr DW$9, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$9

	.sect	".text"
	.align	4
	.clink
	.armfunc _Switch_to_DSP
	.state32
	.global	_Switch_to_DSP

DW$10	.dwtag  DW_TAG_subprogram, DW_AT_name("Switch_to_DSP"), DW_AT_symbol_name("_Switch_to_DSP")
	.dwattr DW$10, DW_AT_low_pc(_Switch_to_DSP)
	.dwattr DW$10, DW_AT_high_pc(0x00)
	.dwattr DW$10, DW_AT_begin_file("DSP_subsystem.c")
	.dwattr DW$10, DW_AT_begin_line(0x75)
	.dwattr DW$10, DW_AT_begin_column(0x06)
	.dwpsn	"DSP_subsystem.c",118,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: Switch_to_DSP                                              *
;*                                                                           *
;*   Regs Modified     : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Regs Used         : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                   *
;*****************************************************************************
_Switch_to_DSP:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 4
	.dwpsn	"DSP_subsystem.c",120,1
        LDR       V9, CON2              ; |120| 
        LDR       V9, [V9, #0]          ; |120| 
        ADD       V9, V9, #32           ; |120| 
        LDRH      A1, [V9, #0]          ; |120| 
        BIC       A1, A1, #1            ; |120| 
        STRH      A1, [V9, #0]          ; |120| 
	.dwpsn	"DSP_subsystem.c",121,1
        LDR       V9, CON2              ; |121| 
        LDR       V9, [V9, #0]          ; |121| 
        ADD       V9, V9, #128          ; |121| 
        LDRH      A1, [V9, #0]          ; |121| 
        BIC       A1, A1, #1            ; |121| 
        STRH      A1, [V9, #0]          ; |121| 
	.dwpsn	"DSP_subsystem.c",122,1
        LDR       V9, CON2              ; |122| 
        LDR       V9, [V9, #0]          ; |122| 
        ADD       V9, V9, #160          ; |122| 
        LDRH      A1, [V9, #0]          ; |122| 
        BIC       A1, A1, #1            ; |122| 
        STRH      A1, [V9, #0]          ; |122| 
	.dwpsn	"DSP_subsystem.c",123,1
        LDR       V9, CON2              ; |123| 
        LDR       V9, [V9, #0]          ; |123| 
        ADD       V9, V9, #224          ; |123| 
        LDRH      A1, [V9, #0]          ; |123| 
        BIC       A1, A1, #1            ; |123| 
        STRH      A1, [V9, #0]          ; |123| 
	.dwpsn	"DSP_subsystem.c",124,1
        LDR       V9, CON2              ; |124| 
        LDR       V9, [V9, #0]          ; |124| 
        ADD       V9, V9, #176          ; |124| 
        LDRH      A1, [V9, #0]          ; |124| 
        BIC       A1, A1, #1            ; |124| 
        STRH      A1, [V9, #0]          ; |124| 
	.dwpsn	"DSP_subsystem.c",125,1
        LDR       V9, CON3              ; |125| 
        LDR       V9, [V9, #0]          ; |125| 
        LDRH      A1, [V9, #0]          ; |125| 
        BIC       A1, A1, #1            ; |125| 
        STRH      A1, [V9, #0]          ; |125| 
	.dwpsn	"DSP_subsystem.c",126,1
        LDR       V9, CON3              ; |126| 
        LDR       V9, [V9, #0]          ; |126| 
        ADD       V9, V9, #64           ; |126| 
        LDRH      A1, [V9, #0]          ; |126| 
        BIC       A1, A1, #1            ; |126| 
        STRH      A1, [V9, #0]          ; |126| 
	.dwpsn	"DSP_subsystem.c",127,1
        LDR       V9, CON3              ; |127| 
        LDR       V9, [V9, #0]          ; |127| 
        ADD       V9, V9, #384          ; |127| 
        LDRH      A1, [V9, #0]          ; |127| 
        BIC       A1, A1, #1            ; |127| 
        STRH      A1, [V9, #0]          ; |127| 
	.dwpsn	"DSP_subsystem.c",129,1
        LDR       A1, CON4              ; |129| 
        MOV       V9, #0                ; |129| 
        STRB      V9, [A1, #0]          ; |129| 
	.dwpsn	"DSP_subsystem.c",131,1
        MOV       A3, #1                ; |131| 
        MOV       A2, #1                ; |131| 
        MOV       A1, #1                ; |131| 
        BL        _MAILBOX_Write        ; |131| 
        ; |131| 
	.dwpsn	"DSP_subsystem.c",133,1
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L1
;*
;*   Loop source line                : 133
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L1:    
DW$L$_Switch_to_DSP$2$B:
	.dwpsn	"DSP_subsystem.c",133,7
        LDR       V9, CON4              ; |133| 
        LDRB      V9, [V9, #0]          ; |133| 
        CMP       V9, #0                ; |133| 
        BEQ       L1                    ; |133| 
        ; |133| 
DW$L$_Switch_to_DSP$2$E:
;* --------------------------------------------------------------------------*
	.dwpsn	"DSP_subsystem.c",134,1
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}

DW$11	.dwtag  DW_TAG_loop
	.dwattr DW$11, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\DSP_subsystem.asm:L1:1:1214374280")
	.dwattr DW$11, DW_AT_begin_file("DSP_subsystem.c")
	.dwattr DW$11, DW_AT_begin_line(0x85)
	.dwattr DW$11, DW_AT_end_line(0x85)
DW$12	.dwtag  DW_TAG_loop_range
	.dwattr DW$12, DW_AT_low_pc(DW$L$_Switch_to_DSP$2$B)
	.dwattr DW$12, DW_AT_high_pc(DW$L$_Switch_to_DSP$2$E)
	.dwendtag DW$11

	.dwattr DW$10, DW_AT_end_file("DSP_subsystem.c")
	.dwattr DW$10, DW_AT_end_line(0x86)
	.dwattr DW$10, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$10

;******************************************************************************
;* CONSTANT TABLE                                                             *
;******************************************************************************
	.sect	".text"
	.align	4
CON1:	.field  	_DSPMMU_Base_Addr,32
	.align	4
CON2:	.field  	_OCP_PER_SSW_MPU_CONF_Base_Addr,32
	.align	4
CON3:	.field  	_TIPB_PER_RHSW_MPU_CNF_Base_Addr,32
	.align	4
CON4:	.field  	_DSP_status,32
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_MAILBOX_Write
	.global	_DSP_status

;******************************************************************************
;* TYPE INFORMATION                                                           *
;******************************************************************************

DW$T$19	.dwtag  DW_TAG_subroutine_type
	.dwattr DW$T$19, DW_AT_language(DW_LANG_C)
DW$13	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$14	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$8)
DW$15	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$8)
	.dwendtag DW$T$19


DW$T$21	.dwtag  DW_TAG_subroutine_type
	.dwattr DW$T$21, DW_AT_language(DW_LANG_C)
DW$T$8	.dwtag  DW_TAG_base_type, DW_AT_name("short")
	.dwattr DW$T$8, DW_AT_encoding(DW_ATE_signed)
	.dwattr DW$T$8, DW_AT_byte_size(0x02)
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(0x04)
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(0x04)
DW$T$26	.dwtag  DW_TAG_base_type, DW_AT_name("unsigned char")
	.dwattr DW$T$26, DW_AT_encoding(DW_ATE_unsigned_char)
	.dwattr DW$T$26, DW_AT_byte_size(0x01)

	.dwattr DW$9, DW_AT_external(0x01)
	.dwattr DW$10, DW_AT_external(0x01)
	.dwattr DW$CU, DW_AT_language(DW_LANG_C)

;***************************************************************
;* DWARF CIE ENTRIES                                           *
;***************************************************************

DW$CIE	.dwcie 1, 26
	.dwcfa	0x0c, 13, 0
	.dwcfa	0x07, 0
	.dwcfa	0x07, 1
	.dwcfa	0x07, 2
	.dwcfa	0x07, 3
	.dwcfa	0x08, 4
	.dwcfa	0x08, 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

;***************************************************************
;* DWARF REGISTER MAP                                          *
;***************************************************************

DW$16	.dwtag  DW_TAG_assign_register, DW_AT_name("A1")
	.dwattr DW$16, DW_AT_location[DW_OP_reg0]
DW$17	.dwtag  DW_TAG_assign_register, DW_AT_name("A2")
	.dwattr DW$17, DW_AT_location[DW_OP_reg1]
DW$18	.dwtag  DW_TAG_assign_register, DW_AT_name("A3")
	.dwattr DW$18, DW_AT_location[DW_OP_reg2]
DW$19	.dwtag  DW_TAG_assign_register, DW_AT_name("A4")
	.dwattr DW$19, DW_AT_location[DW_OP_reg3]
DW$20	.dwtag  DW_TAG_assign_register, DW_AT_name("V1")
	.dwattr DW$20, DW_AT_location[DW_OP_reg4]
DW$21	.dwtag  DW_TAG_assign_register, DW_AT_name("V2")
	.dwattr DW$21, DW_AT_location[DW_OP_reg5]
DW$22	.dwtag  DW_TAG_assign_register, DW_AT_name("V3")
	.dwattr DW$22, DW_AT_location[DW_OP_reg6]
DW$23	.dwtag  DW_TAG_assign_register, DW_AT_name("V4")
	.dwattr DW$23, DW_AT_location[DW_OP_reg7]
DW$24	.dwtag  DW_TAG_assign_register, DW_AT_name("V5")
	.dwattr DW$24, DW_AT_location[DW_OP_reg8]
DW$25	.dwtag  DW_TAG_assign_register, DW_AT_name("V6")
	.dwattr DW$25, DW_AT_location[DW_OP_reg9]
DW$26	.dwtag  DW_TAG_assign_register, DW_AT_name("V7")
	.dwattr DW$26, DW_AT_location[DW_OP_reg10]
DW$27	.dwtag  DW_TAG_assign_register, DW_AT_name("V8")
	.dwattr DW$27, DW_AT_location[DW_OP_reg11]
DW$28	.dwtag  DW_TAG_assign_register, DW_AT_name("V9")
	.dwattr DW$28, DW_AT_location[DW_OP_reg12]
DW$29	.dwtag  DW_TAG_assign_register, DW_AT_name("SP")
	.dwattr DW$29, DW_AT_location[DW_OP_reg13]
DW$30	.dwtag  DW_TAG_assign_register, DW_AT_name("LR")
	.dwattr DW$30, DW_AT_location[DW_OP_reg14]
DW$31	.dwtag  DW_TAG_assign_register, DW_AT_name("PC")
	.dwattr DW$31, DW_AT_location[DW_OP_reg15]
DW$32	.dwtag  DW_TAG_assign_register, DW_AT_name("C0")
	.dwattr DW$32, DW_AT_location[DW_OP_reg16]
DW$33	.dwtag  DW_TAG_assign_register, DW_AT_name("C1")
	.dwattr DW$33, DW_AT_location[DW_OP_reg17]
DW$34	.dwtag  DW_TAG_assign_register, DW_AT_name("C2")
	.dwattr DW$34, DW_AT_location[DW_OP_reg18]
DW$35	.dwtag  DW_TAG_assign_register, DW_AT_name("C3")
	.dwattr DW$35, DW_AT_location[DW_OP_reg19]
DW$36	.dwtag  DW_TAG_assign_register, DW_AT_name("C4")
	.dwattr DW$36, DW_AT_location[DW_OP_reg20]
DW$37	.dwtag  DW_TAG_assign_register, DW_AT_name("C5")
	.dwattr DW$37, DW_AT_location[DW_OP_reg21]
DW$38	.dwtag  DW_TAG_assign_register, DW_AT_name("C6")
	.dwattr DW$38, DW_AT_location[DW_OP_reg22]
DW$39	.dwtag  DW_TAG_assign_register, DW_AT_name("C7")
	.dwattr DW$39, DW_AT_location[DW_OP_reg23]
DW$40	.dwtag  DW_TAG_assign_register, DW_AT_name("AP")
	.dwattr DW$40, DW_AT_location[DW_OP_reg24]
DW$41	.dwtag  DW_TAG_assign_register, DW_AT_name("SR")
	.dwattr DW$41, DW_AT_location[DW_OP_reg25]
DW$42	.dwtag  DW_TAG_assign_register, DW_AT_name("CIE_RETA")
	.dwattr DW$42, DW_AT_location[DW_OP_reg26]
	.dwendtag DW$CU

⌨️ 快捷键说明

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