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

📄 mpu_subsystem.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 3 页
字号:
	.dwattr DW$7, DW_AT_end_file("MPU_subsystem.c")
	.dwattr DW$7, DW_AT_end_line(0x42)
	.dwattr DW$7, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$7

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

DW$11	.dwtag  DW_TAG_subprogram, DW_AT_name("MAILBOX_Write"), DW_AT_symbol_name("_MAILBOX_Write")
	.dwattr DW$11, DW_AT_low_pc(_MAILBOX_Write)
	.dwattr DW$11, DW_AT_high_pc(0x00)
	.dwattr DW$11, DW_AT_begin_file("MPU_subsystem.c")
	.dwattr DW$11, DW_AT_begin_line(0x47)
	.dwattr DW$11, DW_AT_begin_column(0x06)
	.dwpsn	"MPU_subsystem.c",72,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: MAILBOX_Write                                              *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP,SR                                         *
;*   Regs Used         : A1,A2,A3,V9,SP,SR                                   *
;*   Local Frame Size  : 0 Args + 8 Auto + 0 Save = 8 byte                   *
;*****************************************************************************
_MAILBOX_Write:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #8
	.dwcfa	0x0e, 8
;* A1    assigned to _mailbox_name
DW$12	.dwtag  DW_TAG_formal_parameter, DW_AT_name("mailbox_name"), DW_AT_symbol_name("_mailbox_name")
	.dwattr DW$12, DW_AT_type(*DW$T$10)
	.dwattr DW$12, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _data_a
DW$13	.dwtag  DW_TAG_formal_parameter, DW_AT_name("data_a"), DW_AT_symbol_name("_data_a")
	.dwattr DW$13, DW_AT_type(*DW$T$8)
	.dwattr DW$13, DW_AT_location[DW_OP_reg1]
;* A3    assigned to _data_b
DW$14	.dwtag  DW_TAG_formal_parameter, DW_AT_name("data_b"), DW_AT_symbol_name("_data_b")
	.dwattr DW$14, DW_AT_type(*DW$T$8)
	.dwattr DW$14, DW_AT_location[DW_OP_reg2]
DW$15	.dwtag  DW_TAG_variable, DW_AT_name("mailbox_name"), DW_AT_symbol_name("_mailbox_name")
	.dwattr DW$15, DW_AT_type(*DW$T$10)
	.dwattr DW$15, DW_AT_location[DW_OP_breg13 0]
DW$16	.dwtag  DW_TAG_variable, DW_AT_name("data_a"), DW_AT_symbol_name("_data_a")
	.dwattr DW$16, DW_AT_type(*DW$T$8)
	.dwattr DW$16, DW_AT_location[DW_OP_breg13 4]
