📄 vikingiiusim.asm
字号:
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L18:
DW$L$_VIKING_USIM_Automatic_ATR_test$13$B:
.dwpsn "vikingIIUsim.c",95,4
LDR V9, [SP, #0] ; |95|
ADR A2, SL3 ; |95|
ADD V9, SP, V9, LSL #2 ; |95|
MOV A1, #1 ; |95|
LDR A3, [V9, #12] ; |95|
BL _UART_Printf ; |95|
; |95|
.dwpsn "vikingIIUsim.c",93,16
LDR V9, [SP, #0] ; |93|
ADD V9, V9, #1 ; |93|
STR V9, [SP, #0] ; |93|
.dwpsn "vikingIIUsim.c",93,11
LDR V9, [SP, #0] ; |93|
CMP V9, #22 ; |93|
BLT L18 ; |93|
; |93|
DW$L$_VIKING_USIM_Automatic_ATR_test$13$E:
;* --------------------------------------------------------------------------*
L19:
.dwpsn "vikingIIUsim.c",97,3
ADR A2, SL4 ; |97|
MOV A1, #1 ; |97|
BL _UART_Printf ; |97|
; |97|
.dwpsn "vikingIIUsim.c",99,2
B L21 ; |99|
; |99|
;* --------------------------------------------------------------------------*
L20:
.dwpsn "vikingIIUsim.c",102,3
ADR A2, SL5 ; |102|
MOV A1, #1 ; |102|
BL _UART_Printf ; |102|
; |102|
;* --------------------------------------------------------------------------*
L21:
.dwpsn "vikingIIUsim.c",107,2
MOV V9, #1024 ; |107|
LDR A1, CON3 ; |107|
SUB V9, V9, #123 ; |107|
STRH V9, [A1, #0] ; |107|
.dwpsn "vikingIIUsim.c",108,2
MOV V9, #512 ; |108|
LDR A1, CON6 ; |108|
SUB V9, V9, #106 ; |108|
STRH V9, [A1, #0] ; |108|
.dwpsn "vikingIIUsim.c",110,1
ADD SP, SP, #144
.dwcfa 0x0e, 4
LDMFD SP!, {PC}
DW$27 .dwtag DW_TAG_loop
.dwattr DW$27, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\vikingIIUsim.asm:L18:1:1214374336")
.dwattr DW$27, DW_AT_begin_file("vikingIIUsim.c")
.dwattr DW$27, DW_AT_begin_line(0x5d)
.dwattr DW$27, DW_AT_end_line(0x60)
DW$28 .dwtag DW_TAG_loop_range
.dwattr DW$28, DW_AT_low_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$13$B)
.dwattr DW$28, DW_AT_high_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$13$E)
.dwendtag DW$27
DW$29 .dwtag DW_TAG_loop
.dwattr DW$29, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\vikingIIUsim.asm:L14:1:1214374336")
.dwattr DW$29, DW_AT_begin_file("vikingIIUsim.c")
.dwattr DW$29, DW_AT_begin_line(0x4e)
.dwattr DW$29, DW_AT_end_line(0x58)
DW$30 .dwtag DW_TAG_loop_range
.dwattr DW$30, DW_AT_low_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$6$B)
.dwattr DW$30, DW_AT_high_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$6$E)
DW$31 .dwtag DW_TAG_loop_range
.dwattr DW$31, DW_AT_low_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$7$B)
.dwattr DW$31, DW_AT_high_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$7$E)
DW$32 .dwtag DW_TAG_loop_range
.dwattr DW$32, DW_AT_low_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$8$B)
.dwattr DW$32, DW_AT_high_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$8$E)
DW$33 .dwtag DW_TAG_loop_range
.dwattr DW$33, DW_AT_low_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$9$B)
.dwattr DW$33, DW_AT_high_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$9$E)
.dwendtag DW$29
DW$34 .dwtag DW_TAG_loop
.dwattr DW$34, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\vikingIIUsim.asm:L12:1:1214374336")
.dwattr DW$34, DW_AT_begin_file("vikingIIUsim.c")
.dwattr DW$34, DW_AT_begin_line(0x48)
.dwattr DW$34, DW_AT_end_line(0x4b)
DW$35 .dwtag DW_TAG_loop_range
.dwattr DW$35, DW_AT_low_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$4$B)
.dwattr DW$35, DW_AT_high_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$4$E)
.dwendtag DW$34
DW$36 .dwtag DW_TAG_loop
.dwattr DW$36, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\vikingIIUsim.asm:L10:1:1214374336")
.dwattr DW$36, DW_AT_begin_file("vikingIIUsim.c")
.dwattr DW$36, DW_AT_begin_line(0x41)
.dwattr DW$36, DW_AT_end_line(0x41)
DW$37 .dwtag DW_TAG_loop_range
.dwattr DW$37, DW_AT_low_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$2$B)
.dwattr DW$37, DW_AT_high_pc(DW$L$_VIKING_USIM_Automatic_ATR_test$2$E)
.dwendtag DW$36
.dwattr DW$22, DW_AT_end_file("vikingIIUsim.c")
.dwattr DW$22, DW_AT_end_line(0x6e)
.dwattr DW$22, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$22
.sect ".text"
.align 4
.clink
.armfunc _VIKING_usim_read_rxfifo
.state32
.global _VIKING_usim_read_rxfifo
DW$38 .dwtag DW_TAG_subprogram, DW_AT_name("VIKING_usim_read_rxfifo"), DW_AT_symbol_name("_VIKING_usim_read_rxfifo")
.dwattr DW$38, DW_AT_low_pc(_VIKING_usim_read_rxfifo)
.dwattr DW$38, DW_AT_high_pc(0x00)
.dwattr DW$38, DW_AT_begin_file("vikingIIUsim.c")
.dwattr DW$38, DW_AT_begin_line(0x72)
.dwattr DW$38, DW_AT_begin_column(0x06)
.dwpsn "vikingIIUsim.c",115,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: VIKING_usim_read_rxfifo *
;* *
;* Regs Modified : A1,V9,SP,SR *
;* Regs Used : A1,A2,V9,SP,SR *
;* Local Frame Size : 0 Args + 12 Auto + 0 Save = 12 byte *
;*****************************************************************************
_VIKING_usim_read_rxfifo:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #12
.dwcfa 0x0e, 12
;* A1 assigned to _read_buf
DW$39 .dwtag DW_TAG_formal_parameter, DW_AT_name("read_buf"), DW_AT_symbol_name("_read_buf")
.dwattr DW$39, DW_AT_type(*DW$T$25)
.dwattr DW$39, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _read_count
DW$40 .dwtag DW_TAG_formal_parameter, DW_AT_name("read_count"), DW_AT_symbol_name("_read_count")
.dwattr DW$40, DW_AT_type(*DW$T$11)
.dwattr DW$40, DW_AT_location[DW_OP_reg1]
DW$41 .dwtag DW_TAG_variable, DW_AT_name("read_buf"), DW_AT_symbol_name("_read_buf")
.dwattr DW$41, DW_AT_type(*DW$T$25)
.dwattr DW$41, DW_AT_location[DW_OP_breg13 0]
DW$42 .dwtag DW_TAG_variable, DW_AT_name("read_count"), DW_AT_symbol_name("_read_count")
.dwattr DW$42, DW_AT_type(*DW$T$11)
.dwattr DW$42, DW_AT_location[DW_OP_breg13 4]
DW$43 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$43, DW_AT_type(*DW$T$10)
.dwattr DW$43, DW_AT_location[DW_OP_breg13 8]
STR A2, [SP, #4] ; |115|
STR A1, [SP, #0] ; |115|
.dwpsn "vikingIIUsim.c",117,5
MOV V9, #0 ; |117|
STR V9, [SP, #8] ; |117|
.dwpsn "vikingIIUsim.c",118,8
LDR A1, [SP, #8] ; |118|
LDR V9, [SP, #4] ; |118|
CMP A1, V9 ; |118|
BCS L24 ; |118|
; |118|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L22
;*
;* Loop source line : 118
;* Loop closing brace source line : 125
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L22:
DW$L$_VIKING_usim_read_rxfifo$2$B:
.dwpsn "vikingIIUsim.c",120,3
LDR V9, CON4 ; |120|
LDRH V9, [V9, #0] ; |120|
TST V9, #16384 ; |120|
BNE L23 ; |120|
; |120|
DW$L$_VIKING_usim_read_rxfifo$2$E:
;* --------------------------------------------------------------------------*
DW$L$_VIKING_usim_read_rxfifo$3$B:
.dwpsn "vikingIIUsim.c",122,4
LDR V9, [SP, #0] ; |122|
ADD A1, V9, #2 ; |122|
STR A1, [SP, #0] ; |122|
LDR A1, CON7 ; |122|
LDRH A1, [A1, #0] ; |122|
AND A1, A1, #255 ; |122|
STRH A1, [V9, #0] ; |122|
.dwpsn "vikingIIUsim.c",123,4
LDR V9, [SP, #8] ; |123|
ADD V9, V9, #1 ; |123|
STR V9, [SP, #8] ; |123|
DW$L$_VIKING_usim_read_rxfifo$3$E:
;* --------------------------------------------------------------------------*
L23:
DW$L$_VIKING_usim_read_rxfifo$4$B:
.dwpsn "vikingIIUsim.c",118,8
LDR V9, [SP, #4] ; |118|
LDR A1, [SP, #8] ; |118|
CMP A1, V9 ; |118|
BCC L22 ; |118|
; |118|
DW$L$_VIKING_usim_read_rxfifo$4$E:
;* --------------------------------------------------------------------------*
L24:
.dwpsn "vikingIIUsim.c",126,1
ADD SP, SP, #12
.dwcfa 0x0e, 0
BX LR
DW$44 .dwtag DW_TAG_loop
.dwattr DW$44, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\vikingIIUsim.asm:L22:1:1214374336")
.dwattr DW$44, DW_AT_begin_file("vikingIIUsim.c")
.dwattr DW$44, DW_AT_begin_line(0x76)
.dwattr DW$44, DW_AT_end_line(0x7d)
DW$45 .dwtag DW_TAG_loop_range
.dwattr DW$45, DW_AT_low_pc(DW$L$_VIKING_usim_read_rxfifo$2$B)
.dwattr DW$45, DW_AT_high_pc(DW$L$_VIKING_usim_read_rxfifo$2$E)
DW$46 .dwtag DW_TAG_loop_range
.dwattr DW$46, DW_AT_low_pc(DW$L$_VIKING_usim_read_rxfifo$3$B)
.dwattr DW$46, DW_AT_high_pc(DW$L$_VIKING_usim_read_rxfifo$3$E)
DW$47 .dwtag DW_TAG_loop_range
.dwattr DW$47, DW_AT_low_pc(DW$L$_VIKING_usim_read_rxfifo$4$B)
.dwattr DW$47, DW_AT_high_pc(DW$L$_VIKING_usim_read_rxfifo$4$E)
.dwendtag DW$44
.dwattr DW$38, DW_AT_end_file("vikingIIUsim.c")
.dwattr DW$38, DW_AT_end_line(0x7e)
.dwattr DW$38, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$38
.sect ".text"
.align 4
.clink
.armfunc _VIKING_usim_write_txfifo
.state32
.global _VIKING_usim_write_txfifo
DW$48 .dwtag DW_TAG_subprogram, DW_AT_name("VIKING_usim_write_txfifo"), DW_AT_symbol_name("_VIKING_usim_write_txfifo")
.dwattr DW$48, DW_AT_low_pc(_VIKING_usim_write_txfifo)
.dwattr DW$48, DW_AT_high_pc(0x00)
.dwattr DW$48, DW_AT_begin_file("vikingIIUsim.c")
.dwattr DW$48, DW_AT_begin_line(0x80)
.dwattr DW$48, DW_AT_begin_column(0x06)
.dwpsn "vikingIIUsim.c",129,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: VIKING_usim_write_txfifo *
;* *
;* Regs Modified : A1,V9,SP,SR *
;* Regs Used : A1,A2,V9,SP,SR *
;* Local Frame Size : 0 Args + 12 Auto + 0 Save = 12 byte *
;*****************************************************************************
_VIKING_usim_write_txfifo:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #12
.dwcfa 0x0e, 12
;* A1 assigned to _write_buf
DW$49 .dwtag DW_TAG_formal_parameter, DW_AT_name("write_buf"), DW_AT_symbol_name("_write_buf")
.dwattr DW$49, DW_AT_type(*DW$T$25)
.dwattr DW$49, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _write_count
DW$50 .dwtag DW_TAG_formal_parameter, DW_AT_name("write_count"), DW_AT_symbol_name("_write_count")
.dwattr DW$50, DW_AT_type(*DW$T$11)
.dwattr DW$50, DW_AT_location[DW_OP_reg1]
DW$51 .dwtag DW_TAG_variable, DW_AT_name("write_buf"), DW_AT_symbol_name("_write_buf")
.dwattr DW$51, DW_AT_type(*DW$T$25)
.dwattr DW$51, DW_AT_location[DW_OP_breg13 0]
DW$52 .dwtag DW_TAG_variable, DW_AT_name("write_count"), DW_AT_symbol_name("_write_count")
.dwattr DW$52, DW_AT_type(*DW$T$11)
.dwattr DW$52, DW_AT_location[DW_OP_breg13 4]
DW$53 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$53, DW_AT_type(*DW$T$10)
.dwattr DW$53, DW_AT_location[DW_OP_breg13 8]
STR A2, [SP, #4] ; |129|
STR A1, [SP, #0] ; |129|
.dwpsn "vikingIIUsim.c",132,9
MOV V9, #0 ; |132|
STR V9, [SP, #8] ; |132|
.dwpsn "vikingIIUsim.c",132,14
LDR A1, [SP, #8] ; |132|
LDR V9, [SP, #4] ; |132|
CMP A1, V9 ; |132|
BCS L26 ; |132|
; |132|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -