blob: 9d4c14678c4986459141d83921e3547beccb40c4 [file] [log] [blame] [raw]
'use strict';var $JSCompiler_prototypeAlias$$;
function $IO$$($memory$$) {
function $empty_port_read$$() {
return 255;
}
function $empty_port_write$$() {
}
for (var $memory_size$$ = $memory$$.size, $read_callbacks$$ = Array(65539), $write_callbacks$$ = Array(65539), $i$$1$$ = 0;65539 > $i$$1$$;$i$$1$$++) {
$read_callbacks$$[$i$$1$$] = $empty_port_read$$, $write_callbacks$$[$i$$1$$] = $empty_port_write$$;
}
this.register_read = function $this$register_read$($port_addr$$2$$, $callback$$35$$, $device$$) {
void 0 !== $device$$ && ($callback$$35$$ = $callback$$35$$.bind($device$$));
$read_callbacks$$[$port_addr$$2$$] = $callback$$35$$;
};
this.register_write = function $this$register_write$($port_addr$$3$$, $callback$$36$$, $device$$1$$) {
void 0 !== $device$$1$$ && ($callback$$36$$ = $callback$$36$$.bind($device$$1$$));
$write_callbacks$$[$port_addr$$3$$] = $callback$$36$$;
};
this.mmap_read32_shim = function $this$mmap_read32_shim$($addr$$1$$) {
var $fn$$ = $memory$$.memory_map_read8[$addr$$1$$ >>> 14];
return $fn$$($addr$$1$$) | $fn$$($addr$$1$$ + 1) << 8 | $fn$$($addr$$1$$ + 2) << 16 | $fn$$($addr$$1$$ + 3) << 24;
};
this.mmap_write32_shim = function $this$mmap_write32_shim$($addr$$2$$, $value$$38$$) {
var $fn$$1$$ = $memory$$.memory_map_write8[$addr$$2$$ >>> 14];
$fn$$1$$($addr$$2$$, $value$$38$$ & 255);
$fn$$1$$($addr$$2$$ + 1, $value$$38$$ >> 8 & 255);
$fn$$1$$($addr$$2$$ + 2, $value$$38$$ >> 16 & 255);
$fn$$1$$($addr$$2$$ + 3, $value$$38$$ >>> 24);
};
this.mmap_register = function $this$mmap_register$($addr$$3_aligned_addr$$2$$, $size$$11$$, $read_func8$$, $write_func8$$, $read_func32$$, $write_func32$$) {
$read_func32$$ || ($read_func32$$ = this.mmap_read32_shim.bind(this));
$write_func32$$ || ($write_func32$$ = this.mmap_write32_shim.bind(this));
for ($addr$$3_aligned_addr$$2$$ >>>= 14;0 < $size$$11$$;$addr$$3_aligned_addr$$2$$++) {
$memory$$.memory_map_registered[$addr$$3_aligned_addr$$2$$] = 1, $memory$$.memory_map_read8[$addr$$3_aligned_addr$$2$$] = $read_func8$$, $memory$$.memory_map_write8[$addr$$3_aligned_addr$$2$$] = $write_func8$$, $memory$$.memory_map_read32[$addr$$3_aligned_addr$$2$$] = $read_func32$$, $memory$$.memory_map_write32[$addr$$3_aligned_addr$$2$$] = $write_func32$$, $size$$11$$ -= 16384;
}
};
for ($i$$1$$ = 0;$i$$1$$ << 14 < $memory_size$$;$i$$1$$++) {
$memory$$.memory_map_read8[$i$$1$$] = $memory$$.memory_map_write8[$i$$1$$] = void 0, $memory$$.memory_map_read32[$i$$1$$] = $memory$$.memory_map_write32[$i$$1$$] = void 0;
}
this.mmap_register($memory_size$$, 4294967296 - $memory_size$$, function() {
return 255;
}, function() {
});
this.in_mmap_range = function $this$in_mmap_range$($start$$5$$, $count$$8$$) {
$start$$5$$ >>>= 0;
var $end$$2$$ = $start$$5$$ + ($count$$8$$ >>> 0);
if ($end$$2$$ >= $memory_size$$) {
return!0;
}
for ($start$$5$$ &= -16384;$start$$5$$ < $end$$2$$;) {
if ($memory$$.memory_map_registered[$start$$5$$ >> 14]) {
return!0;
}
$start$$5$$ += 16384;
}
return!1;
};
this.port_write8 = function $this$port_write8$($port_addr$$4$$, $out_byte$$1$$) {
$write_callbacks$$[$port_addr$$4$$]($out_byte$$1$$, $port_addr$$4$$);
};
this.port_write16 = function $this$port_write16$($port_addr$$5$$, $out_byte$$2$$) {
$write_callbacks$$[$port_addr$$5$$]($out_byte$$2$$ & 255, $port_addr$$5$$);
$write_callbacks$$[$port_addr$$5$$ + 1]($out_byte$$2$$ >> 8, $port_addr$$5$$);
};
this.port_write32 = function $this$port_write32$($port_addr$$6$$, $out_byte$$3$$) {
$write_callbacks$$[$port_addr$$6$$]($out_byte$$3$$ & 255, $port_addr$$6$$);
$write_callbacks$$[$port_addr$$6$$ + 1]($out_byte$$3$$ >> 8 & 255, $port_addr$$6$$);
$write_callbacks$$[$port_addr$$6$$ + 2]($out_byte$$3$$ >> 16 & 255, $port_addr$$6$$);
$write_callbacks$$[$port_addr$$6$$ + 3]($out_byte$$3$$ >>> 24, $port_addr$$6$$);
};
this.port_read8 = function $this$port_read8$($port_addr$$7$$) {
return $read_callbacks$$[$port_addr$$7$$]($port_addr$$7$$);
};
this.port_read16 = function $this$port_read16$($port_addr$$8$$) {
return $read_callbacks$$[$port_addr$$8$$]($port_addr$$8$$) | $read_callbacks$$[$port_addr$$8$$ + 1]($port_addr$$8$$) << 8;
};
this.port_read32 = function $this$port_read32$($port_addr$$9$$) {
return $read_callbacks$$[$port_addr$$9$$]($port_addr$$9$$) | $read_callbacks$$[$port_addr$$9$$ + 1]($port_addr$$9$$) << 8 | $read_callbacks$$[$port_addr$$9$$ + 2]($port_addr$$9$$) << 16 | $read_callbacks$$[$port_addr$$9$$ + 3]($port_addr$$9$$) << 24;
};
}
;function $v86$$() {
this.memory_size = 0;
this.segment_is_null = [];
this.segment_offsets = [];
this.segment_limits = [];
this.segment_infos = [];
this.tlb_data = [];
this.tlb_info = [];
this.tlb_info_global = [];
this.protected_mode = !1;
this.gdtr_offset = this.gdtr_size = this.idtr_offset = this.idtr_size = 0;
this.page_fault = !1;
this.page_size_extensions = this.cpl = this.cr4 = this.cr3 = this.cr2 = this.cr0 = 0;
this.stopped = this.running = this.in_hlt = this.address_size_32 = this.operand_size_32 = this.is_32 = !1;
this.devices = {};
this.last_result = this.last_add_result = this.last_op_size = this.last_op2 = this.last_op1 = this.flags_changed = this.flags = this.repeat_string_prefix = this.eip_phys = this.last_virt_eip = 0;
this.regv = this.reg16;
this.reg_vdi = this.reg_vsi = this.reg_vcx = 0;
this.table = [];
this.table0F = [];
this.current_settings = {};
this.paging = !1;
this.timestamp_counter = this.previous_ip = this.instruction_pointer = 0;
this.reg32s = new Int32Array(8);
this.reg32 = new Uint32Array(this.reg32s.buffer);
this.reg16s = new Int16Array(this.reg32s.buffer);
this.reg16 = new Uint16Array(this.reg32s.buffer);
this.reg8s = new Int8Array(this.reg32s.buffer);
this.reg8 = new Uint8Array(this.reg32s.buffer);
this.sreg = new Uint16Array(8);
this.dreg = new Int32Array(8);
this.stack_reg = this.reg16;
this.reg_vbp = this.reg_vsp = 0;
this.memory = null;
this.segment_prefix = -1;
this.last_instr_jump = !1;
this.first_init = !0;
this.next_tick = function $this$next_tick$() {
};
this.fpu = this.io = void 0;
"use strict";
var $debug$$inline_10$$ = {};
this.debug = $debug$$inline_10$$;
$debug$$inline_10$$.step_mode = !1;
$debug$$inline_10$$.ops = {};
$debug$$inline_10$$.show = function $$debug$$inline_10$$$show$($x$$inline_11$$) {
if ("undefined" !== typeof document) {
var $el$$inline_12$$ = document.getElementById("log");
if ($el$$inline_12$$) {
$el$$inline_12$$.textContent += $x$$inline_11$$ + "\n";
$el$$inline_12$$.style.display = "block";
$el$$inline_12$$.scrollTop = 1E9;
return;
}
}
console.log($el$$inline_12$$);
};
$debug$$inline_10$$.init = function $$debug$$inline_10$$$init$() {
};
$debug$$inline_10$$.dump_regs = function dump_regs$$inline_13() {
};
$debug$$inline_10$$.dump_instructions = function dump_instructions$$inline_14() {
};
$debug$$inline_10$$.dump_regs_short = function dump_regs_short$$inline_15() {
};
$debug$$inline_10$$.dump_stack = function dump_stack$$inline_16() {
};
$debug$$inline_10$$.dump_page_directory = function dump_page_directory$$inline_17() {
};
$debug$$inline_10$$.dump_gdt_ldt = function dump_gdt_ldt$$inline_18() {
};
$debug$$inline_10$$.dump_idt = function dump_idt$$inline_19() {
};
$debug$$inline_10$$.get_memory_dump = function get_memory_dump$$inline_20() {
};
$debug$$inline_10$$.memory_hex_dump = function memory_hex_dump$$inline_21() {
};
$debug$$inline_10$$.used_memory_dump = function used_memory_dump$$inline_22() {
};
$debug$$inline_10$$.step = function step$$inline_23() {
};
$debug$$inline_10$$.run_until = function run_until$$inline_24() {
};
$debug$$inline_10$$.debugger = function $$debug$$inline_10$$$debugger$() {
};
$debug$$inline_10$$.unimpl = function $$debug$$inline_10$$$unimpl$($msg$$inline_25_s$$inline_26$$) {
$msg$$inline_25_s$$inline_26$$ = "Unimplemented" + ($msg$$inline_25_s$$inline_26$$ ? ": " + $msg$$inline_25_s$$inline_26$$ : "");
$debug$$inline_10$$.show($msg$$inline_25_s$$inline_26$$);
$debug$$inline_10$$.show("Execution stopped");
return $msg$$inline_25_s$$inline_26$$;
};
$debug$$inline_10$$.logop = function $$debug$$inline_10$$$logop$() {
};
Object.preventExtensions(this);
}
"use strict";
$v86$$.prototype.modrm_table16 = Array(192);
$v86$$.prototype.modrm_table32 = Array(192);
$v86$$.prototype.sib_table = Array(256);
$v86$$.prototype.modrm_table16[0] = function $$v86$$$$modrm_table16$0$($cpu$$inline_32$$) {
return $cpu$$inline_32$$.get_seg_prefix(3) + ($cpu$$inline_32$$.reg16[6] + $cpu$$inline_32$$.reg16[12] & 65535) | 0;
};
$v86$$.prototype.modrm_table16[64] = function $$v86$$$$modrm_table16$64$($cpu$$inline_33$$) {
return $cpu$$inline_33$$.get_seg_prefix(3) + ($cpu$$inline_33$$.reg16[6] + $cpu$$inline_33$$.reg16[12] + $cpu$$inline_33$$.read_imm8s() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[128] = function $$v86$$$$modrm_table16$128$($cpu$$inline_34$$) {
return $cpu$$inline_34$$.get_seg_prefix(3) + ($cpu$$inline_34$$.reg16[6] + $cpu$$inline_34$$.reg16[12] + $cpu$$inline_34$$.read_imm16() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[1] = function $$v86$$$$modrm_table16$1$($cpu$$inline_35$$) {
return $cpu$$inline_35$$.get_seg_prefix(3) + ($cpu$$inline_35$$.reg16[6] + $cpu$$inline_35$$.reg16[14] & 65535) | 0;
};
$v86$$.prototype.modrm_table16[65] = function $$v86$$$$modrm_table16$65$($cpu$$inline_36$$) {
return $cpu$$inline_36$$.get_seg_prefix(3) + ($cpu$$inline_36$$.reg16[6] + $cpu$$inline_36$$.reg16[14] + $cpu$$inline_36$$.read_imm8s() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[129] = function $$v86$$$$modrm_table16$129$($cpu$$inline_37$$) {
return $cpu$$inline_37$$.get_seg_prefix(3) + ($cpu$$inline_37$$.reg16[6] + $cpu$$inline_37$$.reg16[14] + $cpu$$inline_37$$.read_imm16() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[2] = function $$v86$$$$modrm_table16$2$($cpu$$inline_38$$) {
return $cpu$$inline_38$$.get_seg_prefix(2) + ($cpu$$inline_38$$.reg16[10] + $cpu$$inline_38$$.reg16[12] & 65535) | 0;
};
$v86$$.prototype.modrm_table16[66] = function $$v86$$$$modrm_table16$66$($cpu$$inline_39$$) {
return $cpu$$inline_39$$.get_seg_prefix(2) + ($cpu$$inline_39$$.reg16[10] + $cpu$$inline_39$$.reg16[12] + $cpu$$inline_39$$.read_imm8s() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[130] = function $$v86$$$$modrm_table16$130$($cpu$$inline_40$$) {
return $cpu$$inline_40$$.get_seg_prefix(2) + ($cpu$$inline_40$$.reg16[10] + $cpu$$inline_40$$.reg16[12] + $cpu$$inline_40$$.read_imm16() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[3] = function $$v86$$$$modrm_table16$3$($cpu$$inline_41$$) {
return $cpu$$inline_41$$.get_seg_prefix(2) + ($cpu$$inline_41$$.reg16[10] + $cpu$$inline_41$$.reg16[14] & 65535) | 0;
};
$v86$$.prototype.modrm_table16[67] = function $$v86$$$$modrm_table16$67$($cpu$$inline_42$$) {
return $cpu$$inline_42$$.get_seg_prefix(2) + ($cpu$$inline_42$$.reg16[10] + $cpu$$inline_42$$.reg16[14] + $cpu$$inline_42$$.read_imm8s() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[131] = function $$v86$$$$modrm_table16$131$($cpu$$inline_43$$) {
return $cpu$$inline_43$$.get_seg_prefix(2) + ($cpu$$inline_43$$.reg16[10] + $cpu$$inline_43$$.reg16[14] + $cpu$$inline_43$$.read_imm16() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[4] = function $$v86$$$$modrm_table16$4$($cpu$$inline_44$$) {
return $cpu$$inline_44$$.get_seg_prefix(3) + ($cpu$$inline_44$$.reg16[12] & 65535) | 0;
};
$v86$$.prototype.modrm_table16[68] = function $$v86$$$$modrm_table16$68$($cpu$$inline_45$$) {
return $cpu$$inline_45$$.get_seg_prefix(3) + ($cpu$$inline_45$$.reg16[12] + $cpu$$inline_45$$.read_imm8s() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[132] = function $$v86$$$$modrm_table16$132$($cpu$$inline_46$$) {
return $cpu$$inline_46$$.get_seg_prefix(3) + ($cpu$$inline_46$$.reg16[12] + $cpu$$inline_46$$.read_imm16() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[5] = function $$v86$$$$modrm_table16$5$($cpu$$inline_47$$) {
return $cpu$$inline_47$$.get_seg_prefix(3) + ($cpu$$inline_47$$.reg16[14] & 65535) | 0;
};
$v86$$.prototype.modrm_table16[69] = function $$v86$$$$modrm_table16$69$($cpu$$inline_48$$) {
return $cpu$$inline_48$$.get_seg_prefix(3) + ($cpu$$inline_48$$.reg16[14] + $cpu$$inline_48$$.read_imm8s() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[133] = function $$v86$$$$modrm_table16$133$($cpu$$inline_49$$) {
return $cpu$$inline_49$$.get_seg_prefix(3) + ($cpu$$inline_49$$.reg16[14] + $cpu$$inline_49$$.read_imm16() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[6] = function $$v86$$$$modrm_table16$6$($cpu$$inline_50$$) {
return $cpu$$inline_50$$.get_seg_prefix(2) + ($cpu$$inline_50$$.reg16[10] & 65535) | 0;
};
$v86$$.prototype.modrm_table16[70] = function $$v86$$$$modrm_table16$70$($cpu$$inline_51$$) {
return $cpu$$inline_51$$.get_seg_prefix(2) + ($cpu$$inline_51$$.reg16[10] + $cpu$$inline_51$$.read_imm8s() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[134] = function $$v86$$$$modrm_table16$134$($cpu$$inline_52$$) {
return $cpu$$inline_52$$.get_seg_prefix(2) + ($cpu$$inline_52$$.reg16[10] + $cpu$$inline_52$$.read_imm16() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[7] = function $$v86$$$$modrm_table16$7$($cpu$$inline_53$$) {
return $cpu$$inline_53$$.get_seg_prefix(3) + ($cpu$$inline_53$$.reg16[6] & 65535) | 0;
};
$v86$$.prototype.modrm_table16[71] = function $$v86$$$$modrm_table16$71$($cpu$$inline_54$$) {
return $cpu$$inline_54$$.get_seg_prefix(3) + ($cpu$$inline_54$$.reg16[6] + $cpu$$inline_54$$.read_imm8s() & 65535) | 0;
};
$v86$$.prototype.modrm_table16[135] = function $$v86$$$$modrm_table16$135$($cpu$$inline_55$$) {
return $cpu$$inline_55$$.get_seg_prefix(3) + ($cpu$$inline_55$$.reg16[6] + $cpu$$inline_55$$.read_imm16() & 65535) | 0;
};
$v86$$.prototype.modrm_table32[0] = function $$v86$$$$modrm_table32$0$($cpu$$inline_56$$) {
return $cpu$$inline_56$$.get_seg_prefix(3) + $cpu$$inline_56$$.reg32s[0] | 0;
};
$v86$$.prototype.modrm_table32[64] = function $$v86$$$$modrm_table32$64$($cpu$$inline_57$$) {
return $cpu$$inline_57$$.get_seg_prefix(3) + $cpu$$inline_57$$.reg32s[0] + $cpu$$inline_57$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[128] = function $$v86$$$$modrm_table32$128$($cpu$$inline_58$$) {
return $cpu$$inline_58$$.get_seg_prefix(3) + $cpu$$inline_58$$.reg32s[0] + $cpu$$inline_58$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table32[1] = function $$v86$$$$modrm_table32$1$($cpu$$inline_59$$) {
return $cpu$$inline_59$$.get_seg_prefix(3) + $cpu$$inline_59$$.reg32s[1] | 0;
};
$v86$$.prototype.modrm_table32[65] = function $$v86$$$$modrm_table32$65$($cpu$$inline_60$$) {
return $cpu$$inline_60$$.get_seg_prefix(3) + $cpu$$inline_60$$.reg32s[1] + $cpu$$inline_60$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[129] = function $$v86$$$$modrm_table32$129$($cpu$$inline_61$$) {
return $cpu$$inline_61$$.get_seg_prefix(3) + $cpu$$inline_61$$.reg32s[1] + $cpu$$inline_61$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table32[2] = function $$v86$$$$modrm_table32$2$($cpu$$inline_62$$) {
return $cpu$$inline_62$$.get_seg_prefix(3) + $cpu$$inline_62$$.reg32s[2] | 0;
};
$v86$$.prototype.modrm_table32[66] = function $$v86$$$$modrm_table32$66$($cpu$$inline_63$$) {
return $cpu$$inline_63$$.get_seg_prefix(3) + $cpu$$inline_63$$.reg32s[2] + $cpu$$inline_63$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[130] = function $$v86$$$$modrm_table32$130$($cpu$$inline_64$$) {
return $cpu$$inline_64$$.get_seg_prefix(3) + $cpu$$inline_64$$.reg32s[2] + $cpu$$inline_64$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table32[3] = function $$v86$$$$modrm_table32$3$($cpu$$inline_65$$) {
return $cpu$$inline_65$$.get_seg_prefix(3) + $cpu$$inline_65$$.reg32s[3] | 0;
};
$v86$$.prototype.modrm_table32[67] = function $$v86$$$$modrm_table32$67$($cpu$$inline_66$$) {
return $cpu$$inline_66$$.get_seg_prefix(3) + $cpu$$inline_66$$.reg32s[3] + $cpu$$inline_66$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[131] = function $$v86$$$$modrm_table32$131$($cpu$$inline_67$$) {
return $cpu$$inline_67$$.get_seg_prefix(3) + $cpu$$inline_67$$.reg32s[3] + $cpu$$inline_67$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table32[4] = function $$v86$$$$modrm_table32$4$($cpu$$inline_68$$) {
return $cpu$$inline_68$$.sib_table[$cpu$$inline_68$$.read_imm8()]($cpu$$inline_68$$, !1) | 0;
};
$v86$$.prototype.modrm_table32[68] = function $$v86$$$$modrm_table32$68$($cpu$$inline_69$$) {
return $cpu$$inline_69$$.sib_table[$cpu$$inline_69$$.read_imm8()]($cpu$$inline_69$$, !1) + $cpu$$inline_69$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[132] = function $$v86$$$$modrm_table32$132$($cpu$$inline_70$$) {
return $cpu$$inline_70$$.sib_table[$cpu$$inline_70$$.read_imm8()]($cpu$$inline_70$$, !1) + $cpu$$inline_70$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table32[5] = function $$v86$$$$modrm_table32$5$($cpu$$inline_71$$) {
return $cpu$$inline_71$$.get_seg_prefix(2) + $cpu$$inline_71$$.reg32s[5] | 0;
};
$v86$$.prototype.modrm_table32[69] = function $$v86$$$$modrm_table32$69$($cpu$$inline_72$$) {
return $cpu$$inline_72$$.get_seg_prefix(2) + $cpu$$inline_72$$.reg32s[5] + $cpu$$inline_72$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[133] = function $$v86$$$$modrm_table32$133$($cpu$$inline_73$$) {
return $cpu$$inline_73$$.get_seg_prefix(2) + $cpu$$inline_73$$.reg32s[5] + $cpu$$inline_73$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table32[6] = function $$v86$$$$modrm_table32$6$($cpu$$inline_74$$) {
return $cpu$$inline_74$$.get_seg_prefix(3) + $cpu$$inline_74$$.reg32s[6] | 0;
};
$v86$$.prototype.modrm_table32[70] = function $$v86$$$$modrm_table32$70$($cpu$$inline_75$$) {
return $cpu$$inline_75$$.get_seg_prefix(3) + $cpu$$inline_75$$.reg32s[6] + $cpu$$inline_75$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[134] = function $$v86$$$$modrm_table32$134$($cpu$$inline_76$$) {
return $cpu$$inline_76$$.get_seg_prefix(3) + $cpu$$inline_76$$.reg32s[6] + $cpu$$inline_76$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table32[7] = function $$v86$$$$modrm_table32$7$($cpu$$inline_77$$) {
return $cpu$$inline_77$$.get_seg_prefix(3) + $cpu$$inline_77$$.reg32s[7] | 0;
};
$v86$$.prototype.modrm_table32[71] = function $$v86$$$$modrm_table32$71$($cpu$$inline_78$$) {
return $cpu$$inline_78$$.get_seg_prefix(3) + $cpu$$inline_78$$.reg32s[7] + $cpu$$inline_78$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[135] = function $$v86$$$$modrm_table32$135$($cpu$$inline_79$$) {
return $cpu$$inline_79$$.get_seg_prefix(3) + $cpu$$inline_79$$.reg32s[7] + $cpu$$inline_79$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table16[6] = function $$v86$$$$modrm_table16$6$($cpu$$inline_80$$) {
return $cpu$$inline_80$$.get_seg_prefix(3) + $cpu$$inline_80$$.read_imm16() | 0;
};
$v86$$.prototype.modrm_table32[5] = function $$v86$$$$modrm_table32$5$($cpu$$inline_81$$) {
return $cpu$$inline_81$$.get_seg_prefix(3) + $cpu$$inline_81$$.read_imm32s() | 0;
};
$v86$$.prototype.modrm_table32[4] = function $$v86$$$$modrm_table32$4$($cpu$$inline_82$$) {
return $cpu$$inline_82$$.sib_table[$cpu$$inline_82$$.read_imm8()]($cpu$$inline_82$$, !1) | 0;
};
$v86$$.prototype.modrm_table32[68] = function $$v86$$$$modrm_table32$68$($cpu$$inline_83$$) {
return $cpu$$inline_83$$.sib_table[$cpu$$inline_83$$.read_imm8()]($cpu$$inline_83$$, !0) + $cpu$$inline_83$$.read_imm8s() | 0;
};
$v86$$.prototype.modrm_table32[132] = function $$v86$$$$modrm_table32$132$($cpu$$inline_84$$) {
return $cpu$$inline_84$$.sib_table[$cpu$$inline_84$$.read_imm8()]($cpu$$inline_84$$, !0) + $cpu$$inline_84$$.read_imm32s() | 0;
};
for (var $low$$inline_28$$ = 0;8 > $low$$inline_28$$;$low$$inline_28$$++) {
for (var $high$$inline_29$$ = 0;3 > $high$$inline_29$$;$high$$inline_29$$++) {
for (var $x$$inline_30$$ = $low$$inline_28$$ | $high$$inline_29$$ << 6, $i$$inline_31$$ = 1;8 > $i$$inline_31$$;$i$$inline_31$$++) {
$v86$$.prototype.modrm_table32[$x$$inline_30$$ | $i$$inline_31$$ << 3] = $v86$$.prototype.modrm_table32[$x$$inline_30$$], $v86$$.prototype.modrm_table16[$x$$inline_30$$ | $i$$inline_31$$ << 3] = $v86$$.prototype.modrm_table16[$x$$inline_30$$];
}
}
}
$v86$$.prototype.sib_table[0] = function $$v86$$$$sib_table$0$($cpu$$inline_85$$) {
return $cpu$$inline_85$$.reg32s[0] + $cpu$$inline_85$$.get_seg_prefix(3) + $cpu$$inline_85$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[1] = function $$v86$$$$sib_table$1$($cpu$$inline_86$$) {
return $cpu$$inline_86$$.reg32s[0] + $cpu$$inline_86$$.get_seg_prefix(3) + $cpu$$inline_86$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[2] = function $$v86$$$$sib_table$2$($cpu$$inline_87$$) {
return $cpu$$inline_87$$.reg32s[0] + $cpu$$inline_87$$.get_seg_prefix(3) + $cpu$$inline_87$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[3] = function $$v86$$$$sib_table$3$($cpu$$inline_88$$) {
return $cpu$$inline_88$$.reg32s[0] + $cpu$$inline_88$$.get_seg_prefix(3) + $cpu$$inline_88$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[4] = function $$v86$$$$sib_table$4$($cpu$$inline_89$$) {
return $cpu$$inline_89$$.reg32s[0] + $cpu$$inline_89$$.get_seg_prefix(2) + $cpu$$inline_89$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[5] = function $$v86$$$$sib_table$5$($cpu$$inline_90$$, $mod$$inline_91$$) {
return $cpu$$inline_90$$.reg32s[0] + ($mod$$inline_91$$ ? $cpu$$inline_90$$.get_seg_prefix(2) + $cpu$$inline_90$$.reg32s[5] : $cpu$$inline_90$$.get_seg_prefix(3) + $cpu$$inline_90$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[6] = function $$v86$$$$sib_table$6$($cpu$$inline_92$$) {
return $cpu$$inline_92$$.reg32s[0] + $cpu$$inline_92$$.get_seg_prefix(3) + $cpu$$inline_92$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[7] = function $$v86$$$$sib_table$7$($cpu$$inline_93$$) {
return $cpu$$inline_93$$.reg32s[0] + $cpu$$inline_93$$.get_seg_prefix(3) + $cpu$$inline_93$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[64] = function $$v86$$$$sib_table$64$($cpu$$inline_94$$) {
return($cpu$$inline_94$$.reg32s[0] << 1) + $cpu$$inline_94$$.get_seg_prefix(3) + $cpu$$inline_94$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[65] = function $$v86$$$$sib_table$65$($cpu$$inline_95$$) {
return($cpu$$inline_95$$.reg32s[0] << 1) + $cpu$$inline_95$$.get_seg_prefix(3) + $cpu$$inline_95$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[66] = function $$v86$$$$sib_table$66$($cpu$$inline_96$$) {
return($cpu$$inline_96$$.reg32s[0] << 1) + $cpu$$inline_96$$.get_seg_prefix(3) + $cpu$$inline_96$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[67] = function $$v86$$$$sib_table$67$($cpu$$inline_97$$) {
return($cpu$$inline_97$$.reg32s[0] << 1) + $cpu$$inline_97$$.get_seg_prefix(3) + $cpu$$inline_97$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[68] = function $$v86$$$$sib_table$68$($cpu$$inline_98$$) {
return($cpu$$inline_98$$.reg32s[0] << 1) + $cpu$$inline_98$$.get_seg_prefix(2) + $cpu$$inline_98$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[69] = function $$v86$$$$sib_table$69$($cpu$$inline_99$$, $mod$$inline_100$$) {
return($cpu$$inline_99$$.reg32s[0] << 1) + ($mod$$inline_100$$ ? $cpu$$inline_99$$.get_seg_prefix(2) + $cpu$$inline_99$$.reg32s[5] : $cpu$$inline_99$$.get_seg_prefix(3) + $cpu$$inline_99$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[70] = function $$v86$$$$sib_table$70$($cpu$$inline_101$$) {
return($cpu$$inline_101$$.reg32s[0] << 1) + $cpu$$inline_101$$.get_seg_prefix(3) + $cpu$$inline_101$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[71] = function $$v86$$$$sib_table$71$($cpu$$inline_102$$) {
return($cpu$$inline_102$$.reg32s[0] << 1) + $cpu$$inline_102$$.get_seg_prefix(3) + $cpu$$inline_102$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[128] = function $$v86$$$$sib_table$128$($cpu$$inline_103$$) {
return($cpu$$inline_103$$.reg32s[0] << 2) + $cpu$$inline_103$$.get_seg_prefix(3) + $cpu$$inline_103$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[129] = function $$v86$$$$sib_table$129$($cpu$$inline_104$$) {
return($cpu$$inline_104$$.reg32s[0] << 2) + $cpu$$inline_104$$.get_seg_prefix(3) + $cpu$$inline_104$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[130] = function $$v86$$$$sib_table$130$($cpu$$inline_105$$) {
return($cpu$$inline_105$$.reg32s[0] << 2) + $cpu$$inline_105$$.get_seg_prefix(3) + $cpu$$inline_105$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[131] = function $$v86$$$$sib_table$131$($cpu$$inline_106$$) {
return($cpu$$inline_106$$.reg32s[0] << 2) + $cpu$$inline_106$$.get_seg_prefix(3) + $cpu$$inline_106$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[132] = function $$v86$$$$sib_table$132$($cpu$$inline_107$$) {
return($cpu$$inline_107$$.reg32s[0] << 2) + $cpu$$inline_107$$.get_seg_prefix(2) + $cpu$$inline_107$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[133] = function $$v86$$$$sib_table$133$($cpu$$inline_108$$, $mod$$inline_109$$) {
return($cpu$$inline_108$$.reg32s[0] << 2) + ($mod$$inline_109$$ ? $cpu$$inline_108$$.get_seg_prefix(2) + $cpu$$inline_108$$.reg32s[5] : $cpu$$inline_108$$.get_seg_prefix(3) + $cpu$$inline_108$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[134] = function $$v86$$$$sib_table$134$($cpu$$inline_110$$) {
return($cpu$$inline_110$$.reg32s[0] << 2) + $cpu$$inline_110$$.get_seg_prefix(3) + $cpu$$inline_110$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[135] = function $$v86$$$$sib_table$135$($cpu$$inline_111$$) {
return($cpu$$inline_111$$.reg32s[0] << 2) + $cpu$$inline_111$$.get_seg_prefix(3) + $cpu$$inline_111$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[192] = function $$v86$$$$sib_table$192$($cpu$$inline_112$$) {
return($cpu$$inline_112$$.reg32s[0] << 3) + $cpu$$inline_112$$.get_seg_prefix(3) + $cpu$$inline_112$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[193] = function $$v86$$$$sib_table$193$($cpu$$inline_113$$) {
return($cpu$$inline_113$$.reg32s[0] << 3) + $cpu$$inline_113$$.get_seg_prefix(3) + $cpu$$inline_113$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[194] = function $$v86$$$$sib_table$194$($cpu$$inline_114$$) {
return($cpu$$inline_114$$.reg32s[0] << 3) + $cpu$$inline_114$$.get_seg_prefix(3) + $cpu$$inline_114$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[195] = function $$v86$$$$sib_table$195$($cpu$$inline_115$$) {
return($cpu$$inline_115$$.reg32s[0] << 3) + $cpu$$inline_115$$.get_seg_prefix(3) + $cpu$$inline_115$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[196] = function $$v86$$$$sib_table$196$($cpu$$inline_116$$) {
return($cpu$$inline_116$$.reg32s[0] << 3) + $cpu$$inline_116$$.get_seg_prefix(2) + $cpu$$inline_116$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[197] = function $$v86$$$$sib_table$197$($cpu$$inline_117$$, $mod$$inline_118$$) {
return($cpu$$inline_117$$.reg32s[0] << 3) + ($mod$$inline_118$$ ? $cpu$$inline_117$$.get_seg_prefix(2) + $cpu$$inline_117$$.reg32s[5] : $cpu$$inline_117$$.get_seg_prefix(3) + $cpu$$inline_117$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[198] = function $$v86$$$$sib_table$198$($cpu$$inline_119$$) {
return($cpu$$inline_119$$.reg32s[0] << 3) + $cpu$$inline_119$$.get_seg_prefix(3) + $cpu$$inline_119$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[199] = function $$v86$$$$sib_table$199$($cpu$$inline_120$$) {
return($cpu$$inline_120$$.reg32s[0] << 3) + $cpu$$inline_120$$.get_seg_prefix(3) + $cpu$$inline_120$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[8] = function $$v86$$$$sib_table$8$($cpu$$inline_121$$) {
return $cpu$$inline_121$$.reg32s[1] + $cpu$$inline_121$$.get_seg_prefix(3) + $cpu$$inline_121$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[9] = function $$v86$$$$sib_table$9$($cpu$$inline_122$$) {
return $cpu$$inline_122$$.reg32s[1] + $cpu$$inline_122$$.get_seg_prefix(3) + $cpu$$inline_122$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[10] = function $$v86$$$$sib_table$10$($cpu$$inline_123$$) {
return $cpu$$inline_123$$.reg32s[1] + $cpu$$inline_123$$.get_seg_prefix(3) + $cpu$$inline_123$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[11] = function $$v86$$$$sib_table$11$($cpu$$inline_124$$) {
return $cpu$$inline_124$$.reg32s[1] + $cpu$$inline_124$$.get_seg_prefix(3) + $cpu$$inline_124$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[12] = function $$v86$$$$sib_table$12$($cpu$$inline_125$$) {
return $cpu$$inline_125$$.reg32s[1] + $cpu$$inline_125$$.get_seg_prefix(2) + $cpu$$inline_125$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[13] = function $$v86$$$$sib_table$13$($cpu$$inline_126$$, $mod$$inline_127$$) {
return $cpu$$inline_126$$.reg32s[1] + ($mod$$inline_127$$ ? $cpu$$inline_126$$.get_seg_prefix(2) + $cpu$$inline_126$$.reg32s[5] : $cpu$$inline_126$$.get_seg_prefix(3) + $cpu$$inline_126$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[14] = function $$v86$$$$sib_table$14$($cpu$$inline_128$$) {
return $cpu$$inline_128$$.reg32s[1] + $cpu$$inline_128$$.get_seg_prefix(3) + $cpu$$inline_128$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[15] = function $$v86$$$$sib_table$15$($cpu$$inline_129$$) {
return $cpu$$inline_129$$.reg32s[1] + $cpu$$inline_129$$.get_seg_prefix(3) + $cpu$$inline_129$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[72] = function $$v86$$$$sib_table$72$($cpu$$inline_130$$) {
return($cpu$$inline_130$$.reg32s[1] << 1) + $cpu$$inline_130$$.get_seg_prefix(3) + $cpu$$inline_130$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[73] = function $$v86$$$$sib_table$73$($cpu$$inline_131$$) {
return($cpu$$inline_131$$.reg32s[1] << 1) + $cpu$$inline_131$$.get_seg_prefix(3) + $cpu$$inline_131$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[74] = function $$v86$$$$sib_table$74$($cpu$$inline_132$$) {
return($cpu$$inline_132$$.reg32s[1] << 1) + $cpu$$inline_132$$.get_seg_prefix(3) + $cpu$$inline_132$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[75] = function $$v86$$$$sib_table$75$($cpu$$inline_133$$) {
return($cpu$$inline_133$$.reg32s[1] << 1) + $cpu$$inline_133$$.get_seg_prefix(3) + $cpu$$inline_133$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[76] = function $$v86$$$$sib_table$76$($cpu$$inline_134$$) {
return($cpu$$inline_134$$.reg32s[1] << 1) + $cpu$$inline_134$$.get_seg_prefix(2) + $cpu$$inline_134$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[77] = function $$v86$$$$sib_table$77$($cpu$$inline_135$$, $mod$$inline_136$$) {
return($cpu$$inline_135$$.reg32s[1] << 1) + ($mod$$inline_136$$ ? $cpu$$inline_135$$.get_seg_prefix(2) + $cpu$$inline_135$$.reg32s[5] : $cpu$$inline_135$$.get_seg_prefix(3) + $cpu$$inline_135$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[78] = function $$v86$$$$sib_table$78$($cpu$$inline_137$$) {
return($cpu$$inline_137$$.reg32s[1] << 1) + $cpu$$inline_137$$.get_seg_prefix(3) + $cpu$$inline_137$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[79] = function $$v86$$$$sib_table$79$($cpu$$inline_138$$) {
return($cpu$$inline_138$$.reg32s[1] << 1) + $cpu$$inline_138$$.get_seg_prefix(3) + $cpu$$inline_138$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[136] = function $$v86$$$$sib_table$136$($cpu$$inline_139$$) {
return($cpu$$inline_139$$.reg32s[1] << 2) + $cpu$$inline_139$$.get_seg_prefix(3) + $cpu$$inline_139$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[137] = function $$v86$$$$sib_table$137$($cpu$$inline_140$$) {
return($cpu$$inline_140$$.reg32s[1] << 2) + $cpu$$inline_140$$.get_seg_prefix(3) + $cpu$$inline_140$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[138] = function $$v86$$$$sib_table$138$($cpu$$inline_141$$) {
return($cpu$$inline_141$$.reg32s[1] << 2) + $cpu$$inline_141$$.get_seg_prefix(3) + $cpu$$inline_141$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[139] = function $$v86$$$$sib_table$139$($cpu$$inline_142$$) {
return($cpu$$inline_142$$.reg32s[1] << 2) + $cpu$$inline_142$$.get_seg_prefix(3) + $cpu$$inline_142$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[140] = function $$v86$$$$sib_table$140$($cpu$$inline_143$$) {
return($cpu$$inline_143$$.reg32s[1] << 2) + $cpu$$inline_143$$.get_seg_prefix(2) + $cpu$$inline_143$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[141] = function $$v86$$$$sib_table$141$($cpu$$inline_144$$, $mod$$inline_145$$) {
return($cpu$$inline_144$$.reg32s[1] << 2) + ($mod$$inline_145$$ ? $cpu$$inline_144$$.get_seg_prefix(2) + $cpu$$inline_144$$.reg32s[5] : $cpu$$inline_144$$.get_seg_prefix(3) + $cpu$$inline_144$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[142] = function $$v86$$$$sib_table$142$($cpu$$inline_146$$) {
return($cpu$$inline_146$$.reg32s[1] << 2) + $cpu$$inline_146$$.get_seg_prefix(3) + $cpu$$inline_146$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[143] = function $$v86$$$$sib_table$143$($cpu$$inline_147$$) {
return($cpu$$inline_147$$.reg32s[1] << 2) + $cpu$$inline_147$$.get_seg_prefix(3) + $cpu$$inline_147$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[200] = function $$v86$$$$sib_table$200$($cpu$$inline_148$$) {
return($cpu$$inline_148$$.reg32s[1] << 3) + $cpu$$inline_148$$.get_seg_prefix(3) + $cpu$$inline_148$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[201] = function $$v86$$$$sib_table$201$($cpu$$inline_149$$) {
return($cpu$$inline_149$$.reg32s[1] << 3) + $cpu$$inline_149$$.get_seg_prefix(3) + $cpu$$inline_149$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[202] = function $$v86$$$$sib_table$202$($cpu$$inline_150$$) {
return($cpu$$inline_150$$.reg32s[1] << 3) + $cpu$$inline_150$$.get_seg_prefix(3) + $cpu$$inline_150$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[203] = function $$v86$$$$sib_table$203$($cpu$$inline_151$$) {
return($cpu$$inline_151$$.reg32s[1] << 3) + $cpu$$inline_151$$.get_seg_prefix(3) + $cpu$$inline_151$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[204] = function $$v86$$$$sib_table$204$($cpu$$inline_152$$) {
return($cpu$$inline_152$$.reg32s[1] << 3) + $cpu$$inline_152$$.get_seg_prefix(2) + $cpu$$inline_152$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[205] = function $$v86$$$$sib_table$205$($cpu$$inline_153$$, $mod$$inline_154$$) {
return($cpu$$inline_153$$.reg32s[1] << 3) + ($mod$$inline_154$$ ? $cpu$$inline_153$$.get_seg_prefix(2) + $cpu$$inline_153$$.reg32s[5] : $cpu$$inline_153$$.get_seg_prefix(3) + $cpu$$inline_153$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[206] = function $$v86$$$$sib_table$206$($cpu$$inline_155$$) {
return($cpu$$inline_155$$.reg32s[1] << 3) + $cpu$$inline_155$$.get_seg_prefix(3) + $cpu$$inline_155$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[207] = function $$v86$$$$sib_table$207$($cpu$$inline_156$$) {
return($cpu$$inline_156$$.reg32s[1] << 3) + $cpu$$inline_156$$.get_seg_prefix(3) + $cpu$$inline_156$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[16] = function $$v86$$$$sib_table$16$($cpu$$inline_157$$) {
return $cpu$$inline_157$$.reg32s[2] + $cpu$$inline_157$$.get_seg_prefix(3) + $cpu$$inline_157$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[17] = function $$v86$$$$sib_table$17$($cpu$$inline_158$$) {
return $cpu$$inline_158$$.reg32s[2] + $cpu$$inline_158$$.get_seg_prefix(3) + $cpu$$inline_158$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[18] = function $$v86$$$$sib_table$18$($cpu$$inline_159$$) {
return $cpu$$inline_159$$.reg32s[2] + $cpu$$inline_159$$.get_seg_prefix(3) + $cpu$$inline_159$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[19] = function $$v86$$$$sib_table$19$($cpu$$inline_160$$) {
return $cpu$$inline_160$$.reg32s[2] + $cpu$$inline_160$$.get_seg_prefix(3) + $cpu$$inline_160$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[20] = function $$v86$$$$sib_table$20$($cpu$$inline_161$$) {
return $cpu$$inline_161$$.reg32s[2] + $cpu$$inline_161$$.get_seg_prefix(2) + $cpu$$inline_161$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[21] = function $$v86$$$$sib_table$21$($cpu$$inline_162$$, $mod$$inline_163$$) {
return $cpu$$inline_162$$.reg32s[2] + ($mod$$inline_163$$ ? $cpu$$inline_162$$.get_seg_prefix(2) + $cpu$$inline_162$$.reg32s[5] : $cpu$$inline_162$$.get_seg_prefix(3) + $cpu$$inline_162$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[22] = function $$v86$$$$sib_table$22$($cpu$$inline_164$$) {
return $cpu$$inline_164$$.reg32s[2] + $cpu$$inline_164$$.get_seg_prefix(3) + $cpu$$inline_164$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[23] = function $$v86$$$$sib_table$23$($cpu$$inline_165$$) {
return $cpu$$inline_165$$.reg32s[2] + $cpu$$inline_165$$.get_seg_prefix(3) + $cpu$$inline_165$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[80] = function $$v86$$$$sib_table$80$($cpu$$inline_166$$) {
return($cpu$$inline_166$$.reg32s[2] << 1) + $cpu$$inline_166$$.get_seg_prefix(3) + $cpu$$inline_166$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[81] = function $$v86$$$$sib_table$81$($cpu$$inline_167$$) {
return($cpu$$inline_167$$.reg32s[2] << 1) + $cpu$$inline_167$$.get_seg_prefix(3) + $cpu$$inline_167$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[82] = function $$v86$$$$sib_table$82$($cpu$$inline_168$$) {
return($cpu$$inline_168$$.reg32s[2] << 1) + $cpu$$inline_168$$.get_seg_prefix(3) + $cpu$$inline_168$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[83] = function $$v86$$$$sib_table$83$($cpu$$inline_169$$) {
return($cpu$$inline_169$$.reg32s[2] << 1) + $cpu$$inline_169$$.get_seg_prefix(3) + $cpu$$inline_169$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[84] = function $$v86$$$$sib_table$84$($cpu$$inline_170$$) {
return($cpu$$inline_170$$.reg32s[2] << 1) + $cpu$$inline_170$$.get_seg_prefix(2) + $cpu$$inline_170$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[85] = function $$v86$$$$sib_table$85$($cpu$$inline_171$$, $mod$$inline_172$$) {
return($cpu$$inline_171$$.reg32s[2] << 1) + ($mod$$inline_172$$ ? $cpu$$inline_171$$.get_seg_prefix(2) + $cpu$$inline_171$$.reg32s[5] : $cpu$$inline_171$$.get_seg_prefix(3) + $cpu$$inline_171$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[86] = function $$v86$$$$sib_table$86$($cpu$$inline_173$$) {
return($cpu$$inline_173$$.reg32s[2] << 1) + $cpu$$inline_173$$.get_seg_prefix(3) + $cpu$$inline_173$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[87] = function $$v86$$$$sib_table$87$($cpu$$inline_174$$) {
return($cpu$$inline_174$$.reg32s[2] << 1) + $cpu$$inline_174$$.get_seg_prefix(3) + $cpu$$inline_174$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[144] = function $$v86$$$$sib_table$144$($cpu$$inline_175$$) {
return($cpu$$inline_175$$.reg32s[2] << 2) + $cpu$$inline_175$$.get_seg_prefix(3) + $cpu$$inline_175$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[145] = function $$v86$$$$sib_table$145$($cpu$$inline_176$$) {
return($cpu$$inline_176$$.reg32s[2] << 2) + $cpu$$inline_176$$.get_seg_prefix(3) + $cpu$$inline_176$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[146] = function $$v86$$$$sib_table$146$($cpu$$inline_177$$) {
return($cpu$$inline_177$$.reg32s[2] << 2) + $cpu$$inline_177$$.get_seg_prefix(3) + $cpu$$inline_177$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[147] = function $$v86$$$$sib_table$147$($cpu$$inline_178$$) {
return($cpu$$inline_178$$.reg32s[2] << 2) + $cpu$$inline_178$$.get_seg_prefix(3) + $cpu$$inline_178$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[148] = function $$v86$$$$sib_table$148$($cpu$$inline_179$$) {
return($cpu$$inline_179$$.reg32s[2] << 2) + $cpu$$inline_179$$.get_seg_prefix(2) + $cpu$$inline_179$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[149] = function $$v86$$$$sib_table$149$($cpu$$inline_180$$, $mod$$inline_181$$) {
return($cpu$$inline_180$$.reg32s[2] << 2) + ($mod$$inline_181$$ ? $cpu$$inline_180$$.get_seg_prefix(2) + $cpu$$inline_180$$.reg32s[5] : $cpu$$inline_180$$.get_seg_prefix(3) + $cpu$$inline_180$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[150] = function $$v86$$$$sib_table$150$($cpu$$inline_182$$) {
return($cpu$$inline_182$$.reg32s[2] << 2) + $cpu$$inline_182$$.get_seg_prefix(3) + $cpu$$inline_182$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[151] = function $$v86$$$$sib_table$151$($cpu$$inline_183$$) {
return($cpu$$inline_183$$.reg32s[2] << 2) + $cpu$$inline_183$$.get_seg_prefix(3) + $cpu$$inline_183$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[208] = function $$v86$$$$sib_table$208$($cpu$$inline_184$$) {
return($cpu$$inline_184$$.reg32s[2] << 3) + $cpu$$inline_184$$.get_seg_prefix(3) + $cpu$$inline_184$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[209] = function $$v86$$$$sib_table$209$($cpu$$inline_185$$) {
return($cpu$$inline_185$$.reg32s[2] << 3) + $cpu$$inline_185$$.get_seg_prefix(3) + $cpu$$inline_185$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[210] = function $$v86$$$$sib_table$210$($cpu$$inline_186$$) {
return($cpu$$inline_186$$.reg32s[2] << 3) + $cpu$$inline_186$$.get_seg_prefix(3) + $cpu$$inline_186$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[211] = function $$v86$$$$sib_table$211$($cpu$$inline_187$$) {
return($cpu$$inline_187$$.reg32s[2] << 3) + $cpu$$inline_187$$.get_seg_prefix(3) + $cpu$$inline_187$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[212] = function $$v86$$$$sib_table$212$($cpu$$inline_188$$) {
return($cpu$$inline_188$$.reg32s[2] << 3) + $cpu$$inline_188$$.get_seg_prefix(2) + $cpu$$inline_188$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[213] = function $$v86$$$$sib_table$213$($cpu$$inline_189$$, $mod$$inline_190$$) {
return($cpu$$inline_189$$.reg32s[2] << 3) + ($mod$$inline_190$$ ? $cpu$$inline_189$$.get_seg_prefix(2) + $cpu$$inline_189$$.reg32s[5] : $cpu$$inline_189$$.get_seg_prefix(3) + $cpu$$inline_189$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[214] = function $$v86$$$$sib_table$214$($cpu$$inline_191$$) {
return($cpu$$inline_191$$.reg32s[2] << 3) + $cpu$$inline_191$$.get_seg_prefix(3) + $cpu$$inline_191$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[215] = function $$v86$$$$sib_table$215$($cpu$$inline_192$$) {
return($cpu$$inline_192$$.reg32s[2] << 3) + $cpu$$inline_192$$.get_seg_prefix(3) + $cpu$$inline_192$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[24] = function $$v86$$$$sib_table$24$($cpu$$inline_193$$) {
return $cpu$$inline_193$$.reg32s[3] + $cpu$$inline_193$$.get_seg_prefix(3) + $cpu$$inline_193$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[25] = function $$v86$$$$sib_table$25$($cpu$$inline_194$$) {
return $cpu$$inline_194$$.reg32s[3] + $cpu$$inline_194$$.get_seg_prefix(3) + $cpu$$inline_194$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[26] = function $$v86$$$$sib_table$26$($cpu$$inline_195$$) {
return $cpu$$inline_195$$.reg32s[3] + $cpu$$inline_195$$.get_seg_prefix(3) + $cpu$$inline_195$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[27] = function $$v86$$$$sib_table$27$($cpu$$inline_196$$) {
return $cpu$$inline_196$$.reg32s[3] + $cpu$$inline_196$$.get_seg_prefix(3) + $cpu$$inline_196$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[28] = function $$v86$$$$sib_table$28$($cpu$$inline_197$$) {
return $cpu$$inline_197$$.reg32s[3] + $cpu$$inline_197$$.get_seg_prefix(2) + $cpu$$inline_197$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[29] = function $$v86$$$$sib_table$29$($cpu$$inline_198$$, $mod$$inline_199$$) {
return $cpu$$inline_198$$.reg32s[3] + ($mod$$inline_199$$ ? $cpu$$inline_198$$.get_seg_prefix(2) + $cpu$$inline_198$$.reg32s[5] : $cpu$$inline_198$$.get_seg_prefix(3) + $cpu$$inline_198$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[30] = function $$v86$$$$sib_table$30$($cpu$$inline_200$$) {
return $cpu$$inline_200$$.reg32s[3] + $cpu$$inline_200$$.get_seg_prefix(3) + $cpu$$inline_200$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[31] = function $$v86$$$$sib_table$31$($cpu$$inline_201$$) {
return $cpu$$inline_201$$.reg32s[3] + $cpu$$inline_201$$.get_seg_prefix(3) + $cpu$$inline_201$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[88] = function $$v86$$$$sib_table$88$($cpu$$inline_202$$) {
return($cpu$$inline_202$$.reg32s[3] << 1) + $cpu$$inline_202$$.get_seg_prefix(3) + $cpu$$inline_202$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[89] = function $$v86$$$$sib_table$89$($cpu$$inline_203$$) {
return($cpu$$inline_203$$.reg32s[3] << 1) + $cpu$$inline_203$$.get_seg_prefix(3) + $cpu$$inline_203$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[90] = function $$v86$$$$sib_table$90$($cpu$$inline_204$$) {
return($cpu$$inline_204$$.reg32s[3] << 1) + $cpu$$inline_204$$.get_seg_prefix(3) + $cpu$$inline_204$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[91] = function $$v86$$$$sib_table$91$($cpu$$inline_205$$) {
return($cpu$$inline_205$$.reg32s[3] << 1) + $cpu$$inline_205$$.get_seg_prefix(3) + $cpu$$inline_205$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[92] = function $$v86$$$$sib_table$92$($cpu$$inline_206$$) {
return($cpu$$inline_206$$.reg32s[3] << 1) + $cpu$$inline_206$$.get_seg_prefix(2) + $cpu$$inline_206$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[93] = function $$v86$$$$sib_table$93$($cpu$$inline_207$$, $mod$$inline_208$$) {
return($cpu$$inline_207$$.reg32s[3] << 1) + ($mod$$inline_208$$ ? $cpu$$inline_207$$.get_seg_prefix(2) + $cpu$$inline_207$$.reg32s[5] : $cpu$$inline_207$$.get_seg_prefix(3) + $cpu$$inline_207$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[94] = function $$v86$$$$sib_table$94$($cpu$$inline_209$$) {
return($cpu$$inline_209$$.reg32s[3] << 1) + $cpu$$inline_209$$.get_seg_prefix(3) + $cpu$$inline_209$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[95] = function $$v86$$$$sib_table$95$($cpu$$inline_210$$) {
return($cpu$$inline_210$$.reg32s[3] << 1) + $cpu$$inline_210$$.get_seg_prefix(3) + $cpu$$inline_210$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[152] = function $$v86$$$$sib_table$152$($cpu$$inline_211$$) {
return($cpu$$inline_211$$.reg32s[3] << 2) + $cpu$$inline_211$$.get_seg_prefix(3) + $cpu$$inline_211$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[153] = function $$v86$$$$sib_table$153$($cpu$$inline_212$$) {
return($cpu$$inline_212$$.reg32s[3] << 2) + $cpu$$inline_212$$.get_seg_prefix(3) + $cpu$$inline_212$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[154] = function $$v86$$$$sib_table$154$($cpu$$inline_213$$) {
return($cpu$$inline_213$$.reg32s[3] << 2) + $cpu$$inline_213$$.get_seg_prefix(3) + $cpu$$inline_213$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[155] = function $$v86$$$$sib_table$155$($cpu$$inline_214$$) {
return($cpu$$inline_214$$.reg32s[3] << 2) + $cpu$$inline_214$$.get_seg_prefix(3) + $cpu$$inline_214$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[156] = function $$v86$$$$sib_table$156$($cpu$$inline_215$$) {
return($cpu$$inline_215$$.reg32s[3] << 2) + $cpu$$inline_215$$.get_seg_prefix(2) + $cpu$$inline_215$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[157] = function $$v86$$$$sib_table$157$($cpu$$inline_216$$, $mod$$inline_217$$) {
return($cpu$$inline_216$$.reg32s[3] << 2) + ($mod$$inline_217$$ ? $cpu$$inline_216$$.get_seg_prefix(2) + $cpu$$inline_216$$.reg32s[5] : $cpu$$inline_216$$.get_seg_prefix(3) + $cpu$$inline_216$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[158] = function $$v86$$$$sib_table$158$($cpu$$inline_218$$) {
return($cpu$$inline_218$$.reg32s[3] << 2) + $cpu$$inline_218$$.get_seg_prefix(3) + $cpu$$inline_218$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[159] = function $$v86$$$$sib_table$159$($cpu$$inline_219$$) {
return($cpu$$inline_219$$.reg32s[3] << 2) + $cpu$$inline_219$$.get_seg_prefix(3) + $cpu$$inline_219$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[216] = function $$v86$$$$sib_table$216$($cpu$$inline_220$$) {
return($cpu$$inline_220$$.reg32s[3] << 3) + $cpu$$inline_220$$.get_seg_prefix(3) + $cpu$$inline_220$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[217] = function $$v86$$$$sib_table$217$($cpu$$inline_221$$) {
return($cpu$$inline_221$$.reg32s[3] << 3) + $cpu$$inline_221$$.get_seg_prefix(3) + $cpu$$inline_221$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[218] = function $$v86$$$$sib_table$218$($cpu$$inline_222$$) {
return($cpu$$inline_222$$.reg32s[3] << 3) + $cpu$$inline_222$$.get_seg_prefix(3) + $cpu$$inline_222$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[219] = function $$v86$$$$sib_table$219$($cpu$$inline_223$$) {
return($cpu$$inline_223$$.reg32s[3] << 3) + $cpu$$inline_223$$.get_seg_prefix(3) + $cpu$$inline_223$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[220] = function $$v86$$$$sib_table$220$($cpu$$inline_224$$) {
return($cpu$$inline_224$$.reg32s[3] << 3) + $cpu$$inline_224$$.get_seg_prefix(2) + $cpu$$inline_224$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[221] = function $$v86$$$$sib_table$221$($cpu$$inline_225$$, $mod$$inline_226$$) {
return($cpu$$inline_225$$.reg32s[3] << 3) + ($mod$$inline_226$$ ? $cpu$$inline_225$$.get_seg_prefix(2) + $cpu$$inline_225$$.reg32s[5] : $cpu$$inline_225$$.get_seg_prefix(3) + $cpu$$inline_225$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[222] = function $$v86$$$$sib_table$222$($cpu$$inline_227$$) {
return($cpu$$inline_227$$.reg32s[3] << 3) + $cpu$$inline_227$$.get_seg_prefix(3) + $cpu$$inline_227$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[223] = function $$v86$$$$sib_table$223$($cpu$$inline_228$$) {
return($cpu$$inline_228$$.reg32s[3] << 3) + $cpu$$inline_228$$.get_seg_prefix(3) + $cpu$$inline_228$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[32] = function $$v86$$$$sib_table$32$($cpu$$inline_229$$) {
return 0 + $cpu$$inline_229$$.get_seg_prefix(3) + $cpu$$inline_229$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[33] = function $$v86$$$$sib_table$33$($cpu$$inline_230$$) {
return 0 + $cpu$$inline_230$$.get_seg_prefix(3) + $cpu$$inline_230$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[34] = function $$v86$$$$sib_table$34$($cpu$$inline_231$$) {
return 0 + $cpu$$inline_231$$.get_seg_prefix(3) + $cpu$$inline_231$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[35] = function $$v86$$$$sib_table$35$($cpu$$inline_232$$) {
return 0 + $cpu$$inline_232$$.get_seg_prefix(3) + $cpu$$inline_232$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[36] = function $$v86$$$$sib_table$36$($cpu$$inline_233$$) {
return 0 + $cpu$$inline_233$$.get_seg_prefix(2) + $cpu$$inline_233$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[37] = function $$v86$$$$sib_table$37$($cpu$$inline_234$$, $mod$$inline_235$$) {
return 0 + ($mod$$inline_235$$ ? $cpu$$inline_234$$.get_seg_prefix(2) + $cpu$$inline_234$$.reg32s[5] : $cpu$$inline_234$$.get_seg_prefix(3) + $cpu$$inline_234$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[38] = function $$v86$$$$sib_table$38$($cpu$$inline_236$$) {
return 0 + $cpu$$inline_236$$.get_seg_prefix(3) + $cpu$$inline_236$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[39] = function $$v86$$$$sib_table$39$($cpu$$inline_237$$) {
return 0 + $cpu$$inline_237$$.get_seg_prefix(3) + $cpu$$inline_237$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[96] = function $$v86$$$$sib_table$96$($cpu$$inline_238$$) {
return 0 + $cpu$$inline_238$$.get_seg_prefix(3) + $cpu$$inline_238$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[97] = function $$v86$$$$sib_table$97$($cpu$$inline_239$$) {
return 0 + $cpu$$inline_239$$.get_seg_prefix(3) + $cpu$$inline_239$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[98] = function $$v86$$$$sib_table$98$($cpu$$inline_240$$) {
return 0 + $cpu$$inline_240$$.get_seg_prefix(3) + $cpu$$inline_240$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[99] = function $$v86$$$$sib_table$99$($cpu$$inline_241$$) {
return 0 + $cpu$$inline_241$$.get_seg_prefix(3) + $cpu$$inline_241$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[100] = function $$v86$$$$sib_table$100$($cpu$$inline_242$$) {
return 0 + $cpu$$inline_242$$.get_seg_prefix(2) + $cpu$$inline_242$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[101] = function $$v86$$$$sib_table$101$($cpu$$inline_243$$, $mod$$inline_244$$) {
return 0 + ($mod$$inline_244$$ ? $cpu$$inline_243$$.get_seg_prefix(2) + $cpu$$inline_243$$.reg32s[5] : $cpu$$inline_243$$.get_seg_prefix(3) + $cpu$$inline_243$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[102] = function $$v86$$$$sib_table$102$($cpu$$inline_245$$) {
return 0 + $cpu$$inline_245$$.get_seg_prefix(3) + $cpu$$inline_245$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[103] = function $$v86$$$$sib_table$103$($cpu$$inline_246$$) {
return 0 + $cpu$$inline_246$$.get_seg_prefix(3) + $cpu$$inline_246$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[160] = function $$v86$$$$sib_table$160$($cpu$$inline_247$$) {
return 0 + $cpu$$inline_247$$.get_seg_prefix(3) + $cpu$$inline_247$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[161] = function $$v86$$$$sib_table$161$($cpu$$inline_248$$) {
return 0 + $cpu$$inline_248$$.get_seg_prefix(3) + $cpu$$inline_248$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[162] = function $$v86$$$$sib_table$162$($cpu$$inline_249$$) {
return 0 + $cpu$$inline_249$$.get_seg_prefix(3) + $cpu$$inline_249$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[163] = function $$v86$$$$sib_table$163$($cpu$$inline_250$$) {
return 0 + $cpu$$inline_250$$.get_seg_prefix(3) + $cpu$$inline_250$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[164] = function $$v86$$$$sib_table$164$($cpu$$inline_251$$) {
return 0 + $cpu$$inline_251$$.get_seg_prefix(2) + $cpu$$inline_251$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[165] = function $$v86$$$$sib_table$165$($cpu$$inline_252$$, $mod$$inline_253$$) {
return 0 + ($mod$$inline_253$$ ? $cpu$$inline_252$$.get_seg_prefix(2) + $cpu$$inline_252$$.reg32s[5] : $cpu$$inline_252$$.get_seg_prefix(3) + $cpu$$inline_252$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[166] = function $$v86$$$$sib_table$166$($cpu$$inline_254$$) {
return 0 + $cpu$$inline_254$$.get_seg_prefix(3) + $cpu$$inline_254$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[167] = function $$v86$$$$sib_table$167$($cpu$$inline_255$$) {
return 0 + $cpu$$inline_255$$.get_seg_prefix(3) + $cpu$$inline_255$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[224] = function $$v86$$$$sib_table$224$($cpu$$inline_256$$) {
return 0 + $cpu$$inline_256$$.get_seg_prefix(3) + $cpu$$inline_256$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[225] = function $$v86$$$$sib_table$225$($cpu$$inline_257$$) {
return 0 + $cpu$$inline_257$$.get_seg_prefix(3) + $cpu$$inline_257$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[226] = function $$v86$$$$sib_table$226$($cpu$$inline_258$$) {
return 0 + $cpu$$inline_258$$.get_seg_prefix(3) + $cpu$$inline_258$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[227] = function $$v86$$$$sib_table$227$($cpu$$inline_259$$) {
return 0 + $cpu$$inline_259$$.get_seg_prefix(3) + $cpu$$inline_259$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[228] = function $$v86$$$$sib_table$228$($cpu$$inline_260$$) {
return 0 + $cpu$$inline_260$$.get_seg_prefix(2) + $cpu$$inline_260$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[229] = function $$v86$$$$sib_table$229$($cpu$$inline_261$$, $mod$$inline_262$$) {
return 0 + ($mod$$inline_262$$ ? $cpu$$inline_261$$.get_seg_prefix(2) + $cpu$$inline_261$$.reg32s[5] : $cpu$$inline_261$$.get_seg_prefix(3) + $cpu$$inline_261$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[230] = function $$v86$$$$sib_table$230$($cpu$$inline_263$$) {
return 0 + $cpu$$inline_263$$.get_seg_prefix(3) + $cpu$$inline_263$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[231] = function $$v86$$$$sib_table$231$($cpu$$inline_264$$) {
return 0 + $cpu$$inline_264$$.get_seg_prefix(3) + $cpu$$inline_264$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[40] = function $$v86$$$$sib_table$40$($cpu$$inline_265$$) {
return $cpu$$inline_265$$.reg32s[5] + $cpu$$inline_265$$.get_seg_prefix(3) + $cpu$$inline_265$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[41] = function $$v86$$$$sib_table$41$($cpu$$inline_266$$) {
return $cpu$$inline_266$$.reg32s[5] + $cpu$$inline_266$$.get_seg_prefix(3) + $cpu$$inline_266$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[42] = function $$v86$$$$sib_table$42$($cpu$$inline_267$$) {
return $cpu$$inline_267$$.reg32s[5] + $cpu$$inline_267$$.get_seg_prefix(3) + $cpu$$inline_267$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[43] = function $$v86$$$$sib_table$43$($cpu$$inline_268$$) {
return $cpu$$inline_268$$.reg32s[5] + $cpu$$inline_268$$.get_seg_prefix(3) + $cpu$$inline_268$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[44] = function $$v86$$$$sib_table$44$($cpu$$inline_269$$) {
return $cpu$$inline_269$$.reg32s[5] + $cpu$$inline_269$$.get_seg_prefix(2) + $cpu$$inline_269$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[45] = function $$v86$$$$sib_table$45$($cpu$$inline_270$$, $mod$$inline_271$$) {
return $cpu$$inline_270$$.reg32s[5] + ($mod$$inline_271$$ ? $cpu$$inline_270$$.get_seg_prefix(2) + $cpu$$inline_270$$.reg32s[5] : $cpu$$inline_270$$.get_seg_prefix(3) + $cpu$$inline_270$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[46] = function $$v86$$$$sib_table$46$($cpu$$inline_272$$) {
return $cpu$$inline_272$$.reg32s[5] + $cpu$$inline_272$$.get_seg_prefix(3) + $cpu$$inline_272$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[47] = function $$v86$$$$sib_table$47$($cpu$$inline_273$$) {
return $cpu$$inline_273$$.reg32s[5] + $cpu$$inline_273$$.get_seg_prefix(3) + $cpu$$inline_273$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[104] = function $$v86$$$$sib_table$104$($cpu$$inline_274$$) {
return($cpu$$inline_274$$.reg32s[5] << 1) + $cpu$$inline_274$$.get_seg_prefix(3) + $cpu$$inline_274$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[105] = function $$v86$$$$sib_table$105$($cpu$$inline_275$$) {
return($cpu$$inline_275$$.reg32s[5] << 1) + $cpu$$inline_275$$.get_seg_prefix(3) + $cpu$$inline_275$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[106] = function $$v86$$$$sib_table$106$($cpu$$inline_276$$) {
return($cpu$$inline_276$$.reg32s[5] << 1) + $cpu$$inline_276$$.get_seg_prefix(3) + $cpu$$inline_276$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[107] = function $$v86$$$$sib_table$107$($cpu$$inline_277$$) {
return($cpu$$inline_277$$.reg32s[5] << 1) + $cpu$$inline_277$$.get_seg_prefix(3) + $cpu$$inline_277$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[108] = function $$v86$$$$sib_table$108$($cpu$$inline_278$$) {
return($cpu$$inline_278$$.reg32s[5] << 1) + $cpu$$inline_278$$.get_seg_prefix(2) + $cpu$$inline_278$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[109] = function $$v86$$$$sib_table$109$($cpu$$inline_279$$, $mod$$inline_280$$) {
return($cpu$$inline_279$$.reg32s[5] << 1) + ($mod$$inline_280$$ ? $cpu$$inline_279$$.get_seg_prefix(2) + $cpu$$inline_279$$.reg32s[5] : $cpu$$inline_279$$.get_seg_prefix(3) + $cpu$$inline_279$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[110] = function $$v86$$$$sib_table$110$($cpu$$inline_281$$) {
return($cpu$$inline_281$$.reg32s[5] << 1) + $cpu$$inline_281$$.get_seg_prefix(3) + $cpu$$inline_281$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[111] = function $$v86$$$$sib_table$111$($cpu$$inline_282$$) {
return($cpu$$inline_282$$.reg32s[5] << 1) + $cpu$$inline_282$$.get_seg_prefix(3) + $cpu$$inline_282$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[168] = function $$v86$$$$sib_table$168$($cpu$$inline_283$$) {
return($cpu$$inline_283$$.reg32s[5] << 2) + $cpu$$inline_283$$.get_seg_prefix(3) + $cpu$$inline_283$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[169] = function $$v86$$$$sib_table$169$($cpu$$inline_284$$) {
return($cpu$$inline_284$$.reg32s[5] << 2) + $cpu$$inline_284$$.get_seg_prefix(3) + $cpu$$inline_284$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[170] = function $$v86$$$$sib_table$170$($cpu$$inline_285$$) {
return($cpu$$inline_285$$.reg32s[5] << 2) + $cpu$$inline_285$$.get_seg_prefix(3) + $cpu$$inline_285$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[171] = function $$v86$$$$sib_table$171$($cpu$$inline_286$$) {
return($cpu$$inline_286$$.reg32s[5] << 2) + $cpu$$inline_286$$.get_seg_prefix(3) + $cpu$$inline_286$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[172] = function $$v86$$$$sib_table$172$($cpu$$inline_287$$) {
return($cpu$$inline_287$$.reg32s[5] << 2) + $cpu$$inline_287$$.get_seg_prefix(2) + $cpu$$inline_287$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[173] = function $$v86$$$$sib_table$173$($cpu$$inline_288$$, $mod$$inline_289$$) {
return($cpu$$inline_288$$.reg32s[5] << 2) + ($mod$$inline_289$$ ? $cpu$$inline_288$$.get_seg_prefix(2) + $cpu$$inline_288$$.reg32s[5] : $cpu$$inline_288$$.get_seg_prefix(3) + $cpu$$inline_288$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[174] = function $$v86$$$$sib_table$174$($cpu$$inline_290$$) {
return($cpu$$inline_290$$.reg32s[5] << 2) + $cpu$$inline_290$$.get_seg_prefix(3) + $cpu$$inline_290$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[175] = function $$v86$$$$sib_table$175$($cpu$$inline_291$$) {
return($cpu$$inline_291$$.reg32s[5] << 2) + $cpu$$inline_291$$.get_seg_prefix(3) + $cpu$$inline_291$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[232] = function $$v86$$$$sib_table$232$($cpu$$inline_292$$) {
return($cpu$$inline_292$$.reg32s[5] << 3) + $cpu$$inline_292$$.get_seg_prefix(3) + $cpu$$inline_292$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[233] = function $$v86$$$$sib_table$233$($cpu$$inline_293$$) {
return($cpu$$inline_293$$.reg32s[5] << 3) + $cpu$$inline_293$$.get_seg_prefix(3) + $cpu$$inline_293$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[234] = function $$v86$$$$sib_table$234$($cpu$$inline_294$$) {
return($cpu$$inline_294$$.reg32s[5] << 3) + $cpu$$inline_294$$.get_seg_prefix(3) + $cpu$$inline_294$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[235] = function $$v86$$$$sib_table$235$($cpu$$inline_295$$) {
return($cpu$$inline_295$$.reg32s[5] << 3) + $cpu$$inline_295$$.get_seg_prefix(3) + $cpu$$inline_295$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[236] = function $$v86$$$$sib_table$236$($cpu$$inline_296$$) {
return($cpu$$inline_296$$.reg32s[5] << 3) + $cpu$$inline_296$$.get_seg_prefix(2) + $cpu$$inline_296$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[237] = function $$v86$$$$sib_table$237$($cpu$$inline_297$$, $mod$$inline_298$$) {
return($cpu$$inline_297$$.reg32s[5] << 3) + ($mod$$inline_298$$ ? $cpu$$inline_297$$.get_seg_prefix(2) + $cpu$$inline_297$$.reg32s[5] : $cpu$$inline_297$$.get_seg_prefix(3) + $cpu$$inline_297$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[238] = function $$v86$$$$sib_table$238$($cpu$$inline_299$$) {
return($cpu$$inline_299$$.reg32s[5] << 3) + $cpu$$inline_299$$.get_seg_prefix(3) + $cpu$$inline_299$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[239] = function $$v86$$$$sib_table$239$($cpu$$inline_300$$) {
return($cpu$$inline_300$$.reg32s[5] << 3) + $cpu$$inline_300$$.get_seg_prefix(3) + $cpu$$inline_300$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[48] = function $$v86$$$$sib_table$48$($cpu$$inline_301$$) {
return $cpu$$inline_301$$.reg32s[6] + $cpu$$inline_301$$.get_seg_prefix(3) + $cpu$$inline_301$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[49] = function $$v86$$$$sib_table$49$($cpu$$inline_302$$) {
return $cpu$$inline_302$$.reg32s[6] + $cpu$$inline_302$$.get_seg_prefix(3) + $cpu$$inline_302$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[50] = function $$v86$$$$sib_table$50$($cpu$$inline_303$$) {
return $cpu$$inline_303$$.reg32s[6] + $cpu$$inline_303$$.get_seg_prefix(3) + $cpu$$inline_303$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[51] = function $$v86$$$$sib_table$51$($cpu$$inline_304$$) {
return $cpu$$inline_304$$.reg32s[6] + $cpu$$inline_304$$.get_seg_prefix(3) + $cpu$$inline_304$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[52] = function $$v86$$$$sib_table$52$($cpu$$inline_305$$) {
return $cpu$$inline_305$$.reg32s[6] + $cpu$$inline_305$$.get_seg_prefix(2) + $cpu$$inline_305$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[53] = function $$v86$$$$sib_table$53$($cpu$$inline_306$$, $mod$$inline_307$$) {
return $cpu$$inline_306$$.reg32s[6] + ($mod$$inline_307$$ ? $cpu$$inline_306$$.get_seg_prefix(2) + $cpu$$inline_306$$.reg32s[5] : $cpu$$inline_306$$.get_seg_prefix(3) + $cpu$$inline_306$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[54] = function $$v86$$$$sib_table$54$($cpu$$inline_308$$) {
return $cpu$$inline_308$$.reg32s[6] + $cpu$$inline_308$$.get_seg_prefix(3) + $cpu$$inline_308$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[55] = function $$v86$$$$sib_table$55$($cpu$$inline_309$$) {
return $cpu$$inline_309$$.reg32s[6] + $cpu$$inline_309$$.get_seg_prefix(3) + $cpu$$inline_309$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[112] = function $$v86$$$$sib_table$112$($cpu$$inline_310$$) {
return($cpu$$inline_310$$.reg32s[6] << 1) + $cpu$$inline_310$$.get_seg_prefix(3) + $cpu$$inline_310$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[113] = function $$v86$$$$sib_table$113$($cpu$$inline_311$$) {
return($cpu$$inline_311$$.reg32s[6] << 1) + $cpu$$inline_311$$.get_seg_prefix(3) + $cpu$$inline_311$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[114] = function $$v86$$$$sib_table$114$($cpu$$inline_312$$) {
return($cpu$$inline_312$$.reg32s[6] << 1) + $cpu$$inline_312$$.get_seg_prefix(3) + $cpu$$inline_312$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[115] = function $$v86$$$$sib_table$115$($cpu$$inline_313$$) {
return($cpu$$inline_313$$.reg32s[6] << 1) + $cpu$$inline_313$$.get_seg_prefix(3) + $cpu$$inline_313$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[116] = function $$v86$$$$sib_table$116$($cpu$$inline_314$$) {
return($cpu$$inline_314$$.reg32s[6] << 1) + $cpu$$inline_314$$.get_seg_prefix(2) + $cpu$$inline_314$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[117] = function $$v86$$$$sib_table$117$($cpu$$inline_315$$, $mod$$inline_316$$) {
return($cpu$$inline_315$$.reg32s[6] << 1) + ($mod$$inline_316$$ ? $cpu$$inline_315$$.get_seg_prefix(2) + $cpu$$inline_315$$.reg32s[5] : $cpu$$inline_315$$.get_seg_prefix(3) + $cpu$$inline_315$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[118] = function $$v86$$$$sib_table$118$($cpu$$inline_317$$) {
return($cpu$$inline_317$$.reg32s[6] << 1) + $cpu$$inline_317$$.get_seg_prefix(3) + $cpu$$inline_317$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[119] = function $$v86$$$$sib_table$119$($cpu$$inline_318$$) {
return($cpu$$inline_318$$.reg32s[6] << 1) + $cpu$$inline_318$$.get_seg_prefix(3) + $cpu$$inline_318$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[176] = function $$v86$$$$sib_table$176$($cpu$$inline_319$$) {
return($cpu$$inline_319$$.reg32s[6] << 2) + $cpu$$inline_319$$.get_seg_prefix(3) + $cpu$$inline_319$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[177] = function $$v86$$$$sib_table$177$($cpu$$inline_320$$) {
return($cpu$$inline_320$$.reg32s[6] << 2) + $cpu$$inline_320$$.get_seg_prefix(3) + $cpu$$inline_320$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[178] = function $$v86$$$$sib_table$178$($cpu$$inline_321$$) {
return($cpu$$inline_321$$.reg32s[6] << 2) + $cpu$$inline_321$$.get_seg_prefix(3) + $cpu$$inline_321$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[179] = function $$v86$$$$sib_table$179$($cpu$$inline_322$$) {
return($cpu$$inline_322$$.reg32s[6] << 2) + $cpu$$inline_322$$.get_seg_prefix(3) + $cpu$$inline_322$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[180] = function $$v86$$$$sib_table$180$($cpu$$inline_323$$) {
return($cpu$$inline_323$$.reg32s[6] << 2) + $cpu$$inline_323$$.get_seg_prefix(2) + $cpu$$inline_323$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[181] = function $$v86$$$$sib_table$181$($cpu$$inline_324$$, $mod$$inline_325$$) {
return($cpu$$inline_324$$.reg32s[6] << 2) + ($mod$$inline_325$$ ? $cpu$$inline_324$$.get_seg_prefix(2) + $cpu$$inline_324$$.reg32s[5] : $cpu$$inline_324$$.get_seg_prefix(3) + $cpu$$inline_324$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[182] = function $$v86$$$$sib_table$182$($cpu$$inline_326$$) {
return($cpu$$inline_326$$.reg32s[6] << 2) + $cpu$$inline_326$$.get_seg_prefix(3) + $cpu$$inline_326$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[183] = function $$v86$$$$sib_table$183$($cpu$$inline_327$$) {
return($cpu$$inline_327$$.reg32s[6] << 2) + $cpu$$inline_327$$.get_seg_prefix(3) + $cpu$$inline_327$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[240] = function $$v86$$$$sib_table$240$($cpu$$inline_328$$) {
return($cpu$$inline_328$$.reg32s[6] << 3) + $cpu$$inline_328$$.get_seg_prefix(3) + $cpu$$inline_328$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[241] = function $$v86$$$$sib_table$241$($cpu$$inline_329$$) {
return($cpu$$inline_329$$.reg32s[6] << 3) + $cpu$$inline_329$$.get_seg_prefix(3) + $cpu$$inline_329$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[242] = function $$v86$$$$sib_table$242$($cpu$$inline_330$$) {
return($cpu$$inline_330$$.reg32s[6] << 3) + $cpu$$inline_330$$.get_seg_prefix(3) + $cpu$$inline_330$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[243] = function $$v86$$$$sib_table$243$($cpu$$inline_331$$) {
return($cpu$$inline_331$$.reg32s[6] << 3) + $cpu$$inline_331$$.get_seg_prefix(3) + $cpu$$inline_331$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[244] = function $$v86$$$$sib_table$244$($cpu$$inline_332$$) {
return($cpu$$inline_332$$.reg32s[6] << 3) + $cpu$$inline_332$$.get_seg_prefix(2) + $cpu$$inline_332$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[245] = function $$v86$$$$sib_table$245$($cpu$$inline_333$$, $mod$$inline_334$$) {
return($cpu$$inline_333$$.reg32s[6] << 3) + ($mod$$inline_334$$ ? $cpu$$inline_333$$.get_seg_prefix(2) + $cpu$$inline_333$$.reg32s[5] : $cpu$$inline_333$$.get_seg_prefix(3) + $cpu$$inline_333$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[246] = function $$v86$$$$sib_table$246$($cpu$$inline_335$$) {
return($cpu$$inline_335$$.reg32s[6] << 3) + $cpu$$inline_335$$.get_seg_prefix(3) + $cpu$$inline_335$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[247] = function $$v86$$$$sib_table$247$($cpu$$inline_336$$) {
return($cpu$$inline_336$$.reg32s[6] << 3) + $cpu$$inline_336$$.get_seg_prefix(3) + $cpu$$inline_336$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[56] = function $$v86$$$$sib_table$56$($cpu$$inline_337$$) {
return $cpu$$inline_337$$.reg32s[7] + $cpu$$inline_337$$.get_seg_prefix(3) + $cpu$$inline_337$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[57] = function $$v86$$$$sib_table$57$($cpu$$inline_338$$) {
return $cpu$$inline_338$$.reg32s[7] + $cpu$$inline_338$$.get_seg_prefix(3) + $cpu$$inline_338$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[58] = function $$v86$$$$sib_table$58$($cpu$$inline_339$$) {
return $cpu$$inline_339$$.reg32s[7] + $cpu$$inline_339$$.get_seg_prefix(3) + $cpu$$inline_339$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[59] = function $$v86$$$$sib_table$59$($cpu$$inline_340$$) {
return $cpu$$inline_340$$.reg32s[7] + $cpu$$inline_340$$.get_seg_prefix(3) + $cpu$$inline_340$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[60] = function $$v86$$$$sib_table$60$($cpu$$inline_341$$) {
return $cpu$$inline_341$$.reg32s[7] + $cpu$$inline_341$$.get_seg_prefix(2) + $cpu$$inline_341$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[61] = function $$v86$$$$sib_table$61$($cpu$$inline_342$$, $mod$$inline_343$$) {
return $cpu$$inline_342$$.reg32s[7] + ($mod$$inline_343$$ ? $cpu$$inline_342$$.get_seg_prefix(2) + $cpu$$inline_342$$.reg32s[5] : $cpu$$inline_342$$.get_seg_prefix(3) + $cpu$$inline_342$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[62] = function $$v86$$$$sib_table$62$($cpu$$inline_344$$) {
return $cpu$$inline_344$$.reg32s[7] + $cpu$$inline_344$$.get_seg_prefix(3) + $cpu$$inline_344$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[63] = function $$v86$$$$sib_table$63$($cpu$$inline_345$$) {
return $cpu$$inline_345$$.reg32s[7] + $cpu$$inline_345$$.get_seg_prefix(3) + $cpu$$inline_345$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[120] = function $$v86$$$$sib_table$120$($cpu$$inline_346$$) {
return($cpu$$inline_346$$.reg32s[7] << 1) + $cpu$$inline_346$$.get_seg_prefix(3) + $cpu$$inline_346$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[121] = function $$v86$$$$sib_table$121$($cpu$$inline_347$$) {
return($cpu$$inline_347$$.reg32s[7] << 1) + $cpu$$inline_347$$.get_seg_prefix(3) + $cpu$$inline_347$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[122] = function $$v86$$$$sib_table$122$($cpu$$inline_348$$) {
return($cpu$$inline_348$$.reg32s[7] << 1) + $cpu$$inline_348$$.get_seg_prefix(3) + $cpu$$inline_348$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[123] = function $$v86$$$$sib_table$123$($cpu$$inline_349$$) {
return($cpu$$inline_349$$.reg32s[7] << 1) + $cpu$$inline_349$$.get_seg_prefix(3) + $cpu$$inline_349$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[124] = function $$v86$$$$sib_table$124$($cpu$$inline_350$$) {
return($cpu$$inline_350$$.reg32s[7] << 1) + $cpu$$inline_350$$.get_seg_prefix(2) + $cpu$$inline_350$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[125] = function $$v86$$$$sib_table$125$($cpu$$inline_351$$, $mod$$inline_352$$) {
return($cpu$$inline_351$$.reg32s[7] << 1) + ($mod$$inline_352$$ ? $cpu$$inline_351$$.get_seg_prefix(2) + $cpu$$inline_351$$.reg32s[5] : $cpu$$inline_351$$.get_seg_prefix(3) + $cpu$$inline_351$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[126] = function $$v86$$$$sib_table$126$($cpu$$inline_353$$) {
return($cpu$$inline_353$$.reg32s[7] << 1) + $cpu$$inline_353$$.get_seg_prefix(3) + $cpu$$inline_353$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[127] = function $$v86$$$$sib_table$127$($cpu$$inline_354$$) {
return($cpu$$inline_354$$.reg32s[7] << 1) + $cpu$$inline_354$$.get_seg_prefix(3) + $cpu$$inline_354$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[184] = function $$v86$$$$sib_table$184$($cpu$$inline_355$$) {
return($cpu$$inline_355$$.reg32s[7] << 2) + $cpu$$inline_355$$.get_seg_prefix(3) + $cpu$$inline_355$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[185] = function $$v86$$$$sib_table$185$($cpu$$inline_356$$) {
return($cpu$$inline_356$$.reg32s[7] << 2) + $cpu$$inline_356$$.get_seg_prefix(3) + $cpu$$inline_356$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[186] = function $$v86$$$$sib_table$186$($cpu$$inline_357$$) {
return($cpu$$inline_357$$.reg32s[7] << 2) + $cpu$$inline_357$$.get_seg_prefix(3) + $cpu$$inline_357$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[187] = function $$v86$$$$sib_table$187$($cpu$$inline_358$$) {
return($cpu$$inline_358$$.reg32s[7] << 2) + $cpu$$inline_358$$.get_seg_prefix(3) + $cpu$$inline_358$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[188] = function $$v86$$$$sib_table$188$($cpu$$inline_359$$) {
return($cpu$$inline_359$$.reg32s[7] << 2) + $cpu$$inline_359$$.get_seg_prefix(2) + $cpu$$inline_359$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[189] = function $$v86$$$$sib_table$189$($cpu$$inline_360$$, $mod$$inline_361$$) {
return($cpu$$inline_360$$.reg32s[7] << 2) + ($mod$$inline_361$$ ? $cpu$$inline_360$$.get_seg_prefix(2) + $cpu$$inline_360$$.reg32s[5] : $cpu$$inline_360$$.get_seg_prefix(3) + $cpu$$inline_360$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[190] = function $$v86$$$$sib_table$190$($cpu$$inline_362$$) {
return($cpu$$inline_362$$.reg32s[7] << 2) + $cpu$$inline_362$$.get_seg_prefix(3) + $cpu$$inline_362$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[191] = function $$v86$$$$sib_table$191$($cpu$$inline_363$$) {
return($cpu$$inline_363$$.reg32s[7] << 2) + $cpu$$inline_363$$.get_seg_prefix(3) + $cpu$$inline_363$$.reg32s[7] | 0;
};
$v86$$.prototype.sib_table[248] = function $$v86$$$$sib_table$248$($cpu$$inline_364$$) {
return($cpu$$inline_364$$.reg32s[7] << 3) + $cpu$$inline_364$$.get_seg_prefix(3) + $cpu$$inline_364$$.reg32s[0] | 0;
};
$v86$$.prototype.sib_table[249] = function $$v86$$$$sib_table$249$($cpu$$inline_365$$) {
return($cpu$$inline_365$$.reg32s[7] << 3) + $cpu$$inline_365$$.get_seg_prefix(3) + $cpu$$inline_365$$.reg32s[1] | 0;
};
$v86$$.prototype.sib_table[250] = function $$v86$$$$sib_table$250$($cpu$$inline_366$$) {
return($cpu$$inline_366$$.reg32s[7] << 3) + $cpu$$inline_366$$.get_seg_prefix(3) + $cpu$$inline_366$$.reg32s[2] | 0;
};
$v86$$.prototype.sib_table[251] = function $$v86$$$$sib_table$251$($cpu$$inline_367$$) {
return($cpu$$inline_367$$.reg32s[7] << 3) + $cpu$$inline_367$$.get_seg_prefix(3) + $cpu$$inline_367$$.reg32s[3] | 0;
};
$v86$$.prototype.sib_table[252] = function $$v86$$$$sib_table$252$($cpu$$inline_368$$) {
return($cpu$$inline_368$$.reg32s[7] << 3) + $cpu$$inline_368$$.get_seg_prefix(2) + $cpu$$inline_368$$.reg32s[4] | 0;
};
$v86$$.prototype.sib_table[253] = function $$v86$$$$sib_table$253$($cpu$$inline_369$$, $mod$$inline_370$$) {
return($cpu$$inline_369$$.reg32s[7] << 3) + ($mod$$inline_370$$ ? $cpu$$inline_369$$.get_seg_prefix(2) + $cpu$$inline_369$$.reg32s[5] : $cpu$$inline_369$$.get_seg_prefix(3) + $cpu$$inline_369$$.read_imm32s()) | 0;
};
$v86$$.prototype.sib_table[254] = function $$v86$$$$sib_table$254$($cpu$$inline_371$$) {
return($cpu$$inline_371$$.reg32s[7] << 3) + $cpu$$inline_371$$.get_seg_prefix(3) + $cpu$$inline_371$$.reg32s[6] | 0;
};
$v86$$.prototype.sib_table[255] = function $$v86$$$$sib_table$255$($cpu$$inline_372$$) {
return($cpu$$inline_372$$.reg32s[7] << 3) + $cpu$$inline_372$$.get_seg_prefix(3) + $cpu$$inline_372$$.reg32s[7] | 0;
};
$v86$$.prototype.modrm_resolve = function $$v86$$$$modrm_resolve$($modrm_byte$$inline_373$$) {
return(this.address_size_32 ? this.modrm_table32 : this.modrm_table16)[$modrm_byte$$inline_373$$](this);
};
"use strict";
$JSCompiler_prototypeAlias$$ = $v86$$.prototype;
$JSCompiler_prototypeAlias$$.add = function $$JSCompiler_prototypeAlias$$$add$($dest_operand$$, $source_operand$$, $op_size$$) {
this.last_op1 = $dest_operand$$;
this.last_op2 = $source_operand$$;
this.last_add_result = this.last_result = $dest_operand$$ + $source_operand$$ | 0;
this.last_op_size = $op_size$$;
this.flags_changed = 2261;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.adc = function $$JSCompiler_prototypeAlias$$$adc$($dest_operand$$1$$, $source_operand$$1$$, $op_size$$1$$) {
var $cf$$ = this.getcf();
this.last_op1 = $dest_operand$$1$$;
this.last_op2 = $source_operand$$1$$;
this.last_add_result = this.last_result = ($dest_operand$$1$$ + $source_operand$$1$$ | 0) + $cf$$ | 0;
this.last_op_size = $op_size$$1$$;
this.flags_changed = 2261;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.sub = function $$JSCompiler_prototypeAlias$$$sub$($dest_operand$$3$$, $source_operand$$3$$, $op_size$$3$$) {
this.last_add_result = $dest_operand$$3$$;
this.last_op2 = $source_operand$$3$$;
this.last_op1 = this.last_result = $dest_operand$$3$$ - $source_operand$$3$$ | 0;
this.last_op_size = $op_size$$3$$;
this.flags_changed = 2261;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.sbb = function $$JSCompiler_prototypeAlias$$$sbb$($dest_operand$$4$$, $source_operand$$4$$, $op_size$$4$$) {
var $cf$$1$$ = this.getcf();
this.last_add_result = $dest_operand$$4$$;
this.last_op2 = $source_operand$$4$$;
this.last_op1 = this.last_result = $dest_operand$$4$$ - $source_operand$$4$$ - $cf$$1$$ | 0;
this.last_op_size = $op_size$$4$$;
this.flags_changed = 2261;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.inc = function $$JSCompiler_prototypeAlias$$$inc$($dest_operand$$5$$, $op_size$$5$$) {
this.flags = this.flags & -2 | this.getcf();
this.last_op1 = $dest_operand$$5$$;
this.last_op2 = 1;
this.last_add_result = this.last_result = $dest_operand$$5$$ + 1 | 0;
this.last_op_size = $op_size$$5$$;
this.flags_changed = 2260;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.dec = function $$JSCompiler_prototypeAlias$$$dec$($dest_operand$$6$$, $op_size$$6$$) {
this.flags = this.flags & -2 | this.getcf();
this.last_add_result = $dest_operand$$6$$;
this.last_op2 = 1;
this.last_op1 = this.last_result = $dest_operand$$6$$ - 1 | 0;
this.last_op_size = $op_size$$6$$;
this.flags_changed = 2260;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.neg = function $$JSCompiler_prototypeAlias$$$neg$($dest_operand$$7$$, $op_size$$7$$) {
this.last_op1 = this.last_result = -$dest_operand$$7$$ | 0;
this.flags_changed = 2261;
this.last_add_result = 0;
this.last_op2 = $dest_operand$$7$$;
this.last_op_size = $op_size$$7$$;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.mul8 = function $$JSCompiler_prototypeAlias$$$mul8$($result_source_operand$$5$$) {
$result_source_operand$$5$$ = $result_source_operand$$5$$ * this.reg8[0];
this.reg16[0] = $result_source_operand$$5$$;
this.flags = 256 > $result_source_operand$$5$$ ? this.flags & -2050 : this.flags | 2049;
this.flags_changed = 0;
};
$JSCompiler_prototypeAlias$$.imul8 = function $$JSCompiler_prototypeAlias$$$imul8$($result$$1_source_operand$$6$$) {
$result$$1_source_operand$$6$$ = $result$$1_source_operand$$6$$ * this.reg8s[0];
this.reg16[0] = $result$$1_source_operand$$6$$;
this.flags = 127 < $result$$1_source_operand$$6$$ || -128 > $result$$1_source_operand$$6$$ ? this.flags | 2049 : this.flags & -2050;
this.flags_changed = 0;
};
$JSCompiler_prototypeAlias$$.mul16 = function $$JSCompiler_prototypeAlias$$$mul16$($result$$2_source_operand$$7$$) {
$result$$2_source_operand$$7$$ = $result$$2_source_operand$$7$$ * this.reg16[0];
var $high_result$$ = $result$$2_source_operand$$7$$ >>> 16;
this.reg16[0] = $result$$2_source_operand$$7$$;
this.reg16[4] = $high_result$$;
this.flags = 0 === $high_result$$ ? this.flags & -2050 : this.flags | 2049;
this.flags_changed = 0;
};
$JSCompiler_prototypeAlias$$.imul16 = function $$JSCompiler_prototypeAlias$$$imul16$($result$$3_source_operand$$8$$) {
$result$$3_source_operand$$8$$ = $result$$3_source_operand$$8$$ * this.reg16s[0];
this.reg16[0] = $result$$3_source_operand$$8$$;
this.reg16[4] = $result$$3_source_operand$$8$$ >> 16;
this.flags = 32767 < $result$$3_source_operand$$8$$ || -32768 > $result$$3_source_operand$$8$$ ? this.flags | 2049 : this.flags & -2050;
this.flags_changed = 0;
};
$JSCompiler_prototypeAlias$$.imul_reg16 = function $$JSCompiler_prototypeAlias$$$imul_reg16$($operand1$$, $operand2$$) {
var $result$$4$$ = $operand1$$ * $operand2$$;
this.flags = 32767 < $result$$4$$ || -32768 > $result$$4$$ ? this.flags | 2049 : this.flags & -2050;
this.flags_changed = 0;
return $result$$4$$;
};
$JSCompiler_prototypeAlias$$.mul32 = function $$JSCompiler_prototypeAlias$$$mul32$($b16_source_operand$$9$$) {
var $a16_dest_operand$$8$$ = this.reg32s[0], $a00$$ = $a16_dest_operand$$8$$ & 65535, $a16_dest_operand$$8$$ = $a16_dest_operand$$8$$ >>> 16, $b00_mid$$ = $b16_source_operand$$9$$ & 65535;
$b16_source_operand$$9$$ = $b16_source_operand$$9$$ >>> 16;
var $low_result$$ = $a00$$ * $b00_mid$$, $b00_mid$$ = ($low_result$$ >>> 16) + ($a16_dest_operand$$8$$ * $b00_mid$$ | 0) | 0, $high_result$$1$$ = $b00_mid$$ >>> 16, $b00_mid$$ = ($b00_mid$$ & 65535) + ($a00$$ * $b16_source_operand$$9$$ | 0) | 0, $high_result$$1$$ = (($b00_mid$$ >>> 16) + ($a16_dest_operand$$8$$ * $b16_source_operand$$9$$ | 0) | 0) + $high_result$$1$$ | 0;
this.reg32s[0] = $b00_mid$$ << 16 | $low_result$$ & 65535;
this.reg32s[2] = $high_result$$1$$;
this.flags = 0 === $high_result$$1$$ ? this.flags & -2050 : this.flags | 2049;
this.flags_changed = 0;
};
$JSCompiler_prototypeAlias$$.imul32 = function $$JSCompiler_prototypeAlias$$$imul32$($b16$$1_source_operand$$10$$) {
var $a16$$1_dest_operand$$9$$ = this.reg32s[0], $is_neg$$ = !1;
0 > $a16$$1_dest_operand$$9$$ && ($is_neg$$ = !0, $a16$$1_dest_operand$$9$$ = -$a16$$1_dest_operand$$9$$ | 0);
0 > $b16$$1_source_operand$$10$$ && ($is_neg$$ = !$is_neg$$, $b16$$1_source_operand$$10$$ = -$b16$$1_source_operand$$10$$ | 0);
var $a00$$1$$ = $a16$$1_dest_operand$$9$$ & 65535, $a16$$1_dest_operand$$9$$ = $a16$$1_dest_operand$$9$$ >>> 16, $b00$$1_mid$$1$$ = $b16$$1_source_operand$$10$$ & 65535;
$b16$$1_source_operand$$10$$ = $b16$$1_source_operand$$10$$ >>> 16;
var $low_result$$1$$ = $a00$$1$$ * $b00$$1_mid$$1$$, $b00$$1_mid$$1$$ = ($low_result$$1$$ >>> 16) + ($a16$$1_dest_operand$$9$$ * $b00$$1_mid$$1$$ | 0) | 0, $high_result$$2$$ = $b00$$1_mid$$1$$ >>> 16, $b00$$1_mid$$1$$ = ($b00$$1_mid$$1$$ & 65535) + ($a00$$1$$ * $b16$$1_source_operand$$10$$ | 0) | 0, $low_result$$1$$ = $b00$$1_mid$$1$$ << 16 | $low_result$$1$$ & 65535, $high_result$$2$$ = (($b00$$1_mid$$1$$ >>> 16) + ($a16$$1_dest_operand$$9$$ * $b16$$1_source_operand$$10$$ | 0) | 0) + $high_result$$2$$ |
0;
$is_neg$$ && ($low_result$$1$$ = -$low_result$$1$$ | 0, $high_result$$2$$ = ~$high_result$$2$$ + !$low_result$$1$$ | 0);
this.reg32s[0] = $low_result$$1$$;
this.reg32s[2] = $high_result$$2$$;
this.flags = $high_result$$2$$ === $low_result$$1$$ >> 31 ? this.flags & -2050 : this.flags | 2049;
this.flags_changed = 0;
};
$JSCompiler_prototypeAlias$$.imul_reg32 = function $$JSCompiler_prototypeAlias$$$imul_reg32$($operand1$$1$$, $operand2$$1$$) {
var $is_neg$$1$$ = !1;
0 > $operand1$$1$$ && ($is_neg$$1$$ = !0, $operand1$$1$$ = -$operand1$$1$$ | 0);
0 > $operand2$$1$$ && ($is_neg$$1$$ = !$is_neg$$1$$, $operand2$$1$$ = -$operand2$$1$$ | 0);
var $a00$$2$$ = $operand1$$1$$ & 65535, $a16$$2$$ = $operand1$$1$$ >>> 16, $b00$$2_mid$$2$$ = $operand2$$1$$ & 65535, $b16$$2$$ = $operand2$$1$$ >>> 16, $low_result$$2$$ = $a00$$2$$ * $b00$$2_mid$$2$$, $b00$$2_mid$$2$$ = ($low_result$$2$$ >>> 16) + ($a16$$2$$ * $b00$$2_mid$$2$$ | 0) | 0, $high_result$$3$$ = $b00$$2_mid$$2$$ >>> 16, $b00$$2_mid$$2$$ = ($b00$$2_mid$$2$$ & 65535) + ($a00$$2$$ * $b16$$2$$ | 0) | 0, $low_result$$2$$ = $b00$$2_mid$$2$$ << 16 | $low_result$$2$$ & 65535, $high_result$$3$$ =
(($b00$$2_mid$$2$$ >>> 16) + ($a16$$2$$ * $b16$$2$$ | 0) | 0) + $high_result$$3$$ | 0;
$is_neg$$1$$ && ($low_result$$2$$ = -$low_result$$2$$ | 0, $high_result$$3$$ = ~$high_result$$3$$ + !$low_result$$2$$ | 0);
this.flags = $high_result$$3$$ === $low_result$$2$$ >> 31 ? this.flags & -2050 : this.flags | 2049;
this.flags_changed = 0;
return $low_result$$2$$;
};
$JSCompiler_prototypeAlias$$.div8 = function $$JSCompiler_prototypeAlias$$$div8$($source_operand$$11$$) {
var $target_operand$$ = this.reg16[0], $result$$5$$ = $target_operand$$ / $source_operand$$11$$ | 0;
256 <= $result$$5$$ || 0 === $source_operand$$11$$ ? this.trigger_de() : (this.reg8[0] = $result$$5$$, this.reg8[1] = $target_operand$$ % $source_operand$$11$$);
};
$JSCompiler_prototypeAlias$$.idiv8 = function $$JSCompiler_prototypeAlias$$$idiv8$($source_operand$$12$$) {
var $target_operand$$1$$ = this.reg16s[0], $result$$6$$ = $target_operand$$1$$ / $source_operand$$12$$ | 0;
128 <= $result$$6$$ || -129 >= $result$$6$$ || 0 === $source_operand$$12$$ ? this.trigger_de() : (this.reg8[0] = $result$$6$$, this.reg8[1] = $target_operand$$1$$ % $source_operand$$12$$);
};
$JSCompiler_prototypeAlias$$.div16 = function $$JSCompiler_prototypeAlias$$$div16$($source_operand$$13$$) {
var $target_operand$$2$$ = (this.reg16[0] | this.reg16[4] << 16) >>> 0, $result$$7$$ = $target_operand$$2$$ / $source_operand$$13$$ | 0;
65536 <= $result$$7$$ || 0 > $result$$7$$ || 0 === $source_operand$$13$$ ? this.trigger_de() : (this.reg16[0] = $result$$7$$, this.reg16[4] = $target_operand$$2$$ % $source_operand$$13$$);
};
$JSCompiler_prototypeAlias$$.idiv16 = function $$JSCompiler_prototypeAlias$$$idiv16$($source_operand$$14$$) {
var $target_operand$$3$$ = this.reg16[0] | this.reg16[4] << 16, $result$$8$$ = $target_operand$$3$$ / $source_operand$$14$$ | 0;
32768 <= $result$$8$$ || -32769 >= $result$$8$$ || 0 === $source_operand$$14$$ ? this.trigger_de() : (this.reg16[0] = $result$$8$$, this.reg16[4] = $target_operand$$3$$ % $source_operand$$14$$);
};
$JSCompiler_prototypeAlias$$.div32 = function $$JSCompiler_prototypeAlias$$$div32$($source_operand$$15$$) {
var $dest_operand_low_div$$ = this.reg32[0], $dest_operand_high_mod$$256$$ = this.reg32[2];
($dest_operand_high_mod$$256$$ >= $source_operand$$15$$ || !$source_operand$$15$$) && this.trigger_de();
var $result$$9$$ = 0;
if (1048576 < $dest_operand_high_mod$$256$$) {
for (var $i$$12$$ = 32, $q$$ = $source_operand$$15$$;$q$$ > $dest_operand_high_mod$$256$$;) {
$q$$ >>>= 1, $i$$12$$--;
}
for (;1048576 < $dest_operand_high_mod$$256$$;) {
if ($dest_operand_high_mod$$256$$ >= $q$$) {
var $dest_operand_high_mod$$256$$ = $dest_operand_high_mod$$256$$ - $q$$, $sub$$ = $source_operand$$15$$ << $i$$12$$ >>> 0;
$sub$$ > $dest_operand_low_div$$ && $dest_operand_high_mod$$256$$--;
$dest_operand_low_div$$ = $dest_operand_low_div$$ - $sub$$ >>> 0;
$result$$9$$ |= 1 << $i$$12$$;
}
$i$$12$$--;
$q$$ >>= 1;
}
$result$$9$$ >>>= 0;
}
$dest_operand_low_div$$ += 4294967296 * $dest_operand_high_mod$$256$$;
$dest_operand_high_mod$$256$$ = $dest_operand_low_div$$ % $source_operand$$15$$;
$result$$9$$ += $dest_operand_low_div$$ / $source_operand$$15$$ | 0;
4294967296 <= $result$$9$$ || 0 === $source_operand$$15$$ ? this.trigger_de() : (this.reg32s[0] = $result$$9$$, this.reg32s[2] = $dest_operand_high_mod$$256$$);
};
$JSCompiler_prototypeAlias$$.idiv32 = function $$JSCompiler_prototypeAlias$$$idiv32$($source_operand$$16$$) {
var $dest_operand_low$$1_div$$1$$ = this.reg32[0], $dest_operand_high$$1_mod$$257$$ = this.reg32s[2], $div_is_neg$$ = !1, $is_neg$$2$$ = !1;
0 > $source_operand$$16$$ && ($is_neg$$2$$ = !0, $source_operand$$16$$ = -$source_operand$$16$$);
0 > $dest_operand_high$$1_mod$$257$$ && ($div_is_neg$$ = !0, $is_neg$$2$$ = !$is_neg$$2$$, $dest_operand_low$$1_div$$1$$ = -$dest_operand_low$$1_div$$1$$ | 0, $dest_operand_high$$1_mod$$257$$ = ~$dest_operand_high$$1_mod$$257$$ + !$dest_operand_low$$1_div$$1$$);
($dest_operand_high$$1_mod$$257$$ >= $source_operand$$16$$ || !$source_operand$$16$$) && this.trigger_de();
var $result$$10$$ = 0;
if (1048576 < $dest_operand_high$$1_mod$$257$$) {
for (var $i$$13$$ = 32, $q$$1$$ = $source_operand$$16$$;$q$$1$$ > $dest_operand_high$$1_mod$$257$$;) {
$q$$1$$ >>>= 1, $i$$13$$--;
}
for (;1048576 < $dest_operand_high$$1_mod$$257$$;) {
if ($dest_operand_high$$1_mod$$257$$ >= $q$$1$$) {
var $dest_operand_high$$1_mod$$257$$ = $dest_operand_high$$1_mod$$257$$ - $q$$1$$, $sub$$1$$ = $source_operand$$16$$ << $i$$13$$ >>> 0;
$sub$$1$$ > $dest_operand_low$$1_div$$1$$ && $dest_operand_high$$1_mod$$257$$--;
$dest_operand_low$$1_div$$1$$ = $dest_operand_low$$1_div$$1$$ - $sub$$1$$ >>> 0;
$result$$10$$ |= 1 << $i$$13$$;
}
$i$$13$$--;
$q$$1$$ >>= 1;
}
$result$$10$$ >>>= 0;
}
$dest_operand_low$$1_div$$1$$ += 4294967296 * $dest_operand_high$$1_mod$$257$$;
$dest_operand_high$$1_mod$$257$$ = $dest_operand_low$$1_div$$1$$ % $source_operand$$16$$;
$result$$10$$ += $dest_operand_low$$1_div$$1$$ / $source_operand$$16$$ | 0;
$is_neg$$2$$ && ($result$$10$$ = -$result$$10$$ | 0);
$div_is_neg$$ && ($dest_operand_high$$1_mod$$257$$ = -$dest_operand_high$$1_mod$$257$$ | 0);
2147483648 <= $result$$10$$ || -2147483649 >= $result$$10$$ || 0 === $source_operand$$16$$ ? this.trigger_de() : (this.reg32s[0] = $result$$10$$, this.reg32s[2] = $dest_operand_high$$1_mod$$257$$);
};
$JSCompiler_prototypeAlias$$.xadd8 = function $$JSCompiler_prototypeAlias$$$xadd8$($source_operand$$17$$, $reg$$) {
var $tmp$$ = this.reg8[$reg$$];
this.reg8[$reg$$] = $source_operand$$17$$;
return this.add($source_operand$$17$$, $tmp$$, 7);
};
$JSCompiler_prototypeAlias$$.xadd16 = function $$JSCompiler_prototypeAlias$$$xadd16$($source_operand$$18$$, $reg$$1$$) {
var $tmp$$1$$ = this.reg16[$reg$$1$$];
this.reg16[$reg$$1$$] = $source_operand$$18$$;
return this.add($source_operand$$18$$, $tmp$$1$$, 15);
};
$JSCompiler_prototypeAlias$$.xadd32 = function $$JSCompiler_prototypeAlias$$$xadd32$($source_operand$$19$$, $reg$$2$$) {
var $tmp$$2$$ = this.reg32s[$reg$$2$$];
this.reg32s[$reg$$2$$] = $source_operand$$19$$;
return this.add($source_operand$$19$$, $tmp$$2$$, 31);
};
$JSCompiler_prototypeAlias$$.bcd_daa = function $$JSCompiler_prototypeAlias$$$bcd_daa$() {
var $old_al$$ = this.reg8[0], $old_cf$$ = this.getcf(), $old_af$$ = this.getaf();
this.flags &= -18;
if (9 < ($old_al$$ & 15) || $old_af$$) {
this.reg8[0] += 6, this.flags |= 16;
}
if (153 < $old_al$$ || $old_cf$$) {
this.reg8[0] += 96, this.flags |= 1;
}
this.last_result = this.reg8[0];
this.last_op_size = 7;
this.last_op1 = this.last_op2 = 0;
this.flags_changed = 196;
};
$JSCompiler_prototypeAlias$$.bcd_das = function $$JSCompiler_prototypeAlias$$$bcd_das$() {
var $old_al$$1$$ = this.reg8[0], $old_cf$$1$$ = this.getcf();
this.flags &= -2;
9 < ($old_al$$1$$ & 15) || this.getaf() ? (this.reg8[0] -= 6, this.flags |= 16, this.flags = this.flags & -2 | $old_cf$$1$$ | this.reg8[0] >> 7) : this.flags &= -17;
if (153 < $old_al$$1$$ || $old_cf$$1$$) {
this.reg8[0] -= 96, this.flags |= 1;
}
this.last_result = this.reg8[0];
this.last_op_size = 7;
this.last_op1 = this.last_op2 = 0;
this.flags_changed = 196;
};
$JSCompiler_prototypeAlias$$.bcd_aam = function $$JSCompiler_prototypeAlias$$$bcd_aam$() {
var $imm8$$ = this.read_imm8();
if (0 === $imm8$$) {
this.trigger_de();
} else {
var $temp$$ = this.reg8[0];
this.reg8[1] = $temp$$ / $imm8$$;
this.reg8[0] = $temp$$ % $imm8$$;
this.last_result = this.reg8[0];
this.flags_changed = 196;
this.flags &= -2066;
}
};
$JSCompiler_prototypeAlias$$.bcd_aad = function $$JSCompiler_prototypeAlias$$$bcd_aad$() {
var $imm8$$1$$ = this.read_imm8();
this.last_result = this.reg8[0] + this.reg8[1] * $imm8$$1$$;
this.reg16[0] = this.last_result & 255;
this.last_op_size = 7;
this.flags_changed = 196;
this.flags &= -2066;
};
$JSCompiler_prototypeAlias$$.bcd_aaa = function $$JSCompiler_prototypeAlias$$$bcd_aaa$() {
9 < (this.reg8[0] & 15) || this.getaf() ? (this.reg16[0] += 6, this.reg8[1] += 1, this.flags |= 17) : this.flags &= -18;
this.reg8[0] &= 15;
this.flags_changed &= -18;
};
$JSCompiler_prototypeAlias$$.bcd_aas = function $$JSCompiler_prototypeAlias$$$bcd_aas$() {
9 < (this.reg8[0] & 15) || this.getaf() ? (this.reg16[0] -= 6, this.reg8[1] -= 1, this.flags |= 17) : this.flags &= -18;
this.reg8[0] &= 15;
this.flags_changed &= -18;
};
$JSCompiler_prototypeAlias$$.and = function $$JSCompiler_prototypeAlias$$$and$($dest_operand$$10$$, $source_operand$$20$$, $op_size$$8$$) {
this.last_result = $dest_operand$$10$$ & $source_operand$$20$$;
this.last_op_size = $op_size$$8$$;
this.flags &= -2066;
this.flags_changed = 196;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.or = function $$JSCompiler_prototypeAlias$$$or$($dest_operand$$11$$, $source_operand$$21$$, $op_size$$9$$) {
this.last_result = $dest_operand$$11$$ | $source_operand$$21$$;
this.last_op_size = $op_size$$9$$;
this.flags &= -2066;
this.flags_changed = 196;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.xor = function $$JSCompiler_prototypeAlias$$$xor$($dest_operand$$12$$, $source_operand$$22$$, $op_size$$10$$) {
this.last_result = $dest_operand$$12$$ ^ $source_operand$$22$$;
this.last_op_size = $op_size$$10$$;
this.flags &= -2066;
this.flags_changed = 196;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.rol8 = function $$JSCompiler_prototypeAlias$$$rol8$($dest_operand$$13$$, $count$$10$$) {
if (!$count$$10$$) {
return $dest_operand$$13$$;
}
$count$$10$$ &= 7;
var $result$$11$$ = $dest_operand$$13$$ << $count$$10$$ | $dest_operand$$13$$ >> 8 - $count$$10$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$11$$ & 1 | ($result$$11$$ << 11 ^ $result$$11$$ << 4) & 2048;
return $result$$11$$;
};
$JSCompiler_prototypeAlias$$.rol16 = function $$JSCompiler_prototypeAlias$$$rol16$($dest_operand$$14$$, $count$$11$$) {
if (!$count$$11$$) {
return $dest_operand$$14$$;
}
$count$$11$$ &= 15;
var $result$$12$$ = $dest_operand$$14$$ << $count$$11$$ | $dest_operand$$14$$ >> 16 - $count$$11$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$12$$ & 1 | ($result$$12$$ << 11 ^ $result$$12$$ >> 4) & 2048;
return $result$$12$$;
};
$JSCompiler_prototypeAlias$$.rol32 = function $$JSCompiler_prototypeAlias$$$rol32$($dest_operand$$15$$, $count$$12$$) {
if (!$count$$12$$) {
return $dest_operand$$15$$;
}
var $result$$13$$ = $dest_operand$$15$$ << $count$$12$$ | $dest_operand$$15$$ >>> 32 - $count$$12$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$13$$ & 1 | ($result$$13$$ << 11 ^ $result$$13$$ >> 20) & 2048;
return $result$$13$$;
};
$JSCompiler_prototypeAlias$$.rcl8 = function $$JSCompiler_prototypeAlias$$$rcl8$($dest_operand$$16$$, $count$$13$$) {
$count$$13$$ %= 9;
if (!$count$$13$$) {
return $dest_operand$$16$$;
}
var $result$$14$$ = $dest_operand$$16$$ << $count$$13$$ | this.getcf() << $count$$13$$ - 1 | $dest_operand$$16$$ >> 9 - $count$$13$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$14$$ >> 8 & 1 | ($result$$14$$ << 3 ^ $result$$14$$ << 4) & 2048;
return $result$$14$$;
};
$JSCompiler_prototypeAlias$$.rcl16 = function $$JSCompiler_prototypeAlias$$$rcl16$($dest_operand$$17$$, $count$$14$$) {
$count$$14$$ %= 17;
if (!$count$$14$$) {
return $dest_operand$$17$$;
}
var $result$$15$$ = $dest_operand$$17$$ << $count$$14$$ | this.getcf() << $count$$14$$ - 1 | $dest_operand$$17$$ >> 17 - $count$$14$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$15$$ >> 16 & 1 | ($result$$15$$ >> 5 ^ $result$$15$$ >> 4) & 2048;
return $result$$15$$;
};
$JSCompiler_prototypeAlias$$.rcl32 = function $$JSCompiler_prototypeAlias$$$rcl32$($dest_operand$$18$$, $count$$15$$) {
if (!$count$$15$$) {
return $dest_operand$$18$$;
}
var $result$$16$$ = $dest_operand$$18$$ << $count$$15$$ | this.getcf() << $count$$15$$ - 1;
1 < $count$$15$$ && ($result$$16$$ |= $dest_operand$$18$$ >>> 33 - $count$$15$$);
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $dest_operand$$18$$ >>> 32 - $count$$15$$ & 1;
this.flags |= (this.flags << 11 ^ $result$$16$$ >> 20) & 2048;
return $result$$16$$;
};
$JSCompiler_prototypeAlias$$.ror8 = function $$JSCompiler_prototypeAlias$$$ror8$($dest_operand$$19$$, $count$$16$$) {
$count$$16$$ &= 7;
if (!$count$$16$$) {
return $dest_operand$$19$$;
}
var $result$$17$$ = $dest_operand$$19$$ >> $count$$16$$ | $dest_operand$$19$$ << 8 - $count$$16$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$17$$ >> 7 & 1 | ($result$$17$$ << 4 ^ $result$$17$$ << 5) & 2048;
return $result$$17$$;
};
$JSCompiler_prototypeAlias$$.ror16 = function $$JSCompiler_prototypeAlias$$$ror16$($dest_operand$$20$$, $count$$17$$) {
$count$$17$$ &= 15;
if (!$count$$17$$) {
return $dest_operand$$20$$;
}
var $result$$18$$ = $dest_operand$$20$$ >> $count$$17$$ | $dest_operand$$20$$ << 16 - $count$$17$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$18$$ >> 15 & 1 | ($result$$18$$ >> 4 ^ $result$$18$$ >> 3) & 2048;
return $result$$18$$;
};
$JSCompiler_prototypeAlias$$.ror32 = function $$JSCompiler_prototypeAlias$$$ror32$($dest_operand$$21$$, $count$$18$$) {
if (!$count$$18$$) {
return $dest_operand$$21$$;
}
var $result$$19$$ = $dest_operand$$21$$ >>> $count$$18$$ | $dest_operand$$21$$ << 32 - $count$$18$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$19$$ >> 31 & 1 | ($result$$19$$ >> 20 ^ $result$$19$$ >> 19) & 2048;
return $result$$19$$;
};
$JSCompiler_prototypeAlias$$.rcr8 = function $$JSCompiler_prototypeAlias$$$rcr8$($dest_operand$$22$$, $count$$19$$) {
$count$$19$$ %= 9;
if (!$count$$19$$) {
return $dest_operand$$22$$;
}
var $result$$20$$ = $dest_operand$$22$$ >> $count$$19$$ | this.getcf() << 8 - $count$$19$$ | $dest_operand$$22$$ << 9 - $count$$19$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$20$$ >> 8 & 1 | ($result$$20$$ << 4 ^ $result$$20$$ << 5) & 2048;
return $result$$20$$;
};
$JSCompiler_prototypeAlias$$.rcr16 = function $$JSCompiler_prototypeAlias$$$rcr16$($dest_operand$$23$$, $count$$20$$) {
$count$$20$$ %= 17;
if (!$count$$20$$) {
return $dest_operand$$23$$;
}
var $result$$21$$ = $dest_operand$$23$$ >> $count$$20$$ | this.getcf() << 16 - $count$$20$$ | $dest_operand$$23$$ << 17 - $count$$20$$;
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $result$$21$$ >> 16 & 1 | ($result$$21$$ >> 4 ^ $result$$21$$ >> 3) & 2048;
return $result$$21$$;
};
$JSCompiler_prototypeAlias$$.rcr32 = function $$JSCompiler_prototypeAlias$$$rcr32$($dest_operand$$24$$, $count$$21$$) {
if (!$count$$21$$) {
return $dest_operand$$24$$;
}
var $result$$22$$ = $dest_operand$$24$$ >>> $count$$21$$ | this.getcf() << 32 - $count$$21$$;
1 < $count$$21$$ && ($result$$22$$ |= $dest_operand$$24$$ << 33 - $count$$21$$);
this.flags_changed &= -2050;
this.flags = this.flags & -2050 | $dest_operand$$24$$ >> $count$$21$$ - 1 & 1 | ($result$$22$$ >> 20 ^ $result$$22$$ >> 19) & 2048;
return $result$$22$$;
};
$JSCompiler_prototypeAlias$$.shl8 = function $$JSCompiler_prototypeAlias$$$shl8$($dest_operand$$25$$, $count$$22$$) {
if (0 === $count$$22$$) {
return $dest_operand$$25$$;
}
this.last_result = $dest_operand$$25$$ << $count$$22$$;
this.last_op_size = 7;
this.flags_changed = 212;
this.flags = this.flags & -2050 | this.last_result >> 8 & 1 | (this.last_result << 3 ^ this.last_result << 4) & 2048;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shl16 = function $$JSCompiler_prototypeAlias$$$shl16$($dest_operand$$26$$, $count$$23$$) {
if (0 === $count$$23$$) {
return $dest_operand$$26$$;
}
this.last_result = $dest_operand$$26$$ << $count$$23$$;
this.last_op_size = 15;
this.flags_changed = 212;
this.flags = this.flags & -2050 | this.last_result >> 16 & 1 | (this.last_result >> 5 ^ this.last_result >> 4) & 2048;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shl32 = function $$JSCompiler_prototypeAlias$$$shl32$($dest_operand$$27$$, $count$$24$$) {
if (0 === $count$$24$$) {
return $dest_operand$$27$$;
}
this.last_result = $dest_operand$$27$$ << $count$$24$$;
this.last_op_size = 31;
this.flags_changed = 212;
this.flags = this.flags & -2050 | $dest_operand$$27$$ >>> 32 - $count$$24$$ & 1;
this.flags |= (this.flags & 1 ^ this.last_result >> 31 & 1) << 11 & 2048;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shr8 = function $$JSCompiler_prototypeAlias$$$shr8$($dest_operand$$28$$, $count$$25$$) {
if (0 === $count$$25$$) {
return $dest_operand$$28$$;
}
this.last_result = $dest_operand$$28$$ >> $count$$25$$;
this.last_op_size = 7;
this.flags_changed = 212;
this.flags = this.flags & -2050 | $dest_operand$$28$$ >> $count$$25$$ - 1 & 1 | ($dest_operand$$28$$ >> 7 & 1) << 11 & 2048;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shr16 = function $$JSCompiler_prototypeAlias$$$shr16$($dest_operand$$29$$, $count$$26$$) {
if (0 === $count$$26$$) {
return $dest_operand$$29$$;
}
this.last_result = $dest_operand$$29$$ >> $count$$26$$;
this.last_op_size = 15;
this.flags_changed = 212;
this.flags = this.flags & -2050 | $dest_operand$$29$$ >> $count$$26$$ - 1 & 1 | $dest_operand$$29$$ >> 4 & 2048;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shr32 = function $$JSCompiler_prototypeAlias$$$shr32$($dest_operand$$30$$, $count$$27$$) {
if (0 === $count$$27$$) {
return $dest_operand$$30$$;
}
this.last_result = $dest_operand$$30$$ >>> $count$$27$$;
this.last_op_size = 31;
this.flags_changed = 212;
this.flags = this.flags & -2050 | $dest_operand$$30$$ >>> $count$$27$$ - 1 & 1 | $dest_operand$$30$$ >> 20 & 2048;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.sar8 = function $$JSCompiler_prototypeAlias$$$sar8$($dest_operand$$31$$, $count$$28$$) {
if (0 === $count$$28$$) {
return $dest_operand$$31$$;
}
this.last_result = $dest_operand$$31$$ >> $count$$28$$;
this.last_op_size = 7;
this.flags_changed = 212;
this.flags = this.flags & -2050 | $dest_operand$$31$$ >> $count$$28$$ - 1 & 1;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.sar16 = function $$JSCompiler_prototypeAlias$$$sar16$($dest_operand$$32$$, $count$$29$$) {
if (0 === $count$$29$$) {
return $dest_operand$$32$$;
}
this.last_result = $dest_operand$$32$$ >> $count$$29$$;
this.last_op_size = 15;
this.flags_changed = 212;
this.flags = this.flags & -2050 | $dest_operand$$32$$ >> $count$$29$$ - 1 & 1;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.sar32 = function $$JSCompiler_prototypeAlias$$$sar32$($dest_operand$$33$$, $count$$30$$) {
if (0 === $count$$30$$) {
return $dest_operand$$33$$;
}
this.last_result = $dest_operand$$33$$ >> $count$$30$$;
this.last_op_size = 31;
this.flags_changed = 212;
this.flags = this.flags & -2050 | $dest_operand$$33$$ >>> $count$$30$$ - 1 & 1;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shrd16 = function $$JSCompiler_prototypeAlias$$$shrd16$($dest_operand$$34$$, $source_operand$$23$$, $count$$31$$) {
if (0 === $count$$31$$) {
return $dest_operand$$34$$;
}
16 >= $count$$31$$ ? (this.last_result = $dest_operand$$34$$ >> $count$$31$$ | $source_operand$$23$$ << 16 - $count$$31$$, this.flags = this.flags & -2 | $dest_operand$$34$$ >> $count$$31$$ - 1 & 1) : (this.last_result = $dest_operand$$34$$ << 32 - $count$$31$$ | $source_operand$$23$$ >> $count$$31$$ - 16, this.flags = this.flags & -2 | $source_operand$$23$$ >> $count$$31$$ - 17 & 1);
this.last_op_size = 15;
this.flags_changed = 212;
this.flags = this.flags & -2049 | (this.last_result ^ $dest_operand$$34$$) >> 4 & 2048;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shrd32 = function $$JSCompiler_prototypeAlias$$$shrd32$($dest_operand$$35$$, $source_operand$$24$$, $count$$32$$) {
if (0 === $count$$32$$) {
return $dest_operand$$35$$;
}
this.last_result = $dest_operand$$35$$ >>> $count$$32$$ | $source_operand$$24$$ << 32 - $count$$32$$;
this.last_op_size = 31;
this.flags_changed = 212;
this.flags = this.flags & -2 | $dest_operand$$35$$ >>> $count$$32$$ - 1 & 1;
this.flags = this.flags & -2049 | (this.last_result ^ $dest_operand$$35$$) >> 20 & 2048;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shld16 = function $$JSCompiler_prototypeAlias$$$shld16$($dest_operand$$36$$, $source_operand$$25$$, $count$$33$$) {
if (0 === $count$$33$$) {
return $dest_operand$$36$$;
}
16 >= $count$$33$$ ? (this.last_result = $dest_operand$$36$$ << $count$$33$$ | $source_operand$$25$$ >>> 16 - $count$$33$$, this.flags = this.flags & -2 | $dest_operand$$36$$ >>> 16 - $count$$33$$ & 1) : (this.last_result = $dest_operand$$36$$ >> 32 - $count$$33$$ | $source_operand$$25$$ << $count$$33$$ - 16, this.flags = this.flags & -2 | $source_operand$$25$$ >>> 32 - $count$$33$$ & 1);
this.last_op_size = 15;
this.flags_changed = 212;
this.flags = this.flags & -2049 | (this.flags & 1 ^ this.last_result >> 15 & 1) << 11;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.shld32 = function $$JSCompiler_prototypeAlias$$$shld32$($dest_operand$$37$$, $source_operand$$26$$, $count$$34$$) {
if (0 === $count$$34$$) {
return $dest_operand$$37$$;
}
this.last_result = $dest_operand$$37$$ << $count$$34$$ | $source_operand$$26$$ >>> 32 - $count$$34$$;
this.last_op_size = 31;
this.flags_changed = 212;
this.flags = this.flags & -2 | $dest_operand$$37$$ >>> 32 - $count$$34$$ & 1;
this.flags = this.flags & -2049 | (this.flags & 1 ^ this.last_result >> 31 & 1) << 11;
return this.last_result;
};
$JSCompiler_prototypeAlias$$.bt_reg = function $$JSCompiler_prototypeAlias$$$bt_reg$($bit_base$$, $bit_offset$$) {
this.flags = this.flags & -2 | $bit_base$$ >> $bit_offset$$ & 1;
this.flags_changed &= -2;
};
$JSCompiler_prototypeAlias$$.btc_reg = function $$JSCompiler_prototypeAlias$$$btc_reg$($bit_base$$1$$, $bit_offset$$1$$) {
this.flags = this.flags & -2 | $bit_base$$1$$ >> $bit_offset$$1$$ & 1;
this.flags_changed &= -2;
return $bit_base$$1$$ ^ 1 << $bit_offset$$1$$;
};
$JSCompiler_prototypeAlias$$.bts_reg = function $$JSCompiler_prototypeAlias$$$bts_reg$($bit_base$$2$$, $bit_offset$$2$$) {
this.flags = this.flags & -2 | $bit_base$$2$$ >> $bit_offset$$2$$ & 1;
this.flags_changed &= -2;
return $bit_base$$2$$ | 1 << $bit_offset$$2$$;
};
$JSCompiler_prototypeAlias$$.btr_reg = function $$JSCompiler_prototypeAlias$$$btr_reg$($bit_base$$3$$, $bit_offset$$3$$) {
this.flags = this.flags & -2 | $bit_base$$3$$ >> $bit_offset$$3$$ & 1;
this.flags_changed &= -2;
return $bit_base$$3$$ & ~(1 << $bit_offset$$3$$);
};
$JSCompiler_prototypeAlias$$.bt_mem = function $$JSCompiler_prototypeAlias$$$bt_mem$($virt_addr$$, $bit_offset$$4$$) {
var $bit_base$$4$$ = this.safe_read8($virt_addr$$ + ($bit_offset$$4$$ >> 3));
this.flags = this.flags & -2 | $bit_base$$4$$ >> ($bit_offset$$4$$ & 7) & 1;
this.flags_changed &= -2;
};
$JSCompiler_prototypeAlias$$.btc_mem = function $$JSCompiler_prototypeAlias$$$btc_mem$($virt_addr$$1$$, $bit_offset$$5$$) {
var $phys_addr$$ = this.translate_address_write($virt_addr$$1$$ + ($bit_offset$$5$$ >> 3)), $bit_base$$5$$ = this.memory.read8($phys_addr$$);
$bit_offset$$5$$ &= 7;
this.flags = this.flags & -2 | $bit_base$$5$$ >> $bit_offset$$5$$ & 1;
this.flags_changed &= -2;
this.memory.write8($phys_addr$$, $bit_base$$5$$ ^ 1 << $bit_offset$$5$$);
};
$JSCompiler_prototypeAlias$$.btr_mem = function $$JSCompiler_prototypeAlias$$$btr_mem$($virt_addr$$2$$, $bit_offset$$6$$) {
var $phys_addr$$1$$ = this.translate_address_write($virt_addr$$2$$ + ($bit_offset$$6$$ >> 3)), $bit_base$$6$$ = this.memory.read8($phys_addr$$1$$);
$bit_offset$$6$$ &= 7;
this.flags = this.flags & -2 | $bit_base$$6$$ >> $bit_offset$$6$$ & 1;
this.flags_changed &= -2;
this.memory.write8($phys_addr$$1$$, $bit_base$$6$$ & ~(1 << $bit_offset$$6$$));
};
$JSCompiler_prototypeAlias$$.bts_mem = function $$JSCompiler_prototypeAlias$$$bts_mem$($virt_addr$$3$$, $bit_offset$$7$$) {
var $phys_addr$$2$$ = this.translate_address_write($virt_addr$$3$$ + ($bit_offset$$7$$ >> 3)), $bit_base$$7$$ = this.memory.read8($phys_addr$$2$$);
$bit_offset$$7$$ &= 7;
this.flags = this.flags & -2 | $bit_base$$7$$ >> $bit_offset$$7$$ & 1;
this.flags_changed &= -2;
this.memory.write8($phys_addr$$2$$, $bit_base$$7$$ | 1 << $bit_offset$$7$$);
};
$JSCompiler_prototypeAlias$$.bsf16 = function $$JSCompiler_prototypeAlias$$$bsf16$($old$$, $bit_base$$8$$) {
this.flags_changed = 0;
if (0 === $bit_base$$8$$) {
return this.flags |= 64, $old$$;
}
this.flags &= -65;
return Math.int_log2(-$bit_base$$8$$ & $bit_base$$8$$);
};
$JSCompiler_prototypeAlias$$.bsf32 = function $$JSCompiler_prototypeAlias$$$bsf32$($old$$1$$, $bit_base$$9$$) {
this.flags_changed = 0;
if (0 === $bit_base$$9$$) {
return this.flags |= 64, $old$$1$$;
}
this.flags &= -65;
return Math.int_log2((-$bit_base$$9$$ & $bit_base$$9$$) >>> 0);
};
$JSCompiler_prototypeAlias$$.bsr16 = function $$JSCompiler_prototypeAlias$$$bsr16$($old$$2$$, $bit_base$$10$$) {
this.flags_changed = 0;
if (0 === $bit_base$$10$$) {
return this.flags |= 64, $old$$2$$;
}
this.flags &= -65;
return Math.int_log2($bit_base$$10$$);
};
$JSCompiler_prototypeAlias$$.bsr32 = function $$JSCompiler_prototypeAlias$$$bsr32$($old$$3$$, $bit_base$$11$$) {
this.flags_changed = 0;
if (0 === $bit_base$$11$$) {
return this.flags |= 64, $old$$3$$;
}
this.flags &= -65;
return Math.int_log2($bit_base$$11$$ >>> 0);
};
"use strict";
"use strict";
var $table16$$ = [], $table32$$ = [], $table0F_16$$ = [], $table0F_32$$ = [];
$v86$$.prototype.table16 = $table16$$;
$v86$$.prototype.table32 = $table32$$;
$v86$$.prototype.table0F_16 = $table0F_16$$;
$v86$$.prototype.table0F_32 = $table0F_32$$;
$table16$$[0] = $table32$$[0] = function $$table32$$$0$($cpu$$331$$) {
var $modrm_byte$$1$$ = $cpu$$331$$.read_imm8(), $data$$25_result$$23$$, $addr$$9$$;
192 > $modrm_byte$$1$$ ? ($addr$$9$$ = $cpu$$331$$.translate_address_write($cpu$$331$$.modrm_resolve($modrm_byte$$1$$)), $data$$25_result$$23$$ = $cpu$$331$$.memory.read8($addr$$9$$)) : $data$$25_result$$23$$ = $cpu$$331$$.reg8[$modrm_byte$$1$$ << 2 & 12 | $modrm_byte$$1$$ >> 2 & 1];
$data$$25_result$$23$$ = $cpu$$331$$.add($data$$25_result$$23$$, $cpu$$331$$.reg8[$modrm_byte$$1$$ >> 1 & 12 | $modrm_byte$$1$$ >> 5 & 1], 7);
192 > $modrm_byte$$1$$ ? $cpu$$331$$.memory.write8($addr$$9$$, $data$$25_result$$23$$) : $cpu$$331$$.reg8[$modrm_byte$$1$$ << 2 & 12 | $modrm_byte$$1$$ >> 2 & 1] = $data$$25_result$$23$$;
};
$table16$$[1] = function $$table16$$$1$($cpu$$332$$) {
var $modrm_byte$$2$$ = $cpu$$332$$.read_imm8(), $data$$26_result$$24_virt_addr$$4$$, $phys_addr$$3$$, $phys_addr_high$$ = 0;
192 > $modrm_byte$$2$$ ? ($data$$26_result$$24_virt_addr$$4$$ = $cpu$$332$$.modrm_resolve($modrm_byte$$2$$), $phys_addr$$3$$ = $cpu$$332$$.translate_address_write($data$$26_result$$24_virt_addr$$4$$), $cpu$$332$$.paging && 4095 === ($data$$26_result$$24_virt_addr$$4$$ & 4095) ? ($phys_addr_high$$ = $cpu$$332$$.translate_address_write($data$$26_result$$24_virt_addr$$4$$ + 1), $data$$26_result$$24_virt_addr$$4$$ = $cpu$$332$$.virt_boundary_read16($phys_addr$$3$$, $phys_addr_high$$)) : $data$$26_result$$24_virt_addr$$4$$ =
$cpu$$332$$.memory.read16($phys_addr$$3$$)) : $data$$26_result$$24_virt_addr$$4$$ = $cpu$$332$$.reg16[$modrm_byte$$2$$ << 1 & 14];
$data$$26_result$$24_virt_addr$$4$$ = $cpu$$332$$.add($data$$26_result$$24_virt_addr$$4$$, $cpu$$332$$.reg16[$modrm_byte$$2$$ >> 2 & 14], 15);
192 > $modrm_byte$$2$$ ? $phys_addr_high$$ ? $cpu$$332$$.virt_boundary_write16($phys_addr$$3$$, $phys_addr_high$$, $data$$26_result$$24_virt_addr$$4$$) : $cpu$$332$$.memory.write16($phys_addr$$3$$, $data$$26_result$$24_virt_addr$$4$$) : $cpu$$332$$.reg16[$modrm_byte$$2$$ << 1 & 14] = $data$$26_result$$24_virt_addr$$4$$;
};
$table32$$[1] = function $$table32$$$1$($cpu$$333$$) {
var $modrm_byte$$3$$ = $cpu$$333$$.read_imm8(), $data$$27_result$$25_virt_addr$$5$$, $phys_addr$$4$$, $phys_addr_high$$1$$ = 0;
192 > $modrm_byte$$3$$ ? ($data$$27_result$$25_virt_addr$$5$$ = $cpu$$333$$.modrm_resolve($modrm_byte$$3$$), $phys_addr$$4$$ = $cpu$$333$$.translate_address_write($data$$27_result$$25_virt_addr$$5$$), $cpu$$333$$.paging && 4093 <= ($data$$27_result$$25_virt_addr$$5$$ & 4095) ? ($phys_addr_high$$1$$ = $cpu$$333$$.translate_address_write($data$$27_result$$25_virt_addr$$5$$ + 3), $data$$27_result$$25_virt_addr$$5$$ = $cpu$$333$$.virt_boundary_read32s($phys_addr$$4$$, $phys_addr_high$$1$$)) : $data$$27_result$$25_virt_addr$$5$$ =
$cpu$$333$$.memory.read32s($phys_addr$$4$$)) : $data$$27_result$$25_virt_addr$$5$$ = $cpu$$333$$.reg32s[$modrm_byte$$3$$ & 7];
$data$$27_result$$25_virt_addr$$5$$ = $cpu$$333$$.add($data$$27_result$$25_virt_addr$$5$$, $cpu$$333$$.reg32s[$modrm_byte$$3$$ >> 3 & 7], 31);
192 > $modrm_byte$$3$$ ? $phys_addr_high$$1$$ ? $cpu$$333$$.virt_boundary_write32($phys_addr$$4$$, $phys_addr_high$$1$$, $data$$27_result$$25_virt_addr$$5$$) : $cpu$$333$$.memory.write32($phys_addr$$4$$, $data$$27_result$$25_virt_addr$$5$$) : $cpu$$333$$.reg32s[$modrm_byte$$3$$ & 7] = $data$$27_result$$25_virt_addr$$5$$;
};
$table16$$[2] = $table32$$[2] = function $$table32$$$2$($cpu$$334$$) {
var $modrm_byte$$4$$ = $cpu$$334$$.read_imm8(), $data$$28$$ = 192 > $modrm_byte$$4$$ ? $cpu$$334$$.safe_read8($cpu$$334$$.modrm_resolve($modrm_byte$$4$$)) : $cpu$$334$$.reg8[$modrm_byte$$4$$ << 2 & 12 | $modrm_byte$$4$$ >> 2 & 1];
$cpu$$334$$.reg8[$modrm_byte$$4$$ >> 1 & 12 | $modrm_byte$$4$$ >> 5 & 1] = $cpu$$334$$.add($cpu$$334$$.reg8[$modrm_byte$$4$$ >> 1 & 12 | $modrm_byte$$4$$ >> 5 & 1], $data$$28$$, 7);
};
$table16$$[3] = function $$table16$$$3$($cpu$$335$$) {
var $modrm_byte$$5$$ = $cpu$$335$$.read_imm8(), $data$$29$$ = 192 > $modrm_byte$$5$$ ? $cpu$$335$$.safe_read16($cpu$$335$$.modrm_resolve($modrm_byte$$5$$)) : $cpu$$335$$.reg16[$modrm_byte$$5$$ << 1 & 14];
$cpu$$335$$.reg16[$modrm_byte$$5$$ >> 2 & 14] = $cpu$$335$$.add($cpu$$335$$.reg16[$modrm_byte$$5$$ >> 2 & 14], $data$$29$$, 15);
};
$table32$$[3] = function $$table32$$$3$($cpu$$336$$) {
var $modrm_byte$$6$$ = $cpu$$336$$.read_imm8(), $data$$30$$ = 192 > $modrm_byte$$6$$ ? $cpu$$336$$.safe_read32s($cpu$$336$$.modrm_resolve($modrm_byte$$6$$)) : $cpu$$336$$.reg32s[$modrm_byte$$6$$ & 7];
$cpu$$336$$.reg32s[$modrm_byte$$6$$ >> 3 & 7] = $cpu$$336$$.add($cpu$$336$$.reg32s[$modrm_byte$$6$$ >> 3 & 7], $data$$30$$, 31);
};
$table16$$[4] = $table32$$[4] = function $$table32$$$4$($cpu$$337$$) {
$cpu$$337$$.reg8[0] = $cpu$$337$$.add($cpu$$337$$.reg8[0], $cpu$$337$$.read_imm8(), 7);
};
$table16$$[5] = function $$table16$$$5$($cpu$$338$$) {
$cpu$$338$$.reg16[0] = $cpu$$338$$.add($cpu$$338$$.reg16[0], $cpu$$338$$.read_imm16(), 15);
};
$table32$$[5] = function $$table32$$$5$($cpu$$339$$) {
$cpu$$339$$.reg32s[0] = $cpu$$339$$.add($cpu$$339$$.reg32s[0], $cpu$$339$$.read_imm32s(), 31);
};
$table16$$[6] = function $$table16$$$6$($cpu$$340$$) {
$cpu$$340$$.push16($cpu$$340$$.sreg[0]);
};
$table32$$[6] = function $$table32$$$6$($cpu$$341$$) {
$cpu$$341$$.push32($cpu$$341$$.sreg[0]);
};
$table16$$[7] = function $$table16$$$7$($cpu$$342$$) {
$cpu$$342$$.switch_seg(0, $cpu$$342$$.safe_read16($cpu$$342$$.get_stack_pointer(0)));
$cpu$$342$$.stack_reg[$cpu$$342$$.reg_vsp] += 2;
};
$table32$$[7] = function $$table32$$$7$($cpu$$343$$) {
$cpu$$343$$.switch_seg(0, $cpu$$343$$.safe_read16($cpu$$343$$.get_stack_pointer(0)));
$cpu$$343$$.stack_reg[$cpu$$343$$.reg_vsp] += 4;
};
$table16$$[8] = $table32$$[8] = function $$table32$$$8$($cpu$$344$$) {
var $modrm_byte$$7$$ = $cpu$$344$$.read_imm8(), $data$$31_result$$26$$, $addr$$10$$;
192 > $modrm_byte$$7$$ ? ($addr$$10$$ = $cpu$$344$$.translate_address_write($cpu$$344$$.modrm_resolve($modrm_byte$$7$$)), $data$$31_result$$26$$ = $cpu$$344$$.memory.read8($addr$$10$$)) : $data$$31_result$$26$$ = $cpu$$344$$.reg8[$modrm_byte$$7$$ << 2 & 12 | $modrm_byte$$7$$ >> 2 & 1];
$data$$31_result$$26$$ = $cpu$$344$$.or($data$$31_result$$26$$, $cpu$$344$$.reg8[$modrm_byte$$7$$ >> 1 & 12 | $modrm_byte$$7$$ >> 5 & 1], 7);
192 > $modrm_byte$$7$$ ? $cpu$$344$$.memory.write8($addr$$10$$, $data$$31_result$$26$$) : $cpu$$344$$.reg8[$modrm_byte$$7$$ << 2 & 12 | $modrm_byte$$7$$ >> 2 & 1] = $data$$31_result$$26$$;
};
$table16$$[9] = function $$table16$$$9$($cpu$$345$$) {
var $modrm_byte$$8$$ = $cpu$$345$$.read_imm8(), $data$$32_result$$27_virt_addr$$6$$, $phys_addr$$5$$, $phys_addr_high$$2$$ = 0;
192 > $modrm_byte$$8$$ ? ($data$$32_result$$27_virt_addr$$6$$ = $cpu$$345$$.modrm_resolve($modrm_byte$$8$$), $phys_addr$$5$$ = $cpu$$345$$.translate_address_write($data$$32_result$$27_virt_addr$$6$$), $cpu$$345$$.paging && 4095 === ($data$$32_result$$27_virt_addr$$6$$ & 4095) ? ($phys_addr_high$$2$$ = $cpu$$345$$.translate_address_write($data$$32_result$$27_virt_addr$$6$$ + 1), $data$$32_result$$27_virt_addr$$6$$ = $cpu$$345$$.virt_boundary_read16($phys_addr$$5$$, $phys_addr_high$$2$$)) : $data$$32_result$$27_virt_addr$$6$$ =
$cpu$$345$$.memory.read16($phys_addr$$5$$)) : $data$$32_result$$27_virt_addr$$6$$ = $cpu$$345$$.reg16[$modrm_byte$$8$$ << 1 & 14];
$data$$32_result$$27_virt_addr$$6$$ = $cpu$$345$$.or($data$$32_result$$27_virt_addr$$6$$, $cpu$$345$$.reg16[$modrm_byte$$8$$ >> 2 & 14], 15);
192 > $modrm_byte$$8$$ ? $phys_addr_high$$2$$ ? $cpu$$345$$.virt_boundary_write16($phys_addr$$5$$, $phys_addr_high$$2$$, $data$$32_result$$27_virt_addr$$6$$) : $cpu$$345$$.memory.write16($phys_addr$$5$$, $data$$32_result$$27_virt_addr$$6$$) : $cpu$$345$$.reg16[$modrm_byte$$8$$ << 1 & 14] = $data$$32_result$$27_virt_addr$$6$$;
};
$table32$$[9] = function $$table32$$$9$($cpu$$346$$) {
var $modrm_byte$$9$$ = $cpu$$346$$.read_imm8(), $data$$33_result$$28_virt_addr$$7$$, $phys_addr$$6$$, $phys_addr_high$$3$$ = 0;
192 > $modrm_byte$$9$$ ? ($data$$33_result$$28_virt_addr$$7$$ = $cpu$$346$$.modrm_resolve($modrm_byte$$9$$), $phys_addr$$6$$ = $cpu$$346$$.translate_address_write($data$$33_result$$28_virt_addr$$7$$), $cpu$$346$$.paging && 4093 <= ($data$$33_result$$28_virt_addr$$7$$ & 4095) ? ($phys_addr_high$$3$$ = $cpu$$346$$.translate_address_write($data$$33_result$$28_virt_addr$$7$$ + 3), $data$$33_result$$28_virt_addr$$7$$ = $cpu$$346$$.virt_boundary_read32s($phys_addr$$6$$, $phys_addr_high$$3$$)) : $data$$33_result$$28_virt_addr$$7$$ =
$cpu$$346$$.memory.read32s($phys_addr$$6$$)) : $data$$33_result$$28_virt_addr$$7$$ = $cpu$$346$$.reg32s[$modrm_byte$$9$$ & 7];
$data$$33_result$$28_virt_addr$$7$$ = $cpu$$346$$.or($data$$33_result$$28_virt_addr$$7$$, $cpu$$346$$.reg32s[$modrm_byte$$9$$ >> 3 & 7], 31);
192 > $modrm_byte$$9$$ ? $phys_addr_high$$3$$ ? $cpu$$346$$.virt_boundary_write32($phys_addr$$6$$, $phys_addr_high$$3$$, $data$$33_result$$28_virt_addr$$7$$) : $cpu$$346$$.memory.write32($phys_addr$$6$$, $data$$33_result$$28_virt_addr$$7$$) : $cpu$$346$$.reg32s[$modrm_byte$$9$$ & 7] = $data$$33_result$$28_virt_addr$$7$$;
};
$table16$$[10] = $table32$$[10] = function $$table32$$$10$($cpu$$347$$) {
var $modrm_byte$$10$$ = $cpu$$347$$.read_imm8(), $data$$34$$ = 192 > $modrm_byte$$10$$ ? $cpu$$347$$.safe_read8($cpu$$347$$.modrm_resolve($modrm_byte$$10$$)) : $cpu$$347$$.reg8[$modrm_byte$$10$$ << 2 & 12 | $modrm_byte$$10$$ >> 2 & 1];
$cpu$$347$$.reg8[$modrm_byte$$10$$ >> 1 & 12 | $modrm_byte$$10$$ >> 5 & 1] = $cpu$$347$$.or($cpu$$347$$.reg8[$modrm_byte$$10$$ >> 1 & 12 | $modrm_byte$$10$$ >> 5 & 1], $data$$34$$, 7);
};
$table16$$[11] = function $$table16$$$11$($cpu$$348$$) {
var $modrm_byte$$11$$ = $cpu$$348$$.read_imm8(), $data$$35$$ = 192 > $modrm_byte$$11$$ ? $cpu$$348$$.safe_read16($cpu$$348$$.modrm_resolve($modrm_byte$$11$$)) : $cpu$$348$$.reg16[$modrm_byte$$11$$ << 1 & 14];
$cpu$$348$$.reg16[$modrm_byte$$11$$ >> 2 & 14] = $cpu$$348$$.or($cpu$$348$$.reg16[$modrm_byte$$11$$ >> 2 & 14], $data$$35$$, 15);
};
$table32$$[11] = function $$table32$$$11$($cpu$$349$$) {
var $modrm_byte$$12$$ = $cpu$$349$$.read_imm8(), $data$$36$$ = 192 > $modrm_byte$$12$$ ? $cpu$$349$$.safe_read32s($cpu$$349$$.modrm_resolve($modrm_byte$$12$$)) : $cpu$$349$$.reg32s[$modrm_byte$$12$$ & 7];
$cpu$$349$$.reg32s[$modrm_byte$$12$$ >> 3 & 7] = $cpu$$349$$.or($cpu$$349$$.reg32s[$modrm_byte$$12$$ >> 3 & 7], $data$$36$$, 31);
};
$table16$$[12] = $table32$$[12] = function $$table32$$$12$($cpu$$350$$) {
$cpu$$350$$.reg8[0] = $cpu$$350$$.or($cpu$$350$$.reg8[0], $cpu$$350$$.read_imm8(), 7);
};
$table16$$[13] = function $$table16$$$13$($cpu$$351$$) {
$cpu$$351$$.reg16[0] = $cpu$$351$$.or($cpu$$351$$.reg16[0], $cpu$$351$$.read_imm16(), 15);
};
$table32$$[13] = function $$table32$$$13$($cpu$$352$$) {
$cpu$$352$$.reg32s[0] = $cpu$$352$$.or($cpu$$352$$.reg32s[0], $cpu$$352$$.read_imm32s(), 31);
};
$table16$$[14] = function $$table16$$$14$($cpu$$353$$) {
$cpu$$353$$.push16($cpu$$353$$.sreg[1]);
};
$table32$$[14] = function $$table32$$$14$($cpu$$354$$) {
$cpu$$354$$.push32($cpu$$354$$.sreg[1]);
};
$table16$$[15] = $table32$$[15] = function $$table32$$$15$($cpu$$355$$) {
$cpu$$355$$.table0F[$cpu$$355$$.read_imm8()]($cpu$$355$$);
};
$table16$$[16] = $table32$$[16] = function $$table32$$$16$($cpu$$356$$) {
var $modrm_byte$$13$$ = $cpu$$356$$.read_imm8(), $data$$37_result$$29$$, $addr$$11$$;
192 > $modrm_byte$$13$$ ? ($addr$$11$$ = $cpu$$356$$.translate_address_write($cpu$$356$$.modrm_resolve($modrm_byte$$13$$)), $data$$37_result$$29$$ = $cpu$$356$$.memory.read8($addr$$11$$)) : $data$$37_result$$29$$ = $cpu$$356$$.reg8[$modrm_byte$$13$$ << 2 & 12 | $modrm_byte$$13$$ >> 2 & 1];
$data$$37_result$$29$$ = $cpu$$356$$.adc($data$$37_result$$29$$, $cpu$$356$$.reg8[$modrm_byte$$13$$ >> 1 & 12 | $modrm_byte$$13$$ >> 5 & 1], 7);
192 > $modrm_byte$$13$$ ? $cpu$$356$$.memory.write8($addr$$11$$, $data$$37_result$$29$$) : $cpu$$356$$.reg8[$modrm_byte$$13$$ << 2 & 12 | $modrm_byte$$13$$ >> 2 & 1] = $data$$37_result$$29$$;
};
$table16$$[17] = function $$table16$$$17$($cpu$$357$$) {
var $modrm_byte$$14$$ = $cpu$$357$$.read_imm8(), $data$$38_result$$30_virt_addr$$8$$, $phys_addr$$7$$, $phys_addr_high$$4$$ = 0;
192 > $modrm_byte$$14$$ ? ($data$$38_result$$30_virt_addr$$8$$ = $cpu$$357$$.modrm_resolve($modrm_byte$$14$$), $phys_addr$$7$$ = $cpu$$357$$.translate_address_write($data$$38_result$$30_virt_addr$$8$$), $cpu$$357$$.paging && 4095 === ($data$$38_result$$30_virt_addr$$8$$ & 4095) ? ($phys_addr_high$$4$$ = $cpu$$357$$.translate_address_write($data$$38_result$$30_virt_addr$$8$$ + 1), $data$$38_result$$30_virt_addr$$8$$ = $cpu$$357$$.virt_boundary_read16($phys_addr$$7$$, $phys_addr_high$$4$$)) : $data$$38_result$$30_virt_addr$$8$$ =
$cpu$$357$$.memory.read16($phys_addr$$7$$)) : $data$$38_result$$30_virt_addr$$8$$ = $cpu$$357$$.reg16[$modrm_byte$$14$$ << 1 & 14];
$data$$38_result$$30_virt_addr$$8$$ = $cpu$$357$$.adc($data$$38_result$$30_virt_addr$$8$$, $cpu$$357$$.reg16[$modrm_byte$$14$$ >> 2 & 14], 15);
192 > $modrm_byte$$14$$ ? $phys_addr_high$$4$$ ? $cpu$$357$$.virt_boundary_write16($phys_addr$$7$$, $phys_addr_high$$4$$, $data$$38_result$$30_virt_addr$$8$$) : $cpu$$357$$.memory.write16($phys_addr$$7$$, $data$$38_result$$30_virt_addr$$8$$) : $cpu$$357$$.reg16[$modrm_byte$$14$$ << 1 & 14] = $data$$38_result$$30_virt_addr$$8$$;
};
$table32$$[17] = function $$table32$$$17$($cpu$$358$$) {
var $modrm_byte$$15$$ = $cpu$$358$$.read_imm8(), $data$$39_result$$31_virt_addr$$9$$, $phys_addr$$8$$, $phys_addr_high$$5$$ = 0;
192 > $modrm_byte$$15$$ ? ($data$$39_result$$31_virt_addr$$9$$ = $cpu$$358$$.modrm_resolve($modrm_byte$$15$$), $phys_addr$$8$$ = $cpu$$358$$.translate_address_write($data$$39_result$$31_virt_addr$$9$$), $cpu$$358$$.paging && 4093 <= ($data$$39_result$$31_virt_addr$$9$$ & 4095) ? ($phys_addr_high$$5$$ = $cpu$$358$$.translate_address_write($data$$39_result$$31_virt_addr$$9$$ + 3), $data$$39_result$$31_virt_addr$$9$$ = $cpu$$358$$.virt_boundary_read32s($phys_addr$$8$$, $phys_addr_high$$5$$)) : $data$$39_result$$31_virt_addr$$9$$ =
$cpu$$358$$.memory.read32s($phys_addr$$8$$)) : $data$$39_result$$31_virt_addr$$9$$ = $cpu$$358$$.reg32s[$modrm_byte$$15$$ & 7];
$data$$39_result$$31_virt_addr$$9$$ = $cpu$$358$$.adc($data$$39_result$$31_virt_addr$$9$$, $cpu$$358$$.reg32s[$modrm_byte$$15$$ >> 3 & 7], 31);
192 > $modrm_byte$$15$$ ? $phys_addr_high$$5$$ ? $cpu$$358$$.virt_boundary_write32($phys_addr$$8$$, $phys_addr_high$$5$$, $data$$39_result$$31_virt_addr$$9$$) : $cpu$$358$$.memory.write32($phys_addr$$8$$, $data$$39_result$$31_virt_addr$$9$$) : $cpu$$358$$.reg32s[$modrm_byte$$15$$ & 7] = $data$$39_result$$31_virt_addr$$9$$;
};
$table16$$[18] = $table32$$[18] = function $$table32$$$18$($cpu$$359$$) {
var $modrm_byte$$16$$ = $cpu$$359$$.read_imm8(), $data$$40$$ = 192 > $modrm_byte$$16$$ ? $cpu$$359$$.safe_read8($cpu$$359$$.modrm_resolve($modrm_byte$$16$$)) : $cpu$$359$$.reg8[$modrm_byte$$16$$ << 2 & 12 | $modrm_byte$$16$$ >> 2 & 1];
$cpu$$359$$.reg8[$modrm_byte$$16$$ >> 1 & 12 | $modrm_byte$$16$$ >> 5 & 1] = $cpu$$359$$.adc($cpu$$359$$.reg8[$modrm_byte$$16$$ >> 1 & 12 | $modrm_byte$$16$$ >> 5 & 1], $data$$40$$, 7);
};
$table16$$[19] = function $$table16$$$19$($cpu$$360$$) {
var $modrm_byte$$17$$ = $cpu$$360$$.read_imm8(), $data$$41$$ = 192 > $modrm_byte$$17$$ ? $cpu$$360$$.safe_read16($cpu$$360$$.modrm_resolve($modrm_byte$$17$$)) : $cpu$$360$$.reg16[$modrm_byte$$17$$ << 1 & 14];
$cpu$$360$$.reg16[$modrm_byte$$17$$ >> 2 & 14] = $cpu$$360$$.adc($cpu$$360$$.reg16[$modrm_byte$$17$$ >> 2 & 14], $data$$41$$, 15);
};
$table32$$[19] = function $$table32$$$19$($cpu$$361$$) {
var $modrm_byte$$18$$ = $cpu$$361$$.read_imm8(), $data$$42$$ = 192 > $modrm_byte$$18$$ ? $cpu$$361$$.safe_read32s($cpu$$361$$.modrm_resolve($modrm_byte$$18$$)) : $cpu$$361$$.reg32s[$modrm_byte$$18$$ & 7];
$cpu$$361$$.reg32s[$modrm_byte$$18$$ >> 3 & 7] = $cpu$$361$$.adc($cpu$$361$$.reg32s[$modrm_byte$$18$$ >> 3 & 7], $data$$42$$, 31);
};
$table16$$[20] = $table32$$[20] = function $$table32$$$20$($cpu$$362$$) {
$cpu$$362$$.reg8[0] = $cpu$$362$$.adc($cpu$$362$$.reg8[0], $cpu$$362$$.read_imm8(), 7);
};
$table16$$[21] = function $$table16$$$21$($cpu$$363$$) {
$cpu$$363$$.reg16[0] = $cpu$$363$$.adc($cpu$$363$$.reg16[0], $cpu$$363$$.read_imm16(), 15);
};
$table32$$[21] = function $$table32$$$21$($cpu$$364$$) {
$cpu$$364$$.reg32s[0] = $cpu$$364$$.adc($cpu$$364$$.reg32s[0], $cpu$$364$$.read_imm32s(), 31);
};
$table16$$[22] = function $$table16$$$22$($cpu$$365$$) {
$cpu$$365$$.push16($cpu$$365$$.sreg[2]);
};
$table32$$[22] = function $$table32$$$22$($cpu$$366$$) {
$cpu$$366$$.push32($cpu$$366$$.sreg[2]);
};
$table16$$[23] = function $$table16$$$23$($cpu$$367$$) {
$cpu$$367$$.switch_seg(2, $cpu$$367$$.safe_read16($cpu$$367$$.get_stack_pointer(0)));
$cpu$$367$$.stack_reg[$cpu$$367$$.reg_vsp] += 2;
};
$table32$$[23] = function $$table32$$$23$($cpu$$368$$) {
$cpu$$368$$.switch_seg(2, $cpu$$368$$.safe_read16($cpu$$368$$.get_stack_pointer(0)));
$cpu$$368$$.stack_reg[$cpu$$368$$.reg_vsp] += 4;
};
$table16$$[24] = $table32$$[24] = function $$table32$$$24$($cpu$$369$$) {
var $modrm_byte$$19$$ = $cpu$$369$$.read_imm8(), $data$$43_result$$32$$, $addr$$12$$;
192 > $modrm_byte$$19$$ ? ($addr$$12$$ = $cpu$$369$$.translate_address_write($cpu$$369$$.modrm_resolve($modrm_byte$$19$$)), $data$$43_result$$32$$ = $cpu$$369$$.memory.read8($addr$$12$$)) : $data$$43_result$$32$$ = $cpu$$369$$.reg8[$modrm_byte$$19$$ << 2 & 12 | $modrm_byte$$19$$ >> 2 & 1];
$data$$43_result$$32$$ = $cpu$$369$$.sbb($data$$43_result$$32$$, $cpu$$369$$.reg8[$modrm_byte$$19$$ >> 1 & 12 | $modrm_byte$$19$$ >> 5 & 1], 7);
192 > $modrm_byte$$19$$ ? $cpu$$369$$.memory.write8($addr$$12$$, $data$$43_result$$32$$) : $cpu$$369$$.reg8[$modrm_byte$$19$$ << 2 & 12 | $modrm_byte$$19$$ >> 2 & 1] = $data$$43_result$$32$$;
};
$table16$$[25] = function $$table16$$$25$($cpu$$370$$) {
var $modrm_byte$$20$$ = $cpu$$370$$.read_imm8(), $data$$44_result$$33_virt_addr$$10$$, $phys_addr$$9$$, $phys_addr_high$$6$$ = 0;
192 > $modrm_byte$$20$$ ? ($data$$44_result$$33_virt_addr$$10$$ = $cpu$$370$$.modrm_resolve($modrm_byte$$20$$), $phys_addr$$9$$ = $cpu$$370$$.translate_address_write($data$$44_result$$33_virt_addr$$10$$), $cpu$$370$$.paging && 4095 === ($data$$44_result$$33_virt_addr$$10$$ & 4095) ? ($phys_addr_high$$6$$ = $cpu$$370$$.translate_address_write($data$$44_result$$33_virt_addr$$10$$ + 1), $data$$44_result$$33_virt_addr$$10$$ = $cpu$$370$$.virt_boundary_read16($phys_addr$$9$$, $phys_addr_high$$6$$)) :
$data$$44_result$$33_virt_addr$$10$$ = $cpu$$370$$.memory.read16($phys_addr$$9$$)) : $data$$44_result$$33_virt_addr$$10$$ = $cpu$$370$$.reg16[$modrm_byte$$20$$ << 1 & 14];
$data$$44_result$$33_virt_addr$$10$$ = $cpu$$370$$.sbb($data$$44_result$$33_virt_addr$$10$$, $cpu$$370$$.reg16[$modrm_byte$$20$$ >> 2 & 14], 15);
192 > $modrm_byte$$20$$ ? $phys_addr_high$$6$$ ? $cpu$$370$$.virt_boundary_write16($phys_addr$$9$$, $phys_addr_high$$6$$, $data$$44_result$$33_virt_addr$$10$$) : $cpu$$370$$.memory.write16($phys_addr$$9$$, $data$$44_result$$33_virt_addr$$10$$) : $cpu$$370$$.reg16[$modrm_byte$$20$$ << 1 & 14] = $data$$44_result$$33_virt_addr$$10$$;
};
$table32$$[25] = function $$table32$$$25$($cpu$$371$$) {
var $modrm_byte$$21$$ = $cpu$$371$$.read_imm8(), $data$$45_result$$34_virt_addr$$11$$, $phys_addr$$10$$, $phys_addr_high$$7$$ = 0;
192 > $modrm_byte$$21$$ ? ($data$$45_result$$34_virt_addr$$11$$ = $cpu$$371$$.modrm_resolve($modrm_byte$$21$$), $phys_addr$$10$$ = $cpu$$371$$.translate_address_write($data$$45_result$$34_virt_addr$$11$$), $cpu$$371$$.paging && 4093 <= ($data$$45_result$$34_virt_addr$$11$$ & 4095) ? ($phys_addr_high$$7$$ = $cpu$$371$$.translate_address_write($data$$45_result$$34_virt_addr$$11$$ + 3), $data$$45_result$$34_virt_addr$$11$$ = $cpu$$371$$.virt_boundary_read32s($phys_addr$$10$$, $phys_addr_high$$7$$)) :
$data$$45_result$$34_virt_addr$$11$$ = $cpu$$371$$.memory.read32s($phys_addr$$10$$)) : $data$$45_result$$34_virt_addr$$11$$ = $cpu$$371$$.reg32s[$modrm_byte$$21$$ & 7];
$data$$45_result$$34_virt_addr$$11$$ = $cpu$$371$$.sbb($data$$45_result$$34_virt_addr$$11$$, $cpu$$371$$.reg32s[$modrm_byte$$21$$ >> 3 & 7], 31);
192 > $modrm_byte$$21$$ ? $phys_addr_high$$7$$ ? $cpu$$371$$.virt_boundary_write32($phys_addr$$10$$, $phys_addr_high$$7$$, $data$$45_result$$34_virt_addr$$11$$) : $cpu$$371$$.memory.write32($phys_addr$$10$$, $data$$45_result$$34_virt_addr$$11$$) : $cpu$$371$$.reg32s[$modrm_byte$$21$$ & 7] = $data$$45_result$$34_virt_addr$$11$$;
};
$table16$$[26] = $table32$$[26] = function $$table32$$$26$($cpu$$372$$) {
var $modrm_byte$$22$$ = $cpu$$372$$.read_imm8(), $data$$46$$ = 192 > $modrm_byte$$22$$ ? $cpu$$372$$.safe_read8($cpu$$372$$.modrm_resolve($modrm_byte$$22$$)) : $cpu$$372$$.reg8[$modrm_byte$$22$$ << 2 & 12 | $modrm_byte$$22$$ >> 2 & 1];
$cpu$$372$$.reg8[$modrm_byte$$22$$ >> 1 & 12 | $modrm_byte$$22$$ >> 5 & 1] = $cpu$$372$$.sbb($cpu$$372$$.reg8[$modrm_byte$$22$$ >> 1 & 12 | $modrm_byte$$22$$ >> 5 & 1], $data$$46$$, 7);
};
$table16$$[27] = function $$table16$$$27$($cpu$$373$$) {
var $modrm_byte$$23$$ = $cpu$$373$$.read_imm8(), $data$$47$$ = 192 > $modrm_byte$$23$$ ? $cpu$$373$$.safe_read16($cpu$$373$$.modrm_resolve($modrm_byte$$23$$)) : $cpu$$373$$.reg16[$modrm_byte$$23$$ << 1 & 14];
$cpu$$373$$.reg16[$modrm_byte$$23$$ >> 2 & 14] = $cpu$$373$$.sbb($cpu$$373$$.reg16[$modrm_byte$$23$$ >> 2 & 14], $data$$47$$, 15);
};
$table32$$[27] = function $$table32$$$27$($cpu$$374$$) {
var $modrm_byte$$24$$ = $cpu$$374$$.read_imm8(), $data$$48$$ = 192 > $modrm_byte$$24$$ ? $cpu$$374$$.safe_read32s($cpu$$374$$.modrm_resolve($modrm_byte$$24$$)) : $cpu$$374$$.reg32s[$modrm_byte$$24$$ & 7];
$cpu$$374$$.reg32s[$modrm_byte$$24$$ >> 3 & 7] = $cpu$$374$$.sbb($cpu$$374$$.reg32s[$modrm_byte$$24$$ >> 3 & 7], $data$$48$$, 31);
};
$table16$$[28] = $table32$$[28] = function $$table32$$$28$($cpu$$375$$) {
$cpu$$375$$.reg8[0] = $cpu$$375$$.sbb($cpu$$375$$.reg8[0], $cpu$$375$$.read_imm8(), 7);
};
$table16$$[29] = function $$table16$$$29$($cpu$$376$$) {
$cpu$$376$$.reg16[0] = $cpu$$376$$.sbb($cpu$$376$$.reg16[0], $cpu$$376$$.read_imm16(), 15);
};
$table32$$[29] = function $$table32$$$29$($cpu$$377$$) {
$cpu$$377$$.reg32s[0] = $cpu$$377$$.sbb($cpu$$377$$.reg32s[0], $cpu$$377$$.read_imm32s(), 31);
};
$table16$$[30] = function $$table16$$$30$($cpu$$378$$) {
$cpu$$378$$.push16($cpu$$378$$.sreg[3]);
};
$table32$$[30] = function $$table32$$$30$($cpu$$379$$) {
$cpu$$379$$.push32($cpu$$379$$.sreg[3]);
};
$table16$$[31] = function $$table16$$$31$($cpu$$380$$) {
$cpu$$380$$.switch_seg(3, $cpu$$380$$.safe_read16($cpu$$380$$.get_stack_pointer(0)));
$cpu$$380$$.stack_reg[$cpu$$380$$.reg_vsp] += 2;
};
$table32$$[31] = function $$table32$$$31$($cpu$$381$$) {
$cpu$$381$$.switch_seg(3, $cpu$$381$$.safe_read16($cpu$$381$$.get_stack_pointer(0)));
$cpu$$381$$.stack_reg[$cpu$$381$$.reg_vsp] += 4;
};
$table16$$[32] = $table32$$[32] = function $$table32$$$32$($cpu$$382$$) {
var $modrm_byte$$25$$ = $cpu$$382$$.read_imm8(), $data$$49_result$$35$$, $addr$$13$$;
192 > $modrm_byte$$25$$ ? ($addr$$13$$ = $cpu$$382$$.translate_address_write($cpu$$382$$.modrm_resolve($modrm_byte$$25$$)), $data$$49_result$$35$$ = $cpu$$382$$.memory.read8($addr$$13$$)) : $data$$49_result$$35$$ = $cpu$$382$$.reg8[$modrm_byte$$25$$ << 2 & 12 | $modrm_byte$$25$$ >> 2 & 1];
$data$$49_result$$35$$ = $cpu$$382$$.and($data$$49_result$$35$$, $cpu$$382$$.reg8[$modrm_byte$$25$$ >> 1 & 12 | $modrm_byte$$25$$ >> 5 & 1], 7);
192 > $modrm_byte$$25$$ ? $cpu$$382$$.memory.write8($addr$$13$$, $data$$49_result$$35$$) : $cpu$$382$$.reg8[$modrm_byte$$25$$ << 2 & 12 | $modrm_byte$$25$$ >> 2 & 1] = $data$$49_result$$35$$;
};
$table16$$[33] = function $$table16$$$33$($cpu$$383$$) {
var $modrm_byte$$26$$ = $cpu$$383$$.read_imm8(), $data$$50_result$$36_virt_addr$$12$$, $phys_addr$$11$$, $phys_addr_high$$8$$ = 0;
192 > $modrm_byte$$26$$ ? ($data$$50_result$$36_virt_addr$$12$$ = $cpu$$383$$.modrm_resolve($modrm_byte$$26$$), $phys_addr$$11$$ = $cpu$$383$$.translate_address_write($data$$50_result$$36_virt_addr$$12$$), $cpu$$383$$.paging && 4095 === ($data$$50_result$$36_virt_addr$$12$$ & 4095) ? ($phys_addr_high$$8$$ = $cpu$$383$$.translate_address_write($data$$50_result$$36_virt_addr$$12$$ + 1), $data$$50_result$$36_virt_addr$$12$$ = $cpu$$383$$.virt_boundary_read16($phys_addr$$11$$, $phys_addr_high$$8$$)) :
$data$$50_result$$36_virt_addr$$12$$ = $cpu$$383$$.memory.read16($phys_addr$$11$$)) : $data$$50_result$$36_virt_addr$$12$$ = $cpu$$383$$.reg16[$modrm_byte$$26$$ << 1 & 14];
$data$$50_result$$36_virt_addr$$12$$ = $cpu$$383$$.and($data$$50_result$$36_virt_addr$$12$$, $cpu$$383$$.reg16[$modrm_byte$$26$$ >> 2 & 14], 15);
192 > $modrm_byte$$26$$ ? $phys_addr_high$$8$$ ? $cpu$$383$$.virt_boundary_write16($phys_addr$$11$$, $phys_addr_high$$8$$, $data$$50_result$$36_virt_addr$$12$$) : $cpu$$383$$.memory.write16($phys_addr$$11$$, $data$$50_result$$36_virt_addr$$12$$) : $cpu$$383$$.reg16[$modrm_byte$$26$$ << 1 & 14] = $data$$50_result$$36_virt_addr$$12$$;
};
$table32$$[33] = function $$table32$$$33$($cpu$$384$$) {
var $modrm_byte$$27$$ = $cpu$$384$$.read_imm8(), $data$$51_result$$37_virt_addr$$13$$, $phys_addr$$12$$, $phys_addr_high$$9$$ = 0;
192 > $modrm_byte$$27$$ ? ($data$$51_result$$37_virt_addr$$13$$ = $cpu$$384$$.modrm_resolve($modrm_byte$$27$$), $phys_addr$$12$$ = $cpu$$384$$.translate_address_write($data$$51_result$$37_virt_addr$$13$$), $cpu$$384$$.paging && 4093 <= ($data$$51_result$$37_virt_addr$$13$$ & 4095) ? ($phys_addr_high$$9$$ = $cpu$$384$$.translate_address_write($data$$51_result$$37_virt_addr$$13$$ + 3), $data$$51_result$$37_virt_addr$$13$$ = $cpu$$384$$.virt_boundary_read32s($phys_addr$$12$$, $phys_addr_high$$9$$)) :
$data$$51_result$$37_virt_addr$$13$$ = $cpu$$384$$.memory.read32s($phys_addr$$12$$)) : $data$$51_result$$37_virt_addr$$13$$ = $cpu$$384$$.reg32s[$modrm_byte$$27$$ & 7];
$data$$51_result$$37_virt_addr$$13$$ = $cpu$$384$$.and($data$$51_result$$37_virt_addr$$13$$, $cpu$$384$$.reg32s[$modrm_byte$$27$$ >> 3 & 7], 31);
192 > $modrm_byte$$27$$ ? $phys_addr_high$$9$$ ? $cpu$$384$$.virt_boundary_write32($phys_addr$$12$$, $phys_addr_high$$9$$, $data$$51_result$$37_virt_addr$$13$$) : $cpu$$384$$.memory.write32($phys_addr$$12$$, $data$$51_result$$37_virt_addr$$13$$) : $cpu$$384$$.reg32s[$modrm_byte$$27$$ & 7] = $data$$51_result$$37_virt_addr$$13$$;
};
$table16$$[34] = $table32$$[34] = function $$table32$$$34$($cpu$$385$$) {
var $modrm_byte$$28$$ = $cpu$$385$$.read_imm8(), $data$$52$$ = 192 > $modrm_byte$$28$$ ? $cpu$$385$$.safe_read8($cpu$$385$$.modrm_resolve($modrm_byte$$28$$)) : $cpu$$385$$.reg8[$modrm_byte$$28$$ << 2 & 12 | $modrm_byte$$28$$ >> 2 & 1];
$cpu$$385$$.reg8[$modrm_byte$$28$$ >> 1 & 12 | $modrm_byte$$28$$ >> 5 & 1] = $cpu$$385$$.and($cpu$$385$$.reg8[$modrm_byte$$28$$ >> 1 & 12 | $modrm_byte$$28$$ >> 5 & 1], $data$$52$$, 7);
};
$table16$$[35] = function $$table16$$$35$($cpu$$386$$) {
var $modrm_byte$$29$$ = $cpu$$386$$.read_imm8(), $data$$53$$ = 192 > $modrm_byte$$29$$ ? $cpu$$386$$.safe_read16($cpu$$386$$.modrm_resolve($modrm_byte$$29$$)) : $cpu$$386$$.reg16[$modrm_byte$$29$$ << 1 & 14];
$cpu$$386$$.reg16[$modrm_byte$$29$$ >> 2 & 14] = $cpu$$386$$.and($cpu$$386$$.reg16[$modrm_byte$$29$$ >> 2 & 14], $data$$53$$, 15);
};
$table32$$[35] = function $$table32$$$35$($cpu$$387$$) {
var $modrm_byte$$30$$ = $cpu$$387$$.read_imm8(), $data$$54$$ = 192 > $modrm_byte$$30$$ ? $cpu$$387$$.safe_read32s($cpu$$387$$.modrm_resolve($modrm_byte$$30$$)) : $cpu$$387$$.reg32s[$modrm_byte$$30$$ & 7];
$cpu$$387$$.reg32s[$modrm_byte$$30$$ >> 3 & 7] = $cpu$$387$$.and($cpu$$387$$.reg32s[$modrm_byte$$30$$ >> 3 & 7], $data$$54$$, 31);
};
$table16$$[36] = $table32$$[36] = function $$table32$$$36$($cpu$$388$$) {
$cpu$$388$$.reg8[0] = $cpu$$388$$.and($cpu$$388$$.reg8[0], $cpu$$388$$.read_imm8(), 7);
};
$table16$$[37] = function $$table16$$$37$($cpu$$389$$) {
$cpu$$389$$.reg16[0] = $cpu$$389$$.and($cpu$$389$$.reg16[0], $cpu$$389$$.read_imm16(), 15);
};
$table32$$[37] = function $$table32$$$37$($cpu$$390$$) {
$cpu$$390$$.reg32s[0] = $cpu$$390$$.and($cpu$$390$$.reg32s[0], $cpu$$390$$.read_imm32s(), 31);
};
$table16$$[38] = $table32$$[38] = function $$table32$$$38$($cpu$$391$$) {
$cpu$$391$$.seg_prefix(0);
};
$table16$$[39] = $table32$$[39] = function $$table32$$$39$($cpu$$392$$) {
$cpu$$392$$.bcd_daa();
};
$table16$$[40] = $table32$$[40] = function $$table32$$$40$($cpu$$393$$) {
var $modrm_byte$$31$$ = $cpu$$393$$.read_imm8(), $data$$55_result$$38$$, $addr$$14$$;
192 > $modrm_byte$$31$$ ? ($addr$$14$$ = $cpu$$393$$.translate_address_write($cpu$$393$$.modrm_resolve($modrm_byte$$31$$)), $data$$55_result$$38$$ = $cpu$$393$$.memory.read8($addr$$14$$)) : $data$$55_result$$38$$ = $cpu$$393$$.reg8[$modrm_byte$$31$$ << 2 & 12 | $modrm_byte$$31$$ >> 2 & 1];
$data$$55_result$$38$$ = $cpu$$393$$.sub($data$$55_result$$38$$, $cpu$$393$$.reg8[$modrm_byte$$31$$ >> 1 & 12 | $modrm_byte$$31$$ >> 5 & 1], 7);
192 > $modrm_byte$$31$$ ? $cpu$$393$$.memory.write8($addr$$14$$, $data$$55_result$$38$$) : $cpu$$393$$.reg8[$modrm_byte$$31$$ << 2 & 12 | $modrm_byte$$31$$ >> 2 & 1] = $data$$55_result$$38$$;
};
$table16$$[41] = function $$table16$$$41$($cpu$$394$$) {
var $modrm_byte$$32$$ = $cpu$$394$$.read_imm8(), $data$$56_result$$39_virt_addr$$14$$, $phys_addr$$13$$, $phys_addr_high$$10$$ = 0;
192 > $modrm_byte$$32$$ ? ($data$$56_result$$39_virt_addr$$14$$ = $cpu$$394$$.modrm_resolve($modrm_byte$$32$$), $phys_addr$$13$$ = $cpu$$394$$.translate_address_write($data$$56_result$$39_virt_addr$$14$$), $cpu$$394$$.paging && 4095 === ($data$$56_result$$39_virt_addr$$14$$ & 4095) ? ($phys_addr_high$$10$$ = $cpu$$394$$.translate_address_write($data$$56_result$$39_virt_addr$$14$$ + 1), $data$$56_result$$39_virt_addr$$14$$ = $cpu$$394$$.virt_boundary_read16($phys_addr$$13$$, $phys_addr_high$$10$$)) :
$data$$56_result$$39_virt_addr$$14$$ = $cpu$$394$$.memory.read16($phys_addr$$13$$)) : $data$$56_result$$39_virt_addr$$14$$ = $cpu$$394$$.reg16[$modrm_byte$$32$$ << 1 & 14];
$data$$56_result$$39_virt_addr$$14$$ = $cpu$$394$$.sub($data$$56_result$$39_virt_addr$$14$$, $cpu$$394$$.reg16[$modrm_byte$$32$$ >> 2 & 14], 15);
192 > $modrm_byte$$32$$ ? $phys_addr_high$$10$$ ? $cpu$$394$$.virt_boundary_write16($phys_addr$$13$$, $phys_addr_high$$10$$, $data$$56_result$$39_virt_addr$$14$$) : $cpu$$394$$.memory.write16($phys_addr$$13$$, $data$$56_result$$39_virt_addr$$14$$) : $cpu$$394$$.reg16[$modrm_byte$$32$$ << 1 & 14] = $data$$56_result$$39_virt_addr$$14$$;
};
$table32$$[41] = function $$table32$$$41$($cpu$$395$$) {
var $modrm_byte$$33$$ = $cpu$$395$$.read_imm8(), $data$$57_result$$40_virt_addr$$15$$, $phys_addr$$14$$, $phys_addr_high$$11$$ = 0;
192 > $modrm_byte$$33$$ ? ($data$$57_result$$40_virt_addr$$15$$ = $cpu$$395$$.modrm_resolve($modrm_byte$$33$$), $phys_addr$$14$$ = $cpu$$395$$.translate_address_write($data$$57_result$$40_virt_addr$$15$$), $cpu$$395$$.paging && 4093 <= ($data$$57_result$$40_virt_addr$$15$$ & 4095) ? ($phys_addr_high$$11$$ = $cpu$$395$$.translate_address_write($data$$57_result$$40_virt_addr$$15$$ + 3), $data$$57_result$$40_virt_addr$$15$$ = $cpu$$395$$.virt_boundary_read32s($phys_addr$$14$$, $phys_addr_high$$11$$)) :
$data$$57_result$$40_virt_addr$$15$$ = $cpu$$395$$.memory.read32s($phys_addr$$14$$)) : $data$$57_result$$40_virt_addr$$15$$ = $cpu$$395$$.reg32s[$modrm_byte$$33$$ & 7];
$data$$57_result$$40_virt_addr$$15$$ = $cpu$$395$$.sub($data$$57_result$$40_virt_addr$$15$$, $cpu$$395$$.reg32s[$modrm_byte$$33$$ >> 3 & 7], 31);
192 > $modrm_byte$$33$$ ? $phys_addr_high$$11$$ ? $cpu$$395$$.virt_boundary_write32($phys_addr$$14$$, $phys_addr_high$$11$$, $data$$57_result$$40_virt_addr$$15$$) : $cpu$$395$$.memory.write32($phys_addr$$14$$, $data$$57_result$$40_virt_addr$$15$$) : $cpu$$395$$.reg32s[$modrm_byte$$33$$ & 7] = $data$$57_result$$40_virt_addr$$15$$;
};
$table16$$[42] = $table32$$[42] = function $$table32$$$42$($cpu$$396$$) {
var $modrm_byte$$34$$ = $cpu$$396$$.read_imm8(), $data$$58$$ = 192 > $modrm_byte$$34$$ ? $cpu$$396$$.safe_read8($cpu$$396$$.modrm_resolve($modrm_byte$$34$$)) : $cpu$$396$$.reg8[$modrm_byte$$34$$ << 2 & 12 | $modrm_byte$$34$$ >> 2 & 1];
$cpu$$396$$.reg8[$modrm_byte$$34$$ >> 1 & 12 | $modrm_byte$$34$$ >> 5 & 1] = $cpu$$396$$.sub($cpu$$396$$.reg8[$modrm_byte$$34$$ >> 1 & 12 | $modrm_byte$$34$$ >> 5 & 1], $data$$58$$, 7);
};
$table16$$[43] = function $$table16$$$43$($cpu$$397$$) {
var $modrm_byte$$35$$ = $cpu$$397$$.read_imm8(), $data$$59$$ = 192 > $modrm_byte$$35$$ ? $cpu$$397$$.safe_read16($cpu$$397$$.modrm_resolve($modrm_byte$$35$$)) : $cpu$$397$$.reg16[$modrm_byte$$35$$ << 1 & 14];
$cpu$$397$$.reg16[$modrm_byte$$35$$ >> 2 & 14] = $cpu$$397$$.sub($cpu$$397$$.reg16[$modrm_byte$$35$$ >> 2 & 14], $data$$59$$, 15);
};
$table32$$[43] = function $$table32$$$43$($cpu$$398$$) {
var $modrm_byte$$36$$ = $cpu$$398$$.read_imm8(), $data$$60$$ = 192 > $modrm_byte$$36$$ ? $cpu$$398$$.safe_read32s($cpu$$398$$.modrm_resolve($modrm_byte$$36$$)) : $cpu$$398$$.reg32s[$modrm_byte$$36$$ & 7];
$cpu$$398$$.reg32s[$modrm_byte$$36$$ >> 3 & 7] = $cpu$$398$$.sub($cpu$$398$$.reg32s[$modrm_byte$$36$$ >> 3 & 7], $data$$60$$, 31);
};
$table16$$[44] = $table32$$[44] = function $$table32$$$44$($cpu$$399$$) {
$cpu$$399$$.reg8[0] = $cpu$$399$$.sub($cpu$$399$$.reg8[0], $cpu$$399$$.read_imm8(), 7);
};
$table16$$[45] = function $$table16$$$45$($cpu$$400$$) {
$cpu$$400$$.reg16[0] = $cpu$$400$$.sub($cpu$$400$$.reg16[0], $cpu$$400$$.read_imm16(), 15);
};
$table32$$[45] = function $$table32$$$45$($cpu$$401$$) {
$cpu$$401$$.reg32s[0] = $cpu$$401$$.sub($cpu$$401$$.reg32s[0], $cpu$$401$$.read_imm32s(), 31);
};
$table16$$[46] = $table32$$[46] = function $$table32$$$46$($cpu$$402$$) {
$cpu$$402$$.seg_prefix(1);
};
$table16$$[47] = $table32$$[47] = function $$table32$$$47$($cpu$$403$$) {
$cpu$$403$$.bcd_das();
};
$table16$$[48] = $table32$$[48] = function $$table32$$$48$($cpu$$404$$) {
var $modrm_byte$$37$$ = $cpu$$404$$.read_imm8(), $data$$61_result$$41$$, $addr$$15$$;
192 > $modrm_byte$$37$$ ? ($addr$$15$$ = $cpu$$404$$.translate_address_write($cpu$$404$$.modrm_resolve($modrm_byte$$37$$)), $data$$61_result$$41$$ = $cpu$$404$$.memory.read8($addr$$15$$)) : $data$$61_result$$41$$ = $cpu$$404$$.reg8[$modrm_byte$$37$$ << 2 & 12 | $modrm_byte$$37$$ >> 2 & 1];
$data$$61_result$$41$$ = $cpu$$404$$.xor($data$$61_result$$41$$, $cpu$$404$$.reg8[$modrm_byte$$37$$ >> 1 & 12 | $modrm_byte$$37$$ >> 5 & 1], 7);
192 > $modrm_byte$$37$$ ? $cpu$$404$$.memory.write8($addr$$15$$, $data$$61_result$$41$$) : $cpu$$404$$.reg8[$modrm_byte$$37$$ << 2 & 12 | $modrm_byte$$37$$ >> 2 & 1] = $data$$61_result$$41$$;
};
$table16$$[49] = function $$table16$$$49$($cpu$$405$$) {
var $modrm_byte$$38$$ = $cpu$$405$$.read_imm8(), $data$$62_result$$42_virt_addr$$16$$, $phys_addr$$15$$, $phys_addr_high$$12$$ = 0;
192 > $modrm_byte$$38$$ ? ($data$$62_result$$42_virt_addr$$16$$ = $cpu$$405$$.modrm_resolve($modrm_byte$$38$$), $phys_addr$$15$$ = $cpu$$405$$.translate_address_write($data$$62_result$$42_virt_addr$$16$$), $cpu$$405$$.paging && 4095 === ($data$$62_result$$42_virt_addr$$16$$ & 4095) ? ($phys_addr_high$$12$$ = $cpu$$405$$.translate_address_write($data$$62_result$$42_virt_addr$$16$$ + 1), $data$$62_result$$42_virt_addr$$16$$ = $cpu$$405$$.virt_boundary_read16($phys_addr$$15$$, $phys_addr_high$$12$$)) :
$data$$62_result$$42_virt_addr$$16$$ = $cpu$$405$$.memory.read16($phys_addr$$15$$)) : $data$$62_result$$42_virt_addr$$16$$ = $cpu$$405$$.reg16[$modrm_byte$$38$$ << 1 & 14];
$data$$62_result$$42_virt_addr$$16$$ = $cpu$$405$$.xor($data$$62_result$$42_virt_addr$$16$$, $cpu$$405$$.reg16[$modrm_byte$$38$$ >> 2 & 14], 15);
192 > $modrm_byte$$38$$ ? $phys_addr_high$$12$$ ? $cpu$$405$$.virt_boundary_write16($phys_addr$$15$$, $phys_addr_high$$12$$, $data$$62_result$$42_virt_addr$$16$$) : $cpu$$405$$.memory.write16($phys_addr$$15$$, $data$$62_result$$42_virt_addr$$16$$) : $cpu$$405$$.reg16[$modrm_byte$$38$$ << 1 & 14] = $data$$62_result$$42_virt_addr$$16$$;
};
$table32$$[49] = function $$table32$$$49$($cpu$$406$$) {
var $modrm_byte$$39$$ = $cpu$$406$$.read_imm8(), $data$$63_result$$43_virt_addr$$17$$, $phys_addr$$16$$, $phys_addr_high$$13$$ = 0;
192 > $modrm_byte$$39$$ ? ($data$$63_result$$43_virt_addr$$17$$ = $cpu$$406$$.modrm_resolve($modrm_byte$$39$$), $phys_addr$$16$$ = $cpu$$406$$.translate_address_write($data$$63_result$$43_virt_addr$$17$$), $cpu$$406$$.paging && 4093 <= ($data$$63_result$$43_virt_addr$$17$$ & 4095) ? ($phys_addr_high$$13$$ = $cpu$$406$$.translate_address_write($data$$63_result$$43_virt_addr$$17$$ + 3), $data$$63_result$$43_virt_addr$$17$$ = $cpu$$406$$.virt_boundary_read32s($phys_addr$$16$$, $phys_addr_high$$13$$)) :
$data$$63_result$$43_virt_addr$$17$$ = $cpu$$406$$.memory.read32s($phys_addr$$16$$)) : $data$$63_result$$43_virt_addr$$17$$ = $cpu$$406$$.reg32s[$modrm_byte$$39$$ & 7];
$data$$63_result$$43_virt_addr$$17$$ = $cpu$$406$$.xor($data$$63_result$$43_virt_addr$$17$$, $cpu$$406$$.reg32s[$modrm_byte$$39$$ >> 3 & 7], 31);
192 > $modrm_byte$$39$$ ? $phys_addr_high$$13$$ ? $cpu$$406$$.virt_boundary_write32($phys_addr$$16$$, $phys_addr_high$$13$$, $data$$63_result$$43_virt_addr$$17$$) : $cpu$$406$$.memory.write32($phys_addr$$16$$, $data$$63_result$$43_virt_addr$$17$$) : $cpu$$406$$.reg32s[$modrm_byte$$39$$ & 7] = $data$$63_result$$43_virt_addr$$17$$;
};
$table16$$[50] = $table32$$[50] = function $$table32$$$50$($cpu$$407$$) {
var $modrm_byte$$40$$ = $cpu$$407$$.read_imm8(), $data$$64$$ = 192 > $modrm_byte$$40$$ ? $cpu$$407$$.safe_read8($cpu$$407$$.modrm_resolve($modrm_byte$$40$$)) : $cpu$$407$$.reg8[$modrm_byte$$40$$ << 2 & 12 | $modrm_byte$$40$$ >> 2 & 1];
$cpu$$407$$.reg8[$modrm_byte$$40$$ >> 1 & 12 | $modrm_byte$$40$$ >> 5 & 1] = $cpu$$407$$.xor($cpu$$407$$.reg8[$modrm_byte$$40$$ >> 1 & 12 | $modrm_byte$$40$$ >> 5 & 1], $data$$64$$, 7);
};
$table16$$[51] = function $$table16$$$51$($cpu$$408$$) {
var $modrm_byte$$41$$ = $cpu$$408$$.read_imm8(), $data$$65$$ = 192 > $modrm_byte$$41$$ ? $cpu$$408$$.safe_read16($cpu$$408$$.modrm_resolve($modrm_byte$$41$$)) : $cpu$$408$$.reg16[$modrm_byte$$41$$ << 1 & 14];
$cpu$$408$$.reg16[$modrm_byte$$41$$ >> 2 & 14] = $cpu$$408$$.xor($cpu$$408$$.reg16[$modrm_byte$$41$$ >> 2 & 14], $data$$65$$, 15);
};
$table32$$[51] = function $$table32$$$51$($cpu$$409$$) {
var $modrm_byte$$42$$ = $cpu$$409$$.read_imm8(), $data$$66$$ = 192 > $modrm_byte$$42$$ ? $cpu$$409$$.safe_read32s($cpu$$409$$.modrm_resolve($modrm_byte$$42$$)) : $cpu$$409$$.reg32s[$modrm_byte$$42$$ & 7];
$cpu$$409$$.reg32s[$modrm_byte$$42$$ >> 3 & 7] = $cpu$$409$$.xor($cpu$$409$$.reg32s[$modrm_byte$$42$$ >> 3 & 7], $data$$66$$, 31);
};
$table16$$[52] = $table32$$[52] = function $$table32$$$52$($cpu$$410$$) {
$cpu$$410$$.reg8[0] = $cpu$$410$$.xor($cpu$$410$$.reg8[0], $cpu$$410$$.read_imm8(), 7);
};
$table16$$[53] = function $$table16$$$53$($cpu$$411$$) {
$cpu$$411$$.reg16[0] = $cpu$$411$$.xor($cpu$$411$$.reg16[0], $cpu$$411$$.read_imm16(), 15);
};
$table32$$[53] = function $$table32$$$53$($cpu$$412$$) {
$cpu$$412$$.reg32s[0] = $cpu$$412$$.xor($cpu$$412$$.reg32s[0], $cpu$$412$$.read_imm32s(), 31);
};
$table16$$[54] = $table32$$[54] = function $$table32$$$54$($cpu$$413$$) {
$cpu$$413$$.seg_prefix(2);
};
$table16$$[55] = $table32$$[55] = function $$table32$$$55$($cpu$$414$$) {
$cpu$$414$$.bcd_aaa();
};
$table16$$[56] = $table32$$[56] = function $$table32$$$56$($cpu$$415$$) {
var $modrm_byte$$43$$ = $cpu$$415$$.read_imm8(), $data$$67$$ = 192 > $modrm_byte$$43$$ ? $cpu$$415$$.safe_read8($cpu$$415$$.modrm_resolve($modrm_byte$$43$$)) : $cpu$$415$$.reg8[$modrm_byte$$43$$ << 2 & 12 | $modrm_byte$$43$$ >> 2 & 1];
$cpu$$415$$.sub($data$$67$$, $cpu$$415$$.reg8[$modrm_byte$$43$$ >> 1 & 12 | $modrm_byte$$43$$ >> 5 & 1], 7);
};
$table16$$[57] = function $$table16$$$57$($cpu$$416$$) {
var $modrm_byte$$44$$ = $cpu$$416$$.read_imm8(), $data$$68$$ = 192 > $modrm_byte$$44$$ ? $cpu$$416$$.safe_read16($cpu$$416$$.modrm_resolve($modrm_byte$$44$$)) : $cpu$$416$$.reg16[$modrm_byte$$44$$ << 1 & 14];
$cpu$$416$$.sub($data$$68$$, $cpu$$416$$.reg16[$modrm_byte$$44$$ >> 2 & 14], 15);
};
$table32$$[57] = function $$table32$$$57$($cpu$$417$$) {
var $modrm_byte$$45$$ = $cpu$$417$$.read_imm8(), $data$$69$$ = 192 > $modrm_byte$$45$$ ? $cpu$$417$$.safe_read32s($cpu$$417$$.modrm_resolve($modrm_byte$$45$$)) : $cpu$$417$$.reg32s[$modrm_byte$$45$$ & 7];
$cpu$$417$$.sub($data$$69$$, $cpu$$417$$.reg32s[$modrm_byte$$45$$ >> 3 & 7], 31);
};
$table16$$[58] = $table32$$[58] = function $$table32$$$58$($cpu$$418$$) {
var $modrm_byte$$46$$ = $cpu$$418$$.read_imm8(), $data$$70$$ = 192 > $modrm_byte$$46$$ ? $cpu$$418$$.safe_read8($cpu$$418$$.modrm_resolve($modrm_byte$$46$$)) : $cpu$$418$$.reg8[$modrm_byte$$46$$ << 2 & 12 | $modrm_byte$$46$$ >> 2 & 1];
$cpu$$418$$.sub($cpu$$418$$.reg8[$modrm_byte$$46$$ >> 1 & 12 | $modrm_byte$$46$$ >> 5 & 1], $data$$70$$, 7);
};
$table16$$[59] = function $$table16$$$59$($cpu$$419$$) {
var $modrm_byte$$47$$ = $cpu$$419$$.read_imm8(), $data$$71$$ = 192 > $modrm_byte$$47$$ ? $cpu$$419$$.safe_read16($cpu$$419$$.modrm_resolve($modrm_byte$$47$$)) : $cpu$$419$$.reg16[$modrm_byte$$47$$ << 1 & 14];
$cpu$$419$$.sub($cpu$$419$$.reg16[$modrm_byte$$47$$ >> 2 & 14], $data$$71$$, 15);
};
$table32$$[59] = function $$table32$$$59$($cpu$$420$$) {
var $modrm_byte$$48$$ = $cpu$$420$$.read_imm8(), $data$$72$$ = 192 > $modrm_byte$$48$$ ? $cpu$$420$$.safe_read32s($cpu$$420$$.modrm_resolve($modrm_byte$$48$$)) : $cpu$$420$$.reg32s[$modrm_byte$$48$$ & 7];
$cpu$$420$$.sub($cpu$$420$$.reg32s[$modrm_byte$$48$$ >> 3 & 7], $data$$72$$, 31);
};
$table16$$[60] = $table32$$[60] = function $$table32$$$60$($cpu$$421$$) {
$cpu$$421$$.sub($cpu$$421$$.reg8[0], $cpu$$421$$.read_imm8(), 7);
};
$table16$$[61] = function $$table16$$$61$($cpu$$422$$) {
$cpu$$422$$.sub($cpu$$422$$.reg16[0], $cpu$$422$$.read_imm16(), 15);
};
$table32$$[61] = function $$table32$$$61$($cpu$$423$$) {
$cpu$$423$$.sub($cpu$$423$$.reg32s[0], $cpu$$423$$.read_imm32s(), 31);
};
$table16$$[62] = $table32$$[62] = function $$table32$$$62$($cpu$$424$$) {
$cpu$$424$$.seg_prefix(3);
};
$table16$$[63] = $table32$$[63] = function $$table32$$$63$($cpu$$425$$) {
$cpu$$425$$.bcd_aas();
};
$table16$$[64] = function $$table16$$$64$($cpu$$426$$) {
$cpu$$426$$.reg16[0] = $cpu$$426$$.inc($cpu$$426$$.reg16[0], 15);
};
$table32$$[64] = function $$table32$$$64$($cpu$$427$$) {
$cpu$$427$$.reg32s[0] = $cpu$$427$$.inc($cpu$$427$$.reg32s[0], 31);
};
$table16$$[65] = function $$table16$$$65$($cpu$$428$$) {
$cpu$$428$$.reg16[2] = $cpu$$428$$.inc($cpu$$428$$.reg16[2], 15);
};
$table32$$[65] = function $$table32$$$65$($cpu$$429$$) {
$cpu$$429$$.reg32s[1] = $cpu$$429$$.inc($cpu$$429$$.reg32s[1], 31);
};
$table16$$[66] = function $$table16$$$66$($cpu$$430$$) {
$cpu$$430$$.reg16[4] = $cpu$$430$$.inc($cpu$$430$$.reg16[4], 15);
};
$table32$$[66] = function $$table32$$$66$($cpu$$431$$) {
$cpu$$431$$.reg32s[2] = $cpu$$431$$.inc($cpu$$431$$.reg32s[2], 31);
};
$table16$$[67] = function $$table16$$$67$($cpu$$432$$) {
$cpu$$432$$.reg16[6] = $cpu$$432$$.inc($cpu$$432$$.reg16[6], 15);
};
$table32$$[67] = function $$table32$$$67$($cpu$$433$$) {
$cpu$$433$$.reg32s[3] = $cpu$$433$$.inc($cpu$$433$$.reg32s[3], 31);
};
$table16$$[68] = function $$table16$$$68$($cpu$$434$$) {
$cpu$$434$$.reg16[8] = $cpu$$434$$.inc($cpu$$434$$.reg16[8], 15);
};
$table32$$[68] = function $$table32$$$68$($cpu$$435$$) {
$cpu$$435$$.reg32s[4] = $cpu$$435$$.inc($cpu$$435$$.reg32s[4], 31);
};
$table16$$[69] = function $$table16$$$69$($cpu$$436$$) {
$cpu$$436$$.reg16[10] = $cpu$$436$$.inc($cpu$$436$$.reg16[10], 15);
};
$table32$$[69] = function $$table32$$$69$($cpu$$437$$) {
$cpu$$437$$.reg32s[5] = $cpu$$437$$.inc($cpu$$437$$.reg32s[5], 31);
};
$table16$$[70] = function $$table16$$$70$($cpu$$438$$) {
$cpu$$438$$.reg16[12] = $cpu$$438$$.inc($cpu$$438$$.reg16[12], 15);
};
$table32$$[70] = function $$table32$$$70$($cpu$$439$$) {
$cpu$$439$$.reg32s[6] = $cpu$$439$$.inc($cpu$$439$$.reg32s[6], 31);
};
$table16$$[71] = function $$table16$$$71$($cpu$$440$$) {
$cpu$$440$$.reg16[14] = $cpu$$440$$.inc($cpu$$440$$.reg16[14], 15);
};
$table32$$[71] = function $$table32$$$71$($cpu$$441$$) {
$cpu$$441$$.reg32s[7] = $cpu$$441$$.inc($cpu$$441$$.reg32s[7], 31);
};
$table16$$[72] = function $$table16$$$72$($cpu$$442$$) {
$cpu$$442$$.reg16[0] = $cpu$$442$$.dec($cpu$$442$$.reg16[0], 15);
};
$table32$$[72] = function $$table32$$$72$($cpu$$443$$) {
$cpu$$443$$.reg32s[0] = $cpu$$443$$.dec($cpu$$443$$.reg32s[0], 31);
};
$table16$$[73] = function $$table16$$$73$($cpu$$444$$) {
$cpu$$444$$.reg16[2] = $cpu$$444$$.dec($cpu$$444$$.reg16[2], 15);
};
$table32$$[73] = function $$table32$$$73$($cpu$$445$$) {
$cpu$$445$$.reg32s[1] = $cpu$$445$$.dec($cpu$$445$$.reg32s[1], 31);
};
$table16$$[74] = function $$table16$$$74$($cpu$$446$$) {
$cpu$$446$$.reg16[4] = $cpu$$446$$.dec($cpu$$446$$.reg16[4], 15);
};
$table32$$[74] = function $$table32$$$74$($cpu$$447$$) {
$cpu$$447$$.reg32s[2] = $cpu$$447$$.dec($cpu$$447$$.reg32s[2], 31);
};
$table16$$[75] = function $$table16$$$75$($cpu$$448$$) {
$cpu$$448$$.reg16[6] = $cpu$$448$$.dec($cpu$$448$$.reg16[6], 15);
};
$table32$$[75] = function $$table32$$$75$($cpu$$449$$) {
$cpu$$449$$.reg32s[3] = $cpu$$449$$.dec($cpu$$449$$.reg32s[3], 31);
};
$table16$$[76] = function $$table16$$$76$($cpu$$450$$) {
$cpu$$450$$.reg16[8] = $cpu$$450$$.dec($cpu$$450$$.reg16[8], 15);
};
$table32$$[76] = function $$table32$$$76$($cpu$$451$$) {
$cpu$$451$$.reg32s[4] = $cpu$$451$$.dec($cpu$$451$$.reg32s[4], 31);
};
$table16$$[77] = function $$table16$$$77$($cpu$$452$$) {
$cpu$$452$$.reg16[10] = $cpu$$452$$.dec($cpu$$452$$.reg16[10], 15);
};
$table32$$[77] = function $$table32$$$77$($cpu$$453$$) {
$cpu$$453$$.reg32s[5] = $cpu$$453$$.dec($cpu$$453$$.reg32s[5], 31);
};
$table16$$[78] = function $$table16$$$78$($cpu$$454$$) {
$cpu$$454$$.reg16[12] = $cpu$$454$$.dec($cpu$$454$$.reg16[12], 15);
};
$table32$$[78] = function $$table32$$$78$($cpu$$455$$) {
$cpu$$455$$.reg32s[6] = $cpu$$455$$.dec($cpu$$455$$.reg32s[6], 31);
};
$table16$$[79] = function $$table16$$$79$($cpu$$456$$) {
$cpu$$456$$.reg16[14] = $cpu$$456$$.dec($cpu$$456$$.reg16[14], 15);
};
$table32$$[79] = function $$table32$$$79$($cpu$$457$$) {
$cpu$$457$$.reg32s[7] = $cpu$$457$$.dec($cpu$$457$$.reg32s[7], 31);
};
$table16$$[80] = function $$table16$$$80$($cpu$$458$$) {
$cpu$$458$$.push16($cpu$$458$$.reg16[0]);
};
$table32$$[80] = function $$table32$$$80$($cpu$$459$$) {
$cpu$$459$$.push32($cpu$$459$$.reg32s[0]);
};
$table16$$[81] = function $$table16$$$81$($cpu$$460$$) {
$cpu$$460$$.push16($cpu$$460$$.reg16[2]);
};
$table32$$[81] = function $$table32$$$81$($cpu$$461$$) {
$cpu$$461$$.push32($cpu$$461$$.reg32s[1]);
};
$table16$$[82] = function $$table16$$$82$($cpu$$462$$) {
$cpu$$462$$.push16($cpu$$462$$.reg16[4]);
};
$table32$$[82] = function $$table32$$$82$($cpu$$463$$) {
$cpu$$463$$.push32($cpu$$463$$.reg32s[2]);
};
$table16$$[83] = function $$table16$$$83$($cpu$$464$$) {
$cpu$$464$$.push16($cpu$$464$$.reg16[6]);
};
$table32$$[83] = function $$table32$$$83$($cpu$$465$$) {
$cpu$$465$$.push32($cpu$$465$$.reg32s[3]);
};
$table16$$[84] = function $$table16$$$84$($cpu$$466$$) {
$cpu$$466$$.push16($cpu$$466$$.reg16[8]);
};
$table32$$[84] = function $$table32$$$84$($cpu$$467$$) {
$cpu$$467$$.push32($cpu$$467$$.reg32s[4]);
};
$table16$$[85] = function $$table16$$$85$($cpu$$468$$) {
$cpu$$468$$.push16($cpu$$468$$.reg16[10]);
};
$table32$$[85] = function $$table32$$$85$($cpu$$469$$) {
$cpu$$469$$.push32($cpu$$469$$.reg32s[5]);
};
$table16$$[86] = function $$table16$$$86$($cpu$$470$$) {
$cpu$$470$$.push16($cpu$$470$$.reg16[12]);
};
$table32$$[86] = function $$table32$$$86$($cpu$$471$$) {
$cpu$$471$$.push32($cpu$$471$$.reg32s[6]);
};
$table16$$[87] = function $$table16$$$87$($cpu$$472$$) {
$cpu$$472$$.push16($cpu$$472$$.reg16[14]);
};
$table32$$[87] = function $$table32$$$87$($cpu$$473$$) {
$cpu$$473$$.push32($cpu$$473$$.reg32s[7]);
};
$table16$$[88] = function $$table16$$$88$($cpu$$474$$) {
$cpu$$474$$.reg16[0] = $cpu$$474$$.pop16();
};
$table32$$[88] = function $$table32$$$88$($cpu$$475$$) {
$cpu$$475$$.reg32s[0] = $cpu$$475$$.pop32s();
};
$table16$$[89] = function $$table16$$$89$($cpu$$476$$) {
$cpu$$476$$.reg16[2] = $cpu$$476$$.pop16();
};
$table32$$[89] = function $$table32$$$89$($cpu$$477$$) {
$cpu$$477$$.reg32s[1] = $cpu$$477$$.pop32s();
};
$table16$$[90] = function $$table16$$$90$($cpu$$478$$) {
$cpu$$478$$.reg16[4] = $cpu$$478$$.pop16();
};
$table32$$[90] = function $$table32$$$90$($cpu$$479$$) {
$cpu$$479$$.reg32s[2] = $cpu$$479$$.pop32s();
};
$table16$$[91] = function $$table16$$$91$($cpu$$480$$) {
$cpu$$480$$.reg16[6] = $cpu$$480$$.pop16();
};
$table32$$[91] = function $$table32$$$91$($cpu$$481$$) {
$cpu$$481$$.reg32s[3] = $cpu$$481$$.pop32s();
};
$table16$$[92] = function $$table16$$$92$($cpu$$482$$) {
$cpu$$482$$.reg16[8] = $cpu$$482$$.pop16();
};
$table32$$[92] = function $$table32$$$92$($cpu$$483$$) {
$cpu$$483$$.reg32s[4] = $cpu$$483$$.pop32s();
};
$table16$$[93] = function $$table16$$$93$($cpu$$484$$) {
$cpu$$484$$.reg16[10] = $cpu$$484$$.pop16();
};
$table32$$[93] = function $$table32$$$93$($cpu$$485$$) {
$cpu$$485$$.reg32s[5] = $cpu$$485$$.pop32s();
};
$table16$$[94] = function $$table16$$$94$($cpu$$486$$) {
$cpu$$486$$.reg16[12] = $cpu$$486$$.pop16();
};
$table32$$[94] = function $$table32$$$94$($cpu$$487$$) {
$cpu$$487$$.reg32s[6] = $cpu$$487$$.pop32s();
};
$table16$$[95] = function $$table16$$$95$($cpu$$488$$) {
$cpu$$488$$.reg16[14] = $cpu$$488$$.pop16();
};
$table32$$[95] = function $$table32$$$95$($cpu$$489$$) {
$cpu$$489$$.reg32s[7] = $cpu$$489$$.pop32s();
};
$table16$$[96] = function $$table16$$$96$($cpu$$490$$) {
$cpu$$490$$.pusha16();
};
$table32$$[96] = function $$table32$$$96$($cpu$$491$$) {
$cpu$$491$$.pusha32();
};
$table16$$[97] = function $$table16$$$97$($cpu$$492$$) {
$cpu$$492$$.popa16();
};
$table32$$[97] = function $$table32$$$97$($cpu$$493$$) {
$cpu$$493$$.popa32();
};
$table16$$[98] = $table32$$[98] = function $$table32$$$98$($cpu$$494$$) {
throw $cpu$$494$$.debug.unimpl("bound instruction");
};
$table16$$[99] = $table32$$[99] = function $$table32$$$99$($cpu$$495$$) {
var $modrm_byte$$49$$ = $cpu$$495$$.read_imm8(), $data$$73_result$$44_virt_addr$$18$$, $phys_addr$$17$$, $phys_addr_high$$14$$ = 0;
192 > $modrm_byte$$49$$ ? ($data$$73_result$$44_virt_addr$$18$$ = $cpu$$495$$.modrm_resolve($modrm_byte$$49$$), $phys_addr$$17$$ = $cpu$$495$$.translate_address_write($data$$73_result$$44_virt_addr$$18$$), $cpu$$495$$.paging && 4095 === ($data$$73_result$$44_virt_addr$$18$$ & 4095) ? ($phys_addr_high$$14$$ = $cpu$$495$$.translate_address_write($data$$73_result$$44_virt_addr$$18$$ + 1), $data$$73_result$$44_virt_addr$$18$$ = $cpu$$495$$.virt_boundary_read16($phys_addr$$17$$, $phys_addr_high$$14$$)) :
$data$$73_result$$44_virt_addr$$18$$ = $cpu$$495$$.memory.read16($phys_addr$$17$$)) : $data$$73_result$$44_virt_addr$$18$$ = $cpu$$495$$.reg16[$modrm_byte$$49$$ << 1 & 14];
$data$$73_result$$44_virt_addr$$18$$ = $cpu$$495$$.arpl($data$$73_result$$44_virt_addr$$18$$, $modrm_byte$$49$$ >> 2 & 14);
192 > $modrm_byte$$49$$ ? $phys_addr_high$$14$$ ? $cpu$$495$$.virt_boundary_write16($phys_addr$$17$$, $phys_addr_high$$14$$, $data$$73_result$$44_virt_addr$$18$$) : $cpu$$495$$.memory.write16($phys_addr$$17$$, $data$$73_result$$44_virt_addr$$18$$) : $cpu$$495$$.reg16[$modrm_byte$$49$$ << 1 & 14] = $data$$73_result$$44_virt_addr$$18$$;
};
$table16$$[100] = $table32$$[100] = function $$table32$$$100$($cpu$$496$$) {
$cpu$$496$$.seg_prefix(4);
};
$table16$$[101] = $table32$$[101] = function $$table32$$$101$($cpu$$497$$) {
$cpu$$497$$.seg_prefix(5);
};
$table16$$[102] = $table32$$[102] = function $$table32$$$102$($cpu$$498$$) {
$cpu$$498$$.operand_size_32 = !$cpu$$498$$.is_32;
$cpu$$498$$.update_operand_size();
$cpu$$498$$.table[$cpu$$498$$.read_imm8()]($cpu$$498$$);
$cpu$$498$$.operand_size_32 = $cpu$$498$$.is_32;
$cpu$$498$$.update_operand_size();
};
$table16$$[103] = $table32$$[103] = function $$table32$$$103$($cpu$$499$$) {
$cpu$$499$$.address_size_32 = !$cpu$$499$$.is_32;
$cpu$$499$$.update_address_size();
$cpu$$499$$.table[$cpu$$499$$.read_imm8()]($cpu$$499$$);
$cpu$$499$$.address_size_32 = $cpu$$499$$.is_32;
$cpu$$499$$.update_address_size();
};
$table16$$[104] = function $$table16$$$104$($cpu$$500$$) {
$cpu$$500$$.push16($cpu$$500$$.read_imm16());
};
$table32$$[104] = function $$table32$$$104$($cpu$$501$$) {
$cpu$$501$$.push32($cpu$$501$$.read_imm32s());
};
$table16$$[105] = function $$table16$$$105$($cpu$$502$$) {
var $modrm_byte$$50$$ = $cpu$$502$$.read_imm8(), $data$$74$$ = 192 > $modrm_byte$$50$$ ? $cpu$$502$$.safe_read16($cpu$$502$$.modrm_resolve($modrm_byte$$50$$)) << 16 >> 16 : $cpu$$502$$.reg16s[$modrm_byte$$50$$ << 1 & 14];
$cpu$$502$$.reg16[$modrm_byte$$50$$ >> 2 & 14] = $cpu$$502$$.imul_reg16($cpu$$502$$.read_imm16s(), $data$$74$$);
};
$table32$$[105] = function $$table32$$$105$($cpu$$503$$) {
var $modrm_byte$$51$$ = $cpu$$503$$.read_imm8(), $data$$75$$ = 192 > $modrm_byte$$51$$ ? $cpu$$503$$.safe_read32s($cpu$$503$$.modrm_resolve($modrm_byte$$51$$)) : $cpu$$503$$.reg32s[$modrm_byte$$51$$ & 7];
$cpu$$503$$.reg32s[$modrm_byte$$51$$ >> 3 & 7] = $cpu$$503$$.imul_reg32($cpu$$503$$.read_imm32s(), $data$$75$$);
};
$table16$$[106] = function $$table16$$$106$($cpu$$504$$) {
$cpu$$504$$.push16($cpu$$504$$.read_imm8s());
};
$table32$$[106] = function $$table32$$$106$($cpu$$505$$) {
$cpu$$505$$.push32($cpu$$505$$.read_imm8s());
};
$table16$$[107] = function $$table16$$$107$($cpu$$506$$) {
var $modrm_byte$$52$$ = $cpu$$506$$.read_imm8(), $data$$76$$ = 192 > $modrm_byte$$52$$ ? $cpu$$506$$.safe_read16($cpu$$506$$.modrm_resolve($modrm_byte$$52$$)) << 16 >> 16 : $cpu$$506$$.reg16s[$modrm_byte$$52$$ << 1 & 14];
$cpu$$506$$.reg16[$modrm_byte$$52$$ >> 2 & 14] = $cpu$$506$$.imul_reg16($cpu$$506$$.read_imm8s(), $data$$76$$);
};
$table32$$[107] = function $$table32$$$107$($cpu$$507$$) {
var $modrm_byte$$53$$ = $cpu$$507$$.read_imm8(), $data$$77$$ = 192 > $modrm_byte$$53$$ ? $cpu$$507$$.safe_read32s($cpu$$507$$.modrm_resolve($modrm_byte$$53$$)) : $cpu$$507$$.reg32s[$modrm_byte$$53$$ & 7];
$cpu$$507$$.reg32s[$modrm_byte$$53$$ >> 3 & 7] = $cpu$$507$$.imul_reg32($cpu$$507$$.read_imm8s(), $data$$77$$);
};
$table16$$[108] = $table32$$[108] = function $$table32$$$108$($cpu$$508$$) {
a: {
var $port$$inline_376$$ = $cpu$$508$$.reg16[4];
$cpu$$508$$.test_privileges_for_io($port$$inline_376$$, 1);
var $dest$$inline_377_phys_dest$$inline_378$$, $size$$inline_379$$ = $cpu$$508$$.flags & 1024 ? -1 : 1, $cont$$inline_380$$ = !1;
$dest$$inline_377_phys_dest$$inline_378$$ = $cpu$$508$$.get_seg(0) + $cpu$$508$$.regv[$cpu$$508$$.reg_vdi] | 0;
if (0 !== $cpu$$508$$.repeat_string_prefix) {
var $count$$inline_381$$ = $cpu$$508$$.regv[$cpu$$508$$.reg_vcx] >>> 0, $start_count$$inline_382$$ = $count$$inline_381$$;
if (0 === $count$$inline_381$$) {
break a;
}
var $next_cycle$$inline_383$$ = 16384, $single_size$$inline_384$$ = $size$$inline_379$$ >> 31 | 1;
$cpu$$508$$.paging && ($next_cycle$$inline_383$$ = Math.min($next_cycle$$inline_383$$, ($single_size$$inline_384$$ >> 1 ^ ~$dest$$inline_377_phys_dest$$inline_378$$) & 4095), $dest$$inline_377_phys_dest$$inline_378$$ = $cpu$$508$$.translate_address_write($dest$$inline_377_phys_dest$$inline_378$$));
do {
$cpu$$508$$.memory.write8($dest$$inline_377_phys_dest$$inline_378$$, $cpu$$508$$.io.port_read8($port$$inline_376$$)), $dest$$inline_377_phys_dest$$inline_378$$ += $single_size$$inline_384$$, $cont$$inline_380$$ = 0 !== --$count$$inline_381$$ && !0;
} while ($cont$$inline_380$$ && $next_cycle$$inline_383$$--);
$cpu$$508$$.regv[$cpu$$508$$.reg_vdi] += $size$$inline_379$$ * ($start_count$$inline_382$$ - $count$$inline_381$$) | 0;
$cpu$$508$$.regv[$cpu$$508$$.reg_vcx] = $count$$inline_381$$;
$cpu$$508$$.timestamp_counter += $start_count$$inline_382$$ - $count$$inline_381$$;
} else {
$dest$$inline_377_phys_dest$$inline_378$$ = $cpu$$508$$.translate_address_write($dest$$inline_377_phys_dest$$inline_378$$), $cpu$$508$$.memory.write8($dest$$inline_377_phys_dest$$inline_378$$, $cpu$$508$$.io.port_read8($port$$inline_376$$)), $cpu$$508$$.regv[$cpu$$508$$.reg_vdi] += $size$$inline_379$$;
}
$cont$$inline_380$$ && ($cpu$$508$$.instruction_pointer = $cpu$$508$$.previous_ip);
}
};
$table16$$[109] = function $$table16$$$109$($cpu$$509$$) {
a: {
var $port$$inline_387$$ = $cpu$$509$$.reg16[4];
$cpu$$509$$.test_privileges_for_io($port$$inline_387$$, 2);
var $dest$$inline_388_phys_dest$$inline_389$$, $size$$inline_390$$ = $cpu$$509$$.flags & 1024 ? -2 : 2, $cont$$inline_391$$ = !1;
$dest$$inline_388_phys_dest$$inline_389$$ = $cpu$$509$$.get_seg(0) + $cpu$$509$$.regv[$cpu$$509$$.reg_vdi] | 0;
if (0 !== $cpu$$509$$.repeat_string_prefix) {
var $count$$inline_392$$ = $cpu$$509$$.regv[$cpu$$509$$.reg_vcx] >>> 0, $start_count$$inline_393$$ = $count$$inline_392$$;
if (0 === $count$$inline_392$$) {
break a;
}
var $next_cycle$$inline_394$$ = 16384;
if ($dest$$inline_388_phys_dest$$inline_389$$ & 1) {
do {
$cpu$$509$$.safe_write16($dest$$inline_388_phys_dest$$inline_389$$, $cpu$$509$$.io.port_read16($port$$inline_387$$)), $dest$$inline_388_phys_dest$$inline_389$$ += $size$$inline_390$$, $cpu$$509$$.regv[$cpu$$509$$.reg_vdi] += $size$$inline_390$$, $cont$$inline_391$$ = 0 !== --$cpu$$509$$.regv[$cpu$$509$$.reg_vcx] && !0;
} while ($cont$$inline_391$$ && $next_cycle$$inline_394$$--);
} else {
var $single_size$$inline_395$$ = $size$$inline_390$$ >> 31 | 1;
$cpu$$509$$.paging && ($next_cycle$$inline_394$$ = Math.min($next_cycle$$inline_394$$, ($single_size$$inline_395$$ >> 1 ^ ~$dest$$inline_388_phys_dest$$inline_389$$) & 4095), $dest$$inline_388_phys_dest$$inline_389$$ = $cpu$$509$$.translate_address_write($dest$$inline_388_phys_dest$$inline_389$$), $next_cycle$$inline_394$$ >>= 1);
$dest$$inline_388_phys_dest$$inline_389$$ >>>= 1;
do {
$cpu$$509$$.memory.write_aligned16($dest$$inline_388_phys_dest$$inline_389$$, $cpu$$509$$.io.port_read16($port$$inline_387$$)), $dest$$inline_388_phys_dest$$inline_389$$ += $single_size$$inline_395$$, $cont$$inline_391$$ = 0 !== --$count$$inline_392$$ && !0;
} while ($cont$$inline_391$$ && $next_cycle$$inline_394$$--);
$cpu$$509$$.regv[$cpu$$509$$.reg_vdi] += $size$$inline_390$$ * ($start_count$$inline_393$$ - $count$$inline_392$$) | 0;
$cpu$$509$$.regv[$cpu$$509$$.reg_vcx] = $count$$inline_392$$;
$cpu$$509$$.timestamp_counter += $start_count$$inline_393$$ - $count$$inline_392$$;
}
} else {
$cpu$$509$$.safe_write16($dest$$inline_388_phys_dest$$inline_389$$, $cpu$$509$$.io.port_read16($port$$inline_387$$)), $cpu$$509$$.regv[$cpu$$509$$.reg_vdi] += $size$$inline_390$$;
}
$cont$$inline_391$$ && ($cpu$$509$$.instruction_pointer = $cpu$$509$$.previous_ip);
}
};
$table32$$[109] = function $$table32$$$109$($cpu$$510$$) {
a: {
var $port$$inline_398$$ = $cpu$$510$$.reg16[4];
$cpu$$510$$.test_privileges_for_io($port$$inline_398$$, 4);
var $dest$$inline_399_phys_dest$$inline_400$$, $size$$inline_401$$ = $cpu$$510$$.flags & 1024 ? -4 : 4, $cont$$inline_402$$ = !1;
$dest$$inline_399_phys_dest$$inline_400$$ = $cpu$$510$$.get_seg(0) + $cpu$$510$$.regv[$cpu$$510$$.reg_vdi] | 0;
if (0 !== $cpu$$510$$.repeat_string_prefix) {
var $count$$inline_403$$ = $cpu$$510$$.regv[$cpu$$510$$.reg_vcx] >>> 0, $start_count$$inline_404$$ = $count$$inline_403$$;
if (0 === $count$$inline_403$$) {
break a;
}
var $next_cycle$$inline_405$$ = 16384;
if ($dest$$inline_399_phys_dest$$inline_400$$ & 3) {
do {
$cpu$$510$$.safe_write32($dest$$inline_399_phys_dest$$inline_400$$, $cpu$$510$$.io.port_read32($port$$inline_398$$)), $dest$$inline_399_phys_dest$$inline_400$$ += $size$$inline_401$$, $cpu$$510$$.regv[$cpu$$510$$.reg_vdi] += $size$$inline_401$$, $cont$$inline_402$$ = 0 !== --$cpu$$510$$.regv[$cpu$$510$$.reg_vcx] && !0;
} while ($cont$$inline_402$$ && $next_cycle$$inline_405$$--);
} else {
var $single_size$$inline_406$$ = $size$$inline_401$$ >> 31 | 1;
$cpu$$510$$.paging && ($next_cycle$$inline_405$$ = Math.min($next_cycle$$inline_405$$, ($single_size$$inline_406$$ >> 1 ^ ~$dest$$inline_399_phys_dest$$inline_400$$) & 4095), $dest$$inline_399_phys_dest$$inline_400$$ = $cpu$$510$$.translate_address_write($dest$$inline_399_phys_dest$$inline_400$$), $next_cycle$$inline_405$$ >>= 2);
$dest$$inline_399_phys_dest$$inline_400$$ >>>= 2;
do {
$cpu$$510$$.memory.write_aligned32($dest$$inline_399_phys_dest$$inline_400$$, $cpu$$510$$.io.port_read32($port$$inline_398$$)), $dest$$inline_399_phys_dest$$inline_400$$ += $single_size$$inline_406$$, $cont$$inline_402$$ = 0 !== --$count$$inline_403$$ && !0;
} while ($cont$$inline_402$$ && $next_cycle$$inline_405$$--);
$cpu$$510$$.regv[$cpu$$510$$.reg_vdi] += $size$$inline_401$$ * ($start_count$$inline_404$$ - $count$$inline_403$$) | 0;
$cpu$$510$$.regv[$cpu$$510$$.reg_vcx] = $count$$inline_403$$;
$cpu$$510$$.timestamp_counter += $start_count$$inline_404$$ - $count$$inline_403$$;
}
} else {
$cpu$$510$$.safe_write32($dest$$inline_399_phys_dest$$inline_400$$, $cpu$$510$$.io.port_read32($port$$inline_398$$)), $cpu$$510$$.regv[$cpu$$510$$.reg_vdi] += $size$$inline_401$$;
}
$cont$$inline_402$$ && ($cpu$$510$$.instruction_pointer = $cpu$$510$$.previous_ip);
}
};
$table16$$[110] = $table32$$[110] = function $$table32$$$110$($cpu$$511$$) {
a: {
var $port$$inline_409$$ = $cpu$$511$$.reg16[4];
$cpu$$511$$.test_privileges_for_io($port$$inline_409$$, 1);
var $phys_src$$inline_411_src$$inline_410$$, $size$$inline_412$$ = $cpu$$511$$.flags & 1024 ? -1 : 1, $cont$$inline_413$$ = !1;
$phys_src$$inline_411_src$$inline_410$$ = $cpu$$511$$.get_seg_prefix(3) + $cpu$$511$$.regv[$cpu$$511$$.reg_vsi] | 0;
if (0 !== $cpu$$511$$.repeat_string_prefix) {
var $count$$inline_414$$ = $cpu$$511$$.regv[$cpu$$511$$.reg_vcx] >>> 0, $start_count$$inline_415$$ = $count$$inline_414$$;
if (0 === $count$$inline_414$$) {
break a;
}
var $next_cycle$$inline_416$$ = 16384, $single_size$$inline_417$$ = $size$$inline_412$$ >> 31 | 1;
$cpu$$511$$.paging && ($next_cycle$$inline_416$$ = ($single_size$$inline_417$$ >> 1 ^ ~$phys_src$$inline_411_src$$inline_410$$) & 4095, $phys_src$$inline_411_src$$inline_410$$ = $cpu$$511$$.translate_address_read($phys_src$$inline_411_src$$inline_410$$));
do {
$cpu$$511$$.io.port_write8($port$$inline_409$$, $cpu$$511$$.memory.read8($phys_src$$inline_411_src$$inline_410$$)), $phys_src$$inline_411_src$$inline_410$$ += $single_size$$inline_417$$, $cont$$inline_413$$ = 0 !== --$count$$inline_414$$ && !0;
} while ($cont$$inline_413$$ && $next_cycle$$inline_416$$--);
$cpu$$511$$.regv[$cpu$$511$$.reg_vsi] += $size$$inline_412$$ * ($start_count$$inline_415$$ - $count$$inline_414$$) | 0;
$cpu$$511$$.regv[$cpu$$511$$.reg_vcx] = $count$$inline_414$$;
$cpu$$511$$.timestamp_counter += $start_count$$inline_415$$ - $count$$inline_414$$;
} else {
$phys_src$$inline_411_src$$inline_410$$ = $cpu$$511$$.translate_address_read($phys_src$$inline_411_src$$inline_410$$), $cpu$$511$$.io.port_write8($port$$inline_409$$, $cpu$$511$$.memory.read8($phys_src$$inline_411_src$$inline_410$$)), $cpu$$511$$.regv[$cpu$$511$$.reg_vsi] += $size$$inline_412$$;
}
$cont$$inline_413$$ && ($cpu$$511$$.instruction_pointer = $cpu$$511$$.previous_ip);
}
};
$table16$$[111] = function $$table16$$$111$($cpu$$512$$) {
a: {
var $port$$inline_420$$ = $cpu$$512$$.reg16[4];
$cpu$$512$$.test_privileges_for_io($port$$inline_420$$, 2);
var $phys_src$$inline_422_src$$inline_421$$, $size$$inline_423$$ = $cpu$$512$$.flags & 1024 ? -2 : 2, $cont$$inline_424$$ = !1;
$phys_src$$inline_422_src$$inline_421$$ = $cpu$$512$$.get_seg_prefix(3) + $cpu$$512$$.regv[$cpu$$512$$.reg_vsi] | 0;
if (0 !== $cpu$$512$$.repeat_string_prefix) {
var $count$$inline_425$$ = $cpu$$512$$.regv[$cpu$$512$$.reg_vcx] >>> 0, $start_count$$inline_426$$ = $count$$inline_425$$;
if (0 === $count$$inline_425$$) {
break a;
}
var $next_cycle$$inline_427$$ = 16384;
if ($phys_src$$inline_422_src$$inline_421$$ & 1) {
do {
$cpu$$512$$.io.port_write16($port$$inline_420$$, $cpu$$512$$.safe_read16($phys_src$$inline_422_src$$inline_421$$)), $phys_src$$inline_422_src$$inline_421$$ += $size$$inline_423$$, $cpu$$512$$.regv[$cpu$$512$$.reg_vsi] += $size$$inline_423$$, $cont$$inline_424$$ = 0 !== --$cpu$$512$$.regv[$cpu$$512$$.reg_vcx] && !0;
} while ($cont$$inline_424$$ && $next_cycle$$inline_427$$--);
} else {
var $single_size$$inline_428$$ = $size$$inline_423$$ >> 31 | 1;
$cpu$$512$$.paging && ($next_cycle$$inline_427$$ = ($single_size$$inline_428$$ >> 1 ^ ~$phys_src$$inline_422_src$$inline_421$$) & 4095, $phys_src$$inline_422_src$$inline_421$$ = $cpu$$512$$.translate_address_read($phys_src$$inline_422_src$$inline_421$$), $next_cycle$$inline_427$$ >>= 1);
$phys_src$$inline_422_src$$inline_421$$ >>>= 1;
do {
$cpu$$512$$.io.port_write16($port$$inline_420$$, $cpu$$512$$.memory.read_aligned16($phys_src$$inline_422_src$$inline_421$$)), $phys_src$$inline_422_src$$inline_421$$ += $single_size$$inline_428$$, $cont$$inline_424$$ = 0 !== --$count$$inline_425$$ && !0;
} while ($cont$$inline_424$$ && $next_cycle$$inline_427$$--);
$cpu$$512$$.regv[$cpu$$512$$.reg_vsi] += $size$$inline_423$$ * ($start_count$$inline_426$$ - $count$$inline_425$$) | 0;
$cpu$$512$$.regv[$cpu$$512$$.reg_vcx] = $count$$inline_425$$;
$cpu$$512$$.timestamp_counter += $start_count$$inline_426$$ - $count$$inline_425$$;
}
} else {
$cpu$$512$$.io.port_write16($port$$inline_420$$, $cpu$$512$$.safe_read16($phys_src$$inline_422_src$$inline_421$$)), $cpu$$512$$.regv[$cpu$$512$$.reg_vsi] += $size$$inline_423$$;
}
$cont$$inline_424$$ && ($cpu$$512$$.instruction_pointer = $cpu$$512$$.previous_ip);
}
};
$table32$$[111] = function $$table32$$$111$($cpu$$513$$) {
a: {
var $port$$inline_431$$ = $cpu$$513$$.reg16[4];
$cpu$$513$$.test_privileges_for_io($port$$inline_431$$, 4);
var $phys_src$$inline_433_src$$inline_432$$, $size$$inline_434$$ = $cpu$$513$$.flags & 1024 ? -4 : 4, $cont$$inline_435$$ = !1;
$phys_src$$inline_433_src$$inline_432$$ = $cpu$$513$$.get_seg_prefix(3) + $cpu$$513$$.regv[$cpu$$513$$.reg_vsi] | 0;
if (0 !== $cpu$$513$$.repeat_string_prefix) {
var $count$$inline_436$$ = $cpu$$513$$.regv[$cpu$$513$$.reg_vcx] >>> 0, $start_count$$inline_437$$ = $count$$inline_436$$;
if (0 === $count$$inline_436$$) {
break a;
}
var $next_cycle$$inline_438$$ = 16384;
if ($phys_src$$inline_433_src$$inline_432$$ & 3) {
do {
$cpu$$513$$.io.port_write32($port$$inline_431$$, $cpu$$513$$.safe_read32s($phys_src$$inline_433_src$$inline_432$$)), $phys_src$$inline_433_src$$inline_432$$ += $size$$inline_434$$, $cpu$$513$$.regv[$cpu$$513$$.reg_vsi] += $size$$inline_434$$, $cont$$inline_435$$ = 0 !== --$cpu$$513$$.regv[$cpu$$513$$.reg_vcx] && !0;
} while ($cont$$inline_435$$ && $next_cycle$$inline_438$$--);
} else {
var $single_size$$inline_439$$ = $size$$inline_434$$ >> 31 | 1;
$cpu$$513$$.paging && ($next_cycle$$inline_438$$ = ($single_size$$inline_439$$ >> 1 ^ ~$phys_src$$inline_433_src$$inline_432$$) & 4095, $phys_src$$inline_433_src$$inline_432$$ = $cpu$$513$$.translate_address_read($phys_src$$inline_433_src$$inline_432$$), $next_cycle$$inline_438$$ >>= 2);
$phys_src$$inline_433_src$$inline_432$$ >>>= 2;
do {
$cpu$$513$$.io.port_write32($port$$inline_431$$, $cpu$$513$$.memory.read_aligned32($phys_src$$inline_433_src$$inline_432$$)), $phys_src$$inline_433_src$$inline_432$$ += $single_size$$inline_439$$, $cont$$inline_435$$ = 0 !== --$count$$inline_436$$ && !0;
} while ($cont$$inline_435$$ && $next_cycle$$inline_438$$--);
$cpu$$513$$.regv[$cpu$$513$$.reg_vsi] += $size$$inline_434$$ * ($start_count$$inline_437$$ - $count$$inline_436$$) | 0;
$cpu$$513$$.regv[$cpu$$513$$.reg_vcx] = $count$$inline_436$$;
$cpu$$513$$.timestamp_counter += $start_count$$inline_437$$ - $count$$inline_436$$;
}
} else {
$cpu$$513$$.io.port_write32($port$$inline_431$$, $cpu$$513$$.safe_read32s($phys_src$$inline_433_src$$inline_432$$)), $cpu$$513$$.regv[$cpu$$513$$.reg_vsi] += $size$$inline_434$$;
}
$cont$$inline_435$$ && ($cpu$$513$$.instruction_pointer = $cpu$$513$$.previous_ip);
}
};
$table16$$[112] = $table32$$[112] = function $$table32$$$112$($cpu$$514$$) {
$cpu$$514$$.test_o() && ($cpu$$514$$.instruction_pointer = $cpu$$514$$.instruction_pointer + $cpu$$514$$.read_imm8s() | 0);
$cpu$$514$$.instruction_pointer++;
$cpu$$514$$.last_instr_jump = !0;
};
$table16$$[113] = $table32$$[113] = function $$table32$$$113$($cpu$$515$$) {
$cpu$$515$$.test_o() || ($cpu$$515$$.instruction_pointer = $cpu$$515$$.instruction_pointer + $cpu$$515$$.read_imm8s() | 0);
$cpu$$515$$.instruction_pointer++;
$cpu$$515$$.last_instr_jump = !0;
};
$table16$$[114] = $table32$$[114] = function $$table32$$$114$($cpu$$516$$) {
$cpu$$516$$.test_b() && ($cpu$$516$$.instruction_pointer = $cpu$$516$$.instruction_pointer + $cpu$$516$$.read_imm8s() | 0);
$cpu$$516$$.instruction_pointer++;
$cpu$$516$$.last_instr_jump = !0;
};
$table16$$[115] = $table32$$[115] = function $$table32$$$115$($cpu$$517$$) {
$cpu$$517$$.test_b() || ($cpu$$517$$.instruction_pointer = $cpu$$517$$.instruction_pointer + $cpu$$517$$.read_imm8s() | 0);
$cpu$$517$$.instruction_pointer++;
$cpu$$517$$.last_instr_jump = !0;
};
$table16$$[116] = $table32$$[116] = function $$table32$$$116$($cpu$$518$$) {
$cpu$$518$$.test_z() && ($cpu$$518$$.instruction_pointer = $cpu$$518$$.instruction_pointer + $cpu$$518$$.read_imm8s() | 0);
$cpu$$518$$.instruction_pointer++;
$cpu$$518$$.last_instr_jump = !0;
};
$table16$$[117] = $table32$$[117] = function $$table32$$$117$($cpu$$519$$) {
$cpu$$519$$.test_z() || ($cpu$$519$$.instruction_pointer = $cpu$$519$$.instruction_pointer + $cpu$$519$$.read_imm8s() | 0);
$cpu$$519$$.instruction_pointer++;
$cpu$$519$$.last_instr_jump = !0;
};
$table16$$[118] = $table32$$[118] = function $$table32$$$118$($cpu$$520$$) {
$cpu$$520$$.test_be() && ($cpu$$520$$.instruction_pointer = $cpu$$520$$.instruction_pointer + $cpu$$520$$.read_imm8s() | 0);
$cpu$$520$$.instruction_pointer++;
$cpu$$520$$.last_instr_jump = !0;
};
$table16$$[119] = $table32$$[119] = function $$table32$$$119$($cpu$$521$$) {
$cpu$$521$$.test_be() || ($cpu$$521$$.instruction_pointer = $cpu$$521$$.instruction_pointer + $cpu$$521$$.read_imm8s() | 0);
$cpu$$521$$.instruction_pointer++;
$cpu$$521$$.last_instr_jump = !0;
};
$table16$$[120] = $table32$$[120] = function $$table32$$$120$($cpu$$522$$) {
$cpu$$522$$.test_s() && ($cpu$$522$$.instruction_pointer = $cpu$$522$$.instruction_pointer + $cpu$$522$$.read_imm8s() | 0);
$cpu$$522$$.instruction_pointer++;
$cpu$$522$$.last_instr_jump = !0;
};
$table16$$[121] = $table32$$[121] = function $$table32$$$121$($cpu$$523$$) {
$cpu$$523$$.test_s() || ($cpu$$523$$.instruction_pointer = $cpu$$523$$.instruction_pointer + $cpu$$523$$.read_imm8s() | 0);
$cpu$$523$$.instruction_pointer++;
$cpu$$523$$.last_instr_jump = !0;
};
$table16$$[122] = $table32$$[122] = function $$table32$$$122$($cpu$$524$$) {
$cpu$$524$$.test_p() && ($cpu$$524$$.instruction_pointer = $cpu$$524$$.instruction_pointer + $cpu$$524$$.read_imm8s() | 0);
$cpu$$524$$.instruction_pointer++;
$cpu$$524$$.last_instr_jump = !0;
};
$table16$$[123] = $table32$$[123] = function $$table32$$$123$($cpu$$525$$) {
$cpu$$525$$.test_p() || ($cpu$$525$$.instruction_pointer = $cpu$$525$$.instruction_pointer + $cpu$$525$$.read_imm8s() | 0);
$cpu$$525$$.instruction_pointer++;
$cpu$$525$$.last_instr_jump = !0;
};
$table16$$[124] = $table32$$[124] = function $$table32$$$124$($cpu$$526$$) {
$cpu$$526$$.test_l() && ($cpu$$526$$.instruction_pointer = $cpu$$526$$.instruction_pointer + $cpu$$526$$.read_imm8s() | 0);
$cpu$$526$$.instruction_pointer++;
$cpu$$526$$.last_instr_jump = !0;
};
$table16$$[125] = $table32$$[125] = function $$table32$$$125$($cpu$$527$$) {
$cpu$$527$$.test_l() || ($cpu$$527$$.instruction_pointer = $cpu$$527$$.instruction_pointer + $cpu$$527$$.read_imm8s() | 0);
$cpu$$527$$.instruction_pointer++;
$cpu$$527$$.last_instr_jump = !0;
};
$table16$$[126] = $table32$$[126] = function $$table32$$$126$($cpu$$528$$) {
$cpu$$528$$.test_le() && ($cpu$$528$$.instruction_pointer = $cpu$$528$$.instruction_pointer + $cpu$$528$$.read_imm8s() | 0);
$cpu$$528$$.instruction_pointer++;
$cpu$$528$$.last_instr_jump = !0;
};
$table16$$[127] = $table32$$[127] = function $$table32$$$127$($cpu$$529$$) {
$cpu$$529$$.test_le() || ($cpu$$529$$.instruction_pointer = $cpu$$529$$.instruction_pointer + $cpu$$529$$.read_imm8s() | 0);
$cpu$$529$$.instruction_pointer++;
$cpu$$529$$.last_instr_jump = !0;
};
$table16$$[128] = $table32$$[128] = function $$table32$$$128$($cpu$$530$$) {
var $modrm_byte$$54$$ = $cpu$$530$$.read_imm8();
if (56 === ($modrm_byte$$54$$ & 56)) {
var $data$$78$$ = 192 > $modrm_byte$$54$$ ? $cpu$$530$$.safe_read8($cpu$$530$$.modrm_resolve($modrm_byte$$54$$)) : $cpu$$530$$.reg8[$modrm_byte$$54$$ << 2 & 12 | $modrm_byte$$54$$ >> 2 & 1];
$cpu$$530$$.sub($data$$78$$, $cpu$$530$$.read_imm8(), 7);
} else {
var $data2$$, $addr$$16$$, $result$$45$$;
192 > $modrm_byte$$54$$ ? ($addr$$16$$ = $cpu$$530$$.translate_address_write($cpu$$530$$.modrm_resolve($modrm_byte$$54$$)), $data$$78$$ = $cpu$$530$$.memory.read8($addr$$16$$)) : $data$$78$$ = $cpu$$530$$.reg8[$modrm_byte$$54$$ << 2 & 12 | $modrm_byte$$54$$ >> 2 & 1];
$result$$45$$ = 0;
$data2$$ = $cpu$$530$$.read_imm8();
switch($modrm_byte$$54$$ >> 3 & 7) {
case 0:
$result$$45$$ = $cpu$$530$$.add($data$$78$$, $data2$$, 7);
break;
case 1:
$result$$45$$ = $cpu$$530$$.or($data$$78$$, $data2$$, 7);
break;
case 2:
$result$$45$$ = $cpu$$530$$.adc($data$$78$$, $data2$$, 7);
break;
case 3:
$result$$45$$ = $cpu$$530$$.sbb($data$$78$$, $data2$$, 7);
break;
case 4:
$result$$45$$ = $cpu$$530$$.and($data$$78$$, $data2$$, 7);
break;
case 5:
$result$$45$$ = $cpu$$530$$.sub($data$$78$$, $data2$$, 7);
break;
case 6:
$result$$45$$ = $cpu$$530$$.xor($data$$78$$, $data2$$, 7);
break;
case 7:
$result$$45$$ = $dbg_assert$$.bind(this, 0)($data$$78$$, $data2$$);
}
192 > $modrm_byte$$54$$ ? $cpu$$530$$.memory.write8($addr$$16$$, $result$$45$$) : $cpu$$530$$.reg8[$modrm_byte$$54$$ << 2 & 12 | $modrm_byte$$54$$ >> 2 & 1] = $result$$45$$;
}
};
$table16$$[129] = function $$table16$$$129$($cpu$$531$$) {
var $modrm_byte$$55$$ = $cpu$$531$$.read_imm8();
if (56 === ($modrm_byte$$55$$ & 56)) {
var $data$$79_virt_addr$$19$$ = 192 > $modrm_byte$$55$$ ? $cpu$$531$$.safe_read16($cpu$$531$$.modrm_resolve($modrm_byte$$55$$)) : $cpu$$531$$.reg16[$modrm_byte$$55$$ << 1 & 14];
$cpu$$531$$.sub($data$$79_virt_addr$$19$$, $cpu$$531$$.read_imm16(), 15);
} else {
var $data2$$1$$, $phys_addr$$18$$, $phys_addr_high$$15$$ = 0, $result$$46$$;
192 > $modrm_byte$$55$$ ? ($data$$79_virt_addr$$19$$ = $cpu$$531$$.modrm_resolve($modrm_byte$$55$$), $phys_addr$$18$$ = $cpu$$531$$.translate_address_write($data$$79_virt_addr$$19$$), $cpu$$531$$.paging && 4095 === ($data$$79_virt_addr$$19$$ & 4095) ? ($phys_addr_high$$15$$ = $cpu$$531$$.translate_address_write($data$$79_virt_addr$$19$$ + 1), $data$$79_virt_addr$$19$$ = $cpu$$531$$.virt_boundary_read16($phys_addr$$18$$, $phys_addr_high$$15$$)) : $data$$79_virt_addr$$19$$ = $cpu$$531$$.memory.read16($phys_addr$$18$$)) :
$data$$79_virt_addr$$19$$ = $cpu$$531$$.reg16[$modrm_byte$$55$$ << 1 & 14];
$result$$46$$ = 0;
$data2$$1$$ = $cpu$$531$$.read_imm16();
switch($modrm_byte$$55$$ >> 3 & 7) {
case 0:
$result$$46$$ = $cpu$$531$$.add($data$$79_virt_addr$$19$$, $data2$$1$$, 15);
break;
case 1:
$result$$46$$ = $cpu$$531$$.or($data$$79_virt_addr$$19$$, $data2$$1$$, 15);
break;
case 2:
$result$$46$$ = $cpu$$531$$.adc($data$$79_virt_addr$$19$$, $data2$$1$$, 15);
break;
case 3:
$result$$46$$ = $cpu$$531$$.sbb($data$$79_virt_addr$$19$$, $data2$$1$$, 15);
break;
case 4:
$result$$46$$ = $cpu$$531$$.and($data$$79_virt_addr$$19$$, $data2$$1$$, 15);
break;
case 5:
$result$$46$$ = $cpu$$531$$.sub($data$$79_virt_addr$$19$$, $data2$$1$$, 15);
break;
case 6:
$result$$46$$ = $cpu$$531$$.xor($data$$79_virt_addr$$19$$, $data2$$1$$, 15);
break;
case 7:
$result$$46$$ = $dbg_assert$$.bind(this, 0)($data$$79_virt_addr$$19$$, $data2$$1$$);
}
192 > $modrm_byte$$55$$ ? $phys_addr_high$$15$$ ? $cpu$$531$$.virt_boundary_write16($phys_addr$$18$$, $phys_addr_high$$15$$, $result$$46$$) : $cpu$$531$$.memory.write16($phys_addr$$18$$, $result$$46$$) : $cpu$$531$$.reg16[$modrm_byte$$55$$ << 1 & 14] = $result$$46$$;
}
};
$table32$$[129] = function $$table32$$$129$($cpu$$532$$) {
var $modrm_byte$$56$$ = $cpu$$532$$.read_imm8();
if (56 === ($modrm_byte$$56$$ & 56)) {
var $data$$80_virt_addr$$20$$ = 192 > $modrm_byte$$56$$ ? $cpu$$532$$.safe_read32s($cpu$$532$$.modrm_resolve($modrm_byte$$56$$)) : $cpu$$532$$.reg32s[$modrm_byte$$56$$ & 7];
$cpu$$532$$.sub($data$$80_virt_addr$$20$$, $cpu$$532$$.read_imm32s(), 31);
} else {
var $data2$$2$$, $phys_addr$$19$$, $phys_addr_high$$16$$ = 0, $result$$47$$;
192 > $modrm_byte$$56$$ ? ($data$$80_virt_addr$$20$$ = $cpu$$532$$.modrm_resolve($modrm_byte$$56$$), $phys_addr$$19$$ = $cpu$$532$$.translate_address_write($data$$80_virt_addr$$20$$), $cpu$$532$$.paging && 4093 <= ($data$$80_virt_addr$$20$$ & 4095) ? ($phys_addr_high$$16$$ = $cpu$$532$$.translate_address_write($data$$80_virt_addr$$20$$ + 3), $data$$80_virt_addr$$20$$ = $cpu$$532$$.virt_boundary_read32s($phys_addr$$19$$, $phys_addr_high$$16$$)) : $data$$80_virt_addr$$20$$ = $cpu$$532$$.memory.read32s($phys_addr$$19$$)) :
$data$$80_virt_addr$$20$$ = $cpu$$532$$.reg32s[$modrm_byte$$56$$ & 7];
$result$$47$$ = 0;
$data2$$2$$ = $cpu$$532$$.read_imm32s();
switch($modrm_byte$$56$$ >> 3 & 7) {
case 0:
$result$$47$$ = $cpu$$532$$.add($data$$80_virt_addr$$20$$, $data2$$2$$, 31);
break;
case 1:
$result$$47$$ = $cpu$$532$$.or($data$$80_virt_addr$$20$$, $data2$$2$$, 31);
break;
case 2:
$result$$47$$ = $cpu$$532$$.adc($data$$80_virt_addr$$20$$, $data2$$2$$, 31);
break;
case 3:
$result$$47$$ = $cpu$$532$$.sbb($data$$80_virt_addr$$20$$, $data2$$2$$, 31);
break;
case 4:
$result$$47$$ = $cpu$$532$$.and($data$$80_virt_addr$$20$$, $data2$$2$$, 31);
break;
case 5:
$result$$47$$ = $cpu$$532$$.sub($data$$80_virt_addr$$20$$, $data2$$2$$, 31);
break;
case 6:
$result$$47$$ = $cpu$$532$$.xor($data$$80_virt_addr$$20$$, $data2$$2$$, 31);
break;
case 7:
$result$$47$$ = $dbg_assert$$.bind(this, 0)($data$$80_virt_addr$$20$$, $data2$$2$$);
}
192 > $modrm_byte$$56$$ ? $phys_addr_high$$16$$ ? $cpu$$532$$.virt_boundary_write32($phys_addr$$19$$, $phys_addr_high$$16$$, $result$$47$$) : $cpu$$532$$.memory.write32($phys_addr$$19$$, $result$$47$$) : $cpu$$532$$.reg32s[$modrm_byte$$56$$ & 7] = $result$$47$$;
}
};
$table16$$[130] = $table32$$[130] = function $$table32$$$130$($cpu$$533$$) {
$cpu$$533$$.table[128]($cpu$$533$$);
};
$table16$$[131] = function $$table16$$$131$($cpu$$534$$) {
var $modrm_byte$$57$$ = $cpu$$534$$.read_imm8();
if (56 === ($modrm_byte$$57$$ & 56)) {
var $data$$81_virt_addr$$21$$ = 192 > $modrm_byte$$57$$ ? $cpu$$534$$.safe_read16($cpu$$534$$.modrm_resolve($modrm_byte$$57$$)) : $cpu$$534$$.reg16[$modrm_byte$$57$$ << 1 & 14];
$cpu$$534$$.sub($data$$81_virt_addr$$21$$, $cpu$$534$$.read_imm8s(), 15);
} else {
var $data2$$3$$, $phys_addr$$20$$, $phys_addr_high$$17$$ = 0, $result$$48$$;
192 > $modrm_byte$$57$$ ? ($data$$81_virt_addr$$21$$ = $cpu$$534$$.modrm_resolve($modrm_byte$$57$$), $phys_addr$$20$$ = $cpu$$534$$.translate_address_write($data$$81_virt_addr$$21$$), $cpu$$534$$.paging && 4095 === ($data$$81_virt_addr$$21$$ & 4095) ? ($phys_addr_high$$17$$ = $cpu$$534$$.translate_address_write($data$$81_virt_addr$$21$$ + 1), $data$$81_virt_addr$$21$$ = $cpu$$534$$.virt_boundary_read16($phys_addr$$20$$, $phys_addr_high$$17$$)) : $data$$81_virt_addr$$21$$ = $cpu$$534$$.memory.read16($phys_addr$$20$$)) :
$data$$81_virt_addr$$21$$ = $cpu$$534$$.reg16[$modrm_byte$$57$$ << 1 & 14];
$result$$48$$ = 0;
$data2$$3$$ = $cpu$$534$$.read_imm8s();
switch($modrm_byte$$57$$ >> 3 & 7) {
case 0:
$result$$48$$ = $cpu$$534$$.add($data$$81_virt_addr$$21$$, $data2$$3$$, 15);
break;
case 1:
$result$$48$$ = $cpu$$534$$.or($data$$81_virt_addr$$21$$, $data2$$3$$, 15);
break;
case 2:
$result$$48$$ = $cpu$$534$$.adc($data$$81_virt_addr$$21$$, $data2$$3$$, 15);
break;
case 3:
$result$$48$$ = $cpu$$534$$.sbb($data$$81_virt_addr$$21$$, $data2$$3$$, 15);
break;
case 4:
$result$$48$$ = $cpu$$534$$.and($data$$81_virt_addr$$21$$, $data2$$3$$, 15);
break;
case 5:
$result$$48$$ = $cpu$$534$$.sub($data$$81_virt_addr$$21$$, $data2$$3$$, 15);
break;
case 6:
$result$$48$$ = $cpu$$534$$.xor($data$$81_virt_addr$$21$$, $data2$$3$$, 15);
break;
case 7:
$result$$48$$ = $dbg_assert$$.bind(this, 0)($data$$81_virt_addr$$21$$, $data2$$3$$);
}
192 > $modrm_byte$$57$$ ? $phys_addr_high$$17$$ ? $cpu$$534$$.virt_boundary_write16($phys_addr$$20$$, $phys_addr_high$$17$$, $result$$48$$) : $cpu$$534$$.memory.write16($phys_addr$$20$$, $result$$48$$) : $cpu$$534$$.reg16[$modrm_byte$$57$$ << 1 & 14] = $result$$48$$;
}
};
$table32$$[131] = function $$table32$$$131$($cpu$$535$$) {
var $modrm_byte$$58$$ = $cpu$$535$$.read_imm8();
if (56 === ($modrm_byte$$58$$ & 56)) {
var $data$$82_virt_addr$$22$$ = 192 > $modrm_byte$$58$$ ? $cpu$$535$$.safe_read32s($cpu$$535$$.modrm_resolve($modrm_byte$$58$$)) : $cpu$$535$$.reg32s[$modrm_byte$$58$$ & 7];
$cpu$$535$$.sub($data$$82_virt_addr$$22$$, $cpu$$535$$.read_imm8s(), 31);
} else {
var $data2$$4$$, $phys_addr$$21$$, $phys_addr_high$$18$$ = 0, $result$$49$$;
192 > $modrm_byte$$58$$ ? ($data$$82_virt_addr$$22$$ = $cpu$$535$$.modrm_resolve($modrm_byte$$58$$), $phys_addr$$21$$ = $cpu$$535$$.translate_address_write($data$$82_virt_addr$$22$$), $cpu$$535$$.paging && 4093 <= ($data$$82_virt_addr$$22$$ & 4095) ? ($phys_addr_high$$18$$ = $cpu$$535$$.translate_address_write($data$$82_virt_addr$$22$$ + 3), $data$$82_virt_addr$$22$$ = $cpu$$535$$.virt_boundary_read32s($phys_addr$$21$$, $phys_addr_high$$18$$)) : $data$$82_virt_addr$$22$$ = $cpu$$535$$.memory.read32s($phys_addr$$21$$)) :
$data$$82_virt_addr$$22$$ = $cpu$$535$$.reg32s[$modrm_byte$$58$$ & 7];
$result$$49$$ = 0;
$data2$$4$$ = $cpu$$535$$.read_imm8s();
switch($modrm_byte$$58$$ >> 3 & 7) {
case 0:
$result$$49$$ = $cpu$$535$$.add($data$$82_virt_addr$$22$$, $data2$$4$$, 31);
break;
case 1:
$result$$49$$ = $cpu$$535$$.or($data$$82_virt_addr$$22$$, $data2$$4$$, 31);
break;
case 2:
$result$$49$$ = $cpu$$535$$.adc($data$$82_virt_addr$$22$$, $data2$$4$$, 31);
break;
case 3:
$result$$49$$ = $cpu$$535$$.sbb($data$$82_virt_addr$$22$$, $data2$$4$$, 31);
break;
case 4:
$result$$49$$ = $cpu$$535$$.and($data$$82_virt_addr$$22$$, $data2$$4$$, 31);
break;
case 5:
$result$$49$$ = $cpu$$535$$.sub($data$$82_virt_addr$$22$$, $data2$$4$$, 31);
break;
case 6:
$result$$49$$ = $cpu$$535$$.xor($data$$82_virt_addr$$22$$, $data2$$4$$, 31);
break;
case 7:
$result$$49$$ = $dbg_assert$$.bind(this, 0)($data$$82_virt_addr$$22$$, $data2$$4$$);
}
192 > $modrm_byte$$58$$ ? $phys_addr_high$$18$$ ? $cpu$$535$$.virt_boundary_write32($phys_addr$$21$$, $phys_addr_high$$18$$, $result$$49$$) : $cpu$$535$$.memory.write32($phys_addr$$21$$, $result$$49$$) : $cpu$$535$$.reg32s[$modrm_byte$$58$$ & 7] = $result$$49$$;
}
};
$table16$$[132] = $table32$$[132] = function $$table32$$$132$($cpu$$536$$) {
var $modrm_byte$$59$$ = $cpu$$536$$.read_imm8(), $data$$83$$ = 192 > $modrm_byte$$59$$ ? $cpu$$536$$.safe_read8($cpu$$536$$.modrm_resolve($modrm_byte$$59$$)) : $cpu$$536$$.reg8[$modrm_byte$$59$$ << 2 & 12 | $modrm_byte$$59$$ >> 2 & 1];
$cpu$$536$$.and($data$$83$$, $cpu$$536$$.reg8[$modrm_byte$$59$$ >> 1 & 12 | $modrm_byte$$59$$ >> 5 & 1], 7);
};
$table16$$[133] = function $$table16$$$133$($cpu$$537$$) {
var $modrm_byte$$60$$ = $cpu$$537$$.read_imm8(), $data$$84$$ = 192 > $modrm_byte$$60$$ ? $cpu$$537$$.safe_read16($cpu$$537$$.modrm_resolve($modrm_byte$$60$$)) : $cpu$$537$$.reg16[$modrm_byte$$60$$ << 1 & 14];
$cpu$$537$$.and($data$$84$$, $cpu$$537$$.reg16[$modrm_byte$$60$$ >> 2 & 14], 15);
};
$table32$$[133] = function $$table32$$$133$($cpu$$538$$) {
var $modrm_byte$$61$$ = $cpu$$538$$.read_imm8(), $data$$85$$ = 192 > $modrm_byte$$61$$ ? $cpu$$538$$.safe_read32s($cpu$$538$$.modrm_resolve($modrm_byte$$61$$)) : $cpu$$538$$.reg32s[$modrm_byte$$61$$ & 7];
$cpu$$538$$.and($data$$85$$, $cpu$$538$$.reg32s[$modrm_byte$$61$$ >> 3 & 7], 31);
};
$table16$$[134] = $table32$$[134] = function $$table32$$$134$($cpu$$539$$) {
var $modrm_byte$$62$$ = $cpu$$539$$.read_imm8(), $data$$86_result$$50$$, $addr$$17$$;
192 > $modrm_byte$$62$$ ? ($addr$$17$$ = $cpu$$539$$.translate_address_write($cpu$$539$$.modrm_resolve($modrm_byte$$62$$)), $data$$86_result$$50$$ = $cpu$$539$$.memory.read8($addr$$17$$)) : $data$$86_result$$50$$ = $cpu$$539$$.reg8[$modrm_byte$$62$$ << 2 & 12 | $modrm_byte$$62$$ >> 2 & 1];
$data$$86_result$$50$$ = $cpu$$539$$.xchg8($data$$86_result$$50$$, $modrm_byte$$62$$);
192 > $modrm_byte$$62$$ ? $cpu$$539$$.memory.write8($addr$$17$$, $data$$86_result$$50$$) : $cpu$$539$$.reg8[$modrm_byte$$62$$ << 2 & 12 | $modrm_byte$$62$$ >> 2 & 1] = $data$$86_result$$50$$;
};
$table16$$[135] = function $$table16$$$135$($cpu$$540$$) {
var $modrm_byte$$63$$ = $cpu$$540$$.read_imm8(), $data$$87_result$$51_virt_addr$$23$$, $phys_addr$$22$$, $phys_addr_high$$19$$ = 0;
192 > $modrm_byte$$63$$ ? ($data$$87_result$$51_virt_addr$$23$$ = $cpu$$540$$.modrm_resolve($modrm_byte$$63$$), $phys_addr$$22$$ = $cpu$$540$$.translate_address_write($data$$87_result$$51_virt_addr$$23$$), $cpu$$540$$.paging && 4095 === ($data$$87_result$$51_virt_addr$$23$$ & 4095) ? ($phys_addr_high$$19$$ = $cpu$$540$$.translate_address_write($data$$87_result$$51_virt_addr$$23$$ + 1), $data$$87_result$$51_virt_addr$$23$$ = $cpu$$540$$.virt_boundary_read16($phys_addr$$22$$, $phys_addr_high$$19$$)) :
$data$$87_result$$51_virt_addr$$23$$ = $cpu$$540$$.memory.read16($phys_addr$$22$$)) : $data$$87_result$$51_virt_addr$$23$$ = $cpu$$540$$.reg16[$modrm_byte$$63$$ << 1 & 14];
$data$$87_result$$51_virt_addr$$23$$ = $cpu$$540$$.xchg16($data$$87_result$$51_virt_addr$$23$$, $modrm_byte$$63$$);
192 > $modrm_byte$$63$$ ? $phys_addr_high$$19$$ ? $cpu$$540$$.virt_boundary_write16($phys_addr$$22$$, $phys_addr_high$$19$$, $data$$87_result$$51_virt_addr$$23$$) : $cpu$$540$$.memory.write16($phys_addr$$22$$, $data$$87_result$$51_virt_addr$$23$$) : $cpu$$540$$.reg16[$modrm_byte$$63$$ << 1 & 14] = $data$$87_result$$51_virt_addr$$23$$;
};
$table32$$[135] = function $$table32$$$135$($cpu$$541$$) {
var $modrm_byte$$64$$ = $cpu$$541$$.read_imm8(), $data$$88_result$$52_virt_addr$$24$$, $phys_addr$$23$$, $phys_addr_high$$20$$ = 0;
192 > $modrm_byte$$64$$ ? ($data$$88_result$$52_virt_addr$$24$$ = $cpu$$541$$.modrm_resolve($modrm_byte$$64$$), $phys_addr$$23$$ = $cpu$$541$$.translate_address_write($data$$88_result$$52_virt_addr$$24$$), $cpu$$541$$.paging && 4093 <= ($data$$88_result$$52_virt_addr$$24$$ & 4095) ? ($phys_addr_high$$20$$ = $cpu$$541$$.translate_address_write($data$$88_result$$52_virt_addr$$24$$ + 3), $data$$88_result$$52_virt_addr$$24$$ = $cpu$$541$$.virt_boundary_read32s($phys_addr$$23$$, $phys_addr_high$$20$$)) :
$data$$88_result$$52_virt_addr$$24$$ = $cpu$$541$$.memory.read32s($phys_addr$$23$$)) : $data$$88_result$$52_virt_addr$$24$$ = $cpu$$541$$.reg32s[$modrm_byte$$64$$ & 7];
$data$$88_result$$52_virt_addr$$24$$ = $cpu$$541$$.xchg32($data$$88_result$$52_virt_addr$$24$$, $modrm_byte$$64$$);
192 > $modrm_byte$$64$$ ? $phys_addr_high$$20$$ ? $cpu$$541$$.virt_boundary_write32($phys_addr$$23$$, $phys_addr_high$$20$$, $data$$88_result$$52_virt_addr$$24$$) : $cpu$$541$$.memory.write32($phys_addr$$23$$, $data$$88_result$$52_virt_addr$$24$$) : $cpu$$541$$.reg32s[$modrm_byte$$64$$ & 7] = $data$$88_result$$52_virt_addr$$24$$;
};
$table16$$[136] = $table32$$[136] = function $$table32$$$136$($cpu$$542$$) {
var $modrm_byte$$65$$ = $cpu$$542$$.read_imm8();
if (192 > $modrm_byte$$65$$) {
var $addr$$18$$ = $cpu$$542$$.modrm_resolve($modrm_byte$$65$$)
}
var $data$$89$$ = $cpu$$542$$.reg8[$modrm_byte$$65$$ >> 1 & 12 | $modrm_byte$$65$$ >> 5 & 1];
192 > $modrm_byte$$65$$ ? $cpu$$542$$.safe_write8($addr$$18$$, $data$$89$$) : $cpu$$542$$.reg8[$modrm_byte$$65$$ << 2 & 12 | $modrm_byte$$65$$ >> 2 & 1] = $data$$89$$;
};
$table16$$[137] = function $$table16$$$137$($cpu$$543$$) {
var $modrm_byte$$66$$ = $cpu$$543$$.read_imm8();
if (192 > $modrm_byte$$66$$) {
var $addr$$19$$ = $cpu$$543$$.modrm_resolve($modrm_byte$$66$$)
}
var $data$$90$$ = $cpu$$543$$.reg16[$modrm_byte$$66$$ >> 2 & 14];
192 > $modrm_byte$$66$$ ? $cpu$$543$$.safe_write16($addr$$19$$, $data$$90$$) : $cpu$$543$$.reg16[$modrm_byte$$66$$ << 1 & 14] = $data$$90$$;
};
$table32$$[137] = function $$table32$$$137$($cpu$$544$$) {
var $modrm_byte$$67$$ = $cpu$$544$$.read_imm8();
if (192 > $modrm_byte$$67$$) {
var $addr$$20$$ = $cpu$$544$$.modrm_resolve($modrm_byte$$67$$)
}
var $data$$91$$ = $cpu$$544$$.reg32s[$modrm_byte$$67$$ >> 3 & 7];
192 > $modrm_byte$$67$$ ? $cpu$$544$$.safe_write32($addr$$20$$, $data$$91$$) : $cpu$$544$$.reg32[$modrm_byte$$67$$ & 7] = $data$$91$$;
};
$table16$$[138] = $table32$$[138] = function $$table32$$$138$($cpu$$545$$) {
var $modrm_byte$$68$$ = $cpu$$545$$.read_imm8(), $data$$92$$ = 192 > $modrm_byte$$68$$ ? $cpu$$545$$.safe_read8($cpu$$545$$.modrm_resolve($modrm_byte$$68$$)) : $cpu$$545$$.reg8[$modrm_byte$$68$$ << 2 & 12 | $modrm_byte$$68$$ >> 2 & 1];
$cpu$$545$$.reg8[$modrm_byte$$68$$ >> 1 & 12 | $modrm_byte$$68$$ >> 5 & 1] = $data$$92$$;
};
$table16$$[139] = function $$table16$$$139$($cpu$$546$$) {
var $modrm_byte$$69$$ = $cpu$$546$$.read_imm8(), $data$$93$$ = 192 > $modrm_byte$$69$$ ? $cpu$$546$$.safe_read16($cpu$$546$$.modrm_resolve($modrm_byte$$69$$)) : $cpu$$546$$.reg16[$modrm_byte$$69$$ << 1 & 14];
$cpu$$546$$.reg16[$modrm_byte$$69$$ >> 2 & 14] = $data$$93$$;
};
$table32$$[139] = function $$table32$$$139$($cpu$$547$$) {
var $modrm_byte$$70$$ = $cpu$$547$$.read_imm8(), $data$$94$$ = 192 > $modrm_byte$$70$$ ? $cpu$$547$$.safe_read32s($cpu$$547$$.modrm_resolve($modrm_byte$$70$$)) : $cpu$$547$$.reg32s[$modrm_byte$$70$$ & 7];
$cpu$$547$$.reg32s[$modrm_byte$$70$$ >> 3 & 7] = $data$$94$$;
};
$table16$$[140] = function $$table16$$$140$($cpu$$548$$) {
var $modrm_byte$$71$$ = $cpu$$548$$.read_imm8();
if (192 > $modrm_byte$$71$$) {
var $addr$$21$$ = $cpu$$548$$.modrm_resolve($modrm_byte$$71$$)
}
var $data$$95$$ = $cpu$$548$$.sreg[$modrm_byte$$71$$ >> 3 & 7];
192 > $modrm_byte$$71$$ ? $cpu$$548$$.safe_write16($addr$$21$$, $data$$95$$) : $cpu$$548$$.reg16[$modrm_byte$$71$$ << 1 & 14] = $data$$95$$;
};
$table32$$[140] = function $$table32$$$140$($cpu$$549$$) {
var $modrm_byte$$72$$ = $cpu$$549$$.read_imm8();
if (192 > $modrm_byte$$72$$) {
var $addr$$22$$ = $cpu$$549$$.modrm_resolve($modrm_byte$$72$$)
}
var $data$$96$$ = $cpu$$549$$.sreg[$modrm_byte$$72$$ >> 3 & 7];
192 > $modrm_byte$$72$$ ? $cpu$$549$$.safe_write32($addr$$22$$, $data$$96$$) : $cpu$$549$$.reg32[$modrm_byte$$72$$ & 7] = $data$$96$$;
};
$table16$$[141] = function $$table16$$$141$($cpu$$550$$) {
var $modrm_byte$$73$$ = $cpu$$550$$.read_imm8();
192 <= $modrm_byte$$73$$ && $cpu$$550$$.trigger_ud();
$cpu$$550$$.segment_prefix = 9;
$cpu$$550$$.reg16[($modrm_byte$$73$$ >> 3 & 7) << 1] = $cpu$$550$$.modrm_resolve($modrm_byte$$73$$);
$cpu$$550$$.segment_prefix = -1;
};
$table32$$[141] = function $$table32$$$141$($cpu$$551$$) {
var $modrm_byte$$74$$ = $cpu$$551$$.read_imm8();
192 <= $modrm_byte$$74$$ && $cpu$$551$$.trigger_ud();
$cpu$$551$$.segment_prefix = 9;
$cpu$$551$$.reg32s[$modrm_byte$$74$$ >> 3 & 7] = $cpu$$551$$.modrm_resolve($modrm_byte$$74$$);
$cpu$$551$$.segment_prefix = -1;
};
$table16$$[142] = $table32$$[142] = function $$table32$$$142$($cpu$$552$$) {
var $data$$97_modrm_byte$$75$$ = $cpu$$552$$.read_imm8(), $mod$$260$$ = $data$$97_modrm_byte$$75$$ >> 3 & 7, $data$$97_modrm_byte$$75$$ = 192 > $data$$97_modrm_byte$$75$$ ? $cpu$$552$$.safe_read16($cpu$$552$$.modrm_resolve($data$$97_modrm_byte$$75$$)) : $cpu$$552$$.reg16[$data$$97_modrm_byte$$75$$ << 1 & 14];
$cpu$$552$$.switch_seg($mod$$260$$, $data$$97_modrm_byte$$75$$);
};
$table16$$[143] = function $$table16$$$143$($cpu$$553$$) {
var $addr$$23_modrm_byte$$76$$ = $cpu$$553$$.read_imm8(), $sp$$ = $cpu$$553$$.safe_read16($cpu$$553$$.get_stack_pointer(0));
$cpu$$553$$.stack_reg[$cpu$$553$$.reg_vsp] += 2;
192 > $addr$$23_modrm_byte$$76$$ ? ($addr$$23_modrm_byte$$76$$ = $cpu$$553$$.modrm_resolve($addr$$23_modrm_byte$$76$$), $cpu$$553$$.stack_reg[$cpu$$553$$.reg_vsp] -= 2, $cpu$$553$$.safe_write16($addr$$23_modrm_byte$$76$$, $sp$$), $cpu$$553$$.stack_reg[$cpu$$553$$.reg_vsp] += 2) : $cpu$$553$$.reg16[$addr$$23_modrm_byte$$76$$ << 1 & 14] = $sp$$;
};
$table32$$[143] = function $$table32$$$143$($cpu$$554$$) {
var $addr$$24_modrm_byte$$77$$ = $cpu$$554$$.read_imm8(), $sp$$1$$ = $cpu$$554$$.safe_read32s($cpu$$554$$.get_stack_pointer(0));
$cpu$$554$$.stack_reg[$cpu$$554$$.reg_vsp] += 4;
192 > $addr$$24_modrm_byte$$77$$ ? ($addr$$24_modrm_byte$$77$$ = $cpu$$554$$.modrm_resolve($addr$$24_modrm_byte$$77$$), $cpu$$554$$.stack_reg[$cpu$$554$$.reg_vsp] -= 4, $cpu$$554$$.safe_write32($addr$$24_modrm_byte$$77$$, $sp$$1$$), $cpu$$554$$.stack_reg[$cpu$$554$$.reg_vsp] += 4) : $cpu$$554$$.reg32s[$addr$$24_modrm_byte$$77$$ & 7] = $sp$$1$$;
};
$table16$$[144] = function $$table16$$$144$($cpu$$555$$) {
$cpu$$555$$.xchg16r(0);
};
$table32$$[144] = function $$table32$$$144$($cpu$$556$$) {
$cpu$$556$$.xchg32r(0);
};
$table16$$[145] = function $$table16$$$145$($cpu$$557$$) {
$cpu$$557$$.xchg16r(2);
};
$table32$$[145] = function $$table32$$$145$($cpu$$558$$) {
$cpu$$558$$.xchg32r(1);
};
$table16$$[146] = function $$table16$$$146$($cpu$$559$$) {
$cpu$$559$$.xchg16r(4);
};
$table32$$[146] = function $$table32$$$146$($cpu$$560$$) {
$cpu$$560$$.xchg32r(2);
};
$table16$$[147] = function $$table16$$$147$($cpu$$561$$) {
$cpu$$561$$.xchg16r(6);
};
$table32$$[147] = function $$table32$$$147$($cpu$$562$$) {
$cpu$$562$$.xchg32r(3);
};
$table16$$[148] = function $$table16$$$148$($cpu$$563$$) {
$cpu$$563$$.xchg16r(8);
};
$table32$$[148] = function $$table32$$$148$($cpu$$564$$) {
$cpu$$564$$.xchg32r(4);
};
$table16$$[149] = function $$table16$$$149$($cpu$$565$$) {
$cpu$$565$$.xchg16r(10);
};
$table32$$[149] = function $$table32$$$149$($cpu$$566$$) {
$cpu$$566$$.xchg32r(5);
};
$table16$$[150] = function $$table16$$$150$($cpu$$567$$) {
$cpu$$567$$.xchg16r(12);
};
$table32$$[150] = function $$table32$$$150$($cpu$$568$$) {
$cpu$$568$$.xchg32r(6);
};
$table16$$[151] = function $$table16$$$151$($cpu$$569$$) {
$cpu$$569$$.xchg16r(14);
};
$table32$$[151] = function $$table32$$$151$($cpu$$570$$) {
$cpu$$570$$.xchg32r(7);
};
$table16$$[144] = $table32$$[144] = function $$table32$$$144$() {
};
$table16$$[152] = function $$table16$$$152$($cpu$$572$$) {
$cpu$$572$$.reg16[0] = $cpu$$572$$.reg8s[0];
};
$table32$$[152] = function $$table32$$$152$($cpu$$573$$) {
$cpu$$573$$.reg32s[0] = $cpu$$573$$.reg16s[0];
};
$table16$$[153] = function $$table16$$$153$($cpu$$574$$) {
$cpu$$574$$.reg16[4] = $cpu$$574$$.reg16s[0] >> 15;
};
$table32$$[153] = function $$table32$$$153$($cpu$$575$$) {
$cpu$$575$$.reg32s[2] = $cpu$$575$$.reg32s[0] >> 31;
};
$table16$$[154] = function $$table16$$$154$($cpu$$576$$) {
var $new_ip$$ = $cpu$$576$$.read_imm16(), $new_cs$$ = $cpu$$576$$.read_imm16();
$cpu$$576$$.writable_or_pagefault($cpu$$576$$.get_stack_pointer(-4), 4);
$cpu$$576$$.push16($cpu$$576$$.sreg[1]);
$cpu$$576$$.push16($cpu$$576$$.get_real_eip());
$cpu$$576$$.switch_seg(1, $new_cs$$);
$cpu$$576$$.instruction_pointer = $cpu$$576$$.get_seg(1) + $new_ip$$ | 0;
$cpu$$576$$.last_instr_jump = !0;
};
$table32$$[154] = function $$table32$$$154$($cpu$$577$$) {
var $new_ip$$1$$ = $cpu$$577$$.read_imm32s(), $new_cs$$1$$ = $cpu$$577$$.read_imm16();
$cpu$$577$$.writable_or_pagefault($cpu$$577$$.get_stack_pointer(-8), 8);
$cpu$$577$$.push32($cpu$$577$$.sreg[1]);
$cpu$$577$$.push32($cpu$$577$$.get_real_eip());
$cpu$$577$$.switch_seg(1, $new_cs$$1$$);
$cpu$$577$$.instruction_pointer = $cpu$$577$$.get_seg(1) + $new_ip$$1$$ | 0;
$cpu$$577$$.last_instr_jump = !0;
};
$table16$$[155] = $table32$$[155] = function $$table32$$$155$($cpu$$578$$) {
10 === ($cpu$$578$$.cr0 & 10) && $cpu$$578$$.trigger_nm();
};
$table16$$[156] = function $$table16$$$156$($cpu$$579$$) {
$cpu$$579$$.flags & 131072 && 3 > ($cpu$$579$$.flags >> 12 & 3) ? $cpu$$579$$.trigger_gp(0) : ($cpu$$579$$.load_eflags(), $cpu$$579$$.push16($cpu$$579$$.flags));
};
$table32$$[156] = function $$table32$$$156$($cpu$$580$$) {
$cpu$$580$$.flags & 131072 && 3 > ($cpu$$580$$.flags >> 12 & 3) ? $cpu$$580$$.trigger_gp(0) : ($cpu$$580$$.load_eflags(), $cpu$$580$$.push32($cpu$$580$$.flags & -196609));
};
$table16$$[157] = function $$table16$$$157$($cpu$$581$$) {
$cpu$$581$$.flags & 131072 && 3 > ($cpu$$581$$.flags >> 12 & 3) && $cpu$$581$$.trigger_gp(0);
$cpu$$581$$.update_eflags($cpu$$581$$.flags & -65536 | $cpu$$581$$.pop16());
$cpu$$581$$.handle_irqs();
};
$table32$$[157] = function $$table32$$$157$($cpu$$582$$) {
$cpu$$582$$.flags & 131072 && 3 > ($cpu$$582$$.flags >> 12 & 3) && $cpu$$582$$.trigger_gp(0);
$cpu$$582$$.update_eflags($cpu$$582$$.pop32s());
$cpu$$582$$.handle_irqs();
};
$table16$$[158] = $table32$$[158] = function $$table32$$$158$($cpu$$583$$) {
$cpu$$583$$.flags = $cpu$$583$$.flags & -256 | $cpu$$583$$.reg8[1];
$cpu$$583$$.flags = $cpu$$583$$.flags & 4161493 | 2;
$cpu$$583$$.flags_changed = 0;
};
$table16$$[159] = $table32$$[159] = function $$table32$$$159$($cpu$$584$$) {
$cpu$$584$$.load_eflags();
$cpu$$584$$.reg8[1] = $cpu$$584$$.flags;
};
$table16$$[160] = $table32$$[160] = function $$table32$$$160$($cpu$$585$$) {
var $data$$98$$ = $cpu$$585$$.safe_read8($cpu$$585$$.read_moffs());
$cpu$$585$$.reg8[0] = $data$$98$$;
};
$table16$$[161] = function $$table16$$$161$($cpu$$586$$) {
var $data$$99$$ = $cpu$$586$$.safe_read16($cpu$$586$$.read_moffs());
$cpu$$586$$.reg16[0] = $data$$99$$;
};
$table32$$[161] = function $$table32$$$161$($cpu$$587$$) {
var $data$$100$$ = $cpu$$587$$.safe_read32s($cpu$$587$$.read_moffs());
$cpu$$587$$.reg32s[0] = $data$$100$$;
};
$table16$$[162] = $table32$$[162] = function $$table32$$$162$($cpu$$588$$) {
$cpu$$588$$.safe_write8($cpu$$588$$.read_moffs(), $cpu$$588$$.reg8[0]);
};
$table16$$[163] = function $$table16$$$163$($cpu$$589$$) {
$cpu$$589$$.safe_write16($cpu$$589$$.read_moffs(), $cpu$$589$$.reg16[0]);
};
$table32$$[163] = function $$table32$$$163$($cpu$$590$$) {
$cpu$$590$$.safe_write32($cpu$$590$$.read_moffs(), $cpu$$590$$.reg32s[0]);
};
$table16$$[164] = $table32$$[164] = function $$table32$$$164$($cpu$$591$$) {
a: {
var $phys_src$$inline_445_src$$inline_442$$, $dest$$inline_443_phys_dest$$inline_444$$, $diff$$inline_452_size$$inline_446$$ = $cpu$$591$$.flags & 1024 ? -1 : 1, $cont$$inline_447$$ = !1;
$dest$$inline_443_phys_dest$$inline_444$$ = $cpu$$591$$.get_seg(0) + $cpu$$591$$.regv[$cpu$$591$$.reg_vdi] | 0;
$phys_src$$inline_445_src$$inline_442$$ = $cpu$$591$$.get_seg_prefix(3) + $cpu$$591$$.regv[$cpu$$591$$.reg_vsi] | 0;
if (0 !== $cpu$$591$$.repeat_string_prefix) {
var $count$$inline_448$$ = $cpu$$591$$.regv[$cpu$$591$$.reg_vcx] >>> 0, $start_count$$inline_449$$ = $count$$inline_448$$;
if (0 === $count$$inline_448$$) {
break a;
}
var $next_cycle$$inline_450$$ = 16384, $single_size$$inline_451$$ = $diff$$inline_452_size$$inline_446$$ >> 31 | 1;
$cpu$$591$$.paging && ($next_cycle$$inline_450$$ = ($single_size$$inline_451$$ >> 1 ^ ~$phys_src$$inline_445_src$$inline_442$$) & 4095, $phys_src$$inline_445_src$$inline_442$$ = $cpu$$591$$.translate_address_read($phys_src$$inline_445_src$$inline_442$$), $next_cycle$$inline_450$$ = Math.min($next_cycle$$inline_450$$, ($single_size$$inline_451$$ >> 1 ^ ~$dest$$inline_443_phys_dest$$inline_444$$) & 4095), $dest$$inline_443_phys_dest$$inline_444$$ = $cpu$$591$$.translate_address_write($dest$$inline_443_phys_dest$$inline_444$$));
do {
$cpu$$591$$.memory.write8($dest$$inline_443_phys_dest$$inline_444$$, $cpu$$591$$.memory.read8($phys_src$$inline_445_src$$inline_442$$)), $dest$$inline_443_phys_dest$$inline_444$$ += $single_size$$inline_451$$, $phys_src$$inline_445_src$$inline_442$$ += $single_size$$inline_451$$, $cont$$inline_447$$ = 0 !== --$count$$inline_448$$ && !0;
} while ($cont$$inline_447$$ && $next_cycle$$inline_450$$--);
$diff$$inline_452_size$$inline_446$$ = $diff$$inline_452_size$$inline_446$$ * ($start_count$$inline_449$$ - $count$$inline_448$$) | 0;
$cpu$$591$$.regv[$cpu$$591$$.reg_vdi] += $diff$$inline_452_size$$inline_446$$;
$cpu$$591$$.regv[$cpu$$591$$.reg_vsi] += $diff$$inline_452_size$$inline_446$$;
$cpu$$591$$.regv[$cpu$$591$$.reg_vcx] = $count$$inline_448$$;
$cpu$$591$$.timestamp_counter += $start_count$$inline_449$$ - $count$$inline_448$$;
} else {
$phys_src$$inline_445_src$$inline_442$$ = $cpu$$591$$.translate_address_read($phys_src$$inline_445_src$$inline_442$$), $dest$$inline_443_phys_dest$$inline_444$$ = $cpu$$591$$.translate_address_write($dest$$inline_443_phys_dest$$inline_444$$), $cpu$$591$$.memory.write8($dest$$inline_443_phys_dest$$inline_444$$, $cpu$$591$$.memory.read8($phys_src$$inline_445_src$$inline_442$$)), $cpu$$591$$.regv[$cpu$$591$$.reg_vdi] += $diff$$inline_452_size$$inline_446$$, $cpu$$591$$.regv[$cpu$$591$$.reg_vsi] +=
$diff$$inline_452_size$$inline_446$$;
}
$cont$$inline_447$$ && ($cpu$$591$$.instruction_pointer = $cpu$$591$$.previous_ip);
}
};
$table16$$[165] = function $$table16$$$165$($cpu$$592$$) {
a: {
var $phys_src$$inline_458_src$$inline_455$$, $dest$$inline_456_phys_dest$$inline_457$$, $diff$$inline_465_size$$inline_459$$ = $cpu$$592$$.flags & 1024 ? -2 : 2, $cont$$inline_460$$ = !1;
$dest$$inline_456_phys_dest$$inline_457$$ = $cpu$$592$$.get_seg(0) + $cpu$$592$$.regv[$cpu$$592$$.reg_vdi] | 0;
$phys_src$$inline_458_src$$inline_455$$ = $cpu$$592$$.get_seg_prefix(3) + $cpu$$592$$.regv[$cpu$$592$$.reg_vsi] | 0;
if (0 !== $cpu$$592$$.repeat_string_prefix) {
var $count$$inline_461$$ = $cpu$$592$$.regv[$cpu$$592$$.reg_vcx] >>> 0, $start_count$$inline_462$$ = $count$$inline_461$$;
if (0 === $count$$inline_461$$) {
break a;
}
var $next_cycle$$inline_463$$ = 16384;
if ($dest$$inline_456_phys_dest$$inline_457$$ & 1 || $phys_src$$inline_458_src$$inline_455$$ & 1) {
do {
$cpu$$592$$.safe_write16($dest$$inline_456_phys_dest$$inline_457$$, $cpu$$592$$.safe_read16($phys_src$$inline_458_src$$inline_455$$)), $dest$$inline_456_phys_dest$$inline_457$$ += $diff$$inline_465_size$$inline_459$$, $cpu$$592$$.regv[$cpu$$592$$.reg_vdi] += $diff$$inline_465_size$$inline_459$$, $phys_src$$inline_458_src$$inline_455$$ += $diff$$inline_465_size$$inline_459$$, $cpu$$592$$.regv[$cpu$$592$$.reg_vsi] += $diff$$inline_465_size$$inline_459$$, $cont$$inline_460$$ = 0 !== --$cpu$$592$$.regv[$cpu$$592$$.reg_vcx] &&
!0;
} while ($cont$$inline_460$$ && $next_cycle$$inline_463$$--);
} else {
var $single_size$$inline_464$$ = $diff$$inline_465_size$$inline_459$$ >> 31 | 1;
$cpu$$592$$.paging && ($next_cycle$$inline_463$$ = ($single_size$$inline_464$$ >> 1 ^ ~$phys_src$$inline_458_src$$inline_455$$) & 4095, $phys_src$$inline_458_src$$inline_455$$ = $cpu$$592$$.translate_address_read($phys_src$$inline_458_src$$inline_455$$), $next_cycle$$inline_463$$ = Math.min($next_cycle$$inline_463$$, ($single_size$$inline_464$$ >> 1 ^ ~$dest$$inline_456_phys_dest$$inline_457$$) & 4095), $dest$$inline_456_phys_dest$$inline_457$$ = $cpu$$592$$.translate_address_write($dest$$inline_456_phys_dest$$inline_457$$),
$next_cycle$$inline_463$$ >>= 1);
$dest$$inline_456_phys_dest$$inline_457$$ >>>= 1;
$phys_src$$inline_458_src$$inline_455$$ >>>= 1;
do {
$cpu$$592$$.memory.write_aligned16($dest$$inline_456_phys_dest$$inline_457$$, $cpu$$592$$.memory.read_aligned16($phys_src$$inline_458_src$$inline_455$$)), $dest$$inline_456_phys_dest$$inline_457$$ += $single_size$$inline_464$$, $phys_src$$inline_458_src$$inline_455$$ += $single_size$$inline_464$$, $cont$$inline_460$$ = 0 !== --$count$$inline_461$$ && !0;
} while ($cont$$inline_460$$ && $next_cycle$$inline_463$$--);
$diff$$inline_465_size$$inline_459$$ = $diff$$inline_465_size$$inline_459$$ * ($start_count$$inline_462$$ - $count$$inline_461$$) | 0;
$cpu$$592$$.regv[$cpu$$592$$.reg_vdi] += $diff$$inline_465_size$$inline_459$$;
$cpu$$592$$.regv[$cpu$$592$$.reg_vsi] += $diff$$inline_465_size$$inline_459$$;
$cpu$$592$$.regv[$cpu$$592$$.reg_vcx] = $count$$inline_461$$;
$cpu$$592$$.timestamp_counter += $start_count$$inline_462$$ - $count$$inline_461$$;
}
} else {
$cpu$$592$$.safe_write16($dest$$inline_456_phys_dest$$inline_457$$, $cpu$$592$$.safe_read16($phys_src$$inline_458_src$$inline_455$$)), $cpu$$592$$.regv[$cpu$$592$$.reg_vdi] += $diff$$inline_465_size$$inline_459$$, $cpu$$592$$.regv[$cpu$$592$$.reg_vsi] += $diff$$inline_465_size$$inline_459$$;
}
$cont$$inline_460$$ && ($cpu$$592$$.instruction_pointer = $cpu$$592$$.previous_ip);
}
};
$table32$$[165] = function $$table32$$$165$($cpu$$593$$) {
a: {
if (0 !== $cpu$$593$$.repeat_string_prefix) {
var $phys_src$$inline_475_src$$inline_468$$ = $cpu$$593$$.get_seg_prefix(3) + $cpu$$593$$.regv[$cpu$$593$$.reg_vsi], $dest$$inline_469_phys_dest$$inline_474$$ = $cpu$$593$$.get_seg(0) + $cpu$$593$$.regv[$cpu$$593$$.reg_vdi], $count$$inline_470$$ = $cpu$$593$$.regv[$cpu$$593$$.reg_vcx] >>> 0;
if (!$count$$inline_470$$) {
break a;
}
var $align_mask$$inline_471_cont$$inline_472$$ = $cpu$$593$$.paging ? 4095 : 3;
if (0 === ($dest$$inline_469_phys_dest$$inline_474$$ & $align_mask$$inline_471_cont$$inline_472$$) && 0 === ($phys_src$$inline_475_src$$inline_468$$ & $align_mask$$inline_471_cont$$inline_472$$) && 0 === ($cpu$$593$$.flags & 1024) && ($align_mask$$inline_471_cont$$inline_472$$ = !1, $cpu$$593$$.paging && ($phys_src$$inline_475_src$$inline_468$$ = $cpu$$593$$.translate_address_read($phys_src$$inline_475_src$$inline_468$$), $dest$$inline_469_phys_dest$$inline_474$$ = $cpu$$593$$.translate_address_write($dest$$inline_469_phys_dest$$inline_474$$),
1024 < $count$$inline_470$$ && ($count$$inline_470$$ = 1024, $align_mask$$inline_471_cont$$inline_472$$ = !0)), !$cpu$$593$$.io.in_mmap_range($phys_src$$inline_475_src$$inline_468$$, $count$$inline_470$$) && !$cpu$$593$$.io.in_mmap_range($dest$$inline_469_phys_dest$$inline_474$$, $count$$inline_470$$))) {
var $diff$$inline_473_size$$inline_476$$ = $count$$inline_470$$ << 2;
$cpu$$593$$.regv[$cpu$$593$$.reg_vcx] -= $count$$inline_470$$;
$cpu$$593$$.regv[$cpu$$593$$.reg_vdi] += $diff$$inline_473_size$$inline_476$$;
$cpu$$593$$.regv[$cpu$$593$$.reg_vsi] += $diff$$inline_473_size$$inline_476$$;
$phys_src$$inline_475_src$$inline_468$$ >>= 2;
$cpu$$593$$.memory.mem32s.set($cpu$$593$$.memory.mem32s.subarray($phys_src$$inline_475_src$$inline_468$$, $phys_src$$inline_475_src$$inline_468$$ + $count$$inline_470$$), $dest$$inline_469_phys_dest$$inline_474$$ >> 2);
$align_mask$$inline_471_cont$$inline_472$$ && ($cpu$$593$$.instruction_pointer = $cpu$$593$$.previous_ip);
break a;
}
}
$diff$$inline_473_size$$inline_476$$ = $cpu$$593$$.flags & 1024 ? -4 : 4;
$align_mask$$inline_471_cont$$inline_472$$ = !1;
$dest$$inline_469_phys_dest$$inline_474$$ = $cpu$$593$$.get_seg(0) + $cpu$$593$$.regv[$cpu$$593$$.reg_vdi] | 0;
$phys_src$$inline_475_src$$inline_468$$ = $cpu$$593$$.get_seg_prefix(3) + $cpu$$593$$.regv[$cpu$$593$$.reg_vsi] | 0;
if (0 !== $cpu$$593$$.repeat_string_prefix) {
var $start_count$$inline_477$$ = $count$$inline_470$$ = $cpu$$593$$.regv[$cpu$$593$$.reg_vcx] >>> 0;
if (0 === $count$$inline_470$$) {
break a;
}
var $next_cycle$$inline_478$$ = 16384;
if ($dest$$inline_469_phys_dest$$inline_474$$ & 3 || $phys_src$$inline_475_src$$inline_468$$ & 3) {
do {
$cpu$$593$$.safe_write32($dest$$inline_469_phys_dest$$inline_474$$, $cpu$$593$$.safe_read32s($phys_src$$inline_475_src$$inline_468$$)), $dest$$inline_469_phys_dest$$inline_474$$ += $diff$$inline_473_size$$inline_476$$, $cpu$$593$$.regv[$cpu$$593$$.reg_vdi] += $diff$$inline_473_size$$inline_476$$, $phys_src$$inline_475_src$$inline_468$$ += $diff$$inline_473_size$$inline_476$$, $cpu$$593$$.regv[$cpu$$593$$.reg_vsi] += $diff$$inline_473_size$$inline_476$$, $align_mask$$inline_471_cont$$inline_472$$ =
0 !== --$cpu$$593$$.regv[$cpu$$593$$.reg_vcx] && !0;
} while ($align_mask$$inline_471_cont$$inline_472$$ && $next_cycle$$inline_478$$--);
} else {
var $single_size$$inline_479$$ = $diff$$inline_473_size$$inline_476$$ >> 31 | 1;
$cpu$$593$$.paging && ($next_cycle$$inline_478$$ = ($single_size$$inline_479$$ >> 1 ^ ~$phys_src$$inline_475_src$$inline_468$$) & 4095, $phys_src$$inline_475_src$$inline_468$$ = $cpu$$593$$.translate_address_read($phys_src$$inline_475_src$$inline_468$$), $next_cycle$$inline_478$$ = Math.min($next_cycle$$inline_478$$, ($single_size$$inline_479$$ >> 1 ^ ~$dest$$inline_469_phys_dest$$inline_474$$) & 4095), $dest$$inline_469_phys_dest$$inline_474$$ = $cpu$$593$$.translate_address_write($dest$$inline_469_phys_dest$$inline_474$$),
$next_cycle$$inline_478$$ >>= 2);
$dest$$inline_469_phys_dest$$inline_474$$ >>>= 2;
$phys_src$$inline_475_src$$inline_468$$ >>>= 2;
do {
$cpu$$593$$.memory.write_aligned32($dest$$inline_469_phys_dest$$inline_474$$, $cpu$$593$$.memory.read_aligned32($phys_src$$inline_475_src$$inline_468$$)), $dest$$inline_469_phys_dest$$inline_474$$ += $single_size$$inline_479$$, $phys_src$$inline_475_src$$inline_468$$ += $single_size$$inline_479$$, $align_mask$$inline_471_cont$$inline_472$$ = 0 !== --$count$$inline_470$$ && !0;
} while ($align_mask$$inline_471_cont$$inline_472$$ && $next_cycle$$inline_478$$--);
$diff$$inline_473_size$$inline_476$$ = $diff$$inline_473_size$$inline_476$$ * ($start_count$$inline_477$$ - $count$$inline_470$$) | 0;
$cpu$$593$$.regv[$cpu$$593$$.reg_vdi] += $diff$$inline_473_size$$inline_476$$;
$cpu$$593$$.regv[$cpu$$593$$.reg_vsi] += $diff$$inline_473_size$$inline_476$$;
$cpu$$593$$.regv[$cpu$$593$$.reg_vcx] = $count$$inline_470$$;
$cpu$$593$$.timestamp_counter += $start_count$$inline_477$$ - $count$$inline_470$$;
}
} else {
$cpu$$593$$.safe_write32($dest$$inline_469_phys_dest$$inline_474$$, $cpu$$593$$.safe_read32s($phys_src$$inline_475_src$$inline_468$$)), $cpu$$593$$.regv[$cpu$$593$$.reg_vdi] += $diff$$inline_473_size$$inline_476$$, $cpu$$593$$.regv[$cpu$$593$$.reg_vsi] += $diff$$inline_473_size$$inline_476$$;
}
$align_mask$$inline_471_cont$$inline_472$$ && ($cpu$$593$$.instruction_pointer = $cpu$$593$$.previous_ip);
}
};
$table16$$[166] = $table32$$[166] = function $$table32$$$166$($cpu$$594$$) {
a: {
var $data_src$$inline_484_src$$inline_482$$, $data_dest$$inline_485_dest$$inline_483$$;
$data_dest$$inline_485_dest$$inline_483$$ = 0;
var $phys_dest$$inline_486$$, $phys_src$$inline_487$$, $diff$$inline_494_size$$inline_488$$ = $cpu$$594$$.flags & 1024 ? -1 : 1, $cont$$inline_489$$ = !1;
$data_dest$$inline_485_dest$$inline_483$$ = $cpu$$594$$.get_seg(0) + $cpu$$594$$.regv[$cpu$$594$$.reg_vdi] | 0;
$data_src$$inline_484_src$$inline_482$$ = $cpu$$594$$.get_seg_prefix(3) + $cpu$$594$$.regv[$cpu$$594$$.reg_vsi] | 0;
if (0 !== $cpu$$594$$.repeat_string_prefix) {
var $count$$inline_490$$ = $cpu$$594$$.regv[$cpu$$594$$.reg_vcx] >>> 0, $start_count$$inline_491$$ = $count$$inline_490$$;
if (0 === $count$$inline_490$$) {
break a;
}
var $next_cycle$$inline_492$$ = 16384, $single_size$$inline_493$$ = $diff$$inline_494_size$$inline_488$$ >> 31 | 1;
$cpu$$594$$.paging ? ($next_cycle$$inline_492$$ = ($single_size$$inline_493$$ >> 1 ^ ~$data_src$$inline_484_src$$inline_482$$) & 4095, $phys_src$$inline_487$$ = $cpu$$594$$.translate_address_read($data_src$$inline_484_src$$inline_482$$), $next_cycle$$inline_492$$ = Math.min($next_cycle$$inline_492$$, ($single_size$$inline_493$$ >> 1 ^ ~$data_dest$$inline_485_dest$$inline_483$$) & 4095), $phys_dest$$inline_486$$ = $cpu$$594$$.translate_address_read($data_dest$$inline_485_dest$$inline_483$$)) :
($phys_dest$$inline_486$$ = $data_dest$$inline_485_dest$$inline_483$$, $phys_src$$inline_487$$ = $data_src$$inline_484_src$$inline_482$$);
do {
$data_dest$$inline_485_dest$$inline_483$$ = $cpu$$594$$.memory.read8($phys_dest$$inline_486$$), $data_src$$inline_484_src$$inline_482$$ = $cpu$$594$$.memory.read8($phys_src$$inline_487$$), $phys_dest$$inline_486$$ += $single_size$$inline_493$$, $phys_src$$inline_487$$ += $single_size$$inline_493$$, $cont$$inline_489$$ = 0 !== --$count$$inline_490$$ && $data_src$$inline_484_src$$inline_482$$ === $data_dest$$inline_485_dest$$inline_483$$ === (2 === $cpu$$594$$.repeat_string_prefix);
} while ($cont$$inline_489$$ && $next_cycle$$inline_492$$--);
$diff$$inline_494_size$$inline_488$$ = $diff$$inline_494_size$$inline_488$$ * ($start_count$$inline_491$$ - $count$$inline_490$$) | 0;
$cpu$$594$$.regv[$cpu$$594$$.reg_vdi] += $diff$$inline_494_size$$inline_488$$;
$cpu$$594$$.regv[$cpu$$594$$.reg_vsi] += $diff$$inline_494_size$$inline_488$$;
$cpu$$594$$.regv[$cpu$$594$$.reg_vcx] = $count$$inline_490$$;
$cpu$$594$$.timestamp_counter += $start_count$$inline_491$$ - $count$$inline_490$$;
} else {
$phys_src$$inline_487$$ = $cpu$$594$$.translate_address_read($data_src$$inline_484_src$$inline_482$$), $phys_dest$$inline_486$$ = $cpu$$594$$.translate_address_read($data_dest$$inline_485_dest$$inline_483$$), $data_dest$$inline_485_dest$$inline_483$$ = $cpu$$594$$.memory.read8($phys_dest$$inline_486$$), $data_src$$inline_484_src$$inline_482$$ = $cpu$$594$$.memory.read8($phys_src$$inline_487$$), $cpu$$594$$.regv[$cpu$$594$$.reg_vdi] += $diff$$inline_494_size$$inline_488$$, $cpu$$594$$.regv[$cpu$$594$$.reg_vsi] +=
$diff$$inline_494_size$$inline_488$$;
}
$cpu$$594$$.sub($data_src$$inline_484_src$$inline_482$$, $data_dest$$inline_485_dest$$inline_483$$, 7);
$cont$$inline_489$$ && ($cpu$$594$$.instruction_pointer = $cpu$$594$$.previous_ip);
}
};
$table16$$[167] = function $$table16$$$167$($cpu$$595$$) {
a: {
var $phys_src$$inline_502_src$$inline_497$$, $dest$$inline_498_phys_dest$$inline_501$$, $data_src$$inline_499$$, $data_dest$$inline_500$$ = 0, $diff$$inline_509_size$$inline_503$$ = $cpu$$595$$.flags & 1024 ? -2 : 2, $cont$$inline_504$$ = !1;
$dest$$inline_498_phys_dest$$inline_501$$ = $cpu$$595$$.get_seg(0) + $cpu$$595$$.regv[$cpu$$595$$.reg_vdi] | 0;
$phys_src$$inline_502_src$$inline_497$$ = $cpu$$595$$.get_seg_prefix(3) + $cpu$$595$$.regv[$cpu$$595$$.reg_vsi] | 0;
if (0 !== $cpu$$595$$.repeat_string_prefix) {
var $count$$inline_505$$ = $cpu$$595$$.regv[$cpu$$595$$.reg_vcx] >>> 0, $start_count$$inline_506$$ = $count$$inline_505$$;
if (0 === $count$$inline_505$$) {
break a;
}
var $next_cycle$$inline_507$$ = 16384;
if ($dest$$inline_498_phys_dest$$inline_501$$ & 1 || $phys_src$$inline_502_src$$inline_497$$ & 1) {
do {
$data_dest$$inline_500$$ = $cpu$$595$$.safe_read16($dest$$inline_498_phys_dest$$inline_501$$), $data_src$$inline_499$$ = $cpu$$595$$.safe_read16($phys_src$$inline_502_src$$inline_497$$), $dest$$inline_498_phys_dest$$inline_501$$ += $diff$$inline_509_size$$inline_503$$, $cpu$$595$$.regv[$cpu$$595$$.reg_vdi] += $diff$$inline_509_size$$inline_503$$, $phys_src$$inline_502_src$$inline_497$$ += $diff$$inline_509_size$$inline_503$$, $cpu$$595$$.regv[$cpu$$595$$.reg_vsi] += $diff$$inline_509_size$$inline_503$$,
$cont$$inline_504$$ = 0 !== --$cpu$$595$$.regv[$cpu$$595$$.reg_vcx] && $data_src$$inline_499$$ === $data_dest$$inline_500$$ === (2 === $cpu$$595$$.repeat_string_prefix);
} while ($cont$$inline_504$$ && $next_cycle$$inline_507$$--);
} else {
var $single_size$$inline_508$$ = $diff$$inline_509_size$$inline_503$$ >> 31 | 1;
$cpu$$595$$.paging && ($next_cycle$$inline_507$$ = ($single_size$$inline_508$$ >> 1 ^ ~$phys_src$$inline_502_src$$inline_497$$) & 4095, $phys_src$$inline_502_src$$inline_497$$ = $cpu$$595$$.translate_address_read($phys_src$$inline_502_src$$inline_497$$), $next_cycle$$inline_507$$ = Math.min($next_cycle$$inline_507$$, ($single_size$$inline_508$$ >> 1 ^ ~$dest$$inline_498_phys_dest$$inline_501$$) & 4095), $dest$$inline_498_phys_dest$$inline_501$$ = $cpu$$595$$.translate_address_read($dest$$inline_498_phys_dest$$inline_501$$),
$next_cycle$$inline_507$$ >>= 1);
$dest$$inline_498_phys_dest$$inline_501$$ >>>= 1;
$phys_src$$inline_502_src$$inline_497$$ >>>= 1;
do {
$data_dest$$inline_500$$ = $cpu$$595$$.memory.read_aligned16($dest$$inline_498_phys_dest$$inline_501$$), $data_src$$inline_499$$ = $cpu$$595$$.memory.read_aligned16($phys_src$$inline_502_src$$inline_497$$), $dest$$inline_498_phys_dest$$inline_501$$ += $single_size$$inline_508$$, $phys_src$$inline_502_src$$inline_497$$ += $single_size$$inline_508$$, $cont$$inline_504$$ = 0 !== --$count$$inline_505$$ && $data_src$$inline_499$$ === $data_dest$$inline_500$$ === (2 === $cpu$$595$$.repeat_string_prefix)
;
} while ($cont$$inline_504$$ && $next_cycle$$inline_507$$--);
$diff$$inline_509_size$$inline_503$$ = $diff$$inline_509_size$$inline_503$$ * ($start_count$$inline_506$$ - $count$$inline_505$$) | 0;
$cpu$$595$$.regv[$cpu$$595$$.reg_vdi] += $diff$$inline_509_size$$inline_503$$;
$cpu$$595$$.regv[$cpu$$595$$.reg_vsi] += $diff$$inline_509_size$$inline_503$$;
$cpu$$595$$.regv[$cpu$$595$$.reg_vcx] = $count$$inline_505$$;
$cpu$$595$$.timestamp_counter += $start_count$$inline_506$$ - $count$$inline_505$$;
}
} else {
$data_dest$$inline_500$$ = $cpu$$595$$.safe_read16($dest$$inline_498_phys_dest$$inline_501$$), $data_src$$inline_499$$ = $cpu$$595$$.safe_read16($phys_src$$inline_502_src$$inline_497$$), $cpu$$595$$.regv[$cpu$$595$$.reg_vdi] += $diff$$inline_509_size$$inline_503$$, $cpu$$595$$.regv[$cpu$$595$$.reg_vsi] += $diff$$inline_509_size$$inline_503$$;
}
$cpu$$595$$.sub($data_src$$inline_499$$, $data_dest$$inline_500$$, 15);
$cont$$inline_504$$ && ($cpu$$595$$.instruction_pointer = $cpu$$595$$.previous_ip);
}
};
$table32$$[167] = function $$table32$$$167$($cpu$$596$$) {
a: {
var $phys_src$$inline_517_src$$inline_512$$, $dest$$inline_513_phys_dest$$inline_516$$, $data_src$$inline_514$$, $data_dest$$inline_515$$ = 0, $diff$$inline_524_size$$inline_518$$ = $cpu$$596$$.flags & 1024 ? -4 : 4, $cont$$inline_519$$ = !1;
$dest$$inline_513_phys_dest$$inline_516$$ = $cpu$$596$$.get_seg(0) + $cpu$$596$$.regv[$cpu$$596$$.reg_vdi] | 0;
$phys_src$$inline_517_src$$inline_512$$ = $cpu$$596$$.get_seg_prefix(3) + $cpu$$596$$.regv[$cpu$$596$$.reg_vsi] | 0;
if (0 !== $cpu$$596$$.repeat_string_prefix) {
var $count$$inline_520$$ = $cpu$$596$$.regv[$cpu$$596$$.reg_vcx] >>> 0, $start_count$$inline_521$$ = $count$$inline_520$$;
if (0 === $count$$inline_520$$) {
break a;
}
var $next_cycle$$inline_522$$ = 16384;
if ($dest$$inline_513_phys_dest$$inline_516$$ & 3 || $phys_src$$inline_517_src$$inline_512$$ & 3) {
do {
$data_dest$$inline_515$$ = $cpu$$596$$.safe_read32s($dest$$inline_513_phys_dest$$inline_516$$), $data_src$$inline_514$$ = $cpu$$596$$.safe_read32s($phys_src$$inline_517_src$$inline_512$$), $dest$$inline_513_phys_dest$$inline_516$$ += $diff$$inline_524_size$$inline_518$$, $cpu$$596$$.regv[$cpu$$596$$.reg_vdi] += $diff$$inline_524_size$$inline_518$$, $phys_src$$inline_517_src$$inline_512$$ += $diff$$inline_524_size$$inline_518$$, $cpu$$596$$.regv[$cpu$$596$$.reg_vsi] += $diff$$inline_524_size$$inline_518$$,
$cont$$inline_519$$ = 0 !== --$cpu$$596$$.regv[$cpu$$596$$.reg_vcx] && $data_src$$inline_514$$ === $data_dest$$inline_515$$ === (2 === $cpu$$596$$.repeat_string_prefix);
} while ($cont$$inline_519$$ && $next_cycle$$inline_522$$--);
} else {
var $single_size$$inline_523$$ = $diff$$inline_524_size$$inline_518$$ >> 31 | 1;
$cpu$$596$$.paging && ($next_cycle$$inline_522$$ = ($single_size$$inline_523$$ >> 1 ^ ~$phys_src$$inline_517_src$$inline_512$$) & 4095, $phys_src$$inline_517_src$$inline_512$$ = $cpu$$596$$.translate_address_read($phys_src$$inline_517_src$$inline_512$$), $next_cycle$$inline_522$$ = Math.min($next_cycle$$inline_522$$, ($single_size$$inline_523$$ >> 1 ^ ~$dest$$inline_513_phys_dest$$inline_516$$) & 4095), $dest$$inline_513_phys_dest$$inline_516$$ = $cpu$$596$$.translate_address_read($dest$$inline_513_phys_dest$$inline_516$$),
$next_cycle$$inline_522$$ >>= 2);
$dest$$inline_513_phys_dest$$inline_516$$ >>>= 2;
$phys_src$$inline_517_src$$inline_512$$ >>>= 2;
do {
$data_dest$$inline_515$$ = $cpu$$596$$.memory.read_aligned32($dest$$inline_513_phys_dest$$inline_516$$), $data_src$$inline_514$$ = $cpu$$596$$.memory.read_aligned32($phys_src$$inline_517_src$$inline_512$$), $dest$$inline_513_phys_dest$$inline_516$$ += $single_size$$inline_523$$, $phys_src$$inline_517_src$$inline_512$$ += $single_size$$inline_523$$, $cont$$inline_519$$ = 0 !== --$count$$inline_520$$ && $data_src$$inline_514$$ === $data_dest$$inline_515$$ === (2 === $cpu$$596$$.repeat_string_prefix)
;
} while ($cont$$inline_519$$ && $next_cycle$$inline_522$$--);
$diff$$inline_524_size$$inline_518$$ = $diff$$inline_524_size$$inline_518$$ * ($start_count$$inline_521$$ - $count$$inline_520$$) | 0;
$cpu$$596$$.regv[$cpu$$596$$.reg_vdi] += $diff$$inline_524_size$$inline_518$$;
$cpu$$596$$.regv[$cpu$$596$$.reg_vsi] += $diff$$inline_524_size$$inline_518$$;
$cpu$$596$$.regv[$cpu$$596$$.reg_vcx] = $count$$inline_520$$;
$cpu$$596$$.timestamp_counter += $start_count$$inline_521$$ - $count$$inline_520$$;
}
} else {
$data_dest$$inline_515$$ = $cpu$$596$$.safe_read32s($dest$$inline_513_phys_dest$$inline_516$$), $data_src$$inline_514$$ = $cpu$$596$$.safe_read32s($phys_src$$inline_517_src$$inline_512$$), $cpu$$596$$.regv[$cpu$$596$$.reg_vdi] += $diff$$inline_524_size$$inline_518$$, $cpu$$596$$.regv[$cpu$$596$$.reg_vsi] += $diff$$inline_524_size$$inline_518$$;
}
$cpu$$596$$.sub($data_src$$inline_514$$, $data_dest$$inline_515$$, 31);
$cont$$inline_519$$ && ($cpu$$596$$.instruction_pointer = $cpu$$596$$.previous_ip);
}
};
$table16$$[168] = $table32$$[168] = function $$table32$$$168$($cpu$$597$$) {
$cpu$$597$$.and($cpu$$597$$.reg8[0], $cpu$$597$$.read_imm8(), 7);
};
$table16$$[169] = function $$table16$$$169$($cpu$$598$$) {
$cpu$$598$$.and($cpu$$598$$.reg16[0], $cpu$$598$$.read_imm16(), 15);
};
$table32$$[169] = function $$table32$$$169$($cpu$$599$$) {
$cpu$$599$$.and($cpu$$599$$.reg32s[0], $cpu$$599$$.read_imm32s(), 31);
};
$table16$$[170] = $table32$$[170] = function $$table32$$$170$($cpu$$600$$) {
a: {
var $data$$inline_527$$ = $cpu$$600$$.reg8[0], $dest$$inline_528_phys_dest$$inline_529$$, $size$$inline_530$$ = $cpu$$600$$.flags & 1024 ? -1 : 1, $cont$$inline_531$$ = !1;
$dest$$inline_528_phys_dest$$inline_529$$ = $cpu$$600$$.get_seg(0) + $cpu$$600$$.regv[$cpu$$600$$.reg_vdi] | 0;
if (0 !== $cpu$$600$$.repeat_string_prefix) {
var $count$$inline_532$$ = $cpu$$600$$.regv[$cpu$$600$$.reg_vcx] >>> 0, $start_count$$inline_533$$ = $count$$inline_532$$;
if (0 === $count$$inline_532$$) {
break a;
}
var $next_cycle$$inline_534$$ = 16384, $single_size$$inline_535$$ = $size$$inline_530$$ >> 31 | 1;
$cpu$$600$$.paging && ($next_cycle$$inline_534$$ = Math.min($next_cycle$$inline_534$$, ($single_size$$inline_535$$ >> 1 ^ ~$dest$$inline_528_phys_dest$$inline_529$$) & 4095), $dest$$inline_528_phys_dest$$inline_529$$ = $cpu$$600$$.translate_address_write($dest$$inline_528_phys_dest$$inline_529$$));
do {
$cpu$$600$$.memory.write8($dest$$inline_528_phys_dest$$inline_529$$, $data$$inline_527$$), $dest$$inline_528_phys_dest$$inline_529$$ += $single_size$$inline_535$$, $cont$$inline_531$$ = 0 !== --$count$$inline_532$$ && !0;
} while ($cont$$inline_531$$ && $next_cycle$$inline_534$$--);
$cpu$$600$$.regv[$cpu$$600$$.reg_vdi] += $size$$inline_530$$ * ($start_count$$inline_533$$ - $count$$inline_532$$) | 0;
$cpu$$600$$.regv[$cpu$$600$$.reg_vcx] = $count$$inline_532$$;
$cpu$$600$$.timestamp_counter += $start_count$$inline_533$$ - $count$$inline_532$$;
} else {
$dest$$inline_528_phys_dest$$inline_529$$ = $cpu$$600$$.translate_address_write($dest$$inline_528_phys_dest$$inline_529$$), $cpu$$600$$.memory.write8($dest$$inline_528_phys_dest$$inline_529$$, $data$$inline_527$$), $cpu$$600$$.regv[$cpu$$600$$.reg_vdi] += $size$$inline_530$$;
}
$cont$$inline_531$$ && ($cpu$$600$$.instruction_pointer = $cpu$$600$$.previous_ip);
}
};
$table16$$[171] = function $$table16$$$171$($cpu$$601$$) {
a: {
var $data$$inline_538$$ = $cpu$$601$$.reg16[0], $dest$$inline_539_phys_dest$$inline_540$$, $size$$inline_541$$ = $cpu$$601$$.flags & 1024 ? -2 : 2, $cont$$inline_542$$ = !1;
$dest$$inline_539_phys_dest$$inline_540$$ = $cpu$$601$$.get_seg(0) + $cpu$$601$$.regv[$cpu$$601$$.reg_vdi] | 0;
if (0 !== $cpu$$601$$.repeat_string_prefix) {
var $count$$inline_543$$ = $cpu$$601$$.regv[$cpu$$601$$.reg_vcx] >>> 0, $start_count$$inline_544$$ = $count$$inline_543$$;
if (0 === $count$$inline_543$$) {
break a;
}
var $next_cycle$$inline_545$$ = 16384;
if ($dest$$inline_539_phys_dest$$inline_540$$ & 1) {
do {
$cpu$$601$$.safe_write16($dest$$inline_539_phys_dest$$inline_540$$, $data$$inline_538$$), $dest$$inline_539_phys_dest$$inline_540$$ += $size$$inline_541$$, $cpu$$601$$.regv[$cpu$$601$$.reg_vdi] += $size$$inline_541$$, $cont$$inline_542$$ = 0 !== --$cpu$$601$$.regv[$cpu$$601$$.reg_vcx] && !0;
} while ($cont$$inline_542$$ && $next_cycle$$inline_545$$--);
} else {
var $single_size$$inline_546$$ = $size$$inline_541$$ >> 31 | 1;
$cpu$$601$$.paging && ($next_cycle$$inline_545$$ = Math.min($next_cycle$$inline_545$$, ($single_size$$inline_546$$ >> 1 ^ ~$dest$$inline_539_phys_dest$$inline_540$$) & 4095), $dest$$inline_539_phys_dest$$inline_540$$ = $cpu$$601$$.translate_address_write($dest$$inline_539_phys_dest$$inline_540$$), $next_cycle$$inline_545$$ >>= 1);
$dest$$inline_539_phys_dest$$inline_540$$ >>>= 1;
do {
$cpu$$601$$.memory.write_aligned16($dest$$inline_539_phys_dest$$inline_540$$, $data$$inline_538$$), $dest$$inline_539_phys_dest$$inline_540$$ += $single_size$$inline_546$$, $cont$$inline_542$$ = 0 !== --$count$$inline_543$$ && !0;
} while ($cont$$inline_542$$ && $next_cycle$$inline_545$$--);
$cpu$$601$$.regv[$cpu$$601$$.reg_vdi] += $size$$inline_541$$ * ($start_count$$inline_544$$ - $count$$inline_543$$) | 0;
$cpu$$601$$.regv[$cpu$$601$$.reg_vcx] = $count$$inline_543$$;
$cpu$$601$$.timestamp_counter += $start_count$$inline_544$$ - $count$$inline_543$$;
}
} else {
$cpu$$601$$.safe_write16($dest$$inline_539_phys_dest$$inline_540$$, $data$$inline_538$$), $cpu$$601$$.regv[$cpu$$601$$.reg_vdi] += $size$$inline_541$$;
}
$cont$$inline_542$$ && ($cpu$$601$$.instruction_pointer = $cpu$$601$$.previous_ip);
}
};
$table32$$[171] = function $$table32$$$171$($cpu$$602$$) {
a: {
var $data$$inline_549$$ = $cpu$$602$$.reg32s[0], $dest$$inline_550_phys_dest$$inline_551$$, $size$$inline_552$$ = $cpu$$602$$.flags & 1024 ? -4 : 4, $cont$$inline_553$$ = !1;
$dest$$inline_550_phys_dest$$inline_551$$ = $cpu$$602$$.get_seg(0) + $cpu$$602$$.regv[$cpu$$602$$.reg_vdi] | 0;
if (0 !== $cpu$$602$$.repeat_string_prefix) {
var $count$$inline_554$$ = $cpu$$602$$.regv[$cpu$$602$$.reg_vcx] >>> 0, $start_count$$inline_555$$ = $count$$inline_554$$;
if (0 === $count$$inline_554$$) {
break a;
}
var $next_cycle$$inline_556$$ = 16384;
if ($dest$$inline_550_phys_dest$$inline_551$$ & 3) {
do {
$cpu$$602$$.safe_write32($dest$$inline_550_phys_dest$$inline_551$$, $data$$inline_549$$), $dest$$inline_550_phys_dest$$inline_551$$ += $size$$inline_552$$, $cpu$$602$$.regv[$cpu$$602$$.reg_vdi] += $size$$inline_552$$, $cont$$inline_553$$ = 0 !== --$cpu$$602$$.regv[$cpu$$602$$.reg_vcx] && !0;
} while ($cont$$inline_553$$ && $next_cycle$$inline_556$$--);
} else {
var $single_size$$inline_557$$ = $size$$inline_552$$ >> 31 | 1;
$cpu$$602$$.paging && ($next_cycle$$inline_556$$ = Math.min($next_cycle$$inline_556$$, ($single_size$$inline_557$$ >> 1 ^ ~$dest$$inline_550_phys_dest$$inline_551$$) & 4095), $dest$$inline_550_phys_dest$$inline_551$$ = $cpu$$602$$.translate_address_write($dest$$inline_550_phys_dest$$inline_551$$), $next_cycle$$inline_556$$ >>= 2);
$dest$$inline_550_phys_dest$$inline_551$$ >>>= 2;
do {
$cpu$$602$$.memory.write_aligned32($dest$$inline_550_phys_dest$$inline_551$$, $data$$inline_549$$), $dest$$inline_550_phys_dest$$inline_551$$ += $single_size$$inline_557$$, $cont$$inline_553$$ = 0 !== --$count$$inline_554$$ && !0;
} while ($cont$$inline_553$$ && $next_cycle$$inline_556$$--);
$cpu$$602$$.regv[$cpu$$602$$.reg_vdi] += $size$$inline_552$$ * ($start_count$$inline_555$$ - $count$$inline_554$$) | 0;
$cpu$$602$$.regv[$cpu$$602$$.reg_vcx] = $count$$inline_554$$;
$cpu$$602$$.timestamp_counter += $start_count$$inline_555$$ - $count$$inline_554$$;
}
} else {
$cpu$$602$$.safe_write32($dest$$inline_550_phys_dest$$inline_551$$, $data$$inline_549$$), $cpu$$602$$.regv[$cpu$$602$$.reg_vdi] += $size$$inline_552$$;
}
$cont$$inline_553$$ && ($cpu$$602$$.instruction_pointer = $cpu$$602$$.previous_ip);
}
};
$table16$$[172] = $table32$$[172] = function $$table32$$$172$($cpu$$603$$) {
a: {
var $phys_src$$inline_561_src$$inline_560$$, $size$$inline_562$$ = $cpu$$603$$.flags & 1024 ? -1 : 1, $cont$$inline_563$$ = !1;
$phys_src$$inline_561_src$$inline_560$$ = $cpu$$603$$.get_seg_prefix(3) + $cpu$$603$$.regv[$cpu$$603$$.reg_vsi] | 0;
if (0 !== $cpu$$603$$.repeat_string_prefix) {
var $count$$inline_564$$ = $cpu$$603$$.regv[$cpu$$603$$.reg_vcx] >>> 0, $start_count$$inline_565$$ = $count$$inline_564$$;
if (0 === $count$$inline_564$$) {
break a;
}
var $next_cycle$$inline_566$$ = 16384, $single_size$$inline_567$$ = $size$$inline_562$$ >> 31 | 1;
$cpu$$603$$.paging && ($next_cycle$$inline_566$$ = ($single_size$$inline_567$$ >> 1 ^ ~$phys_src$$inline_561_src$$inline_560$$) & 4095, $phys_src$$inline_561_src$$inline_560$$ = $cpu$$603$$.translate_address_read($phys_src$$inline_561_src$$inline_560$$));
do {
$cpu$$603$$.reg8[0] = $cpu$$603$$.memory.read8($phys_src$$inline_561_src$$inline_560$$), $phys_src$$inline_561_src$$inline_560$$ += $single_size$$inline_567$$, $cont$$inline_563$$ = 0 !== --$count$$inline_564$$ && !0;
} while ($cont$$inline_563$$ && $next_cycle$$inline_566$$--);
$cpu$$603$$.regv[$cpu$$603$$.reg_vsi] += $size$$inline_562$$ * ($start_count$$inline_565$$ - $count$$inline_564$$) | 0;
$cpu$$603$$.regv[$cpu$$603$$.reg_vcx] = $count$$inline_564$$;
$cpu$$603$$.timestamp_counter += $start_count$$inline_565$$ - $count$$inline_564$$;
} else {
$phys_src$$inline_561_src$$inline_560$$ = $cpu$$603$$.translate_address_read($phys_src$$inline_561_src$$inline_560$$), $cpu$$603$$.reg8[0] = $cpu$$603$$.memory.read8($phys_src$$inline_561_src$$inline_560$$), $cpu$$603$$.regv[$cpu$$603$$.reg_vsi] += $size$$inline_562$$;
}
$cont$$inline_563$$ && ($cpu$$603$$.instruction_pointer = $cpu$$603$$.previous_ip);
}
};
$table16$$[173] = function $$table16$$$173$($cpu$$604$$) {
a: {
var $phys_src$$inline_571_src$$inline_570$$, $size$$inline_572$$ = $cpu$$604$$.flags & 1024 ? -2 : 2, $cont$$inline_573$$ = !1;
$phys_src$$inline_571_src$$inline_570$$ = $cpu$$604$$.get_seg_prefix(3) + $cpu$$604$$.regv[$cpu$$604$$.reg_vsi] | 0;
if (0 !== $cpu$$604$$.repeat_string_prefix) {
var $count$$inline_574$$ = $cpu$$604$$.regv[$cpu$$604$$.reg_vcx] >>> 0, $start_count$$inline_575$$ = $count$$inline_574$$;
if (0 === $count$$inline_574$$) {
break a;
}
var $next_cycle$$inline_576$$ = 16384;
if ($phys_src$$inline_571_src$$inline_570$$ & 1) {
do {
$cpu$$604$$.reg16[0] = $cpu$$604$$.safe_read16($phys_src$$inline_571_src$$inline_570$$), $phys_src$$inline_571_src$$inline_570$$ += $size$$inline_572$$, $cpu$$604$$.regv[$cpu$$604$$.reg_vsi] += $size$$inline_572$$, $cont$$inline_573$$ = 0 !== --$cpu$$604$$.regv[$cpu$$604$$.reg_vcx] && !0;
} while ($cont$$inline_573$$ && $next_cycle$$inline_576$$--);
} else {
var $single_size$$inline_577$$ = $size$$inline_572$$ >> 31 | 1;
$cpu$$604$$.paging && ($next_cycle$$inline_576$$ = ($single_size$$inline_577$$ >> 1 ^ ~$phys_src$$inline_571_src$$inline_570$$) & 4095, $phys_src$$inline_571_src$$inline_570$$ = $cpu$$604$$.translate_address_read($phys_src$$inline_571_src$$inline_570$$), $next_cycle$$inline_576$$ >>= 1);
$phys_src$$inline_571_src$$inline_570$$ >>>= 1;
do {
$cpu$$604$$.reg16[0] = $cpu$$604$$.memory.read_aligned16($phys_src$$inline_571_src$$inline_570$$), $phys_src$$inline_571_src$$inline_570$$ += $single_size$$inline_577$$, $cont$$inline_573$$ = 0 !== --$count$$inline_574$$ && !0;
} while ($cont$$inline_573$$ && $next_cycle$$inline_576$$--);
$cpu$$604$$.regv[$cpu$$604$$.reg_vsi] += $size$$inline_572$$ * ($start_count$$inline_575$$ - $count$$inline_574$$) | 0;
$cpu$$604$$.regv[$cpu$$604$$.reg_vcx] = $count$$inline_574$$;
$cpu$$604$$.timestamp_counter += $start_count$$inline_575$$ - $count$$inline_574$$;
}
} else {
$cpu$$604$$.reg16[0] = $cpu$$604$$.safe_read16($phys_src$$inline_571_src$$inline_570$$), $cpu$$604$$.regv[$cpu$$604$$.reg_vsi] += $size$$inline_572$$;
}
$cont$$inline_573$$ && ($cpu$$604$$.instruction_pointer = $cpu$$604$$.previous_ip);
}
};
$table32$$[173] = function $$table32$$$173$($cpu$$605$$) {
a: {
var $phys_src$$inline_581_src$$inline_580$$, $size$$inline_582$$ = $cpu$$605$$.flags & 1024 ? -4 : 4, $cont$$inline_583$$ = !1;
$phys_src$$inline_581_src$$inline_580$$ = $cpu$$605$$.get_seg_prefix(3) + $cpu$$605$$.regv[$cpu$$605$$.reg_vsi] | 0;
if (0 !== $cpu$$605$$.repeat_string_prefix) {
var $count$$inline_584$$ = $cpu$$605$$.regv[$cpu$$605$$.reg_vcx] >>> 0, $start_count$$inline_585$$ = $count$$inline_584$$;
if (0 === $count$$inline_584$$) {
break a;
}
var $next_cycle$$inline_586$$ = 16384;
if ($phys_src$$inline_581_src$$inline_580$$ & 3) {
do {
$cpu$$605$$.reg32s[0] = $cpu$$605$$.safe_read32s($phys_src$$inline_581_src$$inline_580$$), $phys_src$$inline_581_src$$inline_580$$ += $size$$inline_582$$, $cpu$$605$$.regv[$cpu$$605$$.reg_vsi] += $size$$inline_582$$, $cont$$inline_583$$ = 0 !== --$cpu$$605$$.regv[$cpu$$605$$.reg_vcx] && !0;
} while ($cont$$inline_583$$ && $next_cycle$$inline_586$$--);
} else {
var $single_size$$inline_587$$ = $size$$inline_582$$ >> 31 | 1;
$cpu$$605$$.paging && ($next_cycle$$inline_586$$ = ($single_size$$inline_587$$ >> 1 ^ ~$phys_src$$inline_581_src$$inline_580$$) & 4095, $phys_src$$inline_581_src$$inline_580$$ = $cpu$$605$$.translate_address_read($phys_src$$inline_581_src$$inline_580$$), $next_cycle$$inline_586$$ >>= 2);
$phys_src$$inline_581_src$$inline_580$$ >>>= 2;
do {
$cpu$$605$$.reg32s[0] = $cpu$$605$$.memory.read_aligned32($phys_src$$inline_581_src$$inline_580$$), $phys_src$$inline_581_src$$inline_580$$ += $single_size$$inline_587$$, $cont$$inline_583$$ = 0 !== --$count$$inline_584$$ && !0;
} while ($cont$$inline_583$$ && $next_cycle$$inline_586$$--);
$cpu$$605$$.regv[$cpu$$605$$.reg_vsi] += $size$$inline_582$$ * ($start_count$$inline_585$$ - $count$$inline_584$$) | 0;
$cpu$$605$$.regv[$cpu$$605$$.reg_vcx] = $count$$inline_584$$;
$cpu$$605$$.timestamp_counter += $start_count$$inline_585$$ - $count$$inline_584$$;
}
} else {
$cpu$$605$$.reg32s[0] = $cpu$$605$$.safe_read32s($phys_src$$inline_581_src$$inline_580$$), $cpu$$605$$.regv[$cpu$$605$$.reg_vsi] += $size$$inline_582$$;
}
$cont$$inline_583$$ && ($cpu$$605$$.instruction_pointer = $cpu$$605$$.previous_ip);
}
};
$table16$$[174] = $table32$$[174] = function $$table32$$$174$($cpu$$606$$) {
a: {
var $data_dest$$inline_592_dest$$inline_590$$, $data_src$$inline_591$$;
$data_dest$$inline_592_dest$$inline_590$$ = 0;
var $phys_dest$$inline_593$$, $size$$inline_594$$ = $cpu$$606$$.flags & 1024 ? -1 : 1, $cont$$inline_595$$ = !1;
$data_src$$inline_591$$ = $cpu$$606$$.reg8[0];
$data_dest$$inline_592_dest$$inline_590$$ = $cpu$$606$$.get_seg(0) + $cpu$$606$$.regv[$cpu$$606$$.reg_vdi] | 0;
if (0 !== $cpu$$606$$.repeat_string_prefix) {
var $count$$inline_596$$ = $cpu$$606$$.regv[$cpu$$606$$.reg_vcx] >>> 0, $start_count$$inline_597$$ = $count$$inline_596$$;
if (0 === $count$$inline_596$$) {
break a;
}
var $next_cycle$$inline_598$$ = 16384, $single_size$$inline_599$$ = $size$$inline_594$$ >> 31 | 1;
$cpu$$606$$.paging ? ($next_cycle$$inline_598$$ = Math.min($next_cycle$$inline_598$$, ($single_size$$inline_599$$ >> 1 ^ ~$data_dest$$inline_592_dest$$inline_590$$) & 4095), $phys_dest$$inline_593$$ = $cpu$$606$$.translate_address_read($data_dest$$inline_592_dest$$inline_590$$)) : $phys_dest$$inline_593$$ = $data_dest$$inline_592_dest$$inline_590$$;
do {
$data_dest$$inline_592_dest$$inline_590$$ = $cpu$$606$$.memory.read8($phys_dest$$inline_593$$), $phys_dest$$inline_593$$ += $single_size$$inline_599$$, $cont$$inline_595$$ = 0 !== --$count$$inline_596$$ && $data_src$$inline_591$$ === $data_dest$$inline_592_dest$$inline_590$$ === (2 === $cpu$$606$$.repeat_string_prefix);
} while ($cont$$inline_595$$ && $next_cycle$$inline_598$$--);
$cpu$$606$$.regv[$cpu$$606$$.reg_vdi] += $size$$inline_594$$ * ($start_count$$inline_597$$ - $count$$inline_596$$) | 0;
$cpu$$606$$.regv[$cpu$$606$$.reg_vcx] = $count$$inline_596$$;
$cpu$$606$$.timestamp_counter += $start_count$$inline_597$$ - $count$$inline_596$$;
} else {
$phys_dest$$inline_593$$ = $cpu$$606$$.translate_address_read($data_dest$$inline_592_dest$$inline_590$$), $data_dest$$inline_592_dest$$inline_590$$ = $cpu$$606$$.memory.read8($phys_dest$$inline_593$$), $cpu$$606$$.regv[$cpu$$606$$.reg_vdi] += $size$$inline_594$$;
}
$cpu$$606$$.sub($data_src$$inline_591$$, $data_dest$$inline_592_dest$$inline_590$$, 7);
$cont$$inline_595$$ && ($cpu$$606$$.instruction_pointer = $cpu$$606$$.previous_ip);
}
};
$table16$$[175] = function $$table16$$$175$($cpu$$607$$) {
a: {
var $dest$$inline_602_phys_dest$$inline_605$$, $data_src$$inline_603$$, $data_dest$$inline_604$$ = 0, $size$$inline_606$$ = $cpu$$607$$.flags & 1024 ? -2 : 2, $cont$$inline_607$$ = !1;
$data_src$$inline_603$$ = $cpu$$607$$.reg16[0];
$dest$$inline_602_phys_dest$$inline_605$$ = $cpu$$607$$.get_seg(0) + $cpu$$607$$.regv[$cpu$$607$$.reg_vdi] | 0;
if (0 !== $cpu$$607$$.repeat_string_prefix) {
var $count$$inline_608$$ = $cpu$$607$$.regv[$cpu$$607$$.reg_vcx] >>> 0, $start_count$$inline_609$$ = $count$$inline_608$$;
if (0 === $count$$inline_608$$) {
break a;
}
var $next_cycle$$inline_610$$ = 16384;
if ($dest$$inline_602_phys_dest$$inline_605$$ & 1) {
do {
$data_dest$$inline_604$$ = $cpu$$607$$.safe_read16($dest$$inline_602_phys_dest$$inline_605$$), $dest$$inline_602_phys_dest$$inline_605$$ += $size$$inline_606$$, $cpu$$607$$.regv[$cpu$$607$$.reg_vdi] += $size$$inline_606$$, $cont$$inline_607$$ = 0 !== --$cpu$$607$$.regv[$cpu$$607$$.reg_vcx] && $data_src$$inline_603$$ === $data_dest$$inline_604$$ === (2 === $cpu$$607$$.repeat_string_prefix);
} while ($cont$$inline_607$$ && $next_cycle$$inline_610$$--);
} else {
var $single_size$$inline_611$$ = $size$$inline_606$$ >> 31 | 1;
$cpu$$607$$.paging && ($next_cycle$$inline_610$$ = Math.min($next_cycle$$inline_610$$, ($single_size$$inline_611$$ >> 1 ^ ~$dest$$inline_602_phys_dest$$inline_605$$) & 4095), $dest$$inline_602_phys_dest$$inline_605$$ = $cpu$$607$$.translate_address_read($dest$$inline_602_phys_dest$$inline_605$$), $next_cycle$$inline_610$$ >>= 1);
$dest$$inline_602_phys_dest$$inline_605$$ >>>= 1;
do {
$data_dest$$inline_604$$ = $cpu$$607$$.memory.read_aligned16($dest$$inline_602_phys_dest$$inline_605$$), $dest$$inline_602_phys_dest$$inline_605$$ += $single_size$$inline_611$$, $cont$$inline_607$$ = 0 !== --$count$$inline_608$$ && $data_src$$inline_603$$ === $data_dest$$inline_604$$ === (2 === $cpu$$607$$.repeat_string_prefix);
} while ($cont$$inline_607$$ && $next_cycle$$inline_610$$--);
$cpu$$607$$.regv[$cpu$$607$$.reg_vdi] += $size$$inline_606$$ * ($start_count$$inline_609$$ - $count$$inline_608$$) | 0;
$cpu$$607$$.regv[$cpu$$607$$.reg_vcx] = $count$$inline_608$$;
$cpu$$607$$.timestamp_counter += $start_count$$inline_609$$ - $count$$inline_608$$;
}
} else {
$data_dest$$inline_604$$ = $cpu$$607$$.safe_read16($dest$$inline_602_phys_dest$$inline_605$$), $cpu$$607$$.regv[$cpu$$607$$.reg_vdi] += $size$$inline_606$$;
}
$cpu$$607$$.sub($data_src$$inline_603$$, $data_dest$$inline_604$$, 15);
$cont$$inline_607$$ && ($cpu$$607$$.instruction_pointer = $cpu$$607$$.previous_ip);
}
};
$table32$$[175] = function $$table32$$$175$($cpu$$608$$) {
a: {
var $dest$$inline_614_phys_dest$$inline_617$$, $data_src$$inline_615$$, $data_dest$$inline_616$$ = 0, $size$$inline_618$$ = $cpu$$608$$.flags & 1024 ? -4 : 4, $cont$$inline_619$$ = !1;
$data_src$$inline_615$$ = $cpu$$608$$.reg32s[0];
$dest$$inline_614_phys_dest$$inline_617$$ = $cpu$$608$$.get_seg(0) + $cpu$$608$$.regv[$cpu$$608$$.reg_vdi] | 0;
if (0 !== $cpu$$608$$.repeat_string_prefix) {
var $count$$inline_620$$ = $cpu$$608$$.regv[$cpu$$608$$.reg_vcx] >>> 0, $start_count$$inline_621$$ = $count$$inline_620$$;
if (0 === $count$$inline_620$$) {
break a;
}
var $next_cycle$$inline_622$$ = 16384;
if ($dest$$inline_614_phys_dest$$inline_617$$ & 3) {
do {
$data_dest$$inline_616$$ = $cpu$$608$$.safe_read32s($dest$$inline_614_phys_dest$$inline_617$$), $dest$$inline_614_phys_dest$$inline_617$$ += $size$$inline_618$$, $cpu$$608$$.regv[$cpu$$608$$.reg_vdi] += $size$$inline_618$$, $cont$$inline_619$$ = 0 !== --$cpu$$608$$.regv[$cpu$$608$$.reg_vcx] && $data_src$$inline_615$$ === $data_dest$$inline_616$$ === (2 === $cpu$$608$$.repeat_string_prefix);
} while ($cont$$inline_619$$ && $next_cycle$$inline_622$$--);
} else {
var $single_size$$inline_623$$ = $size$$inline_618$$ >> 31 | 1;
$cpu$$608$$.paging && ($next_cycle$$inline_622$$ = Math.min($next_cycle$$inline_622$$, ($single_size$$inline_623$$ >> 1 ^ ~$dest$$inline_614_phys_dest$$inline_617$$) & 4095), $dest$$inline_614_phys_dest$$inline_617$$ = $cpu$$608$$.translate_address_read($dest$$inline_614_phys_dest$$inline_617$$), $next_cycle$$inline_622$$ >>= 2);
$dest$$inline_614_phys_dest$$inline_617$$ >>>= 2;
do {
$data_dest$$inline_616$$ = $cpu$$608$$.memory.read_aligned32($dest$$inline_614_phys_dest$$inline_617$$), $dest$$inline_614_phys_dest$$inline_617$$ += $single_size$$inline_623$$, $cont$$inline_619$$ = 0 !== --$count$$inline_620$$ && $data_src$$inline_615$$ === $data_dest$$inline_616$$ === (2 === $cpu$$608$$.repeat_string_prefix);
} while ($cont$$inline_619$$ && $next_cycle$$inline_622$$--);
$cpu$$608$$.regv[$cpu$$608$$.reg_vdi] += $size$$inline_618$$ * ($start_count$$inline_621$$ - $count$$inline_620$$) | 0;
$cpu$$608$$.regv[$cpu$$608$$.reg_vcx] = $count$$inline_620$$;
$cpu$$608$$.timestamp_counter += $start_count$$inline_621$$ - $count$$inline_620$$;
}
} else {
$data_dest$$inline_616$$ = $cpu$$608$$.safe_read32s($dest$$inline_614_phys_dest$$inline_617$$), $cpu$$608$$.regv[$cpu$$608$$.reg_vdi] += $size$$inline_618$$;
}
$cpu$$608$$.sub($data_src$$inline_615$$, $data_dest$$inline_616$$, 31);
$cont$$inline_619$$ && ($cpu$$608$$.instruction_pointer = $cpu$$608$$.previous_ip);
}
};
$table16$$[176] = $table32$$[176] = function $$table32$$$176$($cpu$$609$$) {
$cpu$$609$$.reg8[0] = $cpu$$609$$.read_imm8();
};
$table16$$[177] = $table32$$[177] = function $$table32$$$177$($cpu$$610$$) {
$cpu$$610$$.reg8[4] = $cpu$$610$$.read_imm8();
};
$table16$$[178] = $table32$$[178] = function $$table32$$$178$($cpu$$611$$) {
$cpu$$611$$.reg8[8] = $cpu$$611$$.read_imm8();
};
$table16$$[179] = $table32$$[179] = function $$table32$$$179$($cpu$$612$$) {
$cpu$$612$$.reg8[12] = $cpu$$612$$.read_imm8();
};
$table16$$[180] = $table32$$[180] = function $$table32$$$180$($cpu$$613$$) {
$cpu$$613$$.reg8[1] = $cpu$$613$$.read_imm8();
};
$table16$$[181] = $table32$$[181] = function $$table32$$$181$($cpu$$614$$) {
$cpu$$614$$.reg8[5] = $cpu$$614$$.read_imm8();
};
$table16$$[182] = $table32$$[182] = function $$table32$$$182$($cpu$$615$$) {
$cpu$$615$$.reg8[9] = $cpu$$615$$.read_imm8();
};
$table16$$[183] = $table32$$[183] = function $$table32$$$183$($cpu$$616$$) {
$cpu$$616$$.reg8[13] = $cpu$$616$$.read_imm8();
};
$table16$$[184] = function $$table16$$$184$($cpu$$617$$) {
$cpu$$617$$.reg16[0] = $cpu$$617$$.read_imm16();
};
$table32$$[184] = function $$table32$$$184$($cpu$$618$$) {
$cpu$$618$$.reg32s[0] = $cpu$$618$$.read_imm32s();
};
$table16$$[185] = function $$table16$$$185$($cpu$$619$$) {
$cpu$$619$$.reg16[2] = $cpu$$619$$.read_imm16();
};
$table32$$[185] = function $$table32$$$185$($cpu$$620$$) {
$cpu$$620$$.reg32s[1] = $cpu$$620$$.read_imm32s();
};
$table16$$[186] = function $$table16$$$186$($cpu$$621$$) {
$cpu$$621$$.reg16[4] = $cpu$$621$$.read_imm16();
};
$table32$$[186] = function $$table32$$$186$($cpu$$622$$) {
$cpu$$622$$.reg32s[2] = $cpu$$622$$.read_imm32s();
};
$table16$$[187] = function $$table16$$$187$($cpu$$623$$) {
$cpu$$623$$.reg16[6] = $cpu$$623$$.read_imm16();
};
$table32$$[187] = function $$table32$$$187$($cpu$$624$$) {
$cpu$$624$$.reg32s[3] = $cpu$$624$$.read_imm32s();
};
$table16$$[188] = function $$table16$$$188$($cpu$$625$$) {
$cpu$$625$$.reg16[8] = $cpu$$625$$.read_imm16();
};
$table32$$[188] = function $$table32$$$188$($cpu$$626$$) {
$cpu$$626$$.reg32s[4] = $cpu$$626$$.read_imm32s();
};
$table16$$[189] = function $$table16$$$189$($cpu$$627$$) {
$cpu$$627$$.reg16[10] = $cpu$$627$$.read_imm16();
};
$table32$$[189] = function $$table32$$$189$($cpu$$628$$) {
$cpu$$628$$.reg32s[5] = $cpu$$628$$.read_imm32s();
};
$table16$$[190] = function $$table16$$$190$($cpu$$629$$) {
$cpu$$629$$.reg16[12] = $cpu$$629$$.read_imm16();
};
$table32$$[190] = function $$table32$$$190$($cpu$$630$$) {
$cpu$$630$$.reg32s[6] = $cpu$$630$$.read_imm32s();
};
$table16$$[191] = function $$table16$$$191$($cpu$$631$$) {
$cpu$$631$$.reg16[14] = $cpu$$631$$.read_imm16();
};
$table32$$[191] = function $$table32$$$191$($cpu$$632$$) {
$cpu$$632$$.reg32s[7] = $cpu$$632$$.read_imm32s();
};
$table16$$[192] = $table32$$[192] = function $$table32$$$192$($cpu$$633$$) {
var $modrm_byte$$78$$ = $cpu$$633$$.read_imm8(), $data2$$5$$, $data$$101$$, $addr$$25$$, $result$$53$$;
192 > $modrm_byte$$78$$ ? ($addr$$25$$ = $cpu$$633$$.translate_address_write($cpu$$633$$.modrm_resolve($modrm_byte$$78$$)), $data$$101$$ = $cpu$$633$$.memory.read8($addr$$25$$)) : $data$$101$$ = $cpu$$633$$.reg8[$modrm_byte$$78$$ << 2 & 12 | $modrm_byte$$78$$ >> 2 & 1];
$result$$53$$ = 0;
$data2$$5$$ = $cpu$$633$$.read_imm8() & 31;
switch($modrm_byte$$78$$ >> 3 & 7) {
case 0:
$result$$53$$ = $cpu$$633$$.rol8($data$$101$$, $data2$$5$$);
break;
case 1:
$result$$53$$ = $cpu$$633$$.ror8($data$$101$$, $data2$$5$$);
break;
case 2:
$result$$53$$ = $cpu$$633$$.rcl8($data$$101$$, $data2$$5$$);
break;
case 3:
$result$$53$$ = $cpu$$633$$.rcr8($data$$101$$, $data2$$5$$);
break;
case 4:
$result$$53$$ = $cpu$$633$$.shl8($data$$101$$, $data2$$5$$);
break;
case 5:
$result$$53$$ = $cpu$$633$$.shr8($data$$101$$, $data2$$5$$);
break;
case 6:
$result$$53$$ = $cpu$$633$$.shl8($data$$101$$, $data2$$5$$);
break;
case 7:
$result$$53$$ = $cpu$$633$$.sar8($data$$101$$, $data2$$5$$);
}
192 > $modrm_byte$$78$$ ? $cpu$$633$$.memory.write8($addr$$25$$, $result$$53$$) : $cpu$$633$$.reg8[$modrm_byte$$78$$ << 2 & 12 | $modrm_byte$$78$$ >> 2 & 1] = $result$$53$$;
};
$table16$$[193] = function $$table16$$$193$($cpu$$634$$) {
var $modrm_byte$$79$$ = $cpu$$634$$.read_imm8(), $data2$$6_virt_addr$$25$$, $data$$102$$, $phys_addr$$24$$, $phys_addr_high$$21$$ = 0, $result$$54$$;
192 > $modrm_byte$$79$$ ? ($data2$$6_virt_addr$$25$$ = $cpu$$634$$.modrm_resolve($modrm_byte$$79$$), $phys_addr$$24$$ = $cpu$$634$$.translate_address_write($data2$$6_virt_addr$$25$$), $cpu$$634$$.paging && 4095 === ($data2$$6_virt_addr$$25$$ & 4095) ? ($phys_addr_high$$21$$ = $cpu$$634$$.translate_address_write($data2$$6_virt_addr$$25$$ + 1), $data$$102$$ = $cpu$$634$$.virt_boundary_read16($phys_addr$$24$$, $phys_addr_high$$21$$)) : $data$$102$$ = $cpu$$634$$.memory.read16($phys_addr$$24$$)) :
$data$$102$$ = $cpu$$634$$.reg16[$modrm_byte$$79$$ << 1 & 14];
$result$$54$$ = 0;
$data2$$6_virt_addr$$25$$ = $cpu$$634$$.read_imm8() & 31;
switch($modrm_byte$$79$$ >> 3 & 7) {
case 0:
$result$$54$$ = $cpu$$634$$.rol16($data$$102$$, $data2$$6_virt_addr$$25$$);
break;
case 1:
$result$$54$$ = $cpu$$634$$.ror16($data$$102$$, $data2$$6_virt_addr$$25$$);
break;
case 2:
$result$$54$$ = $cpu$$634$$.rcl16($data$$102$$, $data2$$6_virt_addr$$25$$);
break;
case 3:
$result$$54$$ = $cpu$$634$$.rcr16($data$$102$$, $data2$$6_virt_addr$$25$$);
break;
case 4:
$result$$54$$ = $cpu$$634$$.shl16($data$$102$$, $data2$$6_virt_addr$$25$$);
break;
case 5:
$result$$54$$ = $cpu$$634$$.shr16($data$$102$$, $data2$$6_virt_addr$$25$$);
break;
case 6:
$result$$54$$ = $cpu$$634$$.shl16($data$$102$$, $data2$$6_virt_addr$$25$$);
break;
case 7:
$result$$54$$ = $cpu$$634$$.sar16($data$$102$$, $data2$$6_virt_addr$$25$$);
}
192 > $modrm_byte$$79$$ ? $phys_addr_high$$21$$ ? $cpu$$634$$.virt_boundary_write16($phys_addr$$24$$, $phys_addr_high$$21$$, $result$$54$$) : $cpu$$634$$.memory.write16($phys_addr$$24$$, $result$$54$$) : $cpu$$634$$.reg16[$modrm_byte$$79$$ << 1 & 14] = $result$$54$$;
};
$table32$$[193] = function $$table32$$$193$($cpu$$635$$) {
var $modrm_byte$$80$$ = $cpu$$635$$.read_imm8(), $data2$$7_virt_addr$$26$$, $data$$103$$, $phys_addr$$25$$, $phys_addr_high$$22$$ = 0, $result$$55$$;
192 > $modrm_byte$$80$$ ? ($data2$$7_virt_addr$$26$$ = $cpu$$635$$.modrm_resolve($modrm_byte$$80$$), $phys_addr$$25$$ = $cpu$$635$$.translate_address_write($data2$$7_virt_addr$$26$$), $cpu$$635$$.paging && 4093 <= ($data2$$7_virt_addr$$26$$ & 4095) ? ($phys_addr_high$$22$$ = $cpu$$635$$.translate_address_write($data2$$7_virt_addr$$26$$ + 3), $data$$103$$ = $cpu$$635$$.virt_boundary_read32s($phys_addr$$25$$, $phys_addr_high$$22$$)) : $data$$103$$ = $cpu$$635$$.memory.read32s($phys_addr$$25$$)) :
$data$$103$$ = $cpu$$635$$.reg32s[$modrm_byte$$80$$ & 7];
$result$$55$$ = 0;
$data2$$7_virt_addr$$26$$ = $cpu$$635$$.read_imm8() & 31;
switch($modrm_byte$$80$$ >> 3 & 7) {
case 0:
$result$$55$$ = $cpu$$635$$.rol32($data$$103$$, $data2$$7_virt_addr$$26$$);
break;
case 1:
$result$$55$$ = $cpu$$635$$.ror32($data$$103$$, $data2$$7_virt_addr$$26$$);
break;
case 2:
$result$$55$$ = $cpu$$635$$.rcl32($data$$103$$, $data2$$7_virt_addr$$26$$);
break;
case 3:
$result$$55$$ = $cpu$$635$$.rcr32($data$$103$$, $data2$$7_virt_addr$$26$$);
break;
case 4:
$result$$55$$ = $cpu$$635$$.shl32($data$$103$$, $data2$$7_virt_addr$$26$$);
break;
case 5:
$result$$55$$ = $cpu$$635$$.shr32($data$$103$$, $data2$$7_virt_addr$$26$$);
break;
case 6:
$result$$55$$ = $cpu$$635$$.shl32($data$$103$$, $data2$$7_virt_addr$$26$$);
break;
case 7:
$result$$55$$ = $cpu$$635$$.sar32($data$$103$$, $data2$$7_virt_addr$$26$$);
}
192 > $modrm_byte$$80$$ ? $phys_addr_high$$22$$ ? $cpu$$635$$.virt_boundary_write32($phys_addr$$25$$, $phys_addr_high$$22$$, $result$$55$$) : $cpu$$635$$.memory.write32($phys_addr$$25$$, $result$$55$$) : $cpu$$635$$.reg32s[$modrm_byte$$80$$ & 7] = $result$$55$$;
};
$table16$$[194] = function $$table16$$$194$($cpu$$636$$) {
var $imm16$$ = $cpu$$636$$.read_imm16();
$cpu$$636$$.instruction_pointer = $cpu$$636$$.get_seg(1) + $cpu$$636$$.pop16() | 0;
$cpu$$636$$.stack_reg[$cpu$$636$$.reg_vsp] += $imm16$$;
$cpu$$636$$.last_instr_jump = !0;
};
$table32$$[194] = function $$table32$$$194$($cpu$$637$$) {
var $imm16$$1$$ = $cpu$$637$$.read_imm16();
$cpu$$637$$.instruction_pointer = $cpu$$637$$.get_seg(1) + $cpu$$637$$.pop32s() | 0;
$cpu$$637$$.stack_reg[$cpu$$637$$.reg_vsp] += $imm16$$1$$;
$cpu$$637$$.last_instr_jump = !0;
};
$table16$$[195] = function $$table16$$$195$($cpu$$638$$) {
$cpu$$638$$.instruction_pointer = $cpu$$638$$.get_seg(1) + $cpu$$638$$.pop16() | 0;
$cpu$$638$$.last_instr_jump = !0;
};
$table32$$[195] = function $$table32$$$195$($cpu$$639$$) {
$cpu$$639$$.instruction_pointer = $cpu$$639$$.get_seg(1) + $cpu$$639$$.pop32s() | 0;
$cpu$$639$$.last_instr_jump = !0;
};
$table16$$[196] = function $$table16$$$196$($cpu$$640$$) {
var $modrm_byte$$81$$ = $cpu$$640$$.read_imm8();
192 <= $modrm_byte$$81$$ && $cpu$$640$$.trigger_ud();
$cpu$$640$$.lss16(0, $cpu$$640$$.modrm_resolve($modrm_byte$$81$$), $modrm_byte$$81$$ >> 2 & 14);
};
$table32$$[196] = function $$table32$$$196$($cpu$$641$$) {
var $modrm_byte$$82$$ = $cpu$$641$$.read_imm8();
192 <= $modrm_byte$$82$$ && $cpu$$641$$.trigger_ud();
$cpu$$641$$.lss32(0, $cpu$$641$$.modrm_resolve($modrm_byte$$82$$), $modrm_byte$$82$$ >> 3 & 7);
};
$table16$$[197] = function $$table16$$$197$($cpu$$642$$) {
var $modrm_byte$$83$$ = $cpu$$642$$.read_imm8();
192 <= $modrm_byte$$83$$ && $cpu$$642$$.trigger_ud();
$cpu$$642$$.lss16(3, $cpu$$642$$.modrm_resolve($modrm_byte$$83$$), $modrm_byte$$83$$ >> 2 & 14);
};
$table32$$[197] = function $$table32$$$197$($cpu$$643$$) {
var $modrm_byte$$84$$ = $cpu$$643$$.read_imm8();
192 <= $modrm_byte$$84$$ && $cpu$$643$$.trigger_ud();
$cpu$$643$$.lss32(3, $cpu$$643$$.modrm_resolve($modrm_byte$$84$$), $modrm_byte$$84$$ >> 3 & 7);
};
$table16$$[198] = $table32$$[198] = function $$table32$$$198$($cpu$$644$$) {
var $modrm_byte$$85$$ = $cpu$$644$$.read_imm8();
if (192 > $modrm_byte$$85$$) {
var $addr$$26$$ = $cpu$$644$$.modrm_resolve($modrm_byte$$85$$)
}
var $data$$104$$ = $cpu$$644$$.read_imm8();
192 > $modrm_byte$$85$$ ? $cpu$$644$$.safe_write8($addr$$26$$, $data$$104$$) : $cpu$$644$$.reg8[$modrm_byte$$85$$ << 2 & 12 | $modrm_byte$$85$$ >> 2 & 1] = $data$$104$$;
};
$table16$$[199] = function $$table16$$$199$($cpu$$645$$) {
var $modrm_byte$$86$$ = $cpu$$645$$.read_imm8();
if (192 > $modrm_byte$$86$$) {
var $addr$$27$$ = $cpu$$645$$.modrm_resolve($modrm_byte$$86$$)
}
var $data$$105$$ = $cpu$$645$$.read_imm16();
192 > $modrm_byte$$86$$ ? $cpu$$645$$.safe_write16($addr$$27$$, $data$$105$$) : $cpu$$645$$.reg16[$modrm_byte$$86$$ << 1 & 14] = $data$$105$$;
};
$table32$$[199] = function $$table32$$$199$($cpu$$646$$) {
var $modrm_byte$$87$$ = $cpu$$646$$.read_imm8();
if (192 > $modrm_byte$$87$$) {
var $addr$$28$$ = $cpu$$646$$.modrm_resolve($modrm_byte$$87$$)
}
var $data$$106$$ = $cpu$$646$$.read_imm32s();
192 > $modrm_byte$$87$$ ? $cpu$$646$$.safe_write32($addr$$28$$, $data$$106$$) : $cpu$$646$$.reg32[$modrm_byte$$87$$ & 7] = $data$$106$$;
};
$table16$$[200] = function $$table16$$$200$($cpu$$647$$) {
$cpu$$647$$.enter16();
};
$table32$$[200] = function $$table32$$$200$($cpu$$648$$) {
$cpu$$648$$.enter32();
};
$table16$$[201] = function $$table16$$$201$($cpu$$649$$) {
$cpu$$649$$.stack_reg[$cpu$$649$$.reg_vsp] = $cpu$$649$$.stack_reg[$cpu$$649$$.reg_vbp];
$cpu$$649$$.reg16[10] = $cpu$$649$$.pop16();
};
$table32$$[201] = function $$table32$$$201$($cpu$$650$$) {
$cpu$$650$$.stack_reg[$cpu$$650$$.reg_vsp] = $cpu$$650$$.stack_reg[$cpu$$650$$.reg_vbp];
$cpu$$650$$.reg32s[5] = $cpu$$650$$.pop32s();
};
$table16$$[202] = function $$table16$$$202$($cpu$$651$$) {
$cpu$$651$$.translate_address_read($cpu$$651$$.get_seg(2) + $cpu$$651$$.stack_reg[$cpu$$651$$.reg_vsp] + 4);
var $imm16$$2$$ = $cpu$$651$$.read_imm16(), $ip$$ = $cpu$$651$$.pop16();
$cpu$$651$$.switch_seg(1, $cpu$$651$$.pop16());
$cpu$$651$$.instruction_pointer = $cpu$$651$$.get_seg(1) + $ip$$ | 0;
$cpu$$651$$.stack_reg[$cpu$$651$$.reg_vsp] += $imm16$$2$$;
$cpu$$651$$.last_instr_jump = !0;
};
$table32$$[202] = function $$table32$$$202$($cpu$$652$$) {
$cpu$$652$$.translate_address_read($cpu$$652$$.get_seg(2) + $cpu$$652$$.stack_reg[$cpu$$652$$.reg_vsp] + 8);
var $imm16$$3$$ = $cpu$$652$$.read_imm16(), $ip$$1$$ = $cpu$$652$$.pop32s();
$cpu$$652$$.switch_seg(1, $cpu$$652$$.pop32s() & 65535);
$cpu$$652$$.instruction_pointer = $cpu$$652$$.get_seg(1) + $ip$$1$$ | 0;
$cpu$$652$$.stack_reg[$cpu$$652$$.reg_vsp] += $imm16$$3$$;
$cpu$$652$$.last_instr_jump = !0;
};
$table16$$[203] = function $$table16$$$203$($cpu$$653$$) {
$cpu$$653$$.translate_address_read($cpu$$653$$.get_seg(2) + $cpu$$653$$.stack_reg[$cpu$$653$$.reg_vsp] + 4);
var $ip$$2$$ = $cpu$$653$$.pop16();
$cpu$$653$$.switch_seg(1, $cpu$$653$$.pop16());
$cpu$$653$$.instruction_pointer = $cpu$$653$$.get_seg(1) + $ip$$2$$ | 0;
$cpu$$653$$.last_instr_jump = !0;
};
$table32$$[203] = function $$table32$$$203$($cpu$$654$$) {
$cpu$$654$$.translate_address_read($cpu$$654$$.get_seg(2) + $cpu$$654$$.stack_reg[$cpu$$654$$.reg_vsp] + 8);
var $ip$$3$$ = $cpu$$654$$.pop32s();
$cpu$$654$$.switch_seg(1, $cpu$$654$$.pop32s() & 65535);
$cpu$$654$$.instruction_pointer = $cpu$$654$$.get_seg(1) + $ip$$3$$ | 0;
$cpu$$654$$.last_instr_jump = !0;
};
$table16$$[204] = $table32$$[204] = function $$table32$$$204$($cpu$$655$$) {
$cpu$$655$$.call_interrupt_vector(3, !0, !1);
};
$table16$$[205] = $table32$$[205] = function $$table32$$$205$($cpu$$656$$) {
var $imm8$$2$$ = $cpu$$656$$.read_imm8();
$cpu$$656$$.call_interrupt_vector($imm8$$2$$, !0, !1);
};
$table16$$[206] = $table32$$[206] = function $$table32$$$206$($cpu$$657$$) {
$cpu$$657$$.getof() && $cpu$$657$$.call_interrupt_vector(4, !0, !1);
};
$table16$$[207] = function $$table16$$$207$($cpu$$658$$) {
$cpu$$658$$.iret16();
};
$table32$$[207] = function $$table32$$$207$($cpu$$659$$) {
$cpu$$659$$.iret32();
};
$table16$$[208] = $table32$$[208] = function $$table32$$$208$($cpu$$660$$) {
var $modrm_byte$$88$$ = $cpu$$660$$.read_imm8(), $data$$107$$, $addr$$29$$, $result$$56$$;
192 > $modrm_byte$$88$$ ? ($addr$$29$$ = $cpu$$660$$.translate_address_write($cpu$$660$$.modrm_resolve($modrm_byte$$88$$)), $data$$107$$ = $cpu$$660$$.memory.read8($addr$$29$$)) : $data$$107$$ = $cpu$$660$$.reg8[$modrm_byte$$88$$ << 2 & 12 | $modrm_byte$$88$$ >> 2 & 1];
$result$$56$$ = 0;
switch($modrm_byte$$88$$ >> 3 & 7) {
case 0:
$result$$56$$ = $cpu$$660$$.rol8($data$$107$$, 1);
break;
case 1:
$result$$56$$ = $cpu$$660$$.ror8($data$$107$$, 1);
break;
case 2:
$result$$56$$ = $cpu$$660$$.rcl8($data$$107$$, 1);
break;
case 3:
$result$$56$$ = $cpu$$660$$.rcr8($data$$107$$, 1);
break;
case 4:
$result$$56$$ = $cpu$$660$$.shl8($data$$107$$, 1);
break;
case 5:
$result$$56$$ = $cpu$$660$$.shr8($data$$107$$, 1);
break;
case 6:
$result$$56$$ = $cpu$$660$$.shl8($data$$107$$, 1);
break;
case 7:
$result$$56$$ = $cpu$$660$$.sar8($data$$107$$, 1);
}
192 > $modrm_byte$$88$$ ? $cpu$$660$$.memory.write8($addr$$29$$, $result$$56$$) : $cpu$$660$$.reg8[$modrm_byte$$88$$ << 2 & 12 | $modrm_byte$$88$$ >> 2 & 1] = $result$$56$$;
};
$table16$$[209] = function $$table16$$$209$($cpu$$661$$) {
var $modrm_byte$$89$$ = $cpu$$661$$.read_imm8(), $data$$108_virt_addr$$27$$, $phys_addr$$26$$, $phys_addr_high$$23$$ = 0, $result$$57$$;
192 > $modrm_byte$$89$$ ? ($data$$108_virt_addr$$27$$ = $cpu$$661$$.modrm_resolve($modrm_byte$$89$$), $phys_addr$$26$$ = $cpu$$661$$.translate_address_write($data$$108_virt_addr$$27$$), $cpu$$661$$.paging && 4095 === ($data$$108_virt_addr$$27$$ & 4095) ? ($phys_addr_high$$23$$ = $cpu$$661$$.translate_address_write($data$$108_virt_addr$$27$$ + 1), $data$$108_virt_addr$$27$$ = $cpu$$661$$.virt_boundary_read16($phys_addr$$26$$, $phys_addr_high$$23$$)) : $data$$108_virt_addr$$27$$ = $cpu$$661$$.memory.read16($phys_addr$$26$$)) :
$data$$108_virt_addr$$27$$ = $cpu$$661$$.reg16[$modrm_byte$$89$$ << 1 & 14];
$result$$57$$ = 0;
switch($modrm_byte$$89$$ >> 3 & 7) {
case 0:
$result$$57$$ = $cpu$$661$$.rol16($data$$108_virt_addr$$27$$, 1);
break;
case 1:
$result$$57$$ = $cpu$$661$$.ror16($data$$108_virt_addr$$27$$, 1);
break;
case 2:
$result$$57$$ = $cpu$$661$$.rcl16($data$$108_virt_addr$$27$$, 1);
break;
case 3:
$result$$57$$ = $cpu$$661$$.rcr16($data$$108_virt_addr$$27$$, 1);
break;
case 4:
$result$$57$$ = $cpu$$661$$.shl16($data$$108_virt_addr$$27$$, 1);
break;
case 5:
$result$$57$$ = $cpu$$661$$.shr16($data$$108_virt_addr$$27$$, 1);
break;
case 6:
$result$$57$$ = $cpu$$661$$.shl16($data$$108_virt_addr$$27$$, 1);
break;
case 7:
$result$$57$$ = $cpu$$661$$.sar16($data$$108_virt_addr$$27$$, 1);
}
192 > $modrm_byte$$89$$ ? $phys_addr_high$$23$$ ? $cpu$$661$$.virt_boundary_write16($phys_addr$$26$$, $phys_addr_high$$23$$, $result$$57$$) : $cpu$$661$$.memory.write16($phys_addr$$26$$, $result$$57$$) : $cpu$$661$$.reg16[$modrm_byte$$89$$ << 1 & 14] = $result$$57$$;
};
$table32$$[209] = function $$table32$$$209$($cpu$$662$$) {
var $modrm_byte$$90$$ = $cpu$$662$$.read_imm8(), $data$$109_virt_addr$$28$$, $phys_addr$$27$$, $phys_addr_high$$24$$ = 0, $result$$58$$;
192 > $modrm_byte$$90$$ ? ($data$$109_virt_addr$$28$$ = $cpu$$662$$.modrm_resolve($modrm_byte$$90$$), $phys_addr$$27$$ = $cpu$$662$$.translate_address_write($data$$109_virt_addr$$28$$), $cpu$$662$$.paging && 4093 <= ($data$$109_virt_addr$$28$$ & 4095) ? ($phys_addr_high$$24$$ = $cpu$$662$$.translate_address_write($data$$109_virt_addr$$28$$ + 3), $data$$109_virt_addr$$28$$ = $cpu$$662$$.virt_boundary_read32s($phys_addr$$27$$, $phys_addr_high$$24$$)) : $data$$109_virt_addr$$28$$ = $cpu$$662$$.memory.read32s($phys_addr$$27$$)) :
$data$$109_virt_addr$$28$$ = $cpu$$662$$.reg32s[$modrm_byte$$90$$ & 7];
$result$$58$$ = 0;
switch($modrm_byte$$90$$ >> 3 & 7) {
case 0:
$result$$58$$ = $cpu$$662$$.rol32($data$$109_virt_addr$$28$$, 1);
break;
case 1:
$result$$58$$ = $cpu$$662$$.ror32($data$$109_virt_addr$$28$$, 1);
break;
case 2:
$result$$58$$ = $cpu$$662$$.rcl32($data$$109_virt_addr$$28$$, 1);
break;
case 3:
$result$$58$$ = $cpu$$662$$.rcr32($data$$109_virt_addr$$28$$, 1);
break;
case 4:
$result$$58$$ = $cpu$$662$$.shl32($data$$109_virt_addr$$28$$, 1);
break;
case 5:
$result$$58$$ = $cpu$$662$$.shr32($data$$109_virt_addr$$28$$, 1);
break;
case 6:
$result$$58$$ = $cpu$$662$$.shl32($data$$109_virt_addr$$28$$, 1);
break;
case 7:
$result$$58$$ = $cpu$$662$$.sar32($data$$109_virt_addr$$28$$, 1);
}
192 > $modrm_byte$$90$$ ? $phys_addr_high$$24$$ ? $cpu$$662$$.virt_boundary_write32($phys_addr$$27$$, $phys_addr_high$$24$$, $result$$58$$) : $cpu$$662$$.memory.write32($phys_addr$$27$$, $result$$58$$) : $cpu$$662$$.reg32s[$modrm_byte$$90$$ & 7] = $result$$58$$;
};
$table16$$[210] = $table32$$[210] = function $$table32$$$210$($cpu$$663$$) {
var $modrm_byte$$91$$ = $cpu$$663$$.read_imm8(), $data2$$11$$, $data$$110$$, $addr$$30$$, $result$$59$$;
192 > $modrm_byte$$91$$ ? ($addr$$30$$ = $cpu$$663$$.translate_address_write($cpu$$663$$.modrm_resolve($modrm_byte$$91$$)), $data$$110$$ = $cpu$$663$$.memory.read8($addr$$30$$)) : $data$$110$$ = $cpu$$663$$.reg8[$modrm_byte$$91$$ << 2 & 12 | $modrm_byte$$91$$ >> 2 & 1];
$result$$59$$ = 0;
$data2$$11$$ = $cpu$$663$$.reg8[4] & 31;
switch($modrm_byte$$91$$ >> 3 & 7) {
case 0:
$result$$59$$ = $cpu$$663$$.rol8($data$$110$$, $data2$$11$$);
break;
case 1:
$result$$59$$ = $cpu$$663$$.ror8($data$$110$$, $data2$$11$$);
break;
case 2:
$result$$59$$ = $cpu$$663$$.rcl8($data$$110$$, $data2$$11$$);
break;
case 3:
$result$$59$$ = $cpu$$663$$.rcr8($data$$110$$, $data2$$11$$);
break;
case 4:
$result$$59$$ = $cpu$$663$$.shl8($data$$110$$, $data2$$11$$);
break;
case 5:
$result$$59$$ = $cpu$$663$$.shr8($data$$110$$, $data2$$11$$);
break;
case 6:
$result$$59$$ = $cpu$$663$$.shl8($data$$110$$, $data2$$11$$);
break;
case 7:
$result$$59$$ = $cpu$$663$$.sar8($data$$110$$, $data2$$11$$);
}
192 > $modrm_byte$$91$$ ? $cpu$$663$$.memory.write8($addr$$30$$, $result$$59$$) : $cpu$$663$$.reg8[$modrm_byte$$91$$ << 2 & 12 | $modrm_byte$$91$$ >> 2 & 1] = $result$$59$$;
};
$table16$$[211] = function $$table16$$$211$($cpu$$664$$) {
var $modrm_byte$$92$$ = $cpu$$664$$.read_imm8(), $data2$$12_virt_addr$$29$$, $data$$111$$, $phys_addr$$28$$, $phys_addr_high$$25$$ = 0, $result$$60$$;
192 > $modrm_byte$$92$$ ? ($data2$$12_virt_addr$$29$$ = $cpu$$664$$.modrm_resolve($modrm_byte$$92$$), $phys_addr$$28$$ = $cpu$$664$$.translate_address_write($data2$$12_virt_addr$$29$$), $cpu$$664$$.paging && 4095 === ($data2$$12_virt_addr$$29$$ & 4095) ? ($phys_addr_high$$25$$ = $cpu$$664$$.translate_address_write($data2$$12_virt_addr$$29$$ + 1), $data$$111$$ = $cpu$$664$$.virt_boundary_read16($phys_addr$$28$$, $phys_addr_high$$25$$)) : $data$$111$$ = $cpu$$664$$.memory.read16($phys_addr$$28$$)) :
$data$$111$$ = $cpu$$664$$.reg16[$modrm_byte$$92$$ << 1 & 14];
$result$$60$$ = 0;
$data2$$12_virt_addr$$29$$ = $cpu$$664$$.reg8[4] & 31;
switch($modrm_byte$$92$$ >> 3 & 7) {
case 0:
$result$$60$$ = $cpu$$664$$.rol16($data$$111$$, $data2$$12_virt_addr$$29$$);
break;
case 1:
$result$$60$$ = $cpu$$664$$.ror16($data$$111$$, $data2$$12_virt_addr$$29$$);
break;
case 2:
$result$$60$$ = $cpu$$664$$.rcl16($data$$111$$, $data2$$12_virt_addr$$29$$);
break;
case 3:
$result$$60$$ = $cpu$$664$$.rcr16($data$$111$$, $data2$$12_virt_addr$$29$$);
break;
case 4:
$result$$60$$ = $cpu$$664$$.shl16($data$$111$$, $data2$$12_virt_addr$$29$$);
break;
case 5:
$result$$60$$ = $cpu$$664$$.shr16($data$$111$$, $data2$$12_virt_addr$$29$$);
break;
case 6:
$result$$60$$ = $cpu$$664$$.shl16($data$$111$$, $data2$$12_virt_addr$$29$$);
break;
case 7:
$result$$60$$ = $cpu$$664$$.sar16($data$$111$$, $data2$$12_virt_addr$$29$$);
}
192 > $modrm_byte$$92$$ ? $phys_addr_high$$25$$ ? $cpu$$664$$.virt_boundary_write16($phys_addr$$28$$, $phys_addr_high$$25$$, $result$$60$$) : $cpu$$664$$.memory.write16($phys_addr$$28$$, $result$$60$$) : $cpu$$664$$.reg16[$modrm_byte$$92$$ << 1 & 14] = $result$$60$$;
};
$table32$$[211] = function $$table32$$$211$($cpu$$665$$) {
var $modrm_byte$$93$$ = $cpu$$665$$.read_imm8(), $data2$$13_virt_addr$$30$$, $data$$112$$, $phys_addr$$29$$, $phys_addr_high$$26$$ = 0, $result$$61$$;
192 > $modrm_byte$$93$$ ? ($data2$$13_virt_addr$$30$$ = $cpu$$665$$.modrm_resolve($modrm_byte$$93$$), $phys_addr$$29$$ = $cpu$$665$$.translate_address_write($data2$$13_virt_addr$$30$$), $cpu$$665$$.paging && 4093 <= ($data2$$13_virt_addr$$30$$ & 4095) ? ($phys_addr_high$$26$$ = $cpu$$665$$.translate_address_write($data2$$13_virt_addr$$30$$ + 3), $data$$112$$ = $cpu$$665$$.virt_boundary_read32s($phys_addr$$29$$, $phys_addr_high$$26$$)) : $data$$112$$ = $cpu$$665$$.memory.read32s($phys_addr$$29$$)) :
$data$$112$$ = $cpu$$665$$.reg32s[$modrm_byte$$93$$ & 7];
$result$$61$$ = 0;
$data2$$13_virt_addr$$30$$ = $cpu$$665$$.reg8[4] & 31;
switch($modrm_byte$$93$$ >> 3 & 7) {
case 0:
$result$$61$$ = $cpu$$665$$.rol32($data$$112$$, $data2$$13_virt_addr$$30$$);
break;
case 1:
$result$$61$$ = $cpu$$665$$.ror32($data$$112$$, $data2$$13_virt_addr$$30$$);
break;
case 2:
$result$$61$$ = $cpu$$665$$.rcl32($data$$112$$, $data2$$13_virt_addr$$30$$);
break;
case 3:
$result$$61$$ = $cpu$$665$$.rcr32($data$$112$$, $data2$$13_virt_addr$$30$$);
break;
case 4:
$result$$61$$ = $cpu$$665$$.shl32($data$$112$$, $data2$$13_virt_addr$$30$$);
break;
case 5:
$result$$61$$ = $cpu$$665$$.shr32($data$$112$$, $data2$$13_virt_addr$$30$$);
break;
case 6:
$result$$61$$ = $cpu$$665$$.shl32($data$$112$$, $data2$$13_virt_addr$$30$$);
break;
case 7:
$result$$61$$ = $cpu$$665$$.sar32($data$$112$$, $data2$$13_virt_addr$$30$$);
}
192 > $modrm_byte$$93$$ ? $phys_addr_high$$26$$ ? $cpu$$665$$.virt_boundary_write32($phys_addr$$29$$, $phys_addr_high$$26$$, $result$$61$$) : $cpu$$665$$.memory.write32($phys_addr$$29$$, $result$$61$$) : $cpu$$665$$.reg32s[$modrm_byte$$93$$ & 7] = $result$$61$$;
};
$table16$$[212] = $table32$$[212] = function $$table32$$$212$($cpu$$666$$) {
$cpu$$666$$.bcd_aam();
};
$table16$$[213] = $table32$$[213] = function $$table32$$$213$($cpu$$667$$) {
$cpu$$667$$.bcd_aad();
};
$table16$$[214] = $table32$$[214] = function $$table32$$$214$($cpu$$668$$) {
$cpu$$668$$.reg8[0] = -$cpu$$668$$.getcf();
};
$table16$$[215] = $table32$$[215] = function $$table32$$$215$($cpu$$669$$) {
$cpu$$669$$.reg8[0] = $cpu$$669$$.address_size_32 ? $cpu$$669$$.safe_read8($cpu$$669$$.get_seg_prefix(3) + $cpu$$669$$.reg32s[3] + $cpu$$669$$.reg8[0]) : $cpu$$669$$.safe_read8($cpu$$669$$.get_seg_prefix(3) + $cpu$$669$$.reg16[6] + $cpu$$669$$.reg8[0]);
};
$table16$$[216] = $table32$$[216] = function $$table32$$$216$($cpu$$670$$) {
var $modrm_byte$$94$$ = $cpu$$670$$.read_imm8();
$cpu$$670$$.cr0 & 12 && $cpu$$670$$.trigger_nm();
192 > $modrm_byte$$94$$ ? $cpu$$670$$.fpu.op_D8_mem($modrm_byte$$94$$, $cpu$$670$$.modrm_resolve($modrm_byte$$94$$)) : $cpu$$670$$.fpu.op_D8_reg($modrm_byte$$94$$);
};
$table16$$[217] = $table32$$[217] = function $$table32$$$217$($cpu$$671$$) {
var $modrm_byte$$95$$ = $cpu$$671$$.read_imm8();
$cpu$$671$$.cr0 & 12 && $cpu$$671$$.trigger_nm();
192 > $modrm_byte$$95$$ ? $cpu$$671$$.fpu.op_D9_mem($modrm_byte$$95$$, $cpu$$671$$.modrm_resolve($modrm_byte$$95$$)) : $cpu$$671$$.fpu.op_D9_reg($modrm_byte$$95$$);
};
$table16$$[218] = $table32$$[218] = function $$table32$$$218$($cpu$$672$$) {
var $modrm_byte$$96$$ = $cpu$$672$$.read_imm8();
$cpu$$672$$.cr0 & 12 && $cpu$$672$$.trigger_nm();
192 > $modrm_byte$$96$$ ? $cpu$$672$$.fpu.op_DA_mem($modrm_byte$$96$$, $cpu$$672$$.modrm_resolve($modrm_byte$$96$$)) : $cpu$$672$$.fpu.op_DA_reg($modrm_byte$$96$$);
};
$table16$$[219] = $table32$$[219] = function $$table32$$$219$($cpu$$673$$) {
var $modrm_byte$$97$$ = $cpu$$673$$.read_imm8();
$cpu$$673$$.cr0 & 12 && $cpu$$673$$.trigger_nm();
192 > $modrm_byte$$97$$ ? $cpu$$673$$.fpu.op_DB_mem($modrm_byte$$97$$, $cpu$$673$$.modrm_resolve($modrm_byte$$97$$)) : $cpu$$673$$.fpu.op_DB_reg($modrm_byte$$97$$);
};
$table16$$[220] = $table32$$[220] = function $$table32$$$220$($cpu$$674$$) {
var $modrm_byte$$98$$ = $cpu$$674$$.read_imm8();
$cpu$$674$$.cr0 & 12 && $cpu$$674$$.trigger_nm();
192 > $modrm_byte$$98$$ ? $cpu$$674$$.fpu.op_DC_mem($modrm_byte$$98$$, $cpu$$674$$.modrm_resolve($modrm_byte$$98$$)) : $cpu$$674$$.fpu.op_DC_reg($modrm_byte$$98$$);
};
$table16$$[221] = $table32$$[221] = function $$table32$$$221$($cpu$$675$$) {
var $modrm_byte$$99$$ = $cpu$$675$$.read_imm8();
$cpu$$675$$.cr0 & 12 && $cpu$$675$$.trigger_nm();
192 > $modrm_byte$$99$$ ? $cpu$$675$$.fpu.op_DD_mem($modrm_byte$$99$$, $cpu$$675$$.modrm_resolve($modrm_byte$$99$$)) : $cpu$$675$$.fpu.op_DD_reg($modrm_byte$$99$$);
};
$table16$$[222] = $table32$$[222] = function $$table32$$$222$($cpu$$676$$) {
var $modrm_byte$$100$$ = $cpu$$676$$.read_imm8();
$cpu$$676$$.cr0 & 12 && $cpu$$676$$.trigger_nm();
192 > $modrm_byte$$100$$ ? $cpu$$676$$.fpu.op_DE_mem($modrm_byte$$100$$, $cpu$$676$$.modrm_resolve($modrm_byte$$100$$)) : $cpu$$676$$.fpu.op_DE_reg($modrm_byte$$100$$);
};
$table16$$[223] = $table32$$[223] = function $$table32$$$223$($cpu$$677$$) {
var $modrm_byte$$101$$ = $cpu$$677$$.read_imm8();
$cpu$$677$$.cr0 & 12 && $cpu$$677$$.trigger_nm();
192 > $modrm_byte$$101$$ ? $cpu$$677$$.fpu.op_DF_mem($modrm_byte$$101$$, $cpu$$677$$.modrm_resolve($modrm_byte$$101$$)) : $cpu$$677$$.fpu.op_DF_reg($modrm_byte$$101$$);
};
$table16$$[224] = $table32$$[224] = function $$table32$$$224$($cpu$$678$$) {
$cpu$$678$$.loopne();
};
$table16$$[225] = $table32$$[225] = function $$table32$$$225$($cpu$$679$$) {
$cpu$$679$$.loope();
};
$table16$$[226] = $table32$$[226] = function $$table32$$$226$($cpu$$680$$) {
$cpu$$680$$.loop();
};
$table16$$[227] = $table32$$[227] = function $$table32$$$227$($cpu$$681$$) {
$cpu$$681$$.jcxz();
};
$table16$$[228] = $table32$$[228] = function $$table32$$$228$($cpu$$682$$) {
var $port$$6$$ = $cpu$$682$$.read_imm8();
$cpu$$682$$.test_privileges_for_io($port$$6$$, 1);
$cpu$$682$$.reg8[0] = $cpu$$682$$.io.port_read8($port$$6$$);
};
$table16$$[229] = function $$table16$$$229$($cpu$$683$$) {
var $port$$7$$ = $cpu$$683$$.read_imm8();
$cpu$$683$$.test_privileges_for_io($port$$7$$, 2);
$cpu$$683$$.reg16[0] = $cpu$$683$$.io.port_read16($port$$7$$);
};
$table32$$[229] = function $$table32$$$229$($cpu$$684$$) {
var $port$$8$$ = $cpu$$684$$.read_imm8();
$cpu$$684$$.test_privileges_for_io($port$$8$$, 4);
$cpu$$684$$.reg32s[0] = $cpu$$684$$.io.port_read32($port$$8$$);
};
$table16$$[230] = $table32$$[230] = function $$table32$$$230$($cpu$$685$$) {
var $port$$9$$ = $cpu$$685$$.read_imm8();
$cpu$$685$$.test_privileges_for_io($port$$9$$, 1);
$cpu$$685$$.io.port_write8($port$$9$$, $cpu$$685$$.reg8[0]);
};
$table16$$[231] = function $$table16$$$231$($cpu$$686$$) {
var $port$$10$$ = $cpu$$686$$.read_imm8();
$cpu$$686$$.test_privileges_for_io($port$$10$$, 2);
$cpu$$686$$.io.port_write16($port$$10$$, $cpu$$686$$.reg16[0]);
};
$table32$$[231] = function $$table32$$$231$($cpu$$687$$) {
var $port$$11$$ = $cpu$$687$$.read_imm8();
$cpu$$687$$.test_privileges_for_io($port$$11$$, 4);
$cpu$$687$$.io.port_write32($port$$11$$, $cpu$$687$$.reg32s[0]);
};
$table16$$[232] = function $$table16$$$232$($cpu$$688$$) {
var $imm16s$$ = $cpu$$688$$.read_imm16s();
$cpu$$688$$.push16($cpu$$688$$.get_real_eip());
$cpu$$688$$.jmp_rel16($imm16s$$);
$cpu$$688$$.last_instr_jump = !0;
};
$table32$$[232] = function $$table32$$$232$($cpu$$689$$) {
var $imm32s$$ = $cpu$$689$$.read_imm32s();
$cpu$$689$$.push32($cpu$$689$$.get_real_eip());
$cpu$$689$$.instruction_pointer = $cpu$$689$$.instruction_pointer + $imm32s$$ | 0;
$cpu$$689$$.last_instr_jump = !0;
};
$table16$$[233] = function $$table16$$$233$($cpu$$690$$) {
var $imm16s$$1$$ = $cpu$$690$$.read_imm16s();
$cpu$$690$$.jmp_rel16($imm16s$$1$$);
$cpu$$690$$.last_instr_jump = !0;
};
$table32$$[233] = function $$table32$$$233$($cpu$$691$$) {
var $imm32s$$1$$ = $cpu$$691$$.read_imm32s();
$cpu$$691$$.instruction_pointer = $cpu$$691$$.instruction_pointer + $imm32s$$1$$ | 0;
$cpu$$691$$.last_instr_jump = !0;
};
$table16$$[234] = function $$table16$$$234$($cpu$$692$$) {
var $ip$$4$$ = $cpu$$692$$.read_imm16();
$cpu$$692$$.switch_seg(1, $cpu$$692$$.read_imm16());
$cpu$$692$$.instruction_pointer = $ip$$4$$ + $cpu$$692$$.get_seg(1) | 0;
$cpu$$692$$.last_instr_jump = !0;
};
$table32$$[234] = function $$table32$$$234$($cpu$$693$$) {
var $ip$$5$$ = $cpu$$693$$.read_imm32s();
$cpu$$693$$.switch_seg(1, $cpu$$693$$.read_imm16());
$cpu$$693$$.instruction_pointer = $ip$$5$$ + $cpu$$693$$.get_seg(1) | 0;
$cpu$$693$$.last_instr_jump = !0;
};
$table16$$[235] = $table32$$[235] = function $$table32$$$235$($cpu$$694$$) {
var $imm8$$3$$ = $cpu$$694$$.read_imm8s();
$cpu$$694$$.instruction_pointer = $cpu$$694$$.instruction_pointer + $imm8$$3$$ | 0;
$cpu$$694$$.last_instr_jump = !0;
};
$table16$$[236] = $table32$$[236] = function $$table32$$$236$($cpu$$695$$) {
var $port$$12$$ = $cpu$$695$$.reg16[4];
$cpu$$695$$.test_privileges_for_io($port$$12$$, 1);
$cpu$$695$$.reg8[0] = $cpu$$695$$.io.port_read8($port$$12$$);
};
$table16$$[237] = function $$table16$$$237$($cpu$$696$$) {
var $port$$13$$ = $cpu$$696$$.reg16[4];
$cpu$$696$$.test_privileges_for_io($port$$13$$, 2);
$cpu$$696$$.reg16[0] = $cpu$$696$$.io.port_read16($port$$13$$);
};
$table32$$[237] = function $$table32$$$237$($cpu$$697$$) {
var $port$$14$$ = $cpu$$697$$.reg16[4];
$cpu$$697$$.test_privileges_for_io($port$$14$$, 4);
$cpu$$697$$.reg32s[0] = $cpu$$697$$.io.port_read32($port$$14$$);
};
$table16$$[238] = $table32$$[238] = function $$table32$$$238$($cpu$$698$$) {
var $port$$15$$ = $cpu$$698$$.reg16[4];
$cpu$$698$$.test_privileges_for_io($port$$15$$, 1);
$cpu$$698$$.io.port_write8($port$$15$$, $cpu$$698$$.reg8[0]);
};
$table16$$[239] = function $$table16$$$239$($cpu$$699$$) {
var $port$$16$$ = $cpu$$699$$.reg16[4];
$cpu$$699$$.test_privileges_for_io($port$$16$$, 2);
$cpu$$699$$.io.port_write16($port$$16$$, $cpu$$699$$.reg16[0]);
};
$table32$$[239] = function $$table32$$$239$($cpu$$700$$) {
var $port$$17$$ = $cpu$$700$$.reg16[4];
$cpu$$700$$.test_privileges_for_io($port$$17$$, 4);
$cpu$$700$$.io.port_write32($port$$17$$, $cpu$$700$$.reg32s[0]);
};
$table16$$[240] = $table32$$[240] = function $$table32$$$240$($cpu$$701$$) {
$cpu$$701$$.table[$cpu$$701$$.read_imm8()]($cpu$$701$$);
};
$table16$$[241] = $table32$$[241] = function $$table32$$$241$($cpu$$702$$) {
throw $cpu$$702$$.debug.unimpl("int1 instruction");
};
$table16$$[242] = $table32$$[242] = function $$table32$$$242$($cpu$$703$$) {
$cpu$$703$$.repeat_string_prefix = 1;
$cpu$$703$$.table[$cpu$$703$$.read_imm8()]($cpu$$703$$);
$cpu$$703$$.repeat_string_prefix = 0;
};
$table16$$[243] = $table32$$[243] = function $$table32$$$243$($cpu$$704$$) {
$cpu$$704$$.repeat_string_prefix = 2;
$cpu$$704$$.table[$cpu$$704$$.read_imm8()]($cpu$$704$$);
$cpu$$704$$.repeat_string_prefix = 0;
};
$table16$$[244] = $table32$$[244] = function $$table32$$$244$($cpu$$705$$) {
$cpu$$705$$.hlt_op();
};
$table16$$[245] = $table32$$[245] = function $$table32$$$245$($cpu$$706$$) {
$cpu$$706$$.flags = ($cpu$$706$$.flags | 1) ^ $cpu$$706$$.getcf();
$cpu$$706$$.flags_changed &= -2;
};
$table16$$[246] = $table32$$[246] = function $$table32$$$246$($cpu$$707$$) {
var $modrm_byte$$102$$ = $cpu$$707$$.read_imm8();
switch($modrm_byte$$102$$ >> 3 & 7) {
case 0:
var $data$$113_result$$62$$ = 192 > $modrm_byte$$102$$ ? $cpu$$707$$.safe_read8($cpu$$707$$.modrm_resolve($modrm_byte$$102$$)) : $cpu$$707$$.reg8[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1];
$cpu$$707$$.and($data$$113_result$$62$$, $cpu$$707$$.read_imm8(), 7);
break;
case 1:
$data$$113_result$$62$$ = 192 > $modrm_byte$$102$$ ? $cpu$$707$$.safe_read8($cpu$$707$$.modrm_resolve($modrm_byte$$102$$)) : $cpu$$707$$.reg8[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1];
$cpu$$707$$.and($data$$113_result$$62$$, $cpu$$707$$.read_imm8(), 7);
break;
case 2:
var $addr$$31$$;
192 > $modrm_byte$$102$$ ? ($addr$$31$$ = $cpu$$707$$.translate_address_write($cpu$$707$$.modrm_resolve($modrm_byte$$102$$)), $data$$113_result$$62$$ = $cpu$$707$$.memory.read8($addr$$31$$)) : $data$$113_result$$62$$ = $cpu$$707$$.reg8[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1];
$data$$113_result$$62$$ = ~$data$$113_result$$62$$;
192 > $modrm_byte$$102$$ ? $cpu$$707$$.memory.write8($addr$$31$$, $data$$113_result$$62$$) : $cpu$$707$$.reg8[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1] = $data$$113_result$$62$$;
break;
case 3:
192 > $modrm_byte$$102$$ ? ($addr$$31$$ = $cpu$$707$$.translate_address_write($cpu$$707$$.modrm_resolve($modrm_byte$$102$$)), $data$$113_result$$62$$ = $cpu$$707$$.memory.read8($addr$$31$$)) : $data$$113_result$$62$$ = $cpu$$707$$.reg8[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1];
$data$$113_result$$62$$ = $cpu$$707$$.neg($data$$113_result$$62$$, 7);
192 > $modrm_byte$$102$$ ? $cpu$$707$$.memory.write8($addr$$31$$, $data$$113_result$$62$$) : $cpu$$707$$.reg8[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1] = $data$$113_result$$62$$;
break;
case 4:
$data$$113_result$$62$$ = 192 > $modrm_byte$$102$$ ? $cpu$$707$$.safe_read8($cpu$$707$$.modrm_resolve($modrm_byte$$102$$)) : $cpu$$707$$.reg8[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1];
$cpu$$707$$.mul8($data$$113_result$$62$$);
break;
case 5:
192 > $modrm_byte$$102$$ ? $data$$113_result$$62$$ = $cpu$$707$$.safe_read8($cpu$$707$$.modrm_resolve($modrm_byte$$102$$)) << 24 >> 24 : $data$$113_result$$62$$ = $cpu$$707$$.reg8s[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1];
$cpu$$707$$.imul8($data$$113_result$$62$$);
break;
case 6:
$data$$113_result$$62$$ = 192 > $modrm_byte$$102$$ ? $cpu$$707$$.safe_read8($cpu$$707$$.modrm_resolve($modrm_byte$$102$$)) : $cpu$$707$$.reg8[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1];
$cpu$$707$$.div8($data$$113_result$$62$$);
break;
case 7:
192 > $modrm_byte$$102$$ ? $data$$113_result$$62$$ = $cpu$$707$$.safe_read8($cpu$$707$$.modrm_resolve($modrm_byte$$102$$)) << 24 >> 24 : $data$$113_result$$62$$ = $cpu$$707$$.reg8s[$modrm_byte$$102$$ << 2 & 12 | $modrm_byte$$102$$ >> 2 & 1], $cpu$$707$$.idiv8($data$$113_result$$62$$);
}
};
$table16$$[247] = function $$table16$$$247$($cpu$$708$$) {
var $modrm_byte$$103$$ = $cpu$$708$$.read_imm8();
switch($modrm_byte$$103$$ >> 3 & 7) {
case 0:
var $data$$114_result$$63_virt_addr$$31$$ = 192 > $modrm_byte$$103$$ ? $cpu$$708$$.safe_read16($cpu$$708$$.modrm_resolve($modrm_byte$$103$$)) : $cpu$$708$$.reg16[$modrm_byte$$103$$ << 1 & 14];
$cpu$$708$$.and($data$$114_result$$63_virt_addr$$31$$, $cpu$$708$$.read_imm16(), 15);
break;
case 1:
$data$$114_result$$63_virt_addr$$31$$ = 192 > $modrm_byte$$103$$ ? $cpu$$708$$.safe_read16($cpu$$708$$.modrm_resolve($modrm_byte$$103$$)) : $cpu$$708$$.reg16[$modrm_byte$$103$$ << 1 & 14];
$cpu$$708$$.and($data$$114_result$$63_virt_addr$$31$$, $cpu$$708$$.read_imm16(), 15);
break;
case 2:
var $phys_addr$$30$$, $phys_addr_high$$27$$ = 0;
192 > $modrm_byte$$103$$ ? ($data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.modrm_resolve($modrm_byte$$103$$), $phys_addr$$30$$ = $cpu$$708$$.translate_address_write($data$$114_result$$63_virt_addr$$31$$), $cpu$$708$$.paging && 4095 === ($data$$114_result$$63_virt_addr$$31$$ & 4095) ? ($phys_addr_high$$27$$ = $cpu$$708$$.translate_address_write($data$$114_result$$63_virt_addr$$31$$ + 1), $data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.virt_boundary_read16($phys_addr$$30$$, $phys_addr_high$$27$$)) :
$data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.memory.read16($phys_addr$$30$$)) : $data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.reg16[$modrm_byte$$103$$ << 1 & 14];
$data$$114_result$$63_virt_addr$$31$$ = ~$data$$114_result$$63_virt_addr$$31$$;
192 > $modrm_byte$$103$$ ? $phys_addr_high$$27$$ ? $cpu$$708$$.virt_boundary_write16($phys_addr$$30$$, $phys_addr_high$$27$$, $data$$114_result$$63_virt_addr$$31$$) : $cpu$$708$$.memory.write16($phys_addr$$30$$, $data$$114_result$$63_virt_addr$$31$$) : $cpu$$708$$.reg16[$modrm_byte$$103$$ << 1 & 14] = $data$$114_result$$63_virt_addr$$31$$;
break;
case 3:
$phys_addr_high$$27$$ = 0;
192 > $modrm_byte$$103$$ ? ($data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.modrm_resolve($modrm_byte$$103$$), $phys_addr$$30$$ = $cpu$$708$$.translate_address_write($data$$114_result$$63_virt_addr$$31$$), $cpu$$708$$.paging && 4095 === ($data$$114_result$$63_virt_addr$$31$$ & 4095) ? ($phys_addr_high$$27$$ = $cpu$$708$$.translate_address_write($data$$114_result$$63_virt_addr$$31$$ + 1), $data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.virt_boundary_read16($phys_addr$$30$$, $phys_addr_high$$27$$)) :
$data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.memory.read16($phys_addr$$30$$)) : $data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.reg16[$modrm_byte$$103$$ << 1 & 14];
$data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.neg($data$$114_result$$63_virt_addr$$31$$, 15);
192 > $modrm_byte$$103$$ ? $phys_addr_high$$27$$ ? $cpu$$708$$.virt_boundary_write16($phys_addr$$30$$, $phys_addr_high$$27$$, $data$$114_result$$63_virt_addr$$31$$) : $cpu$$708$$.memory.write16($phys_addr$$30$$, $data$$114_result$$63_virt_addr$$31$$) : $cpu$$708$$.reg16[$modrm_byte$$103$$ << 1 & 14] = $data$$114_result$$63_virt_addr$$31$$;
break;
case 4:
$data$$114_result$$63_virt_addr$$31$$ = 192 > $modrm_byte$$103$$ ? $cpu$$708$$.safe_read16($cpu$$708$$.modrm_resolve($modrm_byte$$103$$)) : $cpu$$708$$.reg16[$modrm_byte$$103$$ << 1 & 14];
$cpu$$708$$.mul16($data$$114_result$$63_virt_addr$$31$$);
break;
case 5:
192 > $modrm_byte$$103$$ ? $data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.safe_read16($cpu$$708$$.modrm_resolve($modrm_byte$$103$$)) << 16 >> 16 : $data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.reg16s[$modrm_byte$$103$$ << 1 & 14];
$cpu$$708$$.imul16($data$$114_result$$63_virt_addr$$31$$);
break;
case 6:
$data$$114_result$$63_virt_addr$$31$$ = 192 > $modrm_byte$$103$$ ? $cpu$$708$$.safe_read16($cpu$$708$$.modrm_resolve($modrm_byte$$103$$)) : $cpu$$708$$.reg16[$modrm_byte$$103$$ << 1 & 14];
$cpu$$708$$.div16($data$$114_result$$63_virt_addr$$31$$);
break;
case 7:
192 > $modrm_byte$$103$$ ? $data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.safe_read16($cpu$$708$$.modrm_resolve($modrm_byte$$103$$)) << 16 >> 16 : $data$$114_result$$63_virt_addr$$31$$ = $cpu$$708$$.reg16s[$modrm_byte$$103$$ << 1 & 14], $cpu$$708$$.idiv16($data$$114_result$$63_virt_addr$$31$$);
}
};
$table32$$[247] = function $$table32$$$247$($cpu$$709$$) {
var $modrm_byte$$104$$ = $cpu$$709$$.read_imm8();
switch($modrm_byte$$104$$ >> 3 & 7) {
case 0:
var $data$$115_result$$64_virt_addr$$32$$ = 192 > $modrm_byte$$104$$ ? $cpu$$709$$.safe_read32s($cpu$$709$$.modrm_resolve($modrm_byte$$104$$)) : $cpu$$709$$.reg32s[$modrm_byte$$104$$ & 7];
$cpu$$709$$.and($data$$115_result$$64_virt_addr$$32$$, $cpu$$709$$.read_imm32s(), 31);
break;
case 1:
$data$$115_result$$64_virt_addr$$32$$ = 192 > $modrm_byte$$104$$ ? $cpu$$709$$.safe_read32s($cpu$$709$$.modrm_resolve($modrm_byte$$104$$)) : $cpu$$709$$.reg32s[$modrm_byte$$104$$ & 7];
$cpu$$709$$.and($data$$115_result$$64_virt_addr$$32$$, $cpu$$709$$.read_imm32s(), 31);
break;
case 2:
var $phys_addr$$31$$, $phys_addr_high$$28$$ = 0;
192 > $modrm_byte$$104$$ ? ($data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.modrm_resolve($modrm_byte$$104$$), $phys_addr$$31$$ = $cpu$$709$$.translate_address_write($data$$115_result$$64_virt_addr$$32$$), $cpu$$709$$.paging && 4093 <= ($data$$115_result$$64_virt_addr$$32$$ & 4095) ? ($phys_addr_high$$28$$ = $cpu$$709$$.translate_address_write($data$$115_result$$64_virt_addr$$32$$ + 3), $data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.virt_boundary_read32s($phys_addr$$31$$, $phys_addr_high$$28$$)) :
$data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.memory.read32s($phys_addr$$31$$)) : $data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.reg32s[$modrm_byte$$104$$ & 7];
$data$$115_result$$64_virt_addr$$32$$ = ~$data$$115_result$$64_virt_addr$$32$$;
192 > $modrm_byte$$104$$ ? $phys_addr_high$$28$$ ? $cpu$$709$$.virt_boundary_write32($phys_addr$$31$$, $phys_addr_high$$28$$, $data$$115_result$$64_virt_addr$$32$$) : $cpu$$709$$.memory.write32($phys_addr$$31$$, $data$$115_result$$64_virt_addr$$32$$) : $cpu$$709$$.reg32s[$modrm_byte$$104$$ & 7] = $data$$115_result$$64_virt_addr$$32$$;
break;
case 3:
$phys_addr_high$$28$$ = 0;
192 > $modrm_byte$$104$$ ? ($data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.modrm_resolve($modrm_byte$$104$$), $phys_addr$$31$$ = $cpu$$709$$.translate_address_write($data$$115_result$$64_virt_addr$$32$$), $cpu$$709$$.paging && 4093 <= ($data$$115_result$$64_virt_addr$$32$$ & 4095) ? ($phys_addr_high$$28$$ = $cpu$$709$$.translate_address_write($data$$115_result$$64_virt_addr$$32$$ + 3), $data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.virt_boundary_read32s($phys_addr$$31$$, $phys_addr_high$$28$$)) :
$data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.memory.read32s($phys_addr$$31$$)) : $data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.reg32s[$modrm_byte$$104$$ & 7];
$data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.neg($data$$115_result$$64_virt_addr$$32$$, 31);
192 > $modrm_byte$$104$$ ? $phys_addr_high$$28$$ ? $cpu$$709$$.virt_boundary_write32($phys_addr$$31$$, $phys_addr_high$$28$$, $data$$115_result$$64_virt_addr$$32$$) : $cpu$$709$$.memory.write32($phys_addr$$31$$, $data$$115_result$$64_virt_addr$$32$$) : $cpu$$709$$.reg32s[$modrm_byte$$104$$ & 7] = $data$$115_result$$64_virt_addr$$32$$;
break;
case 4:
192 > $modrm_byte$$104$$ ? $data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.safe_read32s($cpu$$709$$.modrm_resolve($modrm_byte$$104$$)) >>> 0 : $data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.reg32[$modrm_byte$$104$$ & 7];
$cpu$$709$$.mul32($data$$115_result$$64_virt_addr$$32$$);
break;
case 5:
$data$$115_result$$64_virt_addr$$32$$ = 192 > $modrm_byte$$104$$ ? $cpu$$709$$.safe_read32s($cpu$$709$$.modrm_resolve($modrm_byte$$104$$)) : $cpu$$709$$.reg32s[$modrm_byte$$104$$ & 7];
$cpu$$709$$.imul32($data$$115_result$$64_virt_addr$$32$$);
break;
case 6:
192 > $modrm_byte$$104$$ ? $data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.safe_read32s($cpu$$709$$.modrm_resolve($modrm_byte$$104$$)) >>> 0 : $data$$115_result$$64_virt_addr$$32$$ = $cpu$$709$$.reg32[$modrm_byte$$104$$ & 7];
$cpu$$709$$.div32($data$$115_result$$64_virt_addr$$32$$);
break;
case 7:
$data$$115_result$$64_virt_addr$$32$$ = 192 > $modrm_byte$$104$$ ? $cpu$$709$$.safe_read32s($cpu$$709$$.modrm_resolve($modrm_byte$$104$$)) : $cpu$$709$$.reg32s[$modrm_byte$$104$$ & 7], $cpu$$709$$.idiv32($data$$115_result$$64_virt_addr$$32$$);
}
};
$table16$$[248] = $table32$$[248] = function $$table32$$$248$($cpu$$710$$) {
$cpu$$710$$.flags &= -2;
$cpu$$710$$.flags_changed &= -2;
};
$table16$$[249] = $table32$$[249] = function $$table32$$$249$($cpu$$711$$) {
$cpu$$711$$.flags |= 1;
$cpu$$711$$.flags_changed &= -2;
};
$table16$$[250] = $table32$$[250] = function $$table32$$$250$($cpu$$712$$) {
!$cpu$$712$$.protected_mode || ($cpu$$712$$.flags & 131072 ? 3 === ($cpu$$712$$.flags >> 12 & 3) : ($cpu$$712$$.flags >> 12 & 3) >= $cpu$$712$$.cpl) ? $cpu$$712$$.flags &= -513 : 3 > ($cpu$$712$$.flags >> 12 & 3) && ($cpu$$712$$.flags & 131072 ? $cpu$$712$$.cr4 & 1 : 3 === $cpu$$712$$.cpl && $cpu$$712$$.cr4 & 2) ? $cpu$$712$$.flags &= -524289 : $cpu$$712$$.trigger_gp(0);
};
$table16$$[251] = $table32$$[251] = function $$table32$$$251$($cpu$$713$$) {
!$cpu$$713$$.protected_mode || ($cpu$$713$$.flags & 131072 ? 3 === ($cpu$$713$$.flags >> 12 & 3) : ($cpu$$713$$.flags >> 12 & 3) >= $cpu$$713$$.cpl) ? ($cpu$$713$$.flags |= 512, $cpu$$713$$.table[$cpu$$713$$.read_imm8()]($cpu$$713$$), $cpu$$713$$.handle_irqs()) : 3 > ($cpu$$713$$.flags >> 12 & 3) && 0 === ($cpu$$713$$.flags & 1048576) && ($cpu$$713$$.flags & 131072 ? $cpu$$713$$.cr4 & 1 : 3 === $cpu$$713$$.cpl && $cpu$$713$$.cr4 & 2) ? $cpu$$713$$.flags |= 524288 : $cpu$$713$$.trigger_gp(0);
};
$table16$$[252] = $table32$$[252] = function $$table32$$$252$($cpu$$714$$) {
$cpu$$714$$.flags &= -1025;
};
$table16$$[253] = $table32$$[253] = function $$table32$$$253$($cpu$$715$$) {
$cpu$$715$$.flags |= 1024;
};
$table16$$[254] = $table32$$[254] = function $$table32$$$254$($cpu$$716$$) {
var $modrm_byte$$105$$ = $cpu$$716$$.read_imm8(), $data$$116_mod$$261_result$$65$$ = $modrm_byte$$105$$ & 56;
if (0 === $data$$116_mod$$261_result$$65$$) {
var $addr$$32$$;
192 > $modrm_byte$$105$$ ? ($addr$$32$$ = $cpu$$716$$.translate_address_write($cpu$$716$$.modrm_resolve($modrm_byte$$105$$)), $data$$116_mod$$261_result$$65$$ = $cpu$$716$$.memory.read8($addr$$32$$)) : $data$$116_mod$$261_result$$65$$ = $cpu$$716$$.reg8[$modrm_byte$$105$$ << 2 & 12 | $modrm_byte$$105$$ >> 2 & 1];
$data$$116_mod$$261_result$$65$$ = $cpu$$716$$.inc($data$$116_mod$$261_result$$65$$, 7);
192 > $modrm_byte$$105$$ ? $cpu$$716$$.memory.write8($addr$$32$$, $data$$116_mod$$261_result$$65$$) : $cpu$$716$$.reg8[$modrm_byte$$105$$ << 2 & 12 | $modrm_byte$$105$$ >> 2 & 1] = $data$$116_mod$$261_result$$65$$;
} else {
8 === $data$$116_mod$$261_result$$65$$ ? (192 > $modrm_byte$$105$$ ? ($addr$$32$$ = $cpu$$716$$.translate_address_write($cpu$$716$$.modrm_resolve($modrm_byte$$105$$)), $data$$116_mod$$261_result$$65$$ = $cpu$$716$$.memory.read8($addr$$32$$)) : $data$$116_mod$$261_result$$65$$ = $cpu$$716$$.reg8[$modrm_byte$$105$$ << 2 & 12 | $modrm_byte$$105$$ >> 2 & 1], $data$$116_mod$$261_result$$65$$ = $cpu$$716$$.dec($data$$116_mod$$261_result$$65$$, 7), 192 > $modrm_byte$$105$$ ? $cpu$$716$$.memory.write8($addr$$32$$,
$data$$116_mod$$261_result$$65$$) : $cpu$$716$$.reg8[$modrm_byte$$105$$ << 2 & 12 | $modrm_byte$$105$$ >> 2 & 1] = $data$$116_mod$$261_result$$65$$) : $cpu$$716$$.trigger_ud();
}
};
$table16$$[255] = function $$table16$$$255$($cpu$$717$$) {
var $modrm_byte$$106_new_cs$$2$$ = $cpu$$717$$.read_imm8();
switch($modrm_byte$$106_new_cs$$2$$ >> 3 & 7) {
case 0:
var $data$$117_result$$66_virt_addr$$33$$, $new_ip$$2_phys_addr$$32$$, $phys_addr_high$$29$$ = 0;
192 > $modrm_byte$$106_new_cs$$2$$ ? ($data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.modrm_resolve($modrm_byte$$106_new_cs$$2$$), $new_ip$$2_phys_addr$$32$$ = $cpu$$717$$.translate_address_write($data$$117_result$$66_virt_addr$$33$$), $cpu$$717$$.paging && 4095 === ($data$$117_result$$66_virt_addr$$33$$ & 4095) ? ($phys_addr_high$$29$$ = $cpu$$717$$.translate_address_write($data$$117_result$$66_virt_addr$$33$$ + 1), $data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.virt_boundary_read16($new_ip$$2_phys_addr$$32$$,
$phys_addr_high$$29$$)) : $data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.memory.read16($new_ip$$2_phys_addr$$32$$)) : $data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.reg16[$modrm_byte$$106_new_cs$$2$$ << 1 & 14];
$data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.inc($data$$117_result$$66_virt_addr$$33$$, 15);
192 > $modrm_byte$$106_new_cs$$2$$ ? $phys_addr_high$$29$$ ? $cpu$$717$$.virt_boundary_write16($new_ip$$2_phys_addr$$32$$, $phys_addr_high$$29$$, $data$$117_result$$66_virt_addr$$33$$) : $cpu$$717$$.memory.write16($new_ip$$2_phys_addr$$32$$, $data$$117_result$$66_virt_addr$$33$$) : $cpu$$717$$.reg16[$modrm_byte$$106_new_cs$$2$$ << 1 & 14] = $data$$117_result$$66_virt_addr$$33$$;
break;
case 1:
$phys_addr_high$$29$$ = 0;
192 > $modrm_byte$$106_new_cs$$2$$ ? ($data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.modrm_resolve($modrm_byte$$106_new_cs$$2$$), $new_ip$$2_phys_addr$$32$$ = $cpu$$717$$.translate_address_write($data$$117_result$$66_virt_addr$$33$$), $cpu$$717$$.paging && 4095 === ($data$$117_result$$66_virt_addr$$33$$ & 4095) ? ($phys_addr_high$$29$$ = $cpu$$717$$.translate_address_write($data$$117_result$$66_virt_addr$$33$$ + 1), $data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.virt_boundary_read16($new_ip$$2_phys_addr$$32$$,
$phys_addr_high$$29$$)) : $data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.memory.read16($new_ip$$2_phys_addr$$32$$)) : $data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.reg16[$modrm_byte$$106_new_cs$$2$$ << 1 & 14];
$data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.dec($data$$117_result$$66_virt_addr$$33$$, 15);
192 > $modrm_byte$$106_new_cs$$2$$ ? $phys_addr_high$$29$$ ? $cpu$$717$$.virt_boundary_write16($new_ip$$2_phys_addr$$32$$, $phys_addr_high$$29$$, $data$$117_result$$66_virt_addr$$33$$) : $cpu$$717$$.memory.write16($new_ip$$2_phys_addr$$32$$, $data$$117_result$$66_virt_addr$$33$$) : $cpu$$717$$.reg16[$modrm_byte$$106_new_cs$$2$$ << 1 & 14] = $data$$117_result$$66_virt_addr$$33$$;
break;
case 2:
$data$$117_result$$66_virt_addr$$33$$ = 192 > $modrm_byte$$106_new_cs$$2$$ ? $cpu$$717$$.safe_read16($cpu$$717$$.modrm_resolve($modrm_byte$$106_new_cs$$2$$)) : $cpu$$717$$.reg16[$modrm_byte$$106_new_cs$$2$$ << 1 & 14];
$cpu$$717$$.push16($cpu$$717$$.get_real_eip());
$cpu$$717$$.instruction_pointer = $cpu$$717$$.get_seg(1) + $data$$117_result$$66_virt_addr$$33$$ | 0;
$cpu$$717$$.last_instr_jump = !0;
break;
case 3:
192 <= $modrm_byte$$106_new_cs$$2$$ && $cpu$$717$$.trigger_ud();
$data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.modrm_resolve($modrm_byte$$106_new_cs$$2$$);
$modrm_byte$$106_new_cs$$2$$ = $cpu$$717$$.safe_read16($data$$117_result$$66_virt_addr$$33$$ + 2);
$new_ip$$2_phys_addr$$32$$ = $cpu$$717$$.safe_read16($data$$117_result$$66_virt_addr$$33$$);
$cpu$$717$$.writable_or_pagefault($cpu$$717$$.get_stack_pointer(-4), 4);
$cpu$$717$$.push16($cpu$$717$$.sreg[1]);
$cpu$$717$$.push16($cpu$$717$$.get_real_eip());
$cpu$$717$$.switch_seg(1, $modrm_byte$$106_new_cs$$2$$);
$cpu$$717$$.instruction_pointer = $cpu$$717$$.get_seg(1) + $new_ip$$2_phys_addr$$32$$ | 0;
$cpu$$717$$.last_instr_jump = !0;
break;
case 4:
$data$$117_result$$66_virt_addr$$33$$ = 192 > $modrm_byte$$106_new_cs$$2$$ ? $cpu$$717$$.safe_read16($cpu$$717$$.modrm_resolve($modrm_byte$$106_new_cs$$2$$)) : $cpu$$717$$.reg16[$modrm_byte$$106_new_cs$$2$$ << 1 & 14];
$cpu$$717$$.instruction_pointer = $cpu$$717$$.get_seg(1) + $data$$117_result$$66_virt_addr$$33$$ | 0;
$cpu$$717$$.last_instr_jump = !0;
break;
case 5:
192 <= $modrm_byte$$106_new_cs$$2$$ && $cpu$$717$$.trigger_ud();
$data$$117_result$$66_virt_addr$$33$$ = $cpu$$717$$.modrm_resolve($modrm_byte$$106_new_cs$$2$$);
$modrm_byte$$106_new_cs$$2$$ = $cpu$$717$$.safe_read16($data$$117_result$$66_virt_addr$$33$$ + 2);
$new_ip$$2_phys_addr$$32$$ = $cpu$$717$$.safe_read16($data$$117_result$$66_virt_addr$$33$$);
$cpu$$717$$.switch_seg(1, $modrm_byte$$106_new_cs$$2$$);
$cpu$$717$$.instruction_pointer = $cpu$$717$$.get_seg(1) + $new_ip$$2_phys_addr$$32$$ | 0;
$cpu$$717$$.last_instr_jump = !0;
break;
case 6:
$data$$117_result$$66_virt_addr$$33$$ = 192 > $modrm_byte$$106_new_cs$$2$$ ? $cpu$$717$$.safe_read16($cpu$$717$$.modrm_resolve($modrm_byte$$106_new_cs$$2$$)) : $cpu$$717$$.reg16[$modrm_byte$$106_new_cs$$2$$ << 1 & 14];
$cpu$$717$$.push16($data$$117_result$$66_virt_addr$$33$$);
break;
case 7:
$cpu$$717$$.trigger_ud();
}
};
$table32$$[255] = function $$table32$$$255$($cpu$$718$$) {
var $modrm_byte$$107_new_cs$$3$$ = $cpu$$718$$.read_imm8();
switch($modrm_byte$$107_new_cs$$3$$ >> 3 & 7) {
case 0:
var $data$$118_result$$67_virt_addr$$34$$, $new_ip$$3_phys_addr$$33$$, $phys_addr_high$$30$$ = 0;
192 > $modrm_byte$$107_new_cs$$3$$ ? ($data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.modrm_resolve($modrm_byte$$107_new_cs$$3$$), $new_ip$$3_phys_addr$$33$$ = $cpu$$718$$.translate_address_write($data$$118_result$$67_virt_addr$$34$$), $cpu$$718$$.paging && 4093 <= ($data$$118_result$$67_virt_addr$$34$$ & 4095) ? ($phys_addr_high$$30$$ = $cpu$$718$$.translate_address_write($data$$118_result$$67_virt_addr$$34$$ + 3), $data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.virt_boundary_read32s($new_ip$$3_phys_addr$$33$$,
$phys_addr_high$$30$$)) : $data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.memory.read32s($new_ip$$3_phys_addr$$33$$)) : $data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.reg32s[$modrm_byte$$107_new_cs$$3$$ & 7];
$data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.inc($data$$118_result$$67_virt_addr$$34$$, 31);
192 > $modrm_byte$$107_new_cs$$3$$ ? $phys_addr_high$$30$$ ? $cpu$$718$$.virt_boundary_write32($new_ip$$3_phys_addr$$33$$, $phys_addr_high$$30$$, $data$$118_result$$67_virt_addr$$34$$) : $cpu$$718$$.memory.write32($new_ip$$3_phys_addr$$33$$, $data$$118_result$$67_virt_addr$$34$$) : $cpu$$718$$.reg32s[$modrm_byte$$107_new_cs$$3$$ & 7] = $data$$118_result$$67_virt_addr$$34$$;
break;
case 1:
$phys_addr_high$$30$$ = 0;
192 > $modrm_byte$$107_new_cs$$3$$ ? ($data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.modrm_resolve($modrm_byte$$107_new_cs$$3$$), $new_ip$$3_phys_addr$$33$$ = $cpu$$718$$.translate_address_write($data$$118_result$$67_virt_addr$$34$$), $cpu$$718$$.paging && 4093 <= ($data$$118_result$$67_virt_addr$$34$$ & 4095) ? ($phys_addr_high$$30$$ = $cpu$$718$$.translate_address_write($data$$118_result$$67_virt_addr$$34$$ + 3), $data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.virt_boundary_read32s($new_ip$$3_phys_addr$$33$$,
$phys_addr_high$$30$$)) : $data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.memory.read32s($new_ip$$3_phys_addr$$33$$)) : $data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.reg32s[$modrm_byte$$107_new_cs$$3$$ & 7];
$data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.dec($data$$118_result$$67_virt_addr$$34$$, 31);
192 > $modrm_byte$$107_new_cs$$3$$ ? $phys_addr_high$$30$$ ? $cpu$$718$$.virt_boundary_write32($new_ip$$3_phys_addr$$33$$, $phys_addr_high$$30$$, $data$$118_result$$67_virt_addr$$34$$) : $cpu$$718$$.memory.write32($new_ip$$3_phys_addr$$33$$, $data$$118_result$$67_virt_addr$$34$$) : $cpu$$718$$.reg32s[$modrm_byte$$107_new_cs$$3$$ & 7] = $data$$118_result$$67_virt_addr$$34$$;
break;
case 2:
$data$$118_result$$67_virt_addr$$34$$ = 192 > $modrm_byte$$107_new_cs$$3$$ ? $cpu$$718$$.safe_read32s($cpu$$718$$.modrm_resolve($modrm_byte$$107_new_cs$$3$$)) : $cpu$$718$$.reg32s[$modrm_byte$$107_new_cs$$3$$ & 7];
$cpu$$718$$.push32($cpu$$718$$.get_real_eip());
$cpu$$718$$.instruction_pointer = $cpu$$718$$.get_seg(1) + $data$$118_result$$67_virt_addr$$34$$ | 0;
$cpu$$718$$.last_instr_jump = !0;
break;
case 3:
192 <= $modrm_byte$$107_new_cs$$3$$ && $cpu$$718$$.trigger_ud();
$data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.modrm_resolve($modrm_byte$$107_new_cs$$3$$);
$modrm_byte$$107_new_cs$$3$$ = $cpu$$718$$.safe_read16($data$$118_result$$67_virt_addr$$34$$ + 4);
$new_ip$$3_phys_addr$$33$$ = $cpu$$718$$.safe_read32s($data$$118_result$$67_virt_addr$$34$$);
$cpu$$718$$.writable_or_pagefault($cpu$$718$$.get_stack_pointer(-8), 8);
$cpu$$718$$.push32($cpu$$718$$.sreg[1]);
$cpu$$718$$.push32($cpu$$718$$.get_real_eip());
$cpu$$718$$.switch_seg(1, $modrm_byte$$107_new_cs$$3$$);
$cpu$$718$$.instruction_pointer = $cpu$$718$$.get_seg(1) + $new_ip$$3_phys_addr$$33$$ | 0;
$cpu$$718$$.last_instr_jump = !0;
break;
case 4:
$data$$118_result$$67_virt_addr$$34$$ = 192 > $modrm_byte$$107_new_cs$$3$$ ? $cpu$$718$$.safe_read32s($cpu$$718$$.modrm_resolve($modrm_byte$$107_new_cs$$3$$)) : $cpu$$718$$.reg32s[$modrm_byte$$107_new_cs$$3$$ & 7];
$cpu$$718$$.instruction_pointer = $cpu$$718$$.get_seg(1) + $data$$118_result$$67_virt_addr$$34$$ | 0;
$cpu$$718$$.last_instr_jump = !0;
break;
case 5:
192 <= $modrm_byte$$107_new_cs$$3$$ && $cpu$$718$$.trigger_ud();
$data$$118_result$$67_virt_addr$$34$$ = $cpu$$718$$.modrm_resolve($modrm_byte$$107_new_cs$$3$$);
$modrm_byte$$107_new_cs$$3$$ = $cpu$$718$$.safe_read16($data$$118_result$$67_virt_addr$$34$$ + 4);
$new_ip$$3_phys_addr$$33$$ = $cpu$$718$$.safe_read32s($data$$118_result$$67_virt_addr$$34$$);
$cpu$$718$$.switch_seg(1, $modrm_byte$$107_new_cs$$3$$);
$cpu$$718$$.instruction_pointer = $cpu$$718$$.get_seg(1) + $new_ip$$3_phys_addr$$33$$ | 0;
$cpu$$718$$.last_instr_jump = !0;
break;
case 6:
$data$$118_result$$67_virt_addr$$34$$ = 192 > $modrm_byte$$107_new_cs$$3$$ ? $cpu$$718$$.safe_read32s($cpu$$718$$.modrm_resolve($modrm_byte$$107_new_cs$$3$$)) : $cpu$$718$$.reg32s[$modrm_byte$$107_new_cs$$3$$ & 7];
$cpu$$718$$.push32($data$$118_result$$67_virt_addr$$34$$);
break;
case 7:
$cpu$$718$$.trigger_ud();
}
};
$table0F_16$$[0] = $table0F_32$$[0] = function $$table0F_32$$$0$($cpu$$719$$) {
var $modrm_byte$$108$$ = $cpu$$719$$.read_imm8();
$cpu$$719$$.protected_mode || $cpu$$719$$.trigger_ud();
$cpu$$719$$.cpl && $cpu$$719$$.trigger_gp(0);
switch($modrm_byte$$108$$ >> 3 & 7) {
case 0:
if (192 > $modrm_byte$$108$$) {
var $addr$$33$$ = $cpu$$719$$.modrm_resolve($modrm_byte$$108$$)
}
var $data$$119$$ = $cpu$$719$$.sreg[7];
192 > $modrm_byte$$108$$ ? $cpu$$719$$.safe_write16($addr$$33$$, $data$$119$$) : $cpu$$719$$.reg16[$modrm_byte$$108$$ << 1 & 14] = $data$$119$$;
break;
case 1:
192 > $modrm_byte$$108$$ && ($addr$$33$$ = $cpu$$719$$.modrm_resolve($modrm_byte$$108$$));
$data$$119$$ = $cpu$$719$$.sreg[6];
192 > $modrm_byte$$108$$ ? $cpu$$719$$.safe_write16($addr$$33$$, $data$$119$$) : $cpu$$719$$.reg16[$modrm_byte$$108$$ << 1 & 14] = $data$$119$$;
break;
case 2:
$data$$119$$ = 192 > $modrm_byte$$108$$ ? $cpu$$719$$.safe_read16($cpu$$719$$.modrm_resolve($modrm_byte$$108$$)) : $cpu$$719$$.reg16[$modrm_byte$$108$$ << 1 & 14];
$cpu$$719$$.load_ldt($data$$119$$);
break;
case 3:
$data$$119$$ = 192 > $modrm_byte$$108$$ ? $cpu$$719$$.safe_read16($cpu$$719$$.modrm_resolve($modrm_byte$$108$$)) : $cpu$$719$$.reg16[$modrm_byte$$108$$ << 1 & 14];
$cpu$$719$$.load_tr($data$$119$$);
break;
default:
$cpu$$719$$.trigger_ud();
}
};
$table0F_16$$[1] = $table0F_32$$[1] = function $$table0F_32$$$1$($cpu$$720$$) {
var $modrm_byte$$109_size$$35$$ = $cpu$$720$$.read_imm8();
$cpu$$720$$.cpl && $cpu$$720$$.trigger_gp(0);
var $data$$120_mod$$262$$ = $modrm_byte$$109_size$$35$$ >> 3 & 7;
if (4 === $data$$120_mod$$262$$) {
if (192 > $modrm_byte$$109_size$$35$$) {
var $addr$$34_offset$$15$$ = $cpu$$720$$.modrm_resolve($modrm_byte$$109_size$$35$$)
}
$data$$120_mod$$262$$ = $cpu$$720$$.cr0;
192 > $modrm_byte$$109_size$$35$$ ? $cpu$$720$$.safe_write16($addr$$34_offset$$15$$, $data$$120_mod$$262$$) : $cpu$$720$$.reg16[$modrm_byte$$109_size$$35$$ << 1 & 14] = $data$$120_mod$$262$$;
} else {
if (6 === $data$$120_mod$$262$$) {
$data$$120_mod$$262$$ = 192 > $modrm_byte$$109_size$$35$$ ? $cpu$$720$$.safe_read16($cpu$$720$$.modrm_resolve($modrm_byte$$109_size$$35$$)) : $cpu$$720$$.reg16[$modrm_byte$$109_size$$35$$ << 1 & 14], $cpu$$720$$.cr0 = $cpu$$720$$.cr0 & -16 | $data$$120_mod$$262$$ & 15, $cpu$$720$$.protected_mode && ($cpu$$720$$.cr0 |= 1), $cpu$$720$$.cr0_changed();
} else {
switch(192 <= $modrm_byte$$109_size$$35$$ && $cpu$$720$$.trigger_ud(), 2 !== $data$$120_mod$$262$$ && 3 !== $data$$120_mod$$262$$ || !$cpu$$720$$.protected_mode || ($cpu$$720$$.segment_prefix = 9), $addr$$34_offset$$15$$ = $cpu$$720$$.modrm_resolve($modrm_byte$$109_size$$35$$), $cpu$$720$$.segment_prefix = -1, $data$$120_mod$$262$$) {
case 0:
$cpu$$720$$.writable_or_pagefault($addr$$34_offset$$15$$, 6);
$cpu$$720$$.safe_write16($addr$$34_offset$$15$$, $cpu$$720$$.gdtr_size);
$cpu$$720$$.safe_write32($addr$$34_offset$$15$$ + 2, $cpu$$720$$.gdtr_offset);
break;
case 1:
$cpu$$720$$.writable_or_pagefault($addr$$34_offset$$15$$, 6);
$cpu$$720$$.safe_write16($addr$$34_offset$$15$$, $cpu$$720$$.idtr_size);
$cpu$$720$$.safe_write32($addr$$34_offset$$15$$ + 2, $cpu$$720$$.idtr_offset);
break;
case 2:
$modrm_byte$$109_size$$35$$ = $cpu$$720$$.safe_read16($addr$$34_offset$$15$$);
$addr$$34_offset$$15$$ = $cpu$$720$$.safe_read32s($addr$$34_offset$$15$$ + 2);
$cpu$$720$$.gdtr_size = $modrm_byte$$109_size$$35$$;
$cpu$$720$$.gdtr_offset = $addr$$34_offset$$15$$;
$cpu$$720$$.operand_size_32 || ($cpu$$720$$.gdtr_offset &= 16777215);
break;
case 3:
$modrm_byte$$109_size$$35$$ = $cpu$$720$$.safe_read16($addr$$34_offset$$15$$);
$addr$$34_offset$$15$$ = $cpu$$720$$.safe_read32s($addr$$34_offset$$15$$ + 2);
$cpu$$720$$.idtr_size = $modrm_byte$$109_size$$35$$;
$cpu$$720$$.idtr_offset = $addr$$34_offset$$15$$;
$cpu$$720$$.operand_size_32 || ($cpu$$720$$.idtr_offset &= 16777215);
break;
case 7:
$cpu$$720$$.invlpg($addr$$34_offset$$15$$);
break;
default:
$cpu$$720$$.trigger_ud();
}
}
}
};
$table0F_16$$[2] = $table0F_32$$[2] = function $$table0F_32$$$2$($cpu$$721$$) {
$cpu$$721$$.read_imm8();
$cpu$$721$$.trigger_ud();
};
$table0F_16$$[3] = $table0F_32$$[3] = function $$table0F_32$$$3$($cpu$$722$$) {
$cpu$$722$$.read_imm8();
$cpu$$722$$.trigger_ud();
};
$table0F_16$$[4] = $table0F_32$$[4] = function $$table0F_32$$$4$($cpu$$723$$) {
$cpu$$723$$.trigger_ud();
};
$table0F_16$$[5] = $table0F_32$$[5] = function $$table0F_32$$$5$($cpu$$724$$) {
$cpu$$724$$.trigger_ud();
};
$table0F_16$$[6] = $table0F_32$$[6] = function $$table0F_32$$$6$($cpu$$725$$) {
$cpu$$725$$.cpl ? $cpu$$725$$.trigger_gp(0) : $cpu$$725$$.cr0 &= -9;
};
$table0F_16$$[7] = $table0F_32$$[7] = function $$table0F_32$$$7$($cpu$$726$$) {
$cpu$$726$$.trigger_ud();
};
$table0F_16$$[8] = $table0F_32$$[8] = function $$table0F_32$$$8$($cpu$$727$$) {
$cpu$$727$$.trigger_ud();
};
$table0F_16$$[9] = $table0F_32$$[9] = function $$table0F_32$$$9$($cpu$$728$$) {
$cpu$$728$$.cpl && $cpu$$728$$.trigger_gp(0);
};
$table0F_16$$[10] = $table0F_32$$[10] = function $$table0F_32$$$10$($cpu$$729$$) {
$cpu$$729$$.trigger_ud();
};
$table0F_16$$[11] = $table0F_32$$[11] = function $$table0F_32$$$11$($cpu$$730$$) {
$cpu$$730$$.trigger_ud();
};
$table0F_16$$[12] = $table0F_32$$[12] = function $$table0F_32$$$12$($cpu$$731$$) {
$cpu$$731$$.trigger_ud();
};
$table0F_16$$[13] = $table0F_32$$[13] = function $$table0F_32$$$13$($cpu$$732$$) {
$cpu$$732$$.trigger_ud();
};
$table0F_16$$[14] = $table0F_32$$[14] = function $$table0F_32$$$14$($cpu$$733$$) {
$cpu$$733$$.trigger_ud();
};
$table0F_16$$[15] = $table0F_32$$[15] = function $$table0F_32$$$15$($cpu$$734$$) {
$cpu$$734$$.trigger_ud();
};
$table0F_16$$[16] = $table0F_32$$[16] = function $$table0F_32$$$16$($cpu$$735$$) {
$cpu$$735$$.trigger_ud();
};
$table0F_16$$[17] = $table0F_32$$[17] = function $$table0F_32$$$17$($cpu$$736$$) {
$cpu$$736$$.trigger_ud();
};
$table0F_16$$[18] = $table0F_32$$[18] = function $$table0F_32$$$18$($cpu$$737$$) {
$cpu$$737$$.trigger_ud();
};
$table0F_16$$[19] = $table0F_32$$[19] = function $$table0F_32$$$19$($cpu$$738$$) {
$cpu$$738$$.trigger_ud();
};
$table0F_16$$[20] = $table0F_32$$[20] = function $$table0F_32$$$20$($cpu$$739$$) {
$cpu$$739$$.trigger_ud();
};
$table0F_16$$[21] = $table0F_32$$[21] = function $$table0F_32$$$21$($cpu$$740$$) {
$cpu$$740$$.trigger_ud();
};
$table0F_16$$[22] = $table0F_32$$[22] = function $$table0F_32$$$22$($cpu$$741$$) {
$cpu$$741$$.trigger_ud();
};
$table0F_16$$[23] = $table0F_32$$[23] = function $$table0F_32$$$23$($cpu$$742$$) {
$cpu$$742$$.trigger_ud();
};
$table0F_16$$[24] = $table0F_32$$[24] = function $$table0F_32$$$24$($cpu$$743$$) {
var $modrm_byte$$112$$ = $cpu$$743$$.read_imm8();
192 > $modrm_byte$$112$$ && $cpu$$743$$.modrm_resolve($modrm_byte$$112$$);
};
$table0F_16$$[25] = $table0F_32$$[25] = function $$table0F_32$$$25$($cpu$$744$$) {
$cpu$$744$$.trigger_ud();
};
$table0F_16$$[26] = $table0F_32$$[26] = function $$table0F_32$$$26$($cpu$$745$$) {
$cpu$$745$$.trigger_ud();
};
$table0F_16$$[27] = $table0F_32$$[27] = function $$table0F_32$$$27$($cpu$$746$$) {
$cpu$$746$$.trigger_ud();
};
$table0F_16$$[28] = $table0F_32$$[28] = function $$table0F_32$$$28$($cpu$$747$$) {
$cpu$$747$$.trigger_ud();
};
$table0F_16$$[29] = $table0F_32$$[29] = function $$table0F_32$$$29$($cpu$$748$$) {
$cpu$$748$$.trigger_ud();
};
$table0F_16$$[30] = $table0F_32$$[30] = function $$table0F_32$$$30$($cpu$$749$$) {
$cpu$$749$$.trigger_ud();
};
$table0F_16$$[31] = $table0F_32$$[31] = function $$table0F_32$$$31$($cpu$$750$$) {
$cpu$$750$$.trigger_ud();
};
$table0F_16$$[32] = $table0F_32$$[32] = function $$table0F_32$$$32$($cpu$$751$$) {
var $modrm_byte$$113$$ = $cpu$$751$$.read_imm8();
$cpu$$751$$.cpl && $cpu$$751$$.trigger_gp(0);
switch($modrm_byte$$113$$ >> 3 & 7) {
case 0:
$cpu$$751$$.reg32s[$modrm_byte$$113$$ & 7] = $cpu$$751$$.cr0;
break;
case 2:
$cpu$$751$$.reg32s[$modrm_byte$$113$$ & 7] = $cpu$$751$$.cr2;
break;
case 3:
$cpu$$751$$.reg32s[$modrm_byte$$113$$ & 7] = $cpu$$751$$.cr3;
break;
case 4:
$cpu$$751$$.reg32s[$modrm_byte$$113$$ & 7] = $cpu$$751$$.cr4;
break;
default:
$cpu$$751$$.trigger_ud();
}
};
$table0F_16$$[33] = $table0F_32$$[33] = function $$table0F_32$$$33$($cpu$$752$$) {
var $modrm_byte$$114$$ = $cpu$$752$$.read_imm8();
$cpu$$752$$.cpl && $cpu$$752$$.trigger_gp(0);
$cpu$$752$$.reg32s[$modrm_byte$$114$$ & 7] = $cpu$$752$$.dreg[$modrm_byte$$114$$ >> 3 & 7];
};
$table0F_16$$[34] = $table0F_32$$[34] = function $$table0F_32$$$34$($cpu$$753$$) {
var $modrm_byte$$115$$ = $cpu$$753$$.read_imm8();
$cpu$$753$$.cpl && $cpu$$753$$.trigger_gp(0);
var $data$$121$$ = $cpu$$753$$.reg32s[$modrm_byte$$115$$ & 7];
switch($modrm_byte$$115$$ >> 3 & 7) {
case 0:
$cpu$$753$$.cr0 = $data$$121$$;
if (-2147483648 === ($cpu$$753$$.cr0 & -2147483647)) {
throw $cpu$$753$$.debug.unimpl("#GP handler");
}
$cpu$$753$$.cr0_changed();
break;
case 2:
$cpu$$753$$.cr2 = $data$$121$$;
break;
case 3:
$cpu$$753$$.cr3 = $data$$121$$;
$cpu$$753$$.clear_tlb();
break;
case 4:
$data$$121$$ & -3565568 && $cpu$$753$$.trigger_gp(0);
($cpu$$753$$.cr4 ^ $data$$121$$) & 128 && ($data$$121$$ & 128 ? $cpu$$753$$.clear_tlb() : $cpu$$753$$.full_clear_tlb());
$cpu$$753$$.cr4 = $data$$121$$;
$cpu$$753$$.page_size_extensions = $cpu$$753$$.cr4 & 16 ? 128 : 0;
if ($cpu$$753$$.cr4 & 32) {
throw $cpu$$753$$.debug.unimpl("PAE");
}
break;
default:
$cpu$$753$$.trigger_ud();
}
};
$table0F_16$$[35] = $table0F_32$$[35] = function $$table0F_32$$$35$($cpu$$754$$) {
var $modrm_byte$$116$$ = $cpu$$754$$.read_imm8();
$cpu$$754$$.cpl && $cpu$$754$$.trigger_gp(0);
$cpu$$754$$.dreg[$modrm_byte$$116$$ >> 3 & 7] = $cpu$$754$$.reg32s[$modrm_byte$$116$$ & 7];
};
$table0F_16$$[36] = $table0F_32$$[36] = function $$table0F_32$$$36$($cpu$$755$$) {
$cpu$$755$$.trigger_ud();
};
$table0F_16$$[37] = $table0F_32$$[37] = function $$table0F_32$$$37$($cpu$$756$$) {
$cpu$$756$$.trigger_ud();
};
$table0F_16$$[38] = $table0F_32$$[38] = function $$table0F_32$$$38$($cpu$$757$$) {
$cpu$$757$$.trigger_ud();
};
$table0F_16$$[39] = $table0F_32$$[39] = function $$table0F_32$$$39$($cpu$$758$$) {
$cpu$$758$$.trigger_ud();
};
$table0F_16$$[40] = $table0F_32$$[40] = function $$table0F_32$$$40$($cpu$$759$$) {
$cpu$$759$$.trigger_ud();
};
$table0F_16$$[41] = $table0F_32$$[41] = function $$table0F_32$$$41$($cpu$$760$$) {
$cpu$$760$$.trigger_ud();
};
$table0F_16$$[42] = $table0F_32$$[42] = function $$table0F_32$$$42$($cpu$$761$$) {
$cpu$$761$$.trigger_ud();
};
$table0F_16$$[43] = $table0F_32$$[43] = function $$table0F_32$$$43$($cpu$$762$$) {
$cpu$$762$$.trigger_ud();
};
$table0F_16$$[44] = $table0F_32$$[44] = function $$table0F_32$$$44$($cpu$$763$$) {
$cpu$$763$$.trigger_ud();
};
$table0F_16$$[45] = $table0F_32$$[45] = function $$table0F_32$$$45$($cpu$$764$$) {
$cpu$$764$$.trigger_ud();
};
$table0F_16$$[46] = $table0F_32$$[46] = function $$table0F_32$$$46$($cpu$$765$$) {
$cpu$$765$$.trigger_ud();
};
$table0F_16$$[47] = $table0F_32$$[47] = function $$table0F_32$$$47$($cpu$$766$$) {
$cpu$$766$$.trigger_ud();
};
$table0F_16$$[48] = $table0F_32$$[48] = function $$table0F_32$$$48$($cpu$$767$$) {
$cpu$$767$$.trigger_ud();
};
$table0F_16$$[48] = $table0F_32$$[48] = function $$table0F_32$$$48$() {
};
$table0F_16$$[49] = $table0F_32$$[49] = function $$table0F_32$$$49$($cpu$$769$$) {
$cpu$$769$$.protected_mode && $cpu$$769$$.cpl && $cpu$$769$$.cr4 & 4 ? $cpu$$769$$.trigger_gp(0) : ($cpu$$769$$.reg32s[0] = $cpu$$769$$.timestamp_counter, $cpu$$769$$.reg32s[2] = $cpu$$769$$.timestamp_counter / 4294967296);
};
$table0F_16$$[50] = $table0F_32$$[50] = function $$table0F_32$$$50$($cpu$$770$$) {
$cpu$$770$$.reg32s[0] = 0;
$cpu$$770$$.reg32s[2] = 0;
};
$table0F_16$$[51] = $table0F_32$$[51] = function $$table0F_32$$$51$($cpu$$771$$) {
$cpu$$771$$.trigger_ud();
};
$table0F_16$$[52] = $table0F_32$$[52] = function $$table0F_32$$$52$($cpu$$772$$) {
$cpu$$772$$.trigger_ud();
};
$table0F_16$$[53] = $table0F_32$$[53] = function $$table0F_32$$$53$($cpu$$773$$) {
$cpu$$773$$.trigger_ud();
};
$table0F_16$$[54] = $table0F_32$$[54] = function $$table0F_32$$$54$($cpu$$774$$) {
$cpu$$774$$.trigger_ud();
};
$table0F_16$$[55] = $table0F_32$$[55] = function $$table0F_32$$$55$($cpu$$775$$) {
$cpu$$775$$.trigger_ud();
};
$table0F_16$$[56] = $table0F_32$$[56] = function $$table0F_32$$$56$($cpu$$776$$) {
$cpu$$776$$.trigger_ud();
};
$table0F_16$$[57] = $table0F_32$$[57] = function $$table0F_32$$$57$($cpu$$777$$) {
$cpu$$777$$.trigger_ud();
};
$table0F_16$$[58] = $table0F_32$$[58] = function $$table0F_32$$$58$($cpu$$778$$) {
$cpu$$778$$.trigger_ud();
};
$table0F_16$$[59] = $table0F_32$$[59] = function $$table0F_32$$$59$($cpu$$779$$) {
$cpu$$779$$.trigger_ud();
};
$table0F_16$$[60] = $table0F_32$$[60] = function $$table0F_32$$$60$($cpu$$780$$) {
$cpu$$780$$.trigger_ud();
};
$table0F_16$$[61] = $table0F_32$$[61] = function $$table0F_32$$$61$($cpu$$781$$) {
$cpu$$781$$.trigger_ud();
};
$table0F_16$$[62] = $table0F_32$$[62] = function $$table0F_32$$$62$($cpu$$782$$) {
$cpu$$782$$.trigger_ud();
};
$table0F_16$$[63] = $table0F_32$$[63] = function $$table0F_32$$$63$($cpu$$783$$) {
$cpu$$783$$.trigger_ud();
};
$table0F_16$$[64] = function $$table0F_16$$$64$($cpu$$784$$) {
var $modrm_byte$$117$$ = $cpu$$784$$.read_imm8(), $data$$122$$ = 192 > $modrm_byte$$117$$ ? $cpu$$784$$.safe_read16($cpu$$784$$.modrm_resolve($modrm_byte$$117$$)) : $cpu$$784$$.reg16[$modrm_byte$$117$$ << 1 & 14];
$cpu$$784$$.test_o() && ($cpu$$784$$.reg16[$modrm_byte$$117$$ >> 2 & 14] = $data$$122$$);
};
$table0F_32$$[64] = function $$table0F_32$$$64$($cpu$$785$$) {
var $modrm_byte$$118$$ = $cpu$$785$$.read_imm8(), $data$$123$$ = 192 > $modrm_byte$$118$$ ? $cpu$$785$$.safe_read32s($cpu$$785$$.modrm_resolve($modrm_byte$$118$$)) : $cpu$$785$$.reg32s[$modrm_byte$$118$$ & 7];
$cpu$$785$$.test_o() && ($cpu$$785$$.reg32s[$modrm_byte$$118$$ >> 3 & 7] = $data$$123$$);
};
$table0F_16$$[65] = function $$table0F_16$$$65$($cpu$$786$$) {
var $modrm_byte$$119$$ = $cpu$$786$$.read_imm8(), $data$$124$$ = 192 > $modrm_byte$$119$$ ? $cpu$$786$$.safe_read16($cpu$$786$$.modrm_resolve($modrm_byte$$119$$)) : $cpu$$786$$.reg16[$modrm_byte$$119$$ << 1 & 14];
$cpu$$786$$.test_o() || ($cpu$$786$$.reg16[$modrm_byte$$119$$ >> 2 & 14] = $data$$124$$);
};
$table0F_32$$[65] = function $$table0F_32$$$65$($cpu$$787$$) {
var $modrm_byte$$120$$ = $cpu$$787$$.read_imm8(), $data$$125$$ = 192 > $modrm_byte$$120$$ ? $cpu$$787$$.safe_read32s($cpu$$787$$.modrm_resolve($modrm_byte$$120$$)) : $cpu$$787$$.reg32s[$modrm_byte$$120$$ & 7];
$cpu$$787$$.test_o() || ($cpu$$787$$.reg32s[$modrm_byte$$120$$ >> 3 & 7] = $data$$125$$);
};
$table0F_16$$[66] = function $$table0F_16$$$66$($cpu$$788$$) {
var $modrm_byte$$121$$ = $cpu$$788$$.read_imm8(), $data$$126$$ = 192 > $modrm_byte$$121$$ ? $cpu$$788$$.safe_read16($cpu$$788$$.modrm_resolve($modrm_byte$$121$$)) : $cpu$$788$$.reg16[$modrm_byte$$121$$ << 1 & 14];
$cpu$$788$$.test_b() && ($cpu$$788$$.reg16[$modrm_byte$$121$$ >> 2 & 14] = $data$$126$$);
};
$table0F_32$$[66] = function $$table0F_32$$$66$($cpu$$789$$) {
var $modrm_byte$$122$$ = $cpu$$789$$.read_imm8(), $data$$127$$ = 192 > $modrm_byte$$122$$ ? $cpu$$789$$.safe_read32s($cpu$$789$$.modrm_resolve($modrm_byte$$122$$)) : $cpu$$789$$.reg32s[$modrm_byte$$122$$ & 7];
$cpu$$789$$.test_b() && ($cpu$$789$$.reg32s[$modrm_byte$$122$$ >> 3 & 7] = $data$$127$$);
};
$table0F_16$$[67] = function $$table0F_16$$$67$($cpu$$790$$) {
var $modrm_byte$$123$$ = $cpu$$790$$.read_imm8(), $data$$128$$ = 192 > $modrm_byte$$123$$ ? $cpu$$790$$.safe_read16($cpu$$790$$.modrm_resolve($modrm_byte$$123$$)) : $cpu$$790$$.reg16[$modrm_byte$$123$$ << 1 & 14];
$cpu$$790$$.test_b() || ($cpu$$790$$.reg16[$modrm_byte$$123$$ >> 2 & 14] = $data$$128$$);
};
$table0F_32$$[67] = function $$table0F_32$$$67$($cpu$$791$$) {
var $modrm_byte$$124$$ = $cpu$$791$$.read_imm8(), $data$$129$$ = 192 > $modrm_byte$$124$$ ? $cpu$$791$$.safe_read32s($cpu$$791$$.modrm_resolve($modrm_byte$$124$$)) : $cpu$$791$$.reg32s[$modrm_byte$$124$$ & 7];
$cpu$$791$$.test_b() || ($cpu$$791$$.reg32s[$modrm_byte$$124$$ >> 3 & 7] = $data$$129$$);
};
$table0F_16$$[68] = function $$table0F_16$$$68$($cpu$$792$$) {
var $modrm_byte$$125$$ = $cpu$$792$$.read_imm8(), $data$$130$$ = 192 > $modrm_byte$$125$$ ? $cpu$$792$$.safe_read16($cpu$$792$$.modrm_resolve($modrm_byte$$125$$)) : $cpu$$792$$.reg16[$modrm_byte$$125$$ << 1 & 14];
$cpu$$792$$.test_z() && ($cpu$$792$$.reg16[$modrm_byte$$125$$ >> 2 & 14] = $data$$130$$);
};
$table0F_32$$[68] = function $$table0F_32$$$68$($cpu$$793$$) {
var $modrm_byte$$126$$ = $cpu$$793$$.read_imm8(), $data$$131$$ = 192 > $modrm_byte$$126$$ ? $cpu$$793$$.safe_read32s($cpu$$793$$.modrm_resolve($modrm_byte$$126$$)) : $cpu$$793$$.reg32s[$modrm_byte$$126$$ & 7];
$cpu$$793$$.test_z() && ($cpu$$793$$.reg32s[$modrm_byte$$126$$ >> 3 & 7] = $data$$131$$);
};
$table0F_16$$[69] = function $$table0F_16$$$69$($cpu$$794$$) {
var $modrm_byte$$127$$ = $cpu$$794$$.read_imm8(), $data$$132$$ = 192 > $modrm_byte$$127$$ ? $cpu$$794$$.safe_read16($cpu$$794$$.modrm_resolve($modrm_byte$$127$$)) : $cpu$$794$$.reg16[$modrm_byte$$127$$ << 1 & 14];
$cpu$$794$$.test_z() || ($cpu$$794$$.reg16[$modrm_byte$$127$$ >> 2 & 14] = $data$$132$$);
};
$table0F_32$$[69] = function $$table0F_32$$$69$($cpu$$795$$) {
var $modrm_byte$$128$$ = $cpu$$795$$.read_imm8(), $data$$133$$ = 192 > $modrm_byte$$128$$ ? $cpu$$795$$.safe_read32s($cpu$$795$$.modrm_resolve($modrm_byte$$128$$)) : $cpu$$795$$.reg32s[$modrm_byte$$128$$ & 7];
$cpu$$795$$.test_z() || ($cpu$$795$$.reg32s[$modrm_byte$$128$$ >> 3 & 7] = $data$$133$$);
};
$table0F_16$$[70] = function $$table0F_16$$$70$($cpu$$796$$) {
var $modrm_byte$$129$$ = $cpu$$796$$.read_imm8(), $data$$134$$ = 192 > $modrm_byte$$129$$ ? $cpu$$796$$.safe_read16($cpu$$796$$.modrm_resolve($modrm_byte$$129$$)) : $cpu$$796$$.reg16[$modrm_byte$$129$$ << 1 & 14];
$cpu$$796$$.test_be() && ($cpu$$796$$.reg16[$modrm_byte$$129$$ >> 2 & 14] = $data$$134$$);
};
$table0F_32$$[70] = function $$table0F_32$$$70$($cpu$$797$$) {
var $modrm_byte$$130$$ = $cpu$$797$$.read_imm8(), $data$$135$$ = 192 > $modrm_byte$$130$$ ? $cpu$$797$$.safe_read32s($cpu$$797$$.modrm_resolve($modrm_byte$$130$$)) : $cpu$$797$$.reg32s[$modrm_byte$$130$$ & 7];
$cpu$$797$$.test_be() && ($cpu$$797$$.reg32s[$modrm_byte$$130$$ >> 3 & 7] = $data$$135$$);
};
$table0F_16$$[71] = function $$table0F_16$$$71$($cpu$$798$$) {
var $modrm_byte$$131$$ = $cpu$$798$$.read_imm8(), $data$$136$$ = 192 > $modrm_byte$$131$$ ? $cpu$$798$$.safe_read16($cpu$$798$$.modrm_resolve($modrm_byte$$131$$)) : $cpu$$798$$.reg16[$modrm_byte$$131$$ << 1 & 14];
$cpu$$798$$.test_be() || ($cpu$$798$$.reg16[$modrm_byte$$131$$ >> 2 & 14] = $data$$136$$);
};
$table0F_32$$[71] = function $$table0F_32$$$71$($cpu$$799$$) {
var $modrm_byte$$132$$ = $cpu$$799$$.read_imm8(), $data$$137$$ = 192 > $modrm_byte$$132$$ ? $cpu$$799$$.safe_read32s($cpu$$799$$.modrm_resolve($modrm_byte$$132$$)) : $cpu$$799$$.reg32s[$modrm_byte$$132$$ & 7];
$cpu$$799$$.test_be() || ($cpu$$799$$.reg32s[$modrm_byte$$132$$ >> 3 & 7] = $data$$137$$);
};
$table0F_16$$[72] = function $$table0F_16$$$72$($cpu$$800$$) {
var $modrm_byte$$133$$ = $cpu$$800$$.read_imm8(), $data$$138$$ = 192 > $modrm_byte$$133$$ ? $cpu$$800$$.safe_read16($cpu$$800$$.modrm_resolve($modrm_byte$$133$$)) : $cpu$$800$$.reg16[$modrm_byte$$133$$ << 1 & 14];
$cpu$$800$$.test_s() && ($cpu$$800$$.reg16[$modrm_byte$$133$$ >> 2 & 14] = $data$$138$$);
};
$table0F_32$$[72] = function $$table0F_32$$$72$($cpu$$801$$) {
var $modrm_byte$$134$$ = $cpu$$801$$.read_imm8(), $data$$139$$ = 192 > $modrm_byte$$134$$ ? $cpu$$801$$.safe_read32s($cpu$$801$$.modrm_resolve($modrm_byte$$134$$)) : $cpu$$801$$.reg32s[$modrm_byte$$134$$ & 7];
$cpu$$801$$.test_s() && ($cpu$$801$$.reg32s[$modrm_byte$$134$$ >> 3 & 7] = $data$$139$$);
};
$table0F_16$$[73] = function $$table0F_16$$$73$($cpu$$802$$) {
var $modrm_byte$$135$$ = $cpu$$802$$.read_imm8(), $data$$140$$ = 192 > $modrm_byte$$135$$ ? $cpu$$802$$.safe_read16($cpu$$802$$.modrm_resolve($modrm_byte$$135$$)) : $cpu$$802$$.reg16[$modrm_byte$$135$$ << 1 & 14];
$cpu$$802$$.test_s() || ($cpu$$802$$.reg16[$modrm_byte$$135$$ >> 2 & 14] = $data$$140$$);
};
$table0F_32$$[73] = function $$table0F_32$$$73$($cpu$$803$$) {
var $modrm_byte$$136$$ = $cpu$$803$$.read_imm8(), $data$$141$$ = 192 > $modrm_byte$$136$$ ? $cpu$$803$$.safe_read32s($cpu$$803$$.modrm_resolve($modrm_byte$$136$$)) : $cpu$$803$$.reg32s[$modrm_byte$$136$$ & 7];
$cpu$$803$$.test_s() || ($cpu$$803$$.reg32s[$modrm_byte$$136$$ >> 3 & 7] = $data$$141$$);
};
$table0F_16$$[74] = function $$table0F_16$$$74$($cpu$$804$$) {
var $modrm_byte$$137$$ = $cpu$$804$$.read_imm8(), $data$$142$$ = 192 > $modrm_byte$$137$$ ? $cpu$$804$$.safe_read16($cpu$$804$$.modrm_resolve($modrm_byte$$137$$)) : $cpu$$804$$.reg16[$modrm_byte$$137$$ << 1 & 14];
$cpu$$804$$.test_p() && ($cpu$$804$$.reg16[$modrm_byte$$137$$ >> 2 & 14] = $data$$142$$);
};
$table0F_32$$[74] = function $$table0F_32$$$74$($cpu$$805$$) {
var $modrm_byte$$138$$ = $cpu$$805$$.read_imm8(), $data$$143$$ = 192 > $modrm_byte$$138$$ ? $cpu$$805$$.safe_read32s($cpu$$805$$.modrm_resolve($modrm_byte$$138$$)) : $cpu$$805$$.reg32s[$modrm_byte$$138$$ & 7];
$cpu$$805$$.test_p() && ($cpu$$805$$.reg32s[$modrm_byte$$138$$ >> 3 & 7] = $data$$143$$);
};
$table0F_16$$[75] = function $$table0F_16$$$75$($cpu$$806$$) {
var $modrm_byte$$139$$ = $cpu$$806$$.read_imm8(), $data$$144$$ = 192 > $modrm_byte$$139$$ ? $cpu$$806$$.safe_read16($cpu$$806$$.modrm_resolve($modrm_byte$$139$$)) : $cpu$$806$$.reg16[$modrm_byte$$139$$ << 1 & 14];
$cpu$$806$$.test_p() || ($cpu$$806$$.reg16[$modrm_byte$$139$$ >> 2 & 14] = $data$$144$$);
};
$table0F_32$$[75] = function $$table0F_32$$$75$($cpu$$807$$) {
var $modrm_byte$$140$$ = $cpu$$807$$.read_imm8(), $data$$145$$ = 192 > $modrm_byte$$140$$ ? $cpu$$807$$.safe_read32s($cpu$$807$$.modrm_resolve($modrm_byte$$140$$)) : $cpu$$807$$.reg32s[$modrm_byte$$140$$ & 7];
$cpu$$807$$.test_p() || ($cpu$$807$$.reg32s[$modrm_byte$$140$$ >> 3 & 7] = $data$$145$$);
};
$table0F_16$$[76] = function $$table0F_16$$$76$($cpu$$808$$) {
var $modrm_byte$$141$$ = $cpu$$808$$.read_imm8(), $data$$146$$ = 192 > $modrm_byte$$141$$ ? $cpu$$808$$.safe_read16($cpu$$808$$.modrm_resolve($modrm_byte$$141$$)) : $cpu$$808$$.reg16[$modrm_byte$$141$$ << 1 & 14];
$cpu$$808$$.test_l() && ($cpu$$808$$.reg16[$modrm_byte$$141$$ >> 2 & 14] = $data$$146$$);
};
$table0F_32$$[76] = function $$table0F_32$$$76$($cpu$$809$$) {
var $modrm_byte$$142$$ = $cpu$$809$$.read_imm8(), $data$$147$$ = 192 > $modrm_byte$$142$$ ? $cpu$$809$$.safe_read32s($cpu$$809$$.modrm_resolve($modrm_byte$$142$$)) : $cpu$$809$$.reg32s[$modrm_byte$$142$$ & 7];
$cpu$$809$$.test_l() && ($cpu$$809$$.reg32s[$modrm_byte$$142$$ >> 3 & 7] = $data$$147$$);
};
$table0F_16$$[77] = function $$table0F_16$$$77$($cpu$$810$$) {
var $modrm_byte$$143$$ = $cpu$$810$$.read_imm8(), $data$$148$$ = 192 > $modrm_byte$$143$$ ? $cpu$$810$$.safe_read16($cpu$$810$$.modrm_resolve($modrm_byte$$143$$)) : $cpu$$810$$.reg16[$modrm_byte$$143$$ << 1 & 14];
$cpu$$810$$.test_l() || ($cpu$$810$$.reg16[$modrm_byte$$143$$ >> 2 & 14] = $data$$148$$);
};
$table0F_32$$[77] = function $$table0F_32$$$77$($cpu$$811$$) {
var $modrm_byte$$144$$ = $cpu$$811$$.read_imm8(), $data$$149$$ = 192 > $modrm_byte$$144$$ ? $cpu$$811$$.safe_read32s($cpu$$811$$.modrm_resolve($modrm_byte$$144$$)) : $cpu$$811$$.reg32s[$modrm_byte$$144$$ & 7];
$cpu$$811$$.test_l() || ($cpu$$811$$.reg32s[$modrm_byte$$144$$ >> 3 & 7] = $data$$149$$);
};
$table0F_16$$[78] = function $$table0F_16$$$78$($cpu$$812$$) {
var $modrm_byte$$145$$ = $cpu$$812$$.read_imm8(), $data$$150$$ = 192 > $modrm_byte$$145$$ ? $cpu$$812$$.safe_read16($cpu$$812$$.modrm_resolve($modrm_byte$$145$$)) : $cpu$$812$$.reg16[$modrm_byte$$145$$ << 1 & 14];
$cpu$$812$$.test_le() && ($cpu$$812$$.reg16[$modrm_byte$$145$$ >> 2 & 14] = $data$$150$$);
};
$table0F_32$$[78] = function $$table0F_32$$$78$($cpu$$813$$) {
var $modrm_byte$$146$$ = $cpu$$813$$.read_imm8(), $data$$151$$ = 192 > $modrm_byte$$146$$ ? $cpu$$813$$.safe_read32s($cpu$$813$$.modrm_resolve($modrm_byte$$146$$)) : $cpu$$813$$.reg32s[$modrm_byte$$146$$ & 7];
$cpu$$813$$.test_le() && ($cpu$$813$$.reg32s[$modrm_byte$$146$$ >> 3 & 7] = $data$$151$$);
};
$table0F_16$$[79] = function $$table0F_16$$$79$($cpu$$814$$) {
var $modrm_byte$$147$$ = $cpu$$814$$.read_imm8(), $data$$152$$ = 192 > $modrm_byte$$147$$ ? $cpu$$814$$.safe_read16($cpu$$814$$.modrm_resolve($modrm_byte$$147$$)) : $cpu$$814$$.reg16[$modrm_byte$$147$$ << 1 & 14];
$cpu$$814$$.test_le() || ($cpu$$814$$.reg16[$modrm_byte$$147$$ >> 2 & 14] = $data$$152$$);
};
$table0F_32$$[79] = function $$table0F_32$$$79$($cpu$$815$$) {
var $modrm_byte$$148$$ = $cpu$$815$$.read_imm8(), $data$$153$$ = 192 > $modrm_byte$$148$$ ? $cpu$$815$$.safe_read32s($cpu$$815$$.modrm_resolve($modrm_byte$$148$$)) : $cpu$$815$$.reg32s[$modrm_byte$$148$$ & 7];
$cpu$$815$$.test_le() || ($cpu$$815$$.reg32s[$modrm_byte$$148$$ >> 3 & 7] = $data$$153$$);
};
$table0F_16$$[80] = $table0F_32$$[80] = function $$table0F_32$$$80$($cpu$$816$$) {
$cpu$$816$$.trigger_ud();
};
$table0F_16$$[81] = $table0F_32$$[81] = function $$table0F_32$$$81$($cpu$$817$$) {
$cpu$$817$$.trigger_ud();
};
$table0F_16$$[82] = $table0F_32$$[82] = function $$table0F_32$$$82$($cpu$$818$$) {
$cpu$$818$$.trigger_ud();
};
$table0F_16$$[83] = $table0F_32$$[83] = function $$table0F_32$$$83$($cpu$$819$$) {
$cpu$$819$$.trigger_ud();
};
$table0F_16$$[84] = $table0F_32$$[84] = function $$table0F_32$$$84$($cpu$$820$$) {
$cpu$$820$$.trigger_ud();
};
$table0F_16$$[85] = $table0F_32$$[85] = function $$table0F_32$$$85$($cpu$$821$$) {
$cpu$$821$$.trigger_ud();
};
$table0F_16$$[86] = $table0F_32$$[86] = function $$table0F_32$$$86$($cpu$$822$$) {
$cpu$$822$$.trigger_ud();
};
$table0F_16$$[87] = $table0F_32$$[87] = function $$table0F_32$$$87$($cpu$$823$$) {
$cpu$$823$$.trigger_ud();
};
$table0F_16$$[88] = $table0F_32$$[88] = function $$table0F_32$$$88$($cpu$$824$$) {
$cpu$$824$$.trigger_ud();
};
$table0F_16$$[89] = $table0F_32$$[89] = function $$table0F_32$$$89$($cpu$$825$$) {
$cpu$$825$$.trigger_ud();
};
$table0F_16$$[90] = $table0F_32$$[90] = function $$table0F_32$$$90$($cpu$$826$$) {
$cpu$$826$$.trigger_ud();
};
$table0F_16$$[91] = $table0F_32$$[91] = function $$table0F_32$$$91$($cpu$$827$$) {
$cpu$$827$$.trigger_ud();
};
$table0F_16$$[92] = $table0F_32$$[92] = function $$table0F_32$$$92$($cpu$$828$$) {
$cpu$$828$$.trigger_ud();
};
$table0F_16$$[93] = $table0F_32$$[93] = function $$table0F_32$$$93$($cpu$$829$$) {
$cpu$$829$$.trigger_ud();
};
$table0F_16$$[94] = $table0F_32$$[94] = function $$table0F_32$$$94$($cpu$$830$$) {
$cpu$$830$$.trigger_ud();
};
$table0F_16$$[95] = $table0F_32$$[95] = function $$table0F_32$$$95$($cpu$$831$$) {
$cpu$$831$$.trigger_ud();
};
$table0F_16$$[96] = $table0F_32$$[96] = function $$table0F_32$$$96$($cpu$$832$$) {
$cpu$$832$$.trigger_ud();
};
$table0F_16$$[97] = $table0F_32$$[97] = function $$table0F_32$$$97$($cpu$$833$$) {
$cpu$$833$$.trigger_ud();
};
$table0F_16$$[98] = $table0F_32$$[98] = function $$table0F_32$$$98$($cpu$$834$$) {
$cpu$$834$$.trigger_ud();
};
$table0F_16$$[99] = $table0F_32$$[99] = function $$table0F_32$$$99$($cpu$$835$$) {
$cpu$$835$$.trigger_ud();
};
$table0F_16$$[100] = $table0F_32$$[100] = function $$table0F_32$$$100$($cpu$$836$$) {
$cpu$$836$$.trigger_ud();
};
$table0F_16$$[101] = $table0F_32$$[101] = function $$table0F_32$$$101$($cpu$$837$$) {
$cpu$$837$$.trigger_ud();
};
$table0F_16$$[102] = $table0F_32$$[102] = function $$table0F_32$$$102$($cpu$$838$$) {
$cpu$$838$$.trigger_ud();
};
$table0F_16$$[103] = $table0F_32$$[103] = function $$table0F_32$$$103$($cpu$$839$$) {
$cpu$$839$$.trigger_ud();
};
$table0F_16$$[104] = $table0F_32$$[104] = function $$table0F_32$$$104$($cpu$$840$$) {
$cpu$$840$$.trigger_ud();
};
$table0F_16$$[105] = $table0F_32$$[105] = function $$table0F_32$$$105$($cpu$$841$$) {
$cpu$$841$$.trigger_ud();
};
$table0F_16$$[106] = $table0F_32$$[106] = function $$table0F_32$$$106$($cpu$$842$$) {
$cpu$$842$$.trigger_ud();
};
$table0F_16$$[107] = $table0F_32$$[107] = function $$table0F_32$$$107$($cpu$$843$$) {
$cpu$$843$$.trigger_ud();
};
$table0F_16$$[108] = $table0F_32$$[108] = function $$table0F_32$$$108$($cpu$$844$$) {
$cpu$$844$$.trigger_ud();
};
$table0F_16$$[109] = $table0F_32$$[109] = function $$table0F_32$$$109$($cpu$$845$$) {
$cpu$$845$$.trigger_ud();
};
$table0F_16$$[110] = $table0F_32$$[110] = function $$table0F_32$$$110$($cpu$$846$$) {
$cpu$$846$$.trigger_ud();
};
$table0F_16$$[111] = $table0F_32$$[111] = function $$table0F_32$$$111$($cpu$$847$$) {
$cpu$$847$$.trigger_ud();
};
$table0F_16$$[112] = $table0F_32$$[112] = function $$table0F_32$$$112$($cpu$$848$$) {
$cpu$$848$$.trigger_ud();
};
$table0F_16$$[113] = $table0F_32$$[113] = function $$table0F_32$$$113$($cpu$$849$$) {
$cpu$$849$$.trigger_ud();
};
$table0F_16$$[114] = $table0F_32$$[114] = function $$table0F_32$$$114$($cpu$$850$$) {
$cpu$$850$$.trigger_ud();
};
$table0F_16$$[115] = $table0F_32$$[115] = function $$table0F_32$$$115$($cpu$$851$$) {
$cpu$$851$$.trigger_ud();
};
$table0F_16$$[116] = $table0F_32$$[116] = function $$table0F_32$$$116$($cpu$$852$$) {
$cpu$$852$$.trigger_ud();
};
$table0F_16$$[117] = $table0F_32$$[117] = function $$table0F_32$$$117$($cpu$$853$$) {
$cpu$$853$$.trigger_ud();
};
$table0F_16$$[118] = $table0F_32$$[118] = function $$table0F_32$$$118$($cpu$$854$$) {
$cpu$$854$$.trigger_ud();
};
$table0F_16$$[119] = $table0F_32$$[119] = function $$table0F_32$$$119$($cpu$$855$$) {
$cpu$$855$$.trigger_ud();
};
$table0F_16$$[120] = $table0F_32$$[120] = function $$table0F_32$$$120$($cpu$$856$$) {
$cpu$$856$$.trigger_ud();
};
$table0F_16$$[121] = $table0F_32$$[121] = function $$table0F_32$$$121$($cpu$$857$$) {
$cpu$$857$$.trigger_ud();
};
$table0F_16$$[122] = $table0F_32$$[122] = function $$table0F_32$$$122$($cpu$$858$$) {
$cpu$$858$$.trigger_ud();
};
$table0F_16$$[123] = $table0F_32$$[123] = function $$table0F_32$$$123$($cpu$$859$$) {
$cpu$$859$$.trigger_ud();
};
$table0F_16$$[124] = $table0F_32$$[124] = function $$table0F_32$$$124$($cpu$$860$$) {
$cpu$$860$$.trigger_ud();
};
$table0F_16$$[125] = $table0F_32$$[125] = function $$table0F_32$$$125$($cpu$$861$$) {
$cpu$$861$$.trigger_ud();
};
$table0F_16$$[126] = $table0F_32$$[126] = function $$table0F_32$$$126$($cpu$$862$$) {
$cpu$$862$$.trigger_ud();
};
$table0F_16$$[127] = $table0F_32$$[127] = function $$table0F_32$$$127$($cpu$$863$$) {
$cpu$$863$$.trigger_ud();
};
$table0F_16$$[128] = function $$table0F_16$$$128$($cpu$$864$$) {
$cpu$$864$$.jmpcc16($cpu$$864$$.test_o());
};
$table0F_32$$[128] = function $$table0F_32$$$128$($cpu$$865$$) {
$cpu$$865$$.jmpcc32($cpu$$865$$.test_o());
};
$table0F_16$$[129] = function $$table0F_16$$$129$($cpu$$866$$) {
$cpu$$866$$.jmpcc16(!$cpu$$866$$.test_o());
};
$table0F_32$$[129] = function $$table0F_32$$$129$($cpu$$867$$) {
$cpu$$867$$.jmpcc32(!$cpu$$867$$.test_o());
};
$table0F_16$$[130] = function $$table0F_16$$$130$($cpu$$868$$) {
$cpu$$868$$.jmpcc16($cpu$$868$$.test_b());
};
$table0F_32$$[130] = function $$table0F_32$$$130$($cpu$$869$$) {
$cpu$$869$$.jmpcc32($cpu$$869$$.test_b());
};
$table0F_16$$[131] = function $$table0F_16$$$131$($cpu$$870$$) {
$cpu$$870$$.jmpcc16(!$cpu$$870$$.test_b());
};
$table0F_32$$[131] = function $$table0F_32$$$131$($cpu$$871$$) {
$cpu$$871$$.jmpcc32(!$cpu$$871$$.test_b());
};
$table0F_16$$[132] = function $$table0F_16$$$132$($cpu$$872$$) {
$cpu$$872$$.jmpcc16($cpu$$872$$.test_z());
};
$table0F_32$$[132] = function $$table0F_32$$$132$($cpu$$873$$) {
$cpu$$873$$.jmpcc32($cpu$$873$$.test_z());
};
$table0F_16$$[133] = function $$table0F_16$$$133$($cpu$$874$$) {
$cpu$$874$$.jmpcc16(!$cpu$$874$$.test_z());
};
$table0F_32$$[133] = function $$table0F_32$$$133$($cpu$$875$$) {
$cpu$$875$$.jmpcc32(!$cpu$$875$$.test_z());
};
$table0F_16$$[134] = function $$table0F_16$$$134$($cpu$$876$$) {
$cpu$$876$$.jmpcc16($cpu$$876$$.test_be());
};
$table0F_32$$[134] = function $$table0F_32$$$134$($cpu$$877$$) {
$cpu$$877$$.jmpcc32($cpu$$877$$.test_be());
};
$table0F_16$$[135] = function $$table0F_16$$$135$($cpu$$878$$) {
$cpu$$878$$.jmpcc16(!$cpu$$878$$.test_be());
};
$table0F_32$$[135] = function $$table0F_32$$$135$($cpu$$879$$) {
$cpu$$879$$.jmpcc32(!$cpu$$879$$.test_be());
};
$table0F_16$$[136] = function $$table0F_16$$$136$($cpu$$880$$) {
$cpu$$880$$.jmpcc16($cpu$$880$$.test_s());
};
$table0F_32$$[136] = function $$table0F_32$$$136$($cpu$$881$$) {
$cpu$$881$$.jmpcc32($cpu$$881$$.test_s());
};
$table0F_16$$[137] = function $$table0F_16$$$137$($cpu$$882$$) {
$cpu$$882$$.jmpcc16(!$cpu$$882$$.test_s());
};
$table0F_32$$[137] = function $$table0F_32$$$137$($cpu$$883$$) {
$cpu$$883$$.jmpcc32(!$cpu$$883$$.test_s());
};
$table0F_16$$[138] = function $$table0F_16$$$138$($cpu$$884$$) {
$cpu$$884$$.jmpcc16($cpu$$884$$.test_p());
};
$table0F_32$$[138] = function $$table0F_32$$$138$($cpu$$885$$) {
$cpu$$885$$.jmpcc32($cpu$$885$$.test_p());
};
$table0F_16$$[139] = function $$table0F_16$$$139$($cpu$$886$$) {
$cpu$$886$$.jmpcc16(!$cpu$$886$$.test_p());
};
$table0F_32$$[139] = function $$table0F_32$$$139$($cpu$$887$$) {
$cpu$$887$$.jmpcc32(!$cpu$$887$$.test_p());
};
$table0F_16$$[140] = function $$table0F_16$$$140$($cpu$$888$$) {
$cpu$$888$$.jmpcc16($cpu$$888$$.test_l());
};
$table0F_32$$[140] = function $$table0F_32$$$140$($cpu$$889$$) {
$cpu$$889$$.jmpcc32($cpu$$889$$.test_l());
};
$table0F_16$$[141] = function $$table0F_16$$$141$($cpu$$890$$) {
$cpu$$890$$.jmpcc16(!$cpu$$890$$.test_l());
};
$table0F_32$$[141] = function $$table0F_32$$$141$($cpu$$891$$) {
$cpu$$891$$.jmpcc32(!$cpu$$891$$.test_l());
};
$table0F_16$$[142] = function $$table0F_16$$$142$($cpu$$892$$) {
$cpu$$892$$.jmpcc16($cpu$$892$$.test_le());
};
$table0F_32$$[142] = function $$table0F_32$$$142$($cpu$$893$$) {
$cpu$$893$$.jmpcc32($cpu$$893$$.test_le());
};
$table0F_16$$[143] = function $$table0F_16$$$143$($cpu$$894$$) {
$cpu$$894$$.jmpcc16(!$cpu$$894$$.test_le());
};
$table0F_32$$[143] = function $$table0F_32$$$143$($cpu$$895$$) {
$cpu$$895$$.jmpcc32(!$cpu$$895$$.test_le());
};
$table0F_16$$[144] = $table0F_32$$[144] = function $$table0F_32$$$144$($cpu$$896$$) {
var $modrm_byte$$149$$ = $cpu$$896$$.read_imm8();
if (192 > $modrm_byte$$149$$) {
var $addr$$35$$ = $cpu$$896$$.modrm_resolve($modrm_byte$$149$$)
}
var $data$$154$$ = !$cpu$$896$$.test_o() ^ 1;
192 > $modrm_byte$$149$$ ? $cpu$$896$$.safe_write8($addr$$35$$, $data$$154$$) : $cpu$$896$$.reg8[$modrm_byte$$149$$ << 2 & 12 | $modrm_byte$$149$$ >> 2 & 1] = $data$$154$$;
};
$table0F_16$$[145] = $table0F_32$$[145] = function $$table0F_32$$$145$($cpu$$897$$) {
var $modrm_byte$$150$$ = $cpu$$897$$.read_imm8();
if (192 > $modrm_byte$$150$$) {
var $addr$$36$$ = $cpu$$897$$.modrm_resolve($modrm_byte$$150$$)
}
var $data$$155$$ = !!$cpu$$897$$.test_o() ^ 1;
192 > $modrm_byte$$150$$ ? $cpu$$897$$.safe_write8($addr$$36$$, $data$$155$$) : $cpu$$897$$.reg8[$modrm_byte$$150$$ << 2 & 12 | $modrm_byte$$150$$ >> 2 & 1] = $data$$155$$;
};
$table0F_16$$[146] = $table0F_32$$[146] = function $$table0F_32$$$146$($cpu$$898$$) {
var $modrm_byte$$151$$ = $cpu$$898$$.read_imm8();
if (192 > $modrm_byte$$151$$) {
var $addr$$37$$ = $cpu$$898$$.modrm_resolve($modrm_byte$$151$$)
}
var $data$$156$$ = !$cpu$$898$$.test_b() ^ 1;
192 > $modrm_byte$$151$$ ? $cpu$$898$$.safe_write8($addr$$37$$, $data$$156$$) : $cpu$$898$$.reg8[$modrm_byte$$151$$ << 2 & 12 | $modrm_byte$$151$$ >> 2 & 1] = $data$$156$$;
};
$table0F_16$$[147] = $table0F_32$$[147] = function $$table0F_32$$$147$($cpu$$899$$) {
var $modrm_byte$$152$$ = $cpu$$899$$.read_imm8();
if (192 > $modrm_byte$$152$$) {
var $addr$$38$$ = $cpu$$899$$.modrm_resolve($modrm_byte$$152$$)
}
var $data$$157$$ = !!$cpu$$899$$.test_b() ^ 1;
192 > $modrm_byte$$152$$ ? $cpu$$899$$.safe_write8($addr$$38$$, $data$$157$$) : $cpu$$899$$.reg8[$modrm_byte$$152$$ << 2 & 12 | $modrm_byte$$152$$ >> 2 & 1] = $data$$157$$;
};
$table0F_16$$[148] = $table0F_32$$[148] = function $$table0F_32$$$148$($cpu$$900$$) {
var $modrm_byte$$153$$ = $cpu$$900$$.read_imm8();
if (192 > $modrm_byte$$153$$) {
var $addr$$39$$ = $cpu$$900$$.modrm_resolve($modrm_byte$$153$$)
}
var $data$$158$$ = !$cpu$$900$$.test_z() ^ 1;
192 > $modrm_byte$$153$$ ? $cpu$$900$$.safe_write8($addr$$39$$, $data$$158$$) : $cpu$$900$$.reg8[$modrm_byte$$153$$ << 2 & 12 | $modrm_byte$$153$$ >> 2 & 1] = $data$$158$$;
};
$table0F_16$$[149] = $table0F_32$$[149] = function $$table0F_32$$$149$($cpu$$901$$) {
var $modrm_byte$$154$$ = $cpu$$901$$.read_imm8();
if (192 > $modrm_byte$$154$$) {
var $addr$$40$$ = $cpu$$901$$.modrm_resolve($modrm_byte$$154$$)
}
var $data$$159$$ = !!$cpu$$901$$.test_z() ^ 1;
192 > $modrm_byte$$154$$ ? $cpu$$901$$.safe_write8($addr$$40$$, $data$$159$$) : $cpu$$901$$.reg8[$modrm_byte$$154$$ << 2 & 12 | $modrm_byte$$154$$ >> 2 & 1] = $data$$159$$;
};
$table0F_16$$[150] = $table0F_32$$[150] = function $$table0F_32$$$150$($cpu$$902$$) {
var $modrm_byte$$155$$ = $cpu$$902$$.read_imm8();
if (192 > $modrm_byte$$155$$) {
var $addr$$41$$ = $cpu$$902$$.modrm_resolve($modrm_byte$$155$$)
}
var $data$$160$$ = !$cpu$$902$$.test_be() ^ 1;
192 > $modrm_byte$$155$$ ? $cpu$$902$$.safe_write8($addr$$41$$, $data$$160$$) : $cpu$$902$$.reg8[$modrm_byte$$155$$ << 2 & 12 | $modrm_byte$$155$$ >> 2 & 1] = $data$$160$$;
};
$table0F_16$$[151] = $table0F_32$$[151] = function $$table0F_32$$$151$($cpu$$903$$) {
var $modrm_byte$$156$$ = $cpu$$903$$.read_imm8();
if (192 > $modrm_byte$$156$$) {
var $addr$$42$$ = $cpu$$903$$.modrm_resolve($modrm_byte$$156$$)
}
var $data$$161$$ = !!$cpu$$903$$.test_be() ^ 1;
192 > $modrm_byte$$156$$ ? $cpu$$903$$.safe_write8($addr$$42$$, $data$$161$$) : $cpu$$903$$.reg8[$modrm_byte$$156$$ << 2 & 12 | $modrm_byte$$156$$ >> 2 & 1] = $data$$161$$;
};
$table0F_16$$[152] = $table0F_32$$[152] = function $$table0F_32$$$152$($cpu$$904$$) {
var $modrm_byte$$157$$ = $cpu$$904$$.read_imm8();
if (192 > $modrm_byte$$157$$) {
var $addr$$43$$ = $cpu$$904$$.modrm_resolve($modrm_byte$$157$$)
}
var $data$$162$$ = !$cpu$$904$$.test_s() ^ 1;
192 > $modrm_byte$$157$$ ? $cpu$$904$$.safe_write8($addr$$43$$, $data$$162$$) : $cpu$$904$$.reg8[$modrm_byte$$157$$ << 2 & 12 | $modrm_byte$$157$$ >> 2 & 1] = $data$$162$$;
};
$table0F_16$$[153] = $table0F_32$$[153] = function $$table0F_32$$$153$($cpu$$905$$) {
var $modrm_byte$$158$$ = $cpu$$905$$.read_imm8();
if (192 > $modrm_byte$$158$$) {
var $addr$$44$$ = $cpu$$905$$.modrm_resolve($modrm_byte$$158$$)
}
var $data$$163$$ = !!$cpu$$905$$.test_s() ^ 1;
192 > $modrm_byte$$158$$ ? $cpu$$905$$.safe_write8($addr$$44$$, $data$$163$$) : $cpu$$905$$.reg8[$modrm_byte$$158$$ << 2 & 12 | $modrm_byte$$158$$ >> 2 & 1] = $data$$163$$;
};
$table0F_16$$[154] = $table0F_32$$[154] = function $$table0F_32$$$154$($cpu$$906$$) {
var $modrm_byte$$159$$ = $cpu$$906$$.read_imm8();
if (192 > $modrm_byte$$159$$) {
var $addr$$45$$ = $cpu$$906$$.modrm_resolve($modrm_byte$$159$$)
}
var $data$$164$$ = !$cpu$$906$$.test_p() ^ 1;
192 > $modrm_byte$$159$$ ? $cpu$$906$$.safe_write8($addr$$45$$, $data$$164$$) : $cpu$$906$$.reg8[$modrm_byte$$159$$ << 2 & 12 | $modrm_byte$$159$$ >> 2 & 1] = $data$$164$$;
};
$table0F_16$$[155] = $table0F_32$$[155] = function $$table0F_32$$$155$($cpu$$907$$) {
var $modrm_byte$$160$$ = $cpu$$907$$.read_imm8();
if (192 > $modrm_byte$$160$$) {
var $addr$$46$$ = $cpu$$907$$.modrm_resolve($modrm_byte$$160$$)
}
var $data$$165$$ = !!$cpu$$907$$.test_p() ^ 1;
192 > $modrm_byte$$160$$ ? $cpu$$907$$.safe_write8($addr$$46$$, $data$$165$$) : $cpu$$907$$.reg8[$modrm_byte$$160$$ << 2 & 12 | $modrm_byte$$160$$ >> 2 & 1] = $data$$165$$;
};
$table0F_16$$[156] = $table0F_32$$[156] = function $$table0F_32$$$156$($cpu$$908$$) {
var $modrm_byte$$161$$ = $cpu$$908$$.read_imm8();
if (192 > $modrm_byte$$161$$) {
var $addr$$47$$ = $cpu$$908$$.modrm_resolve($modrm_byte$$161$$)
}
var $data$$166$$ = !$cpu$$908$$.test_l() ^ 1;
192 > $modrm_byte$$161$$ ? $cpu$$908$$.safe_write8($addr$$47$$, $data$$166$$) : $cpu$$908$$.reg8[$modrm_byte$$161$$ << 2 & 12 | $modrm_byte$$161$$ >> 2 & 1] = $data$$166$$;
};
$table0F_16$$[157] = $table0F_32$$[157] = function $$table0F_32$$$157$($cpu$$909$$) {
var $modrm_byte$$162$$ = $cpu$$909$$.read_imm8();
if (192 > $modrm_byte$$162$$) {
var $addr$$48$$ = $cpu$$909$$.modrm_resolve($modrm_byte$$162$$)
}
var $data$$167$$ = !!$cpu$$909$$.test_l() ^ 1;
192 > $modrm_byte$$162$$ ? $cpu$$909$$.safe_write8($addr$$48$$, $data$$167$$) : $cpu$$909$$.reg8[$modrm_byte$$162$$ << 2 & 12 | $modrm_byte$$162$$ >> 2 & 1] = $data$$167$$;
};
$table0F_16$$[158] = $table0F_32$$[158] = function $$table0F_32$$$158$($cpu$$910$$) {
var $modrm_byte$$163$$ = $cpu$$910$$.read_imm8();
if (192 > $modrm_byte$$163$$) {
var $addr$$49$$ = $cpu$$910$$.modrm_resolve($modrm_byte$$163$$)
}
var $data$$168$$ = !$cpu$$910$$.test_le() ^ 1;
192 > $modrm_byte$$163$$ ? $cpu$$910$$.safe_write8($addr$$49$$, $data$$168$$) : $cpu$$910$$.reg8[$modrm_byte$$163$$ << 2 & 12 | $modrm_byte$$163$$ >> 2 & 1] = $data$$168$$;
};
$table0F_16$$[159] = $table0F_32$$[159] = function $$table0F_32$$$159$($cpu$$911$$) {
var $modrm_byte$$164$$ = $cpu$$911$$.read_imm8();
if (192 > $modrm_byte$$164$$) {
var $addr$$50$$ = $cpu$$911$$.modrm_resolve($modrm_byte$$164$$)
}
var $data$$169$$ = !!$cpu$$911$$.test_le() ^ 1;
192 > $modrm_byte$$164$$ ? $cpu$$911$$.safe_write8($addr$$50$$, $data$$169$$) : $cpu$$911$$.reg8[$modrm_byte$$164$$ << 2 & 12 | $modrm_byte$$164$$ >> 2 & 1] = $data$$169$$;
};
$table0F_16$$[160] = function $$table0F_16$$$160$($cpu$$912$$) {
$cpu$$912$$.push16($cpu$$912$$.sreg[4]);
};
$table0F_32$$[160] = function $$table0F_32$$$160$($cpu$$913$$) {
$cpu$$913$$.push32($cpu$$913$$.sreg[4]);
};
$table0F_16$$[161] = function $$table0F_16$$$161$($cpu$$914$$) {
$cpu$$914$$.switch_seg(4, $cpu$$914$$.safe_read16($cpu$$914$$.get_stack_pointer(0)));
$cpu$$914$$.stack_reg[$cpu$$914$$.reg_vsp] += 2;
};
$table0F_32$$[161] = function $$table0F_32$$$161$($cpu$$915$$) {
$cpu$$915$$.switch_seg(4, $cpu$$915$$.safe_read16($cpu$$915$$.get_stack_pointer(0)));
$cpu$$915$$.stack_reg[$cpu$$915$$.reg_vsp] += 4;
};
$table0F_16$$[162] = $table0F_32$$[162] = function $$table0F_32$$$162$($cpu$$916$$) {
$cpu$$916$$.cpuid();
};
$table0F_16$$[163] = function $$table0F_16$$$163$($cpu$$917$$) {
var $modrm_byte$$165$$ = $cpu$$917$$.read_imm8();
192 > $modrm_byte$$165$$ ? $cpu$$917$$.bt_mem($cpu$$917$$.modrm_resolve($modrm_byte$$165$$), $cpu$$917$$.reg16s[$modrm_byte$$165$$ >> 2 & 14]) : $cpu$$917$$.bt_reg($cpu$$917$$.reg16[$modrm_byte$$165$$ << 1 & 14], $cpu$$917$$.reg16[$modrm_byte$$165$$ >> 2 & 14] & 15);
};
$table0F_32$$[163] = function $$table0F_32$$$163$($cpu$$918$$) {
var $modrm_byte$$166$$ = $cpu$$918$$.read_imm8();
192 > $modrm_byte$$166$$ ? $cpu$$918$$.bt_mem($cpu$$918$$.modrm_resolve($modrm_byte$$166$$), $cpu$$918$$.reg32s[$modrm_byte$$166$$ >> 3 & 7]) : $cpu$$918$$.bt_reg($cpu$$918$$.reg32s[$modrm_byte$$166$$ & 7], $cpu$$918$$.reg32s[$modrm_byte$$166$$ >> 3 & 7] & 31);
};
$table0F_16$$[164] = function $$table0F_16$$$164$($cpu$$919$$) {
var $modrm_byte$$167$$ = $cpu$$919$$.read_imm8(), $data$$170_result$$68_virt_addr$$35$$, $phys_addr$$34$$, $phys_addr_high$$31$$ = 0;
192 > $modrm_byte$$167$$ ? ($data$$170_result$$68_virt_addr$$35$$ = $cpu$$919$$.modrm_resolve($modrm_byte$$167$$), $phys_addr$$34$$ = $cpu$$919$$.translate_address_write($data$$170_result$$68_virt_addr$$35$$), $cpu$$919$$.paging && 4095 === ($data$$170_result$$68_virt_addr$$35$$ & 4095) ? ($phys_addr_high$$31$$ = $cpu$$919$$.translate_address_write($data$$170_result$$68_virt_addr$$35$$ + 1), $data$$170_result$$68_virt_addr$$35$$ = $cpu$$919$$.virt_boundary_read16($phys_addr$$34$$, $phys_addr_high$$31$$)) :
$data$$170_result$$68_virt_addr$$35$$ = $cpu$$919$$.memory.read16($phys_addr$$34$$)) : $data$$170_result$$68_virt_addr$$35$$ = $cpu$$919$$.reg16[$modrm_byte$$167$$ << 1 & 14];
$data$$170_result$$68_virt_addr$$35$$ = $cpu$$919$$.shld16($data$$170_result$$68_virt_addr$$35$$, $cpu$$919$$.reg16[$modrm_byte$$167$$ >> 2 & 14], $cpu$$919$$.read_imm8() & 31);
192 > $modrm_byte$$167$$ ? $phys_addr_high$$31$$ ? $cpu$$919$$.virt_boundary_write16($phys_addr$$34$$, $phys_addr_high$$31$$, $data$$170_result$$68_virt_addr$$35$$) : $cpu$$919$$.memory.write16($phys_addr$$34$$, $data$$170_result$$68_virt_addr$$35$$) : $cpu$$919$$.reg16[$modrm_byte$$167$$ << 1 & 14] = $data$$170_result$$68_virt_addr$$35$$;
};
$table0F_32$$[164] = function $$table0F_32$$$164$($cpu$$920$$) {
var $modrm_byte$$168$$ = $cpu$$920$$.read_imm8(), $data$$171_result$$69_virt_addr$$36$$, $phys_addr$$35$$, $phys_addr_high$$32$$ = 0;
192 > $modrm_byte$$168$$ ? ($data$$171_result$$69_virt_addr$$36$$ = $cpu$$920$$.modrm_resolve($modrm_byte$$168$$), $phys_addr$$35$$ = $cpu$$920$$.translate_address_write($data$$171_result$$69_virt_addr$$36$$), $cpu$$920$$.paging && 4093 <= ($data$$171_result$$69_virt_addr$$36$$ & 4095) ? ($phys_addr_high$$32$$ = $cpu$$920$$.translate_address_write($data$$171_result$$69_virt_addr$$36$$ + 3), $data$$171_result$$69_virt_addr$$36$$ = $cpu$$920$$.virt_boundary_read32s($phys_addr$$35$$, $phys_addr_high$$32$$)) :
$data$$171_result$$69_virt_addr$$36$$ = $cpu$$920$$.memory.read32s($phys_addr$$35$$)) : $data$$171_result$$69_virt_addr$$36$$ = $cpu$$920$$.reg32s[$modrm_byte$$168$$ & 7];
$data$$171_result$$69_virt_addr$$36$$ = $cpu$$920$$.shld32($data$$171_result$$69_virt_addr$$36$$, $cpu$$920$$.reg32s[$modrm_byte$$168$$ >> 3 & 7], $cpu$$920$$.read_imm8() & 31);
192 > $modrm_byte$$168$$ ? $phys_addr_high$$32$$ ? $cpu$$920$$.virt_boundary_write32($phys_addr$$35$$, $phys_addr_high$$32$$, $data$$171_result$$69_virt_addr$$36$$) : $cpu$$920$$.memory.write32($phys_addr$$35$$, $data$$171_result$$69_virt_addr$$36$$) : $cpu$$920$$.reg32s[$modrm_byte$$168$$ & 7] = $data$$171_result$$69_virt_addr$$36$$;
};
$table0F_16$$[165] = function $$table0F_16$$$165$($cpu$$921$$) {
var $modrm_byte$$169$$ = $cpu$$921$$.read_imm8(), $data$$172_result$$70_virt_addr$$37$$, $phys_addr$$36$$, $phys_addr_high$$33$$ = 0;
192 > $modrm_byte$$169$$ ? ($data$$172_result$$70_virt_addr$$37$$ = $cpu$$921$$.modrm_resolve($modrm_byte$$169$$), $phys_addr$$36$$ = $cpu$$921$$.translate_address_write($data$$172_result$$70_virt_addr$$37$$), $cpu$$921$$.paging && 4095 === ($data$$172_result$$70_virt_addr$$37$$ & 4095) ? ($phys_addr_high$$33$$ = $cpu$$921$$.translate_address_write($data$$172_result$$70_virt_addr$$37$$ + 1), $data$$172_result$$70_virt_addr$$37$$ = $cpu$$921$$.virt_boundary_read16($phys_addr$$36$$, $phys_addr_high$$33$$)) :
$data$$172_result$$70_virt_addr$$37$$ = $cpu$$921$$.memory.read16($phys_addr$$36$$)) : $data$$172_result$$70_virt_addr$$37$$ = $cpu$$921$$.reg16[$modrm_byte$$169$$ << 1 & 14];
$data$$172_result$$70_virt_addr$$37$$ = $cpu$$921$$.shld16($data$$172_result$$70_virt_addr$$37$$, $cpu$$921$$.reg16[$modrm_byte$$169$$ >> 2 & 14], $cpu$$921$$.reg8[4] & 31);
192 > $modrm_byte$$169$$ ? $phys_addr_high$$33$$ ? $cpu$$921$$.virt_boundary_write16($phys_addr$$36$$, $phys_addr_high$$33$$, $data$$172_result$$70_virt_addr$$37$$) : $cpu$$921$$.memory.write16($phys_addr$$36$$, $data$$172_result$$70_virt_addr$$37$$) : $cpu$$921$$.reg16[$modrm_byte$$169$$ << 1 & 14] = $data$$172_result$$70_virt_addr$$37$$;
};
$table0F_32$$[165] = function $$table0F_32$$$165$($cpu$$922$$) {
var $modrm_byte$$170$$ = $cpu$$922$$.read_imm8(), $data$$173_result$$71_virt_addr$$38$$, $phys_addr$$37$$, $phys_addr_high$$34$$ = 0;
192 > $modrm_byte$$170$$ ? ($data$$173_result$$71_virt_addr$$38$$ = $cpu$$922$$.modrm_resolve($modrm_byte$$170$$), $phys_addr$$37$$ = $cpu$$922$$.translate_address_write($data$$173_result$$71_virt_addr$$38$$), $cpu$$922$$.paging && 4093 <= ($data$$173_result$$71_virt_addr$$38$$ & 4095) ? ($phys_addr_high$$34$$ = $cpu$$922$$.translate_address_write($data$$173_result$$71_virt_addr$$38$$ + 3), $data$$173_result$$71_virt_addr$$38$$ = $cpu$$922$$.virt_boundary_read32s($phys_addr$$37$$, $phys_addr_high$$34$$)) :
$data$$173_result$$71_virt_addr$$38$$ = $cpu$$922$$.memory.read32s($phys_addr$$37$$)) : $data$$173_result$$71_virt_addr$$38$$ = $cpu$$922$$.reg32s[$modrm_byte$$170$$ & 7];
$data$$173_result$$71_virt_addr$$38$$ = $cpu$$922$$.shld32($data$$173_result$$71_virt_addr$$38$$, $cpu$$922$$.reg32s[$modrm_byte$$170$$ >> 3 & 7], $cpu$$922$$.reg8[4] & 31);
192 > $modrm_byte$$170$$ ? $phys_addr_high$$34$$ ? $cpu$$922$$.virt_boundary_write32($phys_addr$$37$$, $phys_addr_high$$34$$, $data$$173_result$$71_virt_addr$$38$$) : $cpu$$922$$.memory.write32($phys_addr$$37$$, $data$$173_result$$71_virt_addr$$38$$) : $cpu$$922$$.reg32s[$modrm_byte$$170$$ & 7] = $data$$173_result$$71_virt_addr$$38$$;
};
$table0F_16$$[166] = $table0F_32$$[166] = function $$table0F_32$$$166$($cpu$$923$$) {
$cpu$$923$$.trigger_ud();
};
$table0F_16$$[167] = $table0F_32$$[167] = function $$table0F_32$$$167$($cpu$$924$$) {
$cpu$$924$$.trigger_ud();
};
$table0F_16$$[168] = function $$table0F_16$$$168$($cpu$$925$$) {
$cpu$$925$$.push16($cpu$$925$$.sreg[5]);
};
$table0F_32$$[168] = function $$table0F_32$$$168$($cpu$$926$$) {
$cpu$$926$$.push32($cpu$$926$$.sreg[5]);
};
$table0F_16$$[169] = function $$table0F_16$$$169$($cpu$$927$$) {
$cpu$$927$$.switch_seg(5, $cpu$$927$$.safe_read16($cpu$$927$$.get_stack_pointer(0)));
$cpu$$927$$.stack_reg[$cpu$$927$$.reg_vsp] += 2;
};
$table0F_32$$[169] = function $$table0F_32$$$169$($cpu$$928$$) {
$cpu$$928$$.switch_seg(5, $cpu$$928$$.safe_read16($cpu$$928$$.get_stack_pointer(0)));
$cpu$$928$$.stack_reg[$cpu$$928$$.reg_vsp] += 4;
};
$table0F_16$$[170] = $table0F_32$$[170] = function $$table0F_32$$$170$($cpu$$929$$) {
$cpu$$929$$.trigger_ud();
};
$table0F_16$$[171] = function $$table0F_16$$$171$($cpu$$930$$) {
var $modrm_byte$$171$$ = $cpu$$930$$.read_imm8();
192 > $modrm_byte$$171$$ ? $cpu$$930$$.bts_mem($cpu$$930$$.modrm_resolve($modrm_byte$$171$$), $cpu$$930$$.reg16s[$modrm_byte$$171$$ >> 2 & 14]) : $cpu$$930$$.reg16[$modrm_byte$$171$$ << 1 & 14] = $cpu$$930$$.bts_reg($cpu$$930$$.reg16[$modrm_byte$$171$$ << 1 & 14], $cpu$$930$$.reg16s[$modrm_byte$$171$$ >> 2 & 14] & 15);
};
$table0F_32$$[171] = function $$table0F_32$$$171$($cpu$$931$$) {
var $modrm_byte$$172$$ = $cpu$$931$$.read_imm8();
192 > $modrm_byte$$172$$ ? $cpu$$931$$.bts_mem($cpu$$931$$.modrm_resolve($modrm_byte$$172$$), $cpu$$931$$.reg32s[$modrm_byte$$172$$ >> 3 & 7]) : $cpu$$931$$.reg32s[$modrm_byte$$172$$ & 7] = $cpu$$931$$.bts_reg($cpu$$931$$.reg32s[$modrm_byte$$172$$ & 7], $cpu$$931$$.reg32s[$modrm_byte$$172$$ >> 3 & 7] & 31);
};
$table0F_16$$[172] = function $$table0F_16$$$172$($cpu$$932$$) {
var $modrm_byte$$173$$ = $cpu$$932$$.read_imm8(), $data$$174_result$$72_virt_addr$$39$$, $phys_addr$$38$$, $phys_addr_high$$35$$ = 0;
192 > $modrm_byte$$173$$ ? ($data$$174_result$$72_virt_addr$$39$$ = $cpu$$932$$.modrm_resolve($modrm_byte$$173$$), $phys_addr$$38$$ = $cpu$$932$$.translate_address_write($data$$174_result$$72_virt_addr$$39$$), $cpu$$932$$.paging && 4095 === ($data$$174_result$$72_virt_addr$$39$$ & 4095) ? ($phys_addr_high$$35$$ = $cpu$$932$$.translate_address_write($data$$174_result$$72_virt_addr$$39$$ + 1), $data$$174_result$$72_virt_addr$$39$$ = $cpu$$932$$.virt_boundary_read16($phys_addr$$38$$, $phys_addr_high$$35$$)) :
$data$$174_result$$72_virt_addr$$39$$ = $cpu$$932$$.memory.read16($phys_addr$$38$$)) : $data$$174_result$$72_virt_addr$$39$$ = $cpu$$932$$.reg16[$modrm_byte$$173$$ << 1 & 14];
$data$$174_result$$72_virt_addr$$39$$ = $cpu$$932$$.shrd16($data$$174_result$$72_virt_addr$$39$$, $cpu$$932$$.reg16[$modrm_byte$$173$$ >> 2 & 14], $cpu$$932$$.read_imm8() & 31);
192 > $modrm_byte$$173$$ ? $phys_addr_high$$35$$ ? $cpu$$932$$.virt_boundary_write16($phys_addr$$38$$, $phys_addr_high$$35$$, $data$$174_result$$72_virt_addr$$39$$) : $cpu$$932$$.memory.write16($phys_addr$$38$$, $data$$174_result$$72_virt_addr$$39$$) : $cpu$$932$$.reg16[$modrm_byte$$173$$ << 1 & 14] = $data$$174_result$$72_virt_addr$$39$$;
};
$table0F_32$$[172] = function $$table0F_32$$$172$($cpu$$933$$) {
var $modrm_byte$$174$$ = $cpu$$933$$.read_imm8(), $data$$175_result$$73_virt_addr$$40$$, $phys_addr$$39$$, $phys_addr_high$$36$$ = 0;
192 > $modrm_byte$$174$$ ? ($data$$175_result$$73_virt_addr$$40$$ = $cpu$$933$$.modrm_resolve($modrm_byte$$174$$), $phys_addr$$39$$ = $cpu$$933$$.translate_address_write($data$$175_result$$73_virt_addr$$40$$), $cpu$$933$$.paging && 4093 <= ($data$$175_result$$73_virt_addr$$40$$ & 4095) ? ($phys_addr_high$$36$$ = $cpu$$933$$.translate_address_write($data$$175_result$$73_virt_addr$$40$$ + 3), $data$$175_result$$73_virt_addr$$40$$ = $cpu$$933$$.virt_boundary_read32s($phys_addr$$39$$, $phys_addr_high$$36$$)) :
$data$$175_result$$73_virt_addr$$40$$ = $cpu$$933$$.memory.read32s($phys_addr$$39$$)) : $data$$175_result$$73_virt_addr$$40$$ = $cpu$$933$$.reg32s[$modrm_byte$$174$$ & 7];
$data$$175_result$$73_virt_addr$$40$$ = $cpu$$933$$.shrd32($data$$175_result$$73_virt_addr$$40$$, $cpu$$933$$.reg32s[$modrm_byte$$174$$ >> 3 & 7], $cpu$$933$$.read_imm8() & 31);
192 > $modrm_byte$$174$$ ? $phys_addr_high$$36$$ ? $cpu$$933$$.virt_boundary_write32($phys_addr$$39$$, $phys_addr_high$$36$$, $data$$175_result$$73_virt_addr$$40$$) : $cpu$$933$$.memory.write32($phys_addr$$39$$, $data$$175_result$$73_virt_addr$$40$$) : $cpu$$933$$.reg32s[$modrm_byte$$174$$ & 7] = $data$$175_result$$73_virt_addr$$40$$;
};
$table0F_16$$[173] = function $$table0F_16$$$173$($cpu$$934$$) {
var $modrm_byte$$175$$ = $cpu$$934$$.read_imm8(), $data$$176_result$$74_virt_addr$$41$$, $phys_addr$$40$$, $phys_addr_high$$37$$ = 0;
192 > $modrm_byte$$175$$ ? ($data$$176_result$$74_virt_addr$$41$$ = $cpu$$934$$.modrm_resolve($modrm_byte$$175$$), $phys_addr$$40$$ = $cpu$$934$$.translate_address_write($data$$176_result$$74_virt_addr$$41$$), $cpu$$934$$.paging && 4095 === ($data$$176_result$$74_virt_addr$$41$$ & 4095) ? ($phys_addr_high$$37$$ = $cpu$$934$$.translate_address_write($data$$176_result$$74_virt_addr$$41$$ + 1), $data$$176_result$$74_virt_addr$$41$$ = $cpu$$934$$.virt_boundary_read16($phys_addr$$40$$, $phys_addr_high$$37$$)) :
$data$$176_result$$74_virt_addr$$41$$ = $cpu$$934$$.memory.read16($phys_addr$$40$$)) : $data$$176_result$$74_virt_addr$$41$$ = $cpu$$934$$.reg16[$modrm_byte$$175$$ << 1 & 14];
$data$$176_result$$74_virt_addr$$41$$ = $cpu$$934$$.shrd16($data$$176_result$$74_virt_addr$$41$$, $cpu$$934$$.reg16[$modrm_byte$$175$$ >> 2 & 14], $cpu$$934$$.reg8[4] & 31);
192 > $modrm_byte$$175$$ ? $phys_addr_high$$37$$ ? $cpu$$934$$.virt_boundary_write16($phys_addr$$40$$, $phys_addr_high$$37$$, $data$$176_result$$74_virt_addr$$41$$) : $cpu$$934$$.memory.write16($phys_addr$$40$$, $data$$176_result$$74_virt_addr$$41$$) : $cpu$$934$$.reg16[$modrm_byte$$175$$ << 1 & 14] = $data$$176_result$$74_virt_addr$$41$$;
};
$table0F_32$$[173] = function $$table0F_32$$$173$($cpu$$935$$) {
var $modrm_byte$$176$$ = $cpu$$935$$.read_imm8(), $data$$177_result$$75_virt_addr$$42$$, $phys_addr$$41$$, $phys_addr_high$$38$$ = 0;
192 > $modrm_byte$$176$$ ? ($data$$177_result$$75_virt_addr$$42$$ = $cpu$$935$$.modrm_resolve($modrm_byte$$176$$), $phys_addr$$41$$ = $cpu$$935$$.translate_address_write($data$$177_result$$75_virt_addr$$42$$), $cpu$$935$$.paging && 4093 <= ($data$$177_result$$75_virt_addr$$42$$ & 4095) ? ($phys_addr_high$$38$$ = $cpu$$935$$.translate_address_write($data$$177_result$$75_virt_addr$$42$$ + 3), $data$$177_result$$75_virt_addr$$42$$ = $cpu$$935$$.virt_boundary_read32s($phys_addr$$41$$, $phys_addr_high$$38$$)) :
$data$$177_result$$75_virt_addr$$42$$ = $cpu$$935$$.memory.read32s($phys_addr$$41$$)) : $data$$177_result$$75_virt_addr$$42$$ = $cpu$$935$$.reg32s[$modrm_byte$$176$$ & 7];
$data$$177_result$$75_virt_addr$$42$$ = $cpu$$935$$.shrd32($data$$177_result$$75_virt_addr$$42$$, $cpu$$935$$.reg32s[$modrm_byte$$176$$ >> 3 & 7], $cpu$$935$$.reg8[4] & 31);
192 > $modrm_byte$$176$$ ? $phys_addr_high$$38$$ ? $cpu$$935$$.virt_boundary_write32($phys_addr$$41$$, $phys_addr_high$$38$$, $data$$177_result$$75_virt_addr$$42$$) : $cpu$$935$$.memory.write32($phys_addr$$41$$, $data$$177_result$$75_virt_addr$$42$$) : $cpu$$935$$.reg32s[$modrm_byte$$176$$ & 7] = $data$$177_result$$75_virt_addr$$42$$;
};
$table0F_16$$[174] = $table0F_32$$[174] = function $$table0F_32$$$174$($cpu$$936$$) {
$cpu$$936$$.trigger_ud();
};
$table0F_16$$[175] = function $$table0F_16$$$175$($cpu$$937$$) {
var $modrm_byte$$177$$ = $cpu$$937$$.read_imm8(), $data$$178$$ = 192 > $modrm_byte$$177$$ ? $cpu$$937$$.safe_read16($cpu$$937$$.modrm_resolve($modrm_byte$$177$$)) << 16 >> 16 : $cpu$$937$$.reg16s[$modrm_byte$$177$$ << 1 & 14];
$cpu$$937$$.reg16[$modrm_byte$$177$$ >> 2 & 14] = $cpu$$937$$.imul_reg16($cpu$$937$$.reg16s[$modrm_byte$$177$$ >> 2 & 14], $data$$178$$);
};
$table0F_32$$[175] = function $$table0F_32$$$175$($cpu$$938$$) {
var $modrm_byte$$178$$ = $cpu$$938$$.read_imm8(), $data$$179$$ = 192 > $modrm_byte$$178$$ ? $cpu$$938$$.safe_read32s($cpu$$938$$.modrm_resolve($modrm_byte$$178$$)) : $cpu$$938$$.reg32s[$modrm_byte$$178$$ & 7];
$cpu$$938$$.reg32s[$modrm_byte$$178$$ >> 3 & 7] = $cpu$$938$$.imul_reg32($cpu$$938$$.reg32s[$modrm_byte$$178$$ >> 3 & 7], $data$$179$$);
};
$table0F_16$$[176] = $table0F_32$$[176] = function $$table0F_32$$$176$($cpu$$939$$) {
var $modrm_byte$$179$$ = $cpu$$939$$.read_imm8();
if (192 > $modrm_byte$$179$$) {
var $virt_addr$$43$$ = $cpu$$939$$.modrm_resolve($modrm_byte$$179$$);
$cpu$$939$$.writable_or_pagefault($virt_addr$$43$$, 1);
var $data$$180$$ = $cpu$$939$$.safe_read8($virt_addr$$43$$);
} else {
$data$$180$$ = $cpu$$939$$.reg8[$modrm_byte$$179$$ << 2 & 12 | $modrm_byte$$179$$ >> 2 & 1];
}
$cpu$$939$$.sub($data$$180$$, $cpu$$939$$.reg8[0], 7);
$cpu$$939$$.getzf() ? 192 > $modrm_byte$$179$$ ? $cpu$$939$$.safe_write8($virt_addr$$43$$, $cpu$$939$$.reg8[$modrm_byte$$179$$ >> 1 & 12 | $modrm_byte$$179$$ >> 5 & 1]) : $cpu$$939$$.reg8[$modrm_byte$$179$$ << 2 & 12 | $modrm_byte$$179$$ >> 2 & 1] = $cpu$$939$$.reg8[$modrm_byte$$179$$ >> 1 & 12 | $modrm_byte$$179$$ >> 5 & 1] : $cpu$$939$$.reg8[0] = $data$$180$$;
};
$table0F_16$$[177] = function $$table0F_16$$$177$($cpu$$940$$) {
var $modrm_byte$$180$$ = $cpu$$940$$.read_imm8();
if (192 > $modrm_byte$$180$$) {
var $virt_addr$$44$$ = $cpu$$940$$.modrm_resolve($modrm_byte$$180$$);
$cpu$$940$$.writable_or_pagefault($virt_addr$$44$$, 2);
var $data$$181$$ = $cpu$$940$$.safe_read16($virt_addr$$44$$);
} else {
$data$$181$$ = $cpu$$940$$.reg16[$modrm_byte$$180$$ << 1 & 14];
}
$cpu$$940$$.sub($data$$181$$, $cpu$$940$$.reg16[0], 15);
$cpu$$940$$.getzf() ? 192 > $modrm_byte$$180$$ ? $cpu$$940$$.safe_write16($virt_addr$$44$$, $cpu$$940$$.reg16[$modrm_byte$$180$$ >> 2 & 14]) : $cpu$$940$$.reg16[$modrm_byte$$180$$ << 1 & 14] = $cpu$$940$$.reg16[$modrm_byte$$180$$ >> 2 & 14] : $cpu$$940$$.reg16[0] = $data$$181$$;
};
$table0F_32$$[177] = function $$table0F_32$$$177$($cpu$$941$$) {
var $modrm_byte$$181$$ = $cpu$$941$$.read_imm8();
if (192 > $modrm_byte$$181$$) {
var $virt_addr$$45$$ = $cpu$$941$$.modrm_resolve($modrm_byte$$181$$);
$cpu$$941$$.writable_or_pagefault($virt_addr$$45$$, 4);
var $data$$182$$ = $cpu$$941$$.safe_read32s($virt_addr$$45$$);
} else {
$data$$182$$ = $cpu$$941$$.reg32s[$modrm_byte$$181$$ & 7];
}
$cpu$$941$$.sub($data$$182$$, $cpu$$941$$.reg32s[0], 31);
$cpu$$941$$.getzf() ? 192 > $modrm_byte$$181$$ ? $cpu$$941$$.safe_write32($virt_addr$$45$$, $cpu$$941$$.reg32s[$modrm_byte$$181$$ >> 3 & 7]) : $cpu$$941$$.reg32s[$modrm_byte$$181$$ & 7] = $cpu$$941$$.reg32s[$modrm_byte$$181$$ >> 3 & 7] : $cpu$$941$$.reg32s[0] = $data$$182$$;
};
$table0F_16$$[178] = function $$table0F_16$$$178$($cpu$$942$$) {
var $modrm_byte$$182$$ = $cpu$$942$$.read_imm8();
192 <= $modrm_byte$$182$$ && $cpu$$942$$.trigger_ud();
$cpu$$942$$.lss16(2, $cpu$$942$$.modrm_resolve($modrm_byte$$182$$), $modrm_byte$$182$$ >> 2 & 14);
};
$table0F_32$$[178] = function $$table0F_32$$$178$($cpu$$943$$) {
var $modrm_byte$$183$$ = $cpu$$943$$.read_imm8();
192 <= $modrm_byte$$183$$ && $cpu$$943$$.trigger_ud();
$cpu$$943$$.lss32(2, $cpu$$943$$.modrm_resolve($modrm_byte$$183$$), $modrm_byte$$183$$ >> 3 & 7);
};
$table0F_16$$[179] = function $$table0F_16$$$179$($cpu$$944$$) {
var $modrm_byte$$184$$ = $cpu$$944$$.read_imm8();
192 > $modrm_byte$$184$$ ? $cpu$$944$$.btr_mem($cpu$$944$$.modrm_resolve($modrm_byte$$184$$), $cpu$$944$$.reg16s[$modrm_byte$$184$$ >> 2 & 14]) : $cpu$$944$$.reg16[$modrm_byte$$184$$ << 1 & 14] = $cpu$$944$$.btr_reg($cpu$$944$$.reg16[$modrm_byte$$184$$ << 1 & 14], $cpu$$944$$.reg16s[$modrm_byte$$184$$ >> 2 & 14] & 15);
};
$table0F_32$$[179] = function $$table0F_32$$$179$($cpu$$945$$) {
var $modrm_byte$$185$$ = $cpu$$945$$.read_imm8();
192 > $modrm_byte$$185$$ ? $cpu$$945$$.btr_mem($cpu$$945$$.modrm_resolve($modrm_byte$$185$$), $cpu$$945$$.reg32s[$modrm_byte$$185$$ >> 3 & 7]) : $cpu$$945$$.reg32s[$modrm_byte$$185$$ & 7] = $cpu$$945$$.btr_reg($cpu$$945$$.reg32s[$modrm_byte$$185$$ & 7], $cpu$$945$$.reg32s[$modrm_byte$$185$$ >> 3 & 7] & 31);
};
$table0F_16$$[180] = function $$table0F_16$$$180$($cpu$$946$$) {
var $modrm_byte$$186$$ = $cpu$$946$$.read_imm8();
192 <= $modrm_byte$$186$$ && $cpu$$946$$.trigger_ud();
$cpu$$946$$.lss16(4, $cpu$$946$$.modrm_resolve($modrm_byte$$186$$), $modrm_byte$$186$$ >> 2 & 14);
};
$table0F_32$$[180] = function $$table0F_32$$$180$($cpu$$947$$) {
var $modrm_byte$$187$$ = $cpu$$947$$.read_imm8();
192 <= $modrm_byte$$187$$ && $cpu$$947$$.trigger_ud();
$cpu$$947$$.lss32(4, $cpu$$947$$.modrm_resolve($modrm_byte$$187$$), $modrm_byte$$187$$ >> 3 & 7);
};
$table0F_16$$[181] = function $$table0F_16$$$181$($cpu$$948$$) {
var $modrm_byte$$188$$ = $cpu$$948$$.read_imm8();
192 <= $modrm_byte$$188$$ && $cpu$$948$$.trigger_ud();
$cpu$$948$$.lss16(5, $cpu$$948$$.modrm_resolve($modrm_byte$$188$$), $modrm_byte$$188$$ >> 2 & 14);
};
$table0F_32$$[181] = function $$table0F_32$$$181$($cpu$$949$$) {
var $modrm_byte$$189$$ = $cpu$$949$$.read_imm8();
192 <= $modrm_byte$$189$$ && $cpu$$949$$.trigger_ud();
$cpu$$949$$.lss32(5, $cpu$$949$$.modrm_resolve($modrm_byte$$189$$), $modrm_byte$$189$$ >> 3 & 7);
};
$table0F_16$$[182] = function $$table0F_16$$$182$($cpu$$950$$) {
var $modrm_byte$$190$$ = $cpu$$950$$.read_imm8(), $data$$183$$ = 192 > $modrm_byte$$190$$ ? $cpu$$950$$.safe_read8($cpu$$950$$.modrm_resolve($modrm_byte$$190$$)) : $cpu$$950$$.reg8[$modrm_byte$$190$$ << 2 & 12 | $modrm_byte$$190$$ >> 2 & 1];
$cpu$$950$$.reg16[$modrm_byte$$190$$ >> 2 & 14] = $data$$183$$;
};
$table0F_32$$[182] = function $$table0F_32$$$182$($cpu$$951$$) {
var $modrm_byte$$191$$ = $cpu$$951$$.read_imm8(), $data$$184$$ = 192 > $modrm_byte$$191$$ ? $cpu$$951$$.safe_read8($cpu$$951$$.modrm_resolve($modrm_byte$$191$$)) : $cpu$$951$$.reg8[$modrm_byte$$191$$ << 2 & 12 | $modrm_byte$$191$$ >> 2 & 1];
$cpu$$951$$.reg32s[$modrm_byte$$191$$ >> 3 & 7] = $data$$184$$;
};
$table0F_16$$[183] = $table0F_32$$[183] = function $$table0F_32$$$183$($cpu$$952$$) {
var $modrm_byte$$192$$ = $cpu$$952$$.read_imm8(), $data$$185$$ = 192 > $modrm_byte$$192$$ ? $cpu$$952$$.safe_read16($cpu$$952$$.modrm_resolve($modrm_byte$$192$$)) : $cpu$$952$$.reg16[$modrm_byte$$192$$ << 1 & 14];
$cpu$$952$$.reg32s[$modrm_byte$$192$$ >> 3 & 7] = $data$$185$$;
};
$table0F_16$$[184] = $table0F_32$$[184] = function $$table0F_32$$$184$($cpu$$953$$) {
$cpu$$953$$.trigger_ud();
};
$table0F_16$$[185] = $table0F_32$$[185] = function $$table0F_32$$$185$($cpu$$954$$) {
$cpu$$954$$.trigger_ud();
};
$table0F_16$$[186] = function $$table0F_16$$$186$($cpu$$955$$) {
var $modrm_byte$$193$$ = $cpu$$955$$.read_imm8();
switch($modrm_byte$$193$$ >> 3 & 7) {
case 4:
192 > $modrm_byte$$193$$ ? $cpu$$955$$.bt_mem($cpu$$955$$.modrm_resolve($modrm_byte$$193$$), $cpu$$955$$.read_imm8() & 15) : $cpu$$955$$.bt_reg($cpu$$955$$.reg16[$modrm_byte$$193$$ << 1 & 14], $cpu$$955$$.read_imm8() & 15);
break;
case 5:
192 > $modrm_byte$$193$$ ? $cpu$$955$$.bts_mem($cpu$$955$$.modrm_resolve($modrm_byte$$193$$), $cpu$$955$$.read_imm8()) : $cpu$$955$$.reg16[$modrm_byte$$193$$ << 1 & 14] = $cpu$$955$$.bts_reg($cpu$$955$$.reg16[$modrm_byte$$193$$ << 1 & 14], $cpu$$955$$.read_imm8() & 15);
break;
case 6:
192 > $modrm_byte$$193$$ ? $cpu$$955$$.btr_mem($cpu$$955$$.modrm_resolve($modrm_byte$$193$$), $cpu$$955$$.read_imm8()) : $cpu$$955$$.reg16[$modrm_byte$$193$$ << 1 & 14] = $cpu$$955$$.btr_reg($cpu$$955$$.reg16[$modrm_byte$$193$$ << 1 & 14], $cpu$$955$$.read_imm8() & 15);
break;
case 7:
192 > $modrm_byte$$193$$ ? $cpu$$955$$.btc_mem($cpu$$955$$.modrm_resolve($modrm_byte$$193$$), $cpu$$955$$.read_imm8()) : $cpu$$955$$.reg16[$modrm_byte$$193$$ << 1 & 14] = $cpu$$955$$.btc_reg($cpu$$955$$.reg16[$modrm_byte$$193$$ << 1 & 14], $cpu$$955$$.read_imm8() & 15);
break;
default:
$cpu$$955$$.trigger_ud();
}
};
$table0F_32$$[186] = function $$table0F_32$$$186$($cpu$$956$$) {
var $modrm_byte$$194$$ = $cpu$$956$$.read_imm8();
switch($modrm_byte$$194$$ >> 3 & 7) {
case 4:
192 > $modrm_byte$$194$$ ? $cpu$$956$$.bt_mem($cpu$$956$$.modrm_resolve($modrm_byte$$194$$), $cpu$$956$$.read_imm8() & 31) : $cpu$$956$$.bt_reg($cpu$$956$$.reg32s[$modrm_byte$$194$$ & 7], $cpu$$956$$.read_imm8() & 31);
break;
case 5:
192 > $modrm_byte$$194$$ ? $cpu$$956$$.bts_mem($cpu$$956$$.modrm_resolve($modrm_byte$$194$$), $cpu$$956$$.read_imm8()) : $cpu$$956$$.reg32s[$modrm_byte$$194$$ & 7] = $cpu$$956$$.bts_reg($cpu$$956$$.reg32s[$modrm_byte$$194$$ & 7], $cpu$$956$$.read_imm8() & 31);
break;
case 6:
192 > $modrm_byte$$194$$ ? $cpu$$956$$.btr_mem($cpu$$956$$.modrm_resolve($modrm_byte$$194$$), $cpu$$956$$.read_imm8()) : $cpu$$956$$.reg32s[$modrm_byte$$194$$ & 7] = $cpu$$956$$.btr_reg($cpu$$956$$.reg32s[$modrm_byte$$194$$ & 7], $cpu$$956$$.read_imm8() & 31);
break;
case 7:
192 > $modrm_byte$$194$$ ? $cpu$$956$$.btc_mem($cpu$$956$$.modrm_resolve($modrm_byte$$194$$), $cpu$$956$$.read_imm8()) : $cpu$$956$$.reg32s[$modrm_byte$$194$$ & 7] = $cpu$$956$$.btc_reg($cpu$$956$$.reg32s[$modrm_byte$$194$$ & 7], $cpu$$956$$.read_imm8() & 31);
break;
default:
$cpu$$956$$.trigger_ud();
}
};
$table0F_16$$[187] = function $$table0F_16$$$187$($cpu$$957$$) {
var $modrm_byte$$195$$ = $cpu$$957$$.read_imm8();
192 > $modrm_byte$$195$$ ? $cpu$$957$$.btc_mem($cpu$$957$$.modrm_resolve($modrm_byte$$195$$), $cpu$$957$$.reg16s[$modrm_byte$$195$$ >> 2 & 14]) : $cpu$$957$$.reg16[$modrm_byte$$195$$ << 1 & 14] = $cpu$$957$$.btc_reg($cpu$$957$$.reg16[$modrm_byte$$195$$ << 1 & 14], $cpu$$957$$.reg16s[$modrm_byte$$195$$ >> 2 & 14] & 15);
};
$table0F_32$$[187] = function $$table0F_32$$$187$($cpu$$958$$) {
var $modrm_byte$$196$$ = $cpu$$958$$.read_imm8();
192 > $modrm_byte$$196$$ ? $cpu$$958$$.btc_mem($cpu$$958$$.modrm_resolve($modrm_byte$$196$$), $cpu$$958$$.reg32s[$modrm_byte$$196$$ >> 3 & 7]) : $cpu$$958$$.reg32s[$modrm_byte$$196$$ & 7] = $cpu$$958$$.btc_reg($cpu$$958$$.reg32s[$modrm_byte$$196$$ & 7], $cpu$$958$$.reg32s[$modrm_byte$$196$$ >> 3 & 7] & 31);
};
$table0F_16$$[188] = function $$table0F_16$$$188$($cpu$$959$$) {
var $modrm_byte$$197$$ = $cpu$$959$$.read_imm8(), $data$$186$$ = 192 > $modrm_byte$$197$$ ? $cpu$$959$$.safe_read16($cpu$$959$$.modrm_resolve($modrm_byte$$197$$)) : $cpu$$959$$.reg16[$modrm_byte$$197$$ << 1 & 14];
$cpu$$959$$.reg16[$modrm_byte$$197$$ >> 2 & 14] = $cpu$$959$$.bsf16($cpu$$959$$.reg16[$modrm_byte$$197$$ >> 2 & 14], $data$$186$$);
};
$table0F_32$$[188] = function $$table0F_32$$$188$($cpu$$960$$) {
var $modrm_byte$$198$$ = $cpu$$960$$.read_imm8(), $data$$187$$ = 192 > $modrm_byte$$198$$ ? $cpu$$960$$.safe_read32s($cpu$$960$$.modrm_resolve($modrm_byte$$198$$)) : $cpu$$960$$.reg32s[$modrm_byte$$198$$ & 7];
$cpu$$960$$.reg32s[$modrm_byte$$198$$ >> 3 & 7] = $cpu$$960$$.bsf32($cpu$$960$$.reg32s[$modrm_byte$$198$$ >> 3 & 7], $data$$187$$);
};
$table0F_16$$[189] = function $$table0F_16$$$189$($cpu$$961$$) {
var $modrm_byte$$199$$ = $cpu$$961$$.read_imm8(), $data$$188$$ = 192 > $modrm_byte$$199$$ ? $cpu$$961$$.safe_read16($cpu$$961$$.modrm_resolve($modrm_byte$$199$$)) : $cpu$$961$$.reg16[$modrm_byte$$199$$ << 1 & 14];
$cpu$$961$$.reg16[$modrm_byte$$199$$ >> 2 & 14] = $cpu$$961$$.bsr16($cpu$$961$$.reg16[$modrm_byte$$199$$ >> 2 & 14], $data$$188$$);
};
$table0F_32$$[189] = function $$table0F_32$$$189$($cpu$$962$$) {
var $modrm_byte$$200$$ = $cpu$$962$$.read_imm8(), $data$$189$$ = 192 > $modrm_byte$$200$$ ? $cpu$$962$$.safe_read32s($cpu$$962$$.modrm_resolve($modrm_byte$$200$$)) : $cpu$$962$$.reg32s[$modrm_byte$$200$$ & 7];
$cpu$$962$$.reg32s[$modrm_byte$$200$$ >> 3 & 7] = $cpu$$962$$.bsr32($cpu$$962$$.reg32s[$modrm_byte$$200$$ >> 3 & 7], $data$$189$$);
};
$table0F_16$$[190] = function $$table0F_16$$$190$($cpu$$963$$) {
var $modrm_byte$$201$$ = $cpu$$963$$.read_imm8(), $data$$190$$ = 192 > $modrm_byte$$201$$ ? $cpu$$963$$.safe_read8($cpu$$963$$.modrm_resolve($modrm_byte$$201$$)) << 24 >> 24 : $cpu$$963$$.reg8s[$modrm_byte$$201$$ << 2 & 12 | $modrm_byte$$201$$ >> 2 & 1];
$cpu$$963$$.reg16[$modrm_byte$$201$$ >> 2 & 14] = $data$$190$$;
};
$table0F_32$$[190] = function $$table0F_32$$$190$($cpu$$964$$) {
var $modrm_byte$$202$$ = $cpu$$964$$.read_imm8(), $data$$191$$ = 192 > $modrm_byte$$202$$ ? $cpu$$964$$.safe_read8($cpu$$964$$.modrm_resolve($modrm_byte$$202$$)) << 24 >> 24 : $cpu$$964$$.reg8s[$modrm_byte$$202$$ << 2 & 12 | $modrm_byte$$202$$ >> 2 & 1];
$cpu$$964$$.reg32s[$modrm_byte$$202$$ >> 3 & 7] = $data$$191$$;
};
$table0F_16$$[191] = $table0F_32$$[191] = function $$table0F_32$$$191$($cpu$$965$$) {
var $modrm_byte$$203$$ = $cpu$$965$$.read_imm8(), $data$$192$$ = 192 > $modrm_byte$$203$$ ? $cpu$$965$$.safe_read16($cpu$$965$$.modrm_resolve($modrm_byte$$203$$)) << 16 >> 16 : $cpu$$965$$.reg16s[$modrm_byte$$203$$ << 1 & 14];
$cpu$$965$$.reg32s[$modrm_byte$$203$$ >> 3 & 7] = $data$$192$$;
};
$table0F_16$$[192] = $table0F_32$$[192] = function $$table0F_32$$$192$($cpu$$966$$) {
var $modrm_byte$$204$$ = $cpu$$966$$.read_imm8(), $data$$193_result$$76$$, $addr$$51$$;
192 > $modrm_byte$$204$$ ? ($addr$$51$$ = $cpu$$966$$.translate_address_write($cpu$$966$$.modrm_resolve($modrm_byte$$204$$)), $data$$193_result$$76$$ = $cpu$$966$$.memory.read8($addr$$51$$)) : $data$$193_result$$76$$ = $cpu$$966$$.reg8[$modrm_byte$$204$$ << 2 & 12 | $modrm_byte$$204$$ >> 2 & 1];
$data$$193_result$$76$$ = $cpu$$966$$.xadd8($data$$193_result$$76$$, $modrm_byte$$204$$ >> 1 & 12 | $modrm_byte$$204$$ >> 5 & 1);
192 > $modrm_byte$$204$$ ? $cpu$$966$$.memory.write8($addr$$51$$, $data$$193_result$$76$$) : $cpu$$966$$.reg8[$modrm_byte$$204$$ << 2 & 12 | $modrm_byte$$204$$ >> 2 & 1] = $data$$193_result$$76$$;
};
$table0F_16$$[193] = function $$table0F_16$$$193$($cpu$$967$$) {
var $modrm_byte$$205$$ = $cpu$$967$$.read_imm8(), $data$$194_result$$77_virt_addr$$46$$, $phys_addr$$42$$, $phys_addr_high$$39$$ = 0;
192 > $modrm_byte$$205$$ ? ($data$$194_result$$77_virt_addr$$46$$ = $cpu$$967$$.modrm_resolve($modrm_byte$$205$$), $phys_addr$$42$$ = $cpu$$967$$.translate_address_write($data$$194_result$$77_virt_addr$$46$$), $cpu$$967$$.paging && 4095 === ($data$$194_result$$77_virt_addr$$46$$ & 4095) ? ($phys_addr_high$$39$$ = $cpu$$967$$.translate_address_write($data$$194_result$$77_virt_addr$$46$$ + 1), $data$$194_result$$77_virt_addr$$46$$ = $cpu$$967$$.virt_boundary_read16($phys_addr$$42$$, $phys_addr_high$$39$$)) :
$data$$194_result$$77_virt_addr$$46$$ = $cpu$$967$$.memory.read16($phys_addr$$42$$)) : $data$$194_result$$77_virt_addr$$46$$ = $cpu$$967$$.reg16[$modrm_byte$$205$$ << 1 & 14];
$data$$194_result$$77_virt_addr$$46$$ = $cpu$$967$$.xadd16($data$$194_result$$77_virt_addr$$46$$, $modrm_byte$$205$$ >> 2 & 14);
192 > $modrm_byte$$205$$ ? $phys_addr_high$$39$$ ? $cpu$$967$$.virt_boundary_write16($phys_addr$$42$$, $phys_addr_high$$39$$, $data$$194_result$$77_virt_addr$$46$$) : $cpu$$967$$.memory.write16($phys_addr$$42$$, $data$$194_result$$77_virt_addr$$46$$) : $cpu$$967$$.reg16[$modrm_byte$$205$$ << 1 & 14] = $data$$194_result$$77_virt_addr$$46$$;
};
$table0F_32$$[193] = function $$table0F_32$$$193$($cpu$$968$$) {
var $modrm_byte$$206$$ = $cpu$$968$$.read_imm8(), $data$$195_result$$78_virt_addr$$47$$, $phys_addr$$43$$, $phys_addr_high$$40$$ = 0;
192 > $modrm_byte$$206$$ ? ($data$$195_result$$78_virt_addr$$47$$ = $cpu$$968$$.modrm_resolve($modrm_byte$$206$$), $phys_addr$$43$$ = $cpu$$968$$.translate_address_write($data$$195_result$$78_virt_addr$$47$$), $cpu$$968$$.paging && 4093 <= ($data$$195_result$$78_virt_addr$$47$$ & 4095) ? ($phys_addr_high$$40$$ = $cpu$$968$$.translate_address_write($data$$195_result$$78_virt_addr$$47$$ + 3), $data$$195_result$$78_virt_addr$$47$$ = $cpu$$968$$.virt_boundary_read32s($phys_addr$$43$$, $phys_addr_high$$40$$)) :
$data$$195_result$$78_virt_addr$$47$$ = $cpu$$968$$.memory.read32s($phys_addr$$43$$)) : $data$$195_result$$78_virt_addr$$47$$ = $cpu$$968$$.reg32s[$modrm_byte$$206$$ & 7];
$data$$195_result$$78_virt_addr$$47$$ = $cpu$$968$$.xadd32($data$$195_result$$78_virt_addr$$47$$, $modrm_byte$$206$$ >> 3 & 7);
192 > $modrm_byte$$206$$ ? $phys_addr_high$$40$$ ? $cpu$$968$$.virt_boundary_write32($phys_addr$$43$$, $phys_addr_high$$40$$, $data$$195_result$$78_virt_addr$$47$$) : $cpu$$968$$.memory.write32($phys_addr$$43$$, $data$$195_result$$78_virt_addr$$47$$) : $cpu$$968$$.reg32s[$modrm_byte$$206$$ & 7] = $data$$195_result$$78_virt_addr$$47$$;
};
$table0F_16$$[194] = $table0F_32$$[194] = function $$table0F_32$$$194$($cpu$$969$$) {
$cpu$$969$$.trigger_ud();
};
$table0F_16$$[195] = $table0F_32$$[195] = function $$table0F_32$$$195$($cpu$$970$$) {
$cpu$$970$$.trigger_ud();
};
$table0F_16$$[196] = $table0F_32$$[196] = function $$table0F_32$$$196$($cpu$$971$$) {
$cpu$$971$$.trigger_ud();
};
$table0F_16$$[197] = $table0F_32$$[197] = function $$table0F_32$$$197$($cpu$$972$$) {
$cpu$$972$$.trigger_ud();
};
$table0F_16$$[198] = $table0F_32$$[198] = function $$table0F_32$$$198$($cpu$$973$$) {
$cpu$$973$$.trigger_ud();
};
$table0F_16$$[199] = $table0F_32$$[199] = function $$table0F_32$$$199$($cpu$$974$$) {
var $addr$$52_modrm_byte$$207$$ = $cpu$$974$$.read_imm8();
192 <= $addr$$52_modrm_byte$$207$$ && $cpu$$974$$.trigger_ud();
$addr$$52_modrm_byte$$207$$ = $cpu$$974$$.modrm_resolve($addr$$52_modrm_byte$$207$$);
$cpu$$974$$.writable_or_pagefault($addr$$52_modrm_byte$$207$$, 8);
var $m64_low$$ = $cpu$$974$$.safe_read32s($addr$$52_modrm_byte$$207$$), $m64_high$$ = $cpu$$974$$.safe_read32s($addr$$52_modrm_byte$$207$$ + 4);
$cpu$$974$$.reg32s[0] === $m64_low$$ && $cpu$$974$$.reg32s[2] === $m64_high$$ ? ($cpu$$974$$.flags |= 64, $cpu$$974$$.safe_write32($addr$$52_modrm_byte$$207$$, $cpu$$974$$.reg32s[3]), $cpu$$974$$.safe_write32($addr$$52_modrm_byte$$207$$ + 4, $cpu$$974$$.reg32s[1])) : ($cpu$$974$$.flags &= -65, $cpu$$974$$.reg32s[0] = $m64_low$$, $cpu$$974$$.reg32s[2] = $m64_high$$);
$cpu$$974$$.flags_changed &= -65;
};
$table0F_16$$[200] = $table0F_32$$[200] = function $$table0F_32$$$200$($cpu$$975$$) {
$cpu$$975$$.bswap(0);
};
$table0F_16$$[201] = $table0F_32$$[201] = function $$table0F_32$$$201$($cpu$$976$$) {
$cpu$$976$$.bswap(1);
};
$table0F_16$$[202] = $table0F_32$$[202] = function $$table0F_32$$$202$($cpu$$977$$) {
$cpu$$977$$.bswap(2);
};
$table0F_16$$[203] = $table0F_32$$[203] = function $$table0F_32$$$203$($cpu$$978$$) {
$cpu$$978$$.bswap(3);
};
$table0F_16$$[204] = $table0F_32$$[204] = function $$table0F_32$$$204$($cpu$$979$$) {
$cpu$$979$$.bswap(4);
};
$table0F_16$$[205] = $table0F_32$$[205] = function $$table0F_32$$$205$($cpu$$980$$) {
$cpu$$980$$.bswap(5);
};
$table0F_16$$[206] = $table0F_32$$[206] = function $$table0F_32$$$206$($cpu$$981$$) {
$cpu$$981$$.bswap(6);
};
$table0F_16$$[207] = $table0F_32$$[207] = function $$table0F_32$$$207$($cpu$$982$$) {
$cpu$$982$$.bswap(7);
};
$table0F_16$$[208] = $table0F_32$$[208] = function $$table0F_32$$$208$($cpu$$983$$) {
$cpu$$983$$.trigger_ud();
};
$table0F_16$$[209] = $table0F_32$$[209] = function $$table0F_32$$$209$($cpu$$984$$) {
$cpu$$984$$.trigger_ud();
};
$table0F_16$$[210] = $table0F_32$$[210] = function $$table0F_32$$$210$($cpu$$985$$) {
$cpu$$985$$.trigger_ud();
};
$table0F_16$$[211] = $table0F_32$$[211] = function $$table0F_32$$$211$($cpu$$986$$) {
$cpu$$986$$.trigger_ud();
};
$table0F_16$$[212] = $table0F_32$$[212] = function $$table0F_32$$$212$($cpu$$987$$) {
$cpu$$987$$.trigger_ud();
};
$table0F_16$$[213] = $table0F_32$$[213] = function $$table0F_32$$$213$($cpu$$988$$) {
$cpu$$988$$.trigger_ud();
};
$table0F_16$$[214] = $table0F_32$$[214] = function $$table0F_32$$$214$($cpu$$989$$) {
$cpu$$989$$.trigger_ud();
};
$table0F_16$$[215] = $table0F_32$$[215] = function $$table0F_32$$$215$($cpu$$990$$) {
$cpu$$990$$.trigger_ud();
};
$table0F_16$$[216] = $table0F_32$$[216] = function $$table0F_32$$$216$($cpu$$991$$) {
$cpu$$991$$.trigger_ud();
};
$table0F_16$$[217] = $table0F_32$$[217] = function $$table0F_32$$$217$($cpu$$992$$) {
$cpu$$992$$.trigger_ud();
};
$table0F_16$$[218] = $table0F_32$$[218] = function $$table0F_32$$$218$($cpu$$993$$) {
$cpu$$993$$.trigger_ud();
};
$table0F_16$$[219] = $table0F_32$$[219] = function $$table0F_32$$$219$($cpu$$994$$) {
$cpu$$994$$.trigger_ud();
};
$table0F_16$$[220] = $table0F_32$$[220] = function $$table0F_32$$$220$($cpu$$995$$) {
$cpu$$995$$.trigger_ud();
};
$table0F_16$$[221] = $table0F_32$$[221] = function $$table0F_32$$$221$($cpu$$996$$) {
$cpu$$996$$.trigger_ud();
};
$table0F_16$$[222] = $table0F_32$$[222] = function $$table0F_32$$$222$($cpu$$997$$) {
$cpu$$997$$.trigger_ud();
};
$table0F_16$$[223] = $table0F_32$$[223] = function $$table0F_32$$$223$($cpu$$998$$) {
$cpu$$998$$.trigger_ud();
};
$table0F_16$$[224] = $table0F_32$$[224] = function $$table0F_32$$$224$($cpu$$999$$) {
$cpu$$999$$.trigger_ud();
};
$table0F_16$$[225] = $table0F_32$$[225] = function $$table0F_32$$$225$($cpu$$1000$$) {
$cpu$$1000$$.trigger_ud();
};
$table0F_16$$[226] = $table0F_32$$[226] = function $$table0F_32$$$226$($cpu$$1001$$) {
$cpu$$1001$$.trigger_ud();
};
$table0F_16$$[227] = $table0F_32$$[227] = function $$table0F_32$$$227$($cpu$$1002$$) {
$cpu$$1002$$.trigger_ud();
};
$table0F_16$$[228] = $table0F_32$$[228] = function $$table0F_32$$$228$($cpu$$1003$$) {
$cpu$$1003$$.trigger_ud();
};
$table0F_16$$[229] = $table0F_32$$[229] = function $$table0F_32$$$229$($cpu$$1004$$) {
$cpu$$1004$$.trigger_ud();
};
$table0F_16$$[230] = $table0F_32$$[230] = function $$table0F_32$$$230$($cpu$$1005$$) {
$cpu$$1005$$.trigger_ud();
};
$table0F_16$$[231] = $table0F_32$$[231] = function $$table0F_32$$$231$($cpu$$1006$$) {
$cpu$$1006$$.trigger_ud();
};
$table0F_16$$[232] = $table0F_32$$[232] = function $$table0F_32$$$232$($cpu$$1007$$) {
$cpu$$1007$$.trigger_ud();
};
$table0F_16$$[233] = $table0F_32$$[233] = function $$table0F_32$$$233$($cpu$$1008$$) {
$cpu$$1008$$.trigger_ud();
};
$table0F_16$$[234] = $table0F_32$$[234] = function $$table0F_32$$$234$($cpu$$1009$$) {
$cpu$$1009$$.trigger_ud();
};
$table0F_16$$[235] = $table0F_32$$[235] = function $$table0F_32$$$235$($cpu$$1010$$) {
$cpu$$1010$$.trigger_ud();
};
$table0F_16$$[236] = $table0F_32$$[236] = function $$table0F_32$$$236$($cpu$$1011$$) {
$cpu$$1011$$.trigger_ud();
};
$table0F_16$$[237] = $table0F_32$$[237] = function $$table0F_32$$$237$($cpu$$1012$$) {
$cpu$$1012$$.trigger_ud();
};
$table0F_16$$[238] = $table0F_32$$[238] = function $$table0F_32$$$238$($cpu$$1013$$) {
$cpu$$1013$$.trigger_ud();
};
$table0F_16$$[239] = $table0F_32$$[239] = function $$table0F_32$$$239$($cpu$$1014$$) {
$cpu$$1014$$.trigger_ud();
};
$table0F_16$$[240] = $table0F_32$$[240] = function $$table0F_32$$$240$($cpu$$1015$$) {
$cpu$$1015$$.trigger_ud();
};
$table0F_16$$[241] = $table0F_32$$[241] = function $$table0F_32$$$241$($cpu$$1016$$) {
$cpu$$1016$$.trigger_ud();
};
$table0F_16$$[242] = $table0F_32$$[242] = function $$table0F_32$$$242$($cpu$$1017$$) {
$cpu$$1017$$.trigger_ud();
};
$table0F_16$$[243] = $table0F_32$$[243] = function $$table0F_32$$$243$($cpu$$1018$$) {
$cpu$$1018$$.trigger_ud();
};
$table0F_16$$[244] = $table0F_32$$[244] = function $$table0F_32$$$244$($cpu$$1019$$) {
$cpu$$1019$$.trigger_ud();
};
$table0F_16$$[245] = $table0F_32$$[245] = function $$table0F_32$$$245$($cpu$$1020$$) {
$cpu$$1020$$.trigger_ud();
};
$table0F_16$$[246] = $table0F_32$$[246] = function $$table0F_32$$$246$($cpu$$1021$$) {
$cpu$$1021$$.trigger_ud();
};
$table0F_16$$[247] = $table0F_32$$[247] = function $$table0F_32$$$247$($cpu$$1022$$) {
$cpu$$1022$$.trigger_ud();
};
$table0F_16$$[248] = $table0F_32$$[248] = function $$table0F_32$$$248$($cpu$$1023$$) {
$cpu$$1023$$.trigger_ud();
};
$table0F_16$$[249] = $table0F_32$$[249] = function $$table0F_32$$$249$($cpu$$1024$$) {
$cpu$$1024$$.trigger_ud();
};
$table0F_16$$[250] = $table0F_32$$[250] = function $$table0F_32$$$250$($cpu$$1025$$) {
$cpu$$1025$$.trigger_ud();
};
$table0F_16$$[251] = $table0F_32$$[251] = function $$table0F_32$$$251$($cpu$$1026$$) {
$cpu$$1026$$.trigger_ud();
};
$table0F_16$$[252] = $table0F_32$$[252] = function $$table0F_32$$$252$($cpu$$1027$$) {
$cpu$$1027$$.trigger_ud();
};
$table0F_16$$[253] = $table0F_32$$[253] = function $$table0F_32$$$253$($cpu$$1028$$) {
$cpu$$1028$$.trigger_ud();
};
$table0F_16$$[254] = $table0F_32$$[254] = function $$table0F_32$$$254$($cpu$$1029$$) {
$cpu$$1029$$.trigger_ud();
};
$table0F_16$$[255] = $table0F_32$$[255] = function $$table0F_32$$$255$($cpu$$1030$$) {
$cpu$$1030$$.trigger_ud();
};
"use strict";
$JSCompiler_prototypeAlias$$ = $v86$$.prototype;
$JSCompiler_prototypeAlias$$.jmp_rel16 = function $$JSCompiler_prototypeAlias$$$jmp_rel16$($rel16$$) {
var $current_cs$$ = this.get_seg(1);
this.instruction_pointer -= $current_cs$$;
this.instruction_pointer = this.instruction_pointer + $rel16$$ & 65535;
this.instruction_pointer = this.instruction_pointer + $current_cs$$ | 0;
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.jmpcc16 = function $$JSCompiler_prototypeAlias$$$jmpcc16$($condition$$1$$) {
$condition$$1$$ ? this.jmp_rel16(this.read_imm16()) : this.instruction_pointer = this.instruction_pointer + 2 | 0;
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.jmpcc32 = function $$JSCompiler_prototypeAlias$$$jmpcc32$($condition$$2_imm32s$$2$$) {
$condition$$2_imm32s$$2$$ ? ($condition$$2_imm32s$$2$$ = this.read_imm32s(), this.instruction_pointer = this.instruction_pointer + $condition$$2_imm32s$$2$$ | 0) : this.instruction_pointer = this.instruction_pointer + 4 | 0;
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.loopne = function $$JSCompiler_prototypeAlias$$$loopne$() {
if (--this.regv[this.reg_vcx] && !this.getzf()) {
var $imm8s$$ = this.read_imm8s();
this.instruction_pointer = this.instruction_pointer + $imm8s$$ | 0;
} else {
this.instruction_pointer++;
}
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.loope = function $$JSCompiler_prototypeAlias$$$loope$() {
if (--this.regv[this.reg_vcx] && this.getzf()) {
var $imm8s$$1$$ = this.read_imm8s();
this.instruction_pointer = this.instruction_pointer + $imm8s$$1$$ | 0;
} else {
this.instruction_pointer++;
}
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.loop = function $$JSCompiler_prototypeAlias$$$loop$() {
if (--this.regv[this.reg_vcx]) {
var $imm8s$$2$$ = this.read_imm8s();
this.instruction_pointer = this.instruction_pointer + $imm8s$$2$$ | 0;
} else {
this.instruction_pointer++;
}
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.jcxz = function $$JSCompiler_prototypeAlias$$$jcxz$() {
var $imm8s$$3$$ = this.read_imm8s();
0 === this.regv[this.reg_vcx] && (this.instruction_pointer = this.instruction_pointer + $imm8s$$3$$ | 0);
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.getcf = function $$JSCompiler_prototypeAlias$$$getcf$() {
return this.flags_changed & 1 ? (this.last_op1 ^ (this.last_op1 ^ this.last_op2) & (this.last_op2 ^ this.last_add_result)) >>> this.last_op_size & 1 : this.flags & 1;
};
$JSCompiler_prototypeAlias$$.getpf = function $$JSCompiler_prototypeAlias$$$getpf$() {
return this.flags_changed & 4 ? 154020 >> ((this.last_result ^ this.last_result >> 4) & 15) & 4 : this.flags & 4;
};
$JSCompiler_prototypeAlias$$.getaf = function $$JSCompiler_prototypeAlias$$$getaf$() {
return this.flags_changed & 16 ? (this.last_op1 ^ this.last_op2 ^ this.last_add_result) & 16 : this.flags & 16;
};
$JSCompiler_prototypeAlias$$.getzf = function $$JSCompiler_prototypeAlias$$$getzf$() {
return this.flags_changed & 64 ? (~this.last_result & this.last_result - 1) >>> this.last_op_size & 1 : this.flags & 64;
};
$JSCompiler_prototypeAlias$$.getsf = function $$JSCompiler_prototypeAlias$$$getsf$() {
return this.flags_changed & 128 ? this.last_result >>> this.last_op_size & 1 : this.flags & 128;
};
$JSCompiler_prototypeAlias$$.getof = function $$JSCompiler_prototypeAlias$$$getof$() {
return this.flags_changed & 2048 ? ((this.last_op1 ^ this.last_add_result) & (this.last_op2 ^ this.last_add_result)) >>> this.last_op_size & 1 : this.flags & 2048;
};
$JSCompiler_prototypeAlias$$.test_o = $v86$$.prototype.getof;
$JSCompiler_prototypeAlias$$.test_b = $v86$$.prototype.getcf;
$JSCompiler_prototypeAlias$$.test_z = $v86$$.prototype.getzf;
$JSCompiler_prototypeAlias$$.test_s = $v86$$.prototype.getsf;
$JSCompiler_prototypeAlias$$.test_p = $v86$$.prototype.getpf;
$JSCompiler_prototypeAlias$$.test_be = function $$JSCompiler_prototypeAlias$$$test_be$() {
return this.getcf() || this.getzf();
};
$JSCompiler_prototypeAlias$$.test_l = function $$JSCompiler_prototypeAlias$$$test_l$() {
return!this.getsf() !== !this.getof();
};
$JSCompiler_prototypeAlias$$.test_le = function $$JSCompiler_prototypeAlias$$$test_le$() {
return this.getzf() || !this.getsf() !== !this.getof();
};
$JSCompiler_prototypeAlias$$.push16 = function $$JSCompiler_prototypeAlias$$$push16$($imm16$$4$$) {
var $sp$$2$$ = this.get_stack_pointer(-2);
this.safe_write16($sp$$2$$, $imm16$$4$$);
this.stack_reg[this.reg_vsp] -= 2;
};
$JSCompiler_prototypeAlias$$.push32 = function $$JSCompiler_prototypeAlias$$$push32$($imm32$$) {
var $sp$$3$$ = this.get_stack_pointer(-4);
this.safe_write32($sp$$3$$, $imm32$$);
this.stack_reg[this.reg_vsp] -= 4;
};
$JSCompiler_prototypeAlias$$.pop16 = function $$JSCompiler_prototypeAlias$$$pop16$() {
var $result$$79_sp$$4$$ = this.get_seg(2) + this.stack_reg[this.reg_vsp] | 0, $result$$79_sp$$4$$ = this.safe_read16($result$$79_sp$$4$$);
this.stack_reg[this.reg_vsp] += 2;
return $result$$79_sp$$4$$;
};
$JSCompiler_prototypeAlias$$.pop32s = function $$JSCompiler_prototypeAlias$$$pop32s$() {
var $result$$80_sp$$5$$ = this.get_seg(2) + this.stack_reg[this.reg_vsp] | 0, $result$$80_sp$$5$$ = this.safe_read32s($result$$80_sp$$5$$);
this.stack_reg[this.reg_vsp] += 4;
return $result$$80_sp$$5$$;
};
$JSCompiler_prototypeAlias$$.pusha16 = function $$JSCompiler_prototypeAlias$$$pusha16$() {
var $temp$$1$$ = this.reg16[8];
this.translate_address_write(this.get_seg(2) + $temp$$1$$ - 15 | 0);
this.push16(this.reg16[0]);
this.push16(this.reg16[2]);
this.push16(this.reg16[4]);
this.push16(this.reg16[6]);
this.push16($temp$$1$$);
this.push16(this.reg16[10]);
this.push16(this.reg16[12]);
this.push16(this.reg16[14]);
};
$JSCompiler_prototypeAlias$$.pusha32 = function $$JSCompiler_prototypeAlias$$$pusha32$() {
var $temp$$2$$ = this.reg32s[4];
this.translate_address_write(this.get_seg(2) + $temp$$2$$ - 31 | 0);
this.push32(this.reg32s[0]);
this.push32(this.reg32s[1]);
this.push32(this.reg32s[2]);
this.push32(this.reg32s[3]);
this.push32($temp$$2$$);
this.push32(this.reg32s[5]);
this.push32(this.reg32s[6]);
this.push32(this.reg32s[7]);
};
$JSCompiler_prototypeAlias$$.popa16 = function $$JSCompiler_prototypeAlias$$$popa16$() {
this.translate_address_read(this.get_seg(2) + this.stack_reg[this.reg_vsp] + 15 | 0);
this.reg16[14] = this.pop16();
this.reg16[12] = this.pop16();
this.reg16[10] = this.pop16();
this.stack_reg[this.reg_vsp] += 2;
this.reg16[6] = this.pop16();
this.reg16[4] = this.pop16();
this.reg16[2] = this.pop16();
this.reg16[0] = this.pop16();
};
$JSCompiler_prototypeAlias$$.popa32 = function $$JSCompiler_prototypeAlias$$$popa32$() {
this.translate_address_read(this.get_seg(2) + this.stack_reg[this.reg_vsp] + 31 | 0);
this.reg32s[7] = this.pop32s();
this.reg32s[6] = this.pop32s();
this.reg32s[5] = this.pop32s();
this.stack_reg[this.reg_vsp] += 4;
this.reg32s[3] = this.pop32s();
this.reg32s[2] = this.pop32s();
this.reg32s[1] = this.pop32s();
this.reg32s[0] = this.pop32s();
};
$JSCompiler_prototypeAlias$$.xchg8 = function $$JSCompiler_prototypeAlias$$$xchg8$($memory_data$$, $modrm_byte$$208$$) {
var $mod$$263$$ = $modrm_byte$$208$$ >> 1 & 12 | $modrm_byte$$208$$ >> 5 & 1, $tmp$$3$$ = this.reg8[$mod$$263$$];
this.reg8[$mod$$263$$] = $memory_data$$;
return $tmp$$3$$;
};
$JSCompiler_prototypeAlias$$.xchg16 = function $$JSCompiler_prototypeAlias$$$xchg16$($memory_data$$1$$, $modrm_byte$$209$$) {
var $mod$$264$$ = $modrm_byte$$209$$ >> 2 & 14, $tmp$$4$$ = this.reg16[$mod$$264$$];
this.reg16[$mod$$264$$] = $memory_data$$1$$;
return $tmp$$4$$;
};
$JSCompiler_prototypeAlias$$.xchg16r = function $$JSCompiler_prototypeAlias$$$xchg16r$($operand$$) {
var $temp$$3$$ = this.reg16[0];
this.reg16[0] = this.reg16[$operand$$];
this.reg16[$operand$$] = $temp$$3$$;
};
$JSCompiler_prototypeAlias$$.xchg32 = function $$JSCompiler_prototypeAlias$$$xchg32$($memory_data$$2$$, $modrm_byte$$210$$) {
var $mod$$265$$ = $modrm_byte$$210$$ >> 3 & 7, $tmp$$5$$ = this.reg32s[$mod$$265$$];
this.reg32s[$mod$$265$$] = $memory_data$$2$$;
return $tmp$$5$$;
};
$JSCompiler_prototypeAlias$$.xchg32r = function $$JSCompiler_prototypeAlias$$$xchg32r$($operand$$1$$) {
var $temp$$4$$ = this.reg32s[0];
this.reg32s[0] = this.reg32s[$operand$$1$$];
this.reg32s[$operand$$1$$] = $temp$$4$$;
};
$JSCompiler_prototypeAlias$$.lss16 = function $$JSCompiler_prototypeAlias$$$lss16$($seg$$, $addr$$53_new_seg$$, $mod$$266$$) {
var $new_reg$$ = this.safe_read16($addr$$53_new_seg$$);
$addr$$53_new_seg$$ = this.safe_read16($addr$$53_new_seg$$ + 2 | 0);
this.switch_seg($seg$$, $addr$$53_new_seg$$);
this.reg16[$mod$$266$$] = $new_reg$$;
};
$JSCompiler_prototypeAlias$$.lss32 = function $$JSCompiler_prototypeAlias$$$lss32$($seg$$1$$, $addr$$54_new_seg$$1$$, $mod$$267$$) {
var $new_reg$$1$$ = this.safe_read32s($addr$$54_new_seg$$1$$);
$addr$$54_new_seg$$1$$ = this.safe_read16($addr$$54_new_seg$$1$$ + 4 | 0);
this.switch_seg($seg$$1$$, $addr$$54_new_seg$$1$$);
this.reg32s[$mod$$267$$] = $new_reg$$1$$;
};
$JSCompiler_prototypeAlias$$.enter16 = function $$JSCompiler_prototypeAlias$$$enter16$() {
var $size$$36$$ = this.read_imm16(), $nesting_level$$ = this.read_imm8() & 31, $frame_temp$$, $tmp_ebp$$;
this.push16(this.reg16[10]);
$frame_temp$$ = this.reg16[8];
if (0 < $nesting_level$$) {
$tmp_ebp$$ = this.reg16[5];
for (var $i$$14$$ = 1;$i$$14$$ < $nesting_level$$;$i$$14$$++) {
$tmp_ebp$$ -= 2, this.push16(this.safe_read16(this.get_seg(2) + $tmp_ebp$$ | 0));
}
this.push16($frame_temp$$);
}
this.reg16[10] = $frame_temp$$;
this.reg16[8] -= $size$$36$$;
};
$JSCompiler_prototypeAlias$$.enter32 = function $$JSCompiler_prototypeAlias$$$enter32$() {
var $size$$37$$ = this.read_imm16(), $nesting_level$$1$$ = this.read_imm8() & 31, $frame_temp$$1$$, $tmp_ebp$$1$$;
this.push32(this.reg32s[5]);
$frame_temp$$1$$ = this.reg32s[4];
if (0 < $nesting_level$$1$$) {
$tmp_ebp$$1$$ = this.reg32s[5];
for (var $i$$15$$ = 1;$i$$15$$ < $nesting_level$$1$$;$i$$15$$++) {
$tmp_ebp$$1$$ -= 4, this.push32(this.safe_read32s(this.get_seg(2) + $tmp_ebp$$1$$ | 0));
}
this.push32($frame_temp$$1$$);
}
this.reg32s[5] = $frame_temp$$1$$;
this.reg32s[4] -= $size$$37$$;
};
$JSCompiler_prototypeAlias$$.bswap = function $$JSCompiler_prototypeAlias$$$bswap$($reg$$3$$) {
var $temp$$5$$ = this.reg32s[$reg$$3$$];
this.reg32s[$reg$$3$$] = $temp$$5$$ >>> 24 | $temp$$5$$ << 24 | $temp$$5$$ >> 8 & 65280 | $temp$$5$$ << 8 & 16711680;
};
$JSCompiler_prototypeAlias$$.run = function $$JSCompiler_prototypeAlias$$$run$() {
this.running || this.next_tick();
};
$JSCompiler_prototypeAlias$$.main_run = function $$JSCompiler_prototypeAlias$$$main_run$() {
if (this.stopped) {
this.stopped = this.running = !1;
} else {
this.running = !0;
try {
this.in_hlt ? this.hlt_loop() : this.do_run();
} catch ($e$$13$$) {
this.exception_cleanup($e$$13$$);
}
}
};
$JSCompiler_prototypeAlias$$.v86_prototype$stop = function $$JSCompiler_prototypeAlias$$$v86_prototype$stop$() {
this.running && (this.stopped = !0);
};
$JSCompiler_prototypeAlias$$.exception_cleanup = function $$JSCompiler_prototypeAlias$$$exception_cleanup$($e$$14$$) {
if (233495534 === $e$$14$$) {
this.page_fault = !1, this.repeat_string_prefix = 0, this.segment_prefix = -1, this.address_size_32 = this.is_32, this.update_address_size(), this.operand_size_32 = this.is_32, this.update_operand_size(), this.next_tick();
} else {
throw this.running = !1, console.log($e$$14$$), console.log($e$$14$$.stack), $e$$14$$;
}
};
$JSCompiler_prototypeAlias$$.reboot_internal = function $$JSCompiler_prototypeAlias$$$reboot_internal$() {
this.init(this.current_settings);
throw 233495534;
};
$JSCompiler_prototypeAlias$$.lazy_init = function $$JSCompiler_prototypeAlias$$$lazy_init$() {
var $cpu$$1032$$ = this;
"undefined" !== typeof setImmediate ? this.next_tick = function $this$next_tick$() {
setImmediate(function() {
$cpu$$1032$$.main_run();
});
} : "undefined" !== typeof window && "undefined" !== typeof postMessage ? (window.addEventListener("message", function($e$$15$$) {
$e$$15$$.source === window && 43605 === $e$$15$$.data && $cpu$$1032$$.main_run();
}, !1), this.next_tick = function $this$next_tick$() {
window.postMessage(43605, "*");
}) : this.next_tick = function $this$next_tick$() {
setTimeout(this.main_run, 0);
};
};
$JSCompiler_prototypeAlias$$.init = function $$JSCompiler_prototypeAlias$$$init$($settings$$) {
this.first_init && (this.first_init = !1, this.lazy_init());
this.current_settings = $settings$$;
this.memory_size = $settings$$.memory_size || 67108864;
this.memory = new $Memory$$(new ArrayBuffer(this.memory_size), this.memory_size);
this.segment_is_null = new Uint8Array(8);
this.segment_limits = new Uint32Array(8);
this.segment_infos = new Uint32Array(8);
this.segment_offsets = new Int32Array(8);
this.tlb_data = new Int32Array(1048576);
this.tlb_info = new Uint8Array(1048576);
this.tlb_info_global = new Uint8Array(1048576);
this.reg32 = new Uint32Array(8);
this.reg32s = new Int32Array(this.reg32.buffer);
this.reg16 = new Uint16Array(this.reg32.buffer);
this.reg16s = new Int16Array(this.reg32.buffer);
this.reg8 = new Uint8Array(this.reg32.buffer);
this.reg8s = new Int8Array(this.reg32.buffer);
this.sreg = new Uint16Array(8);
this.dreg = new Int32Array(8);
this.protected_mode = !1;
this.gdtr_offset = this.gdtr_size = this.idtr_offset = this.idtr_size = 0;
this.page_fault = !1;
this.cr0 = 1610612752;
this.cr4 = this.cr3 = this.cr2 = 0;
this.dreg[6] = -61456;
this.dreg[7] = 1024;
this.cpl = 0;
this.paging = !1;
this.page_size_extensions = 0;
this.address_size_32 = this.operand_size_32 = this.is_32 = !1;
this.paging_changed();
this.update_operand_size();
this.update_address_size();
this.stack_reg = this.reg16;
this.reg_vsp = 8;
this.reg_vbp = 10;
this.previous_ip = this.timestamp_counter = 0;
this.stopped = this.running = this.in_hlt = !1;
this.segment_prefix = -1;
this.repeat_string_prefix = 0;
this.flags = 2;
this.last_op_size = this.last_op2 = this.last_op1 = this.last_add_result = this.last_result = this.flags_changed = 0;
var $devices_io$$ = new $IO$$(this.memory);
this.io = this.devices.io = $devices_io$$;
var $bios$$ = $settings$$.bios, $vga_bios$$ = $settings$$.vga_bios;
if ($bios$$) {
var $data$$196$$ = new Uint8Array($bios$$);
this.memory.mem8.set($data$$196$$, 1048576 - $bios$$.byteLength);
$vga_bios$$ && ($data$$196$$ = new Uint8Array($vga_bios$$), this.memory.mem8.set($data$$196$$, 786432));
$devices_io$$.mmap_register(4293918720, 1048576, function($addr$$55$$) {
return this.memory.mem8[$addr$$55$$ & 1048575];
}.bind(this), function($addr$$56$$, $value$$40$$) {
this.memory.mem8[$addr$$56$$ & 1048575] = $value$$40$$;
}.bind(this));
this.instruction_pointer = 1048560;
this.switch_seg(2, 48);
this.reg16[8] = 256;
} else {
$settings$$.linux ? (this.instruction_pointer = 65536, this.memory.write_blob(new Uint8Array($settings$$.linux.vmlinux), 1048576), this.memory.write_blob(new Uint8Array($settings$$.linux.linuxstart), this.instruction_pointer), $settings$$.linux.root && (this.memory.write_blob(new Uint8Array($settings$$.linux.root), 4194304), this.reg32s[3] = $settings$$.linux.root.byteLength), this.memory.write_string($settings$$.linux.cmdline), this.reg32s[0] = this.memory_size, this.reg32s[1] = 63488, this.switch_seg(1,
0), this.switch_seg(2, 0), this.switch_seg(3, 0), this.switch_seg(0, 0), this.switch_seg(5, 0), this.switch_seg(4, 0), this.protected_mode = this.operand_size_32 = this.address_size_32 = this.is_32 = !0, this.update_operand_size(), this.update_address_size(), this.regv = this.reg32s, this.reg_vsp = 4, this.reg_vbp = 5, this.cr0 = 1) : (this.switch_seg(2, 48), this.reg16[8] = 256, this.instruction_pointer = 0);
}
var $a20_byte$$ = 0;
$devices_io$$.register_read(146, function() {
return $a20_byte$$;
});
$devices_io$$.register_write(146, function($out_byte$$5$$) {
$a20_byte$$ = $out_byte$$5$$;
});
this.devices = {};
$settings$$.load_devices && ($devices_io$$ = this.devices, $devices_io$$.pic = new $PIC$$(this), $devices_io$$.pci = new $PCI$$(this), $devices_io$$.dma = new $DMA$$(this), $devices_io$$.acpi = new $ACPI$$, this.devices.vga = new $VGAScreen$$(this, $settings$$.screen_adapter, $settings$$.vga_memory_size || 8388608), this.devices.ps2 = new $PS2$$(this, $settings$$.keyboard_adapter, $settings$$.mouse_adapter), this.fpu = new $FPU$$(this), $devices_io$$.uart = $settings$$.serial_adapter ? new $UART$$(this,
$settings$$.serial_adapter) : new $UART$$(this, {put_line:function() {
}, init:function() {
}}), this.devices.fdc = new $FloppyController$$(this, $settings$$.fda), $settings$$.cdrom && (this.devices.cdrom = new $IDEDevice$$(this, $settings$$.cdrom, !0, 1)), $settings$$.hda && (this.devices.hda = new $IDEDevice$$(this, $settings$$.hda, !1, 0)), $devices_io$$.pit = new $PIT$$(this), $devices_io$$.rtc = new $RTC$$(this, $devices_io$$.fdc.type, $settings$$.boot_order || 531));
};
$JSCompiler_prototypeAlias$$.do_run = function $$JSCompiler_prototypeAlias$$$do_run$() {
var $start$$9$$ = Date.now(), $k_now$$1$$ = $start$$9$$;
for (this.devices.vga.timer($k_now$$1$$);33 > $k_now$$1$$ - $start$$9$$;) {
this.devices.pit.timer($k_now$$1$$, !1);
this.devices.rtc.timer($k_now$$1$$, !1);
this.handle_irqs();
for ($k_now$$1$$ = 11001;$k_now$$1$$--;) {
this.cycle();
}
$k_now$$1$$ = Date.now();
}
this.next_tick();
};
"undefined" !== typeof window && (window.__no_inline1 = $v86$$.prototype.do_run, window.__no_inline2 = $v86$$.prototype.exception_cleanup, window.__no_inline3 = $v86$$.prototype.hlt_loop);
$JSCompiler_prototypeAlias$$ = $v86$$.prototype;
$JSCompiler_prototypeAlias$$.cycle = function $$JSCompiler_prototypeAlias$$$cycle$() {
this.timestamp_counter++;
this.previous_ip = this.instruction_pointer;
var $opcode$$ = this.read_imm8();
this.table[$opcode$$](this);
};
$JSCompiler_prototypeAlias$$.hlt_loop = function $$JSCompiler_prototypeAlias$$$hlt_loop$() {
var $now$$2$$ = Date.now();
this.devices.pit.timer($now$$2$$, !1);
this.devices.rtc.timer($now$$2$$, !1);
this.devices.vga.timer($now$$2$$);
if (this.in_hlt) {
var $me$$ = this;
setTimeout(function() {
$me$$.hlt_loop();
}, 0);
} else {
this.next_tick();
}
};
$JSCompiler_prototypeAlias$$.cr0_changed = function $$JSCompiler_prototypeAlias$$$cr0_changed$() {
var $new_paging$$ = -2147483648 === (this.cr0 & -2147483648);
this.fpu || (this.cr0 |= 4);
this.cr0 |= 16;
$new_paging$$ !== this.paging && (this.paging = $new_paging$$, this.full_clear_tlb());
};
$JSCompiler_prototypeAlias$$.paging_changed = function $$JSCompiler_prototypeAlias$$$paging_changed$() {
this.last_virt_eip = -1;
};
$JSCompiler_prototypeAlias$$.cpl_changed = function $$JSCompiler_prototypeAlias$$$cpl_changed$() {
this.last_virt_eip = -1;
};
$JSCompiler_prototypeAlias$$.read_imm8 = function $$JSCompiler_prototypeAlias$$$read_imm8$() {
this.instruction_pointer & -4096 ^ this.last_virt_eip && (this.eip_phys = this.translate_address_read(this.instruction_pointer) ^ this.instruction_pointer, this.last_virt_eip = this.instruction_pointer & -4096);
var $data8$$ = this.memory.mem8[this.eip_phys ^ this.instruction_pointer] | 0;
this.instruction_pointer = this.instruction_pointer + 1 | 0;
return $data8$$;
};
$JSCompiler_prototypeAlias$$.read_imm8s = function $$JSCompiler_prototypeAlias$$$read_imm8s$() {
return this.read_imm8() << 24 >> 24;
};
$JSCompiler_prototypeAlias$$.read_imm16 = function $$JSCompiler_prototypeAlias$$$read_imm16$() {
if (4094 < (this.instruction_pointer ^ this.last_virt_eip) >>> 0) {
return this.read_imm8() | this.read_imm8() << 8;
}
var $data16$$ = this.memory.read16(this.eip_phys ^ this.instruction_pointer);
this.instruction_pointer = this.instruction_pointer + 2 | 0;
return $data16$$;
};
$JSCompiler_prototypeAlias$$.read_imm16s = function $$JSCompiler_prototypeAlias$$$read_imm16s$() {
return this.read_imm16() << 16 >> 16;
};
$JSCompiler_prototypeAlias$$.read_imm32s = function $$JSCompiler_prototypeAlias$$$read_imm32s$() {
if (4092 < (this.instruction_pointer ^ this.last_virt_eip) >>> 0) {
return this.read_imm16() | this.read_imm16() << 16;
}
var $data32$$ = this.memory.read32s(this.eip_phys ^ this.instruction_pointer);
this.instruction_pointer = this.instruction_pointer + 4 | 0;
return $data32$$;
};
$JSCompiler_prototypeAlias$$.virt_boundary_read16 = function $$JSCompiler_prototypeAlias$$$virt_boundary_read16$($low$$1$$, $high$$1$$) {
return this.memory.read8($low$$1$$) | this.memory.read8($high$$1$$) << 8;
};
$JSCompiler_prototypeAlias$$.virt_boundary_read32s = function $$JSCompiler_prototypeAlias$$$virt_boundary_read32s$($low$$2$$, $high$$2$$) {
var $mid$$3$$;
$mid$$3$$ = $low$$2$$ & 1 ? $low$$2$$ & 2 ? this.memory.read_aligned16($high$$2$$ - 2 >> 1) : this.memory.read_aligned16($low$$2$$ + 1 >> 1) : this.virt_boundary_read16($low$$2$$ + 1, $high$$2$$ - 1);
return this.memory.read8($low$$2$$) | $mid$$3$$ << 8 | this.memory.read8($high$$2$$) << 24;
};
$JSCompiler_prototypeAlias$$.virt_boundary_write16 = function $$JSCompiler_prototypeAlias$$$virt_boundary_write16$($low$$3$$, $high$$3$$, $value$$41$$) {
this.memory.write8($low$$3$$, $value$$41$$);
this.memory.write8($high$$3$$, $value$$41$$ >> 8);
};
$JSCompiler_prototypeAlias$$.virt_boundary_write32 = function $$JSCompiler_prototypeAlias$$$virt_boundary_write32$($low$$4$$, $high$$4$$, $value$$42$$) {
this.memory.write8($low$$4$$, $value$$42$$);
this.memory.write8($high$$4$$, $value$$42$$ >> 24);
$low$$4$$ & 1 ? $low$$4$$ & 2 ? (this.memory.write8($high$$4$$ - 2, $value$$42$$ >> 8), this.memory.write8($high$$4$$ - 1, $value$$42$$ >> 16)) : (this.memory.write8($low$$4$$ + 1, $value$$42$$ >> 8), this.memory.write8($low$$4$$ + 2, $value$$42$$ >> 16)) : (this.memory.write8($low$$4$$ + 1, $value$$42$$ >> 8), this.memory.write8($high$$4$$ - 1, $value$$42$$ >> 16));
};
$JSCompiler_prototypeAlias$$.safe_read8 = function $$JSCompiler_prototypeAlias$$$safe_read8$($addr$$57$$) {
return this.memory.read8(this.translate_address_read($addr$$57$$));
};
$JSCompiler_prototypeAlias$$.safe_read16 = function $$JSCompiler_prototypeAlias$$$safe_read16$($addr$$58$$) {
return this.paging && 4095 === ($addr$$58$$ & 4095) ? this.safe_read8($addr$$58$$) | this.safe_read8($addr$$58$$ + 1) << 8 : this.memory.read16(this.translate_address_read($addr$$58$$));
};
$JSCompiler_prototypeAlias$$.safe_read32s = function $$JSCompiler_prototypeAlias$$$safe_read32s$($addr$$59$$) {
return this.paging && 4093 <= ($addr$$59$$ & 4095) ? this.safe_read16($addr$$59$$) | this.safe_read16($addr$$59$$ + 2) << 16 : this.memory.read32s(this.translate_address_read($addr$$59$$));
};
$JSCompiler_prototypeAlias$$.safe_write8 = function $$JSCompiler_prototypeAlias$$$safe_write8$($addr$$60$$, $value$$43$$) {
this.memory.write8(this.translate_address_write($addr$$60$$), $value$$43$$);
};
$JSCompiler_prototypeAlias$$.safe_write16 = function $$JSCompiler_prototypeAlias$$$safe_write16$($addr$$61$$, $value$$44$$) {
var $phys_low$$ = this.translate_address_write($addr$$61$$);
4095 === ($addr$$61$$ & 4095) ? this.virt_boundary_write16($phys_low$$, this.translate_address_write($addr$$61$$ + 1), $value$$44$$) : this.memory.write16($phys_low$$, $value$$44$$);
};
$JSCompiler_prototypeAlias$$.safe_write32 = function $$JSCompiler_prototypeAlias$$$safe_write32$($addr$$62$$, $value$$45$$) {
var $phys_low$$1$$ = this.translate_address_write($addr$$62$$);
4093 <= ($addr$$62$$ & 4095) ? this.virt_boundary_write32($phys_low$$1$$, this.translate_address_write($addr$$62$$ + 3), $value$$45$$) : this.memory.write32($phys_low$$1$$, $value$$45$$);
};
$JSCompiler_prototypeAlias$$.read_moffs = function $$JSCompiler_prototypeAlias$$$read_moffs$() {
return this.address_size_32 ? this.get_seg_prefix(3) + this.read_imm32s() | 0 : this.get_seg_prefix(3) + this.read_imm16() | 0;
};
$JSCompiler_prototypeAlias$$.get_eflags = function $$JSCompiler_prototypeAlias$$$get_eflags$() {
return this.flags & -2262 | !!this.getcf() | !!this.getpf() << 2 | !!this.getaf() << 4 | !!this.getzf() << 6 | !!this.getsf() << 7 | !!this.getof() << 11;
};
$JSCompiler_prototypeAlias$$.load_eflags = function $$JSCompiler_prototypeAlias$$$load_eflags$() {
this.flags = this.get_eflags();
this.flags_changed = 0;
};
$JSCompiler_prototypeAlias$$.update_eflags = function $$JSCompiler_prototypeAlias$$$update_eflags$($new_flags$$) {
var $mask$$5$$ = 1769472, $clear$$ = 2588629;
this.flags & 131072 ? ($mask$$5$$ |= 12288, $clear$$ |= 1572864) : this.cpl && ($mask$$5$$ |= 12288, this.cpl > (this.flags >> 12 & 3) && ($mask$$5$$ |= 512));
this.flags = ($new_flags$$ ^ (this.flags ^ $new_flags$$) & $mask$$5$$) & $clear$$ | 2;
this.flags_changed = 0;
};
$JSCompiler_prototypeAlias$$.get_stack_pointer = function $$JSCompiler_prototypeAlias$$$get_stack_pointer$($mod$$268$$) {
return this.get_seg(2) + this.stack_reg[this.reg_vsp] + $mod$$268$$ | 0;
};
$JSCompiler_prototypeAlias$$.get_real_eip = function $$JSCompiler_prototypeAlias$$$get_real_eip$() {
return this.instruction_pointer - this.get_seg(1) | 0;
};
$JSCompiler_prototypeAlias$$.call_interrupt_vector = function $$JSCompiler_prototypeAlias$$$call_interrupt_vector$($interrupt_nr_is_trap$$, $info_is_software_int$$, $error_code$$) {
this.in_hlt = !1;
$info_is_software_int$$ || (this.previous_ip = this.instruction_pointer);
if (this.protected_mode) {
if (this.flags & 131072 && this.cr4 & 1) {
throw this.debug.unimpl("VME");
}
this.flags & 131072 && $info_is_software_int$$ && 3 > (this.flags >> 12 & 3) && this.trigger_gp(0);
if (($interrupt_nr_is_trap$$ << 3 | 7) > this.idtr_size) {
throw this.debug.unimpl("#GP handler");
}
var $addr$$63_old_flags_type$$53$$ = this.idtr_offset + ($interrupt_nr_is_trap$$ << 3) | 0;
this.paging && ($addr$$63_old_flags_type$$53$$ = this.translate_address_system_read($addr$$63_old_flags_type$$53$$));
var $base$$3$$ = this.memory.read16($addr$$63_old_flags_type$$53$$) | this.memory.read16($addr$$63_old_flags_type$$53$$ + 6) << 16, $selector$$1$$ = this.memory.read16($addr$$63_old_flags_type$$53$$ + 2), $addr$$63_old_flags_type$$53$$ = this.memory.read8($addr$$63_old_flags_type$$53$$ + 5), $dpl$$2_new_esp$$ = $addr$$63_old_flags_type$$53$$ >> 5 & 3;
if (0 === ($addr$$63_old_flags_type$$53$$ & 128)) {
throw this.debug.unimpl("#NP handler");
}
$info_is_software_int$$ && $dpl$$2_new_esp$$ < this.cpl && this.trigger_gp($interrupt_nr_is_trap$$ << 3 | 2);
$addr$$63_old_flags_type$$53$$ &= 31;
if (14 === $addr$$63_old_flags_type$$53$$) {
$interrupt_nr_is_trap$$ = !1;
} else {
if (15 === $addr$$63_old_flags_type$$53$$) {
$interrupt_nr_is_trap$$ = !0;
} else {
if (5 === $addr$$63_old_flags_type$$53$$) {
throw this.debug.unimpl("call int to task gate");
}
if (6 === $addr$$63_old_flags_type$$53$$) {
throw this.debug.unimpl("16 bit interrupt gate");
}
if (7 === $addr$$63_old_flags_type$$53$$) {
throw this.debug.unimpl("16 bit trap gate");
}
throw this.debug.unimpl("#GP handler");
}
}
$info_is_software_int$$ = this.lookup_segment_selector($selector$$1$$);
if ($info_is_software_int$$.is_null) {
throw this.debug.unimpl("#GP handler");
}
if (!$info_is_software_int$$.is_executable || $info_is_software_int$$.dpl > this.cpl) {
throw this.debug.unimpl("#GP handler");
}
if (!$info_is_software_int$$.is_present) {
throw this.debug.unimpl("#NP handler");
}
this.load_eflags();
$addr$$63_old_flags_type$$53$$ = this.flags;
if (!$info_is_software_int$$.dc_bit && $info_is_software_int$$.dpl < this.cpl) {
var $new_ss_tss_stack_addr$$ = ($info_is_software_int$$.dpl << 3) + 4;
if ($new_ss_tss_stack_addr$$ + 5 > this.segment_limits[6]) {
throw this.debug.unimpl("#TS handler");
}
$new_ss_tss_stack_addr$$ = $new_ss_tss_stack_addr$$ + this.segment_offsets[6] | 0;
this.paging && ($new_ss_tss_stack_addr$$ = this.translate_address_system_read($new_ss_tss_stack_addr$$));
var $dpl$$2_new_esp$$ = this.memory.read32s($new_ss_tss_stack_addr$$), $new_ss_tss_stack_addr$$ = this.memory.read16($new_ss_tss_stack_addr$$ + 4), $old_esp_ss_info$$ = this.lookup_segment_selector($new_ss_tss_stack_addr$$);
if ($old_esp_ss_info$$.is_null) {
throw this.debug.unimpl("#TS handler");
}
if ($old_esp_ss_info$$.rpl !== $info_is_software_int$$.dpl) {
throw this.debug.unimpl("#TS handler");
}
if ($old_esp_ss_info$$.dpl !== $info_is_software_int$$.dpl || !$old_esp_ss_info$$.rw_bit) {
throw this.debug.unimpl("#TS handler");
}
if (!$old_esp_ss_info$$.is_present) {
throw this.debug.unimpl("#TS handler");
}
var $old_esp_ss_info$$ = this.reg32s[4], $old_ss$$ = this.sreg[2];
this.cpl = $info_is_software_int$$.dpl;
this.cpl_changed();
this.is_32 !== $info_is_software_int$$.size && this.update_cs_size($info_is_software_int$$.size);
this.flags &= -196609;
this.reg32s[4] = $dpl$$2_new_esp$$;
this.switch_seg(2, $new_ss_tss_stack_addr$$);
$addr$$63_old_flags_type$$53$$ & 131072 && (this.push32(this.sreg[5]), this.push32(this.sreg[4]), this.push32(this.sreg[3]), this.push32(this.sreg[0]));
this.push32($old_ss$$);
this.push32($old_esp_ss_info$$);
} else {
($info_is_software_int$$.dc_bit || $info_is_software_int$$.dpl === this.cpl) && this.flags & 131072 && this.trigger_gp($selector$$1$$ & -4);
}
this.push32($addr$$63_old_flags_type$$53$$);
this.push32(this.sreg[1]);
this.push32(this.get_real_eip());
$addr$$63_old_flags_type$$53$$ & 131072 && (this.switch_seg(5, 0), this.switch_seg(4, 0), this.switch_seg(3, 0), this.switch_seg(0, 0));
!1 !== $error_code$$ && this.push32($error_code$$);
this.sreg[1] = $selector$$1$$;
this.is_32 !== $info_is_software_int$$.size && this.update_cs_size($info_is_software_int$$.size);
this.segment_limits[1] = $info_is_software_int$$.real_limit;
this.segment_offsets[1] = $info_is_software_int$$.base;
this.instruction_pointer = this.get_seg(1) + $base$$3$$ | 0;
$interrupt_nr_is_trap$$ ? setTimeout(function() {
this.handle_irqs();
}.bind(this), 0) : this.flags &= -513;
} else {
this.load_eflags(), this.push16(this.flags), this.push16(this.sreg[1]), this.push16(this.get_real_eip()), this.flags &= -513, this.switch_seg(1, this.memory.read16(($interrupt_nr_is_trap$$ << 2) + 2)), this.instruction_pointer = this.get_seg(1) + this.memory.read16($interrupt_nr_is_trap$$ << 2) | 0;
}
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.iret16 = function $$JSCompiler_prototypeAlias$$$iret16$() {
if (!this.protected_mode || this.flags & 131072 && 3 === (this.flags >> 12 & 3)) {
var $ip$$6$$ = this.pop16();
this.switch_seg(1, this.pop16());
var $new_flags$$1$$ = this.pop16();
this.instruction_pointer = $ip$$6$$ + this.get_seg(1) | 0;
this.update_eflags($new_flags$$1$$);
this.handle_irqs();
} else {
throw this.flags & 131072 && this.trigger_gp(0), this.debug.unimpl("16 bit iret in protected mode");
}
this.last_instr_jump = !0;
};
$JSCompiler_prototypeAlias$$.iret32 = function $$JSCompiler_prototypeAlias$$$iret32$() {
if (!this.protected_mode || this.flags & 131072 && 3 === (this.flags >> 12 & 3)) {
var $ip$$7_temp_esp$$ = this.pop32s();
this.switch_seg(1, this.pop32s() & 65535);
var $new_flags$$2$$ = this.pop32s();
this.instruction_pointer = $ip$$7_temp_esp$$ + this.get_seg(1) | 0;
this.update_eflags($new_flags$$2$$);
this.handle_irqs();
} else {
this.flags & 131072 && this.trigger_gp(0);
this.instruction_pointer = this.pop32s();
this.sreg[1] = this.pop32s();
$new_flags$$2$$ = this.pop32s();
if ($new_flags$$2$$ & 131072) {
if (0 === this.cpl) {
this.update_eflags($new_flags$$2$$);
this.flags |= 131072;
this.switch_seg(1, this.sreg[1]);
this.instruction_pointer = this.instruction_pointer + this.get_seg(1) | 0;
var $ip$$7_temp_esp$$ = this.pop32s(), $temp_ss$$ = this.pop32s();
this.switch_seg(0, this.pop32s() & 65535);
this.switch_seg(3, this.pop32s() & 65535);
this.switch_seg(4, this.pop32s() & 65535);
this.switch_seg(5, this.pop32s() & 65535);
this.reg32s[4] = $ip$$7_temp_esp$$;
this.switch_seg(2, $temp_ss$$ & 65535);
this.cpl = 3;
this.update_cs_size(!1);
return;
}
$new_flags$$2$$ &= -131073;
}
var $info$$1$$ = this.lookup_segment_selector(this.sreg[1]);
if ($info$$1$$.is_null) {
throw this.debug.unimpl("is null");
}
if (!$info$$1$$.is_present) {
throw this.debug.unimpl("not present");
}
if (!$info$$1$$.is_executable) {
throw this.debug.unimpl("not exec");
}
if ($info$$1$$.rpl < this.cpl) {
throw this.debug.unimpl("rpl < cpl");
}
if ($info$$1$$.dc_bit && $info$$1$$.dpl > $info$$1$$.rpl) {
throw this.debug.unimpl("conforming and dpl > rpl");
}
$info$$1$$.rpl > this.cpl ? ($ip$$7_temp_esp$$ = this.pop32s(), $temp_ss$$ = this.pop32s(), this.reg32s[4] = $ip$$7_temp_esp$$, this.update_eflags($new_flags$$2$$), this.cpl = $info$$1$$.rpl, this.switch_seg(2, $temp_ss$$ & 65535), this.cpl_changed()) : this.update_eflags($new_flags$$2$$);
$info$$1$$.size !== this.is_32 && this.update_cs_size($info$$1$$.size);
this.segment_limits[1] = $info$$1$$.real_limit;
this.segment_offsets[1] = $info$$1$$.base;
this.instruction_pointer = this.instruction_pointer + this.get_seg(1) | 0;
this.handle_irqs();
this.last_instr_jump = !0;
}
};
$JSCompiler_prototypeAlias$$.hlt_op = function $$JSCompiler_prototypeAlias$$$hlt_op$() {
this.cpl && this.trigger_gp(0);
if (0 === (this.flags & 512)) {
throw this.debug.show("cpu halted"), this.stopped = !0, "HALT";
}
this.in_hlt = !0;
throw 233495534;
};
$JSCompiler_prototypeAlias$$.raise_exception = function $$JSCompiler_prototypeAlias$$$raise_exception$($interrupt_nr$$1$$) {
this.call_interrupt_vector($interrupt_nr$$1$$, !1, !1);
throw 233495534;
};
$JSCompiler_prototypeAlias$$.raise_exception_with_code = function $$JSCompiler_prototypeAlias$$$raise_exception_with_code$($interrupt_nr$$2$$, $error_code$$1$$) {
this.call_interrupt_vector($interrupt_nr$$2$$, !1, $error_code$$1$$);
throw 233495534;
};
$JSCompiler_prototypeAlias$$.trigger_de = function $$JSCompiler_prototypeAlias$$$trigger_de$() {
this.instruction_pointer = this.previous_ip;
this.raise_exception(0);
};
$JSCompiler_prototypeAlias$$.trigger_ud = function $$JSCompiler_prototypeAlias$$$trigger_ud$() {
this.instruction_pointer = this.previous_ip;
this.raise_exception(6);
};
$JSCompiler_prototypeAlias$$.trigger_nm = function $$JSCompiler_prototypeAlias$$$trigger_nm$() {
this.instruction_pointer = this.previous_ip;
this.raise_exception(7);
};
$JSCompiler_prototypeAlias$$.trigger_gp = function $$JSCompiler_prototypeAlias$$$trigger_gp$($code$$2$$) {
this.instruction_pointer = this.previous_ip;
this.raise_exception_with_code(13, $code$$2$$);
};
$JSCompiler_prototypeAlias$$.trigger_np = function $$JSCompiler_prototypeAlias$$$trigger_np$($code$$3$$) {
this.instruction_pointer = this.previous_ip;
this.raise_exception_with_code(11, $code$$3$$);
};
$JSCompiler_prototypeAlias$$.trigger_ss = function $$JSCompiler_prototypeAlias$$$trigger_ss$($code$$4$$) {
this.instruction_pointer = this.previous_ip;
this.raise_exception_with_code(12, $code$$4$$);
};
$JSCompiler_prototypeAlias$$.seg_prefix = function $$JSCompiler_prototypeAlias$$$seg_prefix$($seg$$2$$) {
this.segment_prefix = $seg$$2$$;
this.table[this.read_imm8()](this);
this.segment_prefix = -1;
};
$JSCompiler_prototypeAlias$$.get_seg_prefix = function $$JSCompiler_prototypeAlias$$$get_seg_prefix$($default_segment$$) {
return-1 === this.segment_prefix ? this.get_seg($default_segment$$) : 9 === this.segment_prefix ? 0 : this.get_seg(this.segment_prefix);
};
$JSCompiler_prototypeAlias$$.get_seg = function $$JSCompiler_prototypeAlias$$$get_seg$($segment$$) {
return this.segment_offsets[$segment$$];
};
$JSCompiler_prototypeAlias$$.handle_irqs = function $$JSCompiler_prototypeAlias$$$handle_irqs$() {
this.devices.pic && this.flags & 512 && !this.page_fault && this.devices.pic.check_irqs();
};
$JSCompiler_prototypeAlias$$.test_privileges_for_io = function $$JSCompiler_prototypeAlias$$$test_privileges_for_io$($port$$18$$, $size$$38$$) {
if (this.protected_mode && (this.cpl > (this.flags >> 12 & 3) || this.flags & 131072)) {
var $mask$$6_tsr_size$$ = this.segment_limits[6], $addr$$64_tsr_offset$$ = this.segment_offsets[6];
if (103 <= $mask$$6_tsr_size$$) {
var $iomap_base$$ = this.memory.read16(this.translate_address_system_read($addr$$64_tsr_offset$$ + 100 + 2));
if ($mask$$6_tsr_size$$ >= $iomap_base$$ + ($port$$18$$ + $size$$38$$ - 1 >> 3) && ($mask$$6_tsr_size$$ = (1 << $size$$38$$) - 1 << ($port$$18$$ & 7), $addr$$64_tsr_offset$$ = this.translate_address_system_read($addr$$64_tsr_offset$$ + $iomap_base$$ + ($port$$18$$ >> 3)), !(($mask$$6_tsr_size$$ & 65280 ? this.memory.read16($addr$$64_tsr_offset$$) : this.memory.read8($addr$$64_tsr_offset$$)) & $mask$$6_tsr_size$$))) {
return;
}
}
this.trigger_gp(0);
}
};
$JSCompiler_prototypeAlias$$.cpuid = function $$JSCompiler_prototypeAlias$$$cpuid$() {
var $id$$1$$ = this.reg32s[0];
0 === ($id$$1$$ & 2147483647) ? (this.reg32s[0] = 2, 0 === $id$$1$$ && (this.reg32s[3] = 1970169159, this.reg32s[2] = 1231384169, this.reg32s[1] = 1818588270)) : 1 === $id$$1$$ ? (this.reg32s[0] = 3939, this.reg32s[3] = 0, this.reg32s[1] = 0, this.reg32s[2] = void 0 !== this.fpu | 41274) : 2 === $id$$1$$ ? (this.reg32s[0] = 1717260289, this.reg32s[3] = 0, this.reg32s[1] = 0, this.reg32s[2] = 8024064) : -2138701824 === $id$$1$$ ? (this.reg32s[0] = 0, this.reg32s[3] = 0, this.reg32s[1] = 0, this.reg32s[2] =
0) : 1073741824 === ($id$$1$$ & -1073741824) && (this.reg32s[0] = 0, this.reg32s[3] = 0, this.reg32s[1] = 0, this.reg32s[2] = 0);
};
$JSCompiler_prototypeAlias$$.update_cs_size = function $$JSCompiler_prototypeAlias$$$update_cs_size$($new_size$$) {
this.is_32 = this.operand_size_32 = this.address_size_32 = $new_size$$;
this.update_operand_size();
this.update_address_size();
};
$JSCompiler_prototypeAlias$$.update_operand_size = function $$JSCompiler_prototypeAlias$$$update_operand_size$() {
this.operand_size_32 ? (this.table = this.table32, this.table0F = this.table0F_32) : (this.table = this.table16, this.table0F = this.table0F_16);
};
$JSCompiler_prototypeAlias$$.update_address_size = function $$JSCompiler_prototypeAlias$$$update_address_size$() {
this.address_size_32 ? (this.regv = this.reg32s, this.reg_vcx = 1, this.reg_vsi = 6, this.reg_vdi = 7) : (this.regv = this.reg16, this.reg_vcx = 2, this.reg_vsi = 12, this.reg_vdi = 14);
};
$JSCompiler_prototypeAlias$$.lookup_segment_selector = function $$JSCompiler_prototypeAlias$$$lookup_segment_selector$($info$$2_selector$$2$$) {
var $is_gdt_table_offset$$ = 0 === ($info$$2_selector$$2$$ & 4), $selector_offset$$ = $info$$2_selector$$2$$ & -8, $table_limit$$;
$info$$2_selector$$2$$ = {rpl:$info$$2_selector$$2$$ & 3, from_gdt:$is_gdt_table_offset$$, is_null:!1, is_valid:!0, base:0, access:0, flags:0, limit:0, type:0, dpl:0, is_system:!1, is_present:!1, is_executable:!1, rw_bit:!1, dc_bit:!1, size:!1, granularity:!1, real_limit:!1, is_writable:!1, is_readable:!1, table_offset:0};
$is_gdt_table_offset$$ ? ($is_gdt_table_offset$$ = this.gdtr_offset, $table_limit$$ = this.gdtr_size) : ($is_gdt_table_offset$$ = this.segment_offsets[7], $table_limit$$ = this.segment_limits[7]);
if (0 === $selector_offset$$) {
return $info$$2_selector$$2$$.is_null = !0, $info$$2_selector$$2$$;
}
if ($selector_offset$$ >> 3 > $table_limit$$) {
return $info$$2_selector$$2$$.is_valid = !1, $info$$2_selector$$2$$;
}
$is_gdt_table_offset$$ = $is_gdt_table_offset$$ + $selector_offset$$ | 0;
this.paging && ($is_gdt_table_offset$$ = this.translate_address_system_read($is_gdt_table_offset$$));
$info$$2_selector$$2$$.table_offset = $is_gdt_table_offset$$;
$info$$2_selector$$2$$.base = this.memory.read16($is_gdt_table_offset$$ + 2) | this.memory.read8($is_gdt_table_offset$$ + 4) << 16 | this.memory.read8($is_gdt_table_offset$$ + 7) << 24;
$info$$2_selector$$2$$.access = this.memory.read8($is_gdt_table_offset$$ + 5);
$info$$2_selector$$2$$.flags = this.memory.read8($is_gdt_table_offset$$ + 6) >> 4;
$info$$2_selector$$2$$.limit = this.memory.read16($is_gdt_table_offset$$) | (this.memory.read8($is_gdt_table_offset$$ + 6) & 15) << 16;
$info$$2_selector$$2$$.type = $info$$2_selector$$2$$.access & 15;
$info$$2_selector$$2$$.dpl = $info$$2_selector$$2$$.access >> 5 & 3;
$info$$2_selector$$2$$.is_system = 0 === ($info$$2_selector$$2$$.access & 16);
$info$$2_selector$$2$$.is_present = 128 === ($info$$2_selector$$2$$.access & 128);
$info$$2_selector$$2$$.is_executable = 8 === ($info$$2_selector$$2$$.access & 8);
$info$$2_selector$$2$$.rw_bit = 2 === ($info$$2_selector$$2$$.access & 2);
$info$$2_selector$$2$$.dc_bit = 4 === ($info$$2_selector$$2$$.access & 4);
$info$$2_selector$$2$$.size = 4 === ($info$$2_selector$$2$$.flags & 4);
$info$$2_selector$$2$$.granularity = 8 === ($info$$2_selector$$2$$.flags & 8);
$info$$2_selector$$2$$.real_limit = $info$$2_selector$$2$$.gr_bit ? ($info$$2_selector$$2$$.limit << 12 | 4095) >>> 0 : $info$$2_selector$$2$$.limit;
$info$$2_selector$$2$$.is_writable = $info$$2_selector$$2$$.rw_bit && !$info$$2_selector$$2$$.is_executable;
$info$$2_selector$$2$$.is_readable = $info$$2_selector$$2$$.rw_bit || !$info$$2_selector$$2$$.is_executable;
return $info$$2_selector$$2$$;
};
$JSCompiler_prototypeAlias$$.switch_seg = function $$JSCompiler_prototypeAlias$$$switch_seg$($reg$$4$$, $selector$$3$$) {
1 === $reg$$4$$ && (this.protected_mode = 1 === (this.cr0 & 1));
if (!this.protected_mode || this.flags & 131072) {
this.sreg[$reg$$4$$] = $selector$$3$$, this.segment_is_null[$reg$$4$$] = 0, this.segment_limits[$reg$$4$$] = 1048575, this.segment_offsets[$reg$$4$$] = $selector$$3$$ << 4;
} else {
var $info$$3$$ = this.lookup_segment_selector($selector$$3$$);
if (2 === $reg$$4$$) {
if ($info$$3$$.is_null) {
this.trigger_gp(0);
return;
}
if (!$info$$3$$.is_valid || $info$$3$$.is_system || $info$$3$$.rpl !== this.cpl || !$info$$3$$.is_writable || $info$$3$$.dpl !== this.cpl) {
this.trigger_gp($selector$$3$$ & -4);
return;
}
if (!$info$$3$$.is_present) {
this.trigger_ss($selector$$3$$ & -4);
return;
}
$info$$3$$.size ? (this.stack_reg = this.reg32s, this.reg_vsp = 4, this.reg_vbp = 5) : (this.stack_reg = this.reg16, this.reg_vsp = 8, this.reg_vbp = 10);
} else {
if (1 === $reg$$4$$) {
if (!$info$$3$$.is_executable) {
throw this.debug.unimpl("#GP handler");
}
if ($info$$3$$.is_system) {
throw this.debug.unimpl("load system segment descriptor, type = " + ($info$$3$$.access & 15));
}
if ($info$$3$$.rpl !== this.cpl) {
throw this.debug.unimpl("privilege change");
}
if (!$info$$3$$.dc_bit && $info$$3$$.dpl < this.cpl) {
throw this.debug.unimpl("inter privilege call");
}
if (!$info$$3$$.dc_bit && $info$$3$$.dpl !== this.cpl) {
throw this.debug.unimpl("#GP handler");
}
$info$$3$$.size !== this.is_32 && this.update_cs_size($info$$3$$.size);
} else {
if ($info$$3$$.is_null) {
this.sreg[$reg$$4$$] = $selector$$3$$;
this.segment_is_null[$reg$$4$$] = 1;
return;
}
if (!$info$$3$$.is_valid || $info$$3$$.is_system || !$info$$3$$.is_readable || (!$info$$3$$.is_executable || !$info$$3$$.dc_bit) && $info$$3$$.rpl > $info$$3$$.dpl && this.cpl > $info$$3$$.dpl) {
this.trigger_gp($selector$$3$$ & -4);
return;
}
if (!$info$$3$$.is_present) {
this.trigger_np($selector$$3$$ & -4);
return;
}
}
}
this.segment_is_null[$reg$$4$$] = 0;
this.segment_limits[$reg$$4$$] = $info$$3$$.real_limit;
this.segment_infos[$reg$$4$$] = 0;
this.segment_offsets[$reg$$4$$] = $info$$3$$.base;
this.sreg[$reg$$4$$] = $selector$$3$$;
}
};
$JSCompiler_prototypeAlias$$.load_tr = function $$JSCompiler_prototypeAlias$$$load_tr$($selector$$4$$) {
var $info$$4$$ = this.lookup_segment_selector($selector$$4$$);
if (!$info$$4$$.from_gdt) {
throw this.debug.unimpl("TR can only be loaded from GDT");
}
if ($info$$4$$.is_null) {
throw this.debug.unimpl("#GP handler");
}
if (!$info$$4$$.is_present) {
throw this.debug.unimpl("#GP handler");
}
if (!$info$$4$$.is_system) {
throw this.debug.unimpl("#GP handler");
}
if (9 !== $info$$4$$.type) {
throw this.debug.unimpl("#GP handler");
}
this.segment_offsets[6] = $info$$4$$.base;
this.segment_limits[6] = $info$$4$$.limit;
this.sreg[6] = $selector$$4$$;
this.memory.write8($info$$4$$.table_offset + 5, this.memory.read8($info$$4$$.table_offset + 5) | 2);
};
$JSCompiler_prototypeAlias$$.load_ldt = function $$JSCompiler_prototypeAlias$$$load_ldt$($selector$$5$$) {
var $info$$5$$ = this.lookup_segment_selector($selector$$5$$);
if ($info$$5$$.is_null) {
this.segment_offsets[7] = 0, this.segment_limits[7] = 0;
} else {
if (!$info$$5$$.from_gdt) {
throw this.debug.unimpl("LDTR can only be loaded from GDT");
}
if (!$info$$5$$.is_present) {
throw this.debug.unimpl("#GP handler");
}
if (!$info$$5$$.is_system) {
throw this.debug.unimpl("#GP handler");
}
if (2 !== $info$$5$$.type) {
throw this.debug.unimpl("#GP handler");
}
this.segment_offsets[7] = $info$$5$$.base;
this.segment_limits[7] = $info$$5$$.limit;
this.sreg[7] = $selector$$5$$;
}
};
$JSCompiler_prototypeAlias$$.arpl = function $$JSCompiler_prototypeAlias$$$arpl$($seg$$3$$, $r16$$) {
this.flags_changed &= -65;
if (($seg$$3$$ & 3) < (this.reg16[$r16$$] & 3)) {
return this.flags |= 64, $seg$$3$$ & -4 | this.reg16[$r16$$] & 3;
}
this.flags &= -65;
return $seg$$3$$;
};
$JSCompiler_prototypeAlias$$.clear_tlb = function $$JSCompiler_prototypeAlias$$$clear_tlb$() {
this.last_virt_eip = -1;
this.tlb_info.set(this.tlb_info_global);
};
$JSCompiler_prototypeAlias$$.full_clear_tlb = function $$JSCompiler_prototypeAlias$$$full_clear_tlb$() {
for (var $buf32$$ = new Int32Array(this.tlb_info_global.buffer), $i$$16$$ = 0;262144 > $i$$16$$;) {
$buf32$$[$i$$16$$++] = $buf32$$[$i$$16$$++] = $buf32$$[$i$$16$$++] = $buf32$$[$i$$16$$++] = 0;
}
this.clear_tlb();
};
$JSCompiler_prototypeAlias$$.invlpg = function $$JSCompiler_prototypeAlias$$$invlpg$($addr$$65_page$$) {
$addr$$65_page$$ = $addr$$65_page$$ >>> 12;
this.tlb_info[$addr$$65_page$$] = 0;
this.tlb_info_global[$addr$$65_page$$] = 0;
this.last_virt_eip = -1;
};
$JSCompiler_prototypeAlias$$.translate_address_read = function $$JSCompiler_prototypeAlias$$$translate_address_read$($addr$$66$$) {
return this.paging ? 3 === this.cpl ? this.translate_address_user_read($addr$$66$$) : this.translate_address_system_read($addr$$66$$) : $addr$$66$$;
};
$JSCompiler_prototypeAlias$$.translate_address_write = function $$JSCompiler_prototypeAlias$$$translate_address_write$($addr$$67$$) {
return this.paging ? 3 === this.cpl ? this.translate_address_user_write($addr$$67$$) : this.translate_address_system_write($addr$$67$$) : $addr$$67$$;
};
$JSCompiler_prototypeAlias$$.translate_address_user_write = function $$JSCompiler_prototypeAlias$$$translate_address_user_write$($addr$$68$$) {
var $base$$4$$ = $addr$$68$$ >>> 12;
return this.tlb_info[$base$$4$$] & 8 ? this.tlb_data[$base$$4$$] ^ $addr$$68$$ : this.do_page_translation($addr$$68$$, 1, 1) | $addr$$68$$ & 4095;
};
$JSCompiler_prototypeAlias$$.translate_address_user_read = function $$JSCompiler_prototypeAlias$$$translate_address_user_read$($addr$$69$$) {
var $base$$5$$ = $addr$$69$$ >>> 12;
return this.tlb_info[$base$$5$$] & 4 ? this.tlb_data[$base$$5$$] ^ $addr$$69$$ : this.do_page_translation($addr$$69$$, 0, 1) | $addr$$69$$ & 4095;
};
$JSCompiler_prototypeAlias$$.translate_address_system_write = function $$JSCompiler_prototypeAlias$$$translate_address_system_write$($addr$$70$$) {
var $base$$6$$ = $addr$$70$$ >>> 12;
return this.tlb_info[$base$$6$$] & 2 ? this.tlb_data[$base$$6$$] ^ $addr$$70$$ : this.do_page_translation($addr$$70$$, 1, 0) | $addr$$70$$ & 4095;
};
$JSCompiler_prototypeAlias$$.translate_address_system_read = function $$JSCompiler_prototypeAlias$$$translate_address_system_read$($addr$$71$$) {
var $base$$7$$ = $addr$$71$$ >>> 12;
return this.tlb_info[$base$$7$$] & 1 ? this.tlb_data[$base$$7$$] ^ $addr$$71$$ : this.do_page_translation($addr$$71$$, 0, 0) | $addr$$71$$ & 4095;
};
$JSCompiler_prototypeAlias$$.do_page_translation = function $$JSCompiler_prototypeAlias$$$do_page_translation$($addr$$72_high$$5$$, $for_writing$$, $user$$) {
var $page$$1$$ = $addr$$72_high$$5$$ >>> 12, $page_dir_addr$$ = (this.cr3 >>> 2) + ($page$$1$$ >> 10), $global$$1_page_dir_entry$$ = this.memory.mem32s[$page_dir_addr$$], $allowed_flag_can_write$$ = !0, $allow_user$$ = !0;
$global$$1_page_dir_entry$$ & 1 || (this.cr2 = $addr$$72_high$$5$$, this.trigger_pagefault($for_writing$$, $user$$, 0));
0 === ($global$$1_page_dir_entry$$ & 2) && ($allowed_flag_can_write$$ = !1, $for_writing$$ && ($user$$ || this.cr0 & 65536) && (this.cr2 = $addr$$72_high$$5$$, this.trigger_pagefault($for_writing$$, $user$$, 1)));
0 === ($global$$1_page_dir_entry$$ & 4) && ($allow_user$$ = !1, $user$$ && (this.cr2 = $addr$$72_high$$5$$, this.trigger_pagefault($for_writing$$, $user$$, 1)));
if ($global$$1_page_dir_entry$$ & this.page_size_extensions) {
this.memory.mem32s[$page_dir_addr$$] = $global$$1_page_dir_entry$$ | 32 | $for_writing$$ << 6, $addr$$72_high$$5$$ = $global$$1_page_dir_entry$$ & 4290772992 | $addr$$72_high$$5$$ & 4190208, $global$$1_page_dir_entry$$ = $global$$1_page_dir_entry$$ & 256;
} else {
var $page_table_addr$$ = (($global$$1_page_dir_entry$$ & 4294963200) >>> 2) + ($page$$1$$ & 1023), $page_table_entry$$ = this.memory.mem32s[$page_table_addr$$];
0 === ($page_table_entry$$ & 1) && (this.cr2 = $addr$$72_high$$5$$, this.trigger_pagefault($for_writing$$, $user$$, 0));
0 === ($page_table_entry$$ & 2) && ($allowed_flag_can_write$$ = !1, $for_writing$$ && ($user$$ || this.cr0 & 65536) && (this.cr2 = $addr$$72_high$$5$$, this.trigger_pagefault($for_writing$$, $user$$, 1)));
0 === ($page_table_entry$$ & 4) && ($allow_user$$ = !1, $user$$ && (this.cr2 = $addr$$72_high$$5$$, this.trigger_pagefault($for_writing$$, $user$$, 1)));
this.memory.mem32s[$page_dir_addr$$] = $global$$1_page_dir_entry$$ | 32;
this.memory.mem32s[$page_table_addr$$] = $page_table_entry$$ | 32 | $for_writing$$ << 6;
$addr$$72_high$$5$$ = $page_table_entry$$ & 4294963200;
$global$$1_page_dir_entry$$ = $page_table_entry$$ & 256;
}
this.tlb_data[$page$$1$$] = $addr$$72_high$$5$$ ^ $page$$1$$ << 12;
$allowed_flag_can_write$$ = $allow_user$$ ? $allowed_flag_can_write$$ ? 15 : 5 : $allowed_flag_can_write$$ ? 3 : 1;
this.tlb_info[$page$$1$$] = $allowed_flag_can_write$$;
$global$$1_page_dir_entry$$ && this.cr4 & 128 && (this.tlb_info_global[$page$$1$$] = $allowed_flag_can_write$$);
return $addr$$72_high$$5$$;
};
$JSCompiler_prototypeAlias$$.writable_or_pagefault = function $$JSCompiler_prototypeAlias$$$writable_or_pagefault$($addr$$73$$, $size$$39$$) {
if (this.paging) {
var $user$$1$$ = 3 === this.cpl ? 1 : 0, $mask$$7$$ = $user$$1$$ ? 8 : 2, $page$$2$$ = $addr$$73$$ >>> 12;
0 === (this.tlb_info[$page$$2$$] & $mask$$7$$) && this.do_page_translation($addr$$73$$, 1, $user$$1$$);
4096 <= ($addr$$73$$ & 4095) + $size$$39$$ - 1 && 0 === (this.tlb_info[$page$$2$$ + 1] & $mask$$7$$) && this.do_page_translation($addr$$73$$ + $size$$39$$ - 1, 1, $user$$1$$);
}
};
$JSCompiler_prototypeAlias$$.trigger_pagefault = function $$JSCompiler_prototypeAlias$$$trigger_pagefault$($write$$, $user$$2$$, $present$$) {
if (this.page_fault) {
throw this.debug.unimpl("Double fault");
}
var $page$$3$$ = this.cr2 >>> 12;
this.tlb_info[$page$$3$$] = 0;
this.tlb_info_global[$page$$3$$] = 0;
this.instruction_pointer = this.previous_ip;
this.page_fault = !0;
this.call_interrupt_vector(14, !1, $user$$2$$ << 2 | $write$$ << 1 | $present$$);
throw 233495534;
};
"object" === typeof window && (window.v86 = $v86$$, $v86$$.prototype.run = $v86$$.prototype.run, $v86$$.prototype.stop = $v86$$.prototype.v86_prototype$stop);
Object.fromList = function $Object$fromList$($xs$$) {
for (var $result$$81$$ = {}, $i$$17$$ = 0;$i$$17$$ < $xs$$.length;$i$$17$$++) {
$result$$81$$[$xs$$[$i$$17$$][0]] = $xs$$[$i$$17$$][1];
}
return $result$$81$$;
};
function $dbg_assert$$() {
}
String.pads = function $String$pads$($str$$7$$, $len$$) {
for ($str$$7$$ = $str$$7$$ ? $str$$7$$ + "" : "";$str$$7$$.length < $len$$;) {
$str$$7$$ = $str$$7$$ + " ";
}
return $str$$7$$;
};
String.pad0 = function $String$pad0$() {
for (var $str$$8$$ = "", $str$$8$$ = $str$$8$$ ? $str$$8$$ + "" : "";1 > $str$$8$$.length;) {
$str$$8$$ = "0" + $str$$8$$;
}
return $str$$8$$;
};
function $SyncBuffer$$($buffer$$8$$) {
this.byteLength = $buffer$$8$$.byteLength;
this.get = function $this$get$($start$$10$$, $len$$3$$, $fn$$3$$) {
$fn$$3$$(new Uint8Array($buffer$$8$$, $start$$10$$, $len$$3$$));
};
this.set = function $this$set$($start$$11$$, $slice$$, $fn$$4$$) {
(new Uint8Array($buffer$$8$$, $start$$11$$, $slice$$.byteLength)).set($slice$$);
$fn$$4$$();
};
}
"object" === typeof window && (window.SyncBuffer = $SyncBuffer$$);
Math.int_log2 = function $Math$int_log2$($x$$54$$) {
return Math.log($x$$54$$) / Math.LN2 | 0;
};
function $ByteQueue$$($size$$41$$) {
var $data$$198$$ = new Uint8Array($size$$41$$), $start$$12$$, $end$$4$$;
this.length = 0;
this.ByteQueue$push = function $this$ByteQueue$push$($item$$1$$) {
this.length !== $size$$41$$ && this.length++;
$data$$198$$[$end$$4$$] = $item$$1$$;
$end$$4$$ = $end$$4$$ + 1 & $size$$41$$ - 1;
};
this.ByteQueue$shift = function $this$ByteQueue$shift$() {
if (this.length) {
var $item$$2$$ = $data$$198$$[$start$$12$$];
$start$$12$$ = $start$$12$$ + 1 & $size$$41$$ - 1;
this.length--;
return $item$$2$$;
}
return-1;
};
this.ByteQueue$clear = function $this$ByteQueue$clear$() {
this.length = $end$$4$$ = $start$$12$$ = 0;
};
this.ByteQueue$clear();
}
;function $FPU$$($cpu$$1033$$) {
this.cpu = $cpu$$1033$$;
this._st = new Float64Array(8);
this._st8 = new Uint8Array(this._st.buffer);
new Int32Array(this._st.buffer);
this._stack_empty = 255;
this._stack_ptr = 0;
this._control_word = 895;
this._fpu_dp_selector = this._fpu_dp = this._fpu_opcode = this._fpu_ip_selector = this._fpu_ip = this._status_word = 0;
this.float32 = new Float32Array(1);
new Uint8Array(this.float32.buffer);
this.float32_int = new Int32Array(this.float32.buffer);
this.float64 = new Float64Array(1);
this.float64_byte = new Uint8Array(this.float64.buffer);
this.float64_int = new Int32Array(this.float64.buffer);
new Uint8Array(10);
this.indefinite_nan = NaN;
this.constants = new Float64Array([1, Math.log(10) / Math.LN2, Math.LOG2E, Math.PI, Math.log(2) / Math.LN10, Math.LN2, 0]);
}
$JSCompiler_prototypeAlias$$ = $FPU$$.prototype;
$JSCompiler_prototypeAlias$$._fpu_unimpl = function $$JSCompiler_prototypeAlias$$$_fpu_unimpl$() {
this.cpu.trigger_ud();
};
$JSCompiler_prototypeAlias$$._stack_fault = function $$JSCompiler_prototypeAlias$$$_stack_fault$() {
this._status_word |= 65;
};
$JSCompiler_prototypeAlias$$._invalid_arithmatic = function $$JSCompiler_prototypeAlias$$$_invalid_arithmatic$() {
this._status_word |= 1;
};
$JSCompiler_prototypeAlias$$._fcom = function $$JSCompiler_prototypeAlias$$$_fcom$($y$$34$$) {
var $x$$55$$ = this._get_st0();
this._status_word &= -18177;
$x$$55$$ > $y$$34$$ || (this._status_word = $y$$34$$ > $x$$55$$ ? this._status_word | 256 : $x$$55$$ === $y$$34$$ ? this._status_word | 16384 : this._status_word | 17664);
};
$JSCompiler_prototypeAlias$$._fucom = function $$JSCompiler_prototypeAlias$$$_fucom$($y$$35$$) {
this._fcom($y$$35$$);
};
$JSCompiler_prototypeAlias$$._fcomi = function $$JSCompiler_prototypeAlias$$$_fcomi$($y$$36$$) {
var $x$$56$$ = this._st[this._stack_ptr];
this.cpu.flags_changed &= -70;
this.cpu.flags &= -70;
$x$$56$$ > $y$$36$$ || (this.cpu.flags = $y$$36$$ > $x$$56$$ ? this.cpu.flags | 1 : $x$$56$$ === $y$$36$$ ? this.cpu.flags | 64 : this.cpu.flags | 69);
};
$JSCompiler_prototypeAlias$$._fucomi = function $$JSCompiler_prototypeAlias$$$_fucomi$($y$$37$$) {
this._fcomi($y$$37$$);
};
$JSCompiler_prototypeAlias$$._ftst = function $$JSCompiler_prototypeAlias$$$_ftst$($x$$57$$) {
this._status_word &= -18177;
isNaN($x$$57$$) ? this._status_word |= 17664 : 0 === $x$$57$$ ? this._status_word |= 16384 : 0 > $x$$57$$ && (this._status_word |= 256);
};
$JSCompiler_prototypeAlias$$._fxam = function $$JSCompiler_prototypeAlias$$$_fxam$($x$$58$$) {
this._status_word &= -18177;
this._status_word |= this._sign() << 9;
this._status_word = this._stack_empty >> this._stack_ptr & 1 ? this._status_word | 16640 : isNaN($x$$58$$) ? this._status_word | 256 : 0 === $x$$58$$ ? this._status_word | 16384 : Infinity === $x$$58$$ || -Infinity === $x$$58$$ ? this._status_word | 1280 : this._status_word | 1024;
};
$JSCompiler_prototypeAlias$$._finit = function $$JSCompiler_prototypeAlias$$$_finit$() {
this._control_word = 895;
this._fpu_opcode = this._fpu_dp = this._fpu_ip = this._status_word = 0;
this._stack_empty = 255;
this._stack_ptr = 0;
};
$JSCompiler_prototypeAlias$$._load_status_word = function $$JSCompiler_prototypeAlias$$$_load_status_word$() {
return this._status_word & -14337 | this._stack_ptr << 11;
};
$JSCompiler_prototypeAlias$$._safe_status_word = function $$JSCompiler_prototypeAlias$$$_safe_status_word$($sw$$2$$) {
this._status_word = $sw$$2$$ & -14337;
this._stack_ptr = $sw$$2$$ >> 11 & 7;
};
$JSCompiler_prototypeAlias$$._load_tag_word = function $$JSCompiler_prototypeAlias$$$_load_tag_word$() {
for (var $tag_word$$ = 0, $value$$46$$, $i$$18$$ = 0;8 > $i$$18$$;$i$$18$$++) {
$value$$46$$ = this._st[$i$$18$$], this._stack_empty >> $i$$18$$ & 1 ? $tag_word$$ |= 3 << ($i$$18$$ << 1) : 0 === $value$$46$$ ? $tag_word$$ |= 1 << ($i$$18$$ << 1) : isFinite($value$$46$$) || ($tag_word$$ |= 2 << ($i$$18$$ << 1));
}
return $tag_word$$;
};
$JSCompiler_prototypeAlias$$._safe_tag_word = function $$JSCompiler_prototypeAlias$$$_safe_tag_word$($tag_word$$1$$) {
for (var $i$$19$$ = this._stack_empty = 0;8 > $i$$19$$;$i$$19$$++) {
this._stack_empty |= $tag_word$$1$$ >> $i$$19$$ & $tag_word$$1$$ >> $i$$19$$ + 1 & 1 << $i$$19$$;
}
};
$JSCompiler_prototypeAlias$$._fstenv = function $$JSCompiler_prototypeAlias$$$_fstenv$($addr$$74$$) {
this.cpu.operand_size_32 ? (this.cpu.writable_or_pagefault($addr$$74$$, 26), this.cpu.safe_write16($addr$$74$$, this._control_word), this.cpu.safe_write16($addr$$74$$ + 4, this._load_status_word()), this.cpu.safe_write16($addr$$74$$ + 8, this._load_tag_word()), this.cpu.safe_write32($addr$$74$$ + 12, this._fpu_ip), this.cpu.safe_write16($addr$$74$$ + 16, this._fpu_ip_selector), this.cpu.safe_write16($addr$$74$$ + 18, this._fpu_opcode), this.cpu.safe_write32($addr$$74$$ + 20, this._fpu_dp), this.cpu.safe_write16($addr$$74$$ +
24, this._fpu_dp_selector)) : this._fpu_unimpl();
};
$JSCompiler_prototypeAlias$$._fldenv = function $$JSCompiler_prototypeAlias$$$_fldenv$($addr$$75$$) {
this.cpu.operand_size_32 ? (this._control_word = this.cpu.safe_read16($addr$$75$$), this._safe_status_word(this.cpu.safe_read16($addr$$75$$ + 4)), this._safe_tag_word(this.cpu.safe_read16($addr$$75$$ + 8)), this._fpu_ip = this.cpu.safe_read32s($addr$$75$$ + 12), this._fpu_ip_selector = this.cpu.safe_read16($addr$$75$$ + 16), this._fpu_opcode = this.cpu.safe_read16($addr$$75$$ + 18), this._fpu_dp = this.cpu.safe_read32s($addr$$75$$ + 20), this._fpu_dp_selector = this.cpu.safe_read16($addr$$75$$ +
24)) : this._fpu_unimpl();
};
$JSCompiler_prototypeAlias$$._fsave = function $$JSCompiler_prototypeAlias$$$_fsave$($addr$$76$$) {
this.cpu.writable_or_pagefault($addr$$76$$, 108);
this._fstenv($addr$$76$$);
$addr$$76$$ += 28;
for (var $i$$20$$ = 0;8 > $i$$20$$;$i$$20$$++) {
this._store_m80($addr$$76$$, $i$$20$$ - this._stack_ptr & 7), $addr$$76$$ += 10;
}
this._finit();
};
$JSCompiler_prototypeAlias$$._frstor = function $$JSCompiler_prototypeAlias$$$_frstor$($addr$$77$$) {
this._fldenv($addr$$77$$);
$addr$$77$$ += 28;
for (var $i$$21$$ = 0;8 > $i$$21$$;$i$$21$$++) {
this._st[$i$$21$$] = this._load_m80($addr$$77$$), $addr$$77$$ += 10;
}
};
$JSCompiler_prototypeAlias$$._integer_round = function $$JSCompiler_prototypeAlias$$$_integer_round$($f$$) {
var $rc_rounded$$ = this._control_word >> 10 & 3;
return 0 === $rc_rounded$$ ? ($rc_rounded$$ = Math.round($f$$), 0.5 === $rc_rounded$$ - $f$$ && $rc_rounded$$ % 2 && $rc_rounded$$--, $rc_rounded$$) : 1 === $rc_rounded$$ || 3 === $rc_rounded$$ && 0 < $f$$ ? Math.floor($f$$) : Math.ceil($f$$);
};
$JSCompiler_prototypeAlias$$._truncate = function $$JSCompiler_prototypeAlias$$$_truncate$($x$$59$$) {
return 0 < $x$$59$$ ? Math.floor($x$$59$$) : Math.ceil($x$$59$$);
};
$JSCompiler_prototypeAlias$$._push = function $$JSCompiler_prototypeAlias$$$_push$($x$$60$$) {
this._stack_ptr = this._stack_ptr - 1 & 7;
this._stack_empty >> this._stack_ptr & 1 ? (this._status_word &= -513, this._stack_empty &= ~(1 << this._stack_ptr), this._st[this._stack_ptr] = $x$$60$$) : (this._status_word |= 512, this._stack_fault(), this._st[this._stack_ptr] = this.indefinite_nan);
};
$JSCompiler_prototypeAlias$$._pop = function $$JSCompiler_prototypeAlias$$$_pop$() {
this._stack_empty |= 1 << this._stack_ptr;
this._stack_ptr = this._stack_ptr + 1 & 7;
};
$JSCompiler_prototypeAlias$$._get_sti = function $$JSCompiler_prototypeAlias$$$_get_sti$($i$$22$$) {
$i$$22$$ = $i$$22$$ + this._stack_ptr & 7;
return this._stack_empty >> $i$$22$$ & 1 ? (this._status_word &= -513, this._stack_fault(), this.indefinite_nan) : this._st[$i$$22$$];
};
$JSCompiler_prototypeAlias$$._get_st0 = function $$JSCompiler_prototypeAlias$$$_get_st0$() {
return this._stack_empty >> this._stack_ptr & 1 ? (this._status_word &= -513, this._stack_fault(), this.indefinite_nan) : this._st[this._stack_ptr];
};
$JSCompiler_prototypeAlias$$._load_m80 = function $$JSCompiler_prototypeAlias$$$_load_m80$($addr$$78_sign$$) {
var $exponent$$ = this.cpu.safe_read16($addr$$78_sign$$ + 8), $low$$5_mantissa$$ = this.cpu.safe_read32s($addr$$78_sign$$) >>> 0, $high$$6$$ = this.cpu.safe_read32s($addr$$78_sign$$ + 4) >>> 0;
$addr$$78_sign$$ = $exponent$$ >> 15;
$exponent$$ &= -32769;
if (0 === $exponent$$) {
return 0;
}
if (!(32767 > $exponent$$)) {
return this.float64_byte[7] = 127 | $addr$$78_sign$$ << 7, this.float64_byte[6] = 240 | $high$$6$$ >> 30 << 3 & 8, this.float64_byte[5] = 0, this.float64_byte[4] = 0, this.float64_int[0] = 0, this.float64[0];
}
$low$$5_mantissa$$ += 4294967296 * $high$$6$$;
$addr$$78_sign$$ && ($low$$5_mantissa$$ = -$low$$5_mantissa$$);
return $low$$5_mantissa$$ * Math.pow(2, $exponent$$ - 16383 - 63);
};
$JSCompiler_prototypeAlias$$._store_m80 = function $$JSCompiler_prototypeAlias$$$_store_m80$($addr$$79$$, $i$$23$$) {
this.float64[0] = this._st[this._stack_ptr + $i$$23$$ & 7];
var $sign$$1$$ = this.float64_byte[7] & 128, $exponent$$1$$ = (this.float64_byte[7] & 127) << 4 | this.float64_byte[6] >> 4, $low$$6$$, $high$$7$$;
2047 === $exponent$$1$$ ? ($exponent$$1$$ = 32767, $low$$6$$ = 0, $high$$7$$ = 2147483648 | (this.float64_int[1] & 524288) << 11) : 0 === $exponent$$1$$ ? $high$$7$$ = $low$$6$$ = 0 : ($exponent$$1$$ += 15360, $low$$6$$ = this.float64_int[0] << 11, $high$$7$$ = 2147483648 | (this.float64_int[1] & 1048575) << 11 | this.float64_int[0] >>> 21);
this.cpu.safe_write32($addr$$79$$, $low$$6$$);
this.cpu.safe_write32($addr$$79$$ + 4, $high$$7$$);
this.cpu.safe_write16($addr$$79$$ + 8, $sign$$1$$ << 8 | $exponent$$1$$);
};
$JSCompiler_prototypeAlias$$._load_m64 = function $$JSCompiler_prototypeAlias$$$_load_m64$($addr$$80_high$$8$$) {
var $low$$7$$ = this.cpu.safe_read32s($addr$$80_high$$8$$);
$addr$$80_high$$8$$ = this.cpu.safe_read32s($addr$$80_high$$8$$ + 4);
this.float64_int[0] = $low$$7$$;
this.float64_int[1] = $addr$$80_high$$8$$;
return this.float64[0];
};
$JSCompiler_prototypeAlias$$._store_m64 = function $$JSCompiler_prototypeAlias$$$_store_m64$($addr$$81$$) {
this.cpu.writable_or_pagefault($addr$$81$$, 8);
this.float64[0] = this._get_sti(0);
this.cpu.safe_write32($addr$$81$$, this.float64_int[0]);
this.cpu.safe_write32($addr$$81$$ + 4, this.float64_int[1]);
};
$JSCompiler_prototypeAlias$$._load_m32 = function $$JSCompiler_prototypeAlias$$$_load_m32$($addr$$82$$) {
this.float32_int[0] = this.cpu.safe_read32s($addr$$82$$);
return this.float32[0];
};
$JSCompiler_prototypeAlias$$._store_m32 = function $$JSCompiler_prototypeAlias$$$_store_m32$($addr$$83$$, $x$$61$$) {
this.float32[0] = $x$$61$$;
this.cpu.safe_write32($addr$$83$$, this.float32_int[0]);
};
$JSCompiler_prototypeAlias$$._sign = function $$JSCompiler_prototypeAlias$$$_sign$() {
return this._st8[(this._stack_ptr + 0 & 7) << 3 | 7] >> 7;
};
$JSCompiler_prototypeAlias$$.op_D8_reg = function $$JSCompiler_prototypeAlias$$$op_D8_reg$($imm8$$5_sti$$) {
var $mod$$269$$ = $imm8$$5_sti$$ >> 3 & 7;
$imm8$$5_sti$$ = this._get_sti($imm8$$5_sti$$ & 7);
var $st0$$ = this._get_st0();
switch($mod$$269$$) {
case 0:
this._st[this._stack_ptr] = $st0$$ + $imm8$$5_sti$$;
break;
case 1:
this._st[this._stack_ptr] = $st0$$ * $imm8$$5_sti$$;
break;
case 2:
this._fcom($imm8$$5_sti$$);
break;
case 3:
this._fcom($imm8$$5_sti$$);
this._pop();
break;
case 4:
this._st[this._stack_ptr] = $st0$$ - $imm8$$5_sti$$;
break;
case 5:
this._st[this._stack_ptr] = $imm8$$5_sti$$ - $st0$$;
break;
case 6:
this._st[this._stack_ptr] = $st0$$ / $imm8$$5_sti$$;
break;
case 7:
this._st[this._stack_ptr] = $imm8$$5_sti$$ / $st0$$;
}
};
$JSCompiler_prototypeAlias$$.op_D8_mem = function $$JSCompiler_prototypeAlias$$$op_D8_mem$($imm8$$6$$, $addr$$84$$) {
var $mod$$270$$ = $imm8$$6$$ >> 3 & 7, $m32$$ = this._load_m32($addr$$84$$), $st0$$1$$ = this._get_st0();
switch($mod$$270$$) {
case 0:
this._st[this._stack_ptr] = $st0$$1$$ + $m32$$;
break;
case 1:
this._st[this._stack_ptr] = $st0$$1$$ * $m32$$;
break;
case 2:
this._fcom($m32$$);
break;
case 3:
this._fcom($m32$$);
this._pop();
break;
case 4:
this._st[this._stack_ptr] = $st0$$1$$ - $m32$$;
break;
case 5:
this._st[this._stack_ptr] = $m32$$ - $st0$$1$$;
break;
case 6:
this._st[this._stack_ptr] = $st0$$1$$ / $m32$$;
break;
case 7:
this._st[this._stack_ptr] = $m32$$ / $st0$$1$$;
}
};
$JSCompiler_prototypeAlias$$.op_D9_reg = function $$JSCompiler_prototypeAlias$$$op_D9_reg$($imm8$$7_st0$$2_sti$$1$$) {
var $low$$9$$ = $imm8$$7_st0$$2_sti$$1$$ & 7;
switch($imm8$$7_st0$$2_sti$$1$$ >> 3 & 7) {
case 0:
$imm8$$7_st0$$2_sti$$1$$ = this._get_sti($low$$9$$);
this._push($imm8$$7_st0$$2_sti$$1$$);
break;
case 1:
$imm8$$7_st0$$2_sti$$1$$ = this._get_sti($low$$9$$);
this._st[this._stack_ptr + $low$$9$$ & 7] = this._get_st0();
this._st[this._stack_ptr] = $imm8$$7_st0$$2_sti$$1$$;
break;
case 2:
switch($low$$9$$) {
case 0:
break;
default:
this._fpu_unimpl();
}
break;
case 3:
this._fpu_unimpl();
break;
case 4:
$imm8$$7_st0$$2_sti$$1$$ = this._get_st0();
switch($low$$9$$) {
case 0:
this._st[this._stack_ptr] = -$imm8$$7_st0$$2_sti$$1$$;
break;
case 1:
this._st[this._stack_ptr] = Math.abs($imm8$$7_st0$$2_sti$$1$$);
break;
case 4:
this._ftst($imm8$$7_st0$$2_sti$$1$$);
break;
case 5:
this._fxam($imm8$$7_st0$$2_sti$$1$$);
break;
default:
this._fpu_unimpl();
}
break;
case 5:
this._push(this.constants[$low$$9$$]);
break;
case 6:
$imm8$$7_st0$$2_sti$$1$$ = this._get_st0();
switch($low$$9$$) {
case 0:
this._st[this._stack_ptr] = Math.pow(2, $imm8$$7_st0$$2_sti$$1$$) - 1;
break;
case 1:
this._st[this._stack_ptr + 1 & 7] = this._get_sti(1) * Math.log($imm8$$7_st0$$2_sti$$1$$) / Math.LN2;
this._pop();
break;
case 2:
this._st[this._stack_ptr] = Math.tan($imm8$$7_st0$$2_sti$$1$$);
this._push(1);
break;
case 3:
this._st[this._stack_ptr + 1 & 7] = Math.atan2(this._get_sti(1), $imm8$$7_st0$$2_sti$$1$$);
this._pop();
break;
case 4:
this._fpu_unimpl();
break;
case 5:
this._st[this._stack_ptr] = $imm8$$7_st0$$2_sti$$1$$ % this._get_sti(1);
break;
case 6:
this._fpu_unimpl();
break;
case 7:
this._fpu_unimpl();
}
break;
case 7:
switch($imm8$$7_st0$$2_sti$$1$$ = this._get_st0(), $low$$9$$) {
case 0:
this._st[this._stack_ptr] = $imm8$$7_st0$$2_sti$$1$$ % this._get_sti(1);
break;
case 1:
this._st[this._stack_ptr + 1 & 7] = this._get_sti(1) * Math.log($imm8$$7_st0$$2_sti$$1$$ + 1) / Math.LN2;
this._pop();
break;
case 2:
this._st[this._stack_ptr] = Math.sqrt($imm8$$7_st0$$2_sti$$1$$);
break;
case 3:
this._st[this._stack_ptr] = Math.sin($imm8$$7_st0$$2_sti$$1$$);
this._push(Math.cos($imm8$$7_st0$$2_sti$$1$$));
break;
case 4:
this._st[this._stack_ptr] = this._integer_round($imm8$$7_st0$$2_sti$$1$$);
break;
case 5:
this._st[this._stack_ptr] = $imm8$$7_st0$$2_sti$$1$$ * Math.pow(2, this._truncate(this._get_sti(1)));
break;
case 6:
this._st[this._stack_ptr] = Math.sin($imm8$$7_st0$$2_sti$$1$$);
break;
case 7:
this._st[this._stack_ptr] = Math.cos($imm8$$7_st0$$2_sti$$1$$);
}
;
}
};
$JSCompiler_prototypeAlias$$.op_D9_mem = function $$JSCompiler_prototypeAlias$$$op_D9_mem$($imm8$$8$$, $addr$$85$$) {
switch($imm8$$8$$ >> 3 & 7) {
case 0:
var $data$$199$$ = this._load_m32($addr$$85$$);
this._push($data$$199$$);
break;
case 1:
this._fpu_unimpl();
break;
case 2:
this._store_m32($addr$$85$$, this._get_st0());
break;
case 3:
this._store_m32($addr$$85$$, this._get_st0());
this._pop();
break;
case 4:
this._fldenv($addr$$85$$);
break;
case 5:
this._control_word = this.cpu.safe_read16($addr$$85$$);
break;
case 6:
this._fstenv($addr$$85$$);
break;
case 7:
this.cpu.safe_write16($addr$$85$$, this._control_word);
}
};
$JSCompiler_prototypeAlias$$.op_DA_reg = function $$JSCompiler_prototypeAlias$$$op_DA_reg$($imm8$$9$$) {
var $low$$10$$ = $imm8$$9$$ & 7;
switch($imm8$$9$$ >> 3 & 7) {
case 0:
this.cpu.test_b() && (this._st[this._stack_ptr] = this._get_sti($low$$10$$), this._stack_empty &= ~(1 << this._stack_ptr));
break;
case 1:
this.cpu.test_z() && (this._st[this._stack_ptr] = this._get_sti($low$$10$$), this._stack_empty &= ~(1 << this._stack_ptr));
break;
case 2:
this.cpu.test_be() && (this._st[this._stack_ptr] = this._get_sti($low$$10$$), this._stack_empty &= ~(1 << this._stack_ptr));
break;
case 3:
this.cpu.test_p() && (this._st[this._stack_ptr] = this._get_sti($low$$10$$), this._stack_empty &= ~(1 << this._stack_ptr));
break;
case 5:
1 === $low$$10$$ ? (this._fucom(this._get_sti(1)), this._pop(), this._pop()) : this._fpu_unimpl();
break;
default:
this._fpu_unimpl();
}
};
$JSCompiler_prototypeAlias$$.op_DA_mem = function $$JSCompiler_prototypeAlias$$$op_DA_mem$($imm8$$10$$, $addr$$86$$) {
var $mod$$274$$ = $imm8$$10$$ >> 3 & 7, $m32$$1$$ = this.cpu.safe_read32s($addr$$86$$), $st0$$3$$ = this._get_st0();
switch($mod$$274$$) {
case 0:
this._st[this._stack_ptr] = $st0$$3$$ + $m32$$1$$;
break;
case 1:
this._st[this._stack_ptr] = $st0$$3$$ * $m32$$1$$;
break;
case 2:
this._fcom($m32$$1$$);
break;
case 3:
this._fcom($m32$$1$$);
this._pop();
break;
case 4:
this._st[this._stack_ptr] = $st0$$3$$ - $m32$$1$$;
break;
case 5:
this._st[this._stack_ptr] = $m32$$1$$ - $st0$$3$$;
break;
case 6:
this._st[this._stack_ptr] = $st0$$3$$ / $m32$$1$$;
break;
case 7:
this._st[this._stack_ptr] = $m32$$1$$ / $st0$$3$$;
}
};
$JSCompiler_prototypeAlias$$.op_DB_reg = function $$JSCompiler_prototypeAlias$$$op_DB_reg$($imm8$$11$$) {
var $low$$11$$ = $imm8$$11$$ & 7;
switch($imm8$$11$$ >> 3 & 7) {
case 0:
this.cpu.test_b() || (this._st[this._stack_ptr] = this._get_sti($low$$11$$), this._stack_empty &= ~(1 << this._stack_ptr));
break;
case 1:
this.cpu.test_z() || (this._st[this._stack_ptr] = this._get_sti($low$$11$$), this._stack_empty &= ~(1 << this._stack_ptr));
break;
case 2:
this.cpu.test_be() || (this._st[this._stack_ptr] = this._get_sti($low$$11$$), this._stack_empty &= ~(1 << this._stack_ptr));
break;
case 3:
this.cpu.test_p() || (this._st[this._stack_ptr] = this._get_sti($low$$11$$), this._stack_empty &= ~(1 << this._stack_ptr));
break;
case 4:
227 === $imm8$$11$$ ? this._finit() : 228 !== $imm8$$11$$ && 225 !== $imm8$$11$$ && (226 === $imm8$$11$$ ? this._status_word = 0 : this._fpu_unimpl());
break;
case 5:
this._fucomi(this._get_sti($low$$11$$));
break;
case 6:
this._fcomi(this._get_sti($low$$11$$));
break;
default:
this._fpu_unimpl();
}
};
$JSCompiler_prototypeAlias$$.op_DB_mem = function $$JSCompiler_prototypeAlias$$$op_DB_mem$($imm8$$12$$, $addr$$87$$) {
switch($imm8$$12$$ >> 3 & 7) {
case 0:
var $int32_st0$$4$$ = this.cpu.safe_read32s($addr$$87$$);
this._push($int32_st0$$4$$);
break;
case 2:
$int32_st0$$4$$ = this._integer_round(this._get_st0());
2147483647 >= $int32_st0$$4$$ && -2147483648 <= $int32_st0$$4$$ ? this.cpu.safe_write32($addr$$87$$, $int32_st0$$4$$) : (this._invalid_arithmatic(), this.cpu.safe_write32($addr$$87$$, -2147483648));
break;
case 3:
$int32_st0$$4$$ = this._integer_round(this._get_st0());
2147483647 >= $int32_st0$$4$$ && -2147483648 <= $int32_st0$$4$$ ? this.cpu.safe_write32($addr$$87$$, $int32_st0$$4$$) : (this._invalid_arithmatic(), this.cpu.safe_write32($addr$$87$$, -2147483648));
this._pop();
break;
case 5:
this._push(this._load_m80($addr$$87$$));
break;
case 7:
this.cpu.writable_or_pagefault($addr$$87$$, 10);
this._store_m80($addr$$87$$, 0);
this._pop();
break;
default:
this._fpu_unimpl();
}
};
$JSCompiler_prototypeAlias$$.op_DC_reg = function $$JSCompiler_prototypeAlias$$$op_DC_reg$($imm8$$13_low_ptr$$) {
var $mod$$277$$ = $imm8$$13_low_ptr$$ >> 3 & 7, $low$$12_sti$$2$$ = $imm8$$13_low_ptr$$ & 7;
$imm8$$13_low_ptr$$ = this._stack_ptr + $low$$12_sti$$2$$ & 7;
var $low$$12_sti$$2$$ = this._get_sti($low$$12_sti$$2$$), $st0$$5$$ = this._get_st0();
switch($mod$$277$$) {
case 0:
this._st[$imm8$$13_low_ptr$$] = $low$$12_sti$$2$$ + $st0$$5$$;
break;
case 1:
this._st[$imm8$$13_low_ptr$$] = $low$$12_sti$$2$$ * $st0$$5$$;
break;
case 2:
this._fcom($low$$12_sti$$2$$);
break;
case 3:
this._fcom($low$$12_sti$$2$$);
this._pop();
break;
case 4:
this._st[$imm8$$13_low_ptr$$] = $st0$$5$$ - $low$$12_sti$$2$$;
break;
case 5:
this._st[$imm8$$13_low_ptr$$] = $low$$12_sti$$2$$ - $st0$$5$$;
break;
case 6:
this._st[$imm8$$13_low_ptr$$] = $st0$$5$$ / $low$$12_sti$$2$$;
break;
case 7:
this._st[$imm8$$13_low_ptr$$] = $low$$12_sti$$2$$ / $st0$$5$$;
}
};
$JSCompiler_prototypeAlias$$.op_DC_mem = function $$JSCompiler_prototypeAlias$$$op_DC_mem$($imm8$$14$$, $addr$$88$$) {
var $mod$$278$$ = $imm8$$14$$ >> 3 & 7, $m64$$ = this._load_m64($addr$$88$$), $st0$$6$$ = this._get_st0();
switch($mod$$278$$) {
case 0:
this._st[this._stack_ptr] = $st0$$6$$ + $m64$$;
break;
case 1:
this._st[this._stack_ptr] = $st0$$6$$ * $m64$$;
break;
case 2:
this._fcom($m64$$);
break;
case 3:
this._fcom($m64$$);
this._pop();
break;
case 4:
this._st[this._stack_ptr] = $st0$$6$$ - $m64$$;
break;
case 5:
this._st[this._stack_ptr] = $m64$$ - $st0$$6$$;
break;
case 6:
this._st[this._stack_ptr] = $st0$$6$$ / $m64$$;
break;
case 7:
this._st[this._stack_ptr] = $m64$$ / $st0$$6$$;
}
};
$JSCompiler_prototypeAlias$$.op_DD_reg = function $$JSCompiler_prototypeAlias$$$op_DD_reg$($imm8$$15$$) {
var $low$$13$$ = $imm8$$15$$ & 7;
switch($imm8$$15$$ >> 3 & 7) {
case 0:
this._stack_empty |= 1 << (this._stack_ptr + $low$$13$$ & 7);
break;
case 2:
this._st[this._stack_ptr + $low$$13$$ & 7] = this._get_st0();
break;
case 3:
0 !== $low$$13$$ && (this._st[this._stack_ptr + $low$$13$$ & 7] = this._get_st0());
this._pop();
break;
case 4:
this._fucom(this._get_sti($low$$13$$));
break;
case 5:
this._fucom(this._get_sti($low$$13$$));
this._pop();
break;
default:
this._fpu_unimpl();
}
};
$JSCompiler_prototypeAlias$$.op_DD_mem = function $$JSCompiler_prototypeAlias$$$op_DD_mem$($imm8$$16$$, $addr$$89$$) {
switch($imm8$$16$$ >> 3 & 7) {
case 0:
var $data$$200$$ = this._load_m64($addr$$89$$);
this._push($data$$200$$);
break;
case 1:
this._fpu_unimpl();
break;
case 2:
this._store_m64($addr$$89$$);
break;
case 3:
this._store_m64($addr$$89$$);
this._pop();
break;
case 4:
this._frstor($addr$$89$$);
break;
case 5:
this._fpu_unimpl();
break;
case 6:
this._fsave($addr$$89$$);
break;
case 7:
this.cpu.safe_write16($addr$$89$$, this._load_status_word());
}
};
$JSCompiler_prototypeAlias$$.op_DE_reg = function $$JSCompiler_prototypeAlias$$$op_DE_reg$($imm8$$17_low$$14$$) {
var $mod$$281$$ = $imm8$$17_low$$14$$ >> 3 & 7;
$imm8$$17_low$$14$$ = $imm8$$17_low$$14$$ & 7;
var $low_ptr$$1$$ = this._stack_ptr + $imm8$$17_low$$14$$ & 7, $sti$$3$$ = this._get_sti($imm8$$17_low$$14$$), $st0$$7$$ = this._get_st0();
switch($mod$$281$$) {
case 0:
this._st[$low_ptr$$1$$] = $sti$$3$$ + $st0$$7$$;
break;
case 1:
this._st[$low_ptr$$1$$] = $sti$$3$$ * $st0$$7$$;
break;
case 2:
this._fcom($sti$$3$$);
break;
case 3:
1 === $imm8$$17_low$$14$$ ? (this._fcom(this._st[$low_ptr$$1$$]), this._pop()) : this._fpu_unimpl();
break;
case 4:
this._st[$low_ptr$$1$$] = $st0$$7$$ - $sti$$3$$;
break;
case 5:
this._st[$low_ptr$$1$$] = $sti$$3$$ - $st0$$7$$;
break;
case 6:
this._st[$low_ptr$$1$$] = $st0$$7$$ / $sti$$3$$;
break;
case 7:
this._st[$low_ptr$$1$$] = $sti$$3$$ / $st0$$7$$;
}
this._pop();
};
$JSCompiler_prototypeAlias$$.op_DE_mem = function $$JSCompiler_prototypeAlias$$$op_DE_mem$($imm8$$18$$, $addr$$90$$) {
var $mod$$282$$ = $imm8$$18$$ >> 3 & 7, $m16$$ = this.cpu.safe_read16($addr$$90$$) << 16 >> 16, $st0$$8$$ = this._get_st0();
switch($mod$$282$$) {
case 0:
this._st[this._stack_ptr] = $st0$$8$$ + $m16$$;
break;
case 1:
this._st[this._stack_ptr] = $st0$$8$$ * $m16$$;
break;
case 2:
this._fcom($m16$$);
break;
case 3:
this._fcom($m16$$);
this._pop();
break;
case 4:
this._st[this._stack_ptr] = $st0$$8$$ - $m16$$;
break;
case 5:
this._st[this._stack_ptr] = $m16$$ - $st0$$8$$;
break;
case 6:
this._st[this._stack_ptr] = $st0$$8$$ / $m16$$;
break;
case 7:
this._st[this._stack_ptr] = $m16$$ / $st0$$8$$;
}
};
$JSCompiler_prototypeAlias$$.op_DF_reg = function $$JSCompiler_prototypeAlias$$$op_DF_reg$($imm8$$19$$) {
var $low$$15$$ = $imm8$$19$$ & 7;
switch($imm8$$19$$ >> 3 & 7) {
case 4:
224 === $imm8$$19$$ ? this.cpu.reg16[0] = this._load_status_word() : this._fpu_unimpl();
break;
case 5:
this._fucomi(this._get_sti($low$$15$$));
this._pop();
break;
case 6:
this._fcomi(this._get_sti($low$$15$$));
this._pop();
break;
default:
this._fpu_unimpl();
}
};
$JSCompiler_prototypeAlias$$.op_DF_mem = function $$JSCompiler_prototypeAlias$$$op_DF_mem$($imm8$$20$$, $addr$$91$$) {
switch($imm8$$20$$ >> 3 & 7) {
case 0:
var $high$$9_m16$$1_st0$$9$$ = this.cpu.safe_read16($addr$$91$$) << 16 >> 16;
this._push($high$$9_m16$$1_st0$$9$$);
break;
case 1:
this._fpu_unimpl();
break;
case 2:
$high$$9_m16$$1_st0$$9$$ = this._integer_round(this._get_st0());
32767 >= $high$$9_m16$$1_st0$$9$$ && -32768 <= $high$$9_m16$$1_st0$$9$$ ? this.cpu.safe_write16($addr$$91$$, $high$$9_m16$$1_st0$$9$$) : (this._invalid_arithmatic(), this.cpu.safe_write16($addr$$91$$, 32768));
break;
case 3:
$high$$9_m16$$1_st0$$9$$ = this._integer_round(this._get_st0());
32767 >= $high$$9_m16$$1_st0$$9$$ && -32768 <= $high$$9_m16$$1_st0$$9$$ ? this.cpu.safe_write16($addr$$91$$, $high$$9_m16$$1_st0$$9$$) : (this._invalid_arithmatic(), this.cpu.safe_write16($addr$$91$$, 32768));
this._pop();
break;
case 4:
this._fpu_unimpl();
break;
case 5:
var $low$$16_m64$$1_st0_low$$ = this.cpu.safe_read32s($addr$$91$$) >>> 0, $high$$9_m16$$1_st0$$9$$ = this.cpu.safe_read32s($addr$$91$$ + 4) >>> 0, $low$$16_m64$$1_st0_low$$ = $low$$16_m64$$1_st0_low$$ + 4294967296 * $high$$9_m16$$1_st0$$9$$;
$high$$9_m16$$1_st0$$9$$ >> 31 && ($low$$16_m64$$1_st0_low$$ -= 1.8446744073709552E19);
this._push($low$$16_m64$$1_st0_low$$);
break;
case 6:
this._fpu_unimpl();
break;
case 7:
this.cpu.writable_or_pagefault($addr$$91$$, 8);
var $high$$9_m16$$1_st0$$9$$ = this._integer_round(this._get_st0()), $st0_high$$;
9223372036854775E3 > $high$$9_m16$$1_st0$$9$$ && -9223372036854775E3 <= $high$$9_m16$$1_st0$$9$$ ? ($low$$16_m64$$1_st0_low$$ = $high$$9_m16$$1_st0$$9$$ | 0, $st0_high$$ = $high$$9_m16$$1_st0$$9$$ / 4294967296 | 0, 0 === $st0_high$$ && 0 > $high$$9_m16$$1_st0$$9$$ && ($st0_high$$ = -1)) : ($low$$16_m64$$1_st0_low$$ = 0, $st0_high$$ = -2147483648, this._invalid_arithmatic());
this.cpu.safe_write32($addr$$91$$, $low$$16_m64$$1_st0_low$$);
this.cpu.safe_write32($addr$$91$$ + 4, $st0_high$$);
this._pop();
}
};
function $IDEDevice$$($cpu$$1034$$, $buffer$$9$$, $is_cd$$, $nr$$) {
function $push_irq$$() {
0 === ($device_control$$ & 2) && ($dma_status$$ |= 4, $pic$$.push_irq($me$$1$$.irq));
}
function $atapi_handle$$() {
$bytecount$$ = 2;
switch($data_port_buffer$$[0]) {
case 0:
$status$$ = 64;
$cylinder_low$$ = 8;
$cylinder_high$$ = 0;
$push_irq$$();
break;
case 3:
$pio_data$$ = new Uint8Array(Math.min($data_port_buffer$$[4], 15));
$status$$ = 88;
$pio_data$$[0] = 240;
$pio_data$$[7] = 8;
$data_pointer$$ = 0;
$bytecount$$ = 2;
$cylinder_low$$ = 8;
$cylinder_high$$ = 0;
$push_irq$$();
break;
case 18:
$pio_data$$ = new Uint8Array(Math.min($data_port_buffer$$[4], 36));
$status$$ = 88;
$pio_data$$.set([5, 128, 1, 49, 0, 0, 0, 0, 83, 79, 78, 89, 32, 32, 32, 32, 67, 68, 45, 82, 79, 77, 32, 67, 68, 85, 45, 49, 48, 48, 48, 32, 49, 46, 49, 97]);
$data_pointer$$ = 0;
$bytecount$$ = 2;
$push_irq$$();
break;
case 30:
$pio_data$$ = new Uint8Array(0);
$status$$ = 80;
$data_pointer$$ = 0;
$bytecount$$ = 2;
$push_irq$$();
break;
case 37:
$pio_data$$ = new Uint8Array([$me$$1$$.sector_count >> 24 & 255, $me$$1$$.sector_count >> 16 & 255, $me$$1$$.sector_count >> 8 & 255, $me$$1$$.sector_count & 255, 0, 0, $me$$1$$.sector_size >> 8 & 255, $me$$1$$.sector_size & 255]);
$status$$ = 88;
$data_pointer$$ = 0;
$bytecount$$ = 2;
$cylinder_low$$ = 8;
$cylinder_high$$ = 0;
$push_irq$$();
break;
case 40:
if ($lba_count$$ & 1) {
var $byte_count$$inline_629$$ = ($data_port_buffer$$[7] << 8 | $data_port_buffer$$[8]) * $me$$1$$.sector_size, $start$$inline_630_start$$inline_644$$ = ($data_port_buffer$$[2] << 24 | $data_port_buffer$$[3] << 16 | $data_port_buffer$$[4] << 8 | $data_port_buffer$$[5]) * $me$$1$$.sector_size;
$start$$inline_630_start$$inline_644$$ >= $buffer$$9$$.byteLength ? ($status$$ = 255, $push_irq$$()) : ($byte_count$$inline_629$$ = Math.min($byte_count$$inline_629$$, $buffer$$9$$.byteLength - $start$$inline_630_start$$inline_644$$), $status$$ = 128, $me$$1$$.buffer.get($start$$inline_630_start$$inline_644$$, $byte_count$$inline_629$$, function($data$$inline_631$$) {
var $prdt_start$$inline_632$$ = $prdt_addr$$, $offset$$inline_633$$ = 0;
do {
var $addr$$inline_634$$ = $memory$$1$$.read32s($prdt_start$$inline_632$$), $count$$inline_635$$ = $memory$$1$$.read16($prdt_start$$inline_632$$ + 4), $end$$inline_636$$ = $memory$$1$$.read8($prdt_start$$inline_632$$ + 7) & 128;
$count$$inline_635$$ || ($count$$inline_635$$ = 65536);
$memory$$1$$.write_blob($data$$inline_631$$.subarray($offset$$inline_633$$, $offset$$inline_633$$ + $count$$inline_635$$), $addr$$inline_634$$);
$offset$$inline_633$$ += $count$$inline_635$$;
$prdt_start$$inline_632$$ += 8;
} while (!$end$$inline_636$$);
$status$$ = 80;
$dma_status$$ &= -4;
$dma_status$$ |= 4;
$push_irq$$();
$me$$1$$.IDEDevice$stats.sectors_read += $byte_count$$inline_629$$ / $me$$1$$.sector_size | 0;
$me$$1$$.IDEDevice$stats.bytes_read += $byte_count$$inline_629$$;
}));
} else {
var $byte_count$$inline_641$$ = ($data_port_buffer$$[7] << 8 | $data_port_buffer$$[8]) * $me$$1$$.sector_size, $max_drq_size$$inline_642_transfered_ata_blocks$$inline_643$$ = ($cylinder_high$$ & 255) << 8 | $cylinder_low$$ & 255, $start$$inline_630_start$$inline_644$$ = ($data_port_buffer$$[2] << 24 | $data_port_buffer$$[3] << 16 | $data_port_buffer$$[4] << 8 | $data_port_buffer$$[5]) * $me$$1$$.sector_size;
$max_drq_size$$inline_642_transfered_ata_blocks$$inline_643$$ || ($max_drq_size$$inline_642_transfered_ata_blocks$$inline_643$$ = 32768);
$max_drq_size$$inline_642_transfered_ata_blocks$$inline_643$$ = Math.min($byte_count$$inline_641$$, $max_drq_size$$inline_642_transfered_ata_blocks$$inline_643$$);
$cylinder_low$$ = $max_drq_size$$inline_642_transfered_ata_blocks$$inline_643$$ & 255;
$cylinder_high$$ = $max_drq_size$$inline_642_transfered_ata_blocks$$inline_643$$ >> 8 & 255;
$start$$inline_630_start$$inline_644$$ >= $buffer$$9$$.byteLength ? ($status$$ = 255, $push_irq$$()) : ($byte_count$$inline_641$$ = Math.min($byte_count$$inline_641$$, $buffer$$9$$.byteLength - $start$$inline_630_start$$inline_644$$), $status$$ = 128, $me$$1$$.buffer.get($start$$inline_630_start$$inline_644$$, $byte_count$$inline_641$$, function($data$$inline_645$$) {
$pio_data$$ = $data$$inline_645$$;
$status$$ = 88;
$data_pointer$$ = 0;
$push_irq$$();
$me$$1$$.IDEDevice$stats.sectors_read += $byte_count$$inline_641$$ / $me$$1$$.sector_size | 0;
$me$$1$$.IDEDevice$stats.bytes_read += $byte_count$$inline_641$$;
}));
}
break;
case 67:
$pio_data$$ = new Uint8Array(2048);
$pio_data$$[0] = 0;
$pio_data$$[1] = 10;
$pio_data$$[2] = 1;
$pio_data$$[3] = 1;
$status$$ = 88;
$data_pointer$$ = 0;
$bytecount$$ = 2;
$cylinder_high$$ = 8;
$cylinder_low$$ = 0;
$push_irq$$();
break;
case 70:
$pio_data$$ = new Uint8Array($data_port_buffer$$[8] | $data_port_buffer$$[7] << 8);
$status$$ = 88;
$data_pointer$$ = 0;
$bytecount$$ = 2;
$push_irq$$();
break;
case 74:
$pio_data$$ = new Uint8Array($data_port_buffer$$[8] | $data_port_buffer$$[7] << 8);
$status$$ = 88;
$data_pointer$$ = 0;
$bytecount$$ = 2;
$push_irq$$();
break;
case 81:
$pio_data$$ = new Uint8Array(0);
$status$$ = 80;
$data_pointer$$ = 0;
$bytecount$$ = 2;
$push_irq$$();
break;
case 90:
$push_irq$$();
$status$$ = 80;
break;
default:
$status$$ = 80;
}
}
function $do_write$$() {
$status$$ = 80;
$me$$1$$.buffer.set($write_dest$$, $data_port_buffer$$.subarray(0, $data_port_count$$), function() {
$push_irq$$();
});
$me$$1$$.IDEDevice$stats.sectors_written += $data_port_count$$ / $me$$1$$.sector_size | 0;
$me$$1$$.IDEDevice$stats.bytes_written += $data_port_count$$;
}
function $read_status$$() {
var $ret$$ = $status$$;
0 <= $next_status$$ && ($status$$ = $next_status$$, $next_status$$ = -1);
return $ret$$;
}
function $write_control$$($data$$202$$) {
$device_control$$ = $data$$202$$;
$data$$202$$ & 4 && ($me$$1$$.is_atapi ? ($status$$ = 81, $sector$$ = $lba_count$$ = $bytecount$$ = 1, $cylinder_low$$ = 20, $cylinder_high$$ = 235) : ($status$$ = 81, $sector$$ = $lba_count$$ = $bytecount$$ = 1, $cylinder_low$$ = 60, $cylinder_high$$ = 195));
}
function $allocate_in_buffer$$($size$$42$$) {
$size$$42$$ > $data_port_buffer$$.length && ($data_port_buffer$$ = new Uint8Array($size$$42$$));
$data_port_count$$ = $size$$42$$;
$data_port_current$$ = 0;
}
function $read_data_port$$($JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$) {
if ($JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ === $me$$1$$.ata_port) {
return $data_pointer$$ < $pio_data$$.length ? (0 !== ($data_pointer$$ + 1) % (512 * $sectors_per_drq$$) && $data_pointer$$ + 1 !== $pio_data$$.length || $push_irq$$(), $cylinder_low$$ ? $cylinder_low$$-- : $cylinder_high$$ && ($cylinder_high$$--, $cylinder_low$$ = 255), $cylinder_low$$ || $cylinder_high$$ || ($JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ = $pio_data$$.length - $data_pointer$$ - 1, 65536 <= $JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ ?
($cylinder_high$$ = 240, $cylinder_low$$ = 0) : ($cylinder_high$$ = $JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ >> 8, $cylinder_low$$ = $JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$)), $data_pointer$$ + 1 >= $pio_data$$.length && ($status$$ = 80), $JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ = $pio_data$$[$data_pointer$$++]) : ($data_pointer$$++, $JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ = 0), $JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$
;
}
if ($JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ === ($me$$1$$.ata_port | 1)) {
return $lba_count$$ & 255;
}
if ($JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ === ($me$$1$$.ata_port | 2)) {
return $bytecount$$ & 255;
}
if ($JSCompiler_inline_result$$8_port_addr$$10_remaining$$inline_647$$ === ($me$$1$$.ata_port | 3)) {
return $sector$$ & 255;
}
}
function $write_data_port$$($data$$205$$, $port_addr$$11$$) {
$port_addr$$11$$ === $me$$1$$.ata_port ? $data_port_current$$ >= $data_port_count$$ || ($data_port_buffer$$[$data_port_current$$++] = $data$$205$$, 0 === $data_port_current$$ % (512 * $sectors_per_drq$$) && $push_irq$$(), $data_port_current$$ === $data_port_count$$ && $data_port_callback$$()) : $port_addr$$11$$ === ($me$$1$$.ata_port | 1) ? $lba_count$$ = ($lba_count$$ << 8 | $data$$205$$) & 65535 : $port_addr$$11$$ === ($me$$1$$.ata_port | 2) ? $bytecount$$ = ($bytecount$$ << 8 | $data$$205$$) &
65535 : $port_addr$$11$$ === ($me$$1$$.ata_port | 3) && ($sector$$ = ($sector$$ << 8 | $data$$205$$) & 65535);
}
function $get_chs$$() {
return(($cylinder_low$$ & 255 | $cylinder_high$$ << 8 & 65280) * $me$$1$$.head_count + $head$$) * $me$$1$$.IDEDevice$sectors_per_track + ($sector$$ & 255) - 1;
}
function $get_lba28$$() {
return $sector$$ & 255 | $cylinder_low$$ << 8 & 65280 | $cylinder_high$$ << 16 & 16711680;
}
function $get_lba48$$() {
return($sector$$ & 255 | $cylinder_low$$ << 8 & 65280 | $cylinder_high$$ << 16 & 16711680 | $sector$$ >> 8 << 24 & 4278190080) >>> 0;
}
function $create_identify_packet$$() {
$data_pointer$$ = 0;
$drive_head$$ & 16 ? $pio_data$$ = new Uint8Array(0) : ($pio_data$$ = new Uint8Array([64, $me$$1$$.is_atapi ? 133 : 0, $me$$1$$.cylinder_count, $me$$1$$.cylinder_count >> 8, 0, 0, $me$$1$$.head_count, $me$$1$$.head_count >> 8, 0, 0, 0, 0, $me$$1$$.IDEDevice$sectors_per_track, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 255, 0, 1, 0, 0, 3, 0, 0, 0, 2, 0, 2, 7, 0, $me$$1$$.cylinder_count, $me$$1$$.cylinder_count >> 8, $me$$1$$.head_count, $me$$1$$.head_count >> 8, $me$$1$$.IDEDevice$sectors_per_track, 0, $me$$1$$.sector_count & 255, $me$$1$$.sector_count >> 8 & 255, $me$$1$$.sector_count >> 16 & 255, $me$$1$$.sector_count >> 24 & 255, 0, 0, $me$$1$$.sector_count & 255, $me$$1$$.sector_count >> 8 & 255, $me$$1$$.sector_count >> 16 & 255, $me$$1$$.sector_count >>
24 & 255, 0, 0, 0, 4, 0, 0, 30, 0, 30, 0, 30, 0, 30, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, 0, 0, 0, 116, 0, 64, 0, 64, 0, 116, 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, $me$$1$$.sector_count & 255, $me$$1$$.sector_count >> 8 & 255, $me$$1$$.sector_count >> 16 & 255, $me$$1$$.sector_count >> 24 & 255]), 16383 < $me$$1$$.cylinder_count && ($pio_data$$[2] = $pio_data$$[108] = 255, $pio_data$$[3] = $pio_data$$[109] =
63));
}
var $pic$$ = $cpu$$1034$$.devices.pic, $memory$$1$$ = $cpu$$1034$$.memory, $me$$1$$ = this;
0 === $nr$$ ? (this.ata_port = 496, this.irq = 14, this.pci_id = 240) : (this.ata_port = 496, this.irq = 14, this.pci_id = 248);
this.ata_port_high = this.ata_port | 516;
this.io = $cpu$$1034$$.io;
this.pic = $cpu$$1034$$.devices.pic;
this.pci = $cpu$$1034$$.devices.pci;
this.sector_size = $is_cd$$ ? 2048 : 512;
this.buffer = $buffer$$9$$;
this.is_atapi = $is_cd$$;
$buffer$$9$$ ? (this.sector_count = $me$$1$$.buffer.byteLength / this.sector_size, this.sector_size !== (this.sector_size | 0) && (this.sector_count = Math.ceil(this.sector_count)), $is_cd$$ ? (this.head_count = 1, this.IDEDevice$sectors_per_track = 0) : (this.head_count = 255, this.IDEDevice$sectors_per_track = 63), this.cylinder_count = this.sector_count / (this.head_count + 1) / (this.IDEDevice$sectors_per_track + 1), this.cylinder_count !== (this.cylinder_count | 0) && (this.cylinder_count =
Math.ceil(this.cylinder_count))) : this.cylinder_count = this.IDEDevice$sectors_per_track = this.head_count = this.sector_count = 0;
this.IDEDevice$stats = {sectors_read:0, sectors_written:0, bytes_read:0, bytes_written:0};
this.pci_space = [134, 128, 32, 58, 5, 0, 160, 2, 0, 143, 1, 1, 0, 0, 0, 0, this.ata_port & 255 | 1, this.ata_port >> 8, 0, 0, this.ata_port_high & 255 | 1, this.ata_port_high >> 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 16, 212, 130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, this.irq, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
this.pci_bars = [{size:8}, {size:4}, !1, !1, {size:16}];
$cpu$$1034$$.devices.pci.register_device(this);
this.io.register_read(this.ata_port | 7, $read_status$$);
this.io.register_read(this.ata_port_high | 2, $read_status$$);
this.io.register_write(this.ata_port | 7, $write_control$$);
this.io.register_write(this.ata_port_high | 2, $write_control$$);
var $device_control$$ = 2, $data_pointer$$ = 0, $pio_data$$ = new Uint8Array(0), $is_lba$$ = 0, $bytecount$$ = 0, $sector$$ = 0, $lba_count$$ = 0, $cylinder_low$$ = 0, $cylinder_high$$ = 0, $head$$ = 0, $drive_head$$ = 0, $status$$ = 80, $sectors_per_drq$$ = 1, $write_dest$$, $data_port_count$$ = 0, $data_port_current$$ = 0, $data_port_buffer$$ = [], $data_port_callback$$, $next_status$$ = -1;
this.io.register_read($me$$1$$.ata_port | 0, $read_data_port$$);
this.io.register_read($me$$1$$.ata_port | 1, $read_data_port$$);
this.io.register_read($me$$1$$.ata_port | 2, $read_data_port$$);
this.io.register_read($me$$1$$.ata_port | 3, $read_data_port$$);
this.io.register_read($me$$1$$.ata_port | 4, function() {
return $cylinder_low$$ & 255;
});
this.io.register_read($me$$1$$.ata_port | 5, function() {
return $cylinder_high$$ & 255;
});
this.io.register_read($me$$1$$.ata_port | 6, function() {
return $drive_head$$;
});
this.io.register_write($me$$1$$.ata_port | 0, $write_data_port$$);
this.io.register_write($me$$1$$.ata_port | 1, $write_data_port$$);
this.io.register_write($me$$1$$.ata_port | 2, $write_data_port$$);
this.io.register_write($me$$1$$.ata_port | 3, $write_data_port$$);
this.io.register_write($me$$1$$.ata_port | 4, function($data$$212$$) {
$cylinder_low$$ = ($cylinder_low$$ << 8 | $data$$212$$) & 65535;
});
this.io.register_write($me$$1$$.ata_port | 5, function($data$$213$$) {
$cylinder_high$$ = ($cylinder_high$$ << 8 | $data$$213$$) & 65535;
});
this.io.register_write($me$$1$$.ata_port | 6, function($data$$214$$) {
$data$$214$$ & 16 || ($drive_head$$ = $data$$214$$, $is_lba$$ = $data$$214$$ >> 6 & 1, $head$$ = $data$$214$$ & 15);
});
this.io.register_write($me$$1$$.ata_port | 7, function($cmd$$6_offset$$inline_680$$) {
switch($cmd$$6_offset$$inline_680$$) {
case 0:
$push_irq$$();
$status$$ = 80;
break;
case 8:
$data_pointer$$ = 0;
$pio_data$$ = new Uint8Array(0);
$status$$ = 80;
$push_irq$$();
break;
case 16:
$push_irq$$();
break;
case 39:
$push_irq$$();
$pio_data$$ = new Uint8Array([0, 0, 0, 0, $me$$1$$.buffer.byteLength & 255, $me$$1$$.buffer.byteLength >> 8 & 255, $me$$1$$.buffer.byteLength >> 16 & 255, $me$$1$$.buffer.byteLength >> 24 & 255, 0, 0, 0, 0]);
$status$$ = 88;
break;
case 32:
;
case 41:
;
case 36:
;
case 196:
if (32 === $cmd$$6_offset$$inline_680$$ || 196 === $cmd$$6_offset$$inline_680$$) {
var $byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ = $bytecount$$ & 255, $lba$$inline_651_prd_addr$$inline_681$$ = $is_lba$$ ? $get_lba28$$() : $get_chs$$();
0 === $byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ && ($byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ = 256);
} else {
if (36 === $cmd$$6_offset$$inline_680$$ || 41 === $cmd$$6_offset$$inline_680$$) {
$byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ = $bytecount$$, $lba$$inline_651_prd_addr$$inline_681$$ = $get_lba48$$(), 0 === $byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ && ($byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ = 65536);
}
}
var $byte_count$$inline_652$$ = $byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ * $me$$1$$.sector_size, $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ = $lba$$inline_651_prd_addr$$inline_681$$ * $me$$1$$.sector_size;
$cylinder_low$$ += $byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$;
$byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ + $byte_count$$inline_652$$ > $buffer$$9$$.byteLength ? ($status$$ = 255, $push_irq$$()) : ($status$$ = 128, $me$$1$$.buffer.get($byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$, $byte_count$$inline_652$$, function($data$$inline_654$$) {
$pio_data$$ = $data$$inline_654$$;
$status$$ = 88;
$data_pointer$$ = 0;
$push_irq$$();
$me$$1$$.IDEDevice$stats.sectors_read += $byte_count$$inline_652$$ / $me$$1$$.sector_size | 0;
$me$$1$$.IDEDevice$stats.bytes_read += $byte_count$$inline_652$$;
}));
break;
case 48:
;
case 52:
;
case 57:
if (48 === $cmd$$6_offset$$inline_680$$) {
var $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ = $bytecount$$ & 255, $count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ = $is_lba$$ ? $get_lba28$$() : $get_chs$$();
0 === $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ && ($byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ = 256);
} else {
if (52 === $cmd$$6_offset$$inline_680$$ || 57 === $cmd$$6_offset$$inline_680$$) {
$byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ = $bytecount$$, $count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ = $get_lba48$$(), 0 === $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ && ($byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ = 65536);
}
}
$byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ = $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ * $me$$1$$.sector_size;
$count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ = $count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ * $me$$1$$.sector_size;
$cylinder_low$$ += $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$;
$count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ + $byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ > $buffer$$9$$.byteLength ? $status$$ = 255 : ($status$$ = 80, $next_status$$ = 88, $allocate_in_buffer$$($byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$), $write_dest$$ = $count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$, $data_port_callback$$ = $do_write$$);
$push_irq$$();
break;
case 144:
$push_irq$$();
$lba_count$$ = 257;
$status$$ = 80;
break;
case 145:
$push_irq$$();
break;
case 160:
$me$$1$$.is_atapi && ($status$$ = 88, $allocate_in_buffer$$(12), $data_port_callback$$ = $atapi_handle$$, $bytecount$$ = 1, $push_irq$$());
break;
case 161:
$me$$1$$.is_atapi ? ($create_identify_packet$$(), $status$$ = 88) : $status$$ = 80;
$push_irq$$();
break;
case 198:
$sectors_per_drq$$ = $bytecount$$;
$push_irq$$();
break;
case 200:
var $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ = $bytecount$$ & 255, $byte_count$$inline_664$$ = $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ * $me$$1$$.sector_size, $byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ = $get_lba28$$() * $me$$1$$.sector_size;
$cylinder_low$$ += $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$;
$byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ + $byte_count$$inline_664$$ > $buffer$$9$$.byteLength ? ($status$$ = 255, $push_irq$$()) : ($status$$ = 128, $dma_status$$ |= 1, $me$$1$$.buffer.get($byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$, $byte_count$$inline_664$$, function($data$$inline_666$$) {
var $prdt_start$$inline_667$$ = $prdt_addr$$, $offset$$inline_668$$ = 0;
do {
var $addr$$inline_669$$ = $memory$$1$$.read32s($prdt_start$$inline_667$$), $count$$inline_670$$ = $memory$$1$$.read16($prdt_start$$inline_667$$ + 4), $end$$inline_671$$ = $memory$$1$$.read8($prdt_start$$inline_667$$ + 7) & 128;
$count$$inline_670$$ || ($count$$inline_670$$ = 65536);
$memory$$1$$.write_blob($data$$inline_666$$.subarray($offset$$inline_668$$, $offset$$inline_668$$ + $count$$inline_670$$), $addr$$inline_669$$);
$offset$$inline_668$$ += $count$$inline_670$$;
$prdt_start$$inline_667$$ += 8;
} while (!$end$$inline_671$$);
$status$$ = 80;
$dma_status$$ &= -4;
$dma_status$$ |= 4;
$push_irq$$();
$me$$1$$.IDEDevice$stats.sectors_read += $byte_count$$inline_664$$ / $me$$1$$.sector_size | 0;
$me$$1$$.IDEDevice$stats.bytes_read += $byte_count$$inline_664$$;
}));
break;
case 202:
$count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ = $bytecount$$ & 255;
$byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ = $count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ * $me$$1$$.sector_size;
$byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ = $get_lba28$$() * $me$$1$$.sector_size;
$cylinder_low$$ += $count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$;
if ($byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ + $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ > $buffer$$9$$.byteLength) {
$status$$ = 255, $push_irq$$();
} else {
$status$$ = 128;
$dma_status$$ |= 1;
var $count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ = $prdt_addr$$, $prdt_count$$inline_678$$ = 0, $prdt_write_count$$inline_679$$ = 0;
$cmd$$6_offset$$inline_680$$ = 0;
do {
var $lba$$inline_651_prd_addr$$inline_681$$ = $memory$$1$$.read32s($count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$), $prd_count$$inline_682$$ = $memory$$1$$.read16($count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ + 4), $end$$inline_683$$ = $memory$$1$$.read8($count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ + 7) & 128;
$prd_count$$inline_682$$ || ($prd_count$$inline_682$$ = 65536);
$me$$1$$.buffer.set($byte_count$$inline_659_count$$inline_650_start$$inline_665_start$$inline_676$$ + $cmd$$6_offset$$inline_680$$, $memory$$1$$.mem8.subarray($lba$$inline_651_prd_addr$$inline_681$$, $lba$$inline_651_prd_addr$$inline_681$$ + $prd_count$$inline_682$$), function() {
$prdt_write_count$$inline_679$$++;
$prdt_write_count$$inline_679$$ === $prdt_count$$inline_678$$ && ($status$$ = 80, $push_irq$$(), $dma_status$$ &= -4, $dma_status$$ |= 4);
});
$cmd$$6_offset$$inline_680$$ += $prd_count$$inline_682$$;
$count$$inline_673_lba$$inline_658_prdt_start$$inline_677_start$$inline_660$$ += 8;
$prdt_count$$inline_678$$++;
} while (!$end$$inline_683$$);
$prdt_write_count$$inline_679$$ === $prdt_count$$inline_678$$ && ($status$$ = 80, $push_irq$$(), $dma_status$$ &= -4, $dma_status$$ |= 4);
$me$$1$$.IDEDevice$stats.sectors_written += $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$ / $me$$1$$.sector_size | 0;
$me$$1$$.IDEDevice$stats.bytes_written += $byte_count$$inline_675_count$$inline_657_count$$inline_662_start$$inline_653$$;
}
break;
case 225:
$push_irq$$();
break;
case 236:
if ($me$$1$$.is_atapi) {
break;
}
$create_identify_packet$$();
$status$$ = 88;
$push_irq$$();
break;
case 234:
$push_irq$$();
break;
case 239:
$push_irq$$();
break;
default:
$lba_count$$ = 4;
}
});
var $prdt_addr$$ = 0, $dma_status$$;
this.io.register_read(49156, function dma_read_addr0() {
return $prdt_addr$$ & 255;
});
this.io.register_read(49157, function dma_read_addr1() {
return $prdt_addr$$ >> 8 & 255;
});
this.io.register_read(49158, function dma_read_addr2() {
return $prdt_addr$$ >> 16 & 255;
});
this.io.register_read(49159, function dma_read_addr3() {
return $prdt_addr$$ >> 24 & 255;
});
this.io.register_write(49156, function dma_set_addr0($data$$208$$) {
$prdt_addr$$ = $prdt_addr$$ & -256 | $data$$208$$;
});
this.io.register_write(49157, function dma_set_addr1($data$$209$$) {
$prdt_addr$$ = $prdt_addr$$ & -65281 | $data$$209$$ << 8;
});
this.io.register_write(49158, function dma_set_addr2($data$$210$$) {
$prdt_addr$$ = $prdt_addr$$ & -16711681 | $data$$210$$ << 16;
});
this.io.register_write(49159, function dma_set_addr3($data$$211$$) {
$prdt_addr$$ = $prdt_addr$$ & 16777215 | $data$$211$$ << 24;
});
this.io.register_read(49154, function dma_read_status() {
return $dma_status$$;
});
this.io.register_write(49154, function dma_write_status($value$$47$$) {
$dma_status$$ &= ~$value$$47$$;
});
this.io.register_read(49152, function dma_read_command() {
return 1;
});
this.io.register_write(49152, function dma_write_command($value$$48$$) {
$value$$48$$ & 1 && $push_irq$$();
});
}
;function $PCI$$($cpu$$1035_io$$1$$) {
function $pci_write_byte$$($bar_nr_byte_pos$$) {
var $bars_bdf$$1_device$$3$$ = $pci_addr$$[2] << 8 | $pci_addr$$[1], $addr$$95$$ = $pci_addr$$[0] & 252, $space$$ = $device_spaces$$[$bars_bdf$$1_device$$3$$], $bars_bdf$$1_device$$3$$ = $devices$$1$$[$bars_bdf$$1_device$$3$$];
$space$$ && 3 === $bar_nr_byte_pos$$ && 16 <= $addr$$95$$ && 40 > $addr$$95$$ && ($bar_nr_byte_pos$$ = $addr$$95$$ - 16 >> 2, $bars_bdf$$1_device$$3$$ = $bars_bdf$$1_device$$3$$.pci_bars, $bar_nr_byte_pos$$ < $bars_bdf$$1_device$$3$$.length && $bars_bdf$$1_device$$3$$[$bar_nr_byte_pos$$] || ($space$$[$addr$$95$$ >> 2] = 0));
}
$cpu$$1035_io$$1$$ = $cpu$$1035_io$$1$$.io;
var $pci_addr$$ = new Uint8Array(4), $pci_response$$ = new Uint8Array(4), $pci_status$$ = new Uint8Array(4);
new Int32Array($pci_addr$$.buffer);
var $pci_response32$$ = new Int32Array($pci_response$$.buffer), $pci_status32$$ = new Int32Array($pci_status$$.buffer), $device_spaces$$ = Array(65536), $devices$$1$$ = Array(65536);
$cpu$$1035_io$$1$$.register_write(3324, function() {
$pci_write_byte$$(0);
});
$cpu$$1035_io$$1$$.register_write(3325, function() {
$pci_write_byte$$(1);
});
$cpu$$1035_io$$1$$.register_write(3326, function() {
$pci_write_byte$$(2);
});
$cpu$$1035_io$$1$$.register_write(3327, function() {
$pci_write_byte$$(3);
});
$cpu$$1035_io$$1$$.register_read(3324, function() {
return $pci_response$$[0];
});
$cpu$$1035_io$$1$$.register_read(3325, function() {
return $pci_response$$[1];
});
$cpu$$1035_io$$1$$.register_read(3326, function() {
return $pci_response$$[2];
});
$cpu$$1035_io$$1$$.register_read(3327, function() {
return $pci_response$$[3];
});
$cpu$$1035_io$$1$$.register_read(3320, function() {
return $pci_status$$[0];
});
$cpu$$1035_io$$1$$.register_read(3321, function() {
return $pci_status$$[1];
});
$cpu$$1035_io$$1$$.register_read(3322, function() {
return $pci_status$$[2];
});
$cpu$$1035_io$$1$$.register_read(3323, function() {
return $pci_status$$[3];
});
$cpu$$1035_io$$1$$.register_write(3320, function($out_byte$$11$$) {
$pci_addr$$[0] = $out_byte$$11$$;
});
$cpu$$1035_io$$1$$.register_write(3321, function($out_byte$$12$$) {
$pci_addr$$[1] = $out_byte$$12$$;
});
$cpu$$1035_io$$1$$.register_write(3322, function($out_byte$$13$$) {
$pci_addr$$[2] = $out_byte$$13$$;
});
$cpu$$1035_io$$1$$.register_write(3323, function($addr$$inline_687_out_byte$$14$$) {
$pci_addr$$[3] = $addr$$inline_687_out_byte$$14$$;
$addr$$inline_687_out_byte$$14$$ = $pci_addr$$[0] & 252;
var $device$$inline_688$$ = $device_spaces$$[$pci_addr$$[2] << 8 | $pci_addr$$[1]];
void 0 !== $device$$inline_688$$ ? ($pci_status32$$[0] = -2147483648, $pci_response32$$[0] = $addr$$inline_687_out_byte$$14$$ < $device$$inline_688$$.byteLength ? $device$$inline_688$$[$addr$$inline_687_out_byte$$14$$ >> 2] : -1) : ($pci_response32$$[0] = -1, $pci_status32$$[0] = 0);
});
this.register_device = function $this$register_device$($device$$4$$) {
var $device_id$$ = $device$$4$$.pci_id;
$device_spaces$$[$device_id$$] = new Int32Array((new Uint8Array($device$$4$$.pci_space)).buffer);
$devices$$1$$[$device_id$$] = $device$$4$$;
};
this.register_device({pci_id:0, pci_space:[134, 128, 55, 18, 0, 0, 0, 0, 2, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], pci_bars:[]});
this.register_device({pci_id:8, pci_space:[134, 128, 0, 112, 7, 0, 0, 2, 0, 0, 1, 6, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], pci_bars:[]});
}
;function $FloppyController$$($cpu$$1036$$, $fda_image$$) {
this.io = $cpu$$1036$$.io;
this.pic = $cpu$$1036$$.devices.pic;
this.dma = $cpu$$1036$$.devices.dma;
this.bytes_expecting = 0;
this.receiving_command = new Uint8Array(10);
this.receiving_index = 0;
this.next_command = null;
this.response_data = new Uint8Array(10);
this.floppy_size = this.response_length = this.response_index = 0;
this.fda_image = $fda_image$$;
this.last_cylinder = 0;
if ($fda_image$$) {
this.floppy_size = $fda_image$$.byteLength;
var $sectors_per_track$$, $floppy_type_number_of_heads$$;
if (($floppy_type_number_of_heads$$ = {160:{type:1, tracks:40, sectors:8, heads:1}, 180:{type:1, tracks:40, sectors:9, heads:1}, 200:{type:1, tracks:40, sectors:10, heads:1}, 320:{type:1, tracks:40, sectors:8, heads:2}, 360:{type:1, tracks:40, sectors:9, heads:2}, 400:{type:1, tracks:40, sectors:10, heads:2}, 720:{type:3, tracks:80, sectors:9, heads:2}, 1200:{type:2, tracks:80, sectors:15, heads:2}, 1440:{type:4, tracks:80, sectors:18, heads:2}, 1722:{type:5, tracks:82, sectors:21, heads:2},
2880:{type:5, tracks:80, sectors:36, heads:2}}[this.floppy_size >> 10]) && 0 === (this.floppy_size & 1023)) {
this.type = $floppy_type_number_of_heads$$.type, $sectors_per_track$$ = $floppy_type_number_of_heads$$.sectors, $floppy_type_number_of_heads$$ = $floppy_type_number_of_heads$$.heads;
} else {
throw "Unknown floppy size: " + ($fda_image$$.byteLength ? $fda_image$$.byteLength.toString(16).toUpperCase() : String.pad0());
}
this.FloppyController$sectors_per_track = $sectors_per_track$$;
this.number_of_heads = $floppy_type_number_of_heads$$;
this.io.register_read(1008, this.port3F0_read, this);
this.io.register_read(1010, this.port3F2_read, this);
this.io.register_read(1012, this.port3F4_read, this);
this.io.register_read(1013, this.port3F5_read, this);
this.io.register_read(1015, this.port3F7_read, this);
this.io.register_write(1010, this.port3F2_write, this);
this.io.register_write(1013, this.port3F5_write, this);
} else {
this.type = 4;
}
}
$JSCompiler_prototypeAlias$$ = $FloppyController$$.prototype;
$JSCompiler_prototypeAlias$$.port3F0_read = function $$JSCompiler_prototypeAlias$$$port3F0_read$() {
return 0;
};
$JSCompiler_prototypeAlias$$.port3F4_read = function $$JSCompiler_prototypeAlias$$$port3F4_read$() {
var $return_byte$$ = 128;
this.response_index < this.response_length && ($return_byte$$ |= 80);
0 === ($dor$$ & 8) && ($return_byte$$ |= 32);
return $return_byte$$;
};
$JSCompiler_prototypeAlias$$.port3F7_read = function $$JSCompiler_prototypeAlias$$$port3F7_read$() {
return 0;
};
$JSCompiler_prototypeAlias$$.port3F5_read = function $$JSCompiler_prototypeAlias$$$port3F5_read$() {
return this.response_index < this.response_length ? this.response_data[this.response_index++] : 255;
};
$JSCompiler_prototypeAlias$$.port3F5_write = function $$JSCompiler_prototypeAlias$$$port3F5_write$($reg_byte$$) {
if (0 < this.bytes_expecting) {
this.receiving_command[this.receiving_index++] = $reg_byte$$, this.bytes_expecting--, 0 === this.bytes_expecting && this.next_command.call(this, this.receiving_command);
} else {
switch($reg_byte$$) {
case 3:
this.next_command = this.fix_drive_data;
this.bytes_expecting = 2;
break;
case 4:
this.next_command = this.check_drive_status;
this.bytes_expecting = 1;
break;
case 5:
;
case 197:
this.next_command = function $this$next_command$($args$$) {
this.do_sector(!0, $args$$);
};
this.bytes_expecting = 8;
break;
case 230:
this.next_command = function $this$next_command$($args$$1$$) {
this.do_sector(!1, $args$$1$$);
};
this.bytes_expecting = 8;
break;
case 7:
this.next_command = this.calibrate;
this.bytes_expecting = 1;
break;
case 8:
this.check_interrupt_status();
break;
case 74:
this.next_command = this.read_sector_id;
this.bytes_expecting = 1;
break;
case 15:
this.bytes_expecting = 2;
this.next_command = this.FloppyController_prototype$seek;
break;
case 14:
this.response_data[0] = 128, this.response_index = 0, this.response_length = 1, this.bytes_expecting = 0;
}
this.receiving_index = 0;
}
};
var $dor$$ = 0;
$JSCompiler_prototypeAlias$$ = $FloppyController$$.prototype;
$JSCompiler_prototypeAlias$$.port3F2_read = function $$JSCompiler_prototypeAlias$$$port3F2_read$() {
return $dor$$;
};
$JSCompiler_prototypeAlias$$.port3F2_write = function $$JSCompiler_prototypeAlias$$$port3F2_write$($value$$50$$) {
4 === ($value$$50$$ & 4) && 0 === ($dor$$ & 4) && this.pic.push_irq(6);
$dor$$ = $value$$50$$;
};
$JSCompiler_prototypeAlias$$.check_drive_status = function $$JSCompiler_prototypeAlias$$$check_drive_status$() {
this.response_index = 0;
this.response_length = 1;
this.response_data[0] = 32;
};
$JSCompiler_prototypeAlias$$.FloppyController_prototype$seek = function $$JSCompiler_prototypeAlias$$$FloppyController_prototype$seek$($args$$3$$) {
this.last_cylinder = $args$$3$$[1];
$dor$$ & 8 && this.pic.push_irq(6);
};
$JSCompiler_prototypeAlias$$.calibrate = function $$JSCompiler_prototypeAlias$$$calibrate$() {
$dor$$ & 8 && this.pic.push_irq(6);
};
$JSCompiler_prototypeAlias$$.check_interrupt_status = function $$JSCompiler_prototypeAlias$$$check_interrupt_status$() {
this.response_index = 0;
this.response_length = 2;
this.response_data[0] = 32;
this.response_data[1] = this.last_cylinder;
};
$JSCompiler_prototypeAlias$$.do_sector = function $$JSCompiler_prototypeAlias$$$do_sector$($is_write$$, $args$$5$$) {
var $head$$1$$ = $args$$5$$[2], $cylinder$$ = $args$$5$$[1], $sector$$1$$ = $args$$5$$[3], $read_offset$$ = (($head$$1$$ + this.number_of_heads * $cylinder$$) * this.FloppyController$sectors_per_track + $sector$$1$$ - 1) * (128 << $args$$5$$[4]);
$is_write$$ ? this.dma.do_write(this.fda_image, $read_offset$$, this.done.bind(this, $args$$5$$, $cylinder$$, $head$$1$$, $sector$$1$$)) : this.dma.do_read(this.fda_image, $read_offset$$, this.done.bind(this, $args$$5$$, $cylinder$$, $head$$1$$, $sector$$1$$));
};
$JSCompiler_prototypeAlias$$.done = function $$JSCompiler_prototypeAlias$$$done$($cylinder$$1$$, $args$$6$$, $head$$2$$, $sector$$2$$, $error$$3$$) {
$error$$3$$ || ($sector$$2$$++, $sector$$2$$ > this.FloppyController$sectors_per_track && ($sector$$2$$ = 1, $head$$2$$++, $head$$2$$ >= this.number_of_heads && ($head$$2$$ = 0, $cylinder$$1$$++)), this.last_cylinder = $cylinder$$1$$, this.response_index = 0, this.response_length = 7, this.response_data[0] = $head$$2$$ << 2 | 32, this.response_data[1] = 0, this.response_data[2] = 0, this.response_data[3] = $cylinder$$1$$, this.response_data[4] = $head$$2$$, this.response_data[5] = $sector$$2$$,
this.response_data[6] = $args$$6$$[4], $dor$$ & 8 && this.pic.push_irq(6));
};
$JSCompiler_prototypeAlias$$.fix_drive_data = function $$JSCompiler_prototypeAlias$$$fix_drive_data$() {
};
$JSCompiler_prototypeAlias$$.read_sector_id = function $$JSCompiler_prototypeAlias$$$read_sector_id$() {
this.response_index = 0;
this.response_length = 7;
this.response_data[0] = 0;
this.response_data[1] = 0;
this.response_data[2] = 0;
this.response_data[3] = 0;
this.response_data[4] = 0;
this.response_data[5] = 0;
this.response_data[6] = 0;
$dor$$ & 8 && this.pic.push_irq(6);
};
function $Memory$$($buffer$$10$$, $memory_size$$1$$) {
var $mem8$$ = new Uint8Array($buffer$$10$$), $mem16$$ = new Uint16Array($buffer$$10$$), $mem32s$$ = new Int32Array($buffer$$10$$);
this.mem8 = $mem8$$;
this.mem16 = $mem16$$;
this.mem32s = $mem32s$$;
this.buffer = $buffer$$10$$;
this.size = $memory_size$$1$$;
this.memory_map_registered = new Uint8Array(262144);
this.memory_map_read8 = [];
this.memory_map_write8 = [];
this.memory_map_read32 = [];
this.memory_map_write32 = [];
}
$JSCompiler_prototypeAlias$$ = $Memory$$.prototype;
$JSCompiler_prototypeAlias$$.mmap_read8 = function $$JSCompiler_prototypeAlias$$$mmap_read8$($addr$$98$$) {
return this.memory_map_read8[$addr$$98$$ >>> 14]($addr$$98$$);
};
$JSCompiler_prototypeAlias$$.mmap_write8 = function $$JSCompiler_prototypeAlias$$$mmap_write8$($addr$$99$$, $value$$52$$) {
this.memory_map_write8[$addr$$99$$ >>> 14]($addr$$99$$, $value$$52$$);
};
$JSCompiler_prototypeAlias$$.mmap_read16 = function $$JSCompiler_prototypeAlias$$$mmap_read16$($addr$$100$$) {
return this.mmap_read8($addr$$100$$) | this.mmap_read8($addr$$100$$ + 1) << 8;
};
$JSCompiler_prototypeAlias$$.mmap_write16 = function $$JSCompiler_prototypeAlias$$$mmap_write16$($addr$$101$$, $value$$53$$) {
this.mmap_write8($addr$$101$$, $value$$53$$ & 255);
this.mmap_write8($addr$$101$$ + 1, $value$$53$$ >> 8 & 255);
};
$JSCompiler_prototypeAlias$$.mmap_read32 = function $$JSCompiler_prototypeAlias$$$mmap_read32$($addr$$102$$) {
return this.memory_map_read32[$addr$$102$$ >>> 14]($addr$$102$$);
};
$JSCompiler_prototypeAlias$$.mmap_write32 = function $$JSCompiler_prototypeAlias$$$mmap_write32$($addr$$103$$, $value$$54$$) {
this.memory_map_write32[$addr$$103$$ >>> 14]($addr$$103$$, $value$$54$$);
};
$JSCompiler_prototypeAlias$$.read8 = function $$JSCompiler_prototypeAlias$$$read8$($addr$$104$$) {
return this.memory_map_registered[$addr$$104$$ >>> 14] ? this.mmap_read8($addr$$104$$) : this.mem8[$addr$$104$$];
};
$JSCompiler_prototypeAlias$$.read16 = function $$JSCompiler_prototypeAlias$$$read16$($addr$$105$$) {
return this.memory_map_registered[$addr$$105$$ >>> 14] ? this.mmap_read16($addr$$105$$) : this.mem8[$addr$$105$$] | this.mem8[$addr$$105$$ + 1] << 8;
};
$JSCompiler_prototypeAlias$$.read_aligned16 = function $$JSCompiler_prototypeAlias$$$read_aligned16$($addr$$106$$) {
return this.memory_map_registered[$addr$$106$$ >>> 13] ? this.mmap_read16($addr$$106$$ << 1) : this.mem16[$addr$$106$$];
};
$JSCompiler_prototypeAlias$$.read32s = function $$JSCompiler_prototypeAlias$$$read32s$($addr$$107$$) {
return this.memory_map_registered[$addr$$107$$ >>> 14] ? this.mmap_read32($addr$$107$$) : this.mem8[$addr$$107$$] | this.mem8[$addr$$107$$ + 1] << 8 | this.mem8[$addr$$107$$ + 2] << 16 | this.mem8[$addr$$107$$ + 3] << 24;
};
$JSCompiler_prototypeAlias$$.read_aligned32 = function $$JSCompiler_prototypeAlias$$$read_aligned32$($addr$$108$$) {
return this.memory_map_registered[$addr$$108$$ >>> 12] ? this.mmap_read32($addr$$108$$ << 2) : this.mem32s[$addr$$108$$];
};
$JSCompiler_prototypeAlias$$.write8 = function $$JSCompiler_prototypeAlias$$$write8$($addr$$109$$, $value$$55$$) {
this.memory_map_registered[$addr$$109$$ >>> 14] ? this.mmap_write8($addr$$109$$, $value$$55$$) : this.mem8[$addr$$109$$] = $value$$55$$;
};
$JSCompiler_prototypeAlias$$.write16 = function $$JSCompiler_prototypeAlias$$$write16$($addr$$110$$, $value$$56$$) {
this.memory_map_registered[$addr$$110$$ >>> 14] ? this.mmap_write16($addr$$110$$, $value$$56$$) : (this.mem8[$addr$$110$$] = $value$$56$$, this.mem8[$addr$$110$$ + 1] = $value$$56$$ >> 8);
};
$JSCompiler_prototypeAlias$$.write_aligned16 = function $$JSCompiler_prototypeAlias$$$write_aligned16$($addr$$111$$, $value$$57$$) {
this.memory_map_registered[$addr$$111$$ >>> 13] ? this.mmap_write16($addr$$111$$ << 1, $value$$57$$) : this.mem16[$addr$$111$$] = $value$$57$$;
};
$JSCompiler_prototypeAlias$$.write32 = function $$JSCompiler_prototypeAlias$$$write32$($addr$$112$$, $value$$58$$) {
this.memory_map_registered[$addr$$112$$ >>> 14] ? this.mmap_write32($addr$$112$$, $value$$58$$) : (this.mem8[$addr$$112$$] = $value$$58$$, this.mem8[$addr$$112$$ + 1] = $value$$58$$ >> 8, this.mem8[$addr$$112$$ + 2] = $value$$58$$ >> 16, this.mem8[$addr$$112$$ + 3] = $value$$58$$ >> 24);
};
$JSCompiler_prototypeAlias$$.write_aligned32 = function $$JSCompiler_prototypeAlias$$$write_aligned32$($addr$$113$$, $value$$59$$) {
this.memory_map_registered[$addr$$113$$ >>> 12] ? this.mmap_write32($addr$$113$$ << 2, $value$$59$$) : this.mem32s[$addr$$113$$] = $value$$59$$;
};
$JSCompiler_prototypeAlias$$.write_blob = function $$JSCompiler_prototypeAlias$$$write_blob$($blob$$7$$, $offset$$19$$) {
this.mem8.set($blob$$7$$, $offset$$19$$);
};
$JSCompiler_prototypeAlias$$.write_string = function $$JSCompiler_prototypeAlias$$$write_string$($str$$10$$) {
for (var $i$$27$$ = 0;$i$$27$$ < $str$$10$$.length;$i$$27$$++) {
this.write8(63488 + $i$$27$$, $str$$10$$.charCodeAt($i$$27$$));
}
};
function $DMA$$($dev$$1$$) {
this.io = $dev$$1$$.io;
this.memory = $dev$$1$$.memory;
this.channels = [{address:0, count:0}, {address:0, count:0}, {address:0, count:0}, {address:0, count:0}];
this.lsb_msb_flipflop = 0;
this.io.register_write(4, this.port_write.bind(this, 4));
this.io.register_write(5, this.port_write.bind(this, 5));
this.io.register_write(10, this.portA_write.bind(this));
this.io.register_write(11, this.portB_write.bind(this));
this.io.register_write(12, this.portC_write.bind(this));
this.io.register_write(129, this.port81_write.bind(this));
}
$JSCompiler_prototypeAlias$$ = $DMA$$.prototype;
$JSCompiler_prototypeAlias$$.port_write = function $$JSCompiler_prototypeAlias$$$port_write$($port$$21$$, $data_byte$$1$$) {
if (8 > $port$$21$$) {
var $channel$$ = $port$$21$$ >> 1;
$port$$21$$ & 1 ? this.channels[$channel$$].count = this.flipflop_get(this.channels[$channel$$].count, $data_byte$$1$$) : this.channels[$channel$$].address = this.flipflop_get(this.channels[$channel$$].address, $data_byte$$1$$);
}
};
$JSCompiler_prototypeAlias$$.portA_write = function $$JSCompiler_prototypeAlias$$$portA_write$() {
};
$JSCompiler_prototypeAlias$$.portB_write = function $$JSCompiler_prototypeAlias$$$portB_write$() {
};
$JSCompiler_prototypeAlias$$.portC_write = function $$JSCompiler_prototypeAlias$$$portC_write$() {
this.lsb_msb_flipflop = 0;
};
$JSCompiler_prototypeAlias$$.port81_write = function $$JSCompiler_prototypeAlias$$$port81_write$($data_byte$$5$$) {
this.channels[2].address = this.channels[2].address & 65535 | $data_byte$$5$$ << 16;
};
$JSCompiler_prototypeAlias$$.do_read = function $$JSCompiler_prototypeAlias$$$do_read$($buffer$$11$$, $start$$19$$, $fn$$7$$) {
var $read_count$$1$$ = this.channels[2].count + 1, $addr$$116$$ = this.channels[2].address;
if ($start$$19$$ + $read_count$$1$$ > $buffer$$11$$.byteLength) {
$fn$$7$$(!0);
} else {
var $memory$$2$$ = this.memory;
this.channels[2].address += $read_count$$1$$;
$buffer$$11$$.get($start$$19$$, $read_count$$1$$, function($data$$215$$) {
$memory$$2$$.write_blob($data$$215$$, $addr$$116$$);
$fn$$7$$(!1);
});
}
};
$JSCompiler_prototypeAlias$$.do_write = function $$JSCompiler_prototypeAlias$$$do_write$($buffer$$12$$, $start$$20$$, $fn$$8$$) {
var $read_count$$2$$ = this.channels[2].count, $addr$$117$$ = this.channels[2].address;
$start$$20$$ + $read_count$$2$$ > $buffer$$12$$.byteLength ? $fn$$8$$(!0) : (this.channels[2].address += $read_count$$2$$, $buffer$$12$$.set($start$$20$$, new Uint8Array(this.memory.buffer, $addr$$117$$, $read_count$$2$$ + 1), function() {
$fn$$8$$(!1);
}));
};
$JSCompiler_prototypeAlias$$.flipflop_get = function $$JSCompiler_prototypeAlias$$$flipflop_get$($old_dword$$, $new_byte$$) {
return(this.lsb_msb_flipflop ^= 1) ? $old_dword$$ & -256 | $new_byte$$ : $old_dword$$ & -65281 | $new_byte$$ << 8;
};
function $PIT$$($cpu$$1037$$) {
function $counter_read$$($i$$28$$) {
var $latch_next_low$$ = $counter_latch$$[$i$$28$$];
if ($latch_next_low$$) {
return $counter_latch$$[$i$$28$$]--, 2 === $latch_next_low$$ ? $counter_latch_value$$[$i$$28$$] & 255 : $counter_latch_value$$[$i$$28$$] >> 8;
}
$latch_next_low$$ = $counter_next_low$$[$i$$28$$];
3 === $counter_mode$$[$i$$28$$] && ($counter_next_low$$[$i$$28$$] ^= 1);
return $latch_next_low$$ ? $counter_current$$[$i$$28$$] & 255 : $counter_current$$[$i$$28$$] >> 8;
}
function $counter_write$$($i$$29$$, $value$$60$$) {
$counter_reload$$[$i$$29$$] = $counter_next_low$$[$i$$29$$] ? $counter_reload$$[$i$$29$$] & -256 | $value$$60$$ : $counter_reload$$[$i$$29$$] & 255 | $value$$60$$ << 8;
3 === $counter_read_mode$$[$i$$29$$] && $counter_next_low$$[$i$$29$$] || ($counter_reload$$[$i$$29$$] || ($counter_reload$$[$i$$29$$] = 65535), $counter_current$$[$i$$29$$] = $counter_reload$$[$i$$29$$], $counter_enabled$$[$i$$29$$] = !0);
3 === $counter_read_mode$$[$i$$29$$] && ($counter_next_low$$[$i$$29$$] ^= 1);
}
var $io$$2$$ = $cpu$$1037$$.io, $pic$$1$$ = $cpu$$1037$$.devices.pic, $next_tick$$ = Date.now(), $counter_next_low$$ = new Uint8Array(3), $counter_enabled$$ = new Uint8Array(3), $counter_mode$$ = new Uint8Array(3), $counter_read_mode$$ = new Uint8Array(3), $counter_latch$$ = new Uint8Array(3), $counter_latch_value$$ = new Uint16Array(3), $counter_reload$$ = new Uint16Array(3), $counter_current$$ = new Uint16Array(3), $counter2_out$$ = 0, $parity$$ = 0;
$io$$2$$.register_read(97, function() {
$parity$$ ^= 16;
return $parity$$ | $counter2_out$$ << 5;
});
this.timer = function $this$timer$($time$$, $no_irq$$) {
var $current$$, $mode$$12$$, $steps$$ = 1193.1816666 * ($time$$ - $next_tick$$) >>> 0;
if ($steps$$) {
$next_tick$$ += $steps$$ / 1193.1816666;
if (!$no_irq$$ && $counter_enabled$$[0] && ($current$$ = $counter_current$$[0] -= $steps$$, 0 >= $current$$)) {
if ($pic$$1$$.push_irq(0), $mode$$12$$ = $counter_mode$$[0], 0 === $mode$$12$$) {
$counter_enabled$$[0] = 0, $counter_current$$[0] = 0;
} else {
if (3 === $mode$$12$$ || 2 === $mode$$12$$) {
$counter_current$$[0] = $counter_reload$$[0] + $current$$ % $counter_reload$$[0];
}
}
}
$counter_enabled$$[2] && ($current$$ = $counter_current$$[2] -= $steps$$, 0 >= $current$$ && ($mode$$12$$ = $counter_mode$$[2], 0 === $mode$$12$$ ? ($counter2_out$$ = 1, $counter_enabled$$[2] = 0, $counter_current$$[2] = 0) : 2 === $mode$$12$$ ? ($counter2_out$$ = 1, $counter_current$$[2] = $counter_reload$$[2] + $current$$ % $counter_reload$$[2]) : 3 === $mode$$12$$ && ($counter2_out$$ ^= 1, $counter_current$$[2] = $counter_reload$$[2] + $current$$ % $counter_reload$$[2])));
}
};
$io$$2$$.register_read(64, function() {
return $counter_read$$(0);
});
$io$$2$$.register_read(65, function() {
return $counter_read$$(1);
});
$io$$2$$.register_read(66, function() {
return $counter_read$$(2);
});
$io$$2$$.register_write(64, function($value$$61$$) {
$counter_write$$(0, $value$$61$$);
});
$io$$2$$.register_write(65, function($value$$62$$) {
$counter_write$$(1, $value$$62$$);
});
$io$$2$$.register_write(66, function($value$$63$$) {
$counter_write$$(2, $value$$63$$);
});
$io$$2$$.register_write(67, function port43_write($read_mode_reg_byte$$1$$) {
var $mode$$11$$ = $read_mode_reg_byte$$1$$ >> 1 & 7, $i$$30$$ = $read_mode_reg_byte$$1$$ >> 6 & 3;
$read_mode_reg_byte$$1$$ = $read_mode_reg_byte$$1$$ >> 4 & 3;
3 !== $i$$30$$ && (0 === $read_mode_reg_byte$$1$$ ? ($counter_latch$$[$i$$30$$] = 2, $counter_latch_value$$[$i$$30$$] = $counter_current$$[$i$$30$$]) : (6 <= $mode$$11$$ && ($mode$$11$$ &= -5), $counter_next_low$$[$i$$30$$] = 1 === $read_mode_reg_byte$$1$$ ? 0 : 1, $counter_mode$$[$i$$30$$] = $mode$$11$$, $counter_read_mode$$[$i$$30$$] = $read_mode_reg_byte$$1$$, 2 === $i$$30$$ && ($counter2_out$$ = 0 === $mode$$11$$ ? 0 : 1)));
});
}
;function $VGAScreen$$($cpu$$1038$$, $adapter$$, $vga_memory_size$$) {
var $dev$$2$$ = $cpu$$1038$$.devices, $io$$3$$ = $cpu$$1038$$.io, $cursor_address$$ = 0, $cursor_scanline_start$$ = 14, $cursor_scanline_end$$ = 15, $screen$$1$$ = this, $max_cols$$, $max_rows$$, $screen_width$$, $screen_height$$, $start_address$$ = 0, $graphical_mode_is_linear$$ = !0, $graphical_mode$$ = !1, $do_complete_redraw$$ = !1, $vga256_palette$$ = new Int32Array(256), $latch0$$ = 0, $latch1$$ = 0, $latch2$$ = 0, $latch3$$ = 0, $svga_width$$ = 0, $svga_height$$ = 0, $plane0$$, $plane1$$,
$plane2$$, $plane3$$;
void 0 === $adapter$$ && ($adapter$$ = new $VGADummyAdapter$$);
this.svga_memory32 = this.svga_memory16 = this.svga_memory = this.vga_memory = null;
this.svga_enabled = !1;
this.adapter = $adapter$$;
this.svga_offset = this.svga_bpp = 0;
this.pci_space = [222, 16, 32, 10, 7, 0, 0, 0, 162, 0, 0, 3, 0, 0, 128, 0, 8, 0, 0, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 1, 0, 0];
this.pci_id = 144;
this.pci_bars = [{size:$vga_memory_size$$}];
$dev$$2$$.pci.register_device(this);
this.VGAScreen$stats = {is_graphical:!1, res_x:0, res_y:0, bpp:0};
this.init = function $this$init$() {
void 0 === $vga_memory_size$$ || 262144 > $vga_memory_size$$ ? $vga_memory_size$$ = 262144 : $vga_memory_size$$ & 65535 && ($vga_memory_size$$ |= 65535, $vga_memory_size$$++);
this.svga_memory = new Uint8Array($vga_memory_size$$);
this.svga_memory16 = new Uint16Array(this.svga_memory.buffer);
this.svga_memory32 = new Int32Array(this.svga_memory.buffer);
this.vga_memory = new Uint8Array(this.svga_memory.buffer, 0, 262144);
$plane0$$ = new Uint8Array(this.svga_memory.buffer, 0, 65536);
$plane1$$ = new Uint8Array(this.svga_memory.buffer, 65536, 65536);
$plane2$$ = new Uint8Array(this.svga_memory.buffer, 131072, 65536);
$plane3$$ = new Uint8Array(this.svga_memory.buffer, 196608, 65536);
this.set_size_text(80, 25);
this.update_cursor_scanline();
$io$$3$$.mmap_register(655360, 131072, this.vga_memory_read, this.vga_memory_write);
$io$$3$$.mmap_register(3758096384, $vga_memory_size$$, this.svga_memory_read8.bind(this), this.svga_memory_write8.bind(this), this.svga_memory_read32.bind(this), this.svga_memory_write32.bind(this));
};
this.vga_memory_read = function $this$vga_memory_read$($addr$$118$$) {
$addr$$118$$ -= 655360;
if (!$graphical_mode$$ || $graphical_mode_is_linear$$) {
return $screen$$1$$.vga_memory[$addr$$118$$];
}
$addr$$118$$ &= 65535;
$latch0$$ = $plane0$$[$addr$$118$$];
$latch1$$ = $plane1$$[$addr$$118$$];
$latch2$$ = $plane2$$[$addr$$118$$];
$latch3$$ = $plane3$$[$addr$$118$$];
return $screen$$1$$.vga_memory[$plane_read$$ << 16 | $addr$$118$$];
};
this.vga_memory_write = function $this$vga_memory_write$($addr$$119$$, $value$$74$$) {
$addr$$119$$ -= 655360;
$graphical_mode$$ ? $graphical_mode_is_linear$$ ? $screen$$1$$.vga_memory_write_graphical_linear($addr$$119$$, $value$$74$$) : $screen$$1$$.vga_memory_write_graphical_planar($addr$$119$$, $value$$74$$) : $screen$$1$$.vga_memory_write_text_mode($addr$$119$$, $value$$74$$);
};
this.vga_memory_write_graphical_linear = function $this$vga_memory_write_graphical_linear$($addr$$120$$, $value$$75$$) {
var $offset$$21$$ = $addr$$120$$ << 2, $color$$3$$ = $vga256_palette$$[$value$$75$$];
this.adapter.put_pixel_linear($offset$$21$$ | 2, $color$$3$$ >> 16 & 255);
this.adapter.put_pixel_linear($offset$$21$$ | 1, $color$$3$$ >> 8 & 255);
this.adapter.put_pixel_linear($offset$$21$$, $color$$3$$ & 255);
this.vga_memory[$addr$$120$$] = $value$$75$$;
};
this.vga_memory_write_graphical_planar = function $this$vga_memory_write_graphical_planar$($addr$$121$$, $value$$76$$) {
if (!(65535 < $addr$$121$$)) {
var $plane0_byte$$, $plane1_byte$$, $plane2_byte$$, $plane3_byte$$, $offset$$22_write_mode$$ = $planar_mode$$ & 3;
0 === $offset$$22_write_mode$$ ? $plane0_byte$$ = $plane1_byte$$ = $plane2_byte$$ = $plane3_byte$$ = $value$$76$$ : 2 === $offset$$22_write_mode$$ && ($plane_write_bm$$ & 1 && ($plane0_byte$$ = $latch0$$ & ~$planar_bitmap$$ | ($value$$76$$ & 1 ? 255 : 0) & $planar_bitmap$$), $plane_write_bm$$ & 2 && ($plane1_byte$$ = $latch1$$ & ~$planar_bitmap$$ | ($value$$76$$ & 2 ? 255 : 0) & $planar_bitmap$$), $plane_write_bm$$ & 4 && ($plane2_byte$$ = $latch2$$ & ~$planar_bitmap$$ | ($value$$76$$ & 4 ?
255 : 0) & $planar_bitmap$$), $plane_write_bm$$ & 8 && ($plane3_byte$$ = $latch3$$ & ~$planar_bitmap$$ | ($value$$76$$ & 8 ? 255 : 0) & $planar_bitmap$$));
if (0 === $offset$$22_write_mode$$ || 2 === $offset$$22_write_mode$$) {
switch($planar_rotate_reg$$ & 24) {
case 8:
$plane0_byte$$ &= $latch0$$;
$plane1_byte$$ &= $latch1$$;
$plane2_byte$$ &= $latch2$$;
$plane3_byte$$ &= $latch3$$;
break;
case 16:
$plane0_byte$$ |= $latch0$$;
$plane1_byte$$ |= $latch1$$;
$plane2_byte$$ |= $latch2$$;
$plane3_byte$$ |= $latch3$$;
break;
case 24:
$plane0_byte$$ ^= $latch0$$, $plane1_byte$$ ^= $latch1$$, $plane2_byte$$ ^= $latch2$$, $plane3_byte$$ ^= $latch3$$;
}
$plane_write_bm$$ & 1 && ($plane0_byte$$ = $latch0$$ & ~$planar_bitmap$$ | $plane0_byte$$ & $planar_bitmap$$);
$plane_write_bm$$ & 2 && ($plane1_byte$$ = $latch1$$ & ~$planar_bitmap$$ | $plane1_byte$$ & $planar_bitmap$$);
$plane_write_bm$$ & 4 && ($plane2_byte$$ = $latch2$$ & ~$planar_bitmap$$ | $plane2_byte$$ & $planar_bitmap$$);
$plane_write_bm$$ & 8 && ($plane3_byte$$ = $latch3$$ & ~$planar_bitmap$$ | $plane3_byte$$ & $planar_bitmap$$);
} else {
1 === $offset$$22_write_mode$$ && ($plane0_byte$$ = $latch0$$, $plane1_byte$$ = $latch1$$, $plane2_byte$$ = $latch2$$, $plane3_byte$$ = $latch3$$);
}
$plane_write_bm$$ & 1 ? $plane0$$[$addr$$121$$] = $plane0_byte$$ : $plane0_byte$$ = $plane0$$[$addr$$121$$];
$plane_write_bm$$ & 2 ? $plane1$$[$addr$$121$$] = $plane1_byte$$ : $plane1_byte$$ = $plane1$$[$addr$$121$$];
$plane_write_bm$$ & 4 ? $plane2$$[$addr$$121$$] = $plane2_byte$$ : $plane2_byte$$ = $plane2$$[$addr$$121$$];
$plane_write_bm$$ & 8 ? $plane3$$[$addr$$121$$] = $plane3_byte$$ : $plane3_byte$$ = $plane3$$[$addr$$121$$];
if (!($addr$$121$$ >= $screen_width$$ * $screen_height$$ << 3)) {
$plane1_byte$$ <<= 1;
$plane2_byte$$ <<= 2;
$plane3_byte$$ <<= 3;
for (var $offset$$22_write_mode$$ = ($addr$$121$$ << 3 | 7) << 2, $i$$31$$ = 0;8 > $i$$31$$;$i$$31$$++) {
var $color$$4$$ = $vga256_palette$$[$dac_map$$[$plane0_byte$$ >> $i$$31$$ & 1 | $plane1_byte$$ >> $i$$31$$ & 2 | $plane2_byte$$ >> $i$$31$$ & 4 | $plane3_byte$$ >> $i$$31$$ & 8]];
this.adapter.put_pixel_linear($offset$$22_write_mode$$ | 2, $color$$4$$ >> 16);
this.adapter.put_pixel_linear($offset$$22_write_mode$$ | 1, $color$$4$$ >> 8 & 255);
this.adapter.put_pixel_linear($offset$$22_write_mode$$, $color$$4$$ & 255);
$offset$$22_write_mode$$ -= 4;
}
}
}
};
this.text_mode_redraw = function $this$text_mode_redraw$() {
for (var $addr$$122$$ = 98304 | $start_address$$ << 1, $chr$$, $color$$5$$, $row$$1$$ = 0;$row$$1$$ < $max_rows$$;$row$$1$$++) {
for (var $col$$ = 0;$col$$ < $max_cols$$;$col$$++) {
$chr$$ = this.vga_memory[$addr$$122$$], $color$$5$$ = this.vga_memory[$addr$$122$$ | 1], this.adapter.put_char($row$$1$$, $col$$, $chr$$, $vga256_palette$$[$color$$5$$ >> 4 & 15], $vga256_palette$$[$color$$5$$ & 15]), $addr$$122$$ += 2;
}
}
};
this.graphical_planar_redraw = function $this$graphical_planar_redraw$() {
for (var $addr$$123$$ = 0, $y$$38$$ = 0;$y$$38$$ < $screen_height$$;$y$$38$$++) {
for (var $x$$62$$ = 0;$x$$62$$ < $screen_width$$;$x$$62$$ += 8) {
for (var $i$$32$$ = 0;8 > $i$$32$$;$i$$32$$++) {
this.adapter.put_pixel_linear32($y$$38$$ * $screen_width$$ + $x$$62$$ << 2, $vga256_palette$$[$dac_map$$[$plane0$$[$addr$$123$$] >> $i$$32$$ & 1 | $plane1$$[$addr$$123$$] >> $i$$32$$ << 1 & 2 | $plane2$$[$addr$$123$$] >> $i$$32$$ << 2 & 4 | $plane3$$[$addr$$123$$] >> $i$$32$$ << 3 & 8]]);
}
$addr$$123$$++;
}
}
};
this.vga_memory_write_text_mode = function $this$vga_memory_write_text_mode$($addr$$124$$, $value$$77$$) {
if (!(98304 > $addr$$124$$)) {
var $col$$1_memory_start$$ = ($addr$$124$$ - 98304 >> 1) - $start_address$$, $row$$2$$ = $col$$1_memory_start$$ / $max_cols$$ | 0, $col$$1_memory_start$$ = $col$$1_memory_start$$ % $max_cols$$, $chr$$1$$, $color$$7$$;
$addr$$124$$ & 1 ? ($color$$7$$ = $value$$77$$, $chr$$1$$ = this.vga_memory[$addr$$124$$ & -2]) : ($chr$$1$$ = $value$$77$$, $color$$7$$ = this.vga_memory[$addr$$124$$ | 1]);
this.adapter.put_char($row$$2$$, $col$$1_memory_start$$, $chr$$1$$, $vga256_palette$$[$color$$7$$ >> 4 & 15], $vga256_palette$$[$color$$7$$ & 15]);
this.vga_memory[$addr$$124$$] = $value$$77$$;
}
};
this.update_cursor = function $this$update_cursor$() {
var $row$$3$$ = ($cursor_address$$ - $start_address$$) / $max_cols$$ | 0, $col$$2$$ = ($cursor_address$$ - $start_address$$) % $max_cols$$, $row$$3$$ = Math.min($max_rows$$ - 1, $row$$3$$);
this.adapter.update_cursor($row$$3$$, $col$$2$$);
};
this.svga_memory_read8 = function $this$svga_memory_read8$($addr$$125$$) {
return this.svga_memory[$addr$$125$$ & 268435455];
};
this.svga_memory_read32 = function $this$svga_memory_read32$($addr$$126$$) {
$addr$$126$$ &= 268435455;
return $addr$$126$$ & 3 ? this.svga_memory[$addr$$126$$] | this.svga_memory[$addr$$126$$ + 1] << 8 | this.svga_memory[$addr$$126$$ + 2] << 16 | this.svga_memory[$addr$$126$$ + 3] << 24 : this.svga_memory32[$addr$$126$$ >> 2];
};
this.svga_memory_write8 = function $this$svga_memory_write8$($addr$$127$$, $value$$78$$) {
$addr$$127$$ &= 268435455;
this.svga_memory[$addr$$127$$] = $value$$78$$;
if (this.svga_enabled && ($addr$$127$$ -= this.svga_offset, !(0 > $addr$$127$$))) {
switch(this.svga_bpp) {
case 32:
3 !== ($addr$$127$$ & 3) && this.adapter.put_pixel_linear($addr$$127$$, $value$$78$$);
break;
case 24:
this.adapter.put_pixel_linear(($addr$$127$$ << 2) / 3 | 0, $value$$78$$);
break;
case 16:
if ($addr$$127$$ & 1) {
var $red$$3_word$$1$$ = this.svga_memory16[$addr$$127$$ >> 1], $color$$8_green$$3$$, $blue$$3_offset$$23$$;
$blue$$3_offset$$23$$ = 255 * ($value$$78$$ >> 3 & 31) / 31 | 0;
$color$$8_green$$3$$ = 255 * ($red$$3_word$$1$$ >> 5 & 63) / 63 | 0;
$red$$3_word$$1$$ = 255 * ($red$$3_word$$1$$ & 31) / 31 | 0;
$addr$$127$$ <<= 1;
this.adapter.put_pixel_linear($addr$$127$$, $red$$3_word$$1$$);
this.adapter.put_pixel_linear($addr$$127$$ - 1, $color$$8_green$$3$$);
this.adapter.put_pixel_linear($addr$$127$$ - 2, $blue$$3_offset$$23$$);
}
break;
case 8:
$color$$8_green$$3$$ = $vga256_palette$$[$value$$78$$], $blue$$3_offset$$23$$ = $addr$$127$$ << 2, this.adapter.put_pixel_linear($blue$$3_offset$$23$$, $color$$8_green$$3$$ >> 16 & 255), this.adapter.put_pixel_linear($blue$$3_offset$$23$$ | 1, $color$$8_green$$3$$ >> 8 & 255), this.adapter.put_pixel_linear($blue$$3_offset$$23$$ | 2, $color$$8_green$$3$$ & 255);
}
}
};
this.svga_memory_write32 = function $this$svga_memory_write32$($addr$$128$$, $value$$79$$) {
$addr$$128$$ &= 268435455;
if ($addr$$128$$ & 3 || 32 !== this.svga_bpp) {
this.svga_memory_write8($addr$$128$$, $value$$79$$ & 255), this.svga_memory_write8($addr$$128$$ + 1, $value$$79$$ >> 8 & 255), this.svga_memory_write8($addr$$128$$ + 2, $value$$79$$ >> 16 & 255), this.svga_memory_write8($addr$$128$$ + 3, $value$$79$$ >> 24 & 255);
} else {
if (this.svga_memory32[$addr$$128$$ >> 2] = $value$$79$$, this.svga_enabled && ($addr$$128$$ -= this.svga_offset, !(0 > $addr$$128$$))) {
switch(this.svga_bpp) {
case 32:
this.adapter.put_pixel_linear32($addr$$128$$, $value$$79$$);
}
}
}
};
this.svga_redraw = function $this$svga_redraw$() {
var $addr$$129$$ = this.svga_offset, $count$$64$$ = $svga_height$$ * $svga_width$$, $pixel$$ = 0;
if (32 === this.svga_bpp) {
for (var $buf32$$1$$ = new Int32Array(this.svga_memory.buffer), $addr$$129$$ = $addr$$129$$ >> 2, $count$$64$$ = $count$$64$$ << 2;$pixel$$ < $count$$64$$;) {
this.adapter.put_pixel_linear32($pixel$$, $buf32$$1$$[$addr$$129$$++]), $pixel$$ += 4;
}
} else {
if (24 === this.svga_bpp) {
for ($count$$64$$ <<= 2;$pixel$$ < $count$$64$$;) {
this.adapter.put_pixel_linear($pixel$$++, this.svga_memory[$addr$$129$$++]), this.adapter.put_pixel_linear($pixel$$++, this.svga_memory[$addr$$129$$++]), this.adapter.put_pixel_linear($pixel$$++, this.svga_memory[$addr$$129$$++]), $pixel$$++;
}
}
}
};
this.timer = function $this$timer$() {
$do_complete_redraw$$ && ($do_complete_redraw$$ = !1, this.svga_enabled ? this.svga_redraw() : $graphical_mode$$ ? $graphical_mode_is_linear$$ || this.graphical_planar_redraw() : this.text_mode_redraw());
this.adapter.timer();
};
this.set_size_text = function $this$set_size_text$($cols_count$$, $rows_count$$) {
$max_cols$$ = $cols_count$$;
$max_rows$$ = $rows_count$$;
this.adapter.set_size_text($cols_count$$, $rows_count$$);
};
this.set_size_graphical = function $this$set_size_graphical$($width$$13$$, $height$$12$$) {
this.adapter.set_size_graphical($width$$13$$, $height$$12$$);
};
this.update_cursor_scanline = function $this$update_cursor_scanline$() {
this.adapter.update_cursor_scanline($cursor_scanline_start$$, $cursor_scanline_end$$);
};
this.set_video_mode = function $this$set_video_mode$($mode$$13$$) {
var $is_graphical$$ = !1;
switch($mode$$13$$) {
case 3:
this.set_size_text(80, 25);
break;
case 16:
$screen_width$$ = 640;
$screen_height$$ = 350;
$is_graphical$$ = !0;
$graphical_mode_is_linear$$ = !1;
break;
case 18:
$screen_width$$ = 640;
$screen_height$$ = 480;
$is_graphical$$ = !0;
$graphical_mode_is_linear$$ = !1;
break;
case 19:
$screen_width$$ = 320, $screen_height$$ = 200, $graphical_mode_is_linear$$ = $is_graphical$$ = !0;
}
this.adapter.set_mode($is_graphical$$);
if (this.VGAScreen$stats.is_graphical = $is_graphical$$) {
this.set_size_graphical($screen_width$$, $screen_height$$), this.VGAScreen$stats.res_x = $screen_width$$, this.VGAScreen$stats.res_y = $screen_height$$, this.VGAScreen$stats.bpp = 8;
}
$graphical_mode$$ = $is_graphical$$;
};
var $index_crtc$$ = 0, $dac_color_index$$ = 0;
$io$$3$$.register_write(967, function port3C7_write() {
});
$io$$3$$.register_write(968, function port3C8_write($index$$47$$) {
$dac_color_index$$ = 3 * $index$$47$$;
});
$io$$3$$.register_write(969, function port3C9_write($color_byte$$) {
var $index$$48$$ = $dac_color_index$$ / 3 | 0, $offset$$20$$ = $dac_color_index$$ % 3, $color$$2$$ = $vga256_palette$$[$index$$48$$];
$color_byte$$ = 255 * $color_byte$$ / 63 & 255;
$vga256_palette$$[$index$$48$$] = 0 === $offset$$20$$ ? $color$$2$$ & -16711681 | $color_byte$$ << 16 : 1 === $offset$$20$$ ? $color$$2$$ & -65281 | $color_byte$$ << 8 : $color$$2$$ & -256 | $color_byte$$;
$dac_color_index$$++;
$do_complete_redraw$$ = !0;
});
var $max_scan_line$$ = 0;
$io$$3$$.register_write(980, function port3D4_write($register$$) {
$index_crtc$$ = $register$$;
});
$io$$3$$.register_write(981, function port3D5_write($value$$64$$) {
switch($index_crtc$$) {
case 9:
$max_scan_line$$ = $value$$64$$;
7 === ($value$$64$$ & 31) ? this.set_size_text(80, 50) : this.set_size_text(80, 25);
break;
case 10:
$cursor_scanline_start$$ = $value$$64$$;
this.update_cursor_scanline();
break;
case 11:
$cursor_scanline_end$$ = $value$$64$$;
this.update_cursor_scanline();
break;
case 12:
$start_address$$ = $start_address$$ & 255 | $value$$64$$ << 8;
$do_complete_redraw$$ = !0;
break;
case 13:
$start_address$$ = $start_address$$ & 65280 | $value$$64$$;
$do_complete_redraw$$ = !0;
break;
case 14:
$cursor_address$$ = $cursor_address$$ & 255 | $value$$64$$ << 8;
this.update_cursor();
break;
case 15:
$cursor_address$$ = $cursor_address$$ & 65280 | $value$$64$$, this.update_cursor();
}
}, this);
$io$$3$$.register_read(981, function port3D5_read() {
return 9 === $index_crtc$$ ? $max_scan_line$$ : 10 === $index_crtc$$ ? $cursor_scanline_start$$ : 11 === $index_crtc$$ ? $cursor_scanline_end$$ : 14 === $index_crtc$$ ? $cursor_address$$ >> 8 : 15 === $index_crtc$$ ? $cursor_address$$ & 255 : 0;
});
var $miscellaneous_output_register$$ = 255;
$io$$3$$.register_read(972, function port3CC_read() {
return $miscellaneous_output_register$$;
});
$io$$3$$.register_write(962, function port3C2_write($value$$65$$) {
$miscellaneous_output_register$$ = $value$$65$$;
103 === $value$$65$$ ? $screen$$1$$.set_video_mode(3) : 227 === $value$$65$$ ? $screen$$1$$.set_video_mode(18) : 99 === $value$$65$$ ? $screen$$1$$.set_video_mode(19) : 163 === $value$$65$$ ? $screen$$1$$.set_video_mode(16) : $screen$$1$$.set_video_mode(3);
});
var $port_3DA_value$$ = 255;
$io$$3$$.register_read(986, function port3DA_read() {
return $port_3DA_value$$ ^= 8;
});
var $attribute_controller_index$$ = -1;
$io$$3$$.register_read(961, function port3C1_read() {
return $attribute_controller_index$$ = -1;
});
var $dac_map$$ = new Uint8Array(16);
$io$$3$$.register_write(960, function port3C0_write($value$$66$$) {
-1 === $attribute_controller_index$$ ? $attribute_controller_index$$ = $value$$66$$ : (16 > $attribute_controller_index$$ && ($dac_map$$[$attribute_controller_index$$] = $value$$66$$), $attribute_controller_index$$ = -1);
});
$io$$3$$.register_read(960, function port3C0_read() {
var $result$$82$$ = $attribute_controller_index$$;
$attribute_controller_index$$ = -1;
return $result$$82$$;
});
var $sequencer_index$$ = -1;
$io$$3$$.register_write(964, function port3C4_write($value$$67$$) {
$sequencer_index$$ = $value$$67$$;
});
$io$$3$$.register_read(964, function port3C4_read() {
return $sequencer_index$$;
});
var $plane_write_bm$$ = 15, $sequencer_memory_mode$$ = 0;
$io$$3$$.register_write(965, function port3C5_write($value$$68$$) {
switch($sequencer_index$$) {
case 2:
$plane_write_bm$$ = $value$$68$$;
break;
case 4:
$sequencer_memory_mode$$ = $value$$68$$;
}
});
$io$$3$$.register_read(965, function port3C5_read() {
switch($sequencer_index$$) {
case 2:
return $plane_write_bm$$;
case 4:
return $sequencer_memory_mode$$;
case 6:
return 18;
}
return 0;
});
var $graphics_index$$ = -1;
$io$$3$$.register_write(974, function port3CE_write($value$$69$$) {
$graphics_index$$ = $value$$69$$;
});
$io$$3$$.register_read(974, function port3CE_read() {
return $graphics_index$$;
});
var $plane_read$$ = 0, $planar_mode$$ = 0, $planar_rotate_reg$$ = 0, $planar_bitmap$$ = 255;
$io$$3$$.register_write(975, function port3CF_write($value$$70$$) {
switch($graphics_index$$) {
case 3:
$planar_rotate_reg$$ = $value$$70$$;
break;
case 4:
$plane_read$$ = $value$$70$$;
break;
case 5:
$planar_mode$$ = $value$$70$$;
break;
case 8:
$planar_bitmap$$ = $value$$70$$;
}
});
$io$$3$$.register_read(975, function port3CF_read() {
switch($graphics_index$$) {
case 3:
return $planar_rotate_reg$$;
case 4:
return $plane_read$$;
case 5:
return $planar_mode$$;
case 8:
return $planar_bitmap$$;
}
return 0;
});
var $dispi_index$$ = -1, $dispi_value$$ = -1, $dispi_enable_value$$ = 0;
this.svga_bytes_per_line = function $this$svga_bytes_per_line$() {
return $svga_width$$ * (15 === this.svga_bpp ? 16 : this.svga_bpp) / 8;
};
$io$$3$$.register_write(462, function port1CE_write($value$$71$$) {
$dispi_index$$ = $value$$71$$;
});
$io$$3$$.register_write(463, function port1CF_write($value$$72$$, $low_port$$) {
462 === $low_port$$ ? $dispi_index$$ = $dispi_index$$ & 255 | $value$$72$$ << 8 : $dispi_value$$ = $value$$72$$;
});
$io$$3$$.register_write(464, function port1D0_write($value$$73$$) {
$dispi_value$$ = $dispi_value$$ & 255 | $value$$73$$ << 8;
switch($dispi_index$$) {
case 1:
$svga_width$$ = $dispi_value$$;
2560 < $svga_width$$ && ($svga_width$$ = 2560);
break;
case 2:
$svga_height$$ = $dispi_value$$;
1600 < $svga_height$$ && ($svga_height$$ = 1600);
break;
case 3:
this.svga_bpp = $dispi_value$$;
break;
case 4:
this.svga_enabled = 1 === ($dispi_value$$ & 1);
$dispi_enable_value$$ = $dispi_value$$;
break;
case 9:
this.svga_offset = $dispi_value$$ * this.svga_bytes_per_line(), $do_complete_redraw$$ = !0;
}
!this.svga_enabled || $svga_width$$ && $svga_width$$ || (this.svga_enabled = !1);
this.svga_enabled && 4 === $dispi_index$$ && ($screen$$1$$.set_size_graphical($svga_width$$, $svga_height$$), this.adapter.set_mode(!0), $screen$$1$$.VGAScreen$stats.bpp = this.svga_bpp, $screen$$1$$.VGAScreen$stats.is_graphical = !0, $screen$$1$$.VGAScreen$stats.res_x = $svga_width$$, $screen$$1$$.VGAScreen$stats.res_y = $svga_height$$);
}, this);
this.svga_register_read = function $this$svga_register_read$($n$$2$$) {
switch($n$$2$$) {
case 0:
return 45248;
case 1:
return $dispi_value$$ & 2 ? 2560 : $svga_width$$;
case 2:
return $dispi_value$$ & 2 ? 1600 : $svga_height$$;
case 3:
return $dispi_value$$ & 2 ? 32 : this.svga_bpp;
case 4:
return $dispi_enable_value$$;
case 6:
return $svga_width$$;
case 10:
return $vga_memory_size$$ / 65536 | 0;
}
return 255;
};
$io$$3$$.register_read(463, function port1CF_read() {
return this.svga_register_read($dispi_index$$);
}, this);
$io$$3$$.register_read(464, function port1D0_read() {
return this.svga_register_read($dispi_index$$) >> 8;
}, this);
this.init();
}
function $VGADummyAdapter$$() {
this.put_pixel_linear = function $this$put_pixel_linear$() {
};
this.put_pixel_linear32 = function $this$put_pixel_linear32$() {
};
this.put_char = function $this$put_char$() {
};
this.set_mode = function $this$set_mode$() {
};
this.set_size_graphical = function $this$set_size_graphical$() {
};
this.set_size_text = function $this$set_size_text$() {
};
this.update_cursor = function $this$update_cursor$() {
};
this.update_cursor_scanline = function $this$update_cursor_scanline$() {
};
this.timer = function $this$timer$() {
};
}
;function $PS2$$($cpu$$1039$$, $keyboard$$, $mouse$$) {
function $mouse_irq$$() {
$command_register$$ & 2 && $pic$$2$$.push_irq(12);
}
function $kbd_irq$$() {
$command_register$$ & 1 && $pic$$2$$.push_irq(1);
}
function $kbd_send_code$$($code$$5$$) {
$cpu$$1039$$.running && $enable_keyboard_stream$$ && ($kbd_buffer$$.ByteQueue$push($code$$5$$), $kbd_irq$$());
}
function $mouse_send_delta$$($delta_x$$, $delta_y$$) {
if ($cpu$$1039$$.running && $have_mouse$$ && $enable_mouse$$ && ($mouse_delta_x$$ += $delta_x$$ * $resolution$$, $mouse_delta_y$$ += $delta_y$$ * $resolution$$, $enable_mouse_stream$$)) {
var $change_x$$ = $mouse_delta_x$$ | 0, $change_y$$ = $mouse_delta_y$$ | 0;
!$change_x$$ && !$change_y$$ || Date.now() - $last_mouse_packet$$ < 1E3 / $sample_rate$$ || ($mouse_delta_x$$ -= $change_x$$, $mouse_delta_y$$ -= $change_y$$, $send_mouse_packet$$($change_x$$, $change_y$$));
}
}
function $mouse_send_click$$($left$$3$$, $middle$$, $right$$3$$) {
$have_mouse$$ && $enable_mouse$$ && ($mouse_clicks$$ = $left$$3$$ | $right$$3$$ << 1 | $middle$$ << 2, $enable_mouse_stream$$ && $send_mouse_packet$$(0, 0));
}
function $send_mouse_packet$$($dx$$4$$, $dy$$4$$) {
var $info_byte$$ = (0 > $dy$$4$$) << 5 | (0 > $dx$$4$$) << 4 | 8 | $mouse_clicks$$, $delta_x$$1$$ = $dx$$4$$, $delta_y$$1$$ = $dy$$4$$;
$last_mouse_packet$$ = Date.now();
$scaling2$$ && ($delta_x$$1$$ = $apply_scaling2$$($delta_x$$1$$), $delta_y$$1$$ = $apply_scaling2$$($delta_y$$1$$));
$mouse_buffer$$.ByteQueue$push($info_byte$$);
$mouse_buffer$$.ByteQueue$push($delta_x$$1$$);
$mouse_buffer$$.ByteQueue$push($delta_y$$1$$);
$mouse_irq$$();
}
function $apply_scaling2$$($n$$3$$) {
var $sign$$2$$ = $n$$3$$ >> 31;
switch(Math.abs($n$$3$$)) {
case 0:
;
case 1:
;
case 3:
return $n$$3$$;
case 2:
return $sign$$2$$;
case 4:
return 6 * $sign$$2$$;
case 5:
return 9 * $sign$$2$$;
default:
return $n$$3$$ << 1;
}
}
var $io$$4$$ = $cpu$$1039$$.io, $pic$$2$$ = $cpu$$1039$$.devices.pic, $enable_mouse_stream$$ = !1, $enable_mouse$$ = !1, $have_mouse$$ = !1, $mouse_delta_x$$ = 0, $mouse_delta_y$$ = 0, $mouse_clicks$$ = 0, $enable_keyboard_stream$$ = !1, $next_is_mouse_command$$ = !1, $next_read_sample$$ = !1, $next_read_led$$ = !1, $next_handle_scan_code_set$$ = !1, $next_read_rate$$ = !1, $next_read_resolution$$ = !1, $kbd_buffer$$ = new $ByteQueue$$(32), $last_port60_byte$$ = 0, $sample_rate$$ = 100, $resolution$$ =
4, $scaling2$$ = !1, $last_mouse_packet$$ = -1, $mouse_buffer$$ = new $ByteQueue$$(32);
$keyboard$$ && $keyboard$$.init($kbd_send_code$$);
$mouse$$ && ($have_mouse$$ = !0, $mouse$$.init($mouse_send_click$$, $mouse_send_delta$$));
var $command_register$$ = 5, $read_output_register$$ = !1, $read_command_register$$ = !1;
$io$$4$$.register_read(96, function port60_read() {
if (!$kbd_buffer$$.length && !$mouse_buffer$$.length) {
return $last_port60_byte$$;
}
($kbd_buffer$$.length && $mouse_buffer$$.length ? 0 !== ($pic$$2$$.get_isr() & 2) : $kbd_buffer$$.length) ? ($last_port60_byte$$ = $kbd_buffer$$.ByteQueue$shift(), 1 <= $kbd_buffer$$.length && $kbd_irq$$()) : ($last_port60_byte$$ = $mouse_buffer$$.ByteQueue$shift(), 1 <= $mouse_buffer$$.length && $mouse_irq$$());
return $last_port60_byte$$;
});
$io$$4$$.register_read(100, function port64_read() {
var $status_byte$$ = 16;
if ($mouse_buffer$$.length || $kbd_buffer$$.length) {
$status_byte$$ |= 1;
}
$mouse_buffer$$.length && ($status_byte$$ |= 32);
return $status_byte$$;
});
$io$$4$$.register_write(96, function port60_write($write_byte$$) {
if ($read_command_register$$) {
$kbd_irq$$(), $command_register$$ = $write_byte$$, $read_command_register$$ = !1;
} else {
if ($read_output_register$$) {
$read_output_register$$ = !1, $mouse_buffer$$.ByteQueue$clear(), $mouse_buffer$$.ByteQueue$push($write_byte$$), $mouse_irq$$();
} else {
if ($next_read_sample$$) {
$next_read_sample$$ = !1, $mouse_buffer$$.ByteQueue$clear(), $mouse_buffer$$.ByteQueue$push(250), $sample_rate$$ = $write_byte$$, $mouse_irq$$();
} else {
if ($next_read_resolution$$) {
$next_read_resolution$$ = !1, $mouse_buffer$$.ByteQueue$clear(), $mouse_buffer$$.ByteQueue$push(250), $resolution$$ = 3 < $write_byte$$ ? 4 : 1 << $write_byte$$, $mouse_irq$$();
} else {
if ($next_read_led$$) {
$next_read_led$$ = !1, $kbd_buffer$$.ByteQueue$push(250), $kbd_irq$$();
} else {
if ($next_handle_scan_code_set$$) {
$next_handle_scan_code_set$$ = !1, $kbd_buffer$$.ByteQueue$push(250), $kbd_irq$$(), $write_byte$$ || $kbd_buffer$$.ByteQueue$push(2);
} else {
if ($next_read_rate$$) {
$next_read_rate$$ = !1, $kbd_buffer$$.ByteQueue$push(250), $kbd_irq$$();
} else {
if ($next_is_mouse_command$$) {
if ($next_is_mouse_command$$ = !1, $have_mouse$$) {
$kbd_buffer$$.ByteQueue$clear();
$mouse_buffer$$.ByteQueue$clear();
$mouse_buffer$$.ByteQueue$push(250);
switch($write_byte$$) {
case 230:
$scaling2$$ = !1;
break;
case 231:
$scaling2$$ = !0;
break;
case 232:
$next_read_resolution$$ = !0;
break;
case 233:
$send_mouse_packet$$(0, 0);
break;
case 242:
$mouse_buffer$$.ByteQueue$push(0);
$mouse_buffer$$.ByteQueue$push(0);
$mouse_clicks$$ = $mouse_delta_x$$ = $mouse_delta_y$$ = 0;
break;
case 243:
$next_read_sample$$ = !0;
break;
case 244:
$enable_mouse$$ = $enable_mouse_stream$$ = !0;
$mouse$$.enabled = !0;
$mouse_clicks$$ = $mouse_delta_x$$ = $mouse_delta_y$$ = 0;
break;
case 245:
$enable_mouse_stream$$ = !1;
break;
case 246:
$enable_mouse_stream$$ = !1;
$sample_rate$$ = 100;
$scaling2$$ = !1;
$resolution$$ = 4;
break;
case 255:
$mouse_buffer$$.ByteQueue$push(170), $mouse_buffer$$.ByteQueue$push(0), $enable_mouse_stream$$ = !1, $sample_rate$$ = 100, $scaling2$$ = !1, $resolution$$ = 4, $mouse_clicks$$ = $mouse_delta_x$$ = $mouse_delta_y$$ = 0;
}
$mouse_irq$$();
}
} else {
$mouse_buffer$$.ByteQueue$clear();
$kbd_buffer$$.ByteQueue$clear();
$kbd_buffer$$.ByteQueue$push(250);
switch($write_byte$$) {
case 237:
$next_read_led$$ = !0;
break;
case 240:
$next_handle_scan_code_set$$ = !0;
break;
case 242:
$kbd_buffer$$.ByteQueue$push(171);
$kbd_buffer$$.ByteQueue$push(83);
break;
case 243:
$next_read_rate$$ = !0;
break;
case 244:
$enable_keyboard_stream$$ = !0;
break;
case 245:
$enable_keyboard_stream$$ = !1;
break;
case 255:
$kbd_buffer$$.ByteQueue$clear(), $kbd_buffer$$.ByteQueue$push(250), $kbd_buffer$$.ByteQueue$push(170);
}
$kbd_irq$$();
}
}
}
}
}
}
}
}
});
$io$$4$$.register_write(100, function port64_write($write_byte$$1$$) {
switch($write_byte$$1$$) {
case 32:
$kbd_buffer$$.ByteQueue$clear();
$mouse_buffer$$.ByteQueue$clear();
$kbd_buffer$$.ByteQueue$push($command_register$$);
break;
case 96:
$read_command_register$$ = !0;
break;
case 211:
$read_output_register$$ = !0;
break;
case 212:
$next_is_mouse_command$$ = !0;
break;
case 167:
$command_register$$ |= 32;
break;
case 168:
$command_register$$ &= -33;
break;
case 169:
$kbd_buffer$$.ByteQueue$clear();
$mouse_buffer$$.ByteQueue$clear();
$kbd_buffer$$.ByteQueue$push(0);
break;
case 170:
$kbd_buffer$$.ByteQueue$clear();
$mouse_buffer$$.ByteQueue$clear();
$kbd_buffer$$.ByteQueue$push(85);
break;
case 171:
$kbd_buffer$$.ByteQueue$clear();
$mouse_buffer$$.ByteQueue$clear();
$kbd_buffer$$.ByteQueue$push(0);
break;
case 173:
$command_register$$ |= 16;
break;
case 174:
$command_register$$ &= -17;
break;
case 254:
$cpu$$1039$$.reboot_internal();
}
});
}
;function $PIC$$($cpu$$1040$$, $master$$) {
var $io$$5$$ = $cpu$$1040$$.io, $irq_mask$$ = 0, $irq_map$$ = 0, $isr$$ = 0, $irr$$ = 0, $is_master$$ = void 0 === $master$$, $slave$$2$$;
$is_master$$ ? ($slave$$2$$ = new $PIC$$($cpu$$1040$$, this), this.check_irqs = function $this$check_irqs$() {
var $enabled_irr_irq$$ = $irr$$ & $irq_mask$$;
if (!$enabled_irr_irq$$) {
return $slave$$2$$.check_irqs();
}
$enabled_irr_irq$$ &= -$enabled_irr_irq$$;
if ($isr$$ && ($isr$$ & -$isr$$) <= $enabled_irr_irq$$) {
return!1;
}
var $irq_number$$ = Math.int_log2($enabled_irr_irq$$), $enabled_irr_irq$$ = 1 << $irq_number$$;
$irr$$ &= ~$enabled_irr_irq$$;
if (4 === $enabled_irr_irq$$) {
return $slave$$2$$.check_irqs();
}
$auto_eoi$$ || ($isr$$ |= $enabled_irr_irq$$);
$cpu$$1040$$.call_interrupt_vector($irq_map$$ | $irq_number$$, !1, !1);
return!0;
}) : this.check_irqs = function $this$check_irqs$() {
var $enabled_irr$$1_irq$$1$$ = $irr$$ & $irq_mask$$;
if (!$enabled_irr$$1_irq$$1$$) {
return!1;
}
$enabled_irr$$1_irq$$1$$ &= -$enabled_irr$$1_irq$$1$$;
if ($isr$$ && ($isr$$ & -$isr$$) <= $enabled_irr$$1_irq$$1$$) {
return!1;
}
var $irq_number$$1$$ = Math.int_log2($enabled_irr$$1_irq$$1$$), $enabled_irr$$1_irq$$1$$ = 1 << $irq_number$$1$$;
$irr$$ &= ~$enabled_irr$$1_irq$$1$$;
$isr$$ |= $enabled_irr$$1_irq$$1$$;
$cpu$$1040$$.call_interrupt_vector($irq_map$$ | $irq_number$$1$$, !1, !1);
$irr$$ && $master$$.push_irq(2);
$auto_eoi$$ || ($isr$$ &= ~$enabled_irr$$1_irq$$1$$);
return!0;
};
this.dump = function $this$dump$() {
$is_master$$ && $slave$$2$$.dump();
};
var $expect_icw4$$, $state$$ = 0, $read_irr$$ = 1, $io_base$$, $auto_eoi$$;
$io_base$$ = $is_master$$ ? 32 : 160;
$io$$5$$.register_write($io_base$$, function port20_write($data_byte$$6$$) {
if ($data_byte$$6$$ & 16) {
$expect_icw4$$ = $data_byte$$6$$ & 1, $state$$ = 1;
} else {
if ($data_byte$$6$$ & 8) {
$read_irr$$ = $data_byte$$6$$ & 1;
} else {
var $eoi_type$$ = $data_byte$$6$$ >> 5;
1 === $eoi_type$$ ? $isr$$ &= $isr$$ - 1 : 3 === $eoi_type$$ && ($isr$$ &= ~(1 << ($data_byte$$6$$ & 7)));
}
}
});
$io$$5$$.register_read($io_base$$, function port20_read() {
return $read_irr$$ ? $irr$$ : $isr$$;
});
$io$$5$$.register_write($io_base$$ | 1, function port21_write($data_byte$$7$$) {
0 === $state$$ ? $expect_icw4$$ ? ($expect_icw4$$ = !1, $auto_eoi$$ = $data_byte$$7$$ & 2) : $irq_mask$$ = ~$data_byte$$7$$ : 1 === $state$$ ? ($irq_map$$ = $data_byte$$7$$, $state$$++) : 2 === $state$$ && ($state$$ = 0);
});
$io$$5$$.register_read($io_base$$ | 1, function port21_read() {
return~$irq_mask$$ & 255;
});
this.push_irq = $is_master$$ ? function($irq_number$$2$$) {
8 <= $irq_number$$2$$ && ($slave$$2$$.push_irq($irq_number$$2$$ - 8), $irq_number$$2$$ = 2);
$irr$$ |= 1 << $irq_number$$2$$;
$cpu$$1040$$.handle_irqs();
} : function($irq_number$$3$$) {
$irr$$ |= 1 << $irq_number$$3$$;
};
this.get_isr = function $this$get_isr$() {
return $isr$$;
};
}
;function $RTC$$($cpu$$1041$$, $diskette_type$$, $boot_order$$) {
function $encode_time$$($JSCompiler_temp$$9_n$$inline_695_t$$) {
if (!($cmos_b$$ & 4)) {
for (var $i$$inline_696$$ = 0, $result$$inline_697$$ = 0, $digit$$inline_698$$;$JSCompiler_temp$$9_n$$inline_695_t$$;) {
$digit$$inline_698$$ = $JSCompiler_temp$$9_n$$inline_695_t$$ % 10, $result$$inline_697$$ |= $digit$$inline_698$$ << 4 * $i$$inline_696$$, $i$$inline_696$$++, $JSCompiler_temp$$9_n$$inline_695_t$$ = ($JSCompiler_temp$$9_n$$inline_695_t$$ - $digit$$inline_698$$) / 10;
}
$JSCompiler_temp$$9_n$$inline_695_t$$ = $result$$inline_697$$;
}
return $JSCompiler_temp$$9_n$$inline_695_t$$;
}
var $io$$6$$ = $cpu$$1041$$.io, $pic$$3$$ = $cpu$$1041$$.devices.pic, $memory_size$$2$$ = $cpu$$1041$$.memory.size, $cmos_index$$ = 0, $me$$5$$ = this, $rtc_time$$ = Date.now(), $last_update$$ = $rtc_time$$, $next_interrupt$$ = 0, $cmos_c_was_read$$ = !0, $periodic_interrupt$$ = !1, $periodic_interrupt_time$$ = 0.9765625, $cmos_a$$ = 38, $cmos_b$$ = 2, $cmos_c$$ = 0;
this.nmi_disabled = 0;
this.timer = function $this$timer$($time$$2$$) {
$periodic_interrupt$$ && $cmos_c_was_read$$ && $next_interrupt$$ < $time$$2$$ && ($cmos_c_was_read$$ = !1, $pic$$3$$.push_irq(8), $cmos_c$$ |= 64, $next_interrupt$$ += $periodic_interrupt_time$$ * Math.ceil(($time$$2$$ - $next_interrupt$$) / $periodic_interrupt_time$$));
$rtc_time$$ += $time$$2$$ - $last_update$$;
$last_update$$ = $time$$2$$;
};
$io$$6$$.register_write(112, function($out_byte$$15$$) {
$cmos_index$$ = $out_byte$$15$$ & 127;
$me$$5$$.nmi_disabled = $out_byte$$15$$ >> 7;
});
$io$$6$$.register_write(113, function cmos_write($data_byte$$8$$) {
switch($cmos_index$$) {
case 10:
$cmos_a$$ = $data_byte$$8$$ & 127;
$periodic_interrupt_time$$ = 1E3 / (32768 >> ($cmos_a$$ & 15) - 1);
break;
case 11:
$cmos_b$$ = $data_byte$$8$$, $cmos_b$$ & 64 && ($next_interrupt$$ = Date.now());
}
$periodic_interrupt$$ = 64 === ($cmos_b$$ & 64) && 0 < ($cmos_a$$ & 15);
});
$io$$6$$.register_read(113, function cmos_read() {
switch($cmos_index$$) {
case 0:
return $encode_time$$((new Date($rtc_time$$)).getUTCSeconds());
case 2:
return $encode_time$$((new Date($rtc_time$$)).getUTCMinutes());
case 4:
return $encode_time$$((new Date($rtc_time$$)).getUTCHours());
case 7:
return $encode_time$$((new Date($rtc_time$$)).getUTCDate());
case 8:
return $encode_time$$((new Date($rtc_time$$)).getUTCMonth() + 1);
case 9:
return $encode_time$$((new Date($rtc_time$$)).getUTCFullYear() % 100);
case 10:
return $cmos_a$$;
case 11:
return $cmos_b$$;
case 14:
return 0;
case 12:
return $cmos_c_was_read$$ = !0, $cmos_c$$;
case 15:
return 0;
case 16:
return $diskette_type$$;
case 20:
return 45;
case 50:
return $encode_time$$((new Date($rtc_time$$)).getUTCFullYear() / 100 | 0);
case 52:
return $memory_size$$2$$ - 16777216 >> 16 & 255;
case 53:
return $memory_size$$2$$ - 16777216 >> 24 & 255;
case 56:
return 1 | $boot_order$$ >> 4 & 240;
case 61:
return $boot_order$$ & 255;
case 91:
;
case 92:
;
case 93:
return 0;
}
return 255;
});
}
;function $UART$$($cpu$$1042$$, $adapter$$1$$) {
var $io$$7$$ = $cpu$$1042$$.io, $pic$$4$$ = $cpu$$1042$$.devices.pic, $baud_rate$$ = 0, $line_control$$ = 0, $interrupt_enable$$ = 0, $iir$$ = 1, $modem_control$$ = 0, $scratch_register$$ = 0, $irq$$2$$ = 0, $input$$ = new $ByteQueue$$(4096), $irq$$2$$ = 4;
$adapter$$1$$.init(function data_received($data$$216$$) {
$input$$.ByteQueue$push($data$$216$$);
$interrupt_enable$$ & 1 && $pic$$4$$.push_irq($irq$$2$$);
});
$io$$7$$.register_write(1016, function($out_byte$$16$$) {
$line_control$$ & 128 ? $baud_rate$$ = $baud_rate$$ & -256 | $out_byte$$16$$ : 255 !== $out_byte$$16$$ && $adapter$$1$$ && ($adapter$$1$$.put_line || $adapter$$1$$.put_str(String.fromCharCode($out_byte$$16$$)));
});
$io$$7$$.register_write(1017, function($out_byte$$17$$) {
$line_control$$ & 128 ? $baud_rate$$ = $baud_rate$$ & 255 | $out_byte$$17$$ << 8 : $interrupt_enable$$ = $out_byte$$17$$;
});
$io$$7$$.register_read(1016, function() {
return $line_control$$ & 128 ? $baud_rate$$ & 255 : $input$$.ByteQueue$shift();
});
$io$$7$$.register_read(1017, function() {
return $line_control$$ & 128 ? $baud_rate$$ >> 8 : $interrupt_enable$$;
});
$io$$7$$.register_read(1018, function() {
var $ret$$1$$ = $iir$$;
$iir$$ ^= 1;
return $ret$$1$$;
});
$io$$7$$.register_write(1018, function() {
});
$io$$7$$.register_read(1019, function() {
return $line_control$$;
});
$io$$7$$.register_write(1019, function($out_byte$$19$$) {
$line_control$$ = $out_byte$$19$$;
});
$io$$7$$.register_read(1020, function() {
return $modem_control$$;
});
$io$$7$$.register_write(1020, function($out_byte$$20$$) {
$modem_control$$ = $out_byte$$20$$;
});
$io$$7$$.register_read(1021, function() {
var $line_status$$1$$ = 0;
$input$$.length && ($line_status$$1$$ |= 1);
return $line_status$$1$$ | 96;
});
$io$$7$$.register_write(1021, function() {
});
$io$$7$$.register_read(1022, function() {
return 0;
});
$io$$7$$.register_write(1022, function() {
});
$io$$7$$.register_read(1023, function() {
return $scratch_register$$;
});
$io$$7$$.register_write(1023, function($out_byte$$23$$) {
$scratch_register$$ = $out_byte$$23$$;
});
}
;function $ACPI$$() {
}
;