Пример #1
0
        private void Given_RegString32(string reg, string str)
        {
            uint uiAddr = 0x13;
            var  r      = program.Architecture.GetRegister(reg);

            state.SetRegister(r, Constant.Word32(uiAddr));
            WriteString32(program, uiAddr, str);
        }
Пример #2
0
        void setState(string regName, ushort val)
        {
            state.SetRegister(
                program.Architecture.GetRegister(regName),
                Constant.Word16(val));

        }
Пример #3
0
        public void BwiX86_WalkX86ServiceCall()
        {
            // Checks to see if a sequence return value (es:bx) trashes the state appropriately.
            BuildTest16(m =>
            {
                m.Int(0x21);

                state.SetRegister(Registers.es, Constant.Word16(0));
                state.SetRegister(Registers.bx, Constant.Word16(0));
                state.SetRegister(Registers.ah, Constant.Word16(0x2F));
            });

            wi.Process();

            Assert.IsFalse(state.GetRegister(Registers.es).IsValid, "should have trashed ES");
            Assert.IsFalse(state.GetRegister(Registers.bx).IsValid, "should have trashed BX");
        }