wangzh 发表于 2015-3-2 21:12:59

ARM一个内存地址存放多大的数据

突然想不通,在一个内存的地址上能存放多大的数据,为什么看到有的寄存器地址正好隔着4呢!(比如50000000下一个就是50000004)

wangzh 发表于 2015-3-2 21:17:00

一个地址只能存放一个字节,因为这个寄存器是32位的,占四个字节,所以隔着4,是这样的吧?

grj0719 发表于 2015-3-2 21:21:48

二楼自己说的对

wangzh 发表于 2015-3-2 21:22:27

grj0719 发表于 2015-3-2 21:21
二楼自己说的对

嗯嗯{:biggrin:}

dzrs0620 发表于 2015-3-2 23:06:18

因为ARM是32位的寄存器,相邻寄存器自然就隔着4个字节啦……

DM_2014 发表于 2015-3-2 23:55:01

楼主是来自娱自乐的啊{:sweat:}

yulutong 发表于 2015-3-3 07:54:24

wangzh 发表于 2015-3-2 21:17
一个地址只能存放一个字节,因为这个寄存器是32位的,占四个字节,所以隔着4,是这样的吧? ...

一个地址放一个字节的说法是错误的,
应该和数据总线相关,8位机是一个字节,32位机是4个字节。

zichongde 发表于 2015-3-3 08:14:24

看来自问自答能够提高分析问题的效率呀,哈哈

apple_eat 发表于 2015-3-3 08:36:03

CPU是32位的,一次取数据是4个字节.

wangzh 发表于 2015-3-3 09:42:37

yulutong 发表于 2015-3-3 07:54
一个地址放一个字节的说法是错误的,
应该和数据总线相关,8位机是一个字节,32位机是4个字节。 ...

哦哦,更明白点了

wangzh 发表于 2015-3-3 09:43:40

DM_2014 发表于 2015-3-2 23:55
楼主是来自娱自乐的啊

不是,是发完了,又搜着了{:biggrin:}

tanek 发表于 2015-3-3 10:00:06

32位系统4字节对齐

tanek 发表于 2015-3-3 10:00:24

边界对齐。。。。

zjlizy3344 发表于 2015-3-3 12:23:12

yulutong 发表于 2015-3-3 07:54
一个地址放一个字节的说法是错误的,
应该和数据总线相关,8位机是一个字节,32位机是4个字节。 ...

说的没错{:smile:}

tangbo_designer 发表于 2015-3-4 09:17:23

想想就知道了

steaven2000 发表于 2015-3-4 17:44:56

duang~duang~

cht-rtos 发表于 2015-3-5 07:50:59

可以很大很大,一个内存地址,含义嗷嗷丰富,一个数组是一个内存地址,一个结构体是一个内存地址,一个函数是一个内存地址

hwh1328 发表于 2015-3-20 19:39:16

因为ARM的内核是32位的,地址总线也是32位的,所以步进就是32位

刀锋硬汉 发表于 2015-3-20 19:49:37

32bit等于4byte。

刀锋硬汉 发表于 2015-3-20 19:50:21

一个字等于32bit等于4byte

mcu5i51 发表于 2015-3-20 21:38:09

一个地址是可以有多个字节的,和芯片的总线有关,ARM为了兼容8位指令数据,才有了这种对齐的特性;
页: [1]
查看完整版本: ARM一个内存地址存放多大的数据