DW$17	.dwtag  DW_TAG_variable, DW_AT_name("data_b"), DW_AT_symbol_name("_data_b")
	.dwattr DW$17, DW_AT_type(*DW$T$8)
	.dwattr DW$17, DW_AT_location[DW_OP_breg13 6]
        STRH      A3, [SP, #6]          ; |72| 
        STRH      A2, [SP, #4]          ; |72| 
        STR       A1, [SP, #0]          ; |72| 
	.dwpsn	"MPU_subsystem.c",73,1
        B         L13                   ; |73| 
        ; |73| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L11:    
	.dwpsn	"MPU_subsystem.c",76,3
        LDR       A1, CON5              ; |76| 
        LDRH      V9, [SP, #4]          ; |76| 
        LDR       A1, [A1, #0]          ; |76| 
        STRH      V9, [A1, #0]          ; |76| 
	.dwpsn	"MPU_subsystem.c",77,3
        LDR       A1, CON5              ; |77| 
        LDRH      V9, [SP, #6]          ; |77| 
        LDR       A1, [A1, #0]          ; |77| 
        STRH      V9, [A1, #4]          ; |77| 
	.dwpsn	"MPU_subsystem.c",78,8
        B         L14                   ; |78| 
        ; |78| 
;* --------------------------------------------------------------------------*
L12:    
	.dwpsn	"MPU_subsystem.c",80,3
        LDR       A1, CON5              ; |80| 
        LDRH      V9, [SP, #4]          ; |80| 
        LDR       A1, [A1, #0]          ; |80| 
        STRH      V9, [A1, #36]         ; |80| 
	.dwpsn	"MPU_subsystem.c",81,3
        LDR       A1, CON5              ; |81| 
        LDRH      V9, [SP, #6]          ; |81| 
        LDR       A1, [A1, #0]          ; |81| 
        STRH      V9, [A1, #40]         ; |81| 
	.dwpsn	"MPU_subsystem.c",82,10
        B         L14                   ; |82| 
        ; |82| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L13:    
	.dwpsn	"MPU_subsystem.c",73,1
        LDR       V9, [SP, #0]          ; |73| 
        SUBS      V9, V9, #1            ; |73| 
        BEQ       L11                   ; |73| 
        ; |73| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |73| 
        BEQ       L12                   ; |73| 
        ; |73| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L14:    
	.dwpsn	"MPU_subsystem.c",85,1
        ADD       SP, SP, #8
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$11, DW_AT_end_file("MPU_subsystem.c")
	.dwattr DW$11, DW_AT_end_line(0x55)
	.dwattr DW$11, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$11

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

DW$18	.dwtag  DW_TAG_subprogram, DW_AT_name("MAILBOX_GetFlag"), DW_AT_symbol_name("_MAILBOX_GetFlag")
	.dwattr DW$18, DW_AT_low_pc(_MAILBOX_GetFlag)
	.dwattr DW$18, DW_AT_high_pc(0x00)
	.dwattr DW$18, DW_AT_begin_file("MPU_subsystem.c")
	.dwattr DW$18, DW_AT_begin_line(0x5a)
	.dwattr DW$18, DW_AT_begin_column(0x07)
	.dwpsn	"MPU_subsystem.c",91,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: MAILBOX_GetFlag                                            *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP,SR                                         *
;*   Regs Used         : A1,V9,SP,SR                                         *
;*   Local Frame Size  : 0 Args + 4 Auto + 0 Save = 4 byte                   *
;*****************************************************************************
_MAILBOX_GetFlag:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #4
	.dwcfa	0x0e, 4
;* A1    assigned to _mailbox_name
DW$19	.dwtag  DW_TAG_formal_parameter, DW_AT_name("mailbox_name"), DW_AT_symbol_name("_mailbox_name")
	.dwattr DW$19, DW_AT_type(*DW$T$10)
	.dwattr DW$19, DW_AT_location[DW_OP_reg0]
DW$20	.dwtag  DW_TAG_variable, DW_AT_name("mailbox_name"), DW_AT_symbol_name("_mailbox_name")
	.dwattr DW$20, DW_AT_type(*DW$T$10)
	.dwattr DW$20, DW_AT_location[DW_OP_breg13 0]
        STR       A1, [SP, #0]          ; |91| 
	.dwpsn	"MPU_subsystem.c",92,1
        B         L17                   ; |92| 
        ; |92| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L15:    
	.dwpsn	"MPU_subsystem.c",95,3
        LDR       V9, CON5              ; |95| 
        LDR       V9, [V9, #0]          ; |95| 
        LDRH      V9, [V9, #24]         ; |95| 
        AND       V9, V9, #1            ; |95| 
        MOV       A1, V9, LSL #16       ; |101| 
        MOV       A1, A1, ASR #16       ; |101| 
        B         L18                   ; |95| 
        ; |95| 
;* --------------------------------------------------------------------------*
L16:    
	.dwpsn	"MPU_subsystem.c",97,3
        LDR       V9, CON5              ; |97| 
        LDR       V9, [V9, #0]          ; |97| 
        LDRH      V9, [V9, #44]         ; |97| 
        AND       V9, V9, #1            ; |97| 
        MOV       A1, V9, LSL #16       ; |101| 
        MOV       A1, A1, ASR #16       ; |101| 
        B         L18                   ; |97| 
        ; |97| 
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L17:    
	.dwpsn	"MPU_subsystem.c",92,1
        LDR       V9, [SP, #0]          ; |92| 
        SUBS      V9, V9, #1            ; |92| 
        BEQ       L15                   ; |92| 
        ; |92| 
;* --------------------------------------------------------------------------*
        SUBS      V9, V9, #1            ; |92| 
        BEQ       L16                   ; |92| 
        ; |92| 
;* --------------------------------------------------------------------------*
	.dwpsn	"MPU_subsystem.c",101,1
        MOV       A1, #0                ; |101| 
;* --------------------------------------------------------------------------*
L18:    
	.dwpsn	"MPU_subsystem.c",102,1
        ADD       SP, SP, #4            ; |101| 
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$18, DW_AT_end_file("MPU_subsystem.c")
	.dwattr DW$18, DW_AT_end_line(0x66)
	.dwattr DW$18, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$18

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

DW$21	.dwtag  DW_TAG_subprogram, DW_AT_name("MAILBOX_InthProcess"), DW_AT_symbol_name("_MAILBOX_InthProcess")
	.dwattr DW$21, DW_AT_low_pc(_MAILBOX_InthProcess)
	.dwattr DW$21, DW_AT_high_pc(0x00)
	.dwattr DW$21, DW_AT_begin_file("MPU_subsystem.c")
	.dwattr DW$21, DW_AT_begin_line(0x6b)
	.dwattr DW$21, DW_AT_begin_column(0x06)
	.dwpsn	"MPU_subsystem.c",108,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: MAILBOX_InthProcess                                        *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP,LR,SR                                      *
;*   Regs Used         : A1,V9,SP,LR,SR                                      *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                   *
;*****************************************************************************
_MAILBOX_InthProcess:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 4
	.dwpsn	"MPU_subsystem.c",109,1
        MOV       A1, #15               ; |109| 
        BL        _MAILBOX_Read         ; |109| 
        ; |109| 
	.dwpsn	"MPU_subsystem.c",110,1
        MOV       A1, #16               ; |110| 
        BL        _MAILBOX_Read         ; |110| 
        ; |110| 
	.dwpsn	"MPU_subsystem.c",113,1
        LDR       V9, CON6              ; |113| 
        LDR       V9, [V9, #0]          ; |113| 
        ADD       V9, V9, #32           ; |113| 
        LDRH      A1, [V9, #0]          ; |113| 
        ORR       A1, A1, #1            ; |113| 
        STRH      A1, [V9, #0]          ; |113| 
	.dwpsn	"MPU_subsystem.c",114,1
        LDR       V9, CON6              ; |114| 
        LDR       V9, [V9, #0]          ; |114| 
        ADD       V9, V9, #128          ; |114| 
        LDRH      A1, [V9, #0]          ; |114| 
        ORR       A1, A1, #1            ; |114| 
        STRH      A1, [V9, #0]          ; |114| 
	.dwpsn	"MPU_subsystem.c",115,1
        LDR       V9, CON6              ; |115| 
        LDR       V9, [V9, #0]          ; |115| 
        ADD       V9, V9, #160          ; |115| 
        LDRH      A1, [V9, #0]          ; |115| 
        ORR       A1, A1, #1            ; |115| 
        STRH      A1, [V9, #0]          ; |115| 
	.dwpsn	"MPU_subsystem.c",116,1
        LDR       V9, CON6              ; |116| 
        LDR       V9, [V9, #0]          ; |116| 
        ADD       V9, V9, #224          ; |116| 
        LDRH      A1, [V9, #0]          ; |116| 
        ORR       A1, A1, #1            ; |116| 
        STRH      A1, [V9, #0]          ; |116| 

⌨️ 快捷键说明

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