单片机中的程序计数器PC用来做什么

来源:百度知道 编辑:UC知道 时间:2024/06/25 10:50:52
单片机中的程序计数器PC用来:
A.存放指令 B.存放正在执行的指令地址 C.存放下一条指令地址

D.存放上一条指令地址
选哪个答案??
如果没有C选项,我肯定选B,但PC 计数器不是在每次执行指令后就自动加1存放下一条指令地址吗?所以有点迷惑了,请说出理由好吗?

满意回答的解释错误,pc并不是在本条指令执行完的瞬间加一,而是在取完指令后便加一
ORG 0000H
START:
MOV A,#30H
AJMP MAIN

ORG 0030H
MAIN:
MOVC A,@A+PC //执行完本条指令后,A的值为61H
//若是在执行完本条指令后再加一A的值应该为60H
MOV A,#30H
AJMP MAIN

ORG 0060H
DB 60H,61H,62H,63H
END
此程序已说明问题
所以选C

B,你是逻辑上的错误!指令在执行,PC就是存放正在执行的指令地址.指令执行完了,将要执行下一条指令的瞬间,PC加1,就成了下一条指令地址.马上执行这条指令,PC又变成当前指令地址.来来去去它都是当前指令地址.

好比如,你今年10岁,在你生日的前一天晚上的11:59的最后一微秒的瞬间,你的年龄加一,到了下一秒.就是你生日的0:00,你的年龄是11岁.

那么你自己说,你的年龄是记录你当前年纪的,还是你下一年的年纪的?

答案是C,,是用来存放下一条指令地址的

选b,这是最基本问题