51 单片机 汇编 堆栈指针sp的活动范围一般是ram的哪个区域?问题在下面,好的答案一定采纳

1个回答

  • 举个例子:SP的初始化值是07H,SP从08H开始增加.当程序需要压栈操作时,就将程序的PC值压入堆栈,注意PC是两个字节的指令.先压入低字节,在压入高字节;弹出则相反.当此时PC=0102H.又由于,初始化之后SP的值是07H,因此先加1,再压入堆栈.可得到(08h)=02,(09h)=01;同样的弹出则是相反 .

    因此我像你说的“sp的范围是不是应该在数据存储器ram的20h---7fh的地址空间范围之呢?

    ”;应该是完全错误的,SP的范围指的是程序计数器的表示范围,而不是数据存储器的.所以应该为片内000H~FFFH,范围内.如果外接程序存储器的范围话,可以更大.