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

📄 mmu.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen                                             PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:56 2008                                *
;******************************************************************************
	.compiler_opts --abi=ti_arm9_abi --endian=little --float_support=fpalib --quiet --silicon_version=5e 
	.state32

DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr DW$CU, DW_AT_name("mmu.c")
	.dwattr DW$CU, DW_AT_producer("TMS470 C/C++ Codegen PC v4.1.4 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\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI42412 
	.sect	".text"
	.align	4
	.clink
	.armfunc _MMU_Section
	.state32
	.global	_MMU_Section

DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("MMU_Section"), DW_AT_symbol_name("_MMU_Section")
	.dwattr DW$1, DW_AT_low_pc(_MMU_Section)
	.dwattr DW$1, DW_AT_high_pc(0x00)
	.dwattr DW$1, DW_AT_begin_file("mmu.c")
	.dwattr DW$1, DW_AT_begin_line(0x04)
	.dwattr DW$1, DW_AT_begin_column(0x01)
	.dwpsn	"mmu.c",5,2

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: MMU_Section                                                *
;*                                                                           *
;*   Regs Modified     : A1,A2,V9,SP,SR                                      *
;*   Regs Used         : A1,A2,A3,V9,SP,SR                                   *
;*   Local Frame Size  : 0 Args + 16 Auto + 0 Save = 16 byte                 *
;*****************************************************************************
_MMU_Section:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #16
	.dwcfa	0x0e, 16
;* A1    assigned to _inAddr
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_name("inAddr"), DW_AT_symbol_name("_inAddr")
	.dwattr DW$2, DW_AT_type(*DW$T$10)
	.dwattr DW$2, DW_AT_location[DW_OP_reg0]
;* A2    assigned to _inVal
DW$3	.dwtag  DW_TAG_formal_parameter, DW_AT_name("inVal"), DW_AT_symbol_name("_inVal")
	.dwattr DW$3, DW_AT_type(*DW$T$10)
	.dwattr DW$3, DW_AT_location[DW_OP_reg1]
;* A3    assigned to _inCount
DW$4	.dwtag  DW_TAG_formal_parameter, DW_AT_name("inCount"), DW_AT_symbol_name("_inCount")
	.dwattr DW$4, DW_AT_type(*DW$T$10)
	.dwattr DW$4, DW_AT_location[DW_OP_reg2]
DW$5	.dwtag  DW_TAG_variable, DW_AT_name("inAddr"), DW_AT_symbol_name("_inAddr")
	.dwattr DW$5, DW_AT_type(*DW$T$10)
	.dwattr DW$5, DW_AT_location[DW_OP_breg13 0]
DW$6	.dwtag  DW_TAG_variable, DW_AT_name("inVal"), DW_AT_symbol_name("_inVal")
	.dwattr DW$6, DW_AT_type(*DW$T$10)
	.dwattr DW$6, DW_AT_location[DW_OP_breg13 4]
DW$7	.dwtag  DW_TAG_variable, DW_AT_name("inCount"), DW_AT_symbol_name("_inCount")
	.dwattr DW$7, DW_AT_type(*DW$T$10)
	.dwattr DW$7, DW_AT_location[DW_OP_breg13 8]
DW$8	.dwtag  DW_TAG_variable, DW_AT_name("lvCounter"), DW_AT_symbol_name("_lvCounter")
	.dwattr DW$8, DW_AT_type(*DW$T$10)
	.dwattr DW$8, DW_AT_location[DW_OP_breg13 12]
        STR       A3, [SP, #8]          ; |5| 
        STR       A2, [SP, #4]          ; |5| 
        STR       A1, [SP, #0]          ; |5| 
	.dwpsn	"mmu.c",8,8
        MOV       V9, #0                ; |8| 
        STR       V9, [SP, #12]         ; |8| 
	.dwpsn	"mmu.c",8,23
        LDR       A1, [SP, #12]         ; |8| 
        LDR       V9, [SP, #8]          ; |8| 
        CMP       A1, V9                ; |8| 
        BGE       L2                    ; |8| 
        ; |8| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L1
;*
;*   Loop source line                : 8
;*   Loop closing brace source line  : 11
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L1:    
DW$L$_MMU_Section$2$B:
	.dwpsn	"mmu.c",10,8
        LDR       V9, [SP, #12]         ; |10| 
        LDR       A1, [SP, #4]          ; |10| 
        LDR       A2, [SP, #0]          ; |10| 
        ORR       V9, A1, V9, LSL #20   ; |10| 
        LDR       A1, [SP, #12]         ; |10| 
        STR       V9, [A2, +A1, LSL #2] ; |10| 
	.dwpsn	"mmu.c",8,44
        LDR       V9, [SP, #12]         ; |8| 
        ADD       V9, V9, #1            ; |8| 
        STR       V9, [SP, #12]         ; |8| 
	.dwpsn	"mmu.c",8,23
        LDR       A1, [SP, #12]         ; |8| 
        LDR       V9, [SP, #8]          ; |8| 
        CMP       A1, V9                ; |8| 
        BLT       L1                    ; |8| 
        ; |8| 
DW$L$_MMU_Section$2$E:
;* --------------------------------------------------------------------------*
L2:    
	.dwpsn	"mmu.c",12,2
        ADD       SP, SP, #16
	.dwcfa	0x0e, 0
        BX        LR

DW$9	.dwtag  DW_TAG_loop
	.dwattr DW$9, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\mmu.asm:L1:1:1214374316")
	.dwattr DW$9, DW_AT_begin_file("mmu.c")
	.dwattr DW$9, DW_AT_begin_line(0x08)
	.dwattr DW$9, DW_AT_end_line(0x0b)
DW$10	.dwtag  DW_TAG_loop_range
	.dwattr DW$10, DW_AT_low_pc(DW$L$_MMU_Section$2$B)
	.dwattr DW$10, DW_AT_high_pc(DW$L$_MMU_Section$2$E)
	.dwendtag DW$9

	.dwattr DW$1, DW_AT_end_file("mmu.c")
	.dwattr DW$1, DW_AT_end_line(0x0c)
	.dwattr DW$1, DW_AT_end_column(0x02)
	.dwendentry
	.dwendtag DW$1

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

DW$11	.dwtag  DW_TAG_subprogram, DW_AT_name("Initial_MMU"), DW_AT_symbol_name("_Initial_MMU")
	.dwattr DW$11, DW_AT_low_pc(_Initial_MMU)
	.dwattr DW$11, DW_AT_high_pc(0x00)
	.dwattr DW$11, DW_AT_begin_file("mmu.c")
	.dwattr DW$11, DW_AT_begin_line(0x0f)
	.dwattr DW$11, DW_AT_begin_column(0x01)
	.dwpsn	"mmu.c",16,4

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: Initial_MMU                                                *
;*                                                                           *
;*   Regs Modified     : A1,A2,A3,V9,SP,LR,SR                                *
;*   Regs Used         : A1,A2,A3,V9,SP,LR,SR                                *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                   *
;*****************************************************************************
_Initial_MMU:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 4
	.dwpsn	"mmu.c",19,7
        LDR       A1, CON4              ; |19| 
        LDR       A2, CON5              ; |19| 
        MOV       A3, #16               ; |19| 
        BL        _MMU_Section          ; |19| 
        ; |19| 
	.dwpsn	"mmu.c",21,7
        MOV       A3, #64               ; |21| 
        LDR       A1, CON9              ; |21| 
        LDR       A2, CON10             ; |21| 
        BL        _MMU_Section          ; |21| 
        ; |21| 
	.dwpsn	"mmu.c",23,7
        MOV       A3, #64               ; |23| 
        LDR       A1, CON13             ; |23| 
        LDR       A2, CON14             ; |23| 
        BL        _MMU_Section          ; |23| 
        ; |23| 
	.dwpsn	"mmu.c",25,7
        MOV       A3, #64               ; |25| 
        LDR       A1, CON17             ; |25| 
        LDR       A2, CON18             ; |25| 
        BL        _MMU_Section          ; |25| 
        ; |25| 
	.dwpsn	"mmu.c",27,7
        MOV       A3, #64               ; |27| 
        LDR       A1, CON20             ; |27| 
        LDR       A2, CON5              ; |27| 
        BL        _MMU_Section          ; |27| 
        ; |27| 
	.dwpsn	"mmu.c",29,7
        MOV       A3, #1                ; |29| 
        LDR       A1, CON24             ; |29| 
        LDR       A2, CON25             ; |29| 
        BL        _MMU_Section          ; |29| 
        ; |29| 
	.dwpsn	"mmu.c",31,7
        MOV       A3, #8                ; |31| 
        LDR       A1, CON29             ; |31| 
        LDR       A2, CON30             ; |31| 
        BL        _MMU_Section          ; |31| 
        ; |31| 
	.dwpsn	"mmu.c",33,7
        MOV       A3, #64               ; |33| 
        LDR       A1, CON33             ; |33| 
        LDR       A2, CON34             ; |33| 
        BL        _MMU_Section          ; |33| 
        ; |33| 
	.dwpsn	"mmu.c",35,7
        MOV       A3, #1                ; |35| 
        LDR       A1, CON37             ; |35| 
        LDR       A2, CON38             ; |35| 
        BL        _MMU_Section          ; |35| 
        ; |35| 
	.dwpsn	"mmu.c",37,7
        MOV       A1, #536870912        ; |37| 
        MOV       V9, #165              ; |37| 
        SUB       A1, A1, #262144000    ; |37| 
        ADD       V9, V9, #42240        ; |37| 
        STRH      V9, [A1, #0]          ; |37| 
	.dwpsn	"mmu.c",38,7
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$11, DW_AT_end_file("mmu.c")
	.dwattr DW$11, DW_AT_end_line(0x26)
	.dwattr DW$11, DW_AT_end_column(0x07)
	.dwendentry
	.dwendtag DW$11

;******************************************************************************
;* CONSTANT TABLE                                                             *
;******************************************************************************
	.sect	".text"
	.align	4
CON4:	.field  	269549568,32
	.align	4
CON5:	.field  	268438542,32
	.align	4
CON9:	.field  	269549824,32
	.align	4
CON10:	.field  	67111938,32
	.align	4
CON13:	.field  	269550080,32
	.align	4
CON14:	.field  	134220802,32
	.align	4
CON17:	.field  	269550336,32
	.align	4
CON18:	.field  	201329666,32
	.align	4
CON20:	.field  	269550592,32
	.align	4
CON24:	.field  	269551616,32
	.align	4
CON25:	.field  	536873986,32
	.align	4
CON29:	.field  	269552960,32
	.align	4
CON30:	.field  	889195522,32
	.align	4
CON33:	.field  	269563904,32
	.align	4
CON34:	.field  	-536867838,32
	.align	4
CON37:	.field  	269565948,32
	.align	4
CON38:	.field  	-1045502,32

;******************************************************************************
;* 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(0x04)

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


DW$T$22	.dwtag  DW_TAG_subroutine_type, DW_AT_type(*DW$T$10)
	.dwattr DW$T$22, DW_AT_language(DW_LANG_C)

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

⌨️ 快捷键说明

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