📄 flash_nor_intel_br28f128l18t85.asm
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:26 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("flash_NOR_INTEL_BR28F128L18T85.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)
;*****************************************************************************
;* CINIT RECORDS *
;*****************************************************************************
.sect ".cinit"
.align 4
.field IR_1,32
.field _flashdata+0,32
.field 4660,16 ; _flashdata[0] @ 0
.field 22136,16 ; _flashdata[1] @ 16
.field 21845,16 ; _flashdata[2] @ 32
.field 4112,16 ; _flashdata[3] @ 48
IR_1: .set 8
.sect ".cinit"
.align 4
.field IR_2,32
.field _dsc+0,32
.field 0,16 ; _dsc[0] @ 0
IR_2: .set 2
DW$1 .dwtag DW_TAG_subprogram, DW_AT_name("flashdrv_amd_id_read"), DW_AT_symbol_name("_flashdrv_amd_id_read")
.dwattr DW$1, DW_AT_declaration(0x01)
.dwattr DW$1, DW_AT_external(0x01)
DW$2 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
DW$3 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
.dwendtag DW$1
DW$4 .dwtag DW_TAG_subprogram, DW_AT_name("flashdrv_amd_erase_end"), DW_AT_symbol_name("_flashdrv_amd_erase_end")
.dwattr DW$4, DW_AT_declaration(0x01)
.dwattr DW$4, DW_AT_external(0x01)
DW$5 .dwtag DW_TAG_subprogram, DW_AT_name("flashdrv_amd_write"), DW_AT_symbol_name("_flashdrv_amd_write")
.dwattr DW$5, DW_AT_declaration(0x01)
.dwattr DW$5, DW_AT_external(0x01)
DW$6 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$3)
DW$7 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$25)
DW$8 .dwtag DW_TAG_formal_parameter, DW_AT_type(*DW$T$11)
.dwendtag DW$5
DW$9 .dwtag DW_TAG_subprogram, DW_AT_name("write_test"), DW_AT_symbol_name("_write_test")
.dwattr DW$9, DW_AT_declaration(0x01)
.dwattr DW$9, DW_AT_external(0x01)
DW$10 .dwtag DW_TAG_subprogram, DW_AT_name("UART_Printf"), DW_AT_symbol_name("_UART_Printf")
.dwattr DW$10, DW_AT_type(*DW$T$10)
.dwattr DW$10, DW_AT_declaration(0x01)
.dwattr DW$10, DW_AT_external(0x01)
DW$11 .dwtag DW_TAG_subprogram, DW_AT_name("UART_GetNum"), DW_AT_symbol_name("_UART_GetNum")
.dwattr DW$11, DW_AT_type(*DW$T$10)
.dwattr DW$11, DW_AT_declaration(0x01)
.dwattr DW$11, DW_AT_external(0x01)
DW$12 .dwtag DW_TAG_subprogram, DW_AT_name("AMD_FLASH_TEST"), DW_AT_symbol_name("_AMD_FLASH_TEST")
.dwattr DW$12, DW_AT_type(*DW$T$10)
.dwattr DW$12, DW_AT_declaration(0x01)
.dwattr DW$12, DW_AT_external(0x01)
.global _flashdata
.bss _flashdata,8,4
DW$13 .dwtag DW_TAG_variable, DW_AT_name("flashdata"), DW_AT_symbol_name("_flashdata")
.dwattr DW$13, DW_AT_location[DW_OP_addr _flashdata]
.dwattr DW$13, DW_AT_type(*DW$T$45)
.dwattr DW$13, DW_AT_external(0x01)
.global _dsc
.bss _dsc,4,4
DW$14 .dwtag DW_TAG_variable, DW_AT_name("dsc"), DW_AT_symbol_name("_dsc")
.dwattr DW$14, DW_AT_location[DW_OP_addr _dsc]
.dwattr DW$14, DW_AT_type(*DW$T$47)
.dwattr DW$14, DW_AT_external(0x01)
; C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI96812
.sect ".text"
.align 4
.clink
.armfunc _flash_erase_test_a9_zhy
.state32
DW$15 .dwtag DW_TAG_subprogram, DW_AT_name("flash_erase_test_a9_zhy"), DW_AT_symbol_name("_flash_erase_test_a9_zhy")
.dwattr DW$15, DW_AT_low_pc(_flash_erase_test_a9_zhy)
.dwattr DW$15, DW_AT_high_pc(0x00)
.dwattr DW$15, DW_AT_begin_file("flash_NOR_INTEL_BR28F128L18T85.c")
.dwattr DW$15, DW_AT_begin_line(0x23)
.dwattr DW$15, DW_AT_begin_column(0x0f)
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",36,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: flash_erase_test_a9_zhy *
;* *
;* 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 + 12 Auto + 4 Save = 16 byte *
;*****************************************************************************
_flash_erase_test_a9_zhy:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {A2, A3, A4, LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
.dwcfa 0x0e, 8
.dwcfa 0x80, 3, 2
.dwcfa 0x0e, 12
.dwcfa 0x80, 2, 3
.dwcfa 0x0e, 16
.dwcfa 0x80, 1, 4
.dwcfa 0x0e, 16
;* A1 assigned to _flash_size_in_bytes
DW$16 .dwtag DW_TAG_formal_parameter, DW_AT_name("flash_size_in_bytes"), DW_AT_symbol_name("_flash_size_in_bytes")
.dwattr DW$16, DW_AT_type(*DW$T$28)
.dwattr DW$16, DW_AT_location[DW_OP_reg0]
DW$17 .dwtag DW_TAG_variable, DW_AT_name("flash_size_in_bytes"), DW_AT_symbol_name("_flash_size_in_bytes")
.dwattr DW$17, DW_AT_type(*DW$T$28)
.dwattr DW$17, DW_AT_location[DW_OP_breg13 0]
DW$18 .dwtag DW_TAG_variable, DW_AT_name("Result"), DW_AT_symbol_name("_Result")
.dwattr DW$18, DW_AT_type(*DW$T$9)
.dwattr DW$18, DW_AT_location[DW_OP_breg13 4]
DW$19 .dwtag DW_TAG_variable, DW_AT_name("writeNum"), DW_AT_symbol_name("_writeNum")
.dwattr DW$19, DW_AT_type(*DW$T$9)
.dwattr DW$19, DW_AT_location[DW_OP_breg13 6]
DW$20 .dwtag DW_TAG_variable, DW_AT_name("write_address"), DW_AT_symbol_name("_write_address")
.dwattr DW$20, DW_AT_type(*DW$T$11)
.dwattr DW$20, DW_AT_location[DW_OP_breg13 8]
STR A1, [SP, #0] ; |36|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",37,20
MOV V9, #0 ; |37|
STRH V9, [SP, #4] ; |37|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",41,5
MOV V9, #234881024 ; |41|
STR V9, [SP, #8] ; |41|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",45,10
MOV V9, #0 ; |45|
STRH V9, [SP, #6] ; |45|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",45,22
LDRH V9, [SP, #6] ; |45|
CMP V9, #127 ; |45|
BGE L4 ; |45|
; |45|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L1
;*
;* Loop source line : 45
;* Loop closing brace source line : 62
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L1:
DW$L$_flash_erase_test_a9_zhy$2$B:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",48,6
LDR A1, [SP, #8] ; |48|
BL _flash_intel_28f256l18top_unlock_one_block ; |48|
; |48|
CMP A1, #0 ; |48|
BEQ L2 ; |48|
; |48|
DW$L$_flash_erase_test_a9_zhy$2$E:
;* --------------------------------------------------------------------------*
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",49,7
ADR A2, SL1 ; |49|
MOV A1, #1 ; |49|
BL _UART_Printf ; |49|
; |49|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",50,7
MOV V9, #65536 ; |50|
SUB V9, V9, #1 ; |50|
STRH V9, [SP, #4] ; |50|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",51,7
B L4 ; |51|
; |51|
;* --------------------------------------------------------------------------*
L2:
DW$L$_flash_erase_test_a9_zhy$4$B:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",55,9
LDR A1, [SP, #8] ; |55|
BL _flash_intel_28f256l18top_erase_one_block ; |55|
; |55|
CMP A1, #0 ; |55|
BEQ L3 ; |55|
; |55|
DW$L$_flash_erase_test_a9_zhy$4$E:
;* --------------------------------------------------------------------------*
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",56,9
ADR A2, SL2 ; |56|
MOV A1, #1 ; |56|
BL _UART_Printf ; |56|
; |56|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",57,9
MOV V9, #65536 ; |57|
SUB V9, V9, #1 ; |57|
STRH V9, [SP, #4] ; |57|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",58,9
B L4 ; |58|
; |58|
;* --------------------------------------------------------------------------*
L3:
DW$L$_flash_erase_test_a9_zhy$6$B:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",61,6
LDR V9, [SP, #8] ; |61|
ADD V9, V9, #131072 ; |61|
STR V9, [SP, #8] ; |61|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",45,85
LDRH V9, [SP, #6] ; |45|
ADD V9, V9, #1 ; |45|
STRH V9, [SP, #6] ; |45|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",45,22
LDRH V9, [SP, #6] ; |45|
CMP V9, #127 ; |45|
BLT L1 ; |45|
; |45|
DW$L$_flash_erase_test_a9_zhy$6$E:
;* --------------------------------------------------------------------------*
L4:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",65,10
MOV V9, #0 ; |65|
STRH V9, [SP, #6] ; |65|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",65,22
LDRH V9, [SP, #6] ; |65|
CMP V9, #4 ; |65|
BGE L8 ; |65|
; |65|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L5
;*
;* Loop source line : 65
;* Loop closing brace source line : 86
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L5:
DW$L$_flash_erase_test_a9_zhy$8$B:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",68,9
LDRH V9, [SP, #4] ; |68|
CMP V9, #0 ; |68|
BNE L8 ; |68|
; |68|
DW$L$_flash_erase_test_a9_zhy$8$E:
;* --------------------------------------------------------------------------*
DW$L$_flash_erase_test_a9_zhy$9$B:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",69,9
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",72,6
LDR A1, [SP, #8] ; |72|
BL _flash_intel_28f256l18top_unlock_one_block ; |72|
; |72|
CMP A1, #0 ; |72|
BEQ L6 ; |72|
; |72|
DW$L$_flash_erase_test_a9_zhy$9$E:
;* --------------------------------------------------------------------------*
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",73,7
ADR A2, SL3 ; |73|
MOV A1, #1 ; |73|
BL _UART_Printf ; |73|
; |73|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",74,7
MOV V9, #65536 ; |74|
SUB V9, V9, #1 ; |74|
STRH V9, [SP, #4] ; |74|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",75,7
B L8 ; |75|
; |75|
;* --------------------------------------------------------------------------*
L6:
DW$L$_flash_erase_test_a9_zhy$11$B:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",79,9
LDR A1, [SP, #8] ; |79|
BL _flash_intel_28f256l18top_erase_one_block ; |79|
; |79|
CMP A1, #0 ; |79|
BEQ L7 ; |79|
; |79|
DW$L$_flash_erase_test_a9_zhy$11$E:
;* --------------------------------------------------------------------------*
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",80,9
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -