将数据压入堆栈时,数据量会减少吗?

问题描述

当我将一些随机数据压入汇编中的堆栈时:

    // 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 (将#修改为@)