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

📄 detect_arm.s

📁 betaplayer的源码 tcpmp的老版本
💻 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 + -