📄 mdoc.asm
字号:
;* A2 assigned to _reg
DW$30 .dwtag DW_TAG_formal_parameter, DW_AT_name("reg"), DW_AT_symbol_name("_reg")
.dwattr DW$30, DW_AT_type(*DW$T$49)
.dwattr DW$30, DW_AT_location[DW_OP_reg1]
;* A3 assigned to _buf
DW$31 .dwtag DW_TAG_formal_parameter, DW_AT_name("buf"), DW_AT_symbol_name("_buf")
.dwattr DW$31, DW_AT_type(*DW$T$38)
.dwattr DW$31, DW_AT_location[DW_OP_reg2]
;* A4 assigned to _bytes
DW$32 .dwtag DW_TAG_formal_parameter, DW_AT_name("bytes"), DW_AT_symbol_name("_bytes")
.dwattr DW$32, DW_AT_type(*DW$T$49)
.dwattr DW$32, DW_AT_location[DW_OP_reg3]
DW$33 .dwtag DW_TAG_variable, DW_AT_name("base"), DW_AT_symbol_name("_base")
.dwattr DW$33, DW_AT_type(*DW$T$32)
.dwattr DW$33, DW_AT_location[DW_OP_breg13 0]
DW$34 .dwtag DW_TAG_variable, DW_AT_name("reg"), DW_AT_symbol_name("_reg")
.dwattr DW$34, DW_AT_type(*DW$T$49)
.dwattr DW$34, DW_AT_location[DW_OP_breg13 4]
DW$35 .dwtag DW_TAG_variable, DW_AT_name("buf"), DW_AT_symbol_name("_buf")
.dwattr DW$35, DW_AT_type(*DW$T$38)
.dwattr DW$35, DW_AT_location[DW_OP_breg13 8]
DW$36 .dwtag DW_TAG_variable, DW_AT_name("bytes"), DW_AT_symbol_name("_bytes")
.dwattr DW$36, DW_AT_type(*DW$T$49)
.dwattr DW$36, DW_AT_location[DW_OP_breg13 12]
DW$37 .dwtag DW_TAG_variable, DW_AT_name("reg16"), DW_AT_symbol_name("_reg16")
.dwattr DW$37, DW_AT_type(*DW$T$32)
.dwattr DW$37, DW_AT_location[DW_OP_breg13 16]
;* A2 assigned to _max
DW$38 .dwtag DW_TAG_variable, DW_AT_name("max"), DW_AT_symbol_name("_max")
.dwattr DW$38, DW_AT_type(*DW$T$49)
.dwattr DW$38, DW_AT_location[DW_OP_reg1]
DW$39 .dwtag DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
.dwattr DW$39, DW_AT_type(*DW$T$30)
.dwattr DW$39, DW_AT_location[DW_OP_breg13 20]
STR A4, [SP, #12] ; |56|
STR A3, [SP, #8] ; |56|
STR A2, [SP, #4] ; |56|
STR A1, [SP, #0] ; |56|
.dwpsn "mdoc.c",63,3
LDR V9, [SP, #0] ; |63|
LDR A1, [SP, #4] ; |63|
ADD V9, A1, V9 ; |63|
STR V9, [SP, #16] ; |63|
.dwpsn "mdoc.c",66,3
LDR A1, [SP, #12] ; |66|
LDR V9, [SP, #8] ; |66|
ADD A2, A1, V9 ; |66|
.dwpsn "mdoc.c",67,10
LDR V9, [SP, #8] ; |67|
CMP V9, A2 ; |67|
BGE L8 ; |67|
; |67|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L7
;*
;* Loop source line : 67
;* Loop closing brace source line : 93
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L7:
DW$L$_hal_blk_read_nor$2$B:
.dwpsn "mdoc.c",69,2
LDR V9, [SP, #16] ; |69|
LDRH V9, [V9, #0] ; |69|
STRH V9, [SP, #20] ; |69|
.dwpsn "mdoc.c",70,5
LDR A1, [SP, #8] ; |70|
LDRB V9, [SP, #20] ; |70|
STRB V9, [A1, #0] ; |70|
.dwpsn "mdoc.c",71,2
LDRH V9, [SP, #20] ; |71|
LDR A1, [SP, #8] ; |71|
MOV V9, V9, LSR #8 ; |71|
STRB V9, [A1, #1] ; |71|
.dwpsn "mdoc.c",72,2
LDR V9, [SP, #16] ; |72|
LDRH V9, [V9, #0] ; |72|
STRH V9, [SP, #20] ; |72|
.dwpsn "mdoc.c",73,5
LDR A1, [SP, #8] ; |73|
LDRB V9, [SP, #20] ; |73|
STRB V9, [A1, #2] ; |73|
.dwpsn "mdoc.c",74,2
LDRH V9, [SP, #20] ; |74|
LDR A1, [SP, #8] ; |74|
MOV V9, V9, LSR #8 ; |74|
STRB V9, [A1, #3] ; |74|
.dwpsn "mdoc.c",75,2
LDR V9, [SP, #16] ; |75|
LDRH V9, [V9, #0] ; |75|
STRH V9, [SP, #20] ; |75|
.dwpsn "mdoc.c",76,5
LDR A1, [SP, #8] ; |76|
LDRB V9, [SP, #20] ; |76|
STRB V9, [A1, #4] ; |76|
.dwpsn "mdoc.c",77,2
LDRH V9, [SP, #20] ; |77|
LDR A1, [SP, #8] ; |77|
MOV V9, V9, LSR #8 ; |77|
STRB V9, [A1, #5] ; |77|
.dwpsn "mdoc.c",78,2
LDR V9, [SP, #16] ; |78|
LDRH V9, [V9, #0] ; |78|
STRH V9, [SP, #20] ; |78|
.dwpsn "mdoc.c",79,5
LDR A1, [SP, #8] ; |79|
LDRB V9, [SP, #20] ; |79|
STRB V9, [A1, #6] ; |79|
.dwpsn "mdoc.c",80,2
LDRH V9, [SP, #20] ; |80|
LDR A1, [SP, #8] ; |80|
MOV V9, V9, LSR #8 ; |80|
STRB V9, [A1, #7] ; |80|
.dwpsn "mdoc.c",81,2
LDR V9, [SP, #16] ; |81|
LDRH V9, [V9, #0] ; |81|
STRH V9, [SP, #20] ; |81|
.dwpsn "mdoc.c",82,5
LDR A1, [SP, #8] ; |82|
LDRB V9, [SP, #20] ; |82|
STRB V9, [A1, #8] ; |82|
.dwpsn "mdoc.c",83,2
LDRH V9, [SP, #20] ; |83|
LDR A1, [SP, #8] ; |83|
MOV V9, V9, LSR #8 ; |83|
STRB V9, [A1, #9] ; |83|
.dwpsn "mdoc.c",84,2
LDR V9, [SP, #16] ; |84|
LDRH V9, [V9, #0] ; |84|
STRH V9, [SP, #20] ; |84|
.dwpsn "mdoc.c",85,5
LDR A1, [SP, #8] ; |85|
LDRB V9, [SP, #20] ; |85|
STRB V9, [A1, #10] ; |85|
.dwpsn "mdoc.c",86,2
LDRH V9, [SP, #20] ; |86|
LDR A1, [SP, #8] ; |86|
MOV V9, V9, LSR #8 ; |86|
STRB V9, [A1, #11] ; |86|
.dwpsn "mdoc.c",87,2
LDR V9, [SP, #16] ; |87|
LDRH V9, [V9, #0] ; |87|
STRH V9, [SP, #20] ; |87|
.dwpsn "mdoc.c",88,5
LDR A1, [SP, #8] ; |88|
LDRB V9, [SP, #20] ; |88|
STRB V9, [A1, #12] ; |88|
.dwpsn "mdoc.c",89,2
LDRH V9, [SP, #20] ; |89|
LDR A1, [SP, #8] ; |89|
MOV V9, V9, LSR #8 ; |89|
STRB V9, [A1, #13] ; |89|
.dwpsn "mdoc.c",90,2
LDR V9, [SP, #16] ; |90|
LDRH V9, [V9, #0] ; |90|
STRH V9, [SP, #20] ; |90|
.dwpsn "mdoc.c",91,5
LDR A1, [SP, #8] ; |91|
LDRB V9, [SP, #20] ; |91|
STRB V9, [A1, #14] ; |91|
.dwpsn "mdoc.c",92,2
LDRH V9, [SP, #20] ; |92|
LDR A1, [SP, #8] ; |92|
MOV V9, V9, LSR #8 ; |92|
STRB V9, [A1, #15] ; |92|
.dwpsn "mdoc.c",67,32
LDR V9, [SP, #8] ; |67|
ADD V9, V9, #16 ; |67|
STR V9, [SP, #8] ; |67|
.dwpsn "mdoc.c",67,10
LDR V9, [SP, #8] ; |67|
CMP V9, A2 ; |67|
BLT L7 ; |67|
; |67|
DW$L$_hal_blk_read_nor$2$E:
;* --------------------------------------------------------------------------*
L8:
.dwpsn "mdoc.c",95,3
MOV A1, #0 ; |95|
.dwpsn "mdoc.c",96,1
ADD SP, SP, #24 ; |95|
.dwcfa 0x0e, 0
BX LR
DW$40 .dwtag DW_TAG_loop
.dwattr DW$40, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\mdoc.asm:L7:1:1214374312")
.dwattr DW$40, DW_AT_begin_file("mdoc.c")
.dwattr DW$40, DW_AT_begin_line(0x43)
.dwattr DW$40, DW_AT_end_line(0x5d)
DW$41 .dwtag DW_TAG_loop_range
.dwattr DW$41, DW_AT_low_pc(DW$L$_hal_blk_read_nor$2$B)
.dwattr DW$41, DW_AT_high_pc(DW$L$_hal_blk_read_nor$2$E)
.dwendtag DW$40
.dwattr DW$28, DW_AT_end_file("mdoc.c")
.dwattr DW$28, DW_AT_end_line(0x60)
.dwattr DW$28, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$28
.sect ".text"
.align 4
.clink
.armfunc _flWrite8bitUsing16bitsSingleShift
.state32
.global _flWrite8bitUsing16bitsSingleShift
DW$42 .dwtag DW_TAG_subprogram, DW_AT_name("flWrite8bitUsing16bitsSingleShift"), DW_AT_symbol_name("_flWrite8bitUsing16bitsSingleShift")
.dwattr DW$42, DW_AT_low_pc(_flWrite8bitUsing16bitsSingleShift)
.dwattr DW$42, DW_AT_high_pc(0x00)
.dwattr DW$42, DW_AT_begin_file("mdoc.c")
.dwattr DW$42, DW_AT_begin_line(0x62)
.dwattr DW$42, DW_AT_begin_column(0x06)
.dwpsn "mdoc.c",99,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: flWrite8bitUsing16bitsSingleShift *
;* *
;* Regs Modified : A1,A2,V9,SP *
;* Regs Used : A1,A2,A3,V9,SP *
;* Local Frame Size : 0 Args + 8 Auto + 0 Save = 8 byte *
;*****************************************************************************
_flWrite8bitUsing16bitsSingleShift:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #8
.dwcfa 0x0e, 8
;* A1 assigned to _win
DW$43 .dwtag DW_TAG_formal_parameter, DW_AT_name("win"), DW_AT_symbol_name("_win")
.dwattr DW$43, DW_AT_type(*DW$T$32)
.dwattr DW$43, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _offset
DW$44 .dwtag DW_TAG_formal_parameter, DW_AT_name("offset"), DW_AT_symbol_name("_offset")
.dwattr DW$44, DW_AT_type(*DW$T$30)
.dwattr DW$44, DW_AT_location[DW_OP_reg1]
;* A3 assigned to _val
DW$45 .dwtag DW_TAG_formal_parameter, DW_AT_name("val"), DW_AT_symbol_name("_val")
.dwattr DW$45, DW_AT_type(*DW$T$33)
.dwattr DW$45, DW_AT_location[DW_OP_reg2]
DW$46 .dwtag DW_TAG_variable, DW_AT_name("win"), DW_AT_symbol_name("_win")
.dwattr DW$46, DW_AT_type(*DW$T$32)
.dwattr DW$46, DW_AT_location[DW_OP_breg13 0]
DW$47 .dwtag DW_TAG_variable, DW_AT_name("offset"), DW_AT_symbol_name("_offset")
.dwattr DW$47, DW_AT_type(*DW$T$30)
.dwattr DW$47, DW_AT_location[DW_OP_breg13 4]
DW$48 .dwtag DW_TAG_variable, DW_AT_name("val"), DW_AT_symbol_name("_val")
.dwattr DW$48, DW_AT_type(*DW$T$33)
.dwattr DW$48, DW_AT_location[DW_OP_breg13 6]
STRB A3, [SP, #6] ; |99|
STRH A2, [SP, #4] ; |99|
STR A1, [SP, #0] ; |99|
.dwpsn "mdoc.c",100,4
LDRH V9, [SP, #4] ; |100|
LDR A1, [SP, #0] ; |100|
ADD A1, A1, V9, LSL #1 ; |100|
MOV V9, #2048 ; |100|
ADD A2, V9, #201326592 ; |100|
LDRB V9, [SP, #6] ; |100|
STRH V9, [A2, +A1] ; |100|
.dwpsn "mdoc.c",101,1
ADD SP, SP, #8
.dwcfa 0x0e, 0
BX LR
.dwattr DW$42, DW_AT_end_file("mdoc.c")
.dwattr DW$42, DW_AT_end_line(0x65)
.dwattr DW$42, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$42
.sect ".text"
.align 4
.clink
.armfunc _io_input
.state32
.global _io_input
DW$49 .dwtag DW_TAG_subprogram, DW_AT_name("io_input"), DW_AT_symbol_name("_io_input")
.dwattr DW$49, DW_AT_low_pc(_io_input)
.dwattr DW$49, DW_AT_high_pc(0x00)
.dwattr DW$49, DW_AT_begin_file("mdoc.c")
.dwattr DW$49, DW_AT_begin_line(0x67)
.dwattr DW$49, DW_AT_begin_column(0x0c)
.dwpsn "mdoc.c",107,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: io_input *
;* *
;* 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_input:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -