コード例 #1
0
        public void SetUsed(x86StackLocation Pos)
        {
            var New = Pos.Offset + Pos.Size;

            if (StackOffset < New)
            {
                StackOffset = New;
            }
        }
コード例 #2
0
        public x86StackLocation GetStackPosition(FunctionScope Scope, int Size, int Align = 1)
        {
            AlignStack(Math.Max(Options.Align, Align));
            var Ret = new x86StackLocation(Arch, Scope, StackOffset, Size, true);

            StackOffset += Size;
            AlignStack(Options.Align);

            if (StoredDataList != null && StoredDataList.StackOffset < StackOffset)
            {
                StoredDataList.StackOffset = StackOffset;
            }

            return(Ret);
        }
コード例 #3
0
 public void SetUnused(x86StackLocation Pos)
 {
     StackOffset -= Pos.StackOffset;
 }