单片机中,设置堆栈指针SP为57H后发生子程序返回,这时SP变为( )。

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:13:29

55H

子程序的返回,其实,相当于命令:
pop ip
pop cs

栈顶不知道是动一下,还是两下,因为子程序可能没有将CS的值入栈。。而只是把IP的值入栈。。具体多少还是要看CALL 命令的格式,总体来讲,出栈,栈顶向前移动,入栈,栈顶向后。。

满意答案的确不是55H,可能是59H,也可能是5BH

是55h。因为单片机中,在进入子程序时,会先将子程序后的PC地址先压入堆栈保存(2字节),若在子程序退出时,会自动将进入时保存的PC值出栈恢复(两个字节)。所以当SP=57h时子程序返回(即退出子程序),因PC值出栈恢复,故SP=57h-2=55h;

woshixinshou