📄 flash_nor_amd.asm
字号:
;* --------------------------------------------------------------------------*
L7:
DW$L$_Test_erase_access$4$B:
.dwpsn "flash_nor_amd.C",210,37
LDRH V9, [SP, #0] ; |210|
ADD V9, V9, #1 ; |210|
STRH V9, [SP, #0] ; |210|
.dwpsn "flash_nor_amd.C",210,24
LDRH V9, [SP, #0] ; |210|
CMP V9, #256 ; |210|
BLT L5 ; |210|
; |210|
DW$L$_Test_erase_access$4$E:
;* --------------------------------------------------------------------------*
L8:
.dwpsn "flash_nor_amd.C",223,2
MOV A1, #240 ; |223|
LDR V9, [SP, #4] ; |223|
STRH A1, [V9, #0] ; |223|
.dwpsn "flash_nor_amd.C",225,2
ADR A2, SL6 ; |225|
MOV A1, #1 ; |225|
BL _UART_Printf ; |225|
; |225|
.dwpsn "flash_nor_amd.C",227,2
ADR A2, SL5 ; |227|
MOV A1, #1 ; |227|
BL _UART_Printf ; |227|
; |227|
.dwpsn "flash_nor_amd.C",228,5
.dwpsn "flash_nor_amd.C",230,1
ADD SP, SP, #20
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
DW$26 .dwtag DW_TAG_loop
.dwattr DW$26, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\flash_nor_amd.asm:L5:1:1214374285")
.dwattr DW$26, DW_AT_begin_file("flash_nor_amd.C")
.dwattr DW$26, DW_AT_begin_line(0xd2)
.dwattr DW$26, DW_AT_end_line(0xdc)
DW$27 .dwtag DW_TAG_loop_range
.dwattr DW$27, DW_AT_low_pc(DW$L$_Test_erase_access$2$B)
.dwattr DW$27, DW_AT_high_pc(DW$L$_Test_erase_access$2$E)
DW$28 .dwtag DW_TAG_loop_range
.dwattr DW$28, DW_AT_low_pc(DW$L$_Test_erase_access$4$B)
.dwattr DW$28, DW_AT_high_pc(DW$L$_Test_erase_access$4$E)
DW$29 .dwtag DW_TAG_loop
.dwattr DW$29, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\flash_nor_amd.asm:L6:2:1214374285")
.dwattr DW$29, DW_AT_begin_file("flash_nor_amd.C")
.dwattr DW$29, DW_AT_begin_line(0xdb)
.dwattr DW$29, DW_AT_end_line(0xdb)
DW$30 .dwtag DW_TAG_loop_range
.dwattr DW$30, DW_AT_low_pc(DW$L$_Test_erase_access$3$B)
.dwattr DW$30, DW_AT_high_pc(DW$L$_Test_erase_access$3$E)
.dwendtag DW$29
.dwendtag DW$26
.dwattr DW$20, DW_AT_end_file("flash_nor_amd.C")
.dwattr DW$20, DW_AT_end_line(0xe6)
.dwattr DW$20, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$20
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".text"
.align 4
SL1: .string "AMD Flash(S29PL127JBW000)Manufacture ID is OK!,0X%x",10,13
.string 0
.align 4
SL2: .string "AMD Flash(S29PL127JBW000)Manufacture ID is %x read ERROR!",10
.string 13,0
.align 4
SL3: .string "Sector Block Lock/Unlock Indicator is %x",10,13,0
.align 4
SL4: .string " Indicator Bit is %x",10,13,0
.align 4
SL5: .string "Please push anykey to return the top menu.",10,13,0
.sect ".text"
.align 4
.clink
.armfunc _Test_write_access
.state32
.global _Test_write_access
DW$31 .dwtag DW_TAG_subprogram, DW_AT_name("Test_write_access"), DW_AT_symbol_name("_Test_write_access")
.dwattr DW$31, DW_AT_low_pc(_Test_write_access)
.dwattr DW$31, DW_AT_high_pc(0x00)
.dwattr DW$31, DW_AT_begin_file("flash_nor_amd.C")
.dwattr DW$31, DW_AT_begin_line(0xe8)
.dwattr DW$31, DW_AT_begin_column(0x05)
.dwpsn "flash_nor_amd.C",233,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: Test_write_access *
;* *
;* 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 + 28 Auto + 4 Save = 32 byte *
;*****************************************************************************
_Test_write_access:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
SUB SP, SP, #28
.dwcfa 0x0e, 32
DW$32 .dwtag DW_TAG_variable, DW_AT_name("lvptr16_cmd0"), DW_AT_symbol_name("_lvptr16_cmd0")
.dwattr DW$32, DW_AT_type(*DW$T$25)
.dwattr DW$32, DW_AT_location[DW_OP_breg13 0]
DW$33 .dwtag DW_TAG_variable, DW_AT_name("lvptr16_cmd1"), DW_AT_symbol_name("_lvptr16_cmd1")
.dwattr DW$33, DW_AT_type(*DW$T$25)
.dwattr DW$33, DW_AT_location[DW_OP_breg13 4]
DW$34 .dwtag DW_TAG_variable, DW_AT_name("lvAddr"), DW_AT_symbol_name("_lvAddr")
.dwattr DW$34, DW_AT_type(*DW$T$25)
.dwattr DW$34, DW_AT_location[DW_OP_breg13 8]
DW$35 .dwtag DW_TAG_variable, DW_AT_name("lvDatum"), DW_AT_symbol_name("_lvDatum")
.dwattr DW$35, DW_AT_type(*DW$T$21)
.dwattr DW$35, DW_AT_location[DW_OP_breg13 12]
DW$36 .dwtag DW_TAG_variable, DW_AT_name("lvCounter"), DW_AT_symbol_name("_lvCounter")
.dwattr DW$36, DW_AT_type(*DW$T$21)
.dwattr DW$36, DW_AT_location[DW_OP_breg13 14]
DW$37 .dwtag DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
.dwattr DW$37, DW_AT_type(*DW$T$21)
.dwattr DW$37, DW_AT_location[DW_OP_breg13 16]
DW$38 .dwtag DW_TAG_variable, DW_AT_name("Counter"), DW_AT_symbol_name("_Counter")
.dwattr DW$38, DW_AT_type(*DW$T$21)
.dwattr DW$38, DW_AT_location[DW_OP_breg13 18]
DW$39 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$39, DW_AT_type(*DW$T$10)
.dwattr DW$39, DW_AT_location[DW_OP_breg13 20]
DW$40 .dwtag DW_TAG_variable, DW_AT_name("inWritePtr"), DW_AT_symbol_name("_inWritePtr")
.dwattr DW$40, DW_AT_type(*DW$T$25)
.dwattr DW$40, DW_AT_location[DW_OP_breg13 24]
.dwpsn "flash_nor_amd.C",241,13
MOV V9, #0 ; |241|
STRH V9, [SP, #18] ; |241|
.dwpsn "flash_nor_amd.C",246,5
MOV V9, #131072 ; |246|
ADD V9, V9, #201326592 ; |246|
STR V9, [SP, #24] ; |246|
.dwpsn "flash_nor_amd.C",248,3
LDR V9, [SP, #24] ; |248|
ADD V9, V9, #170 ; |248|
ADD V9, V9, #2560 ; |248|
STR V9, [SP, #0] ; |248|
.dwpsn "flash_nor_amd.C",249,3
LDR V9, [SP, #24] ; |249|
SUB V9, V9, #684 ; |249|
ADD V9, V9, #2048 ; |249|
STR V9, [SP, #4] ; |249|
.dwpsn "flash_nor_amd.C",253,8
MOV V9, #0 ; |253|
STRH V9, [SP, #14] ; |253|
.dwpsn "flash_nor_amd.C",253,22
LDRH V9, [SP, #14] ; |253|
CMP V9, #192 ; |253|
BGE L12 ; |253|
; |253|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L9
;*
;* Loop source line : 253
;* Loop closing brace source line : 270
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L9:
DW$L$_Test_write_access$2$B:
.dwpsn "flash_nor_amd.C",257,4
LDRH V9, [SP, #14] ; |257|
LDR A1, CON2 ; |257|
MOV V9, V9, LSL #1 ; |257|
LDRH V9, [A1, +V9] ; |257|
STRH V9, [SP, #12] ; |257|
.dwpsn "flash_nor_amd.C",259,4
LDR A1, [SP, #24] ; |259|
LDRH V9, [SP, #14] ; |259|
ADD V9, A1, V9, LSL #1 ; |259|
STR V9, [SP, #8] ; |259|
.dwpsn "flash_nor_amd.C",263,3
MOV A1, #170 ; |263|
LDR V9, [SP, #0] ; |263|
STRH A1, [V9, #0] ; |263|
.dwpsn "flash_nor_amd.C",264,4
MOV A1, #85 ; |264|
LDR V9, [SP, #4] ; |264|
STRH A1, [V9, #0] ; |264|
.dwpsn "flash_nor_amd.C",265,4
MOV A1, #160 ; |265|
LDR V9, [SP, #0] ; |265|
STRH A1, [V9, #0] ; |265|
.dwpsn "flash_nor_amd.C",267,4
LDRH V9, [SP, #12] ; |267|
LDR A1, [SP, #8] ; |267|
STRH V9, [A1, #0] ; |267|
.dwpsn "flash_nor_amd.C",268,3
LDR V9, [SP, #8] ; |268|
LDRH V9, [V9, #0] ; |268|
STRH V9, [SP, #16] ; |268|
.dwpsn "flash_nor_amd.C",269,7
MOV V9, #0 ; |269|
STR V9, [SP, #20] ; |269|
.dwpsn "flash_nor_amd.C",269,11
LDR V9, [SP, #20] ; |269|
CMP V9, #1000 ; |269|
BGE L11 ; |269|
; |269|
DW$L$_Test_write_access$2$E:
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L10
;*
;* Loop source line : 269
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L10:
DW$L$_Test_write_access$3$B:
.dwpsn "flash_nor_amd.C",269,18
LDR V9, [SP, #20] ; |269|
ADD V9, V9, #1 ; |269|
STR V9, [SP, #20] ; |269|
.dwpsn "flash_nor_amd.C",269,11
LDR V9, [SP, #20] ; |269|
CMP V9, #1000 ; |269|
BLT L10 ; |269|
; |269|
DW$L$_Test_write_access$3$E:
;* --------------------------------------------------------------------------*
L11:
DW$L$_Test_write_access$4$B:
.dwpsn "flash_nor_amd.C",253,39
LDRH V9, [SP, #14] ; |253|
ADD V9, V9, #1 ; |253|
STRH V9, [SP, #14] ; |253|
.dwpsn "flash_nor_amd.C",253,22
LDRH V9, [SP, #14] ; |253|
CMP V9, #192 ; |253|
BLT L9 ; |253|
; |253|
DW$L$_Test_write_access$4$E:
;* --------------------------------------------------------------------------*
L12:
.dwpsn "flash_nor_amd.C",272,7
MOV V9, #0 ; |272|
STR V9, [SP, #20] ; |272|
.dwpsn "flash_nor_amd.C",272,11
LDR V9, [SP, #20] ; |272|
CMP V9, #100 ; |272|
BGE L14 ; |272|
; |272|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L13
;*
;* Loop source line : 272
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L13:
DW$L$_Test_write_access$6$B:
.dwpsn "flash_nor_amd.C",272,17
LDR V9, [SP, #20] ; |272|
ADD V9, V9, #1 ; |272|
STR V9, [SP, #20] ; |272|
.dwpsn "flash_nor_amd.C",272,11
LDR V9, [SP, #20] ; |272|
CMP V9, #100 ; |272|
BLT L13 ; |272|
; |272|
DW$L$_Test_write_access$6$E:
;* --------------------------------------------------------------------------*
L14:
.dwpsn "flash_nor_amd.C",274,8
MOV V9, #0 ; |274|
STRH V9, [SP, #14] ; |274|
.dwpsn "flash_nor_amd.C",274,22
LDRH V9, [SP, #14] ; |274|
CMP V9, #192 ; |274|
BGE L17 ; |274|
; |274|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L15
;*
;* Loop source line : 274
;* Loop closing brace source line : 283
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L15:
DW$L$_Test_write_access$8$B:
.dwpsn "flash_nor_amd.C",276,4
LDRH V9, [SP, #14] ; |276|
LDR A1, CON2 ; |276|
MOV V9, V9, LSL #1 ; |276|
LDRH V9, [A1, +V9] ; |276|
STRH V9, [SP, #12] ; |276|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -