如果你想仿真,可以用arm的压栈出栈指令,直接用汇编写。
这里有段gcc的代码,跑完cpu会跑飞,只是告诉你可以出burst。
void cpu_burst (unsigned int addr)
{
asm (
"mov sp,r0 \n\t"
"mov r1,#0x1 \n\t"
"mov r2,#0x2 \n\t"
"mov r3,#0x3 \n\t"
"mov r4,#0x4 \n\t"
"stmia sp!,{r1-r4} \n\t"
"mov r1,#0x00 \n\t"
"mov r2,#0x00 \n\t"
"mov r3,#0x00 \n\t"
"mov r4,#0x00 \n\t"
"ldmdb sp!,{r1-r4} \n\t"
);
} |