永发信息网

微机原理里面的$,单片机里面的sp和pc 有什么区别吗,它们指向的到底是地址最大的那条指令还是最大地址加1

答案:1  悬赏:0  手机版
解决时间 2021-01-27 09:21
微机原理里面的$,单片机里面的sp和pc 有什么区别吗,它们指向的到底是地址最大的那条指令还是最大地址加1
最佳答案
微机原理里面的$有两重意思。第一表示当前地址,如果$出现在程序段,就表示与$同一行的指令地址,如果$出现在数据段中,则表示数据的地址;第二表示字符串的结束符,需要用引号标示,即“$”,例如 string db "abcde$"。
sp是堆栈指针,是指向堆栈数据区的顶端地址,执行一次PUSH、POP指令,sp就会自动增加或减少,使sp始终指向堆栈顶。
pc是程序指针,它指向的是当前正在执行指令的地址单元,pc的值随着指令的执行而变化,一般不会是最大地址值。
希望我的回答能解决你的疑惑。追问请问sp指向的所谓栈顶 里面有没有数据或者程序 我想弄明白的是它指的到底是哪 假设存31H的单元是地址最大的了 那指针指的是31H这个单元 还是存31H这个单元的再上个单元 还有$不是计数器吗?怎么表示地址了追答栈顶里面有数据啊,堆栈指针不会指向程序区的。
sp实际上也就是一个指针而已,它始终是指向栈顶。如果是8088/8086系列,压栈操作sp就减2,同时把要压栈的数据复制到sp所指的两个单元里。这个时候的栈顶因为sp减了2,因此上移了两个单元,sp还是指向新的栈顶。
不太清楚你说的31H单元是地址最大了这句话。8088系列压栈操作是sp向地址小的方向移动。
如果你说31H单元是堆栈段内地址最小的单元(图上看是有效地址EA=0),确实sp从0再减2就会变成0FFFEH了,这样的话就可能会出错了。所以初始化时,sp要给一个合适的值。
$确实是计数器,是汇编程序在汇编源程序时扫描原程序用的计数器,但它实际也就是表示地址。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梅河口市通化江河阳光水暖哪位知道具体地址啊
dobby无人机有时候会不受控制
梅西湖东到高桥怎么做公交车
潘长江女儿潘阳死了吗?死因真相是怎样的
广寒村地址好找么,我有些事要过去
酷冷至尊毁灭者能装多大的CPU散热器?
形方氏的意思是什么啊?知道的请说下!
博雅的眼镜片怎么样,和明月的比呢,
夏夜晴空 天空打闪却没有雷声是怎么回事
卖润滑油要办理什么证件
古城网吧地址在什么地方,我要处理点事
DNF时装属性转换要花多少钱
圩坝村地址有知道的么?有点事想过去
响水宾馆 有服务好点的宾馆吗?什么价格
秃的的意思是什么啊?知道的请说下!
推荐资讯
有没有什么手机软件能隐藏手机应用的
三星2014每次打完电话都显示通话录音以保从那
photoshop中如何将自己的图片添加到图案中,
朱雀踩鲁鲁头的图片
七花社区居委会地址好找么,我有些事要过去
随着我国民主形式的日益发展,公民将有更多的
7如果二年级的8名同学放到三年级去那么二年级
【温控仪接线实物图】交流接触器与温控器的接
《灰姑娘与四骑士》OST插曲都有哪些
张记理发店怎么去啊,我要去那办事
四秀苑科贸有限公司火车票代售点地址有知道的
摩擦力对风向的影响
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?