89c51的通用寄存器組是對(duì)應(yīng)內(nèi)存的,即在內(nèi)存中分配地址,那么ARM9的呢?來(lái)源:s3c2440a" target="_blank">http://zhidao.baidu.com/link?url=Nf9NDaITEiA4Gc9q6Y4dP3ytxLJPwBjvRhizxtP0hUu6sQaNqUFqPnS7KEfvfjpIJBlzFKFzq-rBNYXSGx1-vas3c2440a通用寄存器地址:例如R0,R1,R2之類的通用寄存器對(duì)應(yīng)內(nèi)存的地址???這么說(shuō),在C編程中,就不存在所謂的R1、R2之類的通用寄存器了??
R0,R1,R2是寄存器,在cpu內(nèi)部,用于計(jì)算和存儲(chǔ)訪問(wèn)、存放臨時(shí)數(shù)據(jù)、以及一些cpu或程序運(yùn)行的狀態(tài),是不直接對(duì)應(yīng)內(nèi)存的,所以也就沒有具體的地址可言。直接書寫寄存器名稱就可以了。 C中是不會(huì)直接引用這些寄存器的,只有在匯編中會(huì)使用.
來(lái)源:http://zhidao.baidu.com/link?url=6M6t-DA_bknr8NhFyymq3_iUorcdcmT9wqf_-wS1oYnU5ynBchkqP9hcPwvY7pfPG52mU5nAMQ2J4lzqId_SBcL_Gx08Zycsrp0BAStndxm
請(qǐng)問(wèn)通用寄存器的物理地址在哪里,比如我看到三星2410芯片,他的sfr在0x4800 0000——0x600 0000中,那么通用寄存器r0-r14的地址又在哪里,請(qǐng)給出答案,最好能詳細(xì)解釋一下,謝謝!本人菜鳥,請(qǐng)盡量詳細(xì),請(qǐng)不要回答,去看某某資料,我在datasheet上了沒找到,請(qǐng)將具體內(nèi)容復(fù)制過(guò)來(lái)回答,謝謝
像這樣存在CPU內(nèi)部的寄存器我們是不知道他們的地址的,平常我們說(shuō)的地址都是說(shuō)內(nèi)存地址,更有說(shuō)法是這種寄存器是沒有地址的!他們的訪問(wèn)不是通過(guò)地址去訪問(wèn)的,直接通過(guò)匯編指令中的寄存器名訪問(wèn)的!所以你datasheet肯定是找不到的!datasheet上面能找到的是memory address,比如32位地址線的會(huì)有一個(gè)4G的空間,這樣的內(nèi)存是通過(guò)地址線去訪問(wèn),而在CPU內(nèi)部的寄存器是不通過(guò)地址線去訪問(wèn)的!
評(píng)論