📄 mdoc.asm
字号:
LDR V9, [SP, #24] ; |272|
ADD V9, V9, #1 ; |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|
BCC L26 ; |272|
; |272|
DW$L$_io_output$12$E:
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",288,9
B L28 ; |288|
; |288|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L28:
.dwpsn "mdoc.c",324,3
MOV V9, #500 ; |324|
MOV A4, #64 ; |324|
MOV A3, #192 ; |324|
STR V9, [SP, #0] ; |324|
MOV A2, #14 ; |324|
LDR A1, [SP, #4] ; |324|
BL _ready ; |324|
; |324|
STR A1, [SP, #32] ; |324|
.dwpsn "mdoc.c",328,3
LDR V9, CON1 ; |328|
MOV A2, #7 ; |328|
LDR A1, [V9, #0] ; |328|
BL _flRead8bitUsing16bitsSingleShift ; |328|
; |328|
STR A1, [SP, #36] ; |328|
.dwpsn "mdoc.c",329,3
LDR V9, [SP, #36] ; |329|
AND V9, V9, #193 ; |329|
CMP V9, #64 ; |329|
BEQ L31 ; |329|
; |329|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",331,4
LDR V9, [SP, #36] ; |331|
TST V9, #128 ; |331|
BEQ L29 ; |331|
; |331|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",332,5
LDR A1, CON20 ; |332|
B L32 ; |332|
; |332|
;* --------------------------------------------------------------------------*
L29:
.dwpsn "mdoc.c",333,9
LDR V9, [SP, #36] ; |333|
TST V9, #64 ; |333|
BNE L30 ; |333|
; |333|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",334,5
LDR A1, CON21 ; |334|
B L32 ; |334|
; |334|
;* --------------------------------------------------------------------------*
L30:
.dwpsn "mdoc.c",335,9
LDR V9, [SP, #36] ; |335|
TST V9, #1 ; |335|
BEQ L31 ; |335|
; |335|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",336,5
MOV A1, #328 ; |336|
B L32 ; |336|
; |336|
;* --------------------------------------------------------------------------*
L31:
.dwpsn "mdoc.c",340,5
LDR A1, [SP, #32] ; |340|
;* --------------------------------------------------------------------------*
L32:
.dwpsn "mdoc.c",341,1
ADD SP, SP, #44 ; |340|
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
DW$83 .dwtag DW_TAG_loop
.dwattr DW$83, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\mdoc.asm:L26:1:1214374312")
.dwattr DW$83, DW_AT_begin_file("mdoc.c")
.dwattr DW$83, DW_AT_begin_line(0x110)
.dwattr DW$83, DW_AT_end_line(0x11f)
DW$84 .dwtag DW_TAG_loop_range
.dwattr DW$84, DW_AT_low_pc(DW$L$_io_output$10$B)
.dwattr DW$84, DW_AT_high_pc(DW$L$_io_output$10$E)
DW$85 .dwtag DW_TAG_loop_range
.dwattr DW$85, DW_AT_low_pc(DW$L$_io_output$12$B)
.dwattr DW$85, DW_AT_high_pc(DW$L$_io_output$12$E)
.dwendtag DW$83
.dwattr DW$68, DW_AT_end_file("mdoc.c")
.dwattr DW$68, DW_AT_end_line(0x155)
.dwattr DW$68, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$68
.sect ".text"
.align 4
.clink
.armfunc _flRead8bitUsing16bitsSingleShift
.state32
.global _flRead8bitUsing16bitsSingleShift
DW$86 .dwtag DW_TAG_subprogram, DW_AT_name("flRead8bitUsing16bitsSingleShift"), DW_AT_symbol_name("_flRead8bitUsing16bitsSingleShift")
.dwattr DW$86, DW_AT_low_pc(_flRead8bitUsing16bitsSingleShift)
.dwattr DW$86, DW_AT_high_pc(0x00)
.dwattr DW$86, DW_AT_begin_file("mdoc.c")
.dwattr DW$86, DW_AT_begin_line(0x157)
.dwattr DW$86, DW_AT_begin_column(0x0e)
.dwpsn "mdoc.c",344,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: flRead8bitUsing16bitsSingleShift *
;* *
;* Regs Modified : A1,V9,SP *
;* Regs Used : A1,A2,V9,SP *
;* Local Frame Size : 0 Args + 12 Auto + 0 Save = 12 byte *
;*****************************************************************************
_flRead8bitUsing16bitsSingleShift:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #12
.dwcfa 0x0e, 12
;* A1 assigned to _win
DW$87 .dwtag DW_TAG_formal_parameter, DW_AT_name("win"), DW_AT_symbol_name("_win")
.dwattr DW$87, DW_AT_type(*DW$T$32)
.dwattr DW$87, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _offset
DW$88 .dwtag DW_TAG_formal_parameter, DW_AT_name("offset"), DW_AT_symbol_name("_offset")
.dwattr DW$88, DW_AT_type(*DW$T$30)
.dwattr DW$88, DW_AT_location[DW_OP_reg1]
DW$89 .dwtag DW_TAG_variable, DW_AT_name("win"), DW_AT_symbol_name("_win")
.dwattr DW$89, DW_AT_type(*DW$T$32)
.dwattr DW$89, DW_AT_location[DW_OP_breg13 0]
DW$90 .dwtag DW_TAG_variable, DW_AT_name("offset"), DW_AT_symbol_name("_offset")
.dwattr DW$90, DW_AT_type(*DW$T$30)
.dwattr DW$90, DW_AT_location[DW_OP_breg13 4]
DW$91 .dwtag DW_TAG_variable, DW_AT_name("tempp"), DW_AT_symbol_name("_tempp")
.dwattr DW$91, DW_AT_type(*DW$T$10)
.dwattr DW$91, DW_AT_location[DW_OP_breg13 8]
STRH A2, [SP, #4] ; |344|
STR A1, [SP, #0] ; |344|
.dwpsn "mdoc.c",345,6
MOV V9, #0 ; |345|
STR V9, [SP, #8] ; |345|
.dwpsn "mdoc.c",346,2
LDR A1, [SP, #0] ; |346|
LDRH V9, [SP, #4] ; |346|
ADD V9, A1, V9, LSL #1 ; |346|
MOV A1, #2048 ; |346|
ADD A1, A1, #201326592 ; |346|
LDRH V9, [A1, +V9] ; |346|
STR V9, [SP, #8] ; |346|
.dwpsn "mdoc.c",347,4
LDRH V9, [SP, #4] ; |347|
LDR A1, [SP, #0] ; |347|
ADD V9, A1, V9, LSL #1 ; |347|
MOV A1, #2048 ; |347|
ADD A1, A1, #201326592 ; |347|
LDRH V9, [A1, +V9] ; |347|
AND A1, V9, #255
.dwpsn "mdoc.c",348,1
ADD SP, SP, #12 ; |347|
.dwcfa 0x0e, 0
BX LR
.dwattr DW$86, DW_AT_end_file("mdoc.c")
.dwattr DW$86, DW_AT_end_line(0x15c)
.dwattr DW$86, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$86
.sect ".text"
.align 4
.clink
.armfunc _hal_blk_write_nor
.state32
.global _hal_blk_write_nor
DW$92 .dwtag DW_TAG_subprogram, DW_AT_name("hal_blk_write_nor"), DW_AT_symbol_name("_hal_blk_write_nor")
.dwattr DW$92, DW_AT_low_pc(_hal_blk_write_nor)
.dwattr DW$92, DW_AT_high_pc(0x00)
.dwattr DW$92, DW_AT_begin_file("mdoc.c")
.dwattr DW$92, DW_AT_begin_line(0x160)
.dwattr DW$92, DW_AT_begin_column(0x0b)
.dwpsn "mdoc.c",355,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: hal_blk_write_nor *
;* *
;* Regs Modified : A1,A2,V9,SP,SR *
;* Regs Used : A1,A2,A3,V9,SP,SR *
;* Local Frame Size : 0 Args + 20 Auto + 0 Save = 20 byte *
;*****************************************************************************
_hal_blk_write_nor:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #20
.dwcfa 0x0e, 20
;* A1 assigned to _base
DW$93 .dwtag DW_TAG_formal_parameter, DW_AT_name("base"), DW_AT_symbol_name("_base")
.dwattr DW$93, DW_AT_type(*DW$T$42)
.dwattr DW$93, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _src
DW$94 .dwtag DW_TAG_formal_parameter, DW_AT_name("src"), DW_AT_symbol_name("_src")
.dwattr DW$94, DW_AT_type(*DW$T$38)
.dwattr DW$94, DW_AT_location[DW_OP_reg1]
;* A3 assigned to _sectors
DW$95 .dwtag DW_TAG_formal_parameter, DW_AT_name("sectors"), DW_AT_symbol_name("_sectors")
.dwattr DW$95, DW_AT_type(*DW$T$49)
.dwattr DW$95, DW_AT_location[DW_OP_reg2]
DW$96 .dwtag DW_TAG_variable, DW_AT_name("base"), DW_AT_symbol_name("_base")
.dwattr DW$96, DW_AT_type(*DW$T$42)
.dwattr DW$96, DW_AT_location[DW_OP_breg13 0]
DW$97 .dwtag DW_TAG_variable, DW_AT_name("src"), DW_AT_symbol_name("_src")
.dwattr DW$97, DW_AT_type(*DW$T$38)
.dwattr DW$97, DW_AT_location[DW_OP_breg13 4]
DW$98 .dwtag DW_TAG_variable, DW_AT_name("sectors"), DW_AT_symbol_name("_sectors")
.dwattr DW$98, DW_AT_type(*DW$T$49)
.dwattr DW$98, DW_AT_location[DW_OP_breg13 8]
DW$99 .dwtag DW_TAG_variable, DW_AT_name("swin"), DW_AT_symbol_name("_swin")
.dwattr DW$99, DW_AT_type(*DW$T$32)
.dwattr DW$99, DW_AT_location[DW_OP_breg13 12]
DW$100 .dwtag DW_TAG_variable, DW_AT_name("count"), DW_AT_symbol_name("_count")
.dwattr DW$100, DW_AT_type(*DW$T$49)
.dwattr DW$100, DW_AT_location[DW_OP_breg13 16]
;* V9 assigned to _i
DW$101 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$101, DW_AT_type(*DW$T$10)
.dwattr DW$101, DW_AT_location[DW_OP_reg12]
STR A3, [SP, #8] ; |355|
STR A2, [SP, #4] ; |355|
STR A1, [SP, #0] ; |355|
.dwpsn "mdoc.c",358,27
LDR V9, [SP, #0] ; |358|
ADD V9, V9, #4096 ; |358|
ADD V9, V9, #201326592 ; |358|
STR V9, [SP, #12] ; |358|
.dwpsn "mdoc.c",359,26
LDR V9, [SP, #8] ; |359|
MOV V9, V9, LSL #9 ; |359|
STR V9, [SP, #16] ; |359|
.dwpsn "mdoc.c",363,11
LDR A1, [SP, #16] ; |363|
MOV A1, A1, ASR #1 ; |363|
STR A1, [SP, #16] ; |363|
MOV V9, #0 ; |363|
.dwpsn "mdoc.c",363,38
LDR A1, [SP, #16] ; |363|
CMP V9, A1 ; |363|
BGE L34 ; |363|
; |363|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L33
;*
;* Loop source line : 363
;* Loop closing brace source line : 366
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L33:
DW$L$_hal_blk_write_nor$2$B:
.dwpsn "mdoc.c",366,9
LDR A1, [SP, #4] ; |366|
MOV A2, V9, LSL #1 ; |366|
LDRH A1, [A2, +A1] ; |366|
LDR A2, [SP, #12] ; |366|
STRH A1, [A2, #0] ; |366|
.dwpsn "mdoc.c",363,54
ADD V9, V9, #1 ; |363|
.dwpsn "mdoc.c",363,38
LDR A1, [SP, #16] ; |363|
CMP V9, A1 ; |363|
BLT L33 ; |363|
; |363|
DW$L$_hal_blk_write_nor$2$E:
;* --------------------------------------------------------------------------*
L34:
.dwpsn "mdoc.c",367,4
MOV A1, #0 ; |367|
.dwpsn "mdoc.c",368,1
ADD SP, SP, #20 ; |367|
.dwcfa 0x0e, 0
BX LR
DW$102 .dwtag DW_TAG_loop
.dwattr DW$102, DW_AT_name("D:\src\boston_board_test\ARM\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -