📄 mdoc.asm
字号:
.dwpsn "mdoc.c",218,5
LDR A1, CON21 ; |218|
B L21 ; |218|
; |218|
;* --------------------------------------------------------------------------*
L19:
.dwpsn "mdoc.c",219,9
LDR V9, [SP, #36] ; |219|
TST V9, #1 ; |219|
BEQ L20 ; |219|
; |219|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",220,5
MOV A1, #328 ; |220|
B L21 ; |220|
; |220|
;* --------------------------------------------------------------------------*
L20:
.dwpsn "mdoc.c",224,5
LDR A1, [SP, #32] ; |224|
;* --------------------------------------------------------------------------*
L21:
.dwpsn "mdoc.c",225,1
ADD SP, SP, #44 ; |224|
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
DW$64 .dwtag DW_TAG_loop
.dwattr DW$64, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\mdoc.asm:L13:1:1214374312")
.dwattr DW$64, DW_AT_begin_file("mdoc.c")
.dwattr DW$64, DW_AT_begin_line(0x93)
.dwattr DW$64, DW_AT_end_line(0xa6)
DW$65 .dwtag DW_TAG_loop_range
.dwattr DW$65, DW_AT_low_pc(DW$L$_io_input$10$B)
.dwattr DW$65, DW_AT_high_pc(DW$L$_io_input$10$E)
DW$66 .dwtag DW_TAG_loop_range
.dwattr DW$66, DW_AT_low_pc(DW$L$_io_input$12$B)
.dwattr DW$66, DW_AT_high_pc(DW$L$_io_input$12$E)
DW$67 .dwtag DW_TAG_loop_range
.dwattr DW$67, DW_AT_low_pc(DW$L$_io_input$14$B)
.dwattr DW$67, DW_AT_high_pc(DW$L$_io_input$14$E)
.dwendtag DW$64
.dwattr DW$49, DW_AT_end_file("mdoc.c")
.dwattr DW$49, DW_AT_end_line(0xe1)
.dwattr DW$49, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$49
.sect ".text"
.align 4
.clink
.armfunc _io_output
.state32
.global _io_output
DW$68 .dwtag DW_TAG_subprogram, DW_AT_name("io_output"), DW_AT_symbol_name("_io_output")
.dwattr DW$68, DW_AT_low_pc(_io_output)
.dwattr DW$68, DW_AT_high_pc(0x00)
.dwattr DW$68, DW_AT_begin_file("mdoc.c")
.dwattr DW$68, DW_AT_begin_line(0xe4)
.dwattr DW$68, DW_AT_begin_column(0x0c)
.dwpsn "mdoc.c",233,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: io_output *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 4 Args + 40 Auto + 4 Save = 48 byte *
;*****************************************************************************
_io_output:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
SUB SP, SP, #44
.dwcfa 0x0e, 48
;* A1 assigned to _devNum
DW$69 .dwtag DW_TAG_formal_parameter, DW_AT_name("devNum"), DW_AT_symbol_name("_devNum")
.dwattr DW$69, DW_AT_type(*DW$T$49)
.dwattr DW$69, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _regs
DW$70 .dwtag DW_TAG_formal_parameter, DW_AT_name("regs"), DW_AT_symbol_name("_regs")
.dwattr DW$70, DW_AT_type(*DW$T$65)
.dwattr DW$70, DW_AT_location[DW_OP_reg1]
;* A3 assigned to _buf
DW$71 .dwtag DW_TAG_formal_parameter, DW_AT_name("buf"), DW_AT_symbol_name("_buf")
.dwattr DW$71, DW_AT_type(*DW$T$3)
.dwattr DW$71, DW_AT_location[DW_OP_reg2]
;* A4 assigned to _secNum
DW$72 .dwtag DW_TAG_formal_parameter, DW_AT_name("secNum"), DW_AT_symbol_name("_secNum")
.dwattr DW$72, DW_AT_type(*DW$T$56)
.dwattr DW$72, DW_AT_location[DW_OP_reg3]
DW$73 .dwtag DW_TAG_variable, DW_AT_name("devNum"), DW_AT_symbol_name("_devNum")
.dwattr DW$73, DW_AT_type(*DW$T$49)
.dwattr DW$73, DW_AT_location[DW_OP_breg13 4]
DW$74 .dwtag DW_TAG_variable, DW_AT_name("regs"), DW_AT_symbol_name("_regs")
.dwattr DW$74, DW_AT_type(*DW$T$65)
.dwattr DW$74, DW_AT_location[DW_OP_breg13 8]
DW$75 .dwtag DW_TAG_variable, DW_AT_name("buf"), DW_AT_symbol_name("_buf")
.dwattr DW$75, DW_AT_type(*DW$T$3)
.dwattr DW$75, DW_AT_location[DW_OP_breg13 12]
DW$76 .dwtag DW_TAG_variable, DW_AT_name("secNum"), DW_AT_symbol_name("_secNum")
.dwattr DW$76, DW_AT_type(*DW$T$56)
.dwattr DW$76, DW_AT_location[DW_OP_breg13 16]
DW$77 .dwtag DW_TAG_variable, DW_AT_name("sectors_to_write"), DW_AT_symbol_name("_sectors_to_write")
.dwattr DW$77, DW_AT_type(*DW$T$56)
.dwattr DW$77, DW_AT_location[DW_OP_breg13 20]
DW$78 .dwtag DW_TAG_variable, DW_AT_name("secPerformed"), DW_AT_symbol_name("_secPerformed")
.dwattr DW$78, DW_AT_type(*DW$T$56)
.dwattr DW$78, DW_AT_location[DW_OP_breg13 24]
DW$79 .dwtag DW_TAG_variable, DW_AT_name("offset"), DW_AT_symbol_name("_offset")
.dwattr DW$79, DW_AT_type(*DW$T$56)
.dwattr DW$79, DW_AT_location[DW_OP_breg13 28]
DW$80 .dwtag DW_TAG_variable, DW_AT_name("rc"), DW_AT_symbol_name("_rc")
.dwattr DW$80, DW_AT_type(*DW$T$59)
.dwattr DW$80, DW_AT_location[DW_OP_breg13 32]
DW$81 .dwtag DW_TAG_variable, DW_AT_name("status"), DW_AT_symbol_name("_status")
.dwattr DW$81, DW_AT_type(*DW$T$49)
.dwattr DW$81, DW_AT_location[DW_OP_breg13 36]
DW$82 .dwtag DW_TAG_variable, DW_AT_name("multCount"), DW_AT_symbol_name("_multCount")
.dwattr DW$82, DW_AT_type(*DW$T$19)
.dwattr DW$82, DW_AT_location[DW_OP_breg13 40]
STR A4, [SP, #16] ; |233|
STR A3, [SP, #12] ; |233|
STR A2, [SP, #8] ; |233|
STR A1, [SP, #4] ; |233|
.dwpsn "mdoc.c",236,11
MOV V9, #0 ; |236|
STR V9, [SP, #28] ; |236|
.dwpsn "mdoc.c",239,10
MOV V9, #0 ; |239|
STRB V9, [SP, #40] ; |239|
.dwpsn "mdoc.c",243,2
LDR V9, [SP, #16] ; |243|
CMP V9, #0 ; |243|
BEQ L22 ; |243|
; |243|
;* --------------------------------------------------------------------------*
LDR V9, [SP, #16] ; |243|
B L23 ; |243|
; |243|
;* --------------------------------------------------------------------------*
L22:
MOV V9, #256 ; |243|
;* --------------------------------------------------------------------------*
L23:
STR V9, [SP, #20] ; |243|
.dwpsn "mdoc.c",246,5
MOV V9, #500 ; |246|
MOV A4, #0 ; |246|
MOV A3, #128 ; |246|
MOV A2, #14 ; |246|
STR V9, [SP, #0] ; |246|
LDR A1, [SP, #4] ; |246|
BL _ready ; |246|
; |246|
CMP A1, #0 ; |246|
STR A1, [SP, #32] ; |246|
BEQ L24 ; |246|
; |246|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",248,3
ADR A2, SL1 ; |248|
MOV A1, #1 ; |248|
BL _UART_Printf ; |248|
; |248|
.dwpsn "mdoc.c",250,9
LDR A1, [SP, #32] ; |250|
B L32 ; |250|
; |250|
;* --------------------------------------------------------------------------*
L24:
.dwpsn "mdoc.c",253,5
LDR V9, [SP, #32] ; |253|
CMP V9, #0 ; |253|
BNE L31 ; |253|
; |253|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",256,9
LDR V9, [SP, #8] ; |256|
LDRB A3, [V9, #1] ; |256|
MOV A2, #2 ; |256|
LDR V9, CON1 ; |256|
LDR A1, [V9, #0] ; |256|
BL _flWrite8bitUsing16bitsSingleShift ; |256|
; |256|
.dwpsn "mdoc.c",257,9
LDR V9, [SP, #8] ; |257|
LDRB A3, [V9, #2] ; |257|
LDR V9, CON1 ; |257|
MOV A2, #3 ; |257|
LDR A1, [V9, #0] ; |257|
BL _flWrite8bitUsing16bitsSingleShift ; |257|
; |257|
.dwpsn "mdoc.c",258,9
LDR V9, [SP, #8] ; |258|
LDRB A3, [V9, #3] ; |258|
LDR V9, CON1 ; |258|
MOV A2, #4 ; |258|
LDR A1, [V9, #0] ; |258|
BL _flWrite8bitUsing16bitsSingleShift ; |258|
; |258|
.dwpsn "mdoc.c",259,9
LDR V9, [SP, #8] ; |259|
LDRB A3, [V9, #4] ; |259|
LDR V9, CON1 ; |259|
MOV A2, #5 ; |259|
LDR A1, [V9, #0] ; |259|
BL _flWrite8bitUsing16bitsSingleShift ; |259|
; |259|
.dwpsn "mdoc.c",260,9
LDR V9, [SP, #8] ; |260|
LDRB A3, [V9, #0] ; |260|
LDR V9, CON1 ; |260|
MOV A2, #1 ; |260|
LDR A1, [V9, #0] ; |260|
BL _flWrite8bitUsing16bitsSingleShift ; |260|
; |260|
.dwpsn "mdoc.c",261,3
LDR V9, [SP, #8] ; |261|
LDRB A3, [V9, #5] ; |261|
LDR V9, CON1 ; |261|
MOV A2, #6 ; |261|
LDR A1, [V9, #0] ; |261|
BL _flWrite8bitUsing16bitsSingleShift ; |261|
; |261|
.dwpsn "mdoc.c",262,9
LDR V9, [SP, #8] ; |262|
LDRB A3, [V9, #6] ; |262|
LDR V9, CON1 ; |262|
MOV A2, #7 ; |262|
LDR A1, [V9, #0] ; |262|
BL _flWrite8bitUsing16bitsSingleShift ; |262|
; |262|
.dwpsn "mdoc.c",268,3
B L25 ; |268|
; |268|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L25:
.dwpsn "mdoc.c",272,8
MOV V9, #0 ; |272|
STR V9, [SP, #24] ; |272|
.dwpsn "mdoc.c",272,24
LDR A1, [SP, #24] ; |272|
LDR V9, [SP, #20] ; |272|
CMP A1, V9 ; |272|
BCS L28 ; |272|
; |272|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L26
;*
;* Loop source line : 272
;* Loop closing brace source line : 287
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L26:
DW$L$_io_output$10$B:
.dwpsn "mdoc.c",274,5
MOV V9, #5 ; |274|
MOV A4, #72 ; |274|
MOV A3, #201 ; |274|
STR V9, [SP, #0] ; |274|
MOV A2, #7 ; |274|
LDR A1, [SP, #4] ; |274|
BL _ready ; |274|
; |274|
STR A1, [SP, #32] ; |274|
.dwpsn "mdoc.c",276,5
LDR V9, [SP, #32] ; |276|
CMP V9, #0 ; |276|
BEQ L27 ; |276|
; |276|
DW$L$_io_output$10$E:
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",280,6
LDR A1, [SP, #32] ; |280|
B L32 ; |280|
; |280|
;* --------------------------------------------------------------------------*
L27:
DW$L$_io_output$12$B:
.dwpsn "mdoc.c",284,5
LDR V9, [SP, #12] ; |284|
LDR A1, [SP, #28] ; |284|
MOV A3, #1 ; |284|
ADD A2, A1, V9 ; |284|
LDR V9, CON1 ; |284|
LDR A1, [V9, #0] ; |284|
BL _hal_blk_write_nor ; |284|
; |284|
.dwpsn "mdoc.c",286,5
LDR V9, [SP, #28] ; |286|
ADD V9, V9, #512 ; |286|
STR V9, [SP, #28] ; |286|
.dwpsn "mdoc.c",272,55
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -