示例#1
0
 public void SetValue(Expression dst, Expression value)
 {
     if (dst is Identifier id)
     {
         state.SetValue(id, value);
     }
     else if (dst is SegmentedAccess smem)
     {
         state.SetValueEa(smem.BasePointer, GetValue(smem.EffectiveAddress), value);
     }
     else if (dst is MemoryAccess mem)
     {
         state.SetValueEa(GetValue(mem.EffectiveAddress), value);
     }
 }
示例#2
0
        private void Given_StackString(int stackOffset, string str)
        {
            uint uiAddr      = 0x13;
            var  sp          = m.Register(program.Architecture.StackRegister);
            var  stackAccess = m.IAdd(sp, stackOffset);

            state.SetValueEa(stackAccess, Constant.Word32(uiAddr));
            WriteString32(program, uiAddr, str);
        }