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

📄 rtc.asm

📁 OMAP1030 处理器的ARM 侧硬件测试代码 OMAP1030 是TI的双核处理器
💻 ASM
📖 第 1 页 / 共 4 页
字号:
        AND       V9, V9, #7            ; |99| 
        MOV       A1, V9, LSL #3        ; |99| 
        ADD       V9, A1, V9, LSL #1    ; |99| 
        LDR       A1, [SP, #12]         ; |99| 
        AND       A1, A1, #15           ; |99| 
        ADD       V9, A1, V9            ; |99| 
        STR       V9, [SP, #4]          ; |99| 
	.dwpsn	"RTC.c",101,3
        LDR       V9, [SP, #16]         ; |101| 
        MOV       V9, V9, ASR #4        ; |101| 
        AND       V9, V9, #7            ; |101| 
        MOV       A1, V9, LSL #3        ; |101| 
        ADD       V9, A1, V9, LSL #1    ; |101| 
        LDR       A1, [SP, #16]         ; |101| 
        AND       A1, A1, #15           ; |101| 
        ADD       V9, A1, V9            ; |101| 
        STR       V9, [SP, #16]         ; |101| 
	.dwpsn	"RTC.c",103,3
        LDR       V9, [SP, #16]         ; |103| 
        STR       V9, [SP, #0]          ; |103| 
        MOV       A1, #1                ; |103| 
        ADR       A2, SL4               ; |103| 
        LDR       A3, [SP, #8]          ; |103| 
        LDR       A4, [SP, #4]          ; |103| 
        BL        _UART_Printf          ; |103| 
        ; |103| 
	.dwpsn	"RTC.c",105,3
        ADD       SP, SP, #20
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$21, DW_AT_end_file("RTC.c")
	.dwattr DW$21, DW_AT_end_line(0x69)
	.dwattr DW$21, DW_AT_end_column(0x03)
	.dwendentry
	.dwendtag DW$21

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

DW$26	.dwtag  DW_TAG_subprogram, DW_AT_name("Alarm_Test"), DW_AT_symbol_name("_Alarm_Test")
	.dwattr DW$26, DW_AT_low_pc(_Alarm_Test)
	.dwattr DW$26, DW_AT_high_pc(0x00)
	.dwattr DW$26, DW_AT_begin_file("RTC.c")
	.dwattr DW$26, DW_AT_begin_line(0x72)
	.dwattr DW$26, DW_AT_begin_column(0x07)
	.dwpsn	"RTC.c",115,2

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: Alarm_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 + 24 Auto + 4 Save = 28 byte                 *
;*****************************************************************************
_Alarm_Test:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
        SUB       SP, SP, #24
	.dwcfa	0x0e, 28
DW$27	.dwtag  DW_TAG_variable, DW_AT_name("hour"), DW_AT_symbol_name("_hour")
	.dwattr DW$27, DW_AT_type(*DW$T$10)
	.dwattr DW$27, DW_AT_location[DW_OP_breg13 0]
DW$28	.dwtag  DW_TAG_variable, DW_AT_name("minute"), DW_AT_symbol_name("_minute")
	.dwattr DW$28, DW_AT_type(*DW$T$10)
	.dwattr DW$28, DW_AT_location[DW_OP_breg13 4]
DW$29	.dwtag  DW_TAG_variable, DW_AT_name("second"), DW_AT_symbol_name("_second")
	.dwattr DW$29, DW_AT_type(*DW$T$10)
	.dwattr DW$29, DW_AT_location[DW_OP_breg13 8]
DW$30	.dwtag  DW_TAG_variable, DW_AT_name("temp1"), DW_AT_symbol_name("_temp1")
	.dwattr DW$30, DW_AT_type(*DW$T$10)
	.dwattr DW$30, DW_AT_location[DW_OP_breg13 12]
DW$31	.dwtag  DW_TAG_variable, DW_AT_name("temp2"), DW_AT_symbol_name("_temp2")
	.dwattr DW$31, DW_AT_type(*DW$T$10)
	.dwattr DW$31, DW_AT_location[DW_OP_breg13 16]
DW$32	.dwtag  DW_TAG_variable, DW_AT_name("previous"), DW_AT_symbol_name("_previous")
	.dwattr DW$32, DW_AT_type(*DW$T$10)
	.dwattr DW$32, DW_AT_location[DW_OP_breg13 20]
	.dwpsn	"RTC.c",118,3
        ADR       A2, SL5               ; |118| 
        MOV       A1, #1                ; |118| 
        BL        _UART_Printf          ; |118| 
        ; |118| 
	.dwpsn	"RTC.c",120,3
        ADR       A2, SL1               ; |120| 
        MOV       A1, #1                ; |120| 
        BL        _UART_Printf          ; |120| 
        ; |120| 
	.dwpsn	"RTC.c",121,3
        MOV       A1, #1                ; |121| 
        BL        _UART_GetNum          ; |121| 
        ; |121| 
        STR       A1, [SP, #0]          ; |121| 
	.dwpsn	"RTC.c",122,3
        MOV       A1, #1                ; |122| 
        ADR       A2, SL2               ; |122| 
        BL        _UART_Printf          ; |122| 
        ; |122| 
	.dwpsn	"RTC.c",123,3
        MOV       A1, #1                ; |123| 
        BL        _UART_GetNum          ; |123| 
        ; |123| 
        STR       A1, [SP, #4]          ; |123| 
	.dwpsn	"RTC.c",124,3
        MOV       A1, #1                ; |124| 
        ADR       A2, SL3               ; |124| 
        BL        _UART_Printf          ; |124| 
        ; |124| 
	.dwpsn	"RTC.c",125,3
        MOV       A1, #1                ; |125| 
        BL        _UART_GetNum          ; |125| 
        ; |125| 
        STR       A1, [SP, #8]          ; |125| 
	.dwpsn	"RTC.c",127,3
        MOV       A1, #1                ; |127| 
        BL        _MSI2C_AccessPage     ; |127| 
        ; |127| 
	.dwpsn	"RTC.c",130,3
        LDR       A1, [SP, #0]          ; |130| 
        MOV       A2, #10               ; |130| 
        BL        I_DIV                 ; |130| 
        ; |130| 
        STR       A2, [SP, #12]         ; |130| 
	.dwpsn	"RTC.c",131,3
        LDR       V9, [SP, #12]         ; |131| 
        MOV       A1, V9, LSL #3        ; |131| 
        ADD       V9, A1, V9, LSL #1    ; |131| 
        LDR       A1, [SP, #0]          ; |131| 
        SUB       V9, A1, V9            ; |131| 
        STR       V9, [SP, #16]         ; |131| 
	.dwpsn	"RTC.c",132,3
        LDR       A1, [SP, #16]         ; |132| 
        LDR       V9, [SP, #12]         ; |132| 
        ORR       V9, A1, V9, LSL #4    ; |132| 
        MOV       A1, #10               ; |132| 
        AND       A2, V9, #255
        BL        _MSI2C_MasterPollingSendAbb ; |132| 
        ; |132| 
	.dwpsn	"RTC.c",134,3
        MOV       A2, #10               ; |134| 
        LDR       A1, [SP, #4]          ; |134| 
        BL        I_DIV                 ; |134| 
        ; |134| 
;* --------------------------------------------------------------------------*
        NOP
        STR       A2, [SP, #12]         ; |134| 
	.dwpsn	"RTC.c",135,3
        LDR       V9, [SP, #12]         ; |135| 
        MOV       A1, V9, LSL #3        ; |135| 
        ADD       V9, A1, V9, LSL #1    ; |135| 
        LDR       A1, [SP, #4]          ; |135| 
        SUB       V9, A1, V9            ; |135| 
        STR       V9, [SP, #16]         ; |135| 
	.dwpsn	"RTC.c",136,3
        LDR       A1, [SP, #16]         ; |136| 
        LDR       V9, [SP, #12]         ; |136| 
        ORR       V9, A1, V9, LSL #4    ; |136| 
        AND       A2, V9, #255
        MOV       A1, #9                ; |136| 
        BL        _MSI2C_MasterPollingSendAbb ; |136| 
        ; |136| 
	.dwpsn	"RTC.c",138,3
        LDR       A1, [SP, #8]          ; |138| 
        MOV       A2, #10               ; |138| 
        BL        I_DIV                 ; |138| 
        ; |138| 
        STR       A2, [SP, #12]         ; |138| 
	.dwpsn	"RTC.c",139,3
        LDR       V9, [SP, #12]         ; |139| 
        MOV       A1, V9, LSL #3        ; |139| 
        ADD       V9, A1, V9, LSL #1    ; |139| 
        LDR       A1, [SP, #8]          ; |139| 
        SUB       V9, A1, V9            ; |139| 
        STR       V9, [SP, #16]         ; |139| 
	.dwpsn	"RTC.c",140,3
        LDR       A1, [SP, #16]         ; |140| 
        LDR       V9, [SP, #12]         ; |140| 
        ORR       V9, A1, V9, LSL #4    ; |140| 
        MOV       A1, #8                ; |140| 
        AND       A2, V9, #255
        BL        _MSI2C_MasterPollingSendAbb ; |140| 
        ; |140| 
	.dwpsn	"RTC.c",144,3
        MOV       A1, #18               ; |144| 
        BL        _MSI2C_MasterPollingReceiveAbb ; |144| 
        ; |144| 
        STR       A1, [SP, #20]         ; |144| 
	.dwpsn	"RTC.c",145,3
        LDR       V9, [SP, #20]         ; |145| 
        ORR       V9, V9, #13           ; |145| 
        MOV       A1, #18               ; |145| 
        AND       A2, V9, #255
        BL        _MSI2C_MasterPollingSendAbb ; |145| 
        ; |145| 
	.dwpsn	"RTC.c",147,3
        MOV       A1, #18               ; |147| 
        BL        _MSI2C_MasterPollingReceiveAbb ; |147| 
        ; |147| 
        STR       A1, [SP, #20]         ; |147| 
	.dwpsn	"RTC.c",151,3
        LDR       V9, [SP, #20]         ; |151| 
        MOV       V9, V9, ASR #3        ; |151| 
        MOVS      V9, V9, LSL #31       ; |151| 
        BEQ       L1                    ; |151| 
        ; |151| 
;* --------------------------------------------------------------------------*
	.dwpsn	"RTC.c",153,5
        ADR       A2, SL6               ; |153| 
        MOV       A1, #1                ; |153| 
        BL        _UART_Printf          ; |153| 
        ; |153| 
	.dwpsn	"RTC.c",154,5
;* --------------------------------------------------------------------------*
L1:    
	.dwpsn	"RTC.c",157,2
        ADD       SP, SP, #24
	.dwcfa	0x0e, 4
        LDMFD     SP!, {PC}
	.dwattr DW$26, DW_AT_end_file("RTC.c")
	.dwattr DW$26, DW_AT_end_line(0x9d)
	.dwattr DW$26, DW_AT_end_column(0x02)
	.dwendentry
	.dwendtag DW$26

;******************************************************************************
;* STRINGS                                                                    *
;******************************************************************************
	.sect	".text"
	.align	4
SL1:	.string	"Input the hour value:",13,10,0
	.align	4
SL2:	.string	"Input the minute value:",13,10,0
	.align	4
SL3:	.string	"Input the second value:",13,10,0
	.sect	".text"
	.align	4
	.clink
	.armfunc _Read_Register
	.state32
	.global	_Read_Register

DW$33	.dwtag  DW_TAG_subprogram, DW_AT_name("Read_Register"), DW_AT_symbol_name("_Read_Register")
	.dwattr DW$33, DW_AT_low_pc(_Read_Register)
	.dwattr DW$33, DW_AT_high_pc(0x00)
	.dwattr DW$33, DW_AT_begin_file("RTC.c")
	.dwattr DW$33, DW_AT_begin_line(0xa6)
	.dwattr DW$33, DW_AT_begin_column(0x07)
	.dwpsn	"RTC.c",167,2

	.dwfde DW$CIE

;*****************************************************************************
;* FUNCTION NAME: Read_Register                                              *
;*                                                                           *
;*   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 + 48 Auto + 4 Save = 52 byte                 *
;*****************************************************************************
_Read_Register:
;* --------------------------------------------------------------------------*
	.dwcfa	0x0e, 0
	.dwcfa	0x09, 26, 14
        STMFD     SP!, {LR}
	.dwcfa	0x0e, 4
	.dwcfa	0x80, 14, 1
        SUB       SP, SP, #48
	.dwcfa	0x0e, 52
DW$34	.dwtag  DW_TAG_variable, DW_AT_name("page"), DW_AT_symbol_name("_page")
	.dwattr DW$34, DW_AT_type(*DW$T$10)
	.dwattr DW$34, DW_AT_location[DW_OP_breg13 0]
DW$35	.dwtag  DW_TAG_variable, DW_AT_name("address"), DW_AT_symbol_name("_address")
	.dwattr DW$35, DW_AT_type(*DW$T$10)
	.dwattr DW$35, DW_AT_location[DW_OP_breg13 4]
DW$36	.dwtag  DW_TAG_variable, DW_AT_name("content"), DW_AT_symbol_name("_content")
	.dwattr DW$36, DW_AT_type(*DW$T$10)
	.dwattr DW$36, DW_AT_location[DW_OP_breg13 8]
DW$37	.dwtag  DW_TAG_variable, DW_AT_name("i"), DW_AT_symbol_name("_i")
	.dwattr DW$37, DW_AT_type(*DW$T$10)
	.dwattr DW$37, DW_AT_location[DW_OP_breg13 12]
DW$38	.dwtag  DW_TAG_variable, DW_AT_name("temp"), DW_AT_symbol_name("_temp")
	.dwattr DW$38, DW_AT_type(*DW$T$35)
	.dwattr DW$38, DW_AT_location[DW_OP_breg13 16]
	.dwpsn	"RTC.c",172,3
        ADR       A2, SL7               ; |172| 
        MOV       A1, #1                ; |172| 
        BL        _UART_Printf          ; |172| 
        ; |172| 
	.dwpsn	"RTC.c",173,3
        MOV       A1, #1                ; |173| 
        BL        _UART_GetNum          ; |173| 
        ; |173| 
        STR       A1, [SP, #0]          ; |173| 
	.dwpsn	"RTC.c",176,3
        MOV       A1, #1                ; |176| 
        ADR       A2, SL8               ; |176| 
        BL        _UART_Printf          ; |176| 
        ; |176| 
	.dwpsn	"RTC.c",177,3
        ADR       A2, SL9               ; |177| 
        MOV       A1, #1                ; |177| 
        BL        _UART_Printf          ; |177| 
        ; |177| 
	.dwpsn	"RTC.c",178,3
        MOV       A1, #1                ; |178| 
        BL        _UART_GetNum          ; |178| 
        ; |178| 
        STR       A1, [SP, #4]          ; |178| 
	.dwpsn	"RTC.c",181,3
        LDRB      A1, [SP, #0]          ; |181| 
        BL        _MSI2C_AccessPage     ; |181| 
        ; |181| 
	.dwpsn	"RTC.c",182,3
        LDRB      A1, [SP, #4]          ; |182| 
        BL        _MSI2C_MasterPollingReceiveAbb ; |182| 
        ; |182| 
        STR       A1, [SP, #8]          ; |182| 
	.dwpsn	"RTC.c",184,3
        MOV       A1, #1                ; |184| 
        ADR       A2, SL10              ; |184| 
        BL        _UART_Printf          ; |184| 
        ; |184| 
	.dwpsn	"RTC.c",185,3
        ADR       A2, SL11              ; |185| 
        MOV       A1, #1                ; |185| 
        LDR       A3, [SP, #0]          ; |185| 
        LDR       A4, [SP, #4]          ; |185| 
        BL        _UART_Printf          ; |185| 
        ; |185| 
	.dwpsn	"RTC.c",187,3
        ADR       A2, SL12              ; |187| 
        MOV       A1, #1                ; |187| 
        BL        _UART_Printf          ; |187| 
        ; |187| 
	.dwpsn	"RTC.c",191,7
        MOV       V9, #7                ; |191| 
        STR       V9, [SP, #12]         ; |191| 
	.dwpsn	"RTC.c",191,11
        LDR       V9, [SP, #12]         ; |191| 
        CMP       V9, #0                ; |191| 
        BMI       L3                    ; |191| 
        ; |191| 
;* --------------------------------------------------------------------------*
;*   BEGIN LOOP L2
;*
;*   Loop source line                : 191
;*   Loop closing brace source line  : 196
;*   Known Minimum Trip Count        : 1
;*   Known Maximum Trip Count        : 4294967295
;*   Known Max Trip Count Factor     : 1

⌨️ 快捷键说明

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