单片机的程序计数器PC的构成
他是一个16位的寄存器,那我想知道他是一个单元的还是从0000H到0FFFFH那多单元,因为我在想他要是就一个单元的话如何实现跳转啊?求大神解释下啊!...
他是一个16位的寄存器,那我想知道他是一个单元的还是从0000H到0FFFFH那多单元,因为我在想他要是就一个单元的话如何实现跳转啊? 求大神解释下啊!
展开
2个回答
展开全部
他就是一个单元,只是这个单元装的是地址而已。
给你举个通俗的例子,假设你是一个网吧唯一的网管,任务是负责网吧600号电脑的检查。
你上班开始,就从1号电脑检查,有问题维修,没问题就检查2号,接着是3号。。。。
检查第8号机的时候,8号机主告诉你说 19号机有问题,这个时候,你离开8号机之后,不是去9号,而去19号,19号机处理完之后,19号机主告诉你,113号机有问题,此时,你又去113号机,处理完113号机之后,113号机主没有给你其他机主的信息,那么,你就重新返回9号机去处理,然后是10号机,然后是11号。。。。
这个例子虽然不百分百的符合单片机的工作过程,但是差不多。
这个例子里的 “你”,相当于PC程序计数器,你就是一个人,然后要对付600台机器的问题,所以你所需要的,就是600台机器的编号而已,根据编号跳转,而并不是说你要长得跟600台机器那么大。
同理,PC寄存器就是一个16位的单元,因为是16位,所以,可以容纳的数字是 0---65535一共65536个数字。那么,我把程序空间做成65536个单元,每个单元给一个编号,我只要把编号给PC就可以了,并不需要PC长成那么大。
给你举个通俗的例子,假设你是一个网吧唯一的网管,任务是负责网吧600号电脑的检查。
你上班开始,就从1号电脑检查,有问题维修,没问题就检查2号,接着是3号。。。。
检查第8号机的时候,8号机主告诉你说 19号机有问题,这个时候,你离开8号机之后,不是去9号,而去19号,19号机处理完之后,19号机主告诉你,113号机有问题,此时,你又去113号机,处理完113号机之后,113号机主没有给你其他机主的信息,那么,你就重新返回9号机去处理,然后是10号机,然后是11号。。。。
这个例子虽然不百分百的符合单片机的工作过程,但是差不多。
这个例子里的 “你”,相当于PC程序计数器,你就是一个人,然后要对付600台机器的问题,所以你所需要的,就是600台机器的编号而已,根据编号跳转,而并不是说你要长得跟600台机器那么大。
同理,PC寄存器就是一个16位的单元,因为是16位,所以,可以容纳的数字是 0---65535一共65536个数字。那么,我把程序空间做成65536个单元,每个单元给一个编号,我只要把编号给PC就可以了,并不需要PC长成那么大。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询