0.前言
既然学C/C++,不了解一下嵌入式有点不合适,了解嵌入式之前看了一点汇编,那些寄存器太特么有意思了。讲真的,硬件确实比软件要复杂一些。
对了,先推荐一首歌,《New Boy》——房东的猫,去年考研那段时间经常听,莫名让我心情激动,就喜欢在我房间里戴着耳机,喝着小酒,放着这首歌,很放松。年轻人,要积极阳光,奥利给了,伙计们。
1.PC
pc,程序计数器,顾名思义,统计程序的数量呗。nonono,程序计数器(PC)的功能是用于存放指令的地址。程序执行时,PC的初值为程序第一条指令的地址,在顺序执行程序时,控制器首先按程序计数器所指出的指令地址从内存中取出一条指令,然后分析和执行该指令,同时将PC的值加1指向下一条要执行的指令。这是度娘说的。挺抽象的,我用代码演示就很容易懂了。环境是keil4,选的处理器是三星S3C2410A,ARM32位的。
.text
.global _start
_start:
ldr r0,=0x12345678
mov r1,#1
.end
给R0赋值0x12345678,给R1赋值1,然后我们编译,看下Debug。
初始时,PC是等于0的