public Branch execute(Processor cpu) { int selector = op1.get16(cpu) & 0xffff; if (selector == 0) { cpu.ldtr = SegmentFactory.NULL_SEGMENT; } else { Segment newSegment = cpu.getSegment(selector & ~0x4); if (newSegment.getType() != 0x02) throw new ProcessorException(ProcessorException.Type.GENERAL_PROTECTION, selector, true); if (!(newSegment.isPresent())) throw new ProcessorException(ProcessorException.Type.GENERAL_PROTECTION, selector, true); cpu.ldtr = newSegment; } return Branch.None; }