Beispiel #1
0
        public void JumpToNear(X86Condition condition)
        {
            _jNearCondition = condition;
            _jNearPosition  = _stream.Position;
            _jNearLength    = Assembler.GetJccLength(0);

            _stream.Seek(_jNearLength, SeekOrigin.Current);
        }
Beispiel #2
0
            public Jump(X86Condition condition, Operand jumpLabel, long jumpPosition)
            {
                IsConditional = true;
                Condition     = condition;
                JumpLabel     = jumpLabel;
                JumpTarget    = null;
                JumpPosition  = jumpPosition;

                Offset   = 0;
                InstSize = 0;
            }
Beispiel #3
0
            public Jump(X86Condition condition, BasicBlock target, long jumpPosition)
            {
                IsConditional = true;
                Condition     = condition;
                Target        = target;
                JumpPosition  = jumpPosition;

                RelativeOffset = 0;

                InstSize = 0;
            }
Beispiel #4
0
        public void JumpTo(X86Condition condition, BasicBlock target)
        {
            if (_ptcDisabled)
            {
                _jumps.Add(new Jump(condition, target, _stream.Position));

                WritePadding(ReservedBytesForJump);
            }
            else
            {
                _jumps.Add(new Jump(condition, target, _stream.Position, 6));

                WritePadding(6);
            }
        }
 public void JumpTo(X86Condition condition, BasicBlock target)
 {
     Assembler.Jcc(condition, GetLabel(target));
 }