📄 mmu.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 + -