public void Write(Block32 block) { address.Value = block.Current; block.AddBlock(Block); uint padlen = Module.Align((uint)Block.Length, 4) - (uint)Block.Length; if (padlen > 0) block.AddBytes(new byte[padlen]); }
public Val32 GetString(string s) { if (strings.ContainsKey(s)) return strings.Get(s) as Val32; var block = new Block32(); block.AddBytes(Module.EncodeString(s)); var type = Val32.NewB(0, true); var ret = AddData("string_constant", s, type, 2, s.Length, block); strings.Add(s, ret); type.Reference = GetTypeObjectD(Root.GetStruct("string")); return ret; }
public override void Write(Block32 block) { block.AddBytes(data); }
public override void Write(Block32 block) { foreach (ListDictionary ctg in data.Values) foreach (var db in ctg.Values) (db as DataBlock).Write(block); if (IsEmtpy) block.AddBytes(new byte[16]); }
public void Write(Block32 block) { if (address != null) { block.AddByte((byte)(0x05 + (middleBits << 3))); block.AddVal32(address); } else { block.AddBytes(GetCodes()); } }