如何解决将数据压入堆栈时,数据量会减少吗?
当我将一些随机数据压入汇编中的堆栈时:
// we are going to duplicate the current Season's programs in to the new season
// cheating for now,pre-made new 1735 in Seasons,current is 1732
var programs = AsDynamic(App.Data["Programs"])
.Where(p => ((List<DynamicEntity>)p.Season).First().EntityId == selectedSeason.EntityId);
// @programs.Count() // 97
foreach(var copy in programs)
{
var fields = new Dictionary<string,object>();
var ent = AsEntity(copy);
foreach(var attr in ent.Attributes)
{
if(attr.Key == "Season")
{
fields.Add(attr.Key,new List<int> { 1735 });
}
else
{
fields.Add(attr.Key,ent.GetBestValue(attr.Key)); // object??
}
}
App.Data.Create("Programs",fields);
}
堆栈是否减少了所推入的字节数?还是每个push 0x6162
push 0x61626364
指令将堆栈减4?
或者说例如我们使用push
说明符来推送数据:
byte
这只会使堆栈减少1个字节或4个字节吗?
我在一些代码片段中也看到了在调用过程/函数之前将堆栈递减12的代码段:
push byte 0x61
对过程/函数的调用也会减少堆栈吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。