misc_arm.c

来自「umon bootloader source code, support mip」· C语言 代码 · 共 40 行

C
40
字号

/*
 * Set the Current Program Status Register.
 * old way assumed argument was in R0:
 *  asm("   msr CPSR_c, r0");
 */
void
putpsr(unsigned long psr)
{
	volatile unsigned register reg;

	reg = psr;
	asm volatile ("msr CPSR_c, %0" : "=r" (reg)); 
}

/*
 * Return the Current Program Status Register.
 * old way assumed return in R0:
 *  asm("   mrs r0, CPSR");
 */
unsigned long
getpsr()
{
	volatile unsigned register reg;
	asm volatile ("mrs %0, CPSR" : "=r" (reg)); 
	return(reg);
}

/* getsp():
 * Return the current stack pointer.
 *  oldway: asm("   mov r0, r13");
 */
unsigned long
getsp()
{
	volatile unsigned register reg;
	asm volatile ("mov %0, r13" : "=r" (reg)); 
	return(reg);
}

⌨️ 快捷键说明

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