📄 usim.asm
字号:
;* Local Frame Size : 0 Args + 12 Auto + 0 Save = 12 byte *
;*****************************************************************************
_usim_read_rxfifo:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #12
.dwcfa 0x0e, 12
;* A1 assigned to _read_buf
DW$48 .dwtag DW_TAG_formal_parameter, DW_AT_name("read_buf"), DW_AT_symbol_name("_read_buf")
.dwattr DW$48, DW_AT_type(*DW$T$27)
.dwattr DW$48, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _read_count
DW$49 .dwtag DW_TAG_formal_parameter, DW_AT_name("read_count"), DW_AT_symbol_name("_read_count")
.dwattr DW$49, DW_AT_type(*DW$T$11)
.dwattr DW$49, DW_AT_location[DW_OP_reg1]
DW$50 .dwtag DW_TAG_variable, DW_AT_name("read_buf"), DW_AT_symbol_name("_read_buf")
.dwattr DW$50, DW_AT_type(*DW$T$27)
.dwattr DW$50, DW_AT_location[DW_OP_breg13 0]
DW$51 .dwtag DW_TAG_variable, DW_AT_name("read_count"), DW_AT_symbol_name("_read_count")
.dwattr DW$51, DW_AT_type(*DW$T$11)
.dwattr DW$51, DW_AT_location[DW_OP_breg13 4]
DW$52 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$52, DW_AT_type(*DW$T$10)
.dwattr DW$52, DW_AT_location[DW_OP_breg13 8]
STR A2, [SP, #4] ; |174|
STR A1, [SP, #0] ; |174|
.dwpsn "usim.c",176,5
MOV V9, #0 ; |176|
STR V9, [SP, #8] ; |176|
.dwpsn "usim.c",177,8
LDR A1, [SP, #8] ; |177|
LDR V9, [SP, #4] ; |177|
CMP A1, V9 ; |177|
BCS L26 ; |177|
; |177|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L24
;*
;* Loop source line : 177
;* Loop closing brace source line : 184
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L24:
DW$L$_usim_read_rxfifo$2$B:
.dwpsn "usim.c",179,3
LDR V9, CON16 ; |179|
LDRH V9, [V9, #0] ; |179|
TST V9, #16384 ; |179|
BNE L25 ; |179|
; |179|
DW$L$_usim_read_rxfifo$2$E:
;* --------------------------------------------------------------------------*
DW$L$_usim_read_rxfifo$3$B:
.dwpsn "usim.c",181,4
LDR V9, [SP, #0] ; |181|
ADD A1, V9, #2 ; |181|
STR A1, [SP, #0] ; |181|
LDR A1, CON21 ; |181|
LDRH A1, [A1, #0] ; |181|
AND A1, A1, #255 ; |181|
STRH A1, [V9, #0] ; |181|
.dwpsn "usim.c",182,4
LDR V9, [SP, #8] ; |182|
ADD V9, V9, #1 ; |182|
STR V9, [SP, #8] ; |182|
DW$L$_usim_read_rxfifo$3$E:
;* --------------------------------------------------------------------------*
L25:
DW$L$_usim_read_rxfifo$4$B:
.dwpsn "usim.c",177,8
LDR V9, [SP, #4] ; |177|
LDR A1, [SP, #8] ; |177|
CMP A1, V9 ; |177|
BCC L24 ; |177|
; |177|
DW$L$_usim_read_rxfifo$4$E:
;* --------------------------------------------------------------------------*
L26:
.dwpsn "usim.c",185,1
ADD SP, SP, #12
.dwcfa 0x0e, 0
BX LR
DW$53 .dwtag DW_TAG_loop
.dwattr DW$53, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\usim.asm:L24:1:1214374332")
.dwattr DW$53, DW_AT_begin_file("usim.c")
.dwattr DW$53, DW_AT_begin_line(0xb1)
.dwattr DW$53, DW_AT_end_line(0xb8)
DW$54 .dwtag DW_TAG_loop_range
.dwattr DW$54, DW_AT_low_pc(DW$L$_usim_read_rxfifo$2$B)
.dwattr DW$54, DW_AT_high_pc(DW$L$_usim_read_rxfifo$2$E)
DW$55 .dwtag DW_TAG_loop_range
.dwattr DW$55, DW_AT_low_pc(DW$L$_usim_read_rxfifo$3$B)
.dwattr DW$55, DW_AT_high_pc(DW$L$_usim_read_rxfifo$3$E)
DW$56 .dwtag DW_TAG_loop_range
.dwattr DW$56, DW_AT_low_pc(DW$L$_usim_read_rxfifo$4$B)
.dwattr DW$56, DW_AT_high_pc(DW$L$_usim_read_rxfifo$4$E)
.dwendtag DW$53
.dwattr DW$47, DW_AT_end_file("usim.c")
.dwattr DW$47, DW_AT_end_line(0xb9)
.dwattr DW$47, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$47
.sect ".text"
.align 4
.clink
.armfunc _usim_write_txfifo
.state32
.global _usim_write_txfifo
DW$57 .dwtag DW_TAG_subprogram, DW_AT_name("usim_write_txfifo"), DW_AT_symbol_name("_usim_write_txfifo")
.dwattr DW$57, DW_AT_low_pc(_usim_write_txfifo)
.dwattr DW$57, DW_AT_high_pc(0x00)
.dwattr DW$57, DW_AT_begin_file("usim.c")
.dwattr DW$57, DW_AT_begin_line(0xbb)
.dwattr DW$57, DW_AT_begin_column(0x06)
.dwpsn "usim.c",188,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: 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 *
;*****************************************************************************
_usim_write_txfifo:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
SUB SP, SP, #12
.dwcfa 0x0e, 12
;* A1 assigned to _write_buf
DW$58 .dwtag DW_TAG_formal_parameter, DW_AT_name("write_buf"), DW_AT_symbol_name("_write_buf")
.dwattr DW$58, DW_AT_type(*DW$T$27)
.dwattr DW$58, DW_AT_location[DW_OP_reg0]
;* A2 assigned to _write_count
DW$59 .dwtag DW_TAG_formal_parameter, DW_AT_name("write_count"), DW_AT_symbol_name("_write_count")
.dwattr DW$59, DW_AT_type(*DW$T$11)
.dwattr DW$59, DW_AT_location[DW_OP_reg1]
DW$60 .dwtag DW_TAG_variable, DW_AT_name("write_buf"), DW_AT_symbol_name("_write_buf")
.dwattr DW$60, DW_AT_type(*DW$T$27)
.dwattr DW$60, DW_AT_location[DW_OP_breg13 0]
DW$61 .dwtag DW_TAG_variable, DW_AT_name("write_count"), DW_AT_symbol_name("_write_count")
.dwattr DW$61, DW_AT_type(*DW$T$11)
.dwattr DW$61, DW_AT_location[DW_OP_breg13 4]
DW$62 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$62, DW_AT_type(*DW$T$10)
.dwattr DW$62, DW_AT_location[DW_OP_breg13 8]
STR A2, [SP, #4] ; |188|
STR A1, [SP, #0] ; |188|
.dwpsn "usim.c",191,9
MOV V9, #0 ; |191|
STR V9, [SP, #8] ; |191|
.dwpsn "usim.c",191,14
LDR A1, [SP, #8] ; |191|
LDR V9, [SP, #4] ; |191|
CMP A1, V9 ; |191|
BCS L28 ; |191|
; |191|
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L27
;*
;* Loop source line : 191
;* Loop closing brace source line : 192
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L27:
DW$L$_usim_write_txfifo$2$B:
.dwpsn "usim.c",192,3
LDR V9, [SP, #0] ; |192|
LDRH A1, [V9], #2 ; |192|
STR V9, [SP, #0] ; |192|
LDR V9, CON27 ; |192|
STRH A1, [V9, #0] ; |192|
.dwpsn "usim.c",191,29
LDR V9, [SP, #8] ; |191|
ADD V9, V9, #1 ; |191|
STR V9, [SP, #8] ; |191|
.dwpsn "usim.c",191,14
LDR A1, [SP, #8] ; |191|
LDR V9, [SP, #4] ; |191|
CMP A1, V9 ; |191|
BCC L27 ; |191|
; |191|
DW$L$_usim_write_txfifo$2$E:
;* --------------------------------------------------------------------------*
.dwpsn "usim.c",193,2
;* --------------------------------------------------------------------------*
;* BEGIN LOOP L28
;*
;* Loop source line : 193
;* Known Minimum Trip Count : 1
;* Known Maximum Trip Count : 4294967295
;* Known Max Trip Count Factor : 1
;* --------------------------------------------------------------------------*
L28:
DW$L$_usim_write_txfifo$4$B:
.dwpsn "usim.c",193,8
LDR V9, CON16 ; |193|
LDRH V9, [V9, #0] ; |193|
TST V9, #128 ; |193|
BEQ L28 ; |193|
; |193|
DW$L$_usim_write_txfifo$4$E:
;* --------------------------------------------------------------------------*
.dwpsn "usim.c",195,1
ADD SP, SP, #12
.dwcfa 0x0e, 0
BX LR
DW$63 .dwtag DW_TAG_loop
.dwattr DW$63, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\usim.asm:L28:1:1214374332")
.dwattr DW$63, DW_AT_begin_file("usim.c")
.dwattr DW$63, DW_AT_begin_line(0xc1)
.dwattr DW$63, DW_AT_end_line(0xc1)
DW$64 .dwtag DW_TAG_loop_range
.dwattr DW$64, DW_AT_low_pc(DW$L$_usim_write_txfifo$4$B)
.dwattr DW$64, DW_AT_high_pc(DW$L$_usim_write_txfifo$4$E)
.dwendtag DW$63
DW$65 .dwtag DW_TAG_loop
.dwattr DW$65, DW_AT_name("D:\src\boston_board_test\ARM\arm_src\usim.asm:L27:1:1214374332")
.dwattr DW$65, DW_AT_begin_file("usim.c")
.dwattr DW$65, DW_AT_begin_line(0xbf)
.dwattr DW$65, DW_AT_end_line(0xc0)
DW$66 .dwtag DW_TAG_loop_range
.dwattr DW$66, DW_AT_low_pc(DW$L$_usim_write_txfifo$2$B)
.dwattr DW$66, DW_AT_high_pc(DW$L$_usim_write_txfifo$2$E)
.dwendtag DW$65
.dwattr DW$57, DW_AT_end_file("usim.c")
.dwattr DW$57, DW_AT_end_line(0xc3)
.dwattr DW$57, DW_AT_end_column(0x01)
.dwendentry
.dwendtag DW$57
;******************************************************************************
;* STRINGS *
;******************************************************************************
.sect ".text"
.align 4
SL1: .string "ATR of USIM is right!",10,0
.align 4
SL2: .string "ATR of USIM is :",0
.align 4
SL5: .string "ATR of USIM is error!",10,0
.sect ".text"
.align 4
.clink
.armfunc _USIM_AccessSelect_test
.state32
.global _USIM_AccessSelect_test
DW$67 .dwtag DW_TAG_subprogram, DW_AT_name("USIM_AccessSelect_test"), DW_AT_symbol_name("_USIM_AccessSelect_test")
.dwattr DW$67, DW_AT_low_pc(_USIM_AccessSelect_test)
.dwattr DW$67, DW_AT_high_pc(0x00)
.dwattr DW$67, DW_AT_begin_file("usim.c")
.dwattr DW$67, DW_AT_begin_line(0xc7)
.dwattr DW$67, DW_AT_begin_column(0x06)
.dwpsn "usim.c",200,1
.dwfde DW$CIE
;*****************************************************************************
;* FUNCTION NAME: USIM_AccessSelect_test *
;* *
;* Regs Modified : A1,A2,A3,A4,V9,SP,LR,SR *
;* Regs Used : A1,A2,A3,A4,V9,SP,LR,SR *
;* Local Frame Size : 0 Args + 104 Auto + 4 Save = 108 byte *
;*****************************************************************************
_USIM_AccessSelect_test:
;* --------------------------------------------------------------------------*
.dwcfa 0x0e, 0
.dwcfa 0x09, 26, 14
STMFD SP!, {LR}
.dwcfa 0x0e, 4
.dwcfa 0x80, 14, 1
SUB SP, SP, #104
.dwcfa 0x0e, 108
DW$68 .dwtag DW_TAG_variable, DW_AT_name("k"), DW_AT_symbol_name("_k")
.dwattr DW$68, DW_AT_type(*DW$T$10)
.dwattr DW$68, DW_AT_location[DW_OP_breg13 0]
DW$69 .dwtag DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
.dwattr DW$69, DW_AT_type(*DW$T$10)
.dwattr DW$69, DW_AT_location[DW_OP_breg13 4]
DW$70 .dwtag DW_TAG_variable, DW_AT_name("number"), DW_AT_symbol_name("_number")
.dwattr DW$70, DW_AT_type(*DW$T$10)
.dwattr DW$70, DW_AT_location[DW_OP_breg13 8]
DW$71 .dwtag DW_TAG_variable, DW_AT_name("val"), DW_AT_symbol_name("_val")
.dwattr DW$71, DW_AT_type(*DW$T$10)
.dwattr DW$71, DW_AT_location[DW_OP_breg13 12]
DW$72 .dwtag DW_TAG_variable, DW_AT_name("tempr"), DW_AT_symbol_name("_tempr")
.dwattr DW$72, DW_AT_type(*DW$T$33)
.dwattr DW$72, DW_AT_location[DW_OP_breg13 16]
DW$73 .dwtag DW_TAG_variable, DW_AT_name("tx_buf"), DW_AT_symbol_name("_tx_buf")
.dwattr DW$73, DW_AT_type(*DW$T$35)
.dwattr DW$73, DW_AT_location[DW_OP_breg13 84]
.dwpsn "usim.c",205,2
MOV V9, #0 ; |205|
STR V9, [SP, #0] ; |205|
.dwpsn "usim.c",206,2
LDR A1, CON15 ; |206|
LDRH V9, [A1, #0] ; |206|
ORR V9, V9, #2 ; |206|
STRH V9, [A1, #0] ; |206|
.dwpsn "usim.c",207,2
LDR A1, CON13 ; |207|
LDRH V9, [A1, #0] ; |207|
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -