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

📄 rtc.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;******************************************************************************
;* TMS470 C/C++ Codegen                                             PC v4.1.4 *
;* Date/Time created: Wed Jun 25 14:11:58 2008                                *
;******************************************************************************
	.compiler_opts --abi=ti_arm9_abi --endian=little --float_support=fpalib --quiet --silicon_version=5e 
	.state32

DW$CU	.dwtag  DW_TAG_compile_unit
	.dwattr DW$CU, DW_AT_name("RTC.c")
	.dwattr DW$CU, DW_AT_producer("TMS470 C/C++ Codegen PC v4.1.4 Copyright (c) 1996-2006 Texas Instruments Incorporated")
	.dwattr DW$CU, DW_AT_stmt_list(0x00)
	.dwattr DW$CU, DW_AT_TI_VERSION(0x01)

DW$1	.dwtag  DW_TAG_subprogram, DW_AT_name("MSI2C_MasterPollingReceiveAbb"), DW_AT_symbol_name("_MSI2C_MasterPollingReceiveAbb")
	.dwattr DW$1, DW_AT_type(*DW$T$19)
	.dwattr DW$1, DW_AT_declaration(0x01)
	.dwattr DW$1, DW_AT_external(0x01)
DW$2	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
	.dwendtag DW$1


DW$3	.dwtag  DW_TAG_subprogram, DW_AT_name("MSI2C_MasterPollingSendAbb"), DW_AT_symbol_name("_MSI2C_MasterPollingSendAbb")
	.dwattr DW$3, DW_AT_declaration(0x01)
	.dwattr DW$3, DW_AT_external(0x01)
DW$4	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
DW$5	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$19)
	.dwendtag DW$3


DW$6	.dwtag  DW_TAG_subprogram, DW_AT_name("MSI2C_AccessPage"), DW_AT_symbol_name("_MSI2C_AccessPage")
	.dwattr DW$6, DW_AT_declaration(0x01)
	.dwattr DW$6, DW_AT_external(0x01)
DW$7	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$22)
	.dwendtag DW$6


DW$8	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_Printf"), DW_AT_symbol_name("_UART_Printf")
	.dwattr DW$8, DW_AT_declaration(0x01)
	.dwattr DW$8, DW_AT_external(0x01)
DW$9	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
DW$10	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$26)
DW$11	.dwtag  DW_TAG_unspecified_parameters
	.dwendtag DW$8


DW$12	.dwtag  DW_TAG_subprogram, DW_AT_name("UART_GetNum"), DW_AT_symbol_name("_UART_GetNum")
	.dwattr DW$12, DW_AT_type(*DW$T$10)
	.dwattr DW$12, DW_AT_declaration(0x01)
	.dwattr DW$12, DW_AT_external(0x01)
DW$13	.dwtag  DW_TAG_formal_parameter, DW_AT_type(*DW$T$10)
	.dwendtag DW$12

;	C:\CCStudio_v3.3\tms470\cgtools\bin\acp470.exe -@C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\TI09612 
	.sect	".text"
	.align	4
	.clink
	.armfunc _SetRTC
	.state32
	.global	_SetRTC

DW$14	.dwtag  DW_TAG_subprogram, DW_AT_name("SetRTC"), DW_AT_symbol_name("_SetRTC")
	.dwattr DW$14, DW_AT_low_pc(_SetRTC)
	.dwattr DW$14, DW_AT_high_pc(0x00)
	.dwattr DW$14, DW_AT_begin_file("RTC.c")
	.dwattr DW$14, DW_AT_begin_line(0x12)
	.dwattr DW$14, DW_AT_begin_column(0x07)
	.dwpsn	"RTC.c",19,2

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: SetRTC                                                     *
;*                                                                           *
;*   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 + 20 Auto + 4 Save = 24 byte                 *
;*****************************************************************************
_SetRTC:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
        SUB       SP, SP, #20
	.dwcfa	0x0e, 24
DW$15	.dwtag  DW_TAG_variable, DW_AT_name("hour"), DW_AT_symbol_name("_hour")
	.dwattr DW$15, DW_AT_type(*DW$T$10)
	.dwattr DW$15, DW_AT_location[DW_OP_breg13 0]
DW$16	.dwtag  DW_TAG_variable, DW_AT_name("minute"), DW_AT_symbol_name("_minute")
	.dwattr DW$16, DW_AT_type(*DW$T$10)
	.dwattr DW$16, DW_AT_location[DW_OP_breg13 4]
DW$17	.dwtag  DW_TAG_variable, DW_AT_name("second"), DW_AT_symbol_name("_second")
	.dwattr DW$17, DW_AT_type(*DW$T$10)
	.dwattr DW$17, DW_AT_location[DW_OP_breg13 8]
DW$18	.dwtag  DW_TAG_variable, DW_AT_name("temp1"), DW_AT_symbol_name("_temp1")
	.dwattr DW$18, DW_AT_type(*DW$T$10)
	.dwattr DW$18, DW_AT_location[DW_OP_breg13 12]
DW$19	.dwtag  DW_TAG_variable, DW_AT_name("temp2"), DW_AT_symbol_name("_temp2")
	.dwattr DW$19, DW_AT_type(*DW$T$10)
	.dwattr DW$19, DW_AT_location[DW_OP_breg13 16]
	.dwpsn	"RTC.c",22,3
        ADR       A2, SL1               ; |22| 
        MOV       A1, #1                ; |22| 
        BL        _UART_Printf          ; |22| 
        ; |22| 
	.dwpsn	"RTC.c",23,3
        MOV       A1, #1                ; |23| 
        BL        _UART_GetNum          ; |23| 
        ; |23| 
        STR       A1, [SP, #0]          ; |23| 
	.dwpsn	"RTC.c",24,3
        MOV       A1, #1                ; |24| 
        ADR       A2, SL2               ; |24| 
        BL        _UART_Printf          ; |24| 
        ; |24| 
	.dwpsn	"RTC.c",25,3
        MOV       A1, #1                ; |25| 
        BL        _UART_GetNum          ; |25| 
        ; |25| 
        STR       A1, [SP, #4]          ; |25| 
	.dwpsn	"RTC.c",26,3
        MOV       A1, #1                ; |26| 
        ADR       A2, SL3               ; |26| 
        BL        _UART_Printf          ; |26| 
        ; |26| 
	.dwpsn	"RTC.c",27,3
        MOV       A1, #1                ; |27| 
        BL        _UART_GetNum          ; |27| 
        ; |27| 
        STR       A1, [SP, #8]          ; |27| 
	.dwpsn	"RTC.c",29,3
        MOV       A1, #1                ; |29| 
        BL        _MSI2C_AccessPage     ; |29| 
        ; |29| 
	.dwpsn	"RTC.c",31,3
        LDR       A1, [SP, #0]          ; |31| 
        MOV       A2, #10               ; |31| 
        BL        I_DIV                 ; |31| 
        ; |31| 
        STR       A2, [SP, #12]         ; |31| 
	.dwpsn	"RTC.c",32,3
        LDR       V9, [SP, #12]         ; |32| 
        MOV       A1, V9, LSL #3        ; |32| 
        ADD       V9, A1, V9, LSL #1    ; |32| 
        LDR       A1, [SP, #0]          ; |32| 
        SUB       V9, A1, V9            ; |32| 
        STR       V9, [SP, #16]         ; |32| 
	.dwpsn	"RTC.c",33,3
        LDR       A1, [SP, #16]         ; |33| 
        LDR       V9, [SP, #12]         ; |33| 
        ORR       V9, A1, V9, LSL #4    ; |33| 
        MOV       A1, #2                ; |33| 
        AND       A2, V9, #255
        BL        _MSI2C_MasterPollingSendAbb ; |33| 
        ; |33| 
	.dwpsn	"RTC.c",35,3
        MOV       A2, #10               ; |35| 
        LDR       A1, [SP, #4]          ; |35| 
        BL        I_DIV                 ; |35| 
        ; |35| 
        STR       A2, [SP, #12]         ; |35| 
	.dwpsn	"RTC.c",36,3
        LDR       V9, [SP, #12]         ; |36| 
        MOV       A1, V9, LSL #3        ; |36| 
        ADD       V9, A1, V9, LSL #1    ; |36| 
        LDR       A1, [SP, #4]          ; |36| 
        SUB       V9, A1, V9            ; |36| 
        STR       V9, [SP, #16]         ; |36| 
	.dwpsn	"RTC.c",37,3
        LDR       A1, [SP, #16]         ; |37| 
        LDR       V9, [SP, #12]         ; |37| 
        ORR       V9, A1, V9, LSL #4    ; |37| 
        MOV       A1, #1                ; |37| 
        AND       A2, V9, #255
        BL        _MSI2C_MasterPollingSendAbb ; |37| 
        ; |37| 
;* --------------------------------------------------------------------------*
	.dwpsn	"RTC.c",40,3
        LDR       A1, [SP, #8]          ; |40| 
        MOV       A2, #10               ; |40| 
        BL        I_DIV                 ; |40| 
        ; |40| 
        STR       A2, [SP, #12]         ; |40| 
	.dwpsn	"RTC.c",41,3
        LDR       V9, [SP, #12]         ; |41| 
        MOV       A1, V9, LSL #3        ; |41| 
        ADD       V9, A1, V9, LSL #1    ; |41| 
        LDR       A1, [SP, #8]          ; |41| 
        SUB       V9, A1, V9            ; |41| 
        STR       V9, [SP, #16]         ; |41| 
	.dwpsn	"RTC.c",42,3
        LDR       A1, [SP, #16]         ; |42| 
        LDR       V9, [SP, #12]         ; |42| 
        ORR       V9, A1, V9, LSL #4    ; |42| 
        MOV       A1, #0                ; |42| 
        AND       A2, V9, #255
        BL        _MSI2C_MasterPollingSendAbb ; |42| 
        ; |42| 
	.dwpsn	"RTC.c",44,2
nop
	.dwpsn	"RTC.c",47,3
        MOV       A2, #7                ; |47| 
        MOV       A1, #16               ; |47| 
        BL        _MSI2C_MasterPollingSendAbb ; |47| 
        ; |47| 
	.dwpsn	"RTC.c",55,3
        ADD       SP, SP, #20
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$14, DW_AT_end_file("RTC.c")
	.dwattr DW$14, DW_AT_end_line(0x37)
	.dwattr DW$14, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$14

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

DW$20	.dwtag  DW_TAG_subprogram, DW_AT_name("ClearRTC"), DW_AT_symbol_name("_ClearRTC")
	.dwattr DW$20, DW_AT_low_pc(_ClearRTC)
	.dwattr DW$20, DW_AT_high_pc(0x00)
	.dwattr DW$20, DW_AT_begin_file("RTC.c")
	.dwattr DW$20, DW_AT_begin_line(0x41)
	.dwattr DW$20, DW_AT_begin_column(0x07)
	.dwpsn	"RTC.c",66,2

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: ClearRTC                                                   *
;*                                                                           *
;*   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 + 0 Auto + 4 Save = 4 byte                   *
;*****************************************************************************
_ClearRTC:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
	.dwcfa	0x0e, 4
	.dwpsn	"RTC.c",67,3
        MOV       A1, #1                ; |67| 
        BL        _MSI2C_AccessPage     ; |67| 
        ; |67| 
	.dwpsn	"RTC.c",68,3
        MOV       A2, #0                ; |68| 
        MOV       A1, #16               ; |68| 
        BL        _MSI2C_MasterPollingSendAbb ; |68| 
        ; |68| 
	.dwpsn	"RTC.c",69,3
        MOV       A2, #0                ; |69| 
        MOV       A1, #2                ; |69| 
        BL        _MSI2C_MasterPollingSendAbb ; |69| 
        ; |69| 
	.dwpsn	"RTC.c",70,3
        MOV       A2, #0                ; |70| 
        MOV       A1, #1                ; |70| 
        BL        _MSI2C_MasterPollingSendAbb ; |70| 
        ; |70| 
	.dwpsn	"RTC.c",71,3
        MOV       A2, #0                ; |71| 
        MOV       A1, #0                ; |71| 
        BL        _MSI2C_MasterPollingSendAbb ; |71| 
        ; |71| 
	.dwpsn	"RTC.c",72,3
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$20, DW_AT_end_file("RTC.c")
	.dwattr DW$20, DW_AT_end_line(0x48)
	.dwattr DW$20, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$20

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

DW$21	.dwtag  DW_TAG_subprogram, DW_AT_name("ReadRTC"), DW_AT_symbol_name("_ReadRTC")
	.dwattr DW$21, DW_AT_low_pc(_ReadRTC)
	.dwattr DW$21, DW_AT_high_pc(0x00)
	.dwattr DW$21, DW_AT_begin_file("RTC.c")
	.dwattr DW$21, DW_AT_begin_line(0x55)
	.dwattr DW$21, DW_AT_begin_column(0x07)
	.dwpsn	"RTC.c",86,2

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: ReadRTC                                                    *
;*                                                                           *
;*   Regs Modified     : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Regs Used         : A1,A2,A3,A4,V9,SP,LR,SR                             *
;*   Local Frame Size  : 4 Args + 16 Auto + 4 Save = 24 byte                 *
;*****************************************************************************
_ReadRTC:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
        SUB       SP, SP, #20
	.dwcfa	0x0e, 24
DW$22	.dwtag  DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
	.dwattr DW$22, DW_AT_type(*DW$T$10)
	.dwattr DW$22, DW_AT_location[DW_OP_breg13 4]
DW$23	.dwtag  DW_TAG_variable, DW_AT_name("hour"), DW_AT_symbol_name("_hour")
	.dwattr DW$23, DW_AT_type(*DW$T$10)
	.dwattr DW$23, DW_AT_location[DW_OP_breg13 8]
DW$24	.dwtag  DW_TAG_variable, DW_AT_name("minute"), DW_AT_symbol_name("_minute")
	.dwattr DW$24, DW_AT_type(*DW$T$10)
	.dwattr DW$24, DW_AT_location[DW_OP_breg13 12]
DW$25	.dwtag  DW_TAG_variable, DW_AT_name("second"), DW_AT_symbol_name("_second")
	.dwattr DW$25, DW_AT_type(*DW$T$10)
	.dwattr DW$25, DW_AT_location[DW_OP_breg13 16]
	.dwpsn	"RTC.c",89,3
        MOV       A1, #1                ; |89| 
        BL        _MSI2C_AccessPage     ; |89| 
        ; |89| 
	.dwpsn	"RTC.c",91,3
        MOV       A1, #2                ; |91| 
        BL        _MSI2C_MasterPollingReceiveAbb ; |91| 
        ; |91| 
        STR       A1, [SP, #8]          ; |91| 
	.dwpsn	"RTC.c",92,3
        MOV       A1, #1                ; |92| 
        BL        _MSI2C_MasterPollingReceiveAbb ; |92| 
        ; |92| 
        STR       A1, [SP, #12]         ; |92| 
	.dwpsn	"RTC.c",93,3
        MOV       A1, #0                ; |93| 
        BL        _MSI2C_MasterPollingReceiveAbb ; |93| 
        ; |93| 
        STR       A1, [SP, #16]         ; |93| 
	.dwpsn	"RTC.c",98,3
        LDR       V9, [SP, #8]          ; |98| 
        MOV       V9, V9, ASR #4        ; |98| 
        AND       V9, V9, #3            ; |98| 
        MOV       A1, V9, LSL #3        ; |98| 
        ADD       V9, A1, V9, LSL #1    ; |98| 
        LDR       A1, [SP, #8]          ; |98| 
        AND       A1, A1, #15           ; |98| 
        ADD       V9, A1, V9            ; |98| 
        STR       V9, [SP, #8]          ; |98| 
	.dwpsn	"RTC.c",99,3
        LDR       V9, [SP, #12]         ; |99| 
        MOV       V9, V9, ASR #4        ; |99| 

⌨️ 快捷键说明

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