. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  棧的空间有多大?  [待解决] 回复[ 16次 ]   点击[ 596次 ]  
hbmblg
[帖 主]   [ 发表时间:2010-05-13 10:25 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-11 21:43
书中的例子都是说棧的空间是16个字节,棧可以多大呢?
tomomi
[第1楼]   [ 回复时间:2010-05-14 16:47 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-05-12 13:02
仔细看书吧。
mess
[第2楼]   [ 回复时间:2010-05-17 15:55 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
栈,使我们认为定义的东东。
由于pop push指令的实现,限制了栈最大为64k(因为他们只改变sp,而不改变ss)
yangtsefisher
[第3楼]   [ 回复时间:2010-05-18 16:06 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-01-12 11:05
栈,使我们认为定义的东东。
由于pop push指令的实现,限制了栈最大为64k(因为他们只改变sp,而不改变ss)
------------------
回复:感觉只能说栈顶的变化范围最大为:0~FFFFH,也就是64k,不知道栈的空间大小是不是另外的意思?
liuquanhao7232
[第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原因一样。
computermark
[第5楼]   [ 回复时间:2010-07-27 16:54 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-24 18:37
请问64k是怎么算出来的啊。。。
wenjie
[第6楼]   [ 回复时间:2010-07-29 11:34 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-07-23 22:20
SP是16位寄存器,2^16=64K了,这个书上都有说明的,好像在第一章里就有讲到
iyt
[第7楼]   [ 回复时间:2010-08-27 12:03 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-25 18:20
64K
xshz
[第8楼]   [ 回复时间:2010-09-01 02:02 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-24 22:41
64kByte  or   64kbit  ???
masmaster
[第9楼]   [ 回复时间:2010-09-01 11:00 ]   [引用]   [回复]   [ top ] 
荣誉值:268
信誉值:12
注册日期:2010-06-18 22:19
64kByte  or   64kbit  ???
------------------
回复:64 KBytes
xshz
[第10楼]   [ 回复时间:2010-09-09 14:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-08-24 22:41
再看了一次书:内存单元是字节单元,一个单元放一个字节。
谢谢楼上。
lovelyboy
[第11楼]   [ 回复时间:2010-11-09 16:05 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-28 14:05
只能改变SP,即是改变偏移地址的大小,所以是64KB
s5748035
[第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
xiahe147
[第13楼]   [ 回复时间:2010-12-22 09:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-05-30 21:46
堆栈段 数据段。都是段寄存器。每个段都是64K 哥··
somnuses
[第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位寄存器。你理解的时候,逆过来理解就明白了。
did0602
[第15楼]   [ 回复时间:2011-07-13 18:36 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-07-11 13:17
寻址能力是64K,而内容单元是字节单元,这样就是64KB
qqcrack
[第16楼]   [ 回复时间:2011-07-13 19:53 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2011-07-04 18:37
要分清楚地址总线和数据总线的区别,地址总线把地址寻找出来,找到的是字节单元,但是在读写的时候是靠数据总线的,也就是说假如数据总线有8根,地址总线为16根,地址总线可以寻找到64K的内存字节单元,但是如果想把这些内存读一遍数据总线得读64K次,写一遍也是一样
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved