单片机中的程序计数器PC是16位的寻址范围是64KB怎么来的呀?不太明白!

单片机中的程序计数器PC是16位的寻址范围是64KB怎么来的呀?不太明白!,第1张

16位二进制,数值的范围是2的16次方,也就是65536。所以PC的寻址范围是65536个字节/65536B。

在计算机中我们定义1k = 2的10次方 = 1024,所以65536B = 64×1024 B = 64kB。

程序计数器PC(program Counter)

程序计数器在物理上是独立的,它不属于特殊内部数据存储器块中。PC是一个16位的计数器,

用于存放一条要执行的指令地址,寻址范围为64kB,PC有自动加1功能,即完成了一条指令的执行后,其内容自动加1。PC本身并没有地址,因而不可寻址,用户无法对它进行读写,但是可以通过转移、调用、返回等指令改变其内容,以控制程序按我们的要求去执行。

复位后为0000H(16位)

数据指针(DPTR)

数据指针为16位寄存器,编程时,既可以按16位寄存器来使用,也可以按两个8位寄存器来使用,即高位字节寄存器DPH和低位字节DPL。

DPTR主要是用来保存16位地址,当对64kB外部数据存储器寻址时,可作为间址寄存器使用,此时,使用如下两条指令:

MOVXA, @DPTR

MOVX@DPTR, A

在访问程序存储器时,DPTR可用来作基址寄存器,采用基址+变址寻址方式访问程序存储器,这条指令常用于读取程序存储器内的表格数据。

MOVCA, @A+@DPTR

复位后为0000H(16位)

存放下一条将要执行的指令地址。单片机的PC是指程序计数器(Program Counter),程序计数器PC用于存放下一条将要执行的指令地址,是一个16位专用寄存器,不能通过MOV指令来 *** 作,对用户来说是不可见的。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11185258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存