📄 mdoc.asm
字号:
.dwcfa 0x80, 14, 1
SUB SP, SP, #44
.dwcfa 0x0e, 48
;* A1 assigned to _devNum
DW$50 .dwtag DW_TAG_formal_parameter, DW_AT_name("devNum"), DW_AT_symbol_name("_devNum")
.dwattr DW$50, DW_AT_type(*DW$T$49)
.dwattr DW$50, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _regs
DW$51 .dwtag DW_TAG_formal_parameter, DW_AT_name("regs"), DW_AT_symbol_name("_regs")
.dwattr DW$51, DW_AT_type(*DW$T$65)
.dwattr DW$51, DW_AT_location[DW_OP_reg1]
;* A3 assigned to _buf
DW$52 .dwtag DW_TAG_formal_parameter, DW_AT_name("buf"), DW_AT_symbol_name("_buf")
.dwattr DW$52, DW_AT_type(*DW$T$3)
.dwattr DW$52, DW_AT_location[DW_OP_reg2]
;* A4 assigned to _secNum
DW$53 .dwtag DW_TAG_formal_parameter, DW_AT_name("secNum"), DW_AT_symbol_name("_secNum")
.dwattr DW$53, DW_AT_type(*DW$T$56)
.dwattr DW$53, DW_AT_location[DW_OP_reg3]
DW$54 .dwtag DW_TAG_variable, DW_AT_name("devNum"), DW_AT_symbol_name("_devNum")
.dwattr DW$54, DW_AT_type(*DW$T$49)
.dwattr DW$54, DW_AT_location[DW_OP_breg13 4]
DW$55 .dwtag DW_TAG_variable, DW_AT_name("regs"), DW_AT_symbol_name("_regs")
.dwattr DW$55, DW_AT_type(*DW$T$65)
.dwattr DW$55, DW_AT_location[DW_OP_breg13 8]
DW$56 .dwtag DW_TAG_variable, DW_AT_name("buf"), DW_AT_symbol_name("_buf")
.dwattr DW$56, DW_AT_type(*DW$T$3)
.dwattr DW$56, DW_AT_location[DW_OP_breg13 12]
DW$57 .dwtag DW_TAG_variable, DW_AT_name("secNum"), DW_AT_symbol_name("_secNum")
.dwattr DW$57, DW_AT_type(*DW$T$56)
.dwattr DW$57, DW_AT_location[DW_OP_breg13 16]
DW$58 .dwtag DW_TAG_variable, DW_AT_name("sectors_to_read"), DW_AT_symbol_name("_sectors_to_read")
.dwattr DW$58, DW_AT_type(*DW$T$56)
.dwattr DW$58, DW_AT_location[DW_OP_breg13 20]
DW$59 .dwtag DW_TAG_variable, DW_AT_name("secPerformed"), DW_AT_symbol_name("_secPerformed")
.dwattr DW$59, DW_AT_type(*DW$T$56)
.dwattr DW$59, DW_AT_location[DW_OP_breg13 24]
DW$60 .dwtag DW_TAG_variable, DW_AT_name("offset"), DW_AT_symbol_name("_offset")
.dwattr DW$60, DW_AT_type(*DW$T$56)
.dwattr DW$60, DW_AT_location[DW_OP_breg13 28]
DW$61 .dwtag DW_TAG_variable, DW_AT_name("rc"), DW_AT_symbol_name("_rc")
.dwattr DW$61, DW_AT_type(*DW$T$59)
.dwattr DW$61, DW_AT_location[DW_OP_breg13 32]
DW$62 .dwtag DW_TAG_variable, DW_AT_name("status"), DW_AT_symbol_name("_status")
.dwattr DW$62, DW_AT_type(*DW$T$49)
.dwattr DW$62, DW_AT_location[DW_OP_breg13 36]
DW$63 .dwtag DW_TAG_variable, DW_AT_name("multCount"), DW_AT_symbol_name("_multCount")
.dwattr DW$63, DW_AT_type(*DW$T$19)
.dwattr DW$63, DW_AT_location[DW_OP_breg13 40]
STR A4, [SP, #16] ; |107|
STR A3, [SP, #12] ; |107|
STR A2, [SP, #8] ; |107|
STR A1, [SP, #4] ; |107|
.dwpsn "mdoc.c",110,11
MOV V9, #0 ; |110|
STR V9, [SP, #28] ; |110|
.dwpsn "mdoc.c",113,10
MOV V9, #0 ; |113|
STRB V9, [SP, #40] ; |113|
.dwpsn "mdoc.c",118,2
LDR V9, [SP, #16] ; |118|
CMP V9, #0 ; |118|
BEQ L9 ; |118|
; |118|
;* --------------------------------------------------------------------------*
LDR V9, [SP, #16] ; |118|
B L10 ; |118|
; |118|
;* --------------------------------------------------------------------------*
L9:
MOV V9, #256 ; |118|
;* --------------------------------------------------------------------------*
L10:
STR V9, [SP, #20] ; |118|
.dwpsn "mdoc.c",121,5
MOV V9, #500 ; |121|
MOV A4, #0 ; |121|
MOV A3, #128 ; |121|
MOV A2, #14 ; |121|
STR V9, [SP, #0] ; |121|
LDR A1, [SP, #4] ; |121|
BL _ready ; |121|
; |121|
CMP A1, #0 ; |121|
STR A1, [SP, #32] ; |121|
BEQ L11 ; |121|
; |121|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",125,9
LDR A1, [SP, #32] ; |125|
B L21 ; |125|
; |125|
;* --------------------------------------------------------------------------*
L11:
.dwpsn "mdoc.c",128,5
LDR V9, [SP, #32] ; |128|
CMP V9, #0 ; |128|
BNE L20 ; |128|
; |128|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",131,9
LDR V9, [SP, #8] ; |131|
LDRB A3, [V9, #1] ; |131|
MOV A2, #2 ; |131|
LDR V9, CON1 ; |131|
LDR A1, [V9, #0] ; |131|
BL _flWrite8bitUsing16bitsSingleShift ; |131|
; |131|
.dwpsn "mdoc.c",132,9
LDR V9, [SP, #8] ; |132|
LDRB A3, [V9, #2] ; |132|
LDR V9, CON1 ; |132|
MOV A2, #3 ; |132|
LDR A1, [V9, #0] ; |132|
BL _flWrite8bitUsing16bitsSingleShift ; |132|
; |132|
.dwpsn "mdoc.c",133,9
LDR V9, [SP, #8] ; |133|
LDRB A3, [V9, #3] ; |133|
LDR V9, CON1 ; |133|
MOV A2, #4 ; |133|
LDR A1, [V9, #0] ; |133|
BL _flWrite8bitUsing16bitsSingleShift ; |133|
; |133|
.dwpsn "mdoc.c",134,9
LDR V9, [SP, #8] ; |134|
LDRB A3, [V9, #4] ; |134|
LDR V9, CON1 ; |134|
MOV A2, #5 ; |134|
LDR A1, [V9, #0] ; |134|
BL _flWrite8bitUsing16bitsSingleShift ; |134|
; |134|
.dwpsn "mdoc.c",135,9
LDR V9, [SP, #8] ; |135|
LDRB A3, [V9, #0] ; |135|
LDR V9, CON1 ; |135|
MOV A2, #1 ; |135|
LDR A1, [V9, #0] ; |135|
BL _flWrite8bitUsing16bitsSingleShift ; |135|
; |135|
.dwpsn "mdoc.c",136,3
LDR V9, [SP, #8] ; |136|
LDRB A3, [V9, #5] ; |136|
LDR V9, CON1 ; |136|
MOV A2, #6 ; |136|
LDR A1, [V9, #0] ; |136|
BL _flWrite8bitUsing16bitsSingleShift ; |136|
; |136|
.dwpsn "mdoc.c",137,9
LDR V9, [SP, #8] ; |137|
LDRB A3, [V9, #6] ; |137|
LDR V9, CON1 ; |137|
MOV A2, #7 ; |137|
LDR A1, [V9, #0] ; |137|
BL _flWrite8bitUsing16bitsSingleShift ; |137|
; |137|
.dwpsn "mdoc.c",143,3
B L12 ; |143|
; |143|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L12:
.dwpsn "mdoc.c",147,8
MOV V9, #0 ; |147|
STR V9, [SP, #24] ; |147|
.dwpsn "mdoc.c",147,24
LDR A1, [SP, #24] ; |147|
LDR V9, [SP, #20] ; |147|
CMP A1, V9 ; |147|
BCS L16 ; |147|
; |147|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L13
;*
;* Loop source line : 147
;* Loop closing brace source line : 166
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L13:
DW$L$_io_input$10$B:
.dwpsn "mdoc.c",150,5
MOV V9, #5 ; |150|
MOV A4, #72 ; |150|
MOV A3, #201 ; |150|
STR V9, [SP, #0] ; |150|
MOV A2, #7 ; |150|
LDR A1, [SP, #4] ; |150|
BL _ready ; |150|
; |150|
STR A1, [SP, #32] ; |150|
.dwpsn "mdoc.c",152,5
LDR V9, [SP, #32] ; |152|
CMP V9, #0 ; |152|
BEQ L14 ; |152|
; |152|
DW$L$_io_input$10$E:
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",156,6
LDR A1, [SP, #32] ; |156|
B L21 ; |156|
; |156|
;* --------------------------------------------------------------------------*
L14:
DW$L$_io_input$12$B:
.dwpsn "mdoc.c",158,5
LDR V9, [SP, #12] ; |158|
LDR A1, [SP, #28] ; |158|
LDR A2, CON17 ; |158|
MOV A4, #512 ; |158|
ADD A3, A1, V9 ; |158|
LDR V9, CON1 ; |158|
LDR A1, [V9, #0] ; |158|
BL _hal_blk_read_nor ; |158|
; |158|
CMP A1, #0 ; |158|
BEQ L15 ; |158|
; |158|
DW$L$_io_input$12$E:
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",162,6
MOV A1, #296 ; |162|
B L21 ; |162|
; |162|
;* --------------------------------------------------------------------------*
L15:
DW$L$_io_input$14$B:
.dwpsn "mdoc.c",165,5
LDR V9, [SP, #28] ; |165|
ADD V9, V9, #512 ; |165|
STR V9, [SP, #28] ; |165|
.dwpsn "mdoc.c",147,54
LDR V9, [SP, #24] ; |147|
ADD V9, V9, #1 ; |147|
STR V9, [SP, #24] ; |147|
.dwpsn "mdoc.c",147,24
LDR A1, [SP, #24] ; |147|
LDR V9, [SP, #20] ; |147|
CMP A1, V9 ; |147|
BCC L13 ; |147|
; |147|
DW$L$_io_input$14$E:
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",168,9
B L16 ; |168|
; |168|
;* --------------------------------------------------------------------------*
;* --------------------------------------------------------------------------*
L16:
.dwpsn "mdoc.c",202,3
MOV V9, #5 ; |202|
MOV A4, #64 ; |202|
MOV A3, #192 ; |202|
STR V9, [SP, #0] ; |202|
MOV A2, #7 ; |202|
LDR A1, [SP, #4] ; |202|
BL _ready ; |202|
; |202|
STR A1, [SP, #32] ; |202|
.dwpsn "mdoc.c",204,3
LDR V9, [SP, #32] ; |204|
CMP V9, #0 ; |204|
BEQ L17 ; |204|
; |204|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",208,4
LDR A1, [SP, #32] ; |208|
B L21 ; |208|
; |208|
;* --------------------------------------------------------------------------*
L17:
.dwpsn "mdoc.c",212,3
LDR V9, CON1 ; |212|
MOV A2, #7 ; |212|
LDR A1, [V9, #0] ; |212|
BL _flRead8bitUsing16bitsSingleShift ; |212|
; |212|
STR A1, [SP, #36] ; |212|
.dwpsn "mdoc.c",213,3
LDR V9, [SP, #36] ; |213|
AND V9, V9, #193 ; |213|
CMP V9, #64 ; |213|
BEQ L20 ; |213|
; |213|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",215,4
LDR V9, [SP, #36] ; |215|
TST V9, #128 ; |215|
BEQ L18 ; |215|
; |215|
;* --------------------------------------------------------------------------*
.dwpsn "mdoc.c",216,5
LDR A1, CON20 ; |216|
B L21 ; |216|
; |216|
;* --------------------------------------------------------------------------*
L18:
.dwpsn "mdoc.c",217,9
LDR V9, [SP, #36] ; |217|
TST V9, #64 ; |217|
BNE L19 ; |217|
; |217|
;* --------------------------------------------------------------------------*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -