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

📄 vikingii_ulpd.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        STR       V9, [SP, #8]          ; |88| 
	.dwpsn	"vikingII_ulpd.c",90,3
        LDR       A1, [SP, #8]          ; |90| 
	.dwpsn	"vikingII_ulpd.c",91,1
        ADD       SP, SP, #12           ; |90| 
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$22, DW_AT_end_file("vikingII_ulpd.c")
	.dwattr DW$22, DW_AT_end_line(0x5b)
	.dwattr DW$22, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$22

	.sect	".text"
	.align	4
	.clink
	.armfunc _CALC_HI_FREQ_COUNTER
	.state32
	.global	_CALC_HI_FREQ_COUNTER

DW$26	.dwtag  DW_TAG_subprogram, DW_AT_name("CALC_HI_FREQ_COUNTER"), DW_AT_symbol_name("_CALC_HI_FREQ_COUNTER")
	.dwattr DW$26, DW_AT_low_pc(_CALC_HI_FREQ_COUNTER)
	.dwattr DW$26, DW_AT_high_pc(0x00)
	.dwattr DW$26, DW_AT_begin_file("vikingII_ulpd.c")
	.dwattr DW$26, DW_AT_begin_line(0x5d)
	.dwattr DW$26, DW_AT_begin_column(0x09)
	.dwpsn	"vikingII_ulpd.c",94,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: CALC_HI_FREQ_COUNTER                                       *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP                                            *
;*   Regs Used         : A1,V9,SP                                            *
;*   Local Frame Size  : 0 Args + 12 Auto + 0 Save = 12 byte                 *
;*****************************************************************************
_CALC_HI_FREQ_COUNTER:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #12
	.dwcfa	0x0e, 12
DW$27	.dwtag  DW_TAG_variable, DW_AT_name("REG_MSB"), DW_AT_symbol_name("_REG_MSB")
	.dwattr DW$27, DW_AT_type(*DW$T$43)
	.dwattr DW$27, DW_AT_location[DW_OP_breg13 0]
DW$28	.dwtag  DW_TAG_variable, DW_AT_name("REG_LSB"), DW_AT_symbol_name("_REG_LSB")
	.dwattr DW$28, DW_AT_type(*DW$T$43)
	.dwattr DW$28, DW_AT_location[DW_OP_breg13 4]
DW$29	.dwtag  DW_TAG_variable, DW_AT_name("start_hi_counter"), DW_AT_symbol_name("_start_hi_counter")
	.dwattr DW$29, DW_AT_type(*DW$T$43)
	.dwattr DW$29, DW_AT_location[DW_OP_breg13 8]
	.dwpsn	"vikingII_ulpd.c",99,3
        LDR       V9, CON13             ; |99| 
        LDRH      V9, [V9, #0]          ; |99| 
        STR       V9, [SP, #0]          ; |99| 
	.dwpsn	"vikingII_ulpd.c",100,3
        LDR       V9, CON14             ; |100| 
        LDRH      V9, [V9, #0]          ; |100| 
        STR       V9, [SP, #4]          ; |100| 
	.dwpsn	"vikingII_ulpd.c",101,3
        LDR       A1, [SP, #4]          ; |101| 
        LDR       V9, [SP, #0]          ; |101| 
        ADD       V9, A1, V9, LSL #16   ; |101| 
        STR       V9, [SP, #8]          ; |101| 
	.dwpsn	"vikingII_ulpd.c",103,3
        LDR       A1, [SP, #8]          ; |103| 
	.dwpsn	"vikingII_ulpd.c",104,1
        ADD       SP, SP, #12           ; |103| 
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$26, DW_AT_end_file("vikingII_ulpd.c")
	.dwattr DW$26, DW_AT_end_line(0x68)
	.dwattr DW$26, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$26

	.sect	".text"
	.align	4
	.clink
	.armfunc _CALC_NETWORK_COUNTER
	.state32
	.global	_CALC_NETWORK_COUNTER

DW$30	.dwtag  DW_TAG_subprogram, DW_AT_name("CALC_NETWORK_COUNTER"), DW_AT_symbol_name("_CALC_NETWORK_COUNTER")
	.dwattr DW$30, DW_AT_low_pc(_CALC_NETWORK_COUNTER)
	.dwattr DW$30, DW_AT_high_pc(0x00)
	.dwattr DW$30, DW_AT_begin_file("vikingII_ulpd.c")
	.dwattr DW$30, DW_AT_begin_line(0x6a)
	.dwattr DW$30, DW_AT_begin_column(0x09)
	.dwpsn	"vikingII_ulpd.c",107,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: CALC_NETWORK_COUNTER                                       *
;*                                                                           *
;*   Regs Modified     : A1,V9,SP                                            *
;*   Regs Used         : A1,V9,SP                                            *
;*   Local Frame Size  : 0 Args + 12 Auto + 0 Save = 12 byte                 *
;*****************************************************************************
_CALC_NETWORK_COUNTER:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        SUB       SP, SP, #12
	.dwcfa	0x0e, 12
DW$31	.dwtag  DW_TAG_variable, DW_AT_name("REG_MSB"), DW_AT_symbol_name("_REG_MSB")
	.dwattr DW$31, DW_AT_type(*DW$T$43)
	.dwattr DW$31, DW_AT_location[DW_OP_breg13 0]
DW$32	.dwtag  DW_TAG_variable, DW_AT_name("REG_LSB"), DW_AT_symbol_name("_REG_LSB")
	.dwattr DW$32, DW_AT_type(*DW$T$43)
	.dwattr DW$32, DW_AT_location[DW_OP_breg13 4]
DW$33	.dwtag  DW_TAG_variable, DW_AT_name("start_network_counter"), DW_AT_symbol_name("_start_network_counter")
	.dwattr DW$33, DW_AT_type(*DW$T$43)
	.dwattr DW$33, DW_AT_location[DW_OP_breg13 8]
	.dwpsn	"vikingII_ulpd.c",112,3
        LDR       V9, CON15             ; |112| 
        LDRH      V9, [V9, #0]          ; |112| 
        STR       V9, [SP, #0]          ; |112| 
	.dwpsn	"vikingII_ulpd.c",113,3
        LDR       V9, CON16             ; |113| 
        LDRH      V9, [V9, #0]          ; |113| 
        STR       V9, [SP, #4]          ; |113| 
	.dwpsn	"vikingII_ulpd.c",114,3
        LDR       A1, [SP, #4]          ; |114| 
        LDR       V9, [SP, #0]          ; |114| 
        ADD       V9, A1, V9, LSL #16   ; |114| 
        STR       V9, [SP, #8]          ; |114| 
	.dwpsn	"vikingII_ulpd.c",116,3
        LDR       A1, [SP, #8]          ; |116| 
	.dwpsn	"vikingII_ulpd.c",117,1
        ADD       SP, SP, #12           ; |116| 
	.dwcfa	0x0e, 0
        BX        LR
	.dwattr DW$30, DW_AT_end_file("vikingII_ulpd.c")
	.dwattr DW$30, DW_AT_end_line(0x75)
	.dwattr DW$30, DW_AT_end_column(0x01)
	.dwendentry
	.dwendtag DW$30

	.sect	".text"
	.align	4
	.clink
	.armfunc _VIKING_GAUGING_HI
	.state32
	.global	_VIKING_GAUGING_HI

DW$34	.dwtag  DW_TAG_subprogram, DW_AT_name("VIKING_GAUGING_HI"), DW_AT_symbol_name("_VIKING_GAUGING_HI")
	.dwattr DW$34, DW_AT_low_pc(_VIKING_GAUGING_HI)
	.dwattr DW$34, DW_AT_high_pc(0x00)
	.dwattr DW$34, DW_AT_begin_file("vikingII_ulpd.c")
	.dwattr DW$34, DW_AT_begin_line(0x78)
	.dwattr DW$34, DW_AT_begin_column(0x06)
	.dwpsn	"vikingII_ulpd.c",121,1

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: VIKING_GAUGING_HI                                          *
;*                                                                           *
;*   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 + 36 Auto + 4 Save = 40 byte                 *
;*****************************************************************************
_VIKING_GAUGING_HI:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
        SUB       SP, SP, #36
	.dwcfa	0x0e, 40
DW$35	.dwtag  DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
	.dwattr DW$35, DW_AT_type(*DW$T$11)
	.dwattr DW$35, DW_AT_location[DW_OP_breg13 0]
DW$36	.dwtag  DW_TAG_variable, DW_AT_name("start_32k_counter"), DW_AT_symbol_name("_start_32k_counter")
	.dwattr DW$36, DW_AT_type(*DW$T$43)
	.dwattr DW$36, DW_AT_location[DW_OP_breg13 4]
DW$37	.dwtag  DW_TAG_variable, DW_AT_name("start_hi_counter"), DW_AT_symbol_name("_start_hi_counter")
	.dwattr DW$37, DW_AT_type(*DW$T$43)
	.dwattr DW$37, DW_AT_location[DW_OP_breg13 8]
DW$38	.dwtag  DW_TAG_variable, DW_AT_name("start_network_counter"), DW_AT_symbol_name("_start_network_counter")
	.dwattr DW$38, DW_AT_type(*DW$T$43)
	.dwattr DW$38, DW_AT_location[DW_OP_breg13 12]
DW$39	.dwtag  DW_TAG_variable, DW_AT_name("end_32k_counter"), DW_AT_symbol_name("_end_32k_counter")
	.dwattr DW$39, DW_AT_type(*DW$T$43)
	.dwattr DW$39, DW_AT_location[DW_OP_breg13 16]
DW$40	.dwtag  DW_TAG_variable, DW_AT_name("end_hi_counter"), DW_AT_symbol_name("_end_hi_counter")
	.dwattr DW$40, DW_AT_type(*DW$T$43)
	.dwattr DW$40, DW_AT_location[DW_OP_breg13 20]
DW$41	.dwtag  DW_TAG_variable, DW_AT_name("end_network_counter"), DW_AT_symbol_name("_end_network_counter")
	.dwattr DW$41, DW_AT_type(*DW$T$43)
	.dwattr DW$41, DW_AT_location[DW_OP_breg13 24]
DW$42	.dwtag  DW_TAG_variable, DW_AT_name("inc_reg"), DW_AT_symbol_name("_inc_reg")
	.dwattr DW$42, DW_AT_type(*DW$T$43)
	.dwattr DW$42, DW_AT_location[DW_OP_breg13 28]
DW$43	.dwtag  DW_TAG_variable, DW_AT_name("frac_reg"), DW_AT_symbol_name("_frac_reg")
	.dwattr DW$43, DW_AT_type(*DW$T$43)
	.dwattr DW$43, DW_AT_location[DW_OP_breg13 32]
	.dwpsn	"vikingII_ulpd.c",128,3
        MOV       V9, #41472            ; |128| 
        MOV       A1, #0                ; |128| 
        ADD       V9, V9, #134217728    ; |128| 
        STRH      A1, [V9, #0]          ; |128| 
	.dwpsn	"vikingII_ulpd.c",129,3
        MOV       V9, #41472            ; |129| 
        MOV       A1, #0                ; |129| 
        ADD       V9, V9, #134217730    ; |129| 
        STRH      A1, [V9, #0]          ; |129| 
	.dwpsn	"vikingII_ulpd.c",146,3
        BL        _CALC_32KHZ_COUNTER   ; |146| 
        ; |146| 
        STR       A1, [SP, #4]          ; |146| 
	.dwpsn	"vikingII_ulpd.c",147,3
        BL        _CALC_HI_FREQ_COUNTER ; |147| 
        ; |147| 
        STR       A1, [SP, #8]          ; |147| 
	.dwpsn	"vikingII_ulpd.c",148,3
        BL        _CALC_NETWORK_COUNTER ; |148| 
        ; |148| 
        STR       A1, [SP, #12]         ; |148| 
	.dwpsn	"vikingII_ulpd.c",151,3
        LDR       A1, CON17             ; |151| 
        MOV       V9, #0                ; |151| 
        STR       V9, [A1, #0]          ; |151| 
	.dwpsn	"vikingII_ulpd.c",156,5
        BL        _VIKNGII_GPIO_setup   ; |156| 
        ; |156| 
	.dwpsn	"vikingII_ulpd.c",158,5
        LDR       A1, CON18             ; |158| 
        LDRH      V9, [A1, #0]          ; |158| 
        ORR       V9, V9, #1            ; |158| 
        STRH      V9, [A1, #0]          ; |158| 
	.dwpsn	"vikingII_ulpd.c",158,45
        MOV       V9, #0                ; |158| 
        STR       V9, [SP, #0]          ; |158| 
	.dwpsn	"vikingII_ulpd.c",158,49
        MOV       V9, #16               ; |158| 
        ADD       V9, V9, #9984         ; |158| 
        LDR       A1, [SP, #0]          ; |158| 
        CMP       A1, V9                ; |158| 
        BCS       L2                    ; |158| 
        ; |158| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L1
;*
;*   Loop source line                : 158
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L1:    
DW$L$_VIKING_GAUGING_HI$2$B:
	.dwpsn	"vikingII_ulpd.c",158,57
        LDR       V9, [SP, #0]          ; |158| 
        ADD       V9, V9, #1            ; |158| 
        STR       V9, [SP, #0]          ; |158| 
	.dwpsn	"vikingII_ulpd.c",158,49
        MOV       V9, #16               ; |158| 
        LDR       A1, [SP, #0]          ; |158| 
        ADD       V9, V9, #9984         ; |158| 
        CMP       A1, V9                ; |158| 
        BCC       L1                    ; |158| 
        ; |158| 
DW$L$_VIKING_GAUGING_HI$2$E:
;* --------------------------------------------------------------------------*
L2:    
	.dwpsn	"vikingII_ulpd.c",159,5
        MOV       V9, #65536            ; |159| 
        MOV       A1, #41984            ; |159| 
        SUB       V9, V9, #1            ; |159| 
        ADD       A1, A1, #134217730    ; |159| 
        STRH      V9, [A1, #0]          ; |159| 
	.dwpsn	"vikingII_ulpd.c",159,44
        MOV       V9, #0                ; |159| 
        STR       V9, [SP, #0]          ; |159| 
	.dwpsn	"vikingII_ulpd.c",159,48
        MOV       V9, #16               ; |159| 
        ADD       V9, V9, #9984         ; |159| 
        LDR       A1, [SP, #0]          ; |159| 
        CMP       A1, V9                ; |159| 
        BCS       L4                    ; |159| 
        ; |159| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L3
;*
;*   Loop source line                : 159
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1
;* --------------------------------------------------------------------------*
L3:    
DW$L$_VIKING_GAUGING_HI$4$B:
	.dwpsn	"vikingII_ulpd.c",159,56
        LDR       V9, [SP, #0]          ; |159| 
        ADD       V9, V9, #1            ; |159| 
        STR       V9, [SP, #0]          ; |159| 
	.dwpsn	"vikingII_ulpd.c",159,48
        MOV       V9, #16               ; |159| 
        LDR       A1, [SP, #0]          ; |159| 
        ADD       V9, V9, #9984         ; |159| 
        CMP       A1, V9                ; |159| 
        BCC       L3                    ; |159| 
        ; |159| 
DW$L$_VIKING_GAUGING_HI$4$E:
;* --------------------------------------------------------------------------*
L4:    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -