C/T没有位地址,只能通过字节寻址是什么意思

按字节寻址和按位寻址有什么区別呢 [问题点数:50分,结帖人inrie]

位地址与字节地址是重合得

按位就是直接对一个字节的某一个位操作

按字节,就是直接对一个数操作


字节尋址得到的是1bye(8bis)位寻址得到的只是1bi。51系列单片机对字节和位都有固定的地址:比如下面两条指令

第一条指令是把位地址为020h的那一bi的数送入cΦ第二条指令是把字节地址为020h的那一bye数(8bis)送入a中。

按字节寻址就像在学校让一个班干活按位寻址就是让这个班的班长或某个同学干活。

按字節尋值,以立即數尋值方式來說:

就是吧這一個字節的數送入a寄存器里.

按位來尋值,還是用立即數尋職來說:

第2句就是吧上一步a寄存器的值的苐0位也就是數值"1"送入寄存器c里,即按位尋值.


匿名用户不能发表回复!

51单片机的20H-2FH为位地址区共16个字节,每字节有8位共128位每位有个编号称为位地址,位地址的范围为00H-7FH该区既可位寻址又可字节寻址。例如:MOV C,20H 这里C是进位标志位该指令将位哋址为20H的单元内容送至C;而MOV A,20H 将字节地址为20H的内容送至累加器A。可见20H是位地址还是字节地址要看另一个操作数的类型/*-*/;program

51单片机的20H-2FH为位地址区,共16个字节每字节有8位共128位,每位有个编号称为位地址位地址的范围为00H-7FH。

该区既可位寻址又可字节寻址例如:MOV C,20H 这里C是进位标志位,該指令将位地址为20H的单元内容送至C;而MOV A,20H 将字节地址为20H的内容送至累加器A

可见20H是位地址还是字节地址要看另一个操作数的类型。


内存编制和关于按字寻址和按字節寻址的理解:

在很多书上都看到32位地址线的寻址空间是4G我的理解是32位不就是32bi吗,2^32Bi=4GB/8=0.5GB为什么会是4G呢?这里其实设计到一个概念就是内存编址的问题。

32位地址线的寻址范围为什么是4G

这里的计算方法,默认计算机是【内存地址是以字节为单位的一个内存单元的大小就是1B】

若计算机中内存地址是以字为单位的,4G内存对应的寻址范围是多少?

 所以若以字为寻址单位,则至少需要30跟地址线才能完成对4GB空间嘚编码

综上,计算机中内存地址是以字节为单位的一个内存单元大小就是1KB。

地址总线的位数决定CPU的寻址范围;数据总线的位数决定CPU单佽能交换的信息总量总线的速度决定CPU和外设互换信息的速度。

CPU的位数指的是数据总线的位数而决定最大支持内存的则是地址总线位数。

一般来说数据总线与地址总线的位数是相同的(也有不同的,比喻51单片机)

32位操作系统,其地址总线与数据总线位数均为32若其内存为4G,2^32B=4G则刚好4G内存都可以寻址得到,内存可以充分被利用

我要回帖

更多关于 T/C 的文章

 

随机推荐