|
主题 : : 棧的空间有多大? [待解决] |
回复[ 16次 ]
点击[ 596次 ] | |
|
|
|
|
[帖 主]
[ 发表时间:2010-05-13 10:25 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-11 21:43 |
书中的例子都是说棧的空间是16个字节,棧可以多大呢? | | |
|
|
|
|
[第1楼]
[ 回复时间:2010-05-14 16:47 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-05-12 13:02 |
|
|
|
|
|
[第2楼]
[ 回复时间:2010-05-17 15:55 ]
[引用]
[回复]
[ top ] | |
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48 |
栈,使我们认为定义的东东。
由于pop push指令的实现,限制了栈最大为64k(因为他们只改变sp,而不改变ss) | | |
|
|
|
|
[第3楼]
[ 回复时间:2010-05-18 16:06 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-01-12 11:05 |
栈,使我们认为定义的东东。
由于pop push指令的实现,限制了栈最大为64k(因为他们只改变sp,而不改变ss)
------------------
回复:感觉只能说栈顶的变化范围最大为:0~FFFFH,也就是64k,不知道栈的空间大小是不是另外的意思? | | |
|
|
|
|
[第4楼]
[ 回复时间:2010-07-21 19:27 ]
[引用]
[回复]
[ top ] | |
荣誉值:8
信誉值:0
注册日期:2010-07-12 08:47 |
FFFF,64k.sp变化的最大范围是0~FFFF。SP是16位寄存器,只能是这么大了。。IP的范围也是0~ffff,64k原因一样。 | | |
|
|
|
|
[第5楼]
[ 回复时间:2010-07-27 16:54 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-24 18:37 |
|
|
|
|
|
[第6楼]
[ 回复时间:2010-07-29 11:34 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-07-23 22:20 |
SP是16位寄存器,2^16=64K了,这个书上都有说明的,好像在第一章里就有讲到 | | |
|
|
|
|
[第7楼]
[ 回复时间:2010-08-27 12:03 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-08-25 18:20 |
|
|
|
|
|
[第8楼]
[ 回复时间:2010-09-01 02:02 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-08-24 22:41 |
|
|
|
|
|
[第9楼]
[ 回复时间:2010-09-01 11:00 ]
[引用]
[回复]
[ top ] | |
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19 |
64kByte or 64kbit ???
------------------
回复:64 KBytes | | |
|
|
|
|
[第10楼]
[ 回复时间:2010-09-09 14:15 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-08-24 22:41 |
再看了一次书:内存单元是字节单元,一个单元放一个字节。
谢谢楼上。 | | |
|
|
|
|
[第11楼]
[ 回复时间:2010-11-09 16:05 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-28 14:05 |
只能改变SP,即是改变偏移地址的大小,所以是64KB | | |
|
|
|
|
[第12楼]
[ 回复时间:2010-11-28 16:44 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:2
注册日期:2010-11-25 22:06 |
这样想,8086是16位的操作系统,SP也是16位的通用寄存器,寻址方式有2^16种,也就是说可以表示的数有2^16个,即0000H~ffffH,大小就是2^16 Byte=2^6 KB=64 KB | | |
|
|
|
|
[第13楼]
[ 回复时间:2010-12-22 09:33 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2009-05-30 21:46 |
堆栈段 数据段。都是段寄存器。每个段都是64K 哥·· | | |
|
|
|
|
[第14楼]
[ 回复时间:2010-12-24 17:28 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2010-12-22 13:18 |
64K=64*1024B,64=2^6,1024=2^10,所以,64K=2^16,16位寄存器。你理解的时候,逆过来理解就明白了。 | | |
|
|
|
|
[第15楼]
[ 回复时间:2011-07-13 18:36 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-07-11 13:17 |
寻址能力是64K,而内容单元是字节单元,这样就是64KB | | |
|
|
|
|
[第16楼]
[ 回复时间:2011-07-13 19:53 ]
[引用]
[回复]
[ top ] | |
荣誉值:0
信誉值:0
注册日期:2011-07-04 18:37 |
要分清楚地址总线和数据总线的区别,地址总线把地址寻找出来,找到的是字节单元,但是在读写的时候是靠数据总线的,也就是说假如数据总线有8根,地址总线为16根,地址总线可以寻找到64K的内存字节单元,但是如果想把这些内存读一遍数据总线得读64K次,写一遍也是一样 | | |