⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usim.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
;*   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 + -