永发信息网

在汇编语言写单片机的程序的时候,如何知道当前的PC指针是多少?

答案:3  悬赏:0  手机版
解决时间 2021-03-23 03:23
  • 提问者网友:刺鸟
  • 2021-03-22 23:13
在汇编语言写单片机的程序的时候,如何知道当前的PC指针是多少?
最佳答案
  • 五星知识达人网友:患得患失的劫
  • 2021-03-23 00:26
当前PC指针的值,可以通过一定的方法来获得,比如如果使用LCALL指令,那么单片机执行过程是:保护现场,将当前PC压入堆栈,当程序返回时,再弹出该保护的PC,由此,我们就可以获得当前的PC,具体程序如下:
........
LCALL GETPC ;调用一个子程序以获得当前PC值
...........

GETPC:
POP ACC ;取得PC高八位
POP B ;取得PC低八位
PUSH B ;恢复SP
PUSH ACC ;恢复SP
......
RET
全部回答
  • 1楼网友:神鬼未生
  • 2021-03-23 01:07
你写的时候不停-PCPC+能保证PC不错至于寄存器的位置得用rtl级的语言直接打印(PC)才可以
  • 2楼网友:躲不过心动
  • 2021-03-23 00:49
首先,要知道pc值是无法读出来的。

其次,pc值总是指向当前指令地址的。
比如:
0000H MOV A,#00H
.
.
.
0060H MOV A,#1
0062H MOVC A,@A+PC;这里的pc值就是0062h,而TAB地址是0063h,
要查TAB第一个值就必须让pc加一,所以A赋值1。
0063H TAB:DB 7FH,DB .......
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