📄 flash_nor_intel_br28f128l18t85.asm
字号:
.clink
.armfunc _flash_intel_28f256l18top_display_id_a9
.state32
.global _flash_intel_28f256l18top_display_id_a9
DW$48 .dwtag DW_TAG_subprogram, DW_AT_name("flash_intel_28f256l18top_display_id_a9"), DW_AT_symbol_name("_flash_intel_28f256l18top_display_id_a9")
.dwattr DW$48, DW_AT_low_pc(_flash_intel_28f256l18top_display_id_a9)
.dwattr DW$48, DW_AT_high_pc(0x00)
.dwattr DW$48, DW_AT_begin_file("flash_NOR_INTEL_BR28F128L18T85.c")
.dwattr DW$48, DW_AT_begin_line(0x90)
.dwattr DW$48, DW_AT_begin_column(0x08)
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",145,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: flash_intel_28f256l18top_display_id_a9 *
;* *
;* 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 + 8 Auto + 4 Save = 12 byte *
;*****************************************************************************
_flash_intel_28f256l18top_display_id_a9:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {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, 12
DW$49 .dwtag DW_TAG_variable, DW_AT_name("ManufactureId"), DW_AT_symbol_name("_ManufactureId")
.dwattr DW$49, DW_AT_type(*DW$T$28)
.dwattr DW$49, DW_AT_location[DW_OP_breg13 0]
DW$50 .dwtag DW_TAG_variable, DW_AT_name("DeviceId"), DW_AT_symbol_name("_DeviceId")
.dwattr DW$50, DW_AT_type(*DW$T$28)
.dwattr DW$50, DW_AT_location[DW_OP_breg13 4]
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",151,2
ADR A2, SL4 ; |151|
MOV A1, #1 ; |151|
BL _UART_Printf ; |151|
; |151|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",152,2
MOV A1, #234881024 ; |152|
ADD A3, SP, #4 ; |152|
MOV A2, SP ; |152|
BL _flash_intel_28f256l18top_read_id ; |152|
; |152|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",155,2
ADR A2, SL5 ; |155|
MOV A1, #1 ; |155|
LDR A3, [SP, #0] ; |155|
BL _UART_Printf ; |155|
; |155|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",161,5
ADR A2, SL5 ; |161|
MOV A1, #1 ; |161|
LDR A3, [SP, #4] ; |161|
BL _UART_Printf ; |161|
; |161|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",167,5
MOV A1, #0 ; |167|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",168,1
.dwcfa 0x0e, 12
LDMFD SP!, {A3, A4, PC}
.dwattr DW$48, DW_AT_end_file("flash_NOR_INTEL_BR28F128L18T85.c")
.dwattr DW$48, DW_AT_end_line(0xa8)
.dwattr DW$48, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$48
.sect ".text"
.align 4
.clink
.armfunc _Write_FlashRegister
.state32
.global _Write_FlashRegister
DW$51 .dwtag DW_TAG_subprogram, DW_AT_name("Write_FlashRegister"), DW_AT_symbol_name("_Write_FlashRegister")
.dwattr DW$51, DW_AT_low_pc(_Write_FlashRegister)
.dwattr DW$51, DW_AT_high_pc(0x00)
.dwattr DW$51, DW_AT_begin_file("flash_NOR_INTEL_BR28F128L18T85.c")
.dwattr DW$51, DW_AT_begin_line(0xab)
.dwattr DW$51, DW_AT_begin_column(0x09)
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",172,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: Write_FlashRegister *
;* *
;* Regs Modified : A1,V9,SP *
;* Regs Used : A1,A2,A3,A4,V9,SP *
;* Local Frame Size : 0 Args + 16 Auto + 0 Save = 16 byte *
;*****************************************************************************
_Write_FlashRegister:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #16
.dwcfa 0x0e, 16
;* A1 assigned to _Address1
DW$52 .dwtag DW_TAG_formal_parameter, DW_AT_name("Address1"), DW_AT_symbol_name("_Address1")
.dwattr DW$52, DW_AT_type(*DW$T$28)
.dwattr DW$52, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _Data1
DW$53 .dwtag DW_TAG_formal_parameter, DW_AT_name("Data1"), DW_AT_symbol_name("_Data1")
.dwattr DW$53, DW_AT_type(*DW$T$32)
.dwattr DW$53, DW_AT_location[DW_OP_reg1]
;* A3 assigned to _Address2
DW$54 .dwtag DW_TAG_formal_parameter, DW_AT_name("Address2"), DW_AT_symbol_name("_Address2")
.dwattr DW$54, DW_AT_type(*DW$T$28)
.dwattr DW$54, DW_AT_location[DW_OP_reg2]
;* A4 assigned to _Data2
DW$55 .dwtag DW_TAG_formal_parameter, DW_AT_name("Data2"), DW_AT_symbol_name("_Data2")
.dwattr DW$55, DW_AT_type(*DW$T$32)
.dwattr DW$55, DW_AT_location[DW_OP_reg3]
DW$56 .dwtag DW_TAG_variable, DW_AT_name("Address1"), DW_AT_symbol_name("_Address1")
.dwattr DW$56, DW_AT_type(*DW$T$28)
.dwattr DW$56, DW_AT_location[DW_OP_breg13 0]
DW$57 .dwtag DW_TAG_variable, DW_AT_name("Data1"), DW_AT_symbol_name("_Data1")
.dwattr DW$57, DW_AT_type(*DW$T$32)
.dwattr DW$57, DW_AT_location[DW_OP_breg13 4]
DW$58 .dwtag DW_TAG_variable, DW_AT_name("Address2"), DW_AT_symbol_name("_Address2")
.dwattr DW$58, DW_AT_type(*DW$T$28)
.dwattr DW$58, DW_AT_location[DW_OP_breg13 8]
DW$59 .dwtag DW_TAG_variable, DW_AT_name("Data2"), DW_AT_symbol_name("_Data2")
.dwattr DW$59, DW_AT_type(*DW$T$32)
.dwattr DW$59, DW_AT_location[DW_OP_breg13 12]
STRH A4, [SP, #12] ; |172|
STR A3, [SP, #8] ; |172|
STRH A2, [SP, #4] ; |172|
STR A1, [SP, #0] ; |172|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",173,2
LDRH V9, [SP, #4] ; |173|
LDR A1, [SP, #0] ; |173|
STR V9, [A1, #0] ; |173|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",174,2
LDRH V9, [SP, #12] ; |174|
LDR A1, [SP, #8] ; |174|
STR V9, [A1, #0] ; |174|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",175,2
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",176,1
ADD SP, SP, #16
.dwcfa 0x0e, 0
BX LR
.dwattr DW$51, DW_AT_end_file("flash_NOR_INTEL_BR28F128L18T85.c")
.dwattr DW$51, DW_AT_end_line(0xb0)
.dwattr DW$51, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$51
.sect ".text"
.align 4
.clink
.armfunc _Flash_WriteOneBlock
.state32
.global _Flash_WriteOneBlock
DW$60 .dwtag DW_TAG_subprogram, DW_AT_name("Flash_WriteOneBlock"), DW_AT_symbol_name("_Flash_WriteOneBlock")
.dwattr DW$60, DW_AT_low_pc(_Flash_WriteOneBlock)
.dwattr DW$60, DW_AT_high_pc(0x00)
.dwattr DW$60, DW_AT_begin_file("flash_NOR_INTEL_BR28F128L18T85.c")
.dwattr DW$60, DW_AT_begin_line(0xba)
.dwattr DW$60, DW_AT_begin_column(0x0e)
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",187,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: Flash_WriteOneBlock *
;* *
;* 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 + 32 Auto + 4 Save = 36 byte *
;*****************************************************************************
_Flash_WriteOneBlock:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
SUB SP, SP, #32
.dwcfa 0x0e, 36
;* A1 assigned to _blockAddr
DW$61 .dwtag DW_TAG_formal_parameter, DW_AT_name("blockAddr"), DW_AT_symbol_name("_blockAddr")
.dwattr DW$61, DW_AT_type(*DW$T$11)
.dwattr DW$61, DW_AT_location[DW_OP_reg0]
DW$62 .dwtag DW_TAG_variable, DW_AT_name("blockAddr"), DW_AT_symbol_name("_blockAddr")
.dwattr DW$62, DW_AT_type(*DW$T$11)
.dwattr DW$62, DW_AT_location[DW_OP_breg13 0]
DW$63 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$63, DW_AT_type(*DW$T$11)
.dwattr DW$63, DW_AT_location[DW_OP_breg13 4]
DW$64 .dwtag DW_TAG_variable, DW_AT_name("delayTime"), DW_AT_symbol_name("_delayTime")
.dwattr DW$64, DW_AT_type(*DW$T$11)
.dwattr DW$64, DW_AT_location[DW_OP_breg13 8]
DW$65 .dwtag DW_TAG_variable, DW_AT_name("writeResult"), DW_AT_symbol_name("_writeResult")
.dwattr DW$65, DW_AT_type(*DW$T$9)
.dwattr DW$65, DW_AT_location[DW_OP_breg13 12]
DW$66 .dwtag DW_TAG_variable, DW_AT_name("errNum"), DW_AT_symbol_name("_errNum")
.dwattr DW$66, DW_AT_type(*DW$T$11)
.dwattr DW$66, DW_AT_location[DW_OP_breg13 16]
DW$67 .dwtag DW_TAG_variable, DW_AT_name("readValue"), DW_AT_symbol_name("_readValue")
.dwattr DW$67, DW_AT_type(*DW$T$11)
.dwattr DW$67, DW_AT_location[DW_OP_breg13 20]
DW$68 .dwtag DW_TAG_variable, DW_AT_name("oneBlockSize"), DW_AT_symbol_name("_oneBlockSize")
.dwattr DW$68, DW_AT_type(*DW$T$11)
.dwattr DW$68, DW_AT_location[DW_OP_breg13 24]
DW$69 .dwtag DW_TAG_variable, DW_AT_name("writeAddr"), DW_AT_symbol_name("_writeAddr")
.dwattr DW$69, DW_AT_type(*DW$T$11)
.dwattr DW$69, DW_AT_location[DW_OP_breg13 28]
STR A1, [SP, #0] ; |187|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",188,15
MOV V9, #0 ; |188|
STR V9, [SP, #4] ; |188|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",189,15
MOV V9, #0 ; |189|
STR V9, [SP, #8] ; |189|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",191,18
MOV V9, #0 ; |191|
STRH V9, [SP, #12] ; |191|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",192,18
MOV V9, #0 ; |192|
STR V9, [SP, #16] ; |192|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",193,18
MOV V9, #0 ; |193|
STR V9, [SP, #20] ; |193|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",194,16
MOV V9, #15 ; |194|
STR V9, [SP, #24] ; |194|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",195,16
MOV V9, #201326592 ; |195|
STR V9, [SP, #28] ; |195|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",196,3
LDR A1, [SP, #28] ; |196|
BL _flash_intel_28f256l18top_unlock_one_block ; |196|
; |196|
CMP A1, #0 ; |196|
BEQ L11 ; |196|
; |196|
;* --------------------------------------------------------------------------*
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",197,7
ADR A2, SL1 ; |197|
MOV A1, #1 ; |197|
BL _UART_Printf ; |197|
; |197|
;* --------------------------------------------------------------------------*
L11:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",201,7
MOV V9, #0 ; |201|
STR V9, [SP, #4] ; |201|
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",201,12
LDR A1, [SP, #4] ; |201|
LDR V9, [SP, #24] ; |201|
CMP A1, V9 ; |201|
BCS L14 ; |201|
; |201|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L12
;*
;* Loop source line : 201
;* Loop closing brace source line : 212
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L12:
DW$L$_Flash_WriteOneBlock$4$B:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",203,3
LDR A1, [SP, #28] ; |203|
BL _flash_intel_28f256l18top_unlock_one_block ; |203|
; |203|
CMP A1, #0 ; |203|
BEQ L13 ; |203|
; |203|
DW$L$_Flash_WriteOneBlock$4$E:
;* --------------------------------------------------------------------------*
DW$L$_Flash_WriteOneBlock$5$B:
.dwpsn "flash_NOR_INTEL_BR28F128L18T85.c",204,7
ADR A2, SL1 ; |204|
MOV A1, #1 ; |204|
BL _UART_Printf ; |204|
; |204|
DW$L$_Flash_WriteOneBlock$5$E:
;* --------------------------------------------------------------------------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -