📄 detect_arm.s
字号:
@*****************************************************************************
@*
@* This program is free software ; you can redistribute it and/or modify
@* it under the terms of the GNU General Public License as published by
@* the Free Software Foundation; either version 2 of the License, or
@* (at your option) any later version.
@*
@* This program is distributed in the hope that it will be useful,
@* but WITHOUT ANY WARRANTY; without even the implied warranty of
@* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@* GNU General Public License for more details.
@*
@* You should have received a copy of the GNU General Public License
@* along with this program; if not, write to the Free Software
@* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
@*
@* $Id: platform_arm.asm 30 2004-09-03 06:20:16Z picard $
@*
@* BetaPlayer Core
@* Copyright (c) 2004 Gabor Kovacs
@*
@*****************************************************************************
.global GetCpuId
.global GetCPAR
.global CPUSpeedClk
.global CPUSpeedClkEnd
.global FlushCache
GetCpuId:
mrs r0,cpsr
and r0,r0,#15
cmp r0,#15
bne UserMode
mrc p15,0,r0,c0,c0,0
nop
nop
mrc p15,0,r2,c0,c0,1
nop
nop
str r0,[r1,#0]
str r2,[r1,#4]
UserMode:
mov pc,lr
GetCPAR:
mov r0,#0
mrs r1,cpsr
and r1,r1,#15
cmp r1,#15
bne UserMode2
mrc p15,0,r0,c15,c1,0
nop
nop
UserMode2:
mov pc,lr
.macro speed10
add r3,r3,#1
add r3,r3,#1
add r3,r3,#1
add r3,r3,#1
add r3,r3,#1
add r3,r3,#1
add r3,r3,#1
add r3,r3,#1
add r3,r3,#1
add r3,r3,#1
.endm
CPUSpeedClk:
mov r2,r0
mov r1,#3+100
mul r0,r2,r1
mov r1,#0
CPULoop:
speed10
speed10
speed10
speed10
speed10
speed10
speed10
speed10
speed10
speed10
subs r2,r2,#1
bgt CPULoop
mov pc,lr
CPUSpeedClkEnd:
.macro nop64
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
ldr r0,[pc]
.endm
.macro nop1024
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
nop64
.endm
.macro nop16384
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
nop1024
.endm
FlushCache:
nop16384
nop16384
nop
mov pc,lr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -