内存地址和内存空间

在操作寄存器时,遇到概念上的理解问题。混淆了内存地址与内存空间

 

 首先,读懂指令

 ldr    r0,=0x11000c40

  //0x11000c40是寄存器GPX2CON的地址,将这个地址写入r0寄存器的空间

  ldr    r1,[r0]

  //将r0空间的地址所指向的4字节数据,读入r1的内存空间,即r1储存了0x11000c40地址所指向的四字节空间数据

  bic    r1,#0xf0000000

  //将那四字节数据的高四位清零,即[31:28]->0000

  orr    r1,0x10000000

  //[31:28] :0000 --->  0001

  str    r1,[r0]

  //将r1里的数据存入r0存放的地址0x11000c40所指向的空间中

由上,可以知道内存地址只是一个编号,代表一个内存空间,就像你家的门牌号一样,通过地址可以访问到所指向的内存。那么这个内存空间是多大呢。在计算机中,存储器的容量是以字节为基本单位,每个字节都有一个地址,每四个字节即32位的内存空间为一个单元。

猜你喜欢

转载自www.cnblogs.com/y4247464/p/12286902.html
今日推荐