MCS51 可以PUSH/POP什么?

我们不难找到:

堆栈操作指令

1.PUSH direct ;直接寻址,(SP)+1→SP,(direct)→(SP)
2.POP direct ;直接寻址,((SP))→direct,(SP)-1=SP
来源

那其中的 direct 包含什么呢?

direct——内部RAM中的8位地址(包括内部RAM低128单元地址(00H-80H)和专用寄存器单元地址)(来源同上)

其中专用寄存器又可称为内部寄存器
注意这里强调8位地址,也就是说专用寄存器单元的内容也得是8位的。

  • 为什么要求8位?
    因为sp指针只能+1或-1。一个不同的sp指向不同的字节即8位

内部寄存器有下面图片中的这些,注意只能PUSH/POP 内容是8位的内部寄存器
也就是说你可以PUSH IP 但不可以PUSH PC
还需特别强调的一点是ACCA不一样!
你可PUSH ACC 但不可以 PUSH A

ACC是累加器的地址(E0H)【直接寻址】,A表示了累加器中的内容【寄存器寻址(来源

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42378324/article/details/108662758