예제 #1
0
        internal void initHeapMemory(uint @startHeapMemory)
        {
            var mem = MRT.Ram.Stream;
            var c   = MRT.Registers["esi"];

            mem.Stream.Seek(c);
            mem.Stream.push(ObjectsMap.Serialize(@startHeapMemory, ushort.MaxValue, ushort.MaxValue), 64);
        }
예제 #2
0
        internal void destVar()
        {
            var mem = MRT.Ram.Stream;
            var c   = MRT.Registers["esi"] -= 8;

            mem.Stream.Seek(c);
            mem.Stream.push(ObjectsMap.Serialize(0, 0, 0), 64);
        }
예제 #3
0
        internal uint newVar(ushort size)
        {
            var mem = MRT.Ram.Stream;
            var c   = MRT.Registers["esi"];

            mem.Seek(c - 8);
            uint addr = (uint)mem.read(32) + (uint)mem.read(16);

            mem.Stream.Seek(c);
            mem.Stream.push(ObjectsMap.Serialize(addr, size, 0), 64);
            MRT.Registers["esi"] += 8;
            var q = @"{
                    
                }";

            return(addr);
        }