public static function unit_ror() { $number = plato_version_D3_template::shift(0xd0, 0xd2, 0xc0, 'shift_right', true, true); if ($number['position'] == 1) { $bit = $number[0] >> parent::$opsize * 8 - 2 & 0x1; parent::$register->OF = $number[2] ^ $bit; } return 0; }
public static function unit_cmp() { plato_version_D3_template::calculate(0x3c, 0x80, 0x83, 0x38, array(__CLASS__, 'unit_cmp_core')); return 0; }
public static function unit_bts() { $result = plato_version_D3_template::bit(0xfab, 0xfba); $result[1] = parent::$alu->bit_set($result[1], 1); parent::$register->CF = $result[0]; parent::$cpu->write_address($result[1]); return 0; }
public function unit_and() { plato_version_D3_template::calculate(0x24, 0x80, 0x83, 0x20, array(__CLASS__, 'unit_and_core')); return 0; }
public static function unit_test() { plato_version_D3_template::calculate(0xa8, 0xf6, 0xff, 0x84, array(__CLASS__, 'unit_test_core')); return 0; }
public static function unit_xor() { plato_version_D3_template::calculate(0x34, 0x80, 0x83, 0x30, array(__CLASS__, 'unit_xor_core')); return 0; }
public static function unit_div() { plato_version_D3_template::div('arith_div'); return 0; }
public static function unit_inc() { plato_version_D3_template::increase(0xfe, 0x40, array(__CLASS__, 'unit_inc_core')); return 0; }