89c51的通用寄存器组是对应内存的,即在内存中分配地址,那么ARM9的呢?来源:s3c2440a" target="_blank">http://zhidao.baidu.com/link?url=Nf9NDaITEiA4Gc9q6Y4dP3ytxLJPwBjvRhizxtP0hUu6sQaNqUFqPnS7KEfvfjpIJBlzFKFzq-rBNYXSGx1-vas3c2440a通用寄存器地址:例如R0,R1,R2之类的通用寄存器对应内存的地址???这么说,在C编程中,就不存在所谓的R1、R2之类的通用寄存器了??
R0,R1,R2是寄存器,在cpu内部,用于计算和存储访问、存放临时数据、以及一些cpu或程序运行的状态,是不直接对应内存的,所以也就没有具体的地址可言。直接书写寄存器名称就可以了。 C中是不会直接引用这些寄存器的,只有在汇编中会使用.
来源:http://zhidao.baidu.com/link?url=6M6t-DA_bknr8NhFyymq3_iUorcdcmT9wqf_-wS1oYnU5ynBchkqP9hcPwvY7pfPG52mU5nAMQ2J4lzqId_SBcL_Gx08Zycsrp0BAStndxm
请问通用寄存器的物理地址在哪里,比如我看到三星2410芯片,他的sfr在0x4800 0000——0x600 0000中,那么通用寄存器r0-r14的地址又在哪里,请给出答案,最好能详细解释一下,谢谢!本人菜鸟,请尽量详细,请不要回答,去看某某资料,我在datasheet上了没找到,请将具体内容复制过来回答,谢谢
像这样存在CPU内部的寄存器我们是不知道他们的地址的,平常我们说的地址都是说内存地址,更有说法是这种寄存器是没有地址的!他们的访问不是通过地址去访问的,直接通过汇编指令中的寄存器名访问的!所以你datasheet肯定是找不到的!datasheet上面能找到的是memory address,比如32位地址线的会有一个4G的空间,这样的内存是通过地址线去访问,而在CPU内部的寄存器是不通过地址线去访问的!
评论