. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->第一个程序
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  PSP:程序段前缀的相关问题  [待解决] 回复[ 7次 ]   点击[ 514次 ]  
tbag2011
[帖 主]   [ 发表时间:2011-10-13 14:48 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-09-18 15:25
请问PSP的大小是否可以任意呢?比如说书本上写的是ADD SP,10h  那我可不可以写成ADD sp,04h呢?或者是说一般设置psp的大小为多少合适呢?
hai1222
[第1楼]   [ 回复时间:2011-10-14 12:34 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-10-11 19:38
栈设置只是编程者个人的意愿,CPU不会区分,这个地址具体多少要看你编程的需要,还要考虑出界问题,一般先申请一段栈空间,SP指向栈底,这样不会因出界而导致程序出错
chinatree
[第2楼]   [ 回复时间:2011-10-15 01:41 ]   [引用]   [回复]   [ top ] 
荣誉值:118
信誉值:0
注册日期:2011-07-07 22:59
而且sp与psp不两个不同的东西,别弄混了。
hahajing3998
[第3楼]   [ 回复时间:2011-11-03 20:15 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2009-05-07 06:13
psp和sp貌似就不是一个东西
kawaguchi
[第4楼]   [ 回复时间:2012-01-26 16:11 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:2
注册日期:2007-08-20 03:11
SP的设置要根据编程者的需要而定,你需要多少栈空间就设置多少。
PSP主要保证DOS与应用程序通信,与SP不是一回事。
wang_0523
[第5楼]   [ 回复时间:2012-02-19 16:59 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-12-18 15:47
psp是段前缀,sp是栈顶指针寄存器,psp大小是固定的,但是sp可以根据编程者的意愿来设置。
walykyy
[第6楼]   [ 回复时间:2012-06-13 21:55 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-02-21 22:36
psp占用了256个字节,是段前缀,在CS;IP指令入口之前,入口处SA+10H:0,SA段地址,你可以用10H=256个字节,SA=CS-10H,正好与DS的值相等
wxshehe
[第7楼]   [ 回复时间:2012-12-02 14:11 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2012-11-28 19:08
我嘞个擦 书你都看不清还学啥汇编
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved