mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-04-14 16:10:20 +02:00
Original/legacy cmpsc.c implementation moved to altcmpsc.dll module. Refer to Release Notes and/or README.CMPSC documents for more details.
6422 lines
238 KiB
C
6422 lines
238 KiB
C
/* OPCODE.C (c) Copyright Jan Jaeger, 2000-2012 */
|
|
/* (c) Copyright Roger Bowler, 2010-2011 */
|
|
/* (c) Copyright TurboHercules, SAS 2010-2011 */
|
|
/* Instruction decoding functions */
|
|
/* */
|
|
/* Released under "The Q Public License Version 1" */
|
|
/* (http://www.hercules-390.org/herclic.html) as modifications to */
|
|
/* Hercules. */
|
|
|
|
/* Interpretive Execution - (c) Copyright Jan Jaeger, 1999-2012 */
|
|
/* z/Architecture support - (c) Copyright Jan Jaeger, 1999-2012 */
|
|
|
|
#include "hstdinc.h"
|
|
|
|
#if !defined(_HENGINE_DLL_)
|
|
#define _HENGINE_DLL_
|
|
#endif
|
|
|
|
#if !defined(_OPCODE_C_)
|
|
#define _OPCODE_C_
|
|
#endif
|
|
|
|
#include "feature.h"
|
|
|
|
#ifdef UNUSED_FUNCTION_WARNING
|
|
#pragma GCC diagnostic ignored "-Wunused-function"
|
|
#endif
|
|
|
|
#if !defined(_GEN_ARCH)
|
|
|
|
#if defined(_ARCHMODE3)
|
|
#define _GEN_ARCH _ARCHMODE3
|
|
#include "opcode.c"
|
|
#undef _GEN_ARCH
|
|
#endif
|
|
|
|
#if defined(_ARCHMODE2)
|
|
#define _GEN_ARCH _ARCHMODE2
|
|
#include "opcode.c"
|
|
#undef _GEN_ARCH
|
|
#endif
|
|
|
|
#endif /*!defined(_GEN_ARCH)*/
|
|
|
|
#include "hercules.h"
|
|
|
|
#include "opcode.h"
|
|
|
|
#define UNDEF_INST(_x) \
|
|
static DEF_INST(_x) { ARCH_DEP(operation_exception) \
|
|
(inst,regs); }
|
|
|
|
|
|
#if !defined(FEATURE_CHANNEL_SUBSYSTEM)
|
|
UNDEF_INST(clear_subchannel)
|
|
UNDEF_INST(halt_subchannel)
|
|
UNDEF_INST(modify_subchannel)
|
|
UNDEF_INST(reset_channel_path)
|
|
UNDEF_INST(resume_subchannel)
|
|
UNDEF_INST(set_address_limit)
|
|
UNDEF_INST(set_channel_monitor)
|
|
UNDEF_INST(start_subchannel)
|
|
UNDEF_INST(store_channel_path_status)
|
|
UNDEF_INST(store_channel_report_word)
|
|
UNDEF_INST(store_subchannel)
|
|
UNDEF_INST(test_pending_interruption)
|
|
UNDEF_INST(test_subchannel)
|
|
#endif /*!defined(FEATURE_CHANNEL_SUBSYSTEM)*/
|
|
|
|
|
|
#if !defined(FEATURE_S370_CHANNEL)
|
|
UNDEF_INST(start_io)
|
|
UNDEF_INST(test_io)
|
|
UNDEF_INST(halt_io)
|
|
UNDEF_INST(test_channel)
|
|
UNDEF_INST(store_channel_id)
|
|
#endif /*!defined(FEATURE_S370_CHANNEL)*/
|
|
|
|
|
|
#if !defined(FEATURE_IMMEDIATE_AND_RELATIVE)
|
|
UNDEF_INST(test_under_mask_high)
|
|
UNDEF_INST(test_under_mask_low)
|
|
UNDEF_INST(branch_relative_on_condition)
|
|
UNDEF_INST(branch_relative_and_save)
|
|
UNDEF_INST(branch_relative_on_count)
|
|
UNDEF_INST(load_halfword_immediate)
|
|
UNDEF_INST(add_halfword_immediate)
|
|
UNDEF_INST(multiply_halfword_immediate)
|
|
UNDEF_INST(compare_halfword_immediate)
|
|
UNDEF_INST(multiply_single_register)
|
|
UNDEF_INST(multiply_single)
|
|
UNDEF_INST(branch_relative_on_index_high)
|
|
UNDEF_INST(branch_relative_on_index_low_or_equal)
|
|
#endif /*!defined(FEATURE_IMMEDIATE_AND_RELATIVE)*/
|
|
|
|
|
|
#if !defined(FEATURE_STRING_INSTRUCTION)
|
|
UNDEF_INST(compare_logical_string)
|
|
UNDEF_INST(compare_until_substring_equal)
|
|
UNDEF_INST(move_string)
|
|
UNDEF_INST(search_string)
|
|
#endif /*!defined(FEATURE_STRING_INSTRUCTION)*/
|
|
|
|
|
|
#if !defined(FEATURE_COMPARE_AND_MOVE_EXTENDED)
|
|
UNDEF_INST(compare_logical_long_extended)
|
|
UNDEF_INST(move_long_extended)
|
|
#endif /*!defined(FEATURE_COMPARE_AND_MOVE_EXTENDED)*/
|
|
|
|
|
|
#if !defined(FEATURE_CHECKSUM_INSTRUCTION)
|
|
UNDEF_INST(checksum)
|
|
#endif /*!defined(FEATURE_CHECKSUM_INSTRUCTION)*/
|
|
|
|
|
|
#if !defined(FEATURE_PERFORM_LOCKED_OPERATION)
|
|
UNDEF_INST(perform_locked_operation)
|
|
#endif /*!defined(FEATURE_PERFORM_LOCKED_OPERATION)*/
|
|
|
|
|
|
#if !defined(FEATURE_SUBSPACE_GROUP)
|
|
UNDEF_INST(branch_in_subspace_group)
|
|
#endif /*!defined(FEATURE_SUBSPACE_GROUP)*/
|
|
|
|
|
|
#if !defined(FEATURE_SET_ADDRESS_SPACE_CONTROL_FAST)
|
|
UNDEF_INST(set_address_space_control_fast)
|
|
#else /*!defined(FEATURE_SET_ADDRESS_SPACE_CONTROL_FAST)*/
|
|
#define s390_set_address_space_control_fast s390_set_address_space_control
|
|
#define z900_set_address_space_control_fast z900_set_address_space_control
|
|
#endif /*!defined(FEATURE_SET_ADDRESS_SPACE_CONTROL_FAST)*/
|
|
|
|
|
|
#if !defined(FEATURE_BRANCH_AND_SET_AUTHORITY)
|
|
UNDEF_INST(branch_and_set_authority)
|
|
#endif /*!defined(FEATURE_BRANCH_AND_SET_AUTHORITY)*/
|
|
|
|
|
|
#if !defined(FEATURE_EXPANDED_STORAGE)
|
|
UNDEF_INST(page_in)
|
|
UNDEF_INST(page_out)
|
|
#endif /*!defined(FEATURE_EXPANDED_STORAGE)*/
|
|
|
|
|
|
#if !defined(FEATURE_BROADCASTED_PURGING)
|
|
UNDEF_INST(compare_and_swap_and_purge)
|
|
#endif /*!defined(FEATURE_BROADCASTED_PURGING)*/
|
|
|
|
|
|
#if !defined(FEATURE_BIMODAL_ADDRESSING)
|
|
UNDEF_INST(branch_and_set_mode)
|
|
UNDEF_INST(branch_and_save_and_set_mode)
|
|
#endif /*!defined(FEATURE_BIMODAL_ADDRESSING)*/
|
|
|
|
|
|
#if !defined(FEATURE_MOVE_PAGE_FACILITY_2)
|
|
UNDEF_INST(move_page)
|
|
UNDEF_INST(invalidate_expanded_storage_block_entry)
|
|
#endif /*!defined(FEATURE_MOVE_PAGE_FACILITY_2)*/
|
|
|
|
|
|
#if !defined(FEATURE_BASIC_STORAGE_KEYS)
|
|
UNDEF_INST(insert_storage_key)
|
|
UNDEF_INST(set_storage_key)
|
|
UNDEF_INST(reset_reference_bit)
|
|
#endif /*!defined(FEATURE_BASIC_STORAGE_KEYS)*/
|
|
|
|
|
|
#if !defined(FEATURE_LINKAGE_STACK)
|
|
UNDEF_INST(branch_and_stack)
|
|
UNDEF_INST(modify_stacked_state)
|
|
UNDEF_INST(extract_stacked_registers)
|
|
UNDEF_INST(extract_stacked_state)
|
|
UNDEF_INST(program_return)
|
|
UNDEF_INST(trap2)
|
|
UNDEF_INST(trap4)
|
|
#endif /*!defined(FEATURE_LINKAGE_STACK)*/
|
|
|
|
|
|
#if !defined(FEATURE_DUAL_ADDRESS_SPACE)
|
|
UNDEF_INST(extract_primary_asn)
|
|
UNDEF_INST(extract_secondary_asn)
|
|
UNDEF_INST(insert_address_space_control)
|
|
UNDEF_INST(insert_virtual_storage_key)
|
|
UNDEF_INST(load_address_space_parameters)
|
|
UNDEF_INST(move_to_primary)
|
|
UNDEF_INST(move_to_secondary)
|
|
UNDEF_INST(move_with_key)
|
|
UNDEF_INST(program_call)
|
|
UNDEF_INST(program_transfer)
|
|
UNDEF_INST(set_address_space_control)
|
|
UNDEF_INST(set_secondary_asn)
|
|
#endif /*!defined(FEATURE_DUAL_ADDRESS_SPACE)*/
|
|
|
|
|
|
#if !defined(FEATURE_ASN_AND_LX_REUSE)
|
|
UNDEF_INST(extract_primary_asn_and_instance)
|
|
UNDEF_INST(extract_secondary_asn_and_instance)
|
|
UNDEF_INST(program_transfer_with_instance)
|
|
UNDEF_INST(set_secondary_asn_with_instance)
|
|
#endif /*!defined(FEATURE_ASN_AND_LX_REUSE)*/
|
|
|
|
|
|
#if !defined(FEATURE_ACCESS_REGISTERS)
|
|
UNDEF_INST(load_access_multiple)
|
|
UNDEF_INST(store_access_multiple)
|
|
UNDEF_INST(purge_accesslist_lookaside_buffer)
|
|
UNDEF_INST(test_access)
|
|
UNDEF_INST(copy_access)
|
|
UNDEF_INST(set_access_register)
|
|
UNDEF_INST(extract_access_register)
|
|
#endif /*!defined(FEATURE_ACCESS_REGISTERS)*/
|
|
|
|
|
|
#if !defined(FEATURE_EXTENDED_STORAGE_KEYS)
|
|
UNDEF_INST(insert_storage_key_extended)
|
|
UNDEF_INST(reset_reference_bit_extended)
|
|
UNDEF_INST(set_storage_key_extended)
|
|
#endif /*!defined(FEATURE_EXTENDED_STORAGE_KEYS)*/
|
|
|
|
|
|
#if !defined(FEATURE_TOD_CLOCK_STEERING)
|
|
UNDEF_INST(perform_timing_facility_function)
|
|
#endif
|
|
|
|
|
|
#if !defined(FEATURE_EXTENDED_TOD_CLOCK)
|
|
UNDEF_INST(set_clock_programmable_field)
|
|
UNDEF_INST(store_clock_extended)
|
|
#endif /*!defined(FEATURE_EXTENDED_TOD_CLOCK)*/
|
|
|
|
|
|
#if !defined(FEATURE_MOVE_WITH_OPTIONAL_SPECIFICATIONS)
|
|
UNDEF_INST(move_with_optional_specifications)
|
|
#endif /*!defined(FEATURE_MOVE_WITH_OPTIONAL_SPECIFICATIONS)*/
|
|
|
|
|
|
#if !defined(FEATURE_EXTRACT_CPU_TIME)
|
|
UNDEF_INST(extract_cpu_time)
|
|
#endif /*!defined(FEATURE_EXTRACT_CPU_TIME)*/
|
|
|
|
|
|
#if !defined(FEATURE_COMPARE_AND_SWAP_AND_STORE)
|
|
UNDEF_INST(compare_and_swap_and_store)
|
|
#endif /*!defined(FEATURE_COMPARE_AND_SWAP_AND_STORE)*/
|
|
|
|
|
|
#if !defined(FEATURE_STORE_SYSTEM_INFORMATION)
|
|
UNDEF_INST(store_system_information)
|
|
#endif /*!defined(FEATURE_STORE_SYSTEM_INFORMATION)*/
|
|
|
|
|
|
#if !defined(FEATURE_CONFIGURATION_TOPOLOGY_FACILITY) /*208*/
|
|
UNDEF_INST(perform_topology_function) /*208*/
|
|
#endif /*!defined(FEATURE_CONFIGURATION_TOPOLOGY_FACILITY)*/ /*208*/
|
|
|
|
|
|
#if !defined(FEATURE_ENHANCED_DAT_FACILITY) /*208*/
|
|
UNDEF_INST(perform_frame_management_function) /*208*/
|
|
#endif /*!defined(FEATURE_ENHANCED_DAT_FACILITY)*/ /*208*/
|
|
|
|
|
|
#if !defined(FEATURE_EXECUTE_EXTENSIONS_FACILITY) /*208*/
|
|
UNDEF_INST(execute_relative_long) /*208*/
|
|
#endif /*!defined(FEATURE_EXECUTE_EXTENSIONS_FACILITY)*/ /*208*/
|
|
|
|
|
|
#if !defined(FEATURE_GENERAL_INSTRUCTIONS_EXTENSION_FACILITY) /*208*/
|
|
UNDEF_INST(add_immediate_long_storage)
|
|
UNDEF_INST(add_immediate_storage)
|
|
UNDEF_INST(add_logical_with_signed_immediate)
|
|
UNDEF_INST(add_logical_with_signed_immediate_long)
|
|
UNDEF_INST(compare_and_branch_register)
|
|
UNDEF_INST(compare_and_branch_long_register)
|
|
UNDEF_INST(compare_and_branch_relative_register)
|
|
UNDEF_INST(compare_and_branch_relative_long_register)
|
|
UNDEF_INST(compare_and_trap_long_register)
|
|
UNDEF_INST(compare_and_trap_register)
|
|
UNDEF_INST(compare_halfword_immediate_halfword_storage)
|
|
UNDEF_INST(compare_halfword_immediate_long_storage)
|
|
UNDEF_INST(compare_halfword_immediate_storage)
|
|
UNDEF_INST(compare_halfword_long)
|
|
UNDEF_INST(compare_halfword_relative_long)
|
|
UNDEF_INST(compare_halfword_relative_long_long)
|
|
UNDEF_INST(compare_immediate_and_branch)
|
|
UNDEF_INST(compare_immediate_and_branch_long)
|
|
UNDEF_INST(compare_immediate_and_branch_relative)
|
|
UNDEF_INST(compare_immediate_and_branch_relative_long)
|
|
UNDEF_INST(compare_immediate_and_trap)
|
|
UNDEF_INST(compare_immediate_and_trap_long)
|
|
UNDEF_INST(compare_logical_and_branch_long_register)
|
|
UNDEF_INST(compare_logical_and_branch_register)
|
|
UNDEF_INST(compare_logical_and_branch_relative_long_register)
|
|
UNDEF_INST(compare_logical_and_branch_relative_register)
|
|
UNDEF_INST(compare_logical_and_trap_long_register)
|
|
UNDEF_INST(compare_logical_and_trap_register)
|
|
UNDEF_INST(compare_logical_immediate_and_branch)
|
|
UNDEF_INST(compare_logical_immediate_and_branch_long)
|
|
UNDEF_INST(compare_logical_immediate_and_branch_relative)
|
|
UNDEF_INST(compare_logical_immediate_and_branch_relative_long)
|
|
UNDEF_INST(compare_logical_immediate_and_trap_fullword)
|
|
UNDEF_INST(compare_logical_immediate_and_trap_long)
|
|
UNDEF_INST(compare_logical_immediate_fullword_storage)
|
|
UNDEF_INST(compare_logical_immediate_halfword_storage)
|
|
UNDEF_INST(compare_logical_immediate_long_storage)
|
|
UNDEF_INST(compare_logical_relative_long)
|
|
UNDEF_INST(compare_logical_relative_long_halfword)
|
|
UNDEF_INST(compare_logical_relative_long_long)
|
|
UNDEF_INST(compare_logical_relative_long_long_fullword)
|
|
UNDEF_INST(compare_logical_relative_long_long_halfword)
|
|
UNDEF_INST(compare_relative_long)
|
|
UNDEF_INST(compare_relative_long_long)
|
|
UNDEF_INST(compare_relative_long_long_fullword)
|
|
UNDEF_INST(extract_cache_attribute)
|
|
UNDEF_INST(load_address_extended_y)
|
|
UNDEF_INST(load_and_test_long_fullword)
|
|
UNDEF_INST(load_halfword_relative_long)
|
|
UNDEF_INST(load_halfword_relative_long_long)
|
|
UNDEF_INST(load_logical_halfword_relative_long)
|
|
UNDEF_INST(load_logical_halfword_relative_long_long)
|
|
UNDEF_INST(load_logical_relative_long_long_fullword)
|
|
UNDEF_INST(load_relative_long)
|
|
UNDEF_INST(load_relative_long_long)
|
|
UNDEF_INST(load_relative_long_long_fullword)
|
|
UNDEF_INST(move_fullword_from_halfword_immediate)
|
|
UNDEF_INST(move_halfword_from_halfword_immediate)
|
|
UNDEF_INST(move_long_from_halfword_immediate)
|
|
UNDEF_INST(multiply_halfword_y)
|
|
UNDEF_INST(multiply_single_immediate_fullword)
|
|
UNDEF_INST(multiply_single_immediate_long_fullword)
|
|
UNDEF_INST(multiply_y)
|
|
UNDEF_INST(prefetch_data)
|
|
UNDEF_INST(prefetch_data_relative_long)
|
|
UNDEF_INST(rotate_then_and_selected_bits_long_reg)
|
|
UNDEF_INST(rotate_then_exclusive_or_selected_bits_long_reg)
|
|
UNDEF_INST(rotate_then_insert_selected_bits_long_reg)
|
|
UNDEF_INST(rotate_then_or_selected_bits_long_reg)
|
|
UNDEF_INST(store_halfword_relative_long)
|
|
UNDEF_INST(store_relative_long)
|
|
UNDEF_INST(store_relative_long_long)
|
|
#endif /*!defined(FEATURE_GENERAL_INSTRUCTIONS_EXTENSION_FACILITY)*/ /*208*/
|
|
|
|
|
|
#if !defined(FEATURE_PARSING_ENHANCEMENT_FACILITY) /*208*/
|
|
UNDEF_INST(translate_and_test_extended) /*208*/
|
|
UNDEF_INST(translate_and_test_reverse_extended) /*208*/
|
|
#endif /*!defined(FEATURE_PARSING_ENHANCEMENT_FACILITY)*/ /*208*/
|
|
|
|
|
|
#if !defined(FEATURE_HIGH_WORD_FACILITY) /*810*/
|
|
UNDEF_INST(add_high_high_high_register) /*810*/
|
|
UNDEF_INST(add_high_high_low_register) /*810*/
|
|
UNDEF_INST(add_high_immediate) /*810*/
|
|
UNDEF_INST(add_logical_high_high_high_register) /*810*/
|
|
UNDEF_INST(add_logical_high_high_low_register) /*810*/
|
|
UNDEF_INST(add_logical_with_signed_immediate_high) /*810*/
|
|
UNDEF_INST(add_logical_with_signed_immediate_high_n) /*810*/
|
|
UNDEF_INST(branch_relative_on_count_high) /*810*/
|
|
UNDEF_INST(compare_high_high_register) /*810*/
|
|
UNDEF_INST(compare_high_low_register) /*810*/
|
|
UNDEF_INST(compare_high_fullword) /*810*/
|
|
UNDEF_INST(compare_high_immediate) /*810*/
|
|
UNDEF_INST(compare_logical_high_high_register) /*810*/
|
|
UNDEF_INST(compare_logical_high_low_register) /*810*/
|
|
UNDEF_INST(compare_logical_high_fullword) /*810*/
|
|
UNDEF_INST(compare_logical_high_immediate) /*810*/
|
|
UNDEF_INST(load_byte_high) /*810*/
|
|
UNDEF_INST(load_fullword_high) /*810*/
|
|
UNDEF_INST(load_halfword_high) /*810*/
|
|
UNDEF_INST(load_logical_character_high) /*810*/
|
|
UNDEF_INST(load_logical_halfword_high) /*810*/
|
|
UNDEF_INST(rotate_then_insert_selected_bits_high_long_reg) /*810*/
|
|
UNDEF_INST(rotate_then_insert_selected_bits_low_long_reg) /*810*/
|
|
UNDEF_INST(store_character_high) /*810*/
|
|
UNDEF_INST(store_fullword_high) /*810*/
|
|
UNDEF_INST(store_halfword_high) /*810*/
|
|
UNDEF_INST(subtract_high_high_high_register) /*810*/
|
|
UNDEF_INST(subtract_high_high_low_register) /*810*/
|
|
UNDEF_INST(subtract_logical_high_high_high_register) /*810*/
|
|
UNDEF_INST(subtract_logical_high_high_low_register) /*810*/
|
|
#endif /*!defined(FEATURE_HIGH_WORD_FACILITY)*/ /*810*/
|
|
|
|
|
|
#if !defined(FEATURE_INTERLOCKED_ACCESS_FACILITY) /*810*/
|
|
UNDEF_INST(load_and_add) /*810*/
|
|
UNDEF_INST(load_and_add_logical) /*810*/
|
|
UNDEF_INST(load_and_and) /*810*/
|
|
UNDEF_INST(load_and_exclusive_or) /*810*/
|
|
UNDEF_INST(load_and_or) /*810*/
|
|
UNDEF_INST(load_pair_disjoint) /*810*/
|
|
#if !defined(FEATURE_INTERLOCKED_ACCESS_FACILITY) || !defined(FEATURE_ESAME)
|
|
UNDEF_INST(load_and_add_logical_long) /*810*/
|
|
UNDEF_INST(load_and_add_long) /*810*/
|
|
UNDEF_INST(load_and_and_long) /*810*/
|
|
UNDEF_INST(load_and_exclusive_or_long) /*810*/
|
|
UNDEF_INST(load_and_or_long) /*810*/
|
|
UNDEF_INST(load_pair_disjoint_long) /*810*/
|
|
#endif
|
|
#endif /*!defined(FEATURE_INTERLOCKED_ACCESS_FACILITY)*/ /*810*/
|
|
|
|
|
|
#if !defined(FEATURE_LOAD_STORE_ON_CONDITION_FACILITY) /*810*/
|
|
UNDEF_INST(load_on_condition_register) /*810*/
|
|
UNDEF_INST(load_on_condition_long_register) /*810*/
|
|
UNDEF_INST(load_on_condition) /*810*/
|
|
UNDEF_INST(load_on_condition_long) /*810*/
|
|
UNDEF_INST(store_on_condition) /*810*/
|
|
UNDEF_INST(store_on_condition_long) /*810*/
|
|
#endif /*!defined(FEATURE_LOAD_STORE_ON_CONDITION_FACILITY)*/ /*810*/
|
|
|
|
|
|
#if !defined(FEATURE_DISTINCT_OPERANDS_FACILITY) /*810*/
|
|
UNDEF_INST(add_distinct_register) /*810*/
|
|
UNDEF_INST(add_distinct_long_register) /*810*/
|
|
UNDEF_INST(add_distinct_halfword_immediate) /*810*/
|
|
UNDEF_INST(add_distinct_long_halfword_immediate) /*810*/
|
|
UNDEF_INST(add_logical_distinct_register) /*810*/
|
|
UNDEF_INST(add_logical_distinct_long_register) /*810*/
|
|
UNDEF_INST(add_logical_distinct_signed_halfword_immediate) /*810*/
|
|
UNDEF_INST(add_logical_distinct_long_signed_halfword_immediate)/*810*/
|
|
UNDEF_INST(and_distinct_register) /*810*/
|
|
UNDEF_INST(and_distinct_long_register) /*810*/
|
|
UNDEF_INST(exclusive_or_distinct_register) /*810*/
|
|
UNDEF_INST(exclusive_or_distinct_long_register) /*810*/
|
|
UNDEF_INST(or_distinct_register) /*810*/
|
|
UNDEF_INST(or_distinct_long_register) /*810*/
|
|
UNDEF_INST(shift_left_single_distinct) /*810*/
|
|
UNDEF_INST(shift_left_single_logical_distinct) /*810*/
|
|
UNDEF_INST(shift_right_single_distinct) /*810*/
|
|
UNDEF_INST(shift_right_single_logical_distinct) /*810*/
|
|
UNDEF_INST(subtract_distinct_register) /*810*/
|
|
UNDEF_INST(subtract_distinct_long_register) /*810*/
|
|
UNDEF_INST(subtract_logical_distinct_register) /*810*/
|
|
UNDEF_INST(subtract_logical_distinct_long_register) /*810*/
|
|
#endif /*!defined(FEATURE_DISTINCT_OPERANDS_FACILITY)*/ /*810*/
|
|
|
|
|
|
#if !defined(FEATURE_POPULATION_COUNT_FACILITY) /*810*/
|
|
UNDEF_INST(population_count) /*810*/
|
|
#endif /*!defined(FEATURE_POPULATION_COUNT_FACILITY)*/ /*810*/
|
|
|
|
|
|
#if !defined(FEATURE_RESET_REFERENCE_BITS_MULTIPLE_FACILITY) /*810*/
|
|
UNDEF_INST(reset_reference_bits_multiple) /*810*/
|
|
#endif /*!defined(FEATURE_RESET_REFERENCE_BITS_MULTIPLE_FACILITY)*/
|
|
|
|
|
|
#if !defined(FEATURE_VECTOR_FACILITY)
|
|
UNDEF_INST(v_test_vmr)
|
|
UNDEF_INST(v_complement_vmr)
|
|
UNDEF_INST(v_count_left_zeros_in_vmr)
|
|
UNDEF_INST(v_count_ones_in_vmr)
|
|
UNDEF_INST(v_extract_vct)
|
|
UNDEF_INST(v_extract_vector_modes)
|
|
UNDEF_INST(v_restore_vr)
|
|
UNDEF_INST(v_save_changed_vr)
|
|
UNDEF_INST(v_save_vr)
|
|
UNDEF_INST(v_load_vmr)
|
|
UNDEF_INST(v_load_vmr_complement)
|
|
UNDEF_INST(v_store_vmr)
|
|
UNDEF_INST(v_and_to_vmr)
|
|
UNDEF_INST(v_or_to_vmr)
|
|
UNDEF_INST(v_exclusive_or_to_vmr)
|
|
UNDEF_INST(v_save_vsr)
|
|
UNDEF_INST(v_save_vmr)
|
|
UNDEF_INST(v_restore_vsr)
|
|
UNDEF_INST(v_restore_vmr)
|
|
UNDEF_INST(v_load_vct_from_address)
|
|
UNDEF_INST(v_clear_vr)
|
|
UNDEF_INST(v_set_vector_mask_mode)
|
|
UNDEF_INST(v_load_vix_from_address)
|
|
UNDEF_INST(v_store_vector_parameters)
|
|
UNDEF_INST(v_save_vac)
|
|
UNDEF_INST(v_restore_vac)
|
|
#endif /*!defined(FEATURE_VECTOR_FACILITY)*/
|
|
|
|
|
|
#if !defined(FEATURE_HEXADECIMAL_FLOATING_POINT)
|
|
UNDEF_INST(load_positive_float_long_reg)
|
|
UNDEF_INST(load_negative_float_long_reg)
|
|
UNDEF_INST(load_and_test_float_long_reg)
|
|
UNDEF_INST(load_complement_float_long_reg)
|
|
UNDEF_INST(halve_float_long_reg)
|
|
UNDEF_INST(load_rounded_float_long_reg)
|
|
UNDEF_INST(multiply_float_ext_reg)
|
|
UNDEF_INST(multiply_float_long_to_ext_reg)
|
|
UNDEF_INST(load_float_long_reg)
|
|
UNDEF_INST(compare_float_long_reg)
|
|
UNDEF_INST(add_float_long_reg)
|
|
UNDEF_INST(subtract_float_long_reg)
|
|
UNDEF_INST(multiply_float_long_reg)
|
|
UNDEF_INST(divide_float_long_reg)
|
|
UNDEF_INST(add_unnormal_float_long_reg)
|
|
UNDEF_INST(subtract_unnormal_float_long_reg)
|
|
UNDEF_INST(load_positive_float_short_reg)
|
|
UNDEF_INST(load_negative_float_short_reg)
|
|
UNDEF_INST(load_and_test_float_short_reg)
|
|
UNDEF_INST(load_complement_float_short_reg)
|
|
UNDEF_INST(halve_float_short_reg)
|
|
UNDEF_INST(load_rounded_float_short_reg)
|
|
UNDEF_INST(add_float_ext_reg)
|
|
UNDEF_INST(subtract_float_ext_reg)
|
|
UNDEF_INST(load_float_short_reg)
|
|
UNDEF_INST(compare_float_short_reg)
|
|
UNDEF_INST(add_float_short_reg)
|
|
UNDEF_INST(subtract_float_short_reg)
|
|
UNDEF_INST(multiply_float_short_to_long_reg)
|
|
UNDEF_INST(divide_float_short_reg)
|
|
UNDEF_INST(add_unnormal_float_short_reg)
|
|
UNDEF_INST(subtract_unnormal_float_short_reg)
|
|
UNDEF_INST(store_float_long)
|
|
UNDEF_INST(multiply_float_long_to_ext)
|
|
UNDEF_INST(load_float_long)
|
|
UNDEF_INST(compare_float_long)
|
|
UNDEF_INST(add_float_long)
|
|
UNDEF_INST(subtract_float_long)
|
|
UNDEF_INST(multiply_float_long)
|
|
UNDEF_INST(divide_float_long)
|
|
UNDEF_INST(add_unnormal_float_long)
|
|
UNDEF_INST(subtract_unnormal_float_long)
|
|
UNDEF_INST(store_float_short)
|
|
UNDEF_INST(load_float_short)
|
|
UNDEF_INST(compare_float_short)
|
|
UNDEF_INST(add_float_short)
|
|
UNDEF_INST(subtract_float_short)
|
|
UNDEF_INST(multiply_float_short_to_long)
|
|
UNDEF_INST(divide_float_short)
|
|
UNDEF_INST(add_unnormal_float_short)
|
|
UNDEF_INST(subtract_unnormal_float_short)
|
|
UNDEF_INST(divide_float_ext_reg)
|
|
#endif /*!defined(FEATURE_HEXADECIMAL_FLOATING_POINT)*/
|
|
|
|
|
|
#if !defined(FEATURE_HFP_EXTENSIONS)
|
|
UNDEF_INST(load_lengthened_float_short_to_long_reg)
|
|
UNDEF_INST(load_lengthened_float_long_to_ext_reg)
|
|
UNDEF_INST(load_lengthened_float_short_to_ext_reg)
|
|
UNDEF_INST(squareroot_float_ext_reg)
|
|
UNDEF_INST(multiply_float_short_reg)
|
|
UNDEF_INST(load_positive_float_ext_reg)
|
|
UNDEF_INST(load_negative_float_ext_reg)
|
|
UNDEF_INST(load_and_test_float_ext_reg)
|
|
UNDEF_INST(load_complement_float_ext_reg)
|
|
UNDEF_INST(load_rounded_float_ext_to_short_reg)
|
|
UNDEF_INST(load_fp_int_float_ext_reg)
|
|
UNDEF_INST(compare_float_ext_reg)
|
|
UNDEF_INST(load_fp_int_float_short_reg)
|
|
UNDEF_INST(load_fp_int_float_long_reg)
|
|
UNDEF_INST(convert_fixed_to_float_short_reg)
|
|
UNDEF_INST(convert_fixed_to_float_long_reg)
|
|
UNDEF_INST(convert_fixed_to_float_ext_reg)
|
|
UNDEF_INST(convert_float_short_to_fixed_reg)
|
|
UNDEF_INST(convert_float_long_to_fixed_reg)
|
|
UNDEF_INST(convert_float_ext_to_fixed_reg)
|
|
UNDEF_INST(load_lengthened_float_short_to_long)
|
|
UNDEF_INST(load_lengthened_float_long_to_ext)
|
|
UNDEF_INST(load_lengthened_float_short_to_ext)
|
|
UNDEF_INST(squareroot_float_short)
|
|
UNDEF_INST(squareroot_float_long)
|
|
UNDEF_INST(multiply_float_short)
|
|
#endif /*!defined(FEATURE_HFP_EXTENSIONS)*/
|
|
|
|
|
|
#if !defined(FEATURE_FPS_EXTENSIONS)
|
|
UNDEF_INST(convert_bfp_long_to_float_long_reg)
|
|
UNDEF_INST(convert_bfp_short_to_float_long_reg)
|
|
UNDEF_INST(convert_float_long_to_bfp_long_reg)
|
|
UNDEF_INST(convert_float_long_to_bfp_short_reg)
|
|
UNDEF_INST(load_float_ext_reg)
|
|
UNDEF_INST(load_zero_float_ext_reg)
|
|
UNDEF_INST(load_zero_float_long_reg)
|
|
UNDEF_INST(load_zero_float_short_reg)
|
|
#endif /*!defined(FEATURE_FPS_EXTENSIONS)*/
|
|
|
|
|
|
#if !defined(FEATURE_FPS_ENHANCEMENT)
|
|
UNDEF_INST(copy_sign_fpr_long_reg)
|
|
UNDEF_INST(load_complement_fpr_long_reg)
|
|
UNDEF_INST(load_fpr_from_gr_long_reg)
|
|
UNDEF_INST(load_gr_from_fpr_long_reg)
|
|
UNDEF_INST(load_negative_fpr_long_reg)
|
|
UNDEF_INST(load_positive_fpr_long_reg)
|
|
UNDEF_INST(set_dfp_rounding_mode)
|
|
#endif /*!defined(FEATURE_FPS_ENHANCEMENT)*/
|
|
|
|
|
|
#if !defined(FEATURE_IEEE_EXCEPTION_SIMULATION)
|
|
UNDEF_INST(load_fpc_and_signal)
|
|
UNDEF_INST(set_fpc_and_signal)
|
|
#endif /*!defined(FEATURE_IEEE_EXCEPTION_SIMULATION)*/
|
|
|
|
|
|
#if !defined(FEATURE_HFP_MULTIPLY_ADD_SUBTRACT)
|
|
UNDEF_INST(multiply_add_float_short_reg)
|
|
UNDEF_INST(multiply_add_float_long_reg)
|
|
UNDEF_INST(multiply_add_float_short)
|
|
UNDEF_INST(multiply_add_float_long)
|
|
UNDEF_INST(multiply_subtract_float_short_reg)
|
|
UNDEF_INST(multiply_subtract_float_long_reg)
|
|
UNDEF_INST(multiply_subtract_float_short)
|
|
UNDEF_INST(multiply_subtract_float_long)
|
|
#endif /*!defined(FEATURE_HFP_MULTIPLY_ADD_SUBTRACT)*/
|
|
|
|
|
|
#if !defined(FEATURE_HFP_UNNORMALIZED_EXTENSION) /*@Z9*/
|
|
UNDEF_INST(multiply_unnormal_float_long_to_ext_reg) /*@Z9*/
|
|
UNDEF_INST(multiply_unnormal_float_long_to_ext_low_reg) /*@Z9*/
|
|
UNDEF_INST(multiply_unnormal_float_long_to_ext_high_reg) /*@Z9*/
|
|
UNDEF_INST(multiply_add_unnormal_float_long_to_ext_reg) /*@Z9*/
|
|
UNDEF_INST(multiply_add_unnormal_float_long_to_ext_low_reg) /*@Z9*/
|
|
UNDEF_INST(multiply_add_unnormal_float_long_to_ext_high_reg) /*@Z9*/
|
|
UNDEF_INST(multiply_unnormal_float_long_to_ext) /*@Z9*/
|
|
UNDEF_INST(multiply_unnormal_float_long_to_ext_low) /*@Z9*/
|
|
UNDEF_INST(multiply_unnormal_float_long_to_ext_high) /*@Z9*/
|
|
UNDEF_INST(multiply_add_unnormal_float_long_to_ext) /*@Z9*/
|
|
UNDEF_INST(multiply_add_unnormal_float_long_to_ext_low) /*@Z9*/
|
|
UNDEF_INST(multiply_add_unnormal_float_long_to_ext_high) /*@Z9*/
|
|
#endif /*!defined(FEATURE_HFP_UNNORMALIZED_EXTENSION)*/ /*@Z9*/
|
|
|
|
|
|
#if !defined(FEATURE_BINARY_FLOATING_POINT)
|
|
UNDEF_INST(store_fpc)
|
|
UNDEF_INST(load_fpc)
|
|
UNDEF_INST(set_fpc)
|
|
UNDEF_INST(extract_fpc)
|
|
UNDEF_INST(set_bfp_rounding_mode_2bit)
|
|
#endif /*!defined(FEATURE_BINARY_FLOATING_POINT)*/
|
|
|
|
|
|
#if !defined(FEATURE_BINARY_FLOATING_POINT) || defined(NO_IEEE_SUPPORT)
|
|
UNDEF_INST(add_bfp_ext_reg)
|
|
UNDEF_INST(add_bfp_long)
|
|
UNDEF_INST(add_bfp_long_reg)
|
|
UNDEF_INST(add_bfp_short)
|
|
UNDEF_INST(add_bfp_short_reg)
|
|
UNDEF_INST(compare_and_signal_bfp_ext_reg)
|
|
UNDEF_INST(compare_and_signal_bfp_long)
|
|
UNDEF_INST(compare_and_signal_bfp_long_reg)
|
|
UNDEF_INST(compare_and_signal_bfp_short)
|
|
UNDEF_INST(compare_and_signal_bfp_short_reg)
|
|
UNDEF_INST(compare_bfp_ext_reg)
|
|
UNDEF_INST(compare_bfp_long)
|
|
UNDEF_INST(compare_bfp_long_reg)
|
|
UNDEF_INST(compare_bfp_short)
|
|
UNDEF_INST(compare_bfp_short_reg)
|
|
UNDEF_INST(convert_bfp_ext_to_fix32_reg)
|
|
UNDEF_INST(convert_bfp_long_to_fix32_reg)
|
|
UNDEF_INST(convert_bfp_short_to_fix32_reg)
|
|
UNDEF_INST(convert_fix32_to_bfp_ext_reg)
|
|
UNDEF_INST(convert_fix32_to_bfp_long_reg)
|
|
UNDEF_INST(convert_fix32_to_bfp_short_reg)
|
|
UNDEF_INST(convert_fix64_to_bfp_ext_reg);
|
|
UNDEF_INST(convert_fix64_to_bfp_long_reg);
|
|
UNDEF_INST(convert_fix64_to_bfp_short_reg);
|
|
UNDEF_INST(convert_bfp_ext_to_fix64_reg);
|
|
UNDEF_INST(convert_bfp_long_to_fix64_reg);
|
|
UNDEF_INST(convert_bfp_short_to_fix64_reg);
|
|
UNDEF_INST(divide_bfp_ext_reg)
|
|
UNDEF_INST(divide_bfp_long)
|
|
UNDEF_INST(divide_bfp_long_reg)
|
|
UNDEF_INST(divide_bfp_short)
|
|
UNDEF_INST(divide_bfp_short_reg)
|
|
UNDEF_INST(divide_integer_bfp_long_reg)
|
|
UNDEF_INST(divide_integer_bfp_short_reg)
|
|
UNDEF_INST(load_and_test_bfp_ext_reg)
|
|
UNDEF_INST(load_and_test_bfp_long_reg)
|
|
UNDEF_INST(load_and_test_bfp_short_reg)
|
|
UNDEF_INST(load_fp_int_bfp_ext_reg)
|
|
UNDEF_INST(load_fp_int_bfp_long_reg)
|
|
UNDEF_INST(load_fp_int_bfp_short_reg)
|
|
UNDEF_INST(load_complement_bfp_ext_reg)
|
|
UNDEF_INST(load_complement_bfp_long_reg)
|
|
UNDEF_INST(load_complement_bfp_short_reg)
|
|
UNDEF_INST(load_negative_bfp_ext_reg)
|
|
UNDEF_INST(load_negative_bfp_long_reg)
|
|
UNDEF_INST(load_negative_bfp_short_reg)
|
|
UNDEF_INST(load_positive_bfp_ext_reg)
|
|
UNDEF_INST(load_positive_bfp_long_reg)
|
|
UNDEF_INST(load_positive_bfp_short_reg)
|
|
UNDEF_INST(load_lengthened_bfp_short_to_long)
|
|
UNDEF_INST(load_lengthened_bfp_short_to_long_reg)
|
|
UNDEF_INST(load_lengthened_bfp_long_to_ext)
|
|
UNDEF_INST(load_lengthened_bfp_long_to_ext_reg)
|
|
UNDEF_INST(load_lengthened_bfp_short_to_ext)
|
|
UNDEF_INST(load_lengthened_bfp_short_to_ext_reg)
|
|
UNDEF_INST(load_rounded_bfp_long_to_short_reg)
|
|
UNDEF_INST(load_rounded_bfp_ext_to_long_reg)
|
|
UNDEF_INST(load_rounded_bfp_ext_to_short_reg)
|
|
UNDEF_INST(multiply_bfp_ext_reg)
|
|
UNDEF_INST(multiply_bfp_long_to_ext_reg)
|
|
UNDEF_INST(multiply_bfp_long_to_ext)
|
|
UNDEF_INST(multiply_bfp_long)
|
|
UNDEF_INST(multiply_bfp_long_reg)
|
|
UNDEF_INST(multiply_bfp_short_to_long_reg)
|
|
UNDEF_INST(multiply_bfp_short_to_long)
|
|
UNDEF_INST(multiply_bfp_short)
|
|
UNDEF_INST(multiply_bfp_short_reg)
|
|
UNDEF_INST(multiply_add_bfp_long_reg)
|
|
UNDEF_INST(multiply_add_bfp_long)
|
|
UNDEF_INST(multiply_add_bfp_short_reg)
|
|
UNDEF_INST(multiply_add_bfp_short)
|
|
UNDEF_INST(multiply_subtract_bfp_long_reg)
|
|
UNDEF_INST(multiply_subtract_bfp_long)
|
|
UNDEF_INST(multiply_subtract_bfp_short_reg)
|
|
UNDEF_INST(multiply_subtract_bfp_short)
|
|
UNDEF_INST(squareroot_bfp_ext_reg)
|
|
UNDEF_INST(squareroot_bfp_long)
|
|
UNDEF_INST(squareroot_bfp_long_reg)
|
|
UNDEF_INST(squareroot_bfp_short)
|
|
UNDEF_INST(squareroot_bfp_short_reg)
|
|
UNDEF_INST(subtract_bfp_ext_reg)
|
|
UNDEF_INST(subtract_bfp_long)
|
|
UNDEF_INST(subtract_bfp_long_reg)
|
|
UNDEF_INST(subtract_bfp_short)
|
|
UNDEF_INST(subtract_bfp_short_reg)
|
|
UNDEF_INST(test_data_class_bfp_short)
|
|
UNDEF_INST(test_data_class_bfp_long)
|
|
UNDEF_INST(test_data_class_bfp_ext)
|
|
#endif /*!defined(FEATURE_BINARY_FLOATING_POINT)*/
|
|
|
|
|
|
#if !defined(FEATURE_DECIMAL_FLOATING_POINT)
|
|
UNDEF_INST(add_dfp_ext_reg)
|
|
UNDEF_INST(add_dfp_long_reg)
|
|
UNDEF_INST(compare_dfp_ext_reg)
|
|
UNDEF_INST(compare_dfp_long_reg)
|
|
UNDEF_INST(compare_and_signal_dfp_ext_reg)
|
|
UNDEF_INST(compare_and_signal_dfp_long_reg)
|
|
UNDEF_INST(compare_exponent_dfp_ext_reg)
|
|
UNDEF_INST(compare_exponent_dfp_long_reg)
|
|
UNDEF_INST(convert_fix64_to_dfp_ext_reg)
|
|
UNDEF_INST(convert_fix64_to_dfp_long_reg)
|
|
UNDEF_INST(convert_sbcd128_to_dfp_ext_reg)
|
|
UNDEF_INST(convert_sbcd64_to_dfp_long_reg)
|
|
UNDEF_INST(convert_ubcd128_to_dfp_ext_reg)
|
|
UNDEF_INST(convert_ubcd64_to_dfp_long_reg)
|
|
UNDEF_INST(convert_dfp_ext_to_fix64_reg)
|
|
UNDEF_INST(convert_dfp_long_to_fix64_reg)
|
|
UNDEF_INST(convert_dfp_ext_to_sbcd128_reg)
|
|
UNDEF_INST(convert_dfp_long_to_sbcd64_reg)
|
|
UNDEF_INST(convert_dfp_ext_to_ubcd128_reg)
|
|
UNDEF_INST(convert_dfp_long_to_ubcd64_reg)
|
|
UNDEF_INST(divide_dfp_ext_reg)
|
|
UNDEF_INST(divide_dfp_long_reg)
|
|
UNDEF_INST(extract_biased_exponent_dfp_ext_to_fix64_reg)
|
|
UNDEF_INST(extract_biased_exponent_dfp_long_to_fix64_reg)
|
|
UNDEF_INST(extract_significance_dfp_ext_reg)
|
|
UNDEF_INST(extract_significance_dfp_long_reg)
|
|
UNDEF_INST(insert_biased_exponent_fix64_to_dfp_ext_reg)
|
|
UNDEF_INST(insert_biased_exponent_fix64_to_dfp_long_reg)
|
|
UNDEF_INST(load_and_test_dfp_ext_reg)
|
|
UNDEF_INST(load_and_test_dfp_long_reg)
|
|
UNDEF_INST(load_fp_int_dfp_ext_reg)
|
|
UNDEF_INST(load_fp_int_dfp_long_reg)
|
|
UNDEF_INST(load_lengthened_dfp_long_to_ext_reg)
|
|
UNDEF_INST(load_lengthened_dfp_short_to_long_reg)
|
|
UNDEF_INST(load_rounded_dfp_ext_to_long_reg)
|
|
UNDEF_INST(load_rounded_dfp_long_to_short_reg)
|
|
UNDEF_INST(multiply_dfp_ext_reg)
|
|
UNDEF_INST(multiply_dfp_long_reg)
|
|
UNDEF_INST(quantize_dfp_ext_reg)
|
|
UNDEF_INST(quantize_dfp_long_reg)
|
|
UNDEF_INST(reround_dfp_ext_reg)
|
|
UNDEF_INST(reround_dfp_long_reg)
|
|
UNDEF_INST(shift_coefficient_left_dfp_ext)
|
|
UNDEF_INST(shift_coefficient_left_dfp_long)
|
|
UNDEF_INST(shift_coefficient_right_dfp_ext)
|
|
UNDEF_INST(shift_coefficient_right_dfp_long)
|
|
UNDEF_INST(subtract_dfp_ext_reg)
|
|
UNDEF_INST(subtract_dfp_long_reg)
|
|
UNDEF_INST(test_data_class_dfp_ext)
|
|
UNDEF_INST(test_data_class_dfp_long)
|
|
UNDEF_INST(test_data_class_dfp_short)
|
|
UNDEF_INST(test_data_group_dfp_ext)
|
|
UNDEF_INST(test_data_group_dfp_long)
|
|
UNDEF_INST(test_data_group_dfp_short)
|
|
#endif /*!defined(FEATURE_DECIMAL_FLOATING_POINT)*/
|
|
|
|
|
|
#if !defined(FEATURE_FLOATING_POINT_EXTENSION_FACILITY) /*810*/
|
|
UNDEF_INST(convert_bfp_short_to_u32_reg) /*810*/
|
|
UNDEF_INST(convert_bfp_long_to_u32_reg) /*810*/
|
|
UNDEF_INST(convert_bfp_ext_to_u32_reg) /*810*/
|
|
UNDEF_INST(convert_bfp_short_to_u64_reg) /*810*/
|
|
UNDEF_INST(convert_bfp_long_to_u64_reg) /*810*/
|
|
UNDEF_INST(convert_bfp_ext_to_u64_reg) /*810*/
|
|
UNDEF_INST(convert_u32_to_bfp_short_reg) /*810*/
|
|
UNDEF_INST(convert_u32_to_bfp_long_reg) /*810*/
|
|
UNDEF_INST(convert_u32_to_bfp_ext_reg) /*810*/
|
|
UNDEF_INST(convert_u64_to_bfp_short_reg) /*810*/
|
|
UNDEF_INST(convert_u64_to_bfp_long_reg) /*810*/
|
|
UNDEF_INST(convert_u64_to_bfp_ext_reg) /*810*/
|
|
UNDEF_INST(convert_dfp_long_to_fix32_reg) /*810*/
|
|
UNDEF_INST(convert_dfp_long_to_u32_reg) /*810*/
|
|
UNDEF_INST(convert_dfp_long_to_u64_reg) /*810*/
|
|
UNDEF_INST(convert_dfp_ext_to_fix32_reg) /*810*/
|
|
UNDEF_INST(convert_dfp_ext_to_u32_reg) /*810*/
|
|
UNDEF_INST(convert_dfp_ext_to_u64_reg) /*810*/
|
|
UNDEF_INST(convert_fix32_to_dfp_long_reg) /*810*/
|
|
UNDEF_INST(convert_fix32_to_dfp_ext_reg) /*810*/
|
|
UNDEF_INST(convert_u32_to_dfp_long_reg) /*810*/
|
|
UNDEF_INST(convert_u32_to_dfp_ext_reg) /*810*/
|
|
UNDEF_INST(convert_u64_to_dfp_long_reg) /*810*/
|
|
UNDEF_INST(convert_u64_to_dfp_ext_reg) /*810*/
|
|
UNDEF_INST(set_bfp_rounding_mode_3bit) /*810*/
|
|
#endif /*!defined(FEATURE_FLOATING_POINT_EXTENSION_FACILITY)*/ /*810*/
|
|
|
|
|
|
#if !defined(FEATURE_PFPO)
|
|
UNDEF_INST(perform_floating_point_operation)
|
|
#endif /*!defined(FEATURE_PFPO)*/
|
|
|
|
|
|
#if !defined(FEATURE_EMULATE_VM)
|
|
UNDEF_INST(inter_user_communication_vehicle)
|
|
#endif /*!defined(FEATURE_EMULATE_VM)*/
|
|
|
|
|
|
#if !defined(FEATURE_RESUME_PROGRAM)
|
|
UNDEF_INST(resume_program)
|
|
#endif /*!defined(FEATURE_RESUME_PROGRAM)*/
|
|
|
|
|
|
#if !defined(FEATURE_COMPRESSION)
|
|
UNDEF_INST(cmpsc_2012)
|
|
#endif /*!defined(FEATURE_COMPRESSION)*/
|
|
|
|
|
|
#if !defined(FEATURE_LOCK_PAGE)
|
|
UNDEF_INST(lock_page)
|
|
#endif /*!defined(FEATURE_LOCK_PAGE)*/
|
|
|
|
|
|
#if !defined(FEATURE_SQUARE_ROOT)
|
|
UNDEF_INST(squareroot_float_long_reg)
|
|
UNDEF_INST(squareroot_float_short_reg)
|
|
#endif /*!defined(FEATURE_SQUARE_ROOT)*/
|
|
|
|
|
|
#if !defined(FEATURE_INTERPRETIVE_EXECUTION)
|
|
UNDEF_INST(start_interpretive_execution)
|
|
#endif /*!defined(FEATURE_INTERPRETIVE_EXECUTION)*/
|
|
|
|
|
|
#if !defined(FEATURE_REGION_RELOCATE)
|
|
UNDEF_INST(store_zone_parameter)
|
|
UNDEF_INST(set_zone_parameter)
|
|
#endif /*!defined(FEATURE_REGION_RELOCATE)*/
|
|
|
|
|
|
#if !defined(FEATURE_IO_ASSIST)
|
|
UNDEF_INST(test_pending_zone_interrupt)
|
|
#endif /*!defined(FEATURE_IO_ASSIST)*/
|
|
|
|
|
|
#if !defined(FEATURE_QUEUED_DIRECT_IO)
|
|
UNDEF_INST(signal_adapter)
|
|
#endif /*!defined(FEATURE_QUEUED_DIRECT_IO)*/
|
|
|
|
|
|
#if !defined(FEATURE_QEBSM)
|
|
UNDEF_INST(set_queue_buffer_state)
|
|
UNDEF_INST(extract_queue_buffer_state)
|
|
#endif /*!defined(FEATURE_QEBSM)*/
|
|
|
|
|
|
#if !defined(FEATURE_SVS)
|
|
UNDEF_INST(set_vector_summary)
|
|
#endif /*!defined(FEATURE_SVS)*/
|
|
|
|
|
|
#if !defined(FEATURE_CHANNEL_SWITCHING)
|
|
UNDEF_INST(connect_channel_set)
|
|
UNDEF_INST(disconnect_channel_set)
|
|
#endif /*!defined(FEATURE_CHANNEL_SWITCHING)*/
|
|
|
|
|
|
#if !defined(FEATURE_LOAD_PROGRAM_PARAMETER_FACILITY)
|
|
UNDEF_INST(load_program_parameter)
|
|
#endif /* !defined(FEATURE_LOAD_PROGRAM_PARAMETER_FACILITY) */
|
|
|
|
|
|
#if !defined(FEATURE_CPU_MEASUREMENT_COUNTER_FACILITY)
|
|
UNDEF_INST(extract_coprocessor_group_address)
|
|
UNDEF_INST(extract_cpu_counter)
|
|
UNDEF_INST(extract_peripheral_counter)
|
|
UNDEF_INST(load_cpu_counter_set_controls)
|
|
UNDEF_INST(load_peripheral_counter_set_controls)
|
|
UNDEF_INST(query_counter_information)
|
|
UNDEF_INST(set_cpu_counter)
|
|
UNDEF_INST(set_peripheral_counter)
|
|
#endif /*!defined(FEATURE_CPU_MEASUREMENT_COUNTER_FACILITY)*/
|
|
|
|
|
|
#if !defined(FEATURE_CPU_MEASUREMENT_SAMPLING_FACILITY)
|
|
UNDEF_INST(load_sampling_controls)
|
|
UNDEF_INST(query_sampling_information)
|
|
#endif /*!defined(FEATURE_CPU_MEASUREMENT_SAMPLING_FACILITY)*/
|
|
|
|
|
|
#if !defined(FEATURE_EXTENDED_TRANSLATION)
|
|
UNDEF_INST(translate_extended)
|
|
UNDEF_INST(convert_utf16_to_utf8)
|
|
UNDEF_INST(convert_utf8_to_utf16)
|
|
#endif /*!defined(FEATURE_EXTENDED_TRANSLATION)*/
|
|
|
|
|
|
#if !defined(FEATURE_EXTENDED_TRANSLATION_FACILITY_2)
|
|
UNDEF_INST(compare_logical_long_unicode)
|
|
UNDEF_INST(move_long_unicode)
|
|
UNDEF_INST(pack_ascii)
|
|
UNDEF_INST(pack_unicode)
|
|
UNDEF_INST(test_decimal)
|
|
UNDEF_INST(translate_one_to_one)
|
|
UNDEF_INST(translate_one_to_two)
|
|
UNDEF_INST(translate_two_to_one)
|
|
UNDEF_INST(translate_two_to_two)
|
|
UNDEF_INST(unpack_ascii)
|
|
UNDEF_INST(unpack_unicode)
|
|
#endif /*!defined(FEATURE_EXTENDED_TRANSLATION_FACILITY_2)*/
|
|
|
|
|
|
#if !defined(FEATURE_EXTENDED_TRANSLATION_FACILITY_3)
|
|
UNDEF_INST(convert_utf16_to_utf32)
|
|
UNDEF_INST(convert_utf32_to_utf16)
|
|
UNDEF_INST(convert_utf32_to_utf8)
|
|
UNDEF_INST(convert_utf8_to_utf32)
|
|
UNDEF_INST(search_string_unicode)
|
|
UNDEF_INST(translate_and_test_reverse)
|
|
#endif /*!defined(FEATURE_EXTENDED_TRANSLATION_FACILITY_3)*/
|
|
|
|
|
|
#if !defined(FEATURE_LOAD_REVERSED) && !defined(FEATURE_ESAME_N3_ESA390)
|
|
UNDEF_INST(load_reversed_register)
|
|
UNDEF_INST(load_reversed)
|
|
UNDEF_INST(load_reversed_half)
|
|
UNDEF_INST(store_reversed)
|
|
UNDEF_INST(store_reversed_half)
|
|
#if !defined(FEATURE_ESAME)
|
|
UNDEF_INST(load_reversed_long_register)
|
|
UNDEF_INST(store_reversed_long)
|
|
#endif /*!defined(FEATURE_ESAME)*/
|
|
#endif /*!defined(FEATURE_LOAD_REVERSED) && !defined(FEATURE_ESAME_N3_ESA390)*/
|
|
|
|
|
|
#if !defined(FEATURE_SERVICE_PROCESSOR)
|
|
UNDEF_INST(service_call)
|
|
#endif /*!defined(FEATURE_SERVICE_PROCESSOR)*/
|
|
|
|
|
|
#if !defined(FEATURE_CHSC)
|
|
UNDEF_INST(channel_subsystem_call)
|
|
#endif /*!defined(FEATURE_CHSC)*/
|
|
|
|
|
|
#if !defined(FEATURE_ESAME_N3_ESA390) && !defined(FEATURE_ESAME)
|
|
UNDEF_INST(add_logical_carry)
|
|
UNDEF_INST(add_logical_carry_register)
|
|
UNDEF_INST(branch_relative_and_save_long)
|
|
UNDEF_INST(branch_relative_on_condition_long)
|
|
UNDEF_INST(divide_logical)
|
|
UNDEF_INST(divide_logical_register)
|
|
UNDEF_INST(extract_psw)
|
|
UNDEF_INST(load_address_relative_long)
|
|
UNDEF_INST(multiply_logical)
|
|
UNDEF_INST(multiply_logical_register)
|
|
UNDEF_INST(rotate_left_single_logical)
|
|
UNDEF_INST(set_addressing_mode_24)
|
|
UNDEF_INST(set_addressing_mode_31)
|
|
UNDEF_INST(subtract_logical_borrow)
|
|
UNDEF_INST(subtract_logical_borrow_register)
|
|
UNDEF_INST(test_addressing_mode)
|
|
#endif /*!defined(FEATURE_ESAME_N3_ESA390) && !defined(FEATURE_ESAME)*/
|
|
|
|
|
|
#if !defined(FEATURE_STORE_FACILITY_LIST)
|
|
UNDEF_INST(store_facility_list);
|
|
#endif /*!defined(FEATURE_STORE_FACILITY_LIST) */
|
|
|
|
|
|
#if !defined(FEATURE_CANCEL_IO_FACILITY)
|
|
UNDEF_INST(cancel_subchannel)
|
|
#endif /*!defined(FEATURE_CANCEL_IO_FACILITY)*/
|
|
|
|
|
|
#if !defined(FEATURE_ECPSVM)
|
|
UNDEF_INST(ecpsvm_basic_freex)
|
|
UNDEF_INST(ecpsvm_basic_fretx)
|
|
UNDEF_INST(ecpsvm_lock_page)
|
|
UNDEF_INST(ecpsvm_unlock_page)
|
|
UNDEF_INST(ecpsvm_decode_next_ccw)
|
|
UNDEF_INST(ecpsvm_free_ccwstor)
|
|
UNDEF_INST(ecpsvm_locate_vblock)
|
|
UNDEF_INST(ecpsvm_disp1)
|
|
UNDEF_INST(ecpsvm_tpage)
|
|
UNDEF_INST(ecpsvm_tpage_lock)
|
|
UNDEF_INST(ecpsvm_inval_segtab)
|
|
UNDEF_INST(ecpsvm_inval_ptable)
|
|
UNDEF_INST(ecpsvm_decode_first_ccw)
|
|
UNDEF_INST(ecpsvm_dispatch_main)
|
|
UNDEF_INST(ecpsvm_locate_rblock)
|
|
UNDEF_INST(ecpsvm_comm_ccwproc)
|
|
UNDEF_INST(ecpsvm_unxlate_ccw)
|
|
UNDEF_INST(ecpsvm_disp2)
|
|
UNDEF_INST(ecpsvm_store_level)
|
|
UNDEF_INST(ecpsvm_loc_chgshrpg)
|
|
UNDEF_INST(ecpsvm_extended_freex)
|
|
UNDEF_INST(ecpsvm_extended_fretx)
|
|
UNDEF_INST(ecpsvm_prefmach_assist)
|
|
#endif /*!defined(FEATURE_ECPSVM)*/
|
|
|
|
|
|
#if !defined(FEATURE_LONG_DISPLACEMENT)
|
|
UNDEF_INST(add_y)
|
|
UNDEF_INST(add_halfword_y)
|
|
UNDEF_INST(add_logical_y)
|
|
UNDEF_INST(and_immediate_y)
|
|
UNDEF_INST(and_y)
|
|
UNDEF_INST(compare_y)
|
|
UNDEF_INST(compare_and_swap_y)
|
|
UNDEF_INST(compare_double_and_swap_y)
|
|
UNDEF_INST(compare_halfword_y)
|
|
UNDEF_INST(compare_logical_y)
|
|
UNDEF_INST(compare_logical_immediate_y)
|
|
UNDEF_INST(compare_logical_characters_under_mask_y)
|
|
UNDEF_INST(convert_to_binary_y)
|
|
UNDEF_INST(convert_to_decimal_y)
|
|
UNDEF_INST(exclusive_or_immediate_y)
|
|
UNDEF_INST(exclusive_or_y)
|
|
UNDEF_INST(insert_character_y)
|
|
UNDEF_INST(insert_characters_under_mask_y)
|
|
UNDEF_INST(load_y)
|
|
UNDEF_INST(load_address_y)
|
|
UNDEF_INST(load_byte)
|
|
UNDEF_INST(load_byte_long)
|
|
UNDEF_INST(load_halfword_y)
|
|
UNDEF_INST(load_multiple_y)
|
|
UNDEF_INST(load_real_address_y)
|
|
UNDEF_INST(move_immediate_y)
|
|
UNDEF_INST(multiply_single_y)
|
|
UNDEF_INST(or_immediate_y)
|
|
UNDEF_INST(or_y)
|
|
UNDEF_INST(store_y)
|
|
UNDEF_INST(store_character_y)
|
|
UNDEF_INST(store_characters_under_mask_y)
|
|
UNDEF_INST(store_halfword_y)
|
|
UNDEF_INST(store_multiple_y)
|
|
UNDEF_INST(subtract_y)
|
|
UNDEF_INST(subtract_halfword_y)
|
|
UNDEF_INST(subtract_logical_y)
|
|
UNDEF_INST(test_under_mask_y)
|
|
#endif /*!defined(FEATURE_LONG_DISPLACEMENT)*/
|
|
|
|
|
|
#if !defined(FEATURE_LONG_DISPLACEMENT) \
|
|
|| !defined(FEATURE_ACCESS_REGISTERS)
|
|
UNDEF_INST(load_access_multiple_y)
|
|
UNDEF_INST(store_access_multiple_y)
|
|
#endif /*!defined(FEATURE_LONG_DISPLACEMENT)
|
|
|| !defined(FEATURE_ACCESS_REGISTERS)*/
|
|
|
|
|
|
#if !defined(FEATURE_LONG_DISPLACEMENT) \
|
|
|| !defined(FEATURE_HEXADECIMAL_FLOATING_POINT)
|
|
UNDEF_INST(load_float_long_y)
|
|
UNDEF_INST(load_float_short_y)
|
|
UNDEF_INST(store_float_long_y)
|
|
UNDEF_INST(store_float_short_y)
|
|
#endif /*!defined(FEATURE_LONG_DISPLACEMENT)
|
|
|| !defined(FEATURE_HEXADECIMAL_FLOATING_POINT)*/
|
|
|
|
|
|
#if !defined(FEATURE_MESSAGE_SECURITY_ASSIST) || !defined(OPTION_STATIC_CRYPTO)
|
|
UNDEF_INST(cipher_message)
|
|
UNDEF_INST(cipher_message_with_chaining)
|
|
UNDEF_INST(compute_intermediate_message_digest)
|
|
UNDEF_INST(compute_last_message_digest)
|
|
UNDEF_INST(compute_message_authentication_code)
|
|
#endif /*!defined(FEATURE_MESSAGE_SECURITY_ASSIST)*/
|
|
|
|
|
|
#if !defined(FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_3) || !defined(OPTION_STATIC_CRYPTO) /*810*/
|
|
UNDEF_INST(perform_cryptographic_key_management_operation) /*810*/
|
|
#endif /*!defined(FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_3)*/
|
|
|
|
|
|
#if !defined(FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_4) || !defined(OPTION_STATIC_CRYPTO) /*810*/
|
|
UNDEF_INST(perform_cryptographic_computation) /*810*/
|
|
UNDEF_INST(cipher_message_with_cipher_feedback) /*810*/
|
|
UNDEF_INST(cipher_message_with_output_feedback) /*810*/
|
|
UNDEF_INST(cipher_message_with_counter) /*810*/
|
|
#endif /*!defined(FEATURE_MESSAGE_SECURITY_ASSIST_EXTENSION_4)*/
|
|
|
|
|
|
#if !defined(FEATURE_DAT_ENHANCEMENT)
|
|
UNDEF_INST(compare_and_swap_and_purge_long)
|
|
UNDEF_INST(invalidate_dat_table_entry)
|
|
#endif /*!defined(FEATURE_DAT_ENHANCEMENT)*/
|
|
|
|
|
|
#if !defined(FEATURE_EXTENDED_IMMEDIATE) /*@Z9*/
|
|
UNDEF_INST(add_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(add_long_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(add_logical_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(add_logical_long_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(and_immediate_high_fullword) /*@Z9*/
|
|
UNDEF_INST(and_immediate_low_fullword) /*@Z9*/
|
|
UNDEF_INST(compare_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(compare_long_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(compare_logical_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(compare_logical_long_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(exclusive_or_immediate_high_fullword) /*@Z9*/
|
|
UNDEF_INST(exclusive_or_immediate_low_fullword) /*@Z9*/
|
|
UNDEF_INST(insert_immediate_high_fullword) /*@Z9*/
|
|
UNDEF_INST(insert_immediate_low_fullword) /*@Z9*/
|
|
UNDEF_INST(load_long_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(load_logical_immediate_high_fullword) /*@Z9*/
|
|
UNDEF_INST(load_logical_immediate_low_fullword) /*@Z9*/
|
|
UNDEF_INST(or_immediate_high_fullword) /*@Z9*/
|
|
UNDEF_INST(or_immediate_low_fullword) /*@Z9*/
|
|
UNDEF_INST(subtract_logical_fullword_immediate) /*@Z9*/
|
|
UNDEF_INST(subtract_logical_long_fullword_immediate) /*@Z9*/
|
|
#endif /*!defined(FEATURE_EXTENDED_IMMEDIATE)*/ /*@Z9*/
|
|
|
|
|
|
#if !defined(FEATURE_EXTENDED_IMMEDIATE) /*@Z9*/
|
|
UNDEF_INST(load_and_test) /*@Z9*/
|
|
UNDEF_INST(load_and_test_long) /*@Z9*/
|
|
UNDEF_INST(load_byte_register) /*@Z9*/
|
|
UNDEF_INST(load_long_byte_register) /*@Z9*/
|
|
UNDEF_INST(load_halfword_register) /*@Z9*/
|
|
UNDEF_INST(load_long_halfword_register) /*@Z9*/
|
|
UNDEF_INST(load_logical_character) /*@Z9*/
|
|
UNDEF_INST(load_logical_character_register) /*@Z9*/
|
|
UNDEF_INST(load_logical_long_character_register) /*@Z9*/
|
|
UNDEF_INST(load_logical_halfword) /*@Z9*/
|
|
UNDEF_INST(load_logical_halfword_register) /*@Z9*/
|
|
UNDEF_INST(load_logical_long_halfword_register) /*@Z9*/
|
|
UNDEF_INST(find_leftmost_one_long_register) /*@Z9*/
|
|
#endif /*!defined(FEATURE_EXTENDED_IMMEDIATE)*/ /*@Z9*/
|
|
|
|
|
|
#if !defined(FEATURE_DAT_ENHANCEMENT_FACILITY_2) /*@Z9*/
|
|
UNDEF_INST(load_page_table_entry_address) /*@Z9*/
|
|
#endif /*!defined(FEATURE_DAT_ENHANCEMENT_FACILITY_2)*/ /*@Z9*/
|
|
|
|
|
|
#if !defined(FEATURE_STORE_CLOCK_FAST)
|
|
UNDEF_INST(store_clock_fast)
|
|
#else /*!defined(FEATURE_STORE_CLOCK_FAST)*/
|
|
#define z900_store_clock_fast z900_store_clock
|
|
#endif /*!defined(FEATURE_STORE_CLOCK_FAST)*/
|
|
|
|
|
|
#if !defined(FEATURE_STORE_FACILITY_LIST_EXTENDED) /*@Z9*/
|
|
UNDEF_INST(store_facility_list_extended) /*@Z9*/
|
|
#endif /*!defined(FEATURE_STORE_FACILITY_LIST_EXTENDED)*/ /*@Z9*/
|
|
|
|
|
|
/* The following execute_xxxx routines can be optimized by the
|
|
compiler to an indexed jump, leaving the stack frame untouched
|
|
as the called routine has the same arguments, and the routine
|
|
exits immediately after the call. *JJ */
|
|
|
|
|
|
DEF_INST(execute_opcode_e3________xx)
|
|
{
|
|
regs->ARCH_DEP(runtime_opcode_e3________xx)[inst[5]](inst, regs);
|
|
}
|
|
|
|
#ifdef OPTION_OPTINST
|
|
DEF_INST(E3_0)
|
|
{
|
|
regs->ARCH_DEP(runtime_opcode_e3_0______xx)[inst[5]](inst, regs);
|
|
}
|
|
#endif /* #ifdef OPTION_OPTINST */
|
|
|
|
DEF_INST(execute_opcode_eb________xx)
|
|
{
|
|
regs->ARCH_DEP(runtime_opcode_eb________xx)[inst[5]](inst, regs);
|
|
}
|
|
|
|
|
|
DEF_INST(execute_opcode_ec________xx)
|
|
{
|
|
regs->ARCH_DEP(runtime_opcode_ec________xx)[inst[5]](inst, regs);
|
|
}
|
|
|
|
|
|
DEF_INST(execute_opcode_ed________xx)
|
|
{
|
|
regs->ARCH_DEP(runtime_opcode_ed________xx)[inst[5]](inst, regs);
|
|
}
|
|
|
|
|
|
DEF_INST(operation_exception)
|
|
{
|
|
INST_UPDATE_PSW (regs, ILC(inst[0]), ILC(inst[0]));
|
|
|
|
#if defined(MODEL_DEPENDENT)
|
|
#if defined(_FEATURE_SIE)
|
|
/* The B2XX extended opcodes which are not defined are always
|
|
intercepted by SIE when issued in supervisor state */
|
|
if(!PROBSTATE(®s->psw) && inst[0] == 0xB2)
|
|
SIE_INTERCEPT(regs);
|
|
#endif /*defined(_FEATURE_SIE)*/
|
|
#endif /*defined(MODEL_DEPENDENT)*/
|
|
|
|
ARCH_DEP(program_interrupt)(regs, PGM_OPERATION_EXCEPTION);
|
|
}
|
|
|
|
|
|
DEF_INST(dummy_instruction)
|
|
{
|
|
// logmsg(_("Dummy instruction: ")); ARCH_DEP(display_inst) (regs, inst);
|
|
INST_UPDATE_PSW (regs, ILC(inst[0]), ILC(inst[0]));
|
|
}
|
|
|
|
#if !defined(_GEN_ARCH)
|
|
|
|
|
|
static zz_func opcode_table[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_01xx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_a5_x[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_a7_x[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_b2xx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_b3xx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_b9xx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_c0_x[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_c2_x[0x10][GEN_MAXARCH]; /*@Z9*/
|
|
static zz_func opcode_c4_x[0x10][GEN_MAXARCH]; /*208*/
|
|
static zz_func opcode_c6_x[0x10][GEN_MAXARCH]; /*208*/
|
|
static zz_func opcode_c8_x[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_cc_x[0x10][GEN_MAXARCH]; /*810*/
|
|
static zz_func opcode_e3xx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_e5xx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_e6xx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_ebxx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_ecxx[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_edxx[0x100][GEN_MAXARCH];
|
|
static zz_func v_opcode_a4xx[0x100][GEN_MAXARCH];
|
|
static zz_func v_opcode_a5xx[0x100][GEN_MAXARCH];
|
|
static zz_func v_opcode_a6xx[0x100][GEN_MAXARCH];
|
|
static zz_func v_opcode_e4xx[0x100][GEN_MAXARCH];
|
|
|
|
#ifdef OPTION_OPTINST
|
|
static zz_func opcode_15__[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_18__[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_1E__[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_1F__[0x100][GEN_MAXARCH];
|
|
static zz_func opcode_41_0[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_47_0[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_50_0[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_55_0[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_58_0[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_91xx[0x08][GEN_MAXARCH];
|
|
static zz_func opcode_A7_4[0x10][GEN_MAXARCH];
|
|
static zz_func opcode_BF_x[0x03][GEN_MAXARCH];
|
|
static zz_func opcode_D20x[0x01][GEN_MAXARCH];
|
|
static zz_func opcode_D50x[0x04][GEN_MAXARCH];
|
|
static zz_func opcode_E3_0[0x01][GEN_MAXARCH];
|
|
static zz_func opcode_E3_0______04[0x01][GEN_MAXARCH];
|
|
static zz_func opcode_E3_0______24[0x01][GEN_MAXARCH];
|
|
#endif /* OPTION_OPTINST */
|
|
|
|
#define DISASM_ROUTE(_table,_route) \
|
|
int disasm_ ## _table (BYTE inst[], char unused[], char *p) \
|
|
{ \
|
|
func disasm_fn; \
|
|
char* mnemonic; \
|
|
UNREFERENCED(unused); \
|
|
mnemonic = (void*)opcode_ ## _table [inst _route ][GEN_MAXARCH-1]; \
|
|
disasm_fn = (void*)opcode_ ## _table [inst _route ][GEN_MAXARCH-2]; \
|
|
return disasm_fn(inst, mnemonic, p); \
|
|
}
|
|
|
|
|
|
DISASM_ROUTE(table,[0])
|
|
DISASM_ROUTE(01xx,[1])
|
|
DISASM_ROUTE(a5_x,[1] & 0x0F)
|
|
DISASM_ROUTE(a7_x,[1] & 0x0F)
|
|
DISASM_ROUTE(b2xx,[1])
|
|
DISASM_ROUTE(b3xx,[1])
|
|
DISASM_ROUTE(b9xx,[1])
|
|
DISASM_ROUTE(c0_x,[1] & 0x0F)
|
|
DISASM_ROUTE(c2_x,[1] & 0x0F) /*@Z9*/
|
|
DISASM_ROUTE(c4_x,[1] & 0x0F) /*208*/
|
|
DISASM_ROUTE(c6_x,[1] & 0x0F) /*208*/
|
|
DISASM_ROUTE(c8_x,[1] & 0x0F)
|
|
DISASM_ROUTE(cc_x,[1] & 0x0F) /*810*/
|
|
DISASM_ROUTE(e3xx,[5])
|
|
DISASM_ROUTE(e5xx,[1])
|
|
DISASM_ROUTE(e6xx,[1])
|
|
DISASM_ROUTE(ebxx,[5])
|
|
DISASM_ROUTE(ecxx,[5])
|
|
DISASM_ROUTE(edxx,[5])
|
|
|
|
|
|
#if defined(FEATURE_VECTOR_FACILITY)
|
|
#define opcode_a4xx v_opcode_a4xx
|
|
DISASM_ROUTE(a4xx,[1])
|
|
#undef opcode_a4xx
|
|
#define opcode_a6xx v_opcode_a6xx
|
|
DISASM_ROUTE(a6xx,[1])
|
|
#undef opcode_a6xx
|
|
#define opcode_e4xx v_opcode_e4xx
|
|
DISASM_ROUTE(e4xx,[1])
|
|
#undef opcode_e4xx
|
|
#else /*defined(FEATURE_VECTOR_FACILITY)*/
|
|
#define disasm_a4xx disasm_none
|
|
#define disasm_a6xx disasm_none
|
|
#define disasm_e4xx disasm_none
|
|
#endif /*defined(FEATURE_VECTOR_FACILITY)*/
|
|
|
|
|
|
#define DISASM_TYPE(_type) \
|
|
static int disasm_ ## _type (BYTE inst[], char mnemonic[], char *p) \
|
|
{ \
|
|
char* name; \
|
|
char operands[64]
|
|
|
|
#define DISASM_PRINT(...) \
|
|
name = mnemonic+1; \
|
|
while(*name++); \
|
|
snprintf(operands,sizeof(operands), ## __VA_ARGS__ ); \
|
|
return sprintf(p, "%-5s %-19s %s",mnemonic,operands,name); \
|
|
}
|
|
|
|
|
|
DISASM_TYPE(none);
|
|
UNREFERENCED(inst);
|
|
DISASM_PRINT("%c",',');
|
|
|
|
DISASM_TYPE(E);
|
|
UNREFERENCED(inst);
|
|
DISASM_PRINT("%c",',');
|
|
|
|
|
|
DISASM_TYPE(RR);
|
|
int r1, r2;
|
|
r1 = inst[1] >> 4;
|
|
r2 = inst[1] & 0x0F;
|
|
DISASM_PRINT("%d,%d",r1,r2);
|
|
|
|
|
|
// "Mnemonic R1"
|
|
DISASM_TYPE(RR_R1);
|
|
int r1;
|
|
r1 = inst[1] >> 4;
|
|
DISASM_PRINT("%d",r1);
|
|
|
|
DISASM_TYPE(RR_SVC);
|
|
DISASM_PRINT("%d",inst[1]);
|
|
|
|
DISASM_TYPE(RRE);
|
|
int r1, r2;
|
|
r1 = inst[3] >> 4;
|
|
r2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d",r1,r2);
|
|
|
|
// "Mnemonic R1"
|
|
DISASM_TYPE(RRE_R1);
|
|
int r1;
|
|
r1 = inst[3] >> 4;
|
|
DISASM_PRINT("%d",r1);
|
|
|
|
DISASM_TYPE(RRF_R);
|
|
int r1,r3,r2;
|
|
r1 = inst[2] >> 4;
|
|
r3 = inst[3] >> 4;
|
|
r2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d",r1,r3,r2);
|
|
|
|
DISASM_TYPE(RRF_M);
|
|
int m3,r1,r2;
|
|
m3 = inst[2] >> 4;
|
|
r1 = inst[3] >> 4;
|
|
r2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d",r1,m3,r2);
|
|
|
|
DISASM_TYPE(RRF_M3);
|
|
int m3,r1,r2;
|
|
m3 = inst[2] >> 4;
|
|
r1 = inst[3] >> 4;
|
|
r2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d",r1,r2,m3);
|
|
|
|
DISASM_TYPE(RRF_M4);
|
|
int m4,r1,r2;
|
|
m4 = inst[2] & 0x0F;
|
|
r1 = inst[3] >> 4;
|
|
r2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d",r1,r2,m4);
|
|
|
|
DISASM_TYPE(RRF_MM);
|
|
int m3,m4,r1,r2;
|
|
m3 = inst[2] >> 4;
|
|
m4 = inst[2] & 0x0F;
|
|
r1 = inst[3] >> 4;
|
|
r2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d,%d",r1,m3,r2,m4);
|
|
|
|
DISASM_TYPE(RRF_RM);
|
|
int r3,m4,r1,r2;
|
|
r3 = inst[2] >> 4;
|
|
m4 = inst[2] & 0x0F;
|
|
r1 = inst[3] >> 4;
|
|
r2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d,%d",r1,r3,r2,m4);
|
|
|
|
DISASM_TYPE(RRR);
|
|
int r1,r2,r3;
|
|
r3 = inst[2] >> 4;
|
|
r1 = inst[3] >> 4;
|
|
r2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d",r1,r2,r3);
|
|
|
|
DISASM_TYPE(RX);
|
|
int r1,x2,b2,d2;
|
|
r1 = inst[1] >> 4;
|
|
x2 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d(%d,%d)",r1,d2,x2,b2);
|
|
|
|
DISASM_TYPE(RXE);
|
|
int r1,x2,b2,d2;
|
|
r1 = inst[1] >> 4;
|
|
x2 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d(%d,%d)",r1,d2,x2,b2);
|
|
|
|
DISASM_TYPE(RXY);
|
|
int r1,x2,b2,d2;
|
|
r1 = inst[1] >> 4;
|
|
x2 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (((S8)inst[4]) << 12) | (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d(%d,%d)",r1,d2,x2,b2);
|
|
|
|
DISASM_TYPE(RXF);
|
|
int r1,r3,x2,b2,d2;
|
|
r1 = inst[4] >> 4;
|
|
r3 = inst[1] >> 4;
|
|
x2 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d,%d(%d,%d)",r1,r3,d2,x2,b2);
|
|
|
|
DISASM_TYPE(RS);
|
|
int r1,r3,b2,d2;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d,%d(%d)",r1,r3,d2,b2);
|
|
|
|
// "Mnemonic R1,D2(B2)"
|
|
DISASM_TYPE(RS_R1D2B2);
|
|
int r1,b2,d2;
|
|
r1 = inst[1] >> 4;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d(%d)",r1,d2,b2);
|
|
|
|
DISASM_TYPE(RSE);
|
|
int r1,r3,b2,d2;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d,%d(%d)",r1,r3,d2,b2);
|
|
|
|
DISASM_TYPE(RSY);
|
|
int r1,r3,b2,d2;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (((S8)inst[4]) << 12) | (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d,%d(%d)",r1,r3,d2,b2);
|
|
|
|
DISASM_TYPE(RSY_M3);
|
|
int r1,b2,d2,m3;
|
|
r1 = inst[1] >> 4;
|
|
m3 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (((S8)inst[4]) << 12) | (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d,%d(%d),%d",r1,d2,b2,m3);
|
|
|
|
DISASM_TYPE(RSL);
|
|
int l1,b1,d1;
|
|
l1 = inst[1] >> 4;
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d(%d,%d)",d1,l1+1,b1);
|
|
|
|
DISASM_TYPE(RSI);
|
|
int r1,r3,i2;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
i2 = (S16)(((U16)inst[2] << 8) | inst[3]);
|
|
DISASM_PRINT("%d,%d,*%+d",r1,r3,i2*2);
|
|
|
|
DISASM_TYPE(RI);
|
|
int r1,i2;
|
|
r1 = inst[1] >> 4;
|
|
i2 = (S16)(((U16)inst[2] << 8) | inst[3]);
|
|
DISASM_PRINT("%d,%d",r1,i2);
|
|
|
|
DISASM_TYPE(RI_B);
|
|
int r1,i2;
|
|
r1 = inst[1] >> 4;
|
|
i2 = (S16)(((U16)inst[2] << 8) | inst[3]);
|
|
DISASM_PRINT("%d,*%+d",r1,i2*2);
|
|
|
|
DISASM_TYPE(RIE);
|
|
int r1,r3,i2;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
i2 = (S16)(((U16)inst[2] << 8) | inst[3]);
|
|
DISASM_PRINT("%d,%d,*%+d",r1,r3,i2*2);
|
|
|
|
DISASM_TYPE(RIE_RRI);
|
|
int r1,r3,i2;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
i2 = (S16)(((U16)inst[2] << 8) | inst[3]);
|
|
DISASM_PRINT("%d,%d,%d",r1,r3,i2);
|
|
|
|
DISASM_TYPE(RIE_RIM);
|
|
int r1,i2,m3;
|
|
r1 = inst[1] >> 4;
|
|
i2 = (S16)(((U16)inst[2] << 8) | inst[3]);
|
|
m3 = inst[4] >> 4;
|
|
DISASM_PRINT("%d,%d,%d",r1,i2,m3);
|
|
|
|
DISASM_TYPE(RIE_RRIM);
|
|
int r1,r2,i4,m3;
|
|
r1 = inst[1] >> 4;
|
|
r2 = inst[1] & 0x0F;
|
|
i4 = (S16)(((U16)inst[2] << 8) | inst[3]);
|
|
m3 = inst[4] >> 4;
|
|
DISASM_PRINT("%d,%d,%d,*%+d",r1,r2,m3,i4*2);
|
|
|
|
DISASM_TYPE(RIE_RMII);
|
|
int r1,m3,i4,i2;
|
|
r1 = inst[1] >> 4;
|
|
m3 = inst[1] & 0x0F;
|
|
i4 = (S16)(((U16)inst[2] << 8) | inst[3]);
|
|
i2 = inst[4];
|
|
DISASM_PRINT("%d,%d,%d,*%+d",r1,i2,m3,i4*2);
|
|
|
|
DISASM_TYPE(RIE_RRIII);
|
|
int r1,r2,i3,i4,i5;
|
|
r1 = inst[1] >> 4;
|
|
r2 = inst[1] & 0x0F;
|
|
i3 = inst[2];
|
|
i4 = inst[3];
|
|
i5 = inst[4];
|
|
DISASM_PRINT("%d,%d,%d,%d,%d",r1,r2,i3,i4,i5);
|
|
|
|
DISASM_TYPE(RIL);
|
|
int r1,i2;
|
|
r1 = inst[1] >> 4;
|
|
i2 = (S32)((((U32)inst[2] << 24) | ((U32)inst[3] << 16)
|
|
| ((U32)inst[4] << 8)) | inst[5]);
|
|
DISASM_PRINT("%d,%"I32_FMT"d",r1,i2);
|
|
|
|
DISASM_TYPE(RIL_A);
|
|
int r1,i2;
|
|
const S64 Two_S64=2;
|
|
r1 = inst[1] >> 4;
|
|
i2 = (S32)((((U32)inst[2] << 24) | ((U32)inst[3] << 16)
|
|
| ((U32)inst[4] << 8)) | inst[5]);
|
|
DISASM_PRINT("%d,*%+"I64_FMT"d",r1,i2*Two_S64);
|
|
|
|
DISASM_TYPE(RIS);
|
|
int r1,i2,m3,b4,d4;
|
|
r1 = inst[1] >> 4;
|
|
m3 = inst[1] & 0x0F;
|
|
b4 = inst[2] >> 4;
|
|
d4 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
i2 = inst[4];
|
|
DISASM_PRINT("%d,%d,%d,%d(%d)",r1,i2,m3,d4,b4);
|
|
|
|
DISASM_TYPE(RRS);
|
|
int r1,r2,m3,b4,d4;
|
|
r1 = inst[1] >> 4;
|
|
r2 = inst[1] & 0x0F;
|
|
b4 = inst[2] >> 4;
|
|
d4 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
m3 = inst[4] >> 4;
|
|
DISASM_PRINT("%d,%d,%d,%d(%d)",r1,r2,m3,d4,b4);
|
|
|
|
DISASM_TYPE(SI);
|
|
int i2,b1,d1;
|
|
i2 = inst[1];
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d(%d),%d",d1,b1,i2);
|
|
|
|
DISASM_TYPE(SIY);
|
|
int i2,b1,d1;
|
|
i2 = inst[1];
|
|
b1 = inst[2] >> 4;
|
|
d1 = (((S8)inst[4]) << 12) | (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d(%d),%d",d1,b1,i2);
|
|
|
|
DISASM_TYPE(SIL);
|
|
int b1,d1,i2;
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
i2 = (S16)(((U16)inst[4] << 8) | inst[5]);
|
|
DISASM_PRINT("%d(%d),%d",d1,b1,i2);
|
|
|
|
DISASM_TYPE(S);
|
|
int d2,b2;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d(%d)",d2,b2);
|
|
|
|
DISASM_TYPE(SS);
|
|
int l1,l2,b1,d1,b2,d2;
|
|
l1 = inst[1] >> 4;
|
|
l2 = inst[1] & 0x0F;
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d(%d,%d),%d(%d,%d)",d1,l1+1,b1,d2,l2+1,b2);
|
|
|
|
DISASM_TYPE(SS_L);
|
|
int l1,b1,d1,b2,d2;
|
|
l1 = inst[1];
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d(%d,%d),%d(%d)",d1,l1+1,b1,d2,b2);
|
|
|
|
// "Mnemonic D1(B1),D2(L2,B2)"
|
|
DISASM_TYPE(SS_L2);
|
|
int l2,b1,d1,b2,d2;
|
|
l2 = inst[1];
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d(%d),%d(%d,%d)",d1,b1,d2,l2+1,b2);
|
|
|
|
DISASM_TYPE(SS_R);
|
|
int r1,r3,b2,d2,b4,d4;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b4 = inst[4] >> 4;
|
|
d4 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d,%d,%d(%d),%d(%d)",r1,r3,d2,b2,d4,b4);
|
|
|
|
// "Mnemonic D1(R1,B1),D2(B2),R3"
|
|
DISASM_TYPE(SS_R3);
|
|
int r1,r3,b1,d1,b2,d2;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d(%d,%d),%d(%d),%d",d1,r1,b1,d2,b2,r3);
|
|
|
|
// "Mnemonic R1,D2(B2),R3,D4(B4)"
|
|
DISASM_TYPE(SS_RSRS);
|
|
int r1,r3,b2,d2,b4,d4;
|
|
r1 = inst[1] >> 4;
|
|
r3 = inst[1] & 0x0F;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b4 = inst[4] >> 4;
|
|
d4 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d,%d(%d),%d,%d(%d)",r1,d2,b2,r3,d4,b4);
|
|
|
|
// "Mnemonic D1(L1,B1),D2(B2),I3"
|
|
DISASM_TYPE(SS_I);
|
|
int l1,i3,b1,d1,b2,d2;
|
|
l1 = inst[1] >> 4;
|
|
i3 = inst[1] & 0x0F;
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d(%d,%d),%d(%d),%d",d1,l1,b1,d2,b2,i3);
|
|
|
|
DISASM_TYPE(SSE);
|
|
int b1,d1,b2,d2;
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d(%d),%d(%d)",d1,b1,d2,b2);
|
|
|
|
DISASM_TYPE(SSF);
|
|
int r3,b1,d1,b2,d2;
|
|
r3 = inst[1] >> 4;
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d(%d),%d(%d),%d",d1,b1,d2,b2,r3);
|
|
|
|
DISASM_TYPE(SSF_RSS);
|
|
int r3,b1,d1,b2,d2;
|
|
r3 = inst[1] >> 4;
|
|
b1 = inst[2] >> 4;
|
|
d1 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d,%d(%d),%d(%d)",r3,d1,b1,d2,b2);
|
|
|
|
DISASM_TYPE(VST);
|
|
int vr3,rt2,vr1,rs2;
|
|
vr3 = inst[2] >> 4;
|
|
rt2 = inst[2] & 0x0F;
|
|
vr1 = inst[3] >> 4;
|
|
rs2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d(%d)",vr1,vr3,rs2,rt2);
|
|
|
|
DISASM_TYPE(VR);
|
|
int vr1,fr3,gr2;
|
|
fr3 = inst[2] >> 4;
|
|
vr1 = inst[3] >> 4;
|
|
gr2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d,%d,%d",vr1,fr3,gr2);
|
|
|
|
DISASM_TYPE(VS);
|
|
int rs2;
|
|
rs2 = inst[3] & 0x0F;
|
|
DISASM_PRINT("%d",rs2);
|
|
|
|
DISASM_TYPE(VRSE);
|
|
int vr1,vr3,d2,b2;
|
|
vr3 = inst[2] >> 4;
|
|
vr1 = inst[3] >> 4;
|
|
b2 = inst[4] >> 4;
|
|
d2 = (inst[4] & 0x0F) << 8 | inst[5];
|
|
DISASM_PRINT("%d,%d,%d(%d)",vr1,vr3,d2,b2);
|
|
|
|
DISASM_TYPE(S_NW);
|
|
int d2,b2;
|
|
b2 = inst[2] >> 4;
|
|
d2 = (inst[2] & 0x0F) << 8 | inst[3];
|
|
DISASM_PRINT("%d(%d)",d2,b2);
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
/* Two byte runtime opcode table + 4 6 byte opcode tables */
|
|
/*----------------------------------------------------------------------------*/
|
|
static zz_func runtime_opcode_xxxx[GEN_ARCHCOUNT][0x100 * 0x100];
|
|
static zz_func runtime_opcode_e3________xx[GEN_ARCHCOUNT][0x100];
|
|
static zz_func runtime_opcode_eb________xx[GEN_ARCHCOUNT][0x100];
|
|
static zz_func runtime_opcode_ec________xx[GEN_ARCHCOUNT][0x100];
|
|
static zz_func runtime_opcode_ed________xx[GEN_ARCHCOUNT][0x100];
|
|
|
|
#ifdef OPTION_OPTINST
|
|
static zz_func runtime_opcode_e3_0______xx[GEN_ARCHCOUNT][0x100];
|
|
#endif /* #ifdef OPTION_OPTINST */
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
/* replace_opcode_xx */
|
|
/*----------------------------------------------------------------------------*/
|
|
static zz_func replace_opcode_xx(int arch, zz_func inst, int opcode)
|
|
{
|
|
int i;
|
|
zz_func oldinst;
|
|
|
|
// logmsg("replace_opcode_xx(%d, %02x)\n", arch, opcode);
|
|
if(arch < 0 || arch > GEN_ARCHCOUNT)
|
|
return(NULL);
|
|
if(opcode < 0 || opcode > 0xff)
|
|
return(NULL);
|
|
if(!inst)
|
|
return(NULL);
|
|
oldinst = runtime_opcode_xxxx[arch][opcode * 0x100];
|
|
for(i = 0; i < 0x100; i++)
|
|
runtime_opcode_xxxx[arch][opcode * 0x100 + i] = inst;
|
|
return(oldinst);
|
|
}
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* replace_opcode_xxxx */
|
|
/*---------------------------------------------------------------------------*/
|
|
static zz_func replace_opcode_xxxx(int arch, zz_func inst, int opcode1, int opcode2)
|
|
{
|
|
zz_func oldinst;
|
|
|
|
// logmsg("replace_opcode_xxxx(%d, %02x, %02x)\n", arch, opcode1, opcode2);
|
|
if(arch < 0 || arch >= GEN_ARCHCOUNT)
|
|
return(NULL);
|
|
if(opcode1 < 0 || opcode1 > 0xff || opcode2 < 0 || opcode2 > 0xff)
|
|
return(NULL);
|
|
if(!inst)
|
|
return(NULL);
|
|
oldinst = runtime_opcode_xxxx[arch][opcode1 * 0x100 + opcode2];
|
|
runtime_opcode_xxxx[arch][opcode1 * 0x100 + opcode2] = inst;
|
|
return(oldinst);
|
|
}
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* replace_opcode_xx_x */
|
|
/*---------------------------------------------------------------------------*/
|
|
static zz_func replace_opcode_xx_x(int arch, zz_func inst, int opcode1, int opcode2)
|
|
{
|
|
int i;
|
|
zz_func oldinst;
|
|
|
|
// logmsg("replace_opcode_xx_x(%d, %02x, %1x)\n", arch, opcode1, opcode2);
|
|
if(arch < 0 || arch >= GEN_ARCHCOUNT)
|
|
return(NULL);
|
|
if(opcode1 < 0 || opcode1 > 0xff || opcode2 < 0 || opcode2 > 0xf)
|
|
return(NULL);
|
|
if(!inst)
|
|
return(NULL);
|
|
oldinst = runtime_opcode_xxxx[arch][opcode1 * 0x100 + opcode2];
|
|
for(i = 0; i < 0x10; i++)
|
|
runtime_opcode_xxxx[arch][opcode1 * 0x100 + i * 0x10 + opcode2] = inst;
|
|
return(oldinst);
|
|
}
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* replace_opcode_xx________xx */
|
|
/*---------------------------------------------------------------------------*/
|
|
static zz_func replace_opcode_xx________xx(int arch, zz_func inst, int opcode1, int opcode2)
|
|
{
|
|
zz_func oldinst;
|
|
|
|
// logmsg("replace_opcode_xx________xx(%d, %02x, %02x)\n", arch, opcode1, opcode2);
|
|
if(arch < 0 || arch >= GEN_ARCHCOUNT)
|
|
return(NULL);
|
|
if(opcode2 < 0 || opcode2 > 0xff)
|
|
return(NULL);
|
|
if(!inst)
|
|
return(NULL);
|
|
switch(opcode1)
|
|
{
|
|
case 0xe3:
|
|
{
|
|
oldinst = runtime_opcode_e3________xx[arch][opcode2];
|
|
runtime_opcode_e3________xx[arch][opcode2] = inst;
|
|
}
|
|
case 0xeb:
|
|
{
|
|
oldinst = runtime_opcode_eb________xx[arch][opcode2];
|
|
runtime_opcode_eb________xx[arch][opcode2] = inst;
|
|
}
|
|
case 0xec:
|
|
{
|
|
oldinst = runtime_opcode_ec________xx[arch][opcode2];
|
|
runtime_opcode_ec________xx[arch][opcode2] = inst;
|
|
}
|
|
case 0xed:
|
|
{
|
|
oldinst = runtime_opcode_ed________xx[arch][opcode2];
|
|
runtime_opcode_ed________xx[arch][opcode2] = inst;
|
|
}
|
|
default:
|
|
{
|
|
oldinst = NULL;
|
|
}
|
|
}
|
|
return(oldinst);
|
|
}
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* replace_opcode */
|
|
/*---------------------------------------------------------------------------*/
|
|
#if defined(OPTION_DYNAMIC_LOAD)
|
|
DLL_EXPORT void *replace_opcode_r(int arch, zz_func inst, int opcode1, int opcode2)
|
|
#else
|
|
void *replace_opcode(int arch, zz_func inst, int opcode1, int opcode2)
|
|
#endif
|
|
{
|
|
// logmsg("replace_opcode(%d, %02x, %02x)\n", arch, opcode1, opcode2);
|
|
switch(opcode1)
|
|
{
|
|
case 0x01:
|
|
case 0xa4:
|
|
case 0xa6:
|
|
case 0xb2:
|
|
case 0xb3:
|
|
case 0xb9:
|
|
case 0xe4:
|
|
case 0xe5:
|
|
case 0xe6:
|
|
{
|
|
return(replace_opcode_xxxx(arch, inst, opcode1, opcode2));
|
|
}
|
|
case 0xa5:
|
|
{
|
|
if(arch == ARCH_900)
|
|
return(replace_opcode_xx_x(arch, inst, opcode1, opcode2));
|
|
return(replace_opcode_xxxx(arch, inst, opcode1, opcode2));
|
|
}
|
|
case 0xa7:
|
|
case 0xc0:
|
|
case 0xc2:
|
|
case 0xc4:
|
|
case 0xc6:
|
|
case 0xc8:
|
|
case 0xcc:
|
|
{
|
|
return(replace_opcode_xx_x(arch, inst, opcode1, opcode2));
|
|
}
|
|
case 0xe3:
|
|
case 0xeb:
|
|
case 0xec:
|
|
case 0xed:
|
|
{
|
|
return(replace_opcode_xx________xx(arch, inst, opcode1, opcode2));
|
|
}
|
|
default:
|
|
{
|
|
return(replace_opcode_xx(arch, inst, opcode1));
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/*----------------------------------------------------------------------------*/
|
|
/* init_opcode_tables */
|
|
/*----------------------------------------------------------------------------*/
|
|
void init_opcode_tables(void)
|
|
{
|
|
int arch;
|
|
int bit;
|
|
int i;
|
|
|
|
// logmsg("init_opcode_tables()\n");
|
|
for(arch = 0; arch < GEN_ARCHCOUNT; arch++)
|
|
{
|
|
for(i = 0; i < 0x100; i++)
|
|
replace_opcode_xx(arch, opcode_table[i][arch], i);
|
|
for(i = 0; i < 0x100; i++)
|
|
{
|
|
replace_opcode_xxxx(arch, opcode_01xx[i][arch], 0x01, i);
|
|
if(arch != ARCH_900)
|
|
{
|
|
replace_opcode_xxxx(arch, v_opcode_a4xx[i][arch], 0xa4, i);
|
|
replace_opcode_xxxx(arch, v_opcode_a5xx[i][arch], 0xa5, i);
|
|
replace_opcode_xxxx(arch, v_opcode_a6xx[i][arch], 0xa6, i);
|
|
}
|
|
replace_opcode_xxxx(arch, opcode_b2xx[i][arch], 0xb2, i);
|
|
replace_opcode_xxxx(arch, opcode_b3xx[i][arch], 0xb3, i);
|
|
replace_opcode_xxxx(arch, opcode_b9xx[i][arch], 0xb9, i);
|
|
replace_opcode_xx________xx(arch, opcode_e3xx[i][arch], 0xe3, i);
|
|
if(arch != ARCH_900)
|
|
replace_opcode_xxxx(arch, v_opcode_e4xx[i][arch], 0xe4, i);
|
|
replace_opcode_xxxx(arch, opcode_e5xx[i][arch], 0xe5, i);
|
|
replace_opcode_xxxx(arch, opcode_e6xx[i][arch], 0xe6, i);
|
|
replace_opcode_xx________xx(arch, opcode_ebxx[i][arch], 0xeb, i);
|
|
replace_opcode_xx________xx(arch, opcode_ecxx[i][arch], 0xec, i);
|
|
replace_opcode_xx________xx(arch, opcode_edxx[i][arch], 0xed, i);
|
|
}
|
|
for(i = 0; i < 0x10; i++)
|
|
{
|
|
if(arch == ARCH_900)
|
|
replace_opcode_xx_x(arch, opcode_a5_x[i][arch], 0xa5, i);
|
|
replace_opcode_xx_x(arch, opcode_a7_x[i][arch], 0xa7, i);
|
|
replace_opcode_xx_x(arch, opcode_c0_x[i][arch], 0xc0, i);
|
|
replace_opcode_xx_x(arch, opcode_c2_x[i][arch], 0xc2, i);
|
|
replace_opcode_xx_x(arch, opcode_c4_x[i][arch], 0xc4, i);
|
|
replace_opcode_xx_x(arch, opcode_c6_x[i][arch], 0xc6, i);
|
|
replace_opcode_xx_x(arch, opcode_c8_x[i][arch], 0xc8, i);
|
|
replace_opcode_xx_x(arch, opcode_cc_x[i][arch], 0xcc, i);
|
|
}
|
|
|
|
#ifdef OPTION_OPTINST
|
|
for(i = 0; i < 0x100; i++)
|
|
{
|
|
replace_opcode_xxxx(arch, opcode_15__[i][arch], 0x15, i); /* Optimized CLR */
|
|
replace_opcode_xxxx(arch, opcode_18__[i][arch], 0x18, i); /* Optimized LR */
|
|
replace_opcode_xxxx(arch, opcode_1E__[i][arch], 0x1e, i); /* Optimized ALR */
|
|
replace_opcode_xxxx(arch, opcode_1F__[i][arch], 0x1f, i); /* Optimized SLR */
|
|
replace_opcode_xxxx(arch, opcode_BF_x[0][arch], 0xbf, i); /* Optimized ICM */
|
|
}
|
|
for(i = 0; i < 0x10; i++)
|
|
{
|
|
replace_opcode_xxxx(arch, opcode_41_0[i][arch], 0x41, i << 4); /* Optimized LA */
|
|
replace_opcode_xxxx(arch, opcode_47_0[i][arch], 0x47, i << 4); /* Optimized BC */
|
|
replace_opcode_xxxx(arch, opcode_50_0[i][arch], 0x50, i << 4); /* Optimized ST */
|
|
replace_opcode_xxxx(arch, opcode_55_0[i][arch], 0x55, i << 4); /* Optimized CL */
|
|
replace_opcode_xxxx(arch, opcode_58_0[i][arch], 0x58, i << 4); /* Optimized L */
|
|
replace_opcode_xxxx(arch, opcode_A7_4[i][arch], 0xa7, (i << 4) + 0x4); /* Optimized BRC */
|
|
replace_opcode_xxxx(arch, opcode_BF_x[1][arch], 0xbf, (i << 4) + 0x7); /* Optimized ICM */
|
|
replace_opcode_xxxx(arch, opcode_BF_x[2][arch], 0xbf, (i << 4) + 0xf); /* Optimized ICM */
|
|
replace_opcode_xxxx(arch, opcode_E3_0[0][arch], 0xe3, i << 4);
|
|
}
|
|
replace_opcode_xxxx(arch, opcode_D20x[0][arch], 0xd2, 0x00); /* Optimized MVC */
|
|
replace_opcode_xxxx(arch, opcode_D50x[0][arch], 0xd5, 0x00); /* Optimized CLC */
|
|
replace_opcode_xxxx(arch, opcode_D50x[1][arch], 0xd5, 0x01); /* Optimized CLC */
|
|
replace_opcode_xxxx(arch, opcode_D50x[2][arch], 0xd5, 0x03); /* Optimized CLC */
|
|
replace_opcode_xxxx(arch, opcode_D50x[3][arch], 0xd5, 0x07); /* Optimized CLC */
|
|
bit = 0x80;
|
|
for(i = 0; i < 8; i++)
|
|
{
|
|
replace_opcode_xxxx(arch, opcode_91xx[i][arch], 0x91, bit); /* Single bit TM */
|
|
bit >>= 1;
|
|
}
|
|
for(i = 0; i < 0x100; i++)
|
|
{
|
|
switch(i)
|
|
{
|
|
case 0x04:
|
|
runtime_opcode_e3_0______xx[arch][i] = opcode_E3_0______04[0][arch]; /* Optimized LG */
|
|
break;
|
|
case 0x24:
|
|
runtime_opcode_e3_0______xx[arch][i] = opcode_E3_0______24[0][arch]; /* Optimized STG */
|
|
break;
|
|
default:
|
|
runtime_opcode_e3_0______xx[arch][i] = opcode_e3xx[i][arch];
|
|
break;
|
|
}
|
|
}
|
|
#endif /* OPTION_OPTINST */
|
|
}
|
|
}
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* init_opcode_pointers */
|
|
/*---------------------------------------------------------------------------*/
|
|
void init_opcode_pointers(REGS *regs)
|
|
{
|
|
// logmsg("init_opcode_pointers()\n");
|
|
if(!regs)
|
|
return;
|
|
regs->s370_runtime_opcode_xxxx = runtime_opcode_xxxx[ARCH_370];
|
|
regs->s370_runtime_opcode_e3________xx = runtime_opcode_e3________xx[ARCH_370];
|
|
regs->s370_runtime_opcode_eb________xx = runtime_opcode_eb________xx[ARCH_370];
|
|
regs->s370_runtime_opcode_ec________xx = runtime_opcode_ec________xx[ARCH_370];
|
|
regs->s370_runtime_opcode_ed________xx = runtime_opcode_ed________xx[ARCH_370];
|
|
regs->s390_runtime_opcode_xxxx = runtime_opcode_xxxx[ARCH_390];
|
|
regs->s390_runtime_opcode_e3________xx = runtime_opcode_e3________xx[ARCH_390];
|
|
regs->s390_runtime_opcode_eb________xx = runtime_opcode_eb________xx[ARCH_390];
|
|
regs->s390_runtime_opcode_ec________xx = runtime_opcode_ec________xx[ARCH_390];
|
|
regs->s390_runtime_opcode_ed________xx = runtime_opcode_ed________xx[ARCH_390];
|
|
regs->z900_runtime_opcode_xxxx = runtime_opcode_xxxx[ARCH_900];
|
|
regs->z900_runtime_opcode_e3________xx = runtime_opcode_e3________xx[ARCH_900];
|
|
regs->z900_runtime_opcode_eb________xx = runtime_opcode_eb________xx[ARCH_900];
|
|
regs->z900_runtime_opcode_ec________xx = runtime_opcode_ec________xx[ARCH_900];
|
|
regs->z900_runtime_opcode_ed________xx = runtime_opcode_ed________xx[ARCH_900];
|
|
|
|
#ifdef OPTION_OPTINST
|
|
regs->s370_runtime_opcode_e3_0______xx = runtime_opcode_e3_0______xx[ARCH_370];
|
|
regs->s390_runtime_opcode_e3_0______xx = runtime_opcode_e3_0______xx[ARCH_390];
|
|
regs->z900_runtime_opcode_e3_0______xx = runtime_opcode_e3_0______xx[ARCH_900];
|
|
#endif /* OPTION_OPTINST */
|
|
}
|
|
|
|
|
|
/*---------------------------------------------------------------------------*/
|
|
/* Following function will be resolved within the runtime opcode tables and */
|
|
/* set with function init_opcode_tables. */
|
|
/*---------------------------------------------------------------------------*/
|
|
#define execute_opcode_01xx operation_exception
|
|
#define execute_opcode_a4xx operation_exception
|
|
#define execute_opcode_a5_x operation_exception
|
|
#define execute_opcode_a6xx operation_exception
|
|
#define execute_opcode_a7_x operation_exception
|
|
#define execute_opcode_b2xx operation_exception
|
|
#define execute_opcode_b3xx operation_exception
|
|
#define execute_opcode_b9xx operation_exception
|
|
#define execute_opcode_c0_x operation_exception
|
|
#define execute_opcode_c2_x operation_exception
|
|
#define execute_opcode_c4_x operation_exception
|
|
#define execute_opcode_c6_x operation_exception
|
|
#define execute_opcode_c8_x operation_exception
|
|
#define execute_opcode_cc_x operation_exception
|
|
#define execute_opcode_e4xx operation_exception
|
|
#define execute_opcode_e5xx operation_exception
|
|
#define execute_opcode_e6xx operation_exception
|
|
|
|
|
|
static zz_func opcode_table[0x100][GEN_MAXARCH] = {
|
|
/*00*/ GENx___x___x___ ,
|
|
/*01*/ GENx370x390x900 (execute_opcode_01xx,01xx,""),
|
|
/*02*/ GENx___x___x___ ,
|
|
/*03*/ GENx___x___x___ ,
|
|
/*04*/ GENx370x390x900 (set_program_mask,RR_R1,"SPM"),
|
|
/*05*/ GENx370x390x900 (branch_and_link_register,RR,"BALR"),
|
|
/*06*/ GENx370x390x900 (branch_on_count_register,RR,"BCTR"),
|
|
/*07*/ GENx370x390x900 (branch_on_condition_register,RR,"BCR"),
|
|
/*08*/ GENx370x___x___ (set_storage_key,RR,"SSK"),
|
|
/*09*/ GENx370x___x___ (insert_storage_key,RR,"ISK"),
|
|
/*0A*/ GENx370x390x900 (supervisor_call,RR_SVC,"SVC"),
|
|
/*0B*/ GENx___x390x900 (branch_and_set_mode,RR,"BSM"),
|
|
/*0C*/ GENx___x390x900 (branch_and_save_and_set_mode,RR,"BASSM"),
|
|
/*0D*/ GENx370x390x900 (branch_and_save_register,RR,"BASR"),
|
|
/*0E*/ GENx370x390x900 (move_long,RR,"MVCL"),
|
|
/*0F*/ GENx370x390x900 (compare_logical_character_long,RR,"CLCL"),
|
|
/*10*/ GENx370x390x900 (load_positive_register,RR,"LPR"),
|
|
/*11*/ GENx370x390x900 (load_negative_register,RR,"LNR"),
|
|
/*12*/ GENx370x390x900 (load_and_test_register,RR,"LTR"),
|
|
/*13*/ GENx370x390x900 (load_complement_register,RR,"LCR"),
|
|
/*14*/ GENx370x390x900 (and_register,RR,"NR"),
|
|
/*15*/ GENx370x390x900 (compare_logical_register,RR,"CLR"),
|
|
/*16*/ GENx370x390x900 (or_register,RR,"OR"),
|
|
/*17*/ GENx370x390x900 (exclusive_or_register,RR,"XR"),
|
|
/*18*/ GENx370x390x900 (load_register,RR,"LR"),
|
|
/*19*/ GENx370x390x900 (compare_register,RR,"CR"),
|
|
/*1A*/ GENx370x390x900 (add_register,RR,"AR"),
|
|
/*1B*/ GENx370x390x900 (subtract_register,RR,"SR"),
|
|
/*1C*/ GENx370x390x900 (multiply_register,RR,"MR"),
|
|
/*1D*/ GENx370x390x900 (divide_register,RR,"DR"),
|
|
/*1E*/ GENx370x390x900 (add_logical_register,RR,"ALR"),
|
|
/*1F*/ GENx370x390x900 (subtract_logical_register,RR,"SLR"),
|
|
/*20*/ GENx370x390x900 (load_positive_float_long_reg,RR,"LPDR"),
|
|
/*21*/ GENx370x390x900 (load_negative_float_long_reg,RR,"LNDR"),
|
|
/*22*/ GENx370x390x900 (load_and_test_float_long_reg,RR,"LTDR"),
|
|
/*23*/ GENx370x390x900 (load_complement_float_long_reg,RR,"LCDR"),
|
|
/*24*/ GENx370x390x900 (halve_float_long_reg,RR,"HDR"),
|
|
/*25*/ GENx370x390x900 (load_rounded_float_long_reg,RR,"LDXR"),
|
|
/*26*/ GENx370x390x900 (multiply_float_ext_reg,RR,"MXR"),
|
|
/*27*/ GENx370x390x900 (multiply_float_long_to_ext_reg,RR,"MXDR"),
|
|
/*28*/ GENx370x390x900 (load_float_long_reg,RR,"LDR"),
|
|
/*29*/ GENx370x390x900 (compare_float_long_reg,RR,"CDR"),
|
|
/*2A*/ GENx370x390x900 (add_float_long_reg,RR,"ADR"),
|
|
/*2B*/ GENx370x390x900 (subtract_float_long_reg,RR,"SDR"),
|
|
/*2C*/ GENx370x390x900 (multiply_float_long_reg,RR,"MDR"),
|
|
/*2D*/ GENx370x390x900 (divide_float_long_reg,RR,"DDR"),
|
|
/*2E*/ GENx370x390x900 (add_unnormal_float_long_reg,RR,"AWR"),
|
|
/*2F*/ GENx370x390x900 (subtract_unnormal_float_long_reg,RR,"SWR"),
|
|
/*30*/ GENx370x390x900 (load_positive_float_short_reg,RR,"LPER"),
|
|
/*31*/ GENx370x390x900 (load_negative_float_short_reg,RR,"LNER"),
|
|
/*32*/ GENx370x390x900 (load_and_test_float_short_reg,RR,"LTER"),
|
|
/*33*/ GENx370x390x900 (load_complement_float_short_reg,RR,"LCER"),
|
|
/*34*/ GENx370x390x900 (halve_float_short_reg,RR,"HER"),
|
|
/*35*/ GENx370x390x900 (load_rounded_float_short_reg,RR,"LEDR"),
|
|
/*36*/ GENx370x390x900 (add_float_ext_reg,RR,"AXR"),
|
|
/*37*/ GENx370x390x900 (subtract_float_ext_reg,RR,"SXR"),
|
|
/*38*/ GENx370x390x900 (load_float_short_reg,RR,"LER"),
|
|
/*39*/ GENx370x390x900 (compare_float_short_reg,RR,"CER"),
|
|
/*3A*/ GENx370x390x900 (add_float_short_reg,RR,"AER"),
|
|
/*3B*/ GENx370x390x900 (subtract_float_short_reg,RR,"SER"),
|
|
/*3C*/ GENx370x390x900 (multiply_float_short_to_long_reg,RR,"MDER"),
|
|
/*3D*/ GENx370x390x900 (divide_float_short_reg,RR,"DER"),
|
|
/*3E*/ GENx370x390x900 (add_unnormal_float_short_reg,RR,"AUR"),
|
|
/*3F*/ GENx370x390x900 (subtract_unnormal_float_short_reg,RR,"SUR"),
|
|
/*40*/ GENx370x390x900 (store_halfword,RX,"STH"),
|
|
/*41*/ GENx370x390x900 (load_address,RX,"LA"),
|
|
/*42*/ GENx370x390x900 (store_character,RX,"STC"),
|
|
/*43*/ GENx370x390x900 (insert_character,RX,"IC"),
|
|
/*44*/ GENx370x390x900 (execute,RX,"EX"),
|
|
/*45*/ GENx370x390x900 (branch_and_link,RX,"BAL"),
|
|
/*46*/ GENx370x390x900 (branch_on_count,RX,"BCT"),
|
|
/*47*/ GENx370x390x900 (branch_on_condition,RX,"BC"),
|
|
/*48*/ GENx370x390x900 (load_halfword,RX,"LH"),
|
|
/*49*/ GENx370x390x900 (compare_halfword,RX,"CH"),
|
|
/*4A*/ GENx370x390x900 (add_halfword,RX,"AH"),
|
|
/*4B*/ GENx370x390x900 (subtract_halfword,RX,"SH"),
|
|
/*4C*/ GENx370x390x900 (multiply_halfword,RX,"MH"),
|
|
/*4D*/ GENx370x390x900 (branch_and_save,RX,"BAS"),
|
|
/*4E*/ GENx370x390x900 (convert_to_decimal,RX,"CVD"),
|
|
/*4F*/ GENx370x390x900 (convert_to_binary,RX,"CVB"),
|
|
/*50*/ GENx370x390x900 (store,RX,"ST"),
|
|
/*51*/ GENx___x390x900 (load_address_extended,RX,"LAE"),
|
|
/*52*/ GENx___x___x___ ,
|
|
/*53*/ GENx___x___x___ ,
|
|
/*54*/ GENx370x390x900 (and,RX,"N"),
|
|
/*55*/ GENx370x390x900 (compare_logical,RX,"CL"),
|
|
/*56*/ GENx370x390x900 (or,RX,"O"),
|
|
/*57*/ GENx370x390x900 (exclusive_or,RX,"X"),
|
|
/*58*/ GENx370x390x900 (load,RX,"L"),
|
|
/*59*/ GENx370x390x900 (compare,RX,"C"),
|
|
/*5A*/ GENx370x390x900 (add,RX,"A"),
|
|
/*5B*/ GENx370x390x900 (subtract,RX,"S"),
|
|
/*5C*/ GENx370x390x900 (multiply,RX,"M"),
|
|
/*5D*/ GENx370x390x900 (divide,RX,"D"),
|
|
/*5E*/ GENx370x390x900 (add_logical,RX,"AL"),
|
|
/*5F*/ GENx370x390x900 (subtract_logical,RX,"SL"),
|
|
/*60*/ GENx370x390x900 (store_float_long,RX,"STD"),
|
|
/*61*/ GENx___x___x___ ,
|
|
/*62*/ GENx___x___x___ ,
|
|
/*63*/ GENx___x___x___ ,
|
|
/*64*/ GENx___x___x___ ,
|
|
/*65*/ GENx___x___x___ ,
|
|
/*66*/ GENx___x___x___ ,
|
|
/*67*/ GENx370x390x900 (multiply_float_long_to_ext,RX,"MXD"),
|
|
/*68*/ GENx370x390x900 (load_float_long,RX,"LD"),
|
|
/*69*/ GENx370x390x900 (compare_float_long,RX,"CD"),
|
|
/*6A*/ GENx370x390x900 (add_float_long,RX,"AD"),
|
|
/*6B*/ GENx370x390x900 (subtract_float_long,RX,"SD"),
|
|
/*6C*/ GENx370x390x900 (multiply_float_long,RX,"MD"),
|
|
/*6D*/ GENx370x390x900 (divide_float_long,RX,"DD"),
|
|
/*6E*/ GENx370x390x900 (add_unnormal_float_long,RX,"AW"),
|
|
/*6F*/ GENx370x390x900 (subtract_unnormal_float_long,RX,"SW"),
|
|
/*70*/ GENx370x390x900 (store_float_short,RX,"STE"),
|
|
/*71*/ GENx37Xx390x900 (multiply_single,RX,"MS"),
|
|
/*72*/ GENx___x___x___ ,
|
|
/*73*/ GENx___x___x___ ,
|
|
/*74*/ GENx___x___x___ ,
|
|
/*75*/ GENx___x___x___ ,
|
|
/*76*/ GENx___x___x___ ,
|
|
/*77*/ GENx___x___x___ ,
|
|
/*78*/ GENx370x390x900 (load_float_short,RX,"LE"),
|
|
/*79*/ GENx370x390x900 (compare_float_short,RX,"CE"),
|
|
/*7A*/ GENx370x390x900 (add_float_short,RX,"AE"),
|
|
/*7B*/ GENx370x390x900 (subtract_float_short,RX,"SE"),
|
|
/*7C*/ GENx370x390x900 (multiply_float_short_to_long,RX,"MDE"),
|
|
/*7D*/ GENx370x390x900 (divide_float_short,RX,"DE"),
|
|
/*7E*/ GENx370x390x900 (add_unnormal_float_short,RX,"AU"),
|
|
/*7F*/ GENx370x390x900 (subtract_unnormal_float_short,RX,"SU"),
|
|
/*80*/ GENx370x390x900 (set_system_mask,S,"SSM"),
|
|
/*81*/ GENx___x___x___ ,
|
|
/*82*/ GENx370x390x900 (load_program_status_word,S,"LPSW"),
|
|
/*83*/ GENx370x390x900 (diagnose,RS,"DIAG"),
|
|
/*84*/ GENx37Xx390x900 (branch_relative_on_index_high,RSI,"BRXH"),
|
|
/*85*/ GENx37Xx390x900 (branch_relative_on_index_low_or_equal,RSI,"BRXLE"),
|
|
/*86*/ GENx370x390x900 (branch_on_index_high,RS,"BXH"),
|
|
/*87*/ GENx370x390x900 (branch_on_index_low_or_equal,RS,"BXLE"),
|
|
/*88*/ GENx370x390x900 (shift_right_single_logical,RS_R1D2B2,"SRL"),
|
|
/*89*/ GENx370x390x900 (shift_left_single_logical,RS_R1D2B2,"SLL"),
|
|
/*8A*/ GENx370x390x900 (shift_right_single,RS_R1D2B2,"SRA"),
|
|
/*8B*/ GENx370x390x900 (shift_left_single,RS_R1D2B2,"SLA"),
|
|
/*8C*/ GENx370x390x900 (shift_right_double_logical,RS_R1D2B2,"SRDL"),
|
|
/*8D*/ GENx370x390x900 (shift_left_double_logical,RS_R1D2B2,"SLDL"),
|
|
/*8E*/ GENx370x390x900 (shift_right_double,RS_R1D2B2,"SRDA"),
|
|
/*8F*/ GENx370x390x900 (shift_left_double,RS_R1D2B2,"SLDA"),
|
|
/*90*/ GENx370x390x900 (store_multiple,RS,"STM"),
|
|
/*91*/ GENx370x390x900 (test_under_mask,SI,"TM"),
|
|
/*92*/ GENx370x390x900 (move_immediate,SI,"MVI"),
|
|
/*93*/ GENx370x390x900 (test_and_set,S,"TS"),
|
|
/*94*/ GENx370x390x900 (and_immediate,SI,"NI"),
|
|
/*95*/ GENx370x390x900 (compare_logical_immediate,SI,"CLI"),
|
|
/*96*/ GENx370x390x900 (or_immediate,SI,"OI"),
|
|
/*97*/ GENx370x390x900 (exclusive_or_immediate,SI,"XI"),
|
|
/*98*/ GENx370x390x900 (load_multiple,RS,"LM"),
|
|
/*99*/ GENx___x390x900 (trace,RS,"TRACE"),
|
|
/*9A*/ GENx___x390x900 (load_access_multiple,RS,"LAM"),
|
|
/*9B*/ GENx___x390x900 (store_access_multiple,RS,"STAM"),
|
|
/*9C*/ GENx370x390x900 (start_io,S,"SIO"),
|
|
/*9D*/ GENx370x390x900 (test_io,S,"TIO"),
|
|
/*9E*/ GENx370x390x900 (halt_io,S,"HIO"),
|
|
/*9F*/ GENx370x390x900 (test_channel,S,"TCH"),
|
|
/*A0*/ GENx___x___x___ ,
|
|
/*A1*/ GENx___x___x___ ,
|
|
/*A2*/ GENx___x___x___ ,
|
|
/*A3*/ GENx___x___x___ ,
|
|
/*A4*/ GENx370x390x900 (execute_opcode_a4xx,a4xx,""), /* Only with vector facility */
|
|
/*A5*/ GENx370x390x900 (execute_opcode_a5_x,a5_x,""), /* execute_opcode_a5xx with vector facility */
|
|
/*A6*/ GENx370x390x900 (execute_opcode_a6xx,a6xx,""),
|
|
/*A7*/ GENx370x390x900 (execute_opcode_a7_x,a7_x,""),
|
|
/*A8*/ GENx370x390x900 (move_long_extended,RS,"MVCLE"),
|
|
/*A9*/ GENx370x390x900 (compare_logical_long_extended,RS,"CLCLE"),
|
|
/*AA*/ GENx___x___x___ ,
|
|
/*AB*/ GENx___x___x___ ,
|
|
/*AC*/ GENx370x390x900 (store_then_and_system_mask,SI,"STNSM"),
|
|
/*AD*/ GENx370x390x900 (store_then_or_system_mask,SI,"STOSM"),
|
|
/*AE*/ GENx370x390x900 (signal_processor,RS,"SIGP"),
|
|
/*AF*/ GENx370x390x900 (monitor_call,SI,"MC"),
|
|
/*B0*/ GENx___x___x___ ,
|
|
/*B1*/ GENx370x390x900 (load_real_address,RX,"LRA"),
|
|
/*B2*/ GENx370x390x900 (execute_opcode_b2xx,b2xx,""),
|
|
/*B3*/ GENx370x390x900 (execute_opcode_b3xx,b3xx,""),
|
|
/*B4*/ GENx___x___x___ ,
|
|
/*B5*/ GENx___x___x___ ,
|
|
/*B6*/ GENx370x390x900 (store_control,RS,"STCTL"),
|
|
/*B7*/ GENx370x390x900 (load_control,RS,"LCTL"),
|
|
/*B8*/ GENx___x___x___ ,
|
|
/*B9*/ GENx370x390x900 (execute_opcode_b9xx,b9xx,""),
|
|
/*BA*/ GENx370x390x900 (compare_and_swap,RS,"CS"),
|
|
/*BB*/ GENx370x390x900 (compare_double_and_swap,RS,"CDS"),
|
|
/*BC*/ GENx___x___x___ ,
|
|
/*BD*/ GENx370x390x900 (compare_logical_characters_under_mask,RS,"CLM"),
|
|
/*BE*/ GENx370x390x900 (store_characters_under_mask,RS,"STCM"),
|
|
/*BF*/ GENx370x390x900 (insert_characters_under_mask,RS,"ICM"),
|
|
/*C0*/ GENx370x390x900 (execute_opcode_c0_x,c0_x,""),
|
|
/*C1*/ GENx___x___x___ ,
|
|
/*C2*/ GENx370x390x900 (execute_opcode_c2_x,c2_x,""), /*@Z9*/
|
|
/*C3*/ GENx___x___x___ ,
|
|
/*C4*/ GENx370x390x900 (execute_opcode_c4_x,c4_x,""), /*208*/
|
|
/*C5*/ GENx___x___x___ ,
|
|
/*C6*/ GENx370x390x900 (execute_opcode_c6_x,c6_x,""), /*208*/
|
|
/*C7*/ GENx___x___x___ ,
|
|
/*C8*/ GENx370x390x900 (execute_opcode_c8_x,c8_x,""),
|
|
/*C9*/ GENx___x___x___ ,
|
|
/*CA*/ GENx___x___x___ ,
|
|
/*CB*/ GENx___x___x___ ,
|
|
/*CC*/ GENx370x390x900 (execute_opcode_cc_x,cc_x,""), /*810*/
|
|
/*CD*/ GENx___x___x___ ,
|
|
/*CE*/ GENx___x___x___ ,
|
|
/*CF*/ GENx___x___x___ ,
|
|
/*D0*/ GENx37Xx390x900 (translate_and_test_reverse,SS_L,"TRTR"),
|
|
/*D1*/ GENx370x390x900 (move_numerics,SS_L,"MVN"),
|
|
/*D2*/ GENx370x390x900 (move_character,SS_L,"MVC"),
|
|
/*D3*/ GENx370x390x900 (move_zones,SS_L,"MVZ"),
|
|
/*D4*/ GENx370x390x900 (and_character,SS_L,"NC"),
|
|
/*D5*/ GENx370x390x900 (compare_logical_character,SS_L,"CLC"),
|
|
/*D6*/ GENx370x390x900 (or_character,SS_L,"OC"),
|
|
/*D7*/ GENx370x390x900 (exclusive_or_character,SS_L,"XC"),
|
|
/*D8*/ GENx___x___x___ ,
|
|
/*D9*/ GENx370x390x900 (move_with_key,SS_R3,"MVCK"),
|
|
/*DA*/ GENx370x390x900 (move_to_primary,SS_R3,"MVCP"),
|
|
/*DB*/ GENx370x390x900 (move_to_secondary,SS_R3,"MVCS"),
|
|
/*DC*/ GENx370x390x900 (translate,SS_L,"TR"),
|
|
/*DD*/ GENx370x390x900 (translate_and_test,SS_L,"TRT"),
|
|
/*DE*/ GENx370x390x900 (edit_x_edit_and_mark,SS_L,"ED"),
|
|
/*DF*/ GENx370x390x900 (edit_x_edit_and_mark,SS_L,"EDMK"),
|
|
/*E0*/ GENx___x___x___ ,
|
|
/*E1*/ GENx37Xx390x900 (pack_unicode,SS_L2,"PKU"),
|
|
/*E2*/ GENx37Xx390x900 (unpack_unicode,SS_L,"UNPKU"),
|
|
/*E3*/ GENx370x390x900 (execute_opcode_e3________xx,e3xx,""),
|
|
/*E4*/ GENx370x390x900 (execute_opcode_e4xx,e4xx,""),
|
|
/*E5*/ GENx370x390x900 (execute_opcode_e5xx,e5xx,""),
|
|
/*E6*/ GENx370x390x900 (execute_opcode_e6xx,e6xx,""),
|
|
/*E7*/ GENx___x___x___ ,
|
|
/*E8*/ GENx370x390x900 (move_inverse,SS_L,"MVCIN"),
|
|
/*E9*/ GENx37Xx390x900 (pack_ascii,SS_L2,"PKA"),
|
|
/*EA*/ GENx37Xx390x900 (unpack_ascii,SS_L,"UNPKA"),
|
|
/*EB*/ GENx370x390x900 (execute_opcode_eb________xx,ebxx,""),
|
|
/*EC*/ GENx370x390x900 (execute_opcode_ec________xx,ecxx,""),
|
|
/*ED*/ GENx370x390x900 (execute_opcode_ed________xx,edxx,""),
|
|
/*EE*/ GENx___x390x900 (perform_locked_operation,SS_RSRS,"PLO"),
|
|
/*EF*/ GENx___x___x900 (load_multiple_disjoint,SS_R,"LMD"),
|
|
/*F0*/ GENx370x390x900 (shift_and_round_decimal,SS_I,"SRP"),
|
|
/*F1*/ GENx370x390x900 (move_with_offset,SS,"MVO"),
|
|
/*F2*/ GENx370x390x900 (pack,SS,"PACK"),
|
|
/*F3*/ GENx370x390x900 (unpack,SS,"UNPK"),
|
|
/*F4*/ GENx___x___x___ ,
|
|
/*F5*/ GENx___x___x___ ,
|
|
/*F6*/ GENx___x___x___ ,
|
|
/*F7*/ GENx___x___x___ ,
|
|
/*F8*/ GENx370x390x900 (zero_and_add,SS,"ZAP"),
|
|
/*F9*/ GENx370x390x900 (compare_decimal,SS,"CP"),
|
|
/*FA*/ GENx370x390x900 (add_decimal,SS,"AP"),
|
|
/*FB*/ GENx370x390x900 (subtract_decimal,SS,"SP"),
|
|
/*FC*/ GENx370x390x900 (multiply_decimal,SS,"MP"),
|
|
/*FD*/ GENx370x390x900 (divide_decimal,SS,"DP"),
|
|
/*FE*/ GENx___x___x___ ,
|
|
/*FF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func opcode_01xx[0x100][GEN_MAXARCH] = {
|
|
/*0100*/ GENx___x___x___ ,
|
|
/*0101*/ GENx___x390x900 (program_return,E,"PR"),
|
|
/*0102*/ GENx___x390x900 (update_tree,E,"UPT"),
|
|
/*0103*/ GENx___x___x___ ,
|
|
/*0104*/ GENx___x___x900 (perform_timing_facility_function,E,"PTFF"),
|
|
/*0105*/ GENx___x___x___ , /*(clear_message,?,"CMSG"),*/
|
|
/*0106*/ GENx___x___x___ , /*(test_message,?,"TMSG"),*/
|
|
/*0107*/ GENx___x390x900 (set_clock_programmable_field,E,"SCKPF"),
|
|
/*0108*/ GENx___x___x___ , /*(test_message_path_state,?,"TMPS"),*/
|
|
/*0109*/ GENx___x___x___ , /*(clear_message_path_state,?,"CMPS"),*/
|
|
/*010A*/ GENx___x390x900 (perform_floating_point_operation,E,"PFPO"),
|
|
/*010B*/ GENx___x390x900 (test_addressing_mode,E,"TAM"),
|
|
/*010C*/ GENx___x390x900 (set_addressing_mode_24,E,"SAM24"),
|
|
/*010D*/ GENx___x390x900 (set_addressing_mode_31,E,"SAM31"),
|
|
/*010E*/ GENx___x___x900 (set_addressing_mode_64,E,"SAM64"),
|
|
/*010F*/ GENx___x___x___ ,
|
|
/*0110*/ GENx___x___x___ ,
|
|
/*0111*/ GENx___x___x___ ,
|
|
/*0112*/ GENx___x___x___ ,
|
|
/*0113*/ GENx___x___x___ ,
|
|
/*0114*/ GENx___x___x___ ,
|
|
/*0115*/ GENx___x___x___ ,
|
|
/*0116*/ GENx___x___x___ ,
|
|
/*0117*/ GENx___x___x___ ,
|
|
/*0118*/ GENx___x___x___ ,
|
|
/*0119*/ GENx___x___x___ ,
|
|
/*011A*/ GENx___x___x___ ,
|
|
/*011B*/ GENx___x___x___ ,
|
|
/*011C*/ GENx___x___x___ ,
|
|
/*011D*/ GENx___x___x___ ,
|
|
/*011E*/ GENx___x___x___ ,
|
|
/*011F*/ GENx___x___x___ ,
|
|
/*0120*/ GENx___x___x___ ,
|
|
/*0121*/ GENx___x___x___ ,
|
|
/*0122*/ GENx___x___x___ ,
|
|
/*0123*/ GENx___x___x___ ,
|
|
/*0124*/ GENx___x___x___ ,
|
|
/*0125*/ GENx___x___x___ ,
|
|
/*0126*/ GENx___x___x___ ,
|
|
/*0127*/ GENx___x___x___ ,
|
|
/*0128*/ GENx___x___x___ ,
|
|
/*0129*/ GENx___x___x___ ,
|
|
/*012A*/ GENx___x___x___ ,
|
|
/*012B*/ GENx___x___x___ ,
|
|
/*012C*/ GENx___x___x___ ,
|
|
/*012D*/ GENx___x___x___ ,
|
|
/*012E*/ GENx___x___x___ ,
|
|
/*012F*/ GENx___x___x___ ,
|
|
/*0130*/ GENx___x___x___ ,
|
|
/*0131*/ GENx___x___x___ ,
|
|
/*0132*/ GENx___x___x___ ,
|
|
/*0133*/ GENx___x___x___ ,
|
|
/*0134*/ GENx___x___x___ ,
|
|
/*0135*/ GENx___x___x___ ,
|
|
/*0136*/ GENx___x___x___ ,
|
|
/*0137*/ GENx___x___x___ ,
|
|
/*0138*/ GENx___x___x___ ,
|
|
/*0139*/ GENx___x___x___ ,
|
|
/*013A*/ GENx___x___x___ ,
|
|
/*013B*/ GENx___x___x___ ,
|
|
/*013C*/ GENx___x___x___ ,
|
|
/*013D*/ GENx___x___x___ ,
|
|
/*013E*/ GENx___x___x___ ,
|
|
/*013F*/ GENx___x___x___ ,
|
|
/*0140*/ GENx___x___x___ ,
|
|
/*0141*/ GENx___x___x___ ,
|
|
/*0142*/ GENx___x___x___ ,
|
|
/*0143*/ GENx___x___x___ ,
|
|
/*0144*/ GENx___x___x___ ,
|
|
/*0145*/ GENx___x___x___ ,
|
|
/*0146*/ GENx___x___x___ ,
|
|
/*0147*/ GENx___x___x___ ,
|
|
/*0148*/ GENx___x___x___ ,
|
|
/*0149*/ GENx___x___x___ ,
|
|
/*014A*/ GENx___x___x___ ,
|
|
/*014B*/ GENx___x___x___ ,
|
|
/*014C*/ GENx___x___x___ ,
|
|
/*014D*/ GENx___x___x___ ,
|
|
/*014E*/ GENx___x___x___ ,
|
|
/*014F*/ GENx___x___x___ ,
|
|
/*0150*/ GENx___x___x___ ,
|
|
/*0151*/ GENx___x___x___ ,
|
|
/*0152*/ GENx___x___x___ ,
|
|
/*0153*/ GENx___x___x___ ,
|
|
/*0154*/ GENx___x___x___ ,
|
|
/*0155*/ GENx___x___x___ ,
|
|
/*0156*/ GENx___x___x___ ,
|
|
/*0157*/ GENx___x___x___ ,
|
|
/*0158*/ GENx___x___x___ ,
|
|
/*0159*/ GENx___x___x___ ,
|
|
/*015A*/ GENx___x___x___ ,
|
|
/*015B*/ GENx___x___x___ ,
|
|
/*015C*/ GENx___x___x___ ,
|
|
/*015D*/ GENx___x___x___ ,
|
|
/*015E*/ GENx___x___x___ ,
|
|
/*015F*/ GENx___x___x___ ,
|
|
/*0160*/ GENx___x___x___ ,
|
|
/*0161*/ GENx___x___x___ ,
|
|
/*0162*/ GENx___x___x___ ,
|
|
/*0163*/ GENx___x___x___ ,
|
|
/*0164*/ GENx___x___x___ ,
|
|
/*0165*/ GENx___x___x___ ,
|
|
/*0166*/ GENx___x___x___ ,
|
|
/*0167*/ GENx___x___x___ ,
|
|
/*0168*/ GENx___x___x___ ,
|
|
/*0169*/ GENx___x___x___ ,
|
|
/*016A*/ GENx___x___x___ ,
|
|
/*016B*/ GENx___x___x___ ,
|
|
/*016C*/ GENx___x___x___ ,
|
|
/*016D*/ GENx___x___x___ ,
|
|
/*016E*/ GENx___x___x___ ,
|
|
/*016F*/ GENx___x___x___ ,
|
|
/*0170*/ GENx___x___x___ ,
|
|
/*0171*/ GENx___x___x___ ,
|
|
/*0172*/ GENx___x___x___ ,
|
|
/*0173*/ GENx___x___x___ ,
|
|
/*0174*/ GENx___x___x___ ,
|
|
/*0175*/ GENx___x___x___ ,
|
|
/*0176*/ GENx___x___x___ ,
|
|
/*0177*/ GENx___x___x___ ,
|
|
/*0178*/ GENx___x___x___ ,
|
|
/*0179*/ GENx___x___x___ ,
|
|
/*017A*/ GENx___x___x___ ,
|
|
/*017B*/ GENx___x___x___ ,
|
|
/*017C*/ GENx___x___x___ ,
|
|
/*017D*/ GENx___x___x___ ,
|
|
/*017E*/ GENx___x___x___ ,
|
|
/*017F*/ GENx___x___x___ ,
|
|
/*0180*/ GENx___x___x___ ,
|
|
/*0181*/ GENx___x___x___ ,
|
|
/*0182*/ GENx___x___x___ ,
|
|
/*0183*/ GENx___x___x___ ,
|
|
/*0184*/ GENx___x___x___ ,
|
|
/*0185*/ GENx___x___x___ ,
|
|
/*0186*/ GENx___x___x___ ,
|
|
/*0187*/ GENx___x___x___ ,
|
|
/*0188*/ GENx___x___x___ ,
|
|
/*0189*/ GENx___x___x___ ,
|
|
/*018A*/ GENx___x___x___ ,
|
|
/*018B*/ GENx___x___x___ ,
|
|
/*018C*/ GENx___x___x___ ,
|
|
/*018D*/ GENx___x___x___ ,
|
|
/*018E*/ GENx___x___x___ ,
|
|
/*018F*/ GENx___x___x___ ,
|
|
/*0190*/ GENx___x___x___ ,
|
|
/*0191*/ GENx___x___x___ ,
|
|
/*0192*/ GENx___x___x___ ,
|
|
/*0193*/ GENx___x___x___ ,
|
|
/*0194*/ GENx___x___x___ ,
|
|
/*0195*/ GENx___x___x___ ,
|
|
/*0196*/ GENx___x___x___ ,
|
|
/*0197*/ GENx___x___x___ ,
|
|
/*0198*/ GENx___x___x___ ,
|
|
/*0199*/ GENx___x___x___ ,
|
|
/*019A*/ GENx___x___x___ ,
|
|
/*019B*/ GENx___x___x___ ,
|
|
/*019C*/ GENx___x___x___ ,
|
|
/*019D*/ GENx___x___x___ ,
|
|
/*019E*/ GENx___x___x___ ,
|
|
/*019F*/ GENx___x___x___ ,
|
|
/*01A0*/ GENx___x___x___ ,
|
|
/*01A1*/ GENx___x___x___ ,
|
|
/*01A2*/ GENx___x___x___ ,
|
|
/*01A3*/ GENx___x___x___ ,
|
|
/*01A4*/ GENx___x___x___ ,
|
|
/*01A5*/ GENx___x___x___ ,
|
|
/*01A6*/ GENx___x___x___ ,
|
|
/*01A7*/ GENx___x___x___ ,
|
|
/*01A8*/ GENx___x___x___ ,
|
|
/*01A9*/ GENx___x___x___ ,
|
|
/*01AA*/ GENx___x___x___ ,
|
|
/*01AB*/ GENx___x___x___ ,
|
|
/*01AC*/ GENx___x___x___ ,
|
|
/*01AD*/ GENx___x___x___ ,
|
|
/*01AE*/ GENx___x___x___ ,
|
|
/*01AF*/ GENx___x___x___ ,
|
|
/*01B0*/ GENx___x___x___ ,
|
|
/*01B1*/ GENx___x___x___ ,
|
|
/*01B2*/ GENx___x___x___ ,
|
|
/*01B3*/ GENx___x___x___ ,
|
|
/*01B4*/ GENx___x___x___ ,
|
|
/*01B5*/ GENx___x___x___ ,
|
|
/*01B6*/ GENx___x___x___ ,
|
|
/*01B7*/ GENx___x___x___ ,
|
|
/*01B8*/ GENx___x___x___ ,
|
|
/*01B9*/ GENx___x___x___ ,
|
|
/*01BA*/ GENx___x___x___ ,
|
|
/*01BB*/ GENx___x___x___ ,
|
|
/*01BC*/ GENx___x___x___ ,
|
|
/*01BD*/ GENx___x___x___ ,
|
|
/*01BE*/ GENx___x___x___ ,
|
|
/*01BF*/ GENx___x___x___ ,
|
|
/*01C0*/ GENx___x___x___ ,
|
|
/*01C1*/ GENx___x___x___ ,
|
|
/*01C2*/ GENx___x___x___ ,
|
|
/*01C3*/ GENx___x___x___ ,
|
|
/*01C4*/ GENx___x___x___ ,
|
|
/*01C5*/ GENx___x___x___ ,
|
|
/*01C6*/ GENx___x___x___ ,
|
|
/*01C7*/ GENx___x___x___ ,
|
|
/*01C8*/ GENx___x___x___ ,
|
|
/*01C9*/ GENx___x___x___ ,
|
|
/*01CA*/ GENx___x___x___ ,
|
|
/*01CB*/ GENx___x___x___ ,
|
|
/*01CC*/ GENx___x___x___ ,
|
|
/*01CD*/ GENx___x___x___ ,
|
|
/*01CE*/ GENx___x___x___ ,
|
|
/*01CF*/ GENx___x___x___ ,
|
|
/*01D0*/ GENx___x___x___ ,
|
|
/*01D1*/ GENx___x___x___ ,
|
|
/*01D2*/ GENx___x___x___ ,
|
|
/*01D3*/ GENx___x___x___ ,
|
|
/*01D4*/ GENx___x___x___ ,
|
|
/*01D5*/ GENx___x___x___ ,
|
|
/*01D6*/ GENx___x___x___ ,
|
|
/*01D7*/ GENx___x___x___ ,
|
|
/*01D8*/ GENx___x___x___ ,
|
|
/*01D9*/ GENx___x___x___ ,
|
|
/*01DA*/ GENx___x___x___ ,
|
|
/*01DB*/ GENx___x___x___ ,
|
|
/*01DC*/ GENx___x___x___ ,
|
|
/*01DD*/ GENx___x___x___ ,
|
|
/*01DE*/ GENx___x___x___ ,
|
|
/*01DF*/ GENx___x___x___ ,
|
|
/*01E0*/ GENx___x___x___ ,
|
|
/*01E1*/ GENx___x___x___ ,
|
|
/*01E2*/ GENx___x___x___ ,
|
|
/*01E3*/ GENx___x___x___ ,
|
|
/*01E4*/ GENx___x___x___ ,
|
|
/*01E5*/ GENx___x___x___ ,
|
|
/*01E6*/ GENx___x___x___ ,
|
|
/*01E7*/ GENx___x___x___ ,
|
|
/*01E8*/ GENx___x___x___ ,
|
|
/*01E9*/ GENx___x___x___ ,
|
|
/*01EA*/ GENx___x___x___ ,
|
|
/*01EB*/ GENx___x___x___ ,
|
|
/*01EC*/ GENx___x___x___ ,
|
|
/*01ED*/ GENx___x___x___ ,
|
|
/*01EE*/ GENx___x___x___ ,
|
|
/*01EF*/ GENx___x___x___ ,
|
|
/*01F0*/ GENx___x___x___ ,
|
|
/*01F1*/ GENx___x___x___ ,
|
|
/*01F2*/ GENx___x___x___ ,
|
|
/*01F3*/ GENx___x___x___ ,
|
|
/*01F4*/ GENx___x___x___ ,
|
|
/*01F5*/ GENx___x___x___ ,
|
|
/*01F6*/ GENx___x___x___ ,
|
|
/*01F7*/ GENx___x___x___ ,
|
|
/*01F8*/ GENx___x___x___ ,
|
|
/*01F9*/ GENx___x___x___ ,
|
|
/*01FA*/ GENx___x___x___ ,
|
|
/*01FB*/ GENx___x___x___ ,
|
|
/*01FC*/ GENx___x___x___ ,
|
|
/*01FD*/ GENx___x___x___ ,
|
|
/*01FE*/ GENx___x___x___ ,
|
|
/*01FF*/ GENx___x390x900 (trap2,E,"TRAP2") };
|
|
|
|
|
|
static zz_func opcode_a5_x[0x10][GEN_MAXARCH] = {
|
|
/*A5x0*/ GENx___x___x900 (insert_immediate_high_high,RI,"IIHH"),
|
|
/*A5x1*/ GENx___x___x900 (insert_immediate_high_low,RI,"IIHL"),
|
|
/*A5x2*/ GENx___x___x900 (insert_immediate_low_high,RI,"IILH"),
|
|
/*A5x3*/ GENx___x___x900 (insert_immediate_low_low,RI,"IILL"),
|
|
/*A5x4*/ GENx___x___x900 (and_immediate_high_high,RI,"NIHH"),
|
|
/*A5x5*/ GENx___x___x900 (and_immediate_high_low,RI,"NIHL"),
|
|
/*A5x6*/ GENx___x___x900 (and_immediate_low_high,RI,"NILH"),
|
|
/*A5x7*/ GENx___x___x900 (and_immediate_low_low,RI,"NILL"),
|
|
/*A5x8*/ GENx___x___x900 (or_immediate_high_high,RI,"OIHH"),
|
|
/*A5x9*/ GENx___x___x900 (or_immediate_high_low,RI,"OIHL"),
|
|
/*A5xA*/ GENx___x___x900 (or_immediate_low_high,RI,"OILH"),
|
|
/*A5xB*/ GENx___x___x900 (or_immediate_low_low,RI,"OILL"),
|
|
/*A5xC*/ GENx___x___x900 (load_logical_immediate_high_high,RI,"LLIHH"),
|
|
/*A5xD*/ GENx___x___x900 (load_logical_immediate_high_low,RI,"LLIHL"),
|
|
/*A5xE*/ GENx___x___x900 (load_logical_immediate_low_high,RI,"LLILH"),
|
|
/*A5xF*/ GENx___x___x900 (load_logical_immediate_low_low,RI,"LLILL") } ;
|
|
|
|
|
|
static zz_func opcode_a7_x[0x10][GEN_MAXARCH] = {
|
|
/*A7x0*/ GENx37Xx390x900 (test_under_mask_high,RI,"TMLH"),
|
|
/*A7x1*/ GENx37Xx390x900 (test_under_mask_low,RI,"TMLL"),
|
|
/*A7x2*/ GENx___x___x900 (test_under_mask_high_high,RI,"TMHH"),
|
|
/*A7x3*/ GENx___x___x900 (test_under_mask_high_low,RI,"TMHL"),
|
|
/*A7x4*/ GENx37Xx390x900 (branch_relative_on_condition,RI_B,"BRC"),
|
|
/*A7x5*/ GENx37Xx390x900 (branch_relative_and_save,RI_B,"BRAS"),
|
|
/*A7x6*/ GENx37Xx390x900 (branch_relative_on_count,RI_B,"BRCT"),
|
|
/*A7x7*/ GENx___x___x900 (branch_relative_on_count_long,RI_B,"BRCTG"),
|
|
/*A7x8*/ GENx37Xx390x900 (load_halfword_immediate,RI,"LHI"),
|
|
/*A7x9*/ GENx___x___x900 (load_long_halfword_immediate,RI,"LGHI"),
|
|
/*A7xA*/ GENx37Xx390x900 (add_halfword_immediate,RI,"AHI"),
|
|
/*A7xB*/ GENx___x___x900 (add_long_halfword_immediate,RI,"AGHI"),
|
|
/*A7xC*/ GENx37Xx390x900 (multiply_halfword_immediate,RI,"MHI"),
|
|
/*A7xD*/ GENx___x___x900 (multiply_long_halfword_immediate,RI,"MGHI"),
|
|
/*A7xE*/ GENx37Xx390x900 (compare_halfword_immediate,RI,"CHI"),
|
|
/*A7xF*/ GENx___x___x900 (compare_long_halfword_immediate,RI,"CGHI") };
|
|
|
|
|
|
static zz_func opcode_b2xx[0x100][GEN_MAXARCH] = {
|
|
/*B200*/ GENx370x390x900 (connect_channel_set,S,"CONCS"),
|
|
/*B201*/ GENx370x390x900 (disconnect_channel_set,S,"DISCS"),
|
|
/*B202*/ GENx370x390x900 (store_cpu_id,S,"STIDP"),
|
|
/*B203*/ GENx370x390x900 (store_channel_id,S,"STIDC"),
|
|
/*B204*/ GENx370x390x900 (set_clock,S,"SCK"),
|
|
/*B205*/ GENx370x390x900 (store_clock,S,"STCK"),
|
|
/*B206*/ GENx370x390x900 (set_clock_comparator,S,"SCKC"),
|
|
/*B207*/ GENx370x390x900 (store_clock_comparator,S,"STCKC"),
|
|
/*B208*/ GENx370x390x900 (set_cpu_timer,S,"SPT"),
|
|
/*B209*/ GENx370x390x900 (store_cpu_timer,S,"STPT"),
|
|
/*B20A*/ GENx370x390x900 (set_psw_key_from_address,S,"SPKA"),
|
|
/*B20B*/ GENx370x390x900 (insert_psw_key,none,"IPK"),
|
|
/*B20C*/ GENx___x___x___ ,
|
|
/*B20D*/ GENx370x390x900 (purge_translation_lookaside_buffer,none,"PTLB"),
|
|
/*B20E*/ GENx___x___x___ ,
|
|
/*B20F*/ GENx___x___x___ ,
|
|
/*B210*/ GENx370x390x900 (set_prefix,S,"SPX"),
|
|
/*B211*/ GENx370x390x900 (store_prefix,S,"STPX"),
|
|
/*B212*/ GENx370x390x900 (store_cpu_address,S,"STAP"),
|
|
/*B213*/ GENx370x___x___ (reset_reference_bit,S,"RRB"),
|
|
/*B214*/ GENx___x390x900 (start_interpretive_execution,S,"SIE"),
|
|
/*B215*/ GENx___x___x___ ,
|
|
/*B216*/ GENx___x___x___ , /*%SETR/SSYN */
|
|
/*B217*/ GENx___x___x___ , /*%STETR/STSYN */
|
|
/*B218*/ GENx370x390x900 (program_call,S,"PC"),
|
|
/*B219*/ GENx370x390x900 (set_address_space_control,S,"SAC"),
|
|
/*B21A*/ GENx___x390x900 (compare_and_form_codeword,S,"CFC"),
|
|
/*B21B*/ GENx___x___x___ ,
|
|
/*B21C*/ GENx___x___x___ ,
|
|
/*B21D*/ GENx___x___x___ ,
|
|
/*B21E*/ GENx___x___x___ ,
|
|
/*B21F*/ GENx___x___x___ ,
|
|
/*B220*/ GENx___x390x900 (service_call,RRE,"SERVC"),
|
|
/*B221*/ GENx370x390x900 (invalidate_page_table_entry,RRR,"IPTE"),
|
|
/*B222*/ GENx370x390x900 (insert_program_mask,RRE_R1,"IPM"),
|
|
/*B223*/ GENx370x390x900 (insert_virtual_storage_key,RRE,"IVSK"),
|
|
/*B224*/ GENx370x390x900 (insert_address_space_control,RRE_R1,"IAC"),
|
|
/*B225*/ GENx370x390x900 (set_secondary_asn,RRE_R1,"SSAR"),
|
|
/*B226*/ GENx370x390x900 (extract_primary_asn,RRE_R1,"EPAR"),
|
|
/*B227*/ GENx370x390x900 (extract_secondary_asn,RRE_R1,"ESAR"),
|
|
/*B228*/ GENx370x390x900 (program_transfer,RRE,"PT"),
|
|
/*B229*/ GENx370x390x900 (insert_storage_key_extended,RRE,"ISKE"),
|
|
/*B22A*/ GENx370x390x900 (reset_reference_bit_extended,RRE,"RRBE"),
|
|
/*B22B*/ GENx370x390x900 (set_storage_key_extended,RRF_M,"SSKE"),
|
|
/*B22C*/ GENx370x390x900 (test_block,RRE,"TB"),
|
|
/*B22D*/ GENx370x390x900 (divide_float_ext_reg,RRE,"DXR"),
|
|
/*B22E*/ GENx___x390x900 (page_in,RRE,"PGIN"),
|
|
/*B22F*/ GENx___x390x900 (page_out,RRE,"PGOUT"),
|
|
/*B230*/ GENx___x390x900 (clear_subchannel,none,"CSCH"),
|
|
/*B231*/ GENx___x390x900 (halt_subchannel,none,"HSCH"),
|
|
/*B232*/ GENx___x390x900 (modify_subchannel,S,"MSCH"),
|
|
/*B233*/ GENx___x390x900 (start_subchannel,S,"SSCH"),
|
|
/*B234*/ GENx___x390x900 (store_subchannel,S,"STSCH"),
|
|
/*B235*/ GENx___x390x900 (test_subchannel,S,"TSCH"),
|
|
/*B236*/ GENx___x390x900 (test_pending_interruption,S,"TPI"),
|
|
/*B237*/ GENx___x390x900 (set_address_limit,none,"SAL"),
|
|
/*B238*/ GENx___x390x900 (resume_subchannel,none,"RSCH"),
|
|
/*B239*/ GENx___x390x900 (store_channel_report_word,S,"STCRW"),
|
|
/*B23A*/ GENx___x390x900 (store_channel_path_status,S,"STCPS"),
|
|
/*B23B*/ GENx___x390x900 (reset_channel_path,none,"RCHP"),
|
|
/*B23C*/ GENx___x390x900 (set_channel_monitor,none,"SCHM"),
|
|
/*B23D*/ GENx___x390x900 (store_zone_parameter,S,"STZP"),
|
|
/*B23E*/ GENx___x390x900 (set_zone_parameter,S,"SZP"),
|
|
/*B23F*/ GENx___x390x900 (test_pending_zone_interrupt,S,"TPZI"),
|
|
/*B240*/ GENx___x390x900 (branch_and_stack,RRE,"BAKR"),
|
|
/*B241*/ GENx37Xx390x900 (checksum,RRE,"CKSM"),
|
|
/*B242*/ GENx___x___x___ , /**Add FRR */
|
|
/*B243*/ GENx___x___x___ , /*#MA */
|
|
/*B244*/ GENx37Xx390x900 (squareroot_float_long_reg,RRE,"SQDR"),
|
|
/*B245*/ GENx37Xx390x900 (squareroot_float_short_reg,RRE,"SQER"),
|
|
/*B246*/ GENx___x390x900 (store_using_real_address,RRE,"STURA"),
|
|
/*B247*/ GENx___x390x900 (modify_stacked_state,RRE_R1,"MSTA"),
|
|
/*B248*/ GENx___x390x900 (purge_accesslist_lookaside_buffer,none,"PALB"),
|
|
/*B249*/ GENx___x390x900 (extract_stacked_registers,RRE,"EREG"),
|
|
/*B24A*/ GENx___x390x900 (extract_stacked_state,RRE,"ESTA"),
|
|
/*B24B*/ GENx___x390x900 (load_using_real_address,RRE,"LURA"),
|
|
/*B24C*/ GENx___x390x900 (test_access,RRE,"TAR"),
|
|
/*B24D*/ GENx___x390x900 (copy_access,RRE,"CPYA"),
|
|
/*B24E*/ GENx___x390x900 (set_access_register,RRE,"SAR"),
|
|
/*B24F*/ GENx___x390x900 (extract_access_register,RRE,"EAR"),
|
|
/*B250*/ GENx___x390x900 (compare_and_swap_and_purge,RRE,"CSP"),
|
|
/*B251*/ GENx___x___x___ ,
|
|
/*B252*/ GENx37Xx390x900 (multiply_single_register,RRE,"MSR"),
|
|
/*B253*/ GENx___x___x___ ,
|
|
/*B254*/ GENx___x390x900 (move_page,RRE,"MVPG"),
|
|
/*B255*/ GENx37Xx390x900 (move_string,RRE,"MVST"),
|
|
/*B256*/ GENx___x___x___ ,
|
|
/*B257*/ GENx37Xx390x900 (compare_until_substring_equal,RRE,"CUSE"),
|
|
/*B258*/ GENx___x390x900 (branch_in_subspace_group,RRE,"BSG"),
|
|
/*B259*/ GENx___x390x900 (invalidate_expanded_storage_block_entry,RRE,"IESBE"),
|
|
/*B25A*/ GENx___x390x900 (branch_and_set_authority,RRE,"BSA"),
|
|
/*B25B*/ GENx___x___x___ , /*%PGXIN */
|
|
/*B25C*/ GENx___x___x___ , /*%PGXOUT */
|
|
/*B25D*/ GENx37Xx390x900 (compare_logical_string,RRE,"CLST"),
|
|
/*B25E*/ GENx37Xx390x900 (search_string,RRE,"SRST"),
|
|
/*B25F*/ GENx___x390x900 (channel_subsystem_call,RRE,"CHSC"),
|
|
/*B260*/ GENx___x___x___ , /* Sysplex */
|
|
/*B261*/ GENx___x___x___ , /* Sysplex */
|
|
/*B262*/ GENx___x390x900 (lock_page,RRE,"LKPG"),
|
|
/*B263*/ GENx37Xx390x900 (cmpsc_2012,RRE,"CMPSC"),
|
|
/*B264*/ GENx___x___x___ , /* Sysplex */
|
|
/*B265*/ GENx___x___x900 (set_vector_summary,RRE,"SVS"), /* */
|
|
/*B266*/ GENx___x___x___ , /* Sysplex */
|
|
/*B267*/ GENx___x___x___ , /* Sysplex */
|
|
/*B268*/ GENx___x___x___ , /*(define_vector,?,"DV"),*/ /* Sysplex */
|
|
/*B269*/ GENx___x___x___ , /* Crypto */
|
|
/*B26A*/ GENx___x___x___ , /* Crypto */
|
|
/*B26B*/ GENx___x___x___ , /* Crypto */
|
|
/*B26C*/ GENx___x___x___ , /* Crypto */
|
|
/*B26D*/ GENx___x___x___ , /* Crypto */
|
|
/*B26E*/ GENx___x___x___ , /* Crypto */
|
|
/*B26F*/ GENx___x___x___ , /* Crypto */
|
|
/*B270*/ GENx___x___x___ , /*%SPCS */
|
|
/*B271*/ GENx___x___x___ , /*%STPCS */
|
|
/*B272*/ GENx___x___x___ , /* Sysplex */
|
|
/*B273*/ GENx___x___x___ ,
|
|
/*B274*/ GENx___x390x900 (signal_adapter,S,"SIGA"),
|
|
/*B275*/ GENx___x___x___ ,
|
|
/*B276*/ GENx___x390x900 (cancel_subchannel,none,"XSCH"),
|
|
/*B277*/ GENx___x390x900 (resume_program,S,"RP"),
|
|
/*B278*/ GENx___x390x900 (store_clock_extended,S,"STCKE"),
|
|
/*B279*/ GENx___x390x900 (set_address_space_control_fast,S,"SACF"),
|
|
/*B27A*/ GENx___x___x___ , /* Sysplex */
|
|
/*B27B*/ GENx___x___x___ , /* TFF/Sysplx*/
|
|
/*B27C*/ GENx___x___x900 (store_clock_fast,S,"STCKF"),
|
|
/*B27D*/ GENx370x390x900 (store_system_information,S,"STSI"),
|
|
/*B27E*/ GENx___x___x___ , /* Sysplex */
|
|
/*B27F*/ GENx___x___x___ , /* Sysplex */
|
|
/*B280*/ GENx___x___x900 (load_program_parameter,S,"LPP"), /* LPPF */
|
|
/*B281*/ GENx___x___x___ , /*#LN S */
|
|
/*B282*/ GENx___x___x___ , /*#EXP L */
|
|
/*B283*/ GENx___x___x___ , /*#EXP S */
|
|
/*B284*/ GENx___x___x900 (load_cpu_counter_set_controls,S,"LCCTL"), /* CMCF */
|
|
/*B285*/ GENx___x___x900 (load_peripheral_counter_set_controls,S,"LPCTL"), /* CMCF */
|
|
/*B286*/ GENx___x___x900 (query_sampling_information,S,"QSI"), /* CMCF */
|
|
/*B287*/ GENx___x___x900 (load_sampling_controls,S,"LSCTL"), /* CMCF */
|
|
/*B288*/ GENx___x___x___ , /*#SIN L */
|
|
/*B289*/ GENx___x___x___ , /*#SIN S */
|
|
/*B28A*/ GENx___x___x___ , /*#COS L */
|
|
/*B28B*/ GENx___x___x___ , /*#COS S */
|
|
/*B28C*/ GENx___x___x___ ,
|
|
/*B28D*/ GENx___x___x___ ,
|
|
/*B28E*/ GENx___x___x900 (query_counter_information,S,"QCTRI"), /* CMCF */
|
|
/*B28F*/ GENx___x___x___ ,
|
|
/*B290*/ GENx___x___x___ ,
|
|
/*B291*/ GENx___x___x___ ,
|
|
/*B292*/ GENx___x___x___ ,
|
|
/*B293*/ GENx___x___x___ ,
|
|
/*B294*/ GENx___x___x___ , /*#ARCTAN L */
|
|
/*B295*/ GENx___x___x___ , /*#ARCTAN S */
|
|
/*B296*/ GENx___x___x___ ,
|
|
/*B297*/ GENx___x___x___ ,
|
|
/*B298*/ GENx___x___x___ ,
|
|
/*B299*/ GENx37Xx390x900 (set_bfp_rounding_mode_2bit,S,"SRNM"),
|
|
/*B29A*/ GENx___x___x___ ,
|
|
/*B29B*/ GENx___x___x___ ,
|
|
/*B29C*/ GENx37Xx390x900 (store_fpc,S,"STFPC"),
|
|
/*B29D*/ GENx37Xx390x900 (load_fpc,S,"LFPC"),
|
|
/*B29E*/ GENx___x___x___ ,
|
|
/*B29F*/ GENx___x___x___ ,
|
|
/*B2A0*/ GENx___x___x___ ,
|
|
/*B2A1*/ GENx___x___x___ ,
|
|
/*B2A2*/ GENx___x___x___ ,
|
|
/*B2A3*/ GENx___x___x___ ,
|
|
/*B2A4*/ GENx___x___x___ , /*(move_channel_buffer_data_multiple,?,"MCBDM"),*//*Sysplex*/
|
|
/*B2A5*/ GENx37Xx390x900 (translate_extended,RRE,"TRE"),
|
|
/*B2A6*/ GENx37Xx390x900 (convert_utf16_to_utf8,RRF_M3,"CU21 (CUUTF)"),
|
|
/*B2A7*/ GENx37Xx390x900 (convert_utf8_to_utf16,RRF_M3,"CU12 (CUTFU)"),
|
|
/*B2A8*/ GENx___x___x___ , /* Sysplex */
|
|
/*B2A9*/ GENx___x___x___ ,
|
|
/*B2AA*/ GENx___x___x___ ,
|
|
/*B2AB*/ GENx___x___x___ ,
|
|
/*B2AC*/ GENx___x___x___ ,
|
|
/*B2AD*/ GENx___x___x___ ,
|
|
/*B2AE*/ GENx___x___x___ ,
|
|
/*B2AF*/ GENx___x___x___ ,
|
|
/*B2B0*/ GENx___x390x900 (store_facility_list_extended,S,"STFLE"), /*!SARCH */ /*@Z9*/
|
|
/*B2B1*/ GENx___x390x900 (store_facility_list,S,"STFL"),
|
|
/*B2B2*/ GENx___x___x900 (load_program_status_word_extended,S,"LPSWE"),
|
|
/*B2B3*/ GENx___x___x___ , /*(store_etr_attachment_information,?,"STEAI"),*/
|
|
/*B2B4*/ GENx___x___x___ ,
|
|
/*B2B5*/ GENx___x___x___ ,
|
|
/*B2B6*/ GENx___x___x___ ,
|
|
/*B2B7*/ GENx___x___x___ ,
|
|
/*B2B8*/ GENx37Xx390x900 (set_bfp_rounding_mode_3bit,S,"SRNMB"), /*810*/
|
|
/*B2B9*/ GENx___x390x900 (set_dfp_rounding_mode,S,"SRNMT"),
|
|
/*B2BA*/ GENx___x___x___ ,
|
|
/*B2BB*/ GENx___x___x___ ,
|
|
/*B2BC*/ GENx___x___x___ ,
|
|
/*B2BD*/ GENx37Xx390x900 (load_fpc_and_signal,S,"LFAS"),
|
|
/*B2BE*/ GENx___x___x___ ,
|
|
/*B2BF*/ GENx___x___x___ ,
|
|
/*B2C0*/ GENx___x___x___ , /*$ADRN */
|
|
/*B2C1*/ GENx___x___x___ , /*$AERN */
|
|
/*B2C2*/ GENx___x___x___ , /*$SDRN */
|
|
/*B2C3*/ GENx___x___x___ , /*$SERN */
|
|
/*B2C4*/ GENx___x___x___ , /*$MDRN */
|
|
/*B2C5*/ GENx___x___x___ , /*$MERN */
|
|
/*B2C6*/ GENx___x___x___ , /*$DDRN */
|
|
/*B2C7*/ GENx___x___x___ , /*$DERN */
|
|
/*B2C8*/ GENx___x___x___ , /*$LERN */
|
|
/*B2C9*/ GENx___x___x___ ,
|
|
/*B2CA*/ GENx___x___x___ ,
|
|
/*B2CB*/ GENx___x___x___ ,
|
|
/*B2CC*/ GENx___x___x___ ,
|
|
/*B2CD*/ GENx___x___x___ ,
|
|
/*B2CE*/ GENx___x___x___ ,
|
|
/*B2CF*/ GENx___x___x___ ,
|
|
/*B2D0*/ GENx___x___x___ , /*$AACDR */
|
|
/*B2D1*/ GENx___x___x___ , /*$AACER */
|
|
/*B2D2*/ GENx___x___x___ , /*$SACDR */
|
|
/*B2D3*/ GENx___x___x___ , /*$SACER */
|
|
/*B2D4*/ GENx___x___x___ , /*$MACD */
|
|
/*B2D5*/ GENx___x___x___ ,
|
|
/*B2D6*/ GENx___x___x___ , /*$RACD */
|
|
/*B2D7*/ GENx___x___x___ , /*$RACE */
|
|
/*B2D8*/ GENx___x___x___ , /*$AACAC */
|
|
/*B2D9*/ GENx___x___x___ , /*$SACAC */
|
|
/*B2DA*/ GENx___x___x___ , /*$CLAC */
|
|
/*B2DB*/ GENx___x___x___ ,
|
|
/*B2DC*/ GENx___x___x___ ,
|
|
/*B2DD*/ GENx___x___x___ ,
|
|
/*B2DE*/ GENx___x___x___ ,
|
|
/*B2DF*/ GENx___x___x___ ,
|
|
/*B2E0*/ GENx___x___x900 (set_cpu_counter,RRE,"SCCTR"), /* CMCF */
|
|
/*B2E1*/ GENx___x___x900 (set_peripheral_counter,RRE,"SPCTR"), /* CMCF */
|
|
/*B2E2*/ GENx___x___x___ ,
|
|
/*B2E3*/ GENx___x___x___ ,
|
|
/*B2E4*/ GENx___x___x900 (extract_cpu_counter,RRE,"ECCTR"), /* CMCF */
|
|
/*B2E5*/ GENx___x___x900 (extract_peripheral_counter,RRE,"EPCTR"), /* CMCF */
|
|
/*B2E6*/ GENx___x___x___ ,
|
|
/*B2E7*/ GENx___x___x___ ,
|
|
/*B2E8*/ GENx___x___x___ ,
|
|
/*B2E9*/ GENx___x___x___ ,
|
|
/*B2EA*/ GENx___x___x___ ,
|
|
/*B2EB*/ GENx___x___x___ ,
|
|
/*B2EC*/ GENx___x___x___ ,
|
|
/*B2ED*/ GENx___x___x900 (extract_coprocessor_group_address,RRE,"ECPGA"), /* CMCF */
|
|
/*B2EE*/ GENx___x___x___ ,
|
|
/*B2EF*/ GENx___x___x___ ,
|
|
/*B2F0*/ GENx370x390x900 (inter_user_communication_vehicle,S,"IUCV"),
|
|
/*B2F1*/ GENx___x___x___ , /* Sysplex */
|
|
/*B2F2*/ GENx___x___x___ ,
|
|
/*B2F3*/ GENx___x___x___ ,
|
|
/*B2F4*/ GENx___x___x___ ,
|
|
/*B2F5*/ GENx___x___x___ ,
|
|
/*B2F6*/ GENx___x___x___ , /* Sysplex */
|
|
/*B2F7*/ GENx___x___x___ ,
|
|
/*B2F8*/ GENx___x___x___ ,
|
|
/*B2F9*/ GENx___x___x___ ,
|
|
/*B2FA*/ GENx___x___x___ ,
|
|
/*B2FB*/ GENx___x___x___ ,
|
|
/*B2FC*/ GENx___x___x___ ,
|
|
/*B2FD*/ GENx___x___x___ ,
|
|
/*B2FE*/ GENx___x___x___ ,
|
|
/*B2FF*/ GENx___x390x900 (trap4,S,"TRAP4") };
|
|
|
|
|
|
static zz_func opcode_b3xx[0x100][GEN_MAXARCH] = {
|
|
/*B300*/ GENx37Xx390x900 (load_positive_bfp_short_reg,RRE,"LPEBR"),
|
|
/*B301*/ GENx37Xx390x900 (load_negative_bfp_short_reg,RRE,"LNEBR"),
|
|
/*B302*/ GENx37Xx390x900 (load_and_test_bfp_short_reg,RRE,"LTEBR"),
|
|
/*B303*/ GENx37Xx390x900 (load_complement_bfp_short_reg,RRE,"LCEBR"),
|
|
/*B304*/ GENx37Xx390x900 (load_lengthened_bfp_short_to_long_reg,RRE,"LDEBR"),
|
|
/*B305*/ GENx37Xx390x900 (load_lengthened_bfp_long_to_ext_reg,RRE,"LXDBR"),
|
|
/*B306*/ GENx37Xx390x900 (load_lengthened_bfp_short_to_ext_reg,RRE,"LXEBR"),
|
|
/*B307*/ GENx37Xx390x900 (multiply_bfp_long_to_ext_reg,RRE,"MXDBR"),
|
|
/*B308*/ GENx37Xx390x900 (compare_and_signal_bfp_short_reg,RRE,"KEBR"),
|
|
/*B309*/ GENx37Xx390x900 (compare_bfp_short_reg,RRE,"CEBR"),
|
|
/*B30A*/ GENx37Xx390x900 (add_bfp_short_reg,RRE,"AEBR"),
|
|
/*B30B*/ GENx37Xx390x900 (subtract_bfp_short_reg,RRE,"SEBR"),
|
|
/*B30C*/ GENx37Xx390x900 (multiply_bfp_short_to_long_reg,RRE,"MDEBR"),
|
|
/*B30D*/ GENx37Xx390x900 (divide_bfp_short_reg,RRE,"DEBR"),
|
|
/*B30E*/ GENx37Xx390x900 (multiply_add_bfp_short_reg,RRF_R,"MAEBR"),
|
|
/*B30F*/ GENx37Xx390x900 (multiply_subtract_bfp_short_reg,RRF_R,"MSEBR"),
|
|
/*B310*/ GENx37Xx390x900 (load_positive_bfp_long_reg,RRE,"LPDBR"),
|
|
/*B311*/ GENx37Xx390x900 (load_negative_bfp_long_reg,RRE,"LNDBR"),
|
|
/*B312*/ GENx37Xx390x900 (load_and_test_bfp_long_reg,RRE,"LTDBR"),
|
|
/*B313*/ GENx37Xx390x900 (load_complement_bfp_long_reg,RRE,"LCDBR"),
|
|
/*B314*/ GENx37Xx390x900 (squareroot_bfp_short_reg,RRE,"SQEBR"),
|
|
/*B315*/ GENx37Xx390x900 (squareroot_bfp_long_reg,RRE,"SQDBR"),
|
|
/*B316*/ GENx37Xx390x900 (squareroot_bfp_ext_reg,RRE,"SQXBR"),
|
|
/*B317*/ GENx37Xx390x900 (multiply_bfp_short_reg,RRE,"MEEBR"),
|
|
/*B318*/ GENx37Xx390x900 (compare_and_signal_bfp_long_reg,RRE,"KDBR"),
|
|
/*B319*/ GENx37Xx390x900 (compare_bfp_long_reg,RRE,"CDBR"),
|
|
/*B31A*/ GENx37Xx390x900 (add_bfp_long_reg,RRE,"ADBR"),
|
|
/*B31B*/ GENx37Xx390x900 (subtract_bfp_long_reg,RRE,"SDBR"),
|
|
/*B31C*/ GENx37Xx390x900 (multiply_bfp_long_reg,RRE,"MDBR"),
|
|
/*B31D*/ GENx37Xx390x900 (divide_bfp_long_reg,RRE,"DDBR"),
|
|
/*B31E*/ GENx37Xx390x900 (multiply_add_bfp_long_reg,RRF_R,"MADBR"),
|
|
/*B31F*/ GENx37Xx390x900 (multiply_subtract_bfp_long_reg,RRF_R,"MSDBR"),
|
|
/*B320*/ GENx___x___x___ ,
|
|
/*B321*/ GENx___x___x___ ,
|
|
/*B322*/ GENx___x___x___ ,
|
|
/*B323*/ GENx___x___x___ ,
|
|
/*B324*/ GENx37Xx390x900 (load_lengthened_float_short_to_long_reg,RRE,"LDER"),
|
|
/*B325*/ GENx37Xx390x900 (load_lengthened_float_long_to_ext_reg,RRE,"LXDR"),
|
|
/*B326*/ GENx37Xx390x900 (load_lengthened_float_short_to_ext_reg,RRE,"LXER"),
|
|
/*B327*/ GENx___x___x___ ,
|
|
/*B328*/ GENx___x___x___ ,
|
|
/*B329*/ GENx___x___x___ ,
|
|
/*B32A*/ GENx___x___x___ ,
|
|
/*B32B*/ GENx___x___x___ ,
|
|
/*B32C*/ GENx___x___x___ ,
|
|
/*B32D*/ GENx___x___x___ ,
|
|
/*B32E*/ GENx37Xx390x900 (multiply_add_float_short_reg,RRF_R,"MAER"),
|
|
/*B32F*/ GENx37Xx390x900 (multiply_subtract_float_short_reg,RRF_R,"MSER"),
|
|
/*B330*/ GENx___x___x___ ,
|
|
/*B331*/ GENx___x___x___ ,
|
|
/*B332*/ GENx___x___x___ ,
|
|
/*B333*/ GENx___x___x___ ,
|
|
/*B334*/ GENx___x___x___ ,
|
|
/*B335*/ GENx___x___x___ ,
|
|
/*B336*/ GENx37Xx390x900 (squareroot_float_ext_reg,RRE,"SQXR"),
|
|
/*B337*/ GENx37Xx390x900 (multiply_float_short_reg,RRE,"MEER"),
|
|
/*B338*/ GENx37Xx___x900 (multiply_add_unnormal_float_long_to_ext_low_reg,RRF_R,"MAYLR"), /*@Z9*/
|
|
/*B339*/ GENx37Xx___x900 (multiply_unnormal_float_long_to_ext_low_reg,RRF_R,"MYLR"), /*@Z9*/
|
|
/*B33A*/ GENx37Xx___x900 (multiply_add_unnormal_float_long_to_ext_reg,RRF_R,"MAYR"), /*@Z9*/
|
|
/*B33B*/ GENx37Xx___x900 (multiply_unnormal_float_long_to_ext_reg,RRF_R,"MYR"), /*@Z9*/
|
|
/*B33C*/ GENx37Xx___x900 (multiply_add_unnormal_float_long_to_ext_high_reg,RRF_R,"MAYHR"), /*@Z9*/
|
|
/*B33D*/ GENx37Xx___x900 (multiply_unnormal_float_long_to_ext_high_reg,RRF_R,"MYHR"), /*@Z9*/
|
|
/*B33E*/ GENx37Xx390x900 (multiply_add_float_long_reg,RRF_R,"MADR"),
|
|
/*B33F*/ GENx37Xx390x900 (multiply_subtract_float_long_reg,RRF_R,"MSDR"),
|
|
/*B340*/ GENx37Xx390x900 (load_positive_bfp_ext_reg,RRE,"LPXBR"),
|
|
/*B341*/ GENx37Xx390x900 (load_negative_bfp_ext_reg,RRE,"LNXBR"),
|
|
/*B342*/ GENx37Xx390x900 (load_and_test_bfp_ext_reg,RRE,"LTXBR"),
|
|
/*B343*/ GENx37Xx390x900 (load_complement_bfp_ext_reg,RRE,"LCXBR"),
|
|
/*B344*/ GENx37Xx390x900 (load_rounded_bfp_long_to_short_reg,RRE,"LEDBR"),
|
|
/*B345*/ GENx37Xx390x900 (load_rounded_bfp_ext_to_long_reg,RRE,"LDXBR"),
|
|
/*B346*/ GENx37Xx390x900 (load_rounded_bfp_ext_to_short_reg,RRE,"LEXBR"),
|
|
/*B347*/ GENx37Xx390x900 (load_fp_int_bfp_ext_reg,RRF_M,"FIXBR"),
|
|
/*B348*/ GENx37Xx390x900 (compare_and_signal_bfp_ext_reg,RRE,"KXBR"),
|
|
/*B349*/ GENx37Xx390x900 (compare_bfp_ext_reg,RRE,"CXBR"),
|
|
/*B34A*/ GENx37Xx390x900 (add_bfp_ext_reg,RRE,"AXBR"),
|
|
/*B34B*/ GENx37Xx390x900 (subtract_bfp_ext_reg,RRE,"SXBR"),
|
|
/*B34C*/ GENx37Xx390x900 (multiply_bfp_ext_reg,RRE,"MXBR"),
|
|
/*B34D*/ GENx37Xx390x900 (divide_bfp_ext_reg,RRE,"DXBR"),
|
|
/*B34E*/ GENx___x___x___ ,
|
|
/*B34F*/ GENx___x___x___ ,
|
|
/*B350*/ GENx37Xx390x900 (convert_float_long_to_bfp_short_reg,RRF_M,"TBEDR"),
|
|
/*B351*/ GENx37Xx390x900 (convert_float_long_to_bfp_long_reg,RRF_M,"TBDR"),
|
|
/*B352*/ GENx___x___x___ ,
|
|
/*B353*/ GENx37Xx390x900 (divide_integer_bfp_short_reg,RRF_RM,"DIEBR"),
|
|
/*B354*/ GENx___x___x___ ,
|
|
/*B355*/ GENx___x___x___ ,
|
|
/*B356*/ GENx___x___x___ ,
|
|
/*B357*/ GENx37Xx390x900 (load_fp_int_bfp_short_reg,RRF_M,"FIEBR"),
|
|
/*B358*/ GENx37Xx390x900 (convert_bfp_short_to_float_long_reg,RRE,"THDER"),
|
|
/*B359*/ GENx37Xx390x900 (convert_bfp_long_to_float_long_reg,RRE,"THDR"),
|
|
/*B35A*/ GENx___x___x___ ,
|
|
/*B35B*/ GENx37Xx390x900 (divide_integer_bfp_long_reg,RRF_RM,"DIDBR"),
|
|
/*B35C*/ GENx___x___x___ ,
|
|
/*B35D*/ GENx___x___x___ ,
|
|
/*B35E*/ GENx___x___x___ ,
|
|
/*B35F*/ GENx37Xx390x900 (load_fp_int_bfp_long_reg,RRF_M,"FIDBR"),
|
|
/*B360*/ GENx37Xx390x900 (load_positive_float_ext_reg,RRE,"LPXR"),
|
|
/*B361*/ GENx37Xx390x900 (load_negative_float_ext_reg,RRE,"LNXR"),
|
|
/*B362*/ GENx37Xx390x900 (load_and_test_float_ext_reg,RRE,"LTXR"),
|
|
/*B363*/ GENx37Xx390x900 (load_complement_float_ext_reg,RRE,"LCXR"),
|
|
/*B364*/ GENx___x___x___ ,
|
|
/*B365*/ GENx37Xx390x900 (load_float_ext_reg,RRE,"LXR"),
|
|
/*B366*/ GENx37Xx390x900 (load_rounded_float_ext_to_short_reg,RRE,"LEXR"),
|
|
/*B367*/ GENx37Xx390x900 (load_fp_int_float_ext_reg,RRE,"FIXR"),
|
|
/*B368*/ GENx___x___x___ ,
|
|
/*B369*/ GENx37Xx390x900 (compare_float_ext_reg,RRE,"CXR"),
|
|
/*B36A*/ GENx___x___x___ ,
|
|
/*B36B*/ GENx___x___x___ ,
|
|
/*B36C*/ GENx___x___x___ ,
|
|
/*B36D*/ GENx___x___x___ ,
|
|
/*B36E*/ GENx___x___x___ ,
|
|
/*B36F*/ GENx___x___x___ ,
|
|
/*B370*/ GENx37Xx390x900 (load_positive_fpr_long_reg,RRE,"LPDFR"),
|
|
/*B371*/ GENx37Xx390x900 (load_negative_fpr_long_reg,RRE,"LNDFR"),
|
|
/*B372*/ GENx37Xx390x900 (copy_sign_fpr_long_reg,RRF_M,"CPSDR"),
|
|
/*B373*/ GENx37Xx390x900 (load_complement_fpr_long_reg,RRE,"LCDFR"),
|
|
/*B374*/ GENx37Xx390x900 (load_zero_float_short_reg,RRE_R1,"LZER"),
|
|
/*B375*/ GENx37Xx390x900 (load_zero_float_long_reg,RRE_R1,"LZDR"),
|
|
/*B376*/ GENx37Xx390x900 (load_zero_float_ext_reg,RRE_R1,"LZXR"),
|
|
/*B377*/ GENx37Xx390x900 (load_fp_int_float_short_reg,RRE,"FIER"),
|
|
/*B378*/ GENx___x___x___ ,
|
|
/*B379*/ GENx___x___x___ ,
|
|
/*B37A*/ GENx___x___x___ ,
|
|
/*B37B*/ GENx___x___x___ ,
|
|
/*B37C*/ GENx___x___x___ ,
|
|
/*B37D*/ GENx___x___x___ ,
|
|
/*B37E*/ GENx___x___x___ ,
|
|
/*B37F*/ GENx37Xx390x900 (load_fp_int_float_long_reg,RRE,"FIDR"),
|
|
/*B380*/ GENx___x___x___ ,
|
|
/*B381*/ GENx___x___x___ ,
|
|
/*B382*/ GENx___x___x___ ,
|
|
/*B383*/ GENx___x___x___ ,
|
|
/*B384*/ GENx37Xx390x900 (set_fpc,RRE_R1,"SFPC"),
|
|
/*B385*/ GENx37Xx390x900 (set_fpc_and_signal,RRE_R1,"SFASR"),
|
|
/*B386*/ GENx___x___x___ ,
|
|
/*B387*/ GENx___x___x___ ,
|
|
/*B388*/ GENx___x___x___ ,
|
|
/*B389*/ GENx___x___x___ ,
|
|
/*B38A*/ GENx___x___x___ ,
|
|
/*B38B*/ GENx___x___x___ ,
|
|
/*B38C*/ GENx37Xx390x900 (extract_fpc,RRE_R1,"EFPC"),
|
|
/*B38D*/ GENx___x___x___ ,
|
|
/*B38E*/ GENx___x___x___ ,
|
|
/*B38F*/ GENx___x___x___ ,
|
|
/*B390*/ GENx37Xx390x900 (convert_u32_to_bfp_short_reg,RRF_MM,"CELFBR"), /*810*/
|
|
/*B391*/ GENx37Xx390x900 (convert_u32_to_bfp_long_reg,RRF_MM,"CDLFBR"), /*810*/
|
|
/*B392*/ GENx37Xx390x900 (convert_u32_to_bfp_ext_reg,RRF_MM,"CXLFBR"), /*810*/
|
|
/*B393*/ GENx___x___x___ ,
|
|
/*B394*/ GENx37Xx390x900 (convert_fix32_to_bfp_short_reg,RRE,"CEFBR"),
|
|
/*B395*/ GENx37Xx390x900 (convert_fix32_to_bfp_long_reg,RRE,"CDFBR"),
|
|
/*B396*/ GENx37Xx390x900 (convert_fix32_to_bfp_ext_reg,RRE,"CXFBR"),
|
|
/*B397*/ GENx___x___x___ ,
|
|
/*B398*/ GENx37Xx390x900 (convert_bfp_short_to_fix32_reg,RRF_M,"CFEBR"),
|
|
/*B399*/ GENx37Xx390x900 (convert_bfp_long_to_fix32_reg,RRF_M,"CFDBR"),
|
|
/*B39A*/ GENx37Xx390x900 (convert_bfp_ext_to_fix32_reg,RRF_M,"CFXBR"),
|
|
/*B39B*/ GENx___x___x___ ,
|
|
/*B39C*/ GENx37Xx390x900 (convert_bfp_short_to_u32_reg,RRF_MM,"CLFEBR"), /*810*/
|
|
/*B39D*/ GENx37Xx390x900 (convert_bfp_long_to_u32_reg,RRF_MM,"CLFDBR"), /*810*/
|
|
/*B39E*/ GENx37Xx390x900 (convert_bfp_ext_to_u32_reg,RRF_MM,"CLFXBR"), /*810*/
|
|
/*B39F*/ GENx___x___x___ ,
|
|
/*B3A0*/ GENx___x___x900 (convert_u64_to_bfp_short_reg,RRF_MM,"CELGBR"), /*810*/
|
|
/*B3A1*/ GENx___x___x900 (convert_u64_to_bfp_long_reg,RRF_MM,"CDLGBR"), /*810*/
|
|
/*B3A2*/ GENx___x___x900 (convert_u64_to_bfp_ext_reg,RRF_MM,"CXLGBR"), /*810*/
|
|
/*B3A3*/ GENx___x___x___ ,
|
|
/*B3A4*/ GENx___x___x900 (convert_fix64_to_bfp_short_reg,RRE,"CEGBR"),
|
|
/*B3A5*/ GENx___x___x900 (convert_fix64_to_bfp_long_reg,RRE,"CDGBR"),
|
|
/*B3A6*/ GENx___x___x900 (convert_fix64_to_bfp_ext_reg,RRE,"CXGBR"),
|
|
/*B3A7*/ GENx___x___x___ ,
|
|
/*B3A8*/ GENx___x___x900 (convert_bfp_short_to_fix64_reg,RRF_M,"CGEBR"),
|
|
/*B3A9*/ GENx___x___x900 (convert_bfp_long_to_fix64_reg,RRF_M,"CGDBR"),
|
|
/*B3AA*/ GENx___x___x900 (convert_bfp_ext_to_fix64_reg,RRF_M,"CGXBR"),
|
|
/*B3AB*/ GENx___x___x___ ,
|
|
/*B3AC*/ GENx___x___x900 (convert_bfp_short_to_u64_reg,RRF_MM,"CLGEBR"), /*810*/
|
|
/*B3AD*/ GENx___x___x900 (convert_bfp_long_to_u64_reg,RRF_MM,"CLGDBR"), /*810*/
|
|
/*B3AE*/ GENx___x___x900 (convert_bfp_ext_to_u64_reg,RRF_MM,"CLGXBR"), /*810*/
|
|
/*B3AF*/ GENx___x___x___ ,
|
|
/*B3B0*/ GENx___x___x___ ,
|
|
/*B3B1*/ GENx___x___x___ ,
|
|
/*B3B2*/ GENx___x___x___ ,
|
|
/*B3B3*/ GENx___x___x___ ,
|
|
/*B3B4*/ GENx37Xx390x900 (convert_fixed_to_float_short_reg,RRE,"CEFR"),
|
|
/*B3B5*/ GENx37Xx390x900 (convert_fixed_to_float_long_reg,RRE,"CDFR"),
|
|
/*B3B6*/ GENx37Xx390x900 (convert_fixed_to_float_ext_reg,RRE,"CXFR"),
|
|
/*B3B7*/ GENx___x___x___ ,
|
|
/*B3B8*/ GENx37Xx390x900 (convert_float_short_to_fixed_reg,RRF_M,"CFER"),
|
|
/*B3B9*/ GENx37Xx390x900 (convert_float_long_to_fixed_reg,RRF_M,"CFDR"),
|
|
/*B3BA*/ GENx37Xx390x900 (convert_float_ext_to_fixed_reg,RRF_M,"CFXR"),
|
|
/*B3BB*/ GENx___x___x___ ,
|
|
/*B3BC*/ GENx___x___x___ ,
|
|
/*B3BD*/ GENx___x___x___ ,
|
|
/*B3BE*/ GENx___x___x___ ,
|
|
/*B3BF*/ GENx___x___x___ ,
|
|
/*B3C0*/ GENx___x___x___ ,
|
|
/*B3C1*/ GENx___x___x900 (load_fpr_from_gr_long_reg,RRE,"LDGR"),
|
|
/*B3C2*/ GENx___x___x___ ,
|
|
/*B3C3*/ GENx___x___x___ ,
|
|
/*B3C4*/ GENx___x___x900 (convert_fix64_to_float_short_reg,RRE,"CEGR"),
|
|
/*B3C5*/ GENx___x___x900 (convert_fix64_to_float_long_reg,RRE,"CDGR"),
|
|
/*B3C6*/ GENx___x___x900 (convert_fix64_to_float_ext_reg,RRE,"CXGR"),
|
|
/*B3C7*/ GENx___x___x___ ,
|
|
/*B3C8*/ GENx___x___x900 (convert_float_short_to_fix64_reg,RRF_M,"CGER"),
|
|
/*B3C9*/ GENx___x___x900 (convert_float_long_to_fix64_reg,RRF_M,"CGDR"),
|
|
/*B3CA*/ GENx___x___x900 (convert_float_ext_to_fix64_reg,RRF_M,"CGXR"),
|
|
/*B3CB*/ GENx___x___x___ ,
|
|
/*B3CC*/ GENx___x___x___ ,
|
|
/*B3CD*/ GENx___x___x900 (load_gr_from_fpr_long_reg,RRE,"LGDR"),
|
|
/*B3CE*/ GENx___x___x___ ,
|
|
/*B3CF*/ GENx___x___x___ ,
|
|
/*B3D0*/ GENx___x390x900 (multiply_dfp_long_reg,RRR,"MDTR"),
|
|
/*B3D1*/ GENx___x390x900 (divide_dfp_long_reg,RRR,"DDTR"),
|
|
/*B3D2*/ GENx___x390x900 (add_dfp_long_reg,RRR,"ADTR"),
|
|
/*B3D3*/ GENx___x390x900 (subtract_dfp_long_reg,RRR,"SDTR"),
|
|
/*B3D4*/ GENx___x390x900 (load_lengthened_dfp_short_to_long_reg,RRF_M4,"LDETR"),
|
|
/*B3D5*/ GENx___x390x900 (load_rounded_dfp_long_to_short_reg,RRF_MM,"LEDTR"),
|
|
/*B3D6*/ GENx___x390x900 (load_and_test_dfp_long_reg,RRE,"LTDTR"),
|
|
/*B3D7*/ GENx___x390x900 (load_fp_int_dfp_long_reg,RRF_MM,"FIDTR"),
|
|
/*B3D8*/ GENx___x390x900 (multiply_dfp_ext_reg,RRR,"MXTR"),
|
|
/*B3D9*/ GENx___x390x900 (divide_dfp_ext_reg,RRR,"DXTR"),
|
|
/*B3DA*/ GENx___x390x900 (add_dfp_ext_reg,RRR,"AXTR"),
|
|
/*B3DB*/ GENx___x390x900 (subtract_dfp_ext_reg,RRR,"SXTR"),
|
|
/*B3DC*/ GENx___x390x900 (load_lengthened_dfp_long_to_ext_reg,RRF_M4,"LXDTR"),
|
|
/*B3DD*/ GENx___x390x900 (load_rounded_dfp_ext_to_long_reg,RRF_MM,"LDXTR"),
|
|
/*B3DE*/ GENx___x390x900 (load_and_test_dfp_ext_reg,RRE,"LTXTR"),
|
|
/*B3DF*/ GENx___x390x900 (load_fp_int_dfp_ext_reg,RRF_MM,"FIXTR"),
|
|
/*B3E0*/ GENx___x390x900 (compare_and_signal_dfp_long_reg,RRE,"KDTR"),
|
|
/*B3E1*/ GENx___x390x900 (convert_dfp_long_to_fix64_reg,RRF_M,"CGDTR"),
|
|
/*B3E2*/ GENx___x390x900 (convert_dfp_long_to_ubcd64_reg,RRE,"CUDTR"),
|
|
/*B3E3*/ GENx___x390x900 (convert_dfp_long_to_sbcd64_reg,RRF_M4,"CSDTR"),
|
|
/*B3E4*/ GENx___x390x900 (compare_dfp_long_reg,RRE,"CDTR"),
|
|
/*B3E5*/ GENx___x390x900 (extract_biased_exponent_dfp_long_to_fix64_reg,RRE,"EEDTR"),
|
|
/*B3E6*/ GENx___x___x___ ,
|
|
/*B3E7*/ GENx___x390x900 (extract_significance_dfp_long_reg,RRE,"ESDTR"),
|
|
/*B3E8*/ GENx___x390x900 (compare_and_signal_dfp_ext_reg,RRE,"KXTR"),
|
|
/*B3E9*/ GENx___x390x900 (convert_dfp_ext_to_fix64_reg,RRF_M,"CGXTR"),
|
|
/*B3EA*/ GENx___x390x900 (convert_dfp_ext_to_ubcd128_reg,RRE,"CUXTR"),
|
|
/*B3EB*/ GENx___x390x900 (convert_dfp_ext_to_sbcd128_reg,RRF_M4,"CSXTR"),
|
|
/*B3EC*/ GENx___x390x900 (compare_dfp_ext_reg,RRE,"CXTR"),
|
|
/*B3ED*/ GENx___x390x900 (extract_biased_exponent_dfp_ext_to_fix64_reg,RRE,"EEXTR"),
|
|
/*B3EE*/ GENx___x___x___ ,
|
|
/*B3EF*/ GENx___x390x900 (extract_significance_dfp_ext_reg,RRE,"ESXTR"),
|
|
/*B3F0*/ GENx___x___x___ ,
|
|
/*B3F1*/ GENx___x390x900 (convert_fix64_to_dfp_long_reg,RRE,"CDGTR"),
|
|
/*B3F2*/ GENx___x390x900 (convert_ubcd64_to_dfp_long_reg,RRE,"CDUTR"),
|
|
/*B3F3*/ GENx___x390x900 (convert_sbcd64_to_dfp_long_reg,RRE,"CDSTR"),
|
|
/*B3F4*/ GENx___x390x900 (compare_exponent_dfp_long_reg,RRE,"CEDTR"),
|
|
/*B3F5*/ GENx___x390x900 (quantize_dfp_long_reg,RRF_RM,"QADTR"),
|
|
/*B3F6*/ GENx___x390x900 (insert_biased_exponent_fix64_to_dfp_long_reg,RRF_M,"IEDTR"),
|
|
/*B3F7*/ GENx___x390x900 (reround_dfp_long_reg,RRF_RM,"RRDTR"),
|
|
/*B3F8*/ GENx___x___x___ ,
|
|
/*B3F9*/ GENx___x390x900 (convert_fix64_to_dfp_ext_reg,RRE,"CXGTR"),
|
|
/*B3FA*/ GENx___x390x900 (convert_ubcd128_to_dfp_ext_reg,RRE,"CXUTR"),
|
|
/*B3FB*/ GENx___x390x900 (convert_sbcd128_to_dfp_ext_reg,RRE,"CXSTR"),
|
|
/*B3FC*/ GENx___x390x900 (compare_exponent_dfp_ext_reg,RRE,"CEXTR"),
|
|
/*B3FD*/ GENx___x390x900 (quantize_dfp_ext_reg,RRF_RM,"QAXTR"),
|
|
/*B3FE*/ GENx___x390x900 (insert_biased_exponent_fix64_to_dfp_ext_reg,RRF_M,"IEXTR"),
|
|
/*B3FF*/ GENx___x390x900 (reround_dfp_ext_reg,RRF_RM,"RRXTR") };
|
|
|
|
|
|
static zz_func opcode_b9xx[0x100][GEN_MAXARCH] = {
|
|
/*B900*/ GENx___x___x900 (load_positive_long_register,RRE,"LPGR"),
|
|
/*B901*/ GENx___x___x900 (load_negative_long_register,RRE,"LNGR"),
|
|
/*B902*/ GENx___x___x900 (load_and_test_long_register,RRE,"LTGR"),
|
|
/*B903*/ GENx___x___x900 (load_complement_long_register,RRE,"LCGR"),
|
|
/*B904*/ GENx___x___x900 (load_long_register,RRE,"LGR"),
|
|
/*B905*/ GENx___x___x900 (load_using_real_address_long,RRE,"LURAG"),
|
|
/*B906*/ GENx___x___x900 (load_long_byte_register,RRE,"LGBR"), /*@Z9*/
|
|
/*B907*/ GENx___x___x900 (load_long_halfword_register,RRE,"LGHR"), /*@Z9*/
|
|
/*B908*/ GENx___x___x900 (add_long_register,RRE,"AGR"),
|
|
/*B909*/ GENx___x___x900 (subtract_long_register,RRE,"SGR"),
|
|
/*B90A*/ GENx___x___x900 (add_logical_long_register,RRE,"ALGR"),
|
|
/*B90B*/ GENx___x___x900 (subtract_logical_long_register,RRE,"SLGR"),
|
|
/*B90C*/ GENx___x___x900 (multiply_single_long_register,RRE,"MSGR"),
|
|
/*B90D*/ GENx___x___x900 (divide_single_long_register,RRE,"DSGR"),
|
|
/*B90E*/ GENx___x___x900 (extract_stacked_registers_long,RRE,"EREGG"),
|
|
/*B90F*/ GENx___x___x900 (load_reversed_long_register,RRE,"LRVGR"),
|
|
/*B910*/ GENx___x___x900 (load_positive_long_fullword_register,RRE,"LPGFR"),
|
|
/*B911*/ GENx___x___x900 (load_negative_long_fullword_register,RRE,"LNGFR"),
|
|
/*B912*/ GENx___x___x900 (load_and_test_long_fullword_register,RRE,"LTGFR"),
|
|
/*B913*/ GENx___x___x900 (load_complement_long_fullword_register,RRE,"LCGFR"),
|
|
/*B914*/ GENx___x___x900 (load_long_fullword_register,RRE,"LGFR"),
|
|
/*B915*/ GENx___x___x___ ,
|
|
/*B916*/ GENx___x___x900 (load_logical_long_fullword_register,RRE,"LLGFR"),
|
|
/*B917*/ GENx___x___x900 (load_logical_long_thirtyone_register,RRE,"LLGTR"),
|
|
/*B918*/ GENx___x___x900 (add_long_fullword_register,RRE,"AGFR"),
|
|
/*B919*/ GENx___x___x900 (subtract_long_fullword_register,RRE,"SGFR"),
|
|
/*B91A*/ GENx___x___x900 (add_logical_long_fullword_register,RRE,"ALGFR"),
|
|
/*B91B*/ GENx___x___x900 (subtract_logical_long_fullword_register,RRE,"SLGFR"),
|
|
/*B91C*/ GENx___x___x900 (multiply_single_long_fullword_register,RRE,"MSGFR"),
|
|
/*B91D*/ GENx___x___x900 (divide_single_long_fullword_register,RRE,"DSGFR"),
|
|
/*B91E*/ GENx37Xx390x900 (compute_message_authentication_code,RRE,"KMAC"),
|
|
/*B91F*/ GENx___x390x900 (load_reversed_register,RRE,"LRVR"),
|
|
/*B920*/ GENx___x___x900 (compare_long_register,RRE,"CGR"),
|
|
/*B921*/ GENx___x___x900 (compare_logical_long_register,RRE,"CLGR"),
|
|
/*B922*/ GENx___x___x___ ,
|
|
/*B923*/ GENx___x___x___ ,
|
|
/*B924*/ GENx___x___x___ ,
|
|
/*B925*/ GENx___x___x900 (store_using_real_address_long,RRE,"STURG"),
|
|
/*B926*/ GENx37Xx390x900 (load_byte_register,RRE,"LBR"), /*@Z9*/
|
|
/*B927*/ GENx37Xx390x900 (load_halfword_register,RRE,"LHR"), /*@Z9*/
|
|
/*B928*/ GENx37Xx390x900 (perform_cryptographic_key_management_operation,RRE,"PCKMO"), /*810*/
|
|
/*B929*/ GENx___x___x___ ,
|
|
/*B92A*/ GENx37Xx390x900 (cipher_message_with_cipher_feedback,RRE,"KMF"), /*810*/
|
|
/*B92B*/ GENx37Xx390x900 (cipher_message_with_output_feedback,RRE,"KMO"), /*810*/
|
|
/*B92C*/ GENx37Xx390x900 (perform_cryptographic_computation,none,"PCC"), /*810*/
|
|
/*B92D*/ GENx37Xx390x900 (cipher_message_with_counter,RRF_M,"KMCTR"), /*810*/
|
|
/*B92E*/ GENx37Xx390x900 (cipher_message,RRE,"KM"),
|
|
/*B92F*/ GENx37Xx390x900 (cipher_message_with_chaining,RRE,"KMC"),
|
|
/*B930*/ GENx___x___x900 (compare_long_fullword_register,RRE,"CGFR"),
|
|
/*B931*/ GENx___x___x900 (compare_logical_long_fullword_register,RRE,"CLGFR"),
|
|
/*B932*/ GENx___x___x___ ,
|
|
/*B933*/ GENx___x___x___ ,
|
|
/*B934*/ GENx___x___x___ ,
|
|
/*B935*/ GENx___x___x___ ,
|
|
/*B936*/ GENx___x___x___ ,
|
|
/*B937*/ GENx___x___x___ ,
|
|
/*B938*/ GENx___x___x___ ,
|
|
/*B939*/ GENx___x___x___ ,
|
|
/*B93A*/ GENx___x___x___ ,
|
|
/*B93B*/ GENx___x___x___ ,
|
|
/*B93C*/ GENx___x___x___ ,
|
|
/*B93D*/ GENx___x___x___ ,
|
|
/*B93E*/ GENx37Xx390x900 (compute_intermediate_message_digest,RRE,"KIMD"),
|
|
/*B93F*/ GENx37Xx390x900 (compute_last_message_digest,RRE,"KLMD"),
|
|
/*B940*/ GENx___x___x___ ,
|
|
/*B941*/ GENx___x390x900 (convert_dfp_long_to_fix32_reg,RRF_MM,"CFDTR"), /*810*/
|
|
/*B942*/ GENx___x___x900 (convert_dfp_long_to_u64_reg,RRF_MM,"CLGDTR"), /*810*/
|
|
/*B943*/ GENx___x390x900 (convert_dfp_long_to_u32_reg,RRF_MM,"CLFDTR"), /*810*/
|
|
/*B944*/ GENx___x___x___ ,
|
|
/*B945*/ GENx___x___x___ ,
|
|
/*B946*/ GENx___x___x900 (branch_on_count_long_register,RRE,"BCTGR"),
|
|
/*B947*/ GENx___x___x___ ,
|
|
/*B948*/ GENx___x___x___ ,
|
|
/*B949*/ GENx___x390x900 (convert_dfp_ext_to_fix32_reg,RRF_MM,"CFXTR"), /*810*/
|
|
/*B94A*/ GENx___x___x900 (convert_dfp_ext_to_u64_reg,RRF_MM,"CLGXTR"), /*810*/
|
|
/*B94B*/ GENx___x390x900 (convert_dfp_ext_to_u32_reg,RRF_MM,"CLFXTR"), /*810*/
|
|
/*B94C*/ GENx___x___x___ ,
|
|
/*B94D*/ GENx___x___x___ ,
|
|
/*B94E*/ GENx___x___x___ ,
|
|
/*B94F*/ GENx___x___x___ ,
|
|
/*B950*/ GENx___x___x___ ,
|
|
/*B951*/ GENx___x390x900 (convert_fix32_to_dfp_long_reg,RRF_MM,"CDFTR"), /*810*/
|
|
/*B952*/ GENx___x___x900 (convert_u64_to_dfp_long_reg,RRF_MM,"CDLGTR"), /*810*/
|
|
/*B953*/ GENx___x390x900 (convert_u32_to_dfp_long_reg,RRF_MM,"CDLFTR"), /*810*/
|
|
/*B954*/ GENx___x___x___ ,
|
|
/*B955*/ GENx___x___x___ ,
|
|
/*B956*/ GENx___x___x___ ,
|
|
/*B957*/ GENx___x___x___ ,
|
|
/*B958*/ GENx___x___x___ ,
|
|
/*B959*/ GENx___x390x900 (convert_fix32_to_dfp_ext_reg,RRF_MM,"CXFTR"), /*810*/
|
|
/*B95A*/ GENx___x___x900 (convert_u64_to_dfp_ext_reg,RRF_MM,"CXLGTR"), /*810*/
|
|
/*B95B*/ GENx___x390x900 (convert_u32_to_dfp_ext_reg,RRF_MM,"CXLFTR"), /*810*/
|
|
/*B95C*/ GENx___x___x___ ,
|
|
/*B95D*/ GENx___x___x___ ,
|
|
/*B95E*/ GENx___x___x___ ,
|
|
/*B95F*/ GENx___x___x___ ,
|
|
/*B960*/ GENx___x___x900 (compare_and_trap_long_register,RRF_M3,"CGRT"), /*208*/
|
|
/*B961*/ GENx___x___x900 (compare_logical_and_trap_long_register,RRF_M3,"CLGRT"), /*208*/
|
|
/*B962*/ GENx___x___x___ ,
|
|
/*B963*/ GENx___x___x___ ,
|
|
/*B964*/ GENx___x___x___ ,
|
|
/*B965*/ GENx___x___x___ ,
|
|
/*B966*/ GENx___x___x___ ,
|
|
/*B967*/ GENx___x___x___ ,
|
|
/*B968*/ GENx___x___x___ ,
|
|
/*B969*/ GENx___x___x___ ,
|
|
/*B96A*/ GENx___x___x___ ,
|
|
/*B96B*/ GENx___x___x___ ,
|
|
/*B96C*/ GENx___x___x___ ,
|
|
/*B96D*/ GENx___x___x___ ,
|
|
/*B96E*/ GENx___x___x___ ,
|
|
/*B96F*/ GENx___x___x___ ,
|
|
/*B970*/ GENx___x___x___ ,
|
|
/*B971*/ GENx___x___x___ ,
|
|
/*B972*/ GENx37Xx390x900 (compare_and_trap_register,RRF_M3,"CRT"), /*208*/
|
|
/*B973*/ GENx37Xx390x900 (compare_logical_and_trap_register,RRF_M3,"CLRT"), /*208*/
|
|
/*B974*/ GENx___x___x___ ,
|
|
/*B975*/ GENx___x___x___ ,
|
|
/*B976*/ GENx___x___x___ ,
|
|
/*B977*/ GENx___x___x___ ,
|
|
/*B978*/ GENx___x___x___ ,
|
|
/*B979*/ GENx___x___x___ ,
|
|
/*B97A*/ GENx___x___x___ ,
|
|
/*B97B*/ GENx___x___x___ ,
|
|
/*B97C*/ GENx___x___x___ ,
|
|
/*B97D*/ GENx___x___x___ ,
|
|
/*B97E*/ GENx___x___x___ ,
|
|
/*B97F*/ GENx___x___x___ ,
|
|
/*B980*/ GENx___x___x900 (and_long_register,RRE,"NGR"),
|
|
/*B981*/ GENx___x___x900 (or_long_register,RRE,"OGR"),
|
|
/*B982*/ GENx___x___x900 (exclusive_or_long_register,RRE,"XGR"),
|
|
/*B983*/ GENx___x___x900 (find_leftmost_one_long_register,RRE,"FLOGR"), /*@Z9*/
|
|
/*B984*/ GENx___x___x900 (load_logical_long_character_register,RRE,"LLGCR"), /*@Z9*/
|
|
/*B985*/ GENx___x___x900 (load_logical_long_halfword_register,RRE,"LLGHR"), /*@Z9*/
|
|
/*B986*/ GENx___x___x900 (multiply_logical_long_register,RRE,"MLGR"),
|
|
/*B987*/ GENx___x___x900 (divide_logical_long_register,RRE,"DLGR"),
|
|
/*B988*/ GENx___x___x900 (add_logical_carry_long_register,RRE,"ALCGR"),
|
|
/*B989*/ GENx___x___x900 (subtract_logical_borrow_long_register,RRE,"SLBGR"),
|
|
/*B98A*/ GENx___x___x900 (compare_and_swap_and_purge_long,RRE,"CSPG"),
|
|
/*B98B*/ GENx___x___x___ ,
|
|
/*B98C*/ GENx___x___x___ ,
|
|
/*B98D*/ GENx37Xx390x900 (extract_psw,RRE,"EPSW"),
|
|
/*B98E*/ GENx___x___x900 (invalidate_dat_table_entry,RRF_R,"IDTE"),
|
|
/*B98F*/ GENx___x___x___ ,
|
|
/*B990*/ GENx37Xx390x900 (translate_two_to_two,RRF_M3,"TRTT"),
|
|
/*B991*/ GENx37Xx390x900 (translate_two_to_one,RRF_M3,"TRTO"),
|
|
/*B992*/ GENx37Xx390x900 (translate_one_to_two,RRF_M3,"TROT"),
|
|
/*B993*/ GENx37Xx390x900 (translate_one_to_one,RRF_M3,"TROO"),
|
|
/*B994*/ GENx37Xx390x900 (load_logical_character_register,RRE,"LLCR"), /*@Z9*/
|
|
/*B995*/ GENx37Xx390x900 (load_logical_halfword_register,RRE,"LLHR"), /*@Z9*/
|
|
/*B996*/ GENx37Xx390x900 (multiply_logical_register,RRE,"MLR"),
|
|
/*B997*/ GENx37Xx390x900 (divide_logical_register,RRE,"DLR"),
|
|
/*B998*/ GENx37Xx390x900 (add_logical_carry_register,RRE,"ALCR"),
|
|
/*B999*/ GENx37Xx390x900 (subtract_logical_borrow_register,RRE,"SLBR"),
|
|
/*B99A*/ GENx___x___x900 (extract_primary_asn_and_instance,RRE_R1,"EPAIR"),
|
|
/*B99B*/ GENx___x___x900 (extract_secondary_asn_and_instance,RRE_R1,"ESAIR"),
|
|
/*B99C*/ GENx___x___x900 (extract_queue_buffer_state,RRF_RM,"EQBS"),
|
|
/*B99D*/ GENx___x___x900 (extract_and_set_extended_authority,RRE_R1,"ESEA"),
|
|
/*B99E*/ GENx___x___x900 (program_transfer_with_instance,RRE,"PTI"),
|
|
/*B99F*/ GENx___x___x900 (set_secondary_asn_with_instance,RRE_R1,"SSAIR"),
|
|
/*B9A0*/ GENx___x___x___ ,
|
|
/*B9A1*/ GENx___x___x___ ,
|
|
/*B9A2*/ GENx___x___x900 (perform_topology_function,RRE,"PTF"),
|
|
/*B9A3*/ GENx___x___x___ ,
|
|
/*B9B9*/ GENx___x___x___ ,
|
|
/*B9A5*/ GENx___x___x___ ,
|
|
/*B9A6*/ GENx___x___x___ ,
|
|
/*B9A7*/ GENx___x___x___ ,
|
|
/*B9A8*/ GENx___x___x___ ,
|
|
/*B9A9*/ GENx___x___x___ ,
|
|
/*B9AA*/ GENx___x___x900 (load_page_table_entry_address,RRF_RM,"LPTEA"), /*@Z9*/
|
|
/*B9AB*/ GENx___x___x___ , /*(extract_and_set_storage_attributes,?,"ESSA"),*/
|
|
/*B9AC*/ GENx___x___x___ ,
|
|
/*B9AD*/ GENx___x___x___ ,
|
|
/*B9AE*/ GENx___x___x900 (reset_reference_bits_multiple,RRE,"RRBM"), /*810*/
|
|
/*B9AF*/ GENx___x___x900 (perform_frame_management_function,RRE,"PFMF"),
|
|
/*B9B0*/ GENx37Xx390x900 (convert_utf8_to_utf32,RRF_M3,"CU14"),
|
|
/*B9B1*/ GENx37Xx390x900 (convert_utf16_to_utf32,RRF_M3,"CU24"),
|
|
/*B9B2*/ GENx37Xx390x900 (convert_utf32_to_utf8,RRE,"CU41"),
|
|
/*B9B3*/ GENx37Xx390x900 (convert_utf32_to_utf16,RRE,"CU42"),
|
|
/*B9B4*/ GENx___x___x___ ,
|
|
/*B9B5*/ GENx___x___x___ ,
|
|
/*B9B6*/ GENx___x___x___ ,
|
|
/*B9B7*/ GENx___x___x___ ,
|
|
/*B9B8*/ GENx___x___x___ ,
|
|
/*B9B9*/ GENx___x___x___ ,
|
|
/*B9BA*/ GENx___x___x___ ,
|
|
/*B9BB*/ GENx___x___x___ ,
|
|
/*B9BC*/ GENx___x___x___ ,
|
|
/*B9BD*/ GENx37Xx390x900 (translate_and_test_reverse_extended,RRF_M3,"TRTRE"),
|
|
/*B9BE*/ GENx37Xx390x900 (search_string_unicode,RRE,"SRSTU"),
|
|
/*B9BF*/ GENx37Xx390x900 (translate_and_test_extended,RRF_M3,"TRTE"),
|
|
/*B9C0*/ GENx___x___x___ ,
|
|
/*B9C1*/ GENx___x___x___ ,
|
|
/*B9C2*/ GENx___x___x___ ,
|
|
/*B9C3*/ GENx___x___x___ ,
|
|
/*B9C4*/ GENx___x___x___ ,
|
|
/*B9C5*/ GENx___x___x___ ,
|
|
/*B9C6*/ GENx___x___x___ ,
|
|
/*B9C7*/ GENx___x___x___ ,
|
|
/*B9C8*/ GENx___x___x900 (add_high_high_high_register,RRF_M3,"AHHHR"), /*810*/
|
|
/*B9C9*/ GENx___x___x900 (subtract_high_high_high_register,RRF_M3,"SHHHR"), /*810*/
|
|
/*B9CA*/ GENx___x___x900 (add_logical_high_high_high_register,RRF_M3,"ALHHHR"), /*810*/
|
|
/*B9CB*/ GENx___x___x900 (subtract_logical_high_high_high_register,RRF_M3,"SLHHHR"), /*810*/
|
|
/*B9CC*/ GENx___x___x___ ,
|
|
/*B9CD*/ GENx___x___x900 (compare_high_high_register,RRE,"CHHR"), /*810*/
|
|
/*B9CE*/ GENx___x___x___ ,
|
|
/*B9CF*/ GENx___x___x900 (compare_logical_high_high_register,RRE,"CLHHR"), /*810*/
|
|
/*B9D0*/ GENx___x___x___ ,
|
|
/*B9D1*/ GENx___x___x___ ,
|
|
/*B9D2*/ GENx___x___x___ ,
|
|
/*B9D3*/ GENx___x___x___ ,
|
|
/*B9D4*/ GENx___x___x___ ,
|
|
/*B9D5*/ GENx___x___x___ ,
|
|
/*B9D6*/ GENx___x___x___ ,
|
|
/*B9D7*/ GENx___x___x___ ,
|
|
/*B9D8*/ GENx___x___x900 (add_high_high_low_register,RRF_M3,"AHHLR"), /*810*/
|
|
/*B9D9*/ GENx___x___x900 (subtract_high_high_low_register,RRF_M3,"SHHLR"), /*810*/
|
|
/*B9DA*/ GENx___x___x900 (add_logical_high_high_low_register,RRF_M3,"ALHHLR"), /*810*/
|
|
/*B9DB*/ GENx___x___x900 (subtract_logical_high_high_low_register,RRF_M3,"SLHHLR"), /*810*/
|
|
/*B9DC*/ GENx___x___x___ ,
|
|
/*B9DD*/ GENx___x___x900 (compare_high_low_register,RRE,"CHLR"), /*810*/
|
|
/*B9DE*/ GENx___x___x___ ,
|
|
/*B9DF*/ GENx___x___x900 (compare_logical_high_low_register,RRE,"CLHLR"), /*810*/
|
|
/*B9E0*/ GENx___x___x___ ,
|
|
/*B9E1*/ GENx___x___x900 (population_count,RRE,"POPCNT"), /*810*/
|
|
/*B9E2*/ GENx___x___x900 (load_on_condition_long_register,RRF_M3,"LOCGR"), /*810*/
|
|
/*B9E3*/ GENx___x___x___ ,
|
|
/*B9E4*/ GENx___x___x900 (and_distinct_long_register,RRR,"NGRK"), /*810*/
|
|
/*B9E5*/ GENx___x___x___ ,
|
|
/*B9E6*/ GENx___x___x900 (or_distinct_long_register,RRR,"OGRK"), /*810*/
|
|
/*B9E7*/ GENx___x___x900 (exclusive_or_distinct_long_register,RRR,"XGRK"), /*810*/
|
|
/*B9E8*/ GENx___x___x900 (add_distinct_long_register,RRR,"AGRK"), /*810*/
|
|
/*B9E9*/ GENx___x___x900 (subtract_distinct_long_register,RRR,"SGRK"), /*810*/
|
|
/*B9EA*/ GENx___x___x900 (add_logical_distinct_long_register,RRR,"ALGRK"), /*810*/
|
|
/*B9EB*/ GENx___x___x900 (subtract_logical_distinct_long_register,RRR,"SLGRK"), /*810*/
|
|
/*B9EC*/ GENx___x___x___ ,
|
|
/*B9ED*/ GENx___x___x___ ,
|
|
/*B9EE*/ GENx___x___x___ ,
|
|
/*B9EF*/ GENx___x___x___ ,
|
|
/*B9F0*/ GENx___x___x___ ,
|
|
/*B9F1*/ GENx___x___x___ ,
|
|
/*B9F2*/ GENx37Xx390x900 (load_on_condition_register,RRF_M3,"LOCR"), /*810*/
|
|
/*B9F3*/ GENx___x___x___ ,
|
|
/*B9F4*/ GENx37Xx390x900 (and_distinct_register,RRR,"NRK"), /*810*/
|
|
/*B9F5*/ GENx___x___x___ ,
|
|
/*B9F6*/ GENx37Xx390x900 (or_distinct_register,RRR,"ORK"), /*810*/
|
|
/*B9F7*/ GENx37Xx390x900 (exclusive_or_distinct_register,RRR,"XRK"), /*810*/
|
|
/*B9F8*/ GENx37Xx390x900 (add_distinct_register,RRR,"ARK"), /*810*/
|
|
/*B9F9*/ GENx37Xx390x900 (subtract_distinct_register,RRR,"SRK"), /*810*/
|
|
/*B9FA*/ GENx37Xx390x900 (add_logical_distinct_register,RRR,"ALRK"), /*810*/
|
|
/*B9FB*/ GENx37Xx390x900 (subtract_logical_distinct_register,RRR,"SLRK"), /*810*/
|
|
/*B9FC*/ GENx___x___x___ ,
|
|
/*B9FD*/ GENx___x___x___ ,
|
|
/*B9FE*/ GENx___x___x___ ,
|
|
/*B9FF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func opcode_c0_x[0x10][GEN_MAXARCH] = {
|
|
/*C0x0*/ GENx37Xx390x900 (load_address_relative_long,RIL_A,"LARL"),
|
|
/*C0x1*/ GENx___x___x900 (load_long_fullword_immediate,RIL,"LGFI"), /*@Z9*/
|
|
/*C0x2*/ GENx___x___x___ ,
|
|
/*C0x3*/ GENx___x___x___ ,
|
|
/*C0x4*/ GENx37Xx390x900 (branch_relative_on_condition_long,RIL_A,"BRCL"),
|
|
/*C0x5*/ GENx37Xx390x900 (branch_relative_and_save_long,RIL_A,"BRASL"),
|
|
/*C0x6*/ GENx___x___x900 (exclusive_or_immediate_high_fullword,RIL,"XIHF"), /*@Z9*/
|
|
/*C0x7*/ GENx___x___x900 (exclusive_or_immediate_low_fullword,RIL,"XILF"), /*@Z9*/
|
|
/*C0x8*/ GENx___x___x900 (insert_immediate_high_fullword,RIL,"IIHF"), /*@Z9*/
|
|
/*C0x9*/ GENx___x___x900 (insert_immediate_low_fullword,RIL,"IILF"), /*@Z9*/
|
|
/*C0xA*/ GENx___x___x900 (and_immediate_high_fullword,RIL,"NIHF"), /*@Z9*/
|
|
/*C0xB*/ GENx___x___x900 (and_immediate_low_fullword,RIL,"NILF"), /*@Z9*/
|
|
/*C0xC*/ GENx___x___x900 (or_immediate_high_fullword,RIL,"OIHF"), /*@Z9*/
|
|
/*C0xD*/ GENx___x___x900 (or_immediate_low_fullword,RIL,"OILF"), /*@Z9*/
|
|
/*C0xE*/ GENx___x___x900 (load_logical_immediate_high_fullword,RIL,"LLIHF"), /*@Z9*/
|
|
/*C0xF*/ GENx___x___x900 (load_logical_immediate_low_fullword,RIL,"LLILF") }; /*@Z9*/
|
|
|
|
|
|
static zz_func opcode_c2_x[0x10][GEN_MAXARCH] = { /*@Z9*/
|
|
/*C2x0*/ GENx___x___x900 (multiply_single_immediate_long_fullword,RIL,"MSGFI"), /*208*/
|
|
/*C2x1*/ GENx37Xx390x900 (multiply_single_immediate_fullword,RIL,"MSFI"), /*208*/
|
|
/*C2x2*/ GENx___x___x___ , /*@Z9*/
|
|
/*C2x3*/ GENx___x___x___ , /*@Z9*/
|
|
/*C2x4*/ GENx___x___x900 (subtract_logical_long_fullword_immediate,RIL,"SLGFI"), /*@Z9*/
|
|
/*C2x5*/ GENx37Xx390x900 (subtract_logical_fullword_immediate,RIL,"SLFI"), /*@Z9*/
|
|
/*C2x6*/ GENx___x___x___ , /*@Z9*/
|
|
/*C2x7*/ GENx___x___x___ , /*@Z9*/
|
|
/*C2x8*/ GENx___x___x900 (add_long_fullword_immediate,RIL,"AGFI"), /*@Z9*/
|
|
/*C2x9*/ GENx37Xx390x900 (add_fullword_immediate,RIL,"AFI"), /*@Z9*/
|
|
/*C2xA*/ GENx___x___x900 (add_logical_long_fullword_immediate,RIL,"ALGFI"), /*@Z9*/
|
|
/*C2xB*/ GENx37Xx390x900 (add_logical_fullword_immediate,RIL,"ALFI"), /*@Z9*/
|
|
/*C2xC*/ GENx___x___x900 (compare_long_fullword_immediate,RIL,"CGFI"), /*@Z9*/
|
|
/*C2xD*/ GENx37Xx390x900 (compare_fullword_immediate,RIL,"CFI"), /*@Z9*/
|
|
/*C2xE*/ GENx___x___x900 (compare_logical_long_fullword_immediate,RIL,"CLGFI"), /*@Z9*/
|
|
/*C2xF*/ GENx37Xx390x900 (compare_logical_fullword_immediate,RIL,"CLFI") }; /*@Z9*/
|
|
|
|
|
|
static zz_func opcode_c4_x[0x10][GEN_MAXARCH] = { /*208*/
|
|
/*C4x0*/ GENx___x___x___ , /*208*/
|
|
/*C4x1*/ GENx___x___x___ , /*208*/
|
|
/*C4x2*/ GENx37Xx390x900 (load_logical_halfword_relative_long,RIL_A,"LLHRL"), /*208*/
|
|
/*C4x3*/ GENx___x___x___ , /*208*/
|
|
/*C4x4*/ GENx___x___x900 (load_halfword_relative_long_long,RIL_A,"LGHRL"), /*208*/
|
|
/*C4x5*/ GENx37Xx390x900 (load_halfword_relative_long,RIL_A,"LHRL"), /*208*/
|
|
/*C4x6*/ GENx___x___x900 (load_logical_halfword_relative_long_long,RIL_A,"LLGHRL"), /*208*/
|
|
/*C4x7*/ GENx37Xx390x900 (store_halfword_relative_long,RIL_A,"STHRL"), /*208*/
|
|
/*C4x8*/ GENx___x___x900 (load_relative_long_long,RIL_A,"LGRL"), /*208*/
|
|
/*C4x9*/ GENx___x___x___ , /*208*/
|
|
/*C4xA*/ GENx___x___x___ , /*208*/
|
|
/*C4xB*/ GENx___x___x900 (store_relative_long_long,RIL_A,"STGRL"), /*208*/
|
|
/*C4xC*/ GENx___x___x900 (load_relative_long_long_fullword,RIL_A,"LGFRL"), /*208*/
|
|
/*C4xD*/ GENx37Xx390x900 (load_relative_long,RIL_A,"LRL"), /*208*/
|
|
/*C4xE*/ GENx___x___x900 (load_logical_relative_long_long_fullword,RIL_A,"LLGFRL"), /*208*/
|
|
/*C4xF*/ GENx37Xx390x900 (store_relative_long,RIL_A,"STRL") }; /*208*/
|
|
|
|
|
|
static zz_func opcode_c6_x[0x10][GEN_MAXARCH] = { /*208*/
|
|
/*C6x0*/ GENx37Xx390x900 (execute_relative_long,RIL_A,"EXRL"), /*208*/
|
|
/*C6x1*/ GENx___x___x___ , /*208*/
|
|
/*C6x2*/ GENx37Xx390x900 (prefetch_data_relative_long,RIL_A,"PFDRL"), /*208*/
|
|
/*C6x3*/ GENx___x___x___ , /*208*/
|
|
/*C6x4*/ GENx___x___x900 (compare_halfword_relative_long_long,RIL_A,"CGHRL"), /*208*/
|
|
/*C6x5*/ GENx37Xx390x900 (compare_halfword_relative_long,RIL_A,"CHRL"), /*208*/
|
|
/*C6x6*/ GENx___x___x900 (compare_logical_relative_long_long_halfword,RIL_A,"CLGHRL"), /*208*/
|
|
/*C6x7*/ GENx37Xx390x900 (compare_logical_relative_long_halfword,RIL_A,"CLHRL"), /*208*/
|
|
/*C6x8*/ GENx___x___x900 (compare_relative_long_long,RIL_A,"CGRL"), /*208*/
|
|
/*C6x9*/ GENx___x___x___ , /*208*/
|
|
/*C6xA*/ GENx___x___x900 (compare_logical_relative_long_long,RIL_A,"CLGRL"), /*208*/
|
|
/*C6xB*/ GENx___x___x___ , /*208*/
|
|
/*C6xC*/ GENx___x___x900 (compare_relative_long_long_fullword,RIL_A,"CGFRL"), /*208*/
|
|
/*C6xD*/ GENx37Xx390x900 (compare_relative_long,RIL_A,"CRL"), /*208*/
|
|
/*C6xE*/ GENx___x___x900 (compare_logical_relative_long_long_fullword,RIL_A,"CLGFRL"), /*208*/
|
|
/*C6xF*/ GENx37Xx390x900 (compare_logical_relative_long,RIL_A,"CLRL") }; /*208*/
|
|
|
|
|
|
static zz_func opcode_c8_x[0x10][GEN_MAXARCH] = {
|
|
/*C8x0*/ GENx___x___x900 (move_with_optional_specifications,SSF,"MVCOS"),
|
|
/*C8x1*/ GENx___x___x900 (extract_cpu_time,SSF,"ECTG"),
|
|
/*C8x2*/ GENx___x___x900 (compare_and_swap_and_store,SSF,"CSST"),
|
|
/*C8x3*/ GENx___x___x___ ,
|
|
/*C8x4*/ GENx37Xx390x900 (load_pair_disjoint,SSF_RSS,"LPD"), /*810*/
|
|
/*C8x5*/ GENx___x___x900 (load_pair_disjoint_long,SSF_RSS,"LPDG"), /*810*/
|
|
/*C8x6*/ GENx___x___x___ ,
|
|
/*C8x7*/ GENx___x___x___ ,
|
|
/*C8x8*/ GENx___x___x___ ,
|
|
/*C8x9*/ GENx___x___x___ ,
|
|
/*C8xA*/ GENx___x___x___ ,
|
|
/*C8xB*/ GENx___x___x___ ,
|
|
/*C8xC*/ GENx___x___x___ ,
|
|
/*C8xD*/ GENx___x___x___ ,
|
|
/*C8xE*/ GENx___x___x___ ,
|
|
/*C8xF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func opcode_cc_x[0x10][GEN_MAXARCH] = { /*810*/
|
|
/*CCx0*/ GENx___x___x___ ,
|
|
/*CCx1*/ GENx___x___x___ ,
|
|
/*CCx2*/ GENx___x___x___ ,
|
|
/*CCx3*/ GENx___x___x___ ,
|
|
/*CCx4*/ GENx___x___x___ ,
|
|
/*CCx5*/ GENx___x___x___ ,
|
|
/*CCx6*/ GENx___x___x900 (branch_relative_on_count_high,RIL,"BRCTH"), /*810*/
|
|
/*CCx7*/ GENx___x___x___ ,
|
|
/*CCx8*/ GENx___x___x900 (add_high_immediate,RIL,"AIH"), /*810*/
|
|
/*CCx9*/ GENx___x___x___ ,
|
|
/*CCxA*/ GENx___x___x900 (add_logical_with_signed_immediate_high,RIL,"ALSIH"), /*810*/
|
|
/*CCxB*/ GENx___x___x900 (add_logical_with_signed_immediate_high_n,RIL,"ALSIHN"), /*810*/
|
|
/*CCxC*/ GENx___x___x___ ,
|
|
/*CCxD*/ GENx___x___x900 (compare_high_immediate,RIL,"CIH"), /*810*/
|
|
/*CCxE*/ GENx___x___x___ ,
|
|
/*CCxF*/ GENx___x___x900 (compare_logical_high_immediate,RIL,"CLIH") }; /*810*/
|
|
|
|
|
|
static zz_func opcode_e3xx[0x100][GEN_MAXARCH] = {
|
|
/*E300*/ GENx___x___x___ ,
|
|
/*E301*/ GENx___x___x___ ,
|
|
/*E302*/ GENx___x___x900 (load_and_test_long,RXY,"LTG"), /*@Z9*/
|
|
/*E303*/ GENx___x___x900 (load_real_address_long,RXY,"LRAG"),
|
|
/*E304*/ GENx___x___x900 (load_long,RXY,"LG"),
|
|
/*E305*/ GENx___x___x___ ,
|
|
/*E306*/ GENx___x___x900 (convert_to_binary_y,RXY,"CVBY"),
|
|
/*E307*/ GENx___x___x___ ,
|
|
/*E308*/ GENx___x___x900 (add_long,RXY,"AG"),
|
|
/*E309*/ GENx___x___x900 (subtract_long,RXY,"SG"),
|
|
/*E30A*/ GENx___x___x900 (add_logical_long,RXY,"ALG"),
|
|
/*E30B*/ GENx___x___x900 (subtract_logical_long,RXY,"SLG"),
|
|
/*E30C*/ GENx___x___x900 (multiply_single_long,RXY,"MSG"),
|
|
/*E30D*/ GENx___x___x900 (divide_single_long,RXY,"DSG"),
|
|
/*E30E*/ GENx___x___x900 (convert_to_binary_long,RXY,"CVBG"),
|
|
/*E30F*/ GENx___x___x900 (load_reversed_long,RXY,"LRVG"),
|
|
/*E310*/ GENx___x___x___ ,
|
|
/*E311*/ GENx___x___x___ ,
|
|
/*E312*/ GENx37Xx390x900 (load_and_test,RXY,"LT"), /*@Z9*/
|
|
/*E313*/ GENx___x___x900 (load_real_address_y,RXY,"LRAY"),
|
|
/*E314*/ GENx___x___x900 (load_long_fullword,RXY,"LGF"),
|
|
/*E315*/ GENx___x___x900 (load_long_halfword,RXY,"LGH"),
|
|
/*E316*/ GENx___x___x900 (load_logical_long_fullword,RXY,"LLGF"),
|
|
/*E317*/ GENx___x___x900 (load_logical_long_thirtyone,RXY,"LLGT"),
|
|
/*E318*/ GENx___x___x900 (add_long_fullword,RXY,"AGF"),
|
|
/*E319*/ GENx___x___x900 (subtract_long_fullword,RXY,"SGF"),
|
|
/*E31A*/ GENx___x___x900 (add_logical_long_fullword,RXY,"ALGF"),
|
|
/*E31B*/ GENx___x___x900 (subtract_logical_long_fullword,RXY,"SLGF"),
|
|
/*E31C*/ GENx___x___x900 (multiply_single_long_fullword,RXY,"MSGF"),
|
|
/*E31D*/ GENx___x___x900 (divide_single_long_fullword,RXY,"DSGF"),
|
|
/*E31E*/ GENx___x390x900 (load_reversed,RXY,"LRV"),
|
|
/*E31F*/ GENx___x390x900 (load_reversed_half,RXY,"LRVH"),
|
|
/*E320*/ GENx___x___x900 (compare_long,RXY,"CG"),
|
|
/*E321*/ GENx___x___x900 (compare_logical_long,RXY,"CLG"),
|
|
/*E322*/ GENx___x___x___ ,
|
|
/*E323*/ GENx___x___x___ ,
|
|
/*E324*/ GENx___x___x900 (store_long,RXY,"STG"),
|
|
/*E325*/ GENx___x___x___ ,
|
|
/*E326*/ GENx___x___x900 (convert_to_decimal_y,RXY,"CVDY"),
|
|
/*E327*/ GENx___x___x___ ,
|
|
/*E328*/ GENx___x___x___ ,
|
|
/*E329*/ GENx___x___x___ ,
|
|
/*E32A*/ GENx___x___x___ ,
|
|
/*E32B*/ GENx___x___x___ ,
|
|
/*E32C*/ GENx___x___x___ ,
|
|
/*E32D*/ GENx___x___x___ ,
|
|
/*E32E*/ GENx___x___x900 (convert_to_decimal_long,RXY,"CVDG"),
|
|
/*E32F*/ GENx___x___x900 (store_reversed_long,RXY,"STRVG"),
|
|
/*E330*/ GENx___x___x900 (compare_long_fullword,RXY,"CGF"),
|
|
/*E331*/ GENx___x___x900 (compare_logical_long_fullword,RXY,"CLGF"),
|
|
/*E332*/ GENx___x___x900 (load_and_test_long_fullword,RXY,"LTGF"), /*208*/
|
|
/*E333*/ GENx___x___x___ ,
|
|
/*E334*/ GENx___x___x900 (compare_halfword_long,RXY,"CGH"), /*208*/
|
|
/*E335*/ GENx___x___x___ ,
|
|
/*E336*/ GENx37Xx390x900 (prefetch_data,RXY,"PFD"), /*208*/
|
|
/*E337*/ GENx___x___x___ ,
|
|
/*E338*/ GENx___x___x___ ,
|
|
/*E339*/ GENx___x___x___ ,
|
|
/*E33A*/ GENx___x___x___ ,
|
|
/*E33B*/ GENx___x___x___ ,
|
|
/*E33C*/ GENx___x___x___ ,
|
|
/*E33D*/ GENx___x___x___ ,
|
|
/*E33E*/ GENx___x390x900 (store_reversed,RXY,"STRV"),
|
|
/*E33F*/ GENx___x390x900 (store_reversed_half,RXY,"STRVH"),
|
|
/*E340*/ GENx___x___x___ ,
|
|
/*E341*/ GENx___x___x___ ,
|
|
/*E342*/ GENx___x___x___ ,
|
|
/*E343*/ GENx___x___x___ ,
|
|
/*E344*/ GENx___x___x___ ,
|
|
/*E345*/ GENx___x___x___ ,
|
|
/*E346*/ GENx___x___x900 (branch_on_count_long,RXY,"BCTG"),
|
|
/*E347*/ GENx___x___x___ ,
|
|
/*E348*/ GENx___x___x___ ,
|
|
/*E349*/ GENx___x___x___ ,
|
|
/*E34A*/ GENx___x___x___ ,
|
|
/*E34B*/ GENx___x___x___ ,
|
|
/*E34C*/ GENx___x___x___ ,
|
|
/*E34D*/ GENx___x___x___ ,
|
|
/*E34E*/ GENx___x___x___ ,
|
|
/*E34F*/ GENx___x___x___ ,
|
|
/*E350*/ GENx___x___x900 (store_y,RXY,"STY"),
|
|
/*E351*/ GENx___x___x900 (multiply_single_y,RXY,"MSY"),
|
|
/*E352*/ GENx___x___x___ ,
|
|
/*E353*/ GENx___x___x___ ,
|
|
/*E354*/ GENx___x___x900 (and_y,RXY,"NY"),
|
|
/*E355*/ GENx___x___x900 (compare_logical_y,RXY,"CLY"),
|
|
/*E356*/ GENx___x___x900 (or_y,RXY,"OY"),
|
|
/*E357*/ GENx___x___x900 (exclusive_or_y,RXY,"XY"),
|
|
/*E358*/ GENx___x___x900 (load_y,RXY,"LY"),
|
|
/*E359*/ GENx___x___x900 (compare_y,RXY,"CY"),
|
|
/*E35A*/ GENx___x___x900 (add_y,RXY,"AY"),
|
|
/*E35B*/ GENx___x___x900 (subtract_y,RXY,"SY"),
|
|
/*E35C*/ GENx___x___x900 (multiply_y,RXY,"MFY"), /*208*/
|
|
/*E35D*/ GENx___x___x___ ,
|
|
/*E35E*/ GENx___x___x900 (add_logical_y,RXY,"ALY"),
|
|
/*E35F*/ GENx___x___x900 (subtract_logical_y,RXY,"SLY"),
|
|
/*E360*/ GENx___x___x___ ,
|
|
/*E361*/ GENx___x___x___ ,
|
|
/*E362*/ GENx___x___x___ ,
|
|
/*E363*/ GENx___x___x___ ,
|
|
/*E364*/ GENx___x___x___ ,
|
|
/*E365*/ GENx___x___x___ ,
|
|
/*E366*/ GENx___x___x___ ,
|
|
/*E367*/ GENx___x___x___ ,
|
|
/*E368*/ GENx___x___x___ ,
|
|
/*E369*/ GENx___x___x___ ,
|
|
/*E36A*/ GENx___x___x___ ,
|
|
/*E36B*/ GENx___x___x___ ,
|
|
/*E36C*/ GENx___x___x___ ,
|
|
/*E36D*/ GENx___x___x___ ,
|
|
/*E36E*/ GENx___x___x___ ,
|
|
/*E36F*/ GENx___x___x___ ,
|
|
/*E370*/ GENx___x___x900 (store_halfword_y,RXY,"STHY"),
|
|
/*E371*/ GENx___x___x900 (load_address_y,RXY,"LAY"),
|
|
/*E372*/ GENx___x___x900 (store_character_y,RXY,"STCY"),
|
|
/*E373*/ GENx___x___x900 (insert_character_y,RXY,"ICY"),
|
|
/*E374*/ GENx___x___x___ ,
|
|
/*E375*/ GENx___x___x900 (load_address_extended_y,RXY,"LAEY"), /*208*/
|
|
/*E376*/ GENx___x___x900 (load_byte,RXY,"LB"),
|
|
/*E377*/ GENx___x___x900 (load_byte_long,RXY,"LGB"),
|
|
/*E378*/ GENx___x___x900 (load_halfword_y,RXY,"LHY"),
|
|
/*E379*/ GENx___x___x900 (compare_halfword_y,RXY,"CHY"),
|
|
/*E37A*/ GENx___x___x900 (add_halfword_y,RXY,"AHY"),
|
|
/*E37B*/ GENx___x___x900 (subtract_halfword_y,RXY,"SHY"),
|
|
/*E37C*/ GENx___x___x900 (multiply_halfword_y,RXY,"MHY"), /*208*/
|
|
/*E37D*/ GENx___x___x___ ,
|
|
/*E37E*/ GENx___x___x___ ,
|
|
/*E37F*/ GENx___x___x___ ,
|
|
/*E380*/ GENx___x___x900 (and_long,RXY,"NG"),
|
|
/*E381*/ GENx___x___x900 (or_long,RXY,"OG"),
|
|
/*E382*/ GENx___x___x900 (exclusive_or_long,RXY,"XG"),
|
|
/*E383*/ GENx___x___x___ ,
|
|
/*E384*/ GENx___x___x___ ,
|
|
/*E385*/ GENx___x___x___ ,
|
|
/*E386*/ GENx___x___x900 (multiply_logical_long,RXY,"MLG"),
|
|
/*E387*/ GENx___x___x900 (divide_logical_long,RXY,"DLG"),
|
|
/*E388*/ GENx___x___x900 (add_logical_carry_long,RXY,"ALCG"),
|
|
/*E389*/ GENx___x___x900 (subtract_logical_borrow_long,RXY,"SLBG"),
|
|
/*E38A*/ GENx___x___x___ ,
|
|
/*E38B*/ GENx___x___x___ ,
|
|
/*E38C*/ GENx___x___x___ ,
|
|
/*E38D*/ GENx___x___x___ ,
|
|
/*E38E*/ GENx___x___x900 (store_pair_to_quadword,RXY,"STPQ"),
|
|
/*E38F*/ GENx___x___x900 (load_pair_from_quadword,RXY,"LPQ"),
|
|
/*E390*/ GENx___x___x900 (load_logical_long_character,RXY,"LLGC"),
|
|
/*E391*/ GENx___x___x900 (load_logical_long_halfword,RXY,"LLGH"),
|
|
/*E392*/ GENx___x___x___ ,
|
|
/*E393*/ GENx___x___x___ ,
|
|
/*E394*/ GENx37Xx390x900 (load_logical_character,RXY,"LLC"), /*@Z9*/
|
|
/*E395*/ GENx37Xx390x900 (load_logical_halfword,RXY,"LLH"), /*@Z9*/
|
|
/*E396*/ GENx37Xx390x900 (multiply_logical,RXY,"ML"),
|
|
/*E397*/ GENx37Xx390x900 (divide_logical,RXY,"DL"),
|
|
/*E398*/ GENx37Xx390x900 (add_logical_carry,RXY,"ALC"),
|
|
/*E399*/ GENx37Xx390x900 (subtract_logical_borrow,RXY,"SLB"),
|
|
/*E39A*/ GENx___x___x___ ,
|
|
/*E39B*/ GENx___x___x___ ,
|
|
/*E39C*/ GENx___x___x___ ,
|
|
/*E39D*/ GENx___x___x___ ,
|
|
/*E39E*/ GENx___x___x___ ,
|
|
/*E39F*/ GENx___x___x___ ,
|
|
/*E3A0*/ GENx___x___x___ ,
|
|
/*E3A1*/ GENx___x___x___ ,
|
|
/*E3A2*/ GENx___x___x___ ,
|
|
/*E3A3*/ GENx___x___x___ ,
|
|
/*E3E3*/ GENx___x___x___ ,
|
|
/*E3A5*/ GENx___x___x___ ,
|
|
/*E3A6*/ GENx___x___x___ ,
|
|
/*E3A7*/ GENx___x___x___ ,
|
|
/*E3A8*/ GENx___x___x___ ,
|
|
/*E3A9*/ GENx___x___x___ ,
|
|
/*E3AA*/ GENx___x___x___ ,
|
|
/*E3AB*/ GENx___x___x___ ,
|
|
/*E3AC*/ GENx___x___x___ ,
|
|
/*E3AD*/ GENx___x___x___ ,
|
|
/*E3AE*/ GENx___x___x___ ,
|
|
/*E3AF*/ GENx___x___x___ ,
|
|
/*E3B0*/ GENx___x___x___ ,
|
|
/*E3B1*/ GENx___x___x___ ,
|
|
/*E3B2*/ GENx___x___x___ ,
|
|
/*E3B3*/ GENx___x___x___ ,
|
|
/*E3B4*/ GENx___x___x___ ,
|
|
/*E3B5*/ GENx___x___x___ ,
|
|
/*E3B6*/ GENx___x___x___ ,
|
|
/*E3B7*/ GENx___x___x___ ,
|
|
/*E3B8*/ GENx___x___x___ ,
|
|
/*E3E3*/ GENx___x___x___ ,
|
|
/*E3BA*/ GENx___x___x___ ,
|
|
/*E3BB*/ GENx___x___x___ ,
|
|
/*E3BC*/ GENx___x___x___ ,
|
|
/*E3BD*/ GENx___x___x___ ,
|
|
/*E3BE*/ GENx___x___x___ ,
|
|
/*E3BF*/ GENx___x___x___ ,
|
|
/*E3C0*/ GENx___x___x900 (load_byte_high,RXY,"LBH"), /*810*/
|
|
/*E3C1*/ GENx___x___x___ ,
|
|
/*E3C2*/ GENx___x___x900 (load_logical_character_high,RXY,"LLCH"), /*810*/
|
|
/*E3C3*/ GENx___x___x900 (store_character_high,RXY,"STCH"), /*810*/
|
|
/*E3C4*/ GENx___x___x900 (load_halfword_high,RXY,"LHH"), /*810*/
|
|
/*E3C5*/ GENx___x___x___ ,
|
|
/*E3C6*/ GENx___x___x900 (load_logical_halfword_high,RXY,"LLHH"), /*810*/
|
|
/*E3C7*/ GENx___x___x900 (store_halfword_high,RXY,"STHH"), /*810*/
|
|
/*E3C8*/ GENx___x___x___ ,
|
|
/*E3C9*/ GENx___x___x___ ,
|
|
/*E3CA*/ GENx___x___x900 (load_fullword_high,RXY,"LFH"), /*810*/
|
|
/*E3CB*/ GENx___x___x900 (store_fullword_high,RXY,"STFH"), /*810*/
|
|
/*E3CC*/ GENx___x___x___ ,
|
|
/*E3CD*/ GENx___x___x900 (compare_high_fullword,RXY,"CHF"), /*810*/
|
|
/*E3CE*/ GENx___x___x___ ,
|
|
/*E3CF*/ GENx___x___x900 (compare_logical_high_fullword,RXY,"CLHF"), /*810*/
|
|
/*E3D0*/ GENx___x___x___ ,
|
|
/*E3D1*/ GENx___x___x___ ,
|
|
/*E3D2*/ GENx___x___x___ ,
|
|
/*E3D3*/ GENx___x___x___ ,
|
|
/*E3D4*/ GENx___x___x___ ,
|
|
/*E3D5*/ GENx___x___x___ ,
|
|
/*E3D6*/ GENx___x___x___ ,
|
|
/*E3D7*/ GENx___x___x___ ,
|
|
/*E3D8*/ GENx___x___x___ ,
|
|
/*E3D9*/ GENx___x___x___ ,
|
|
/*E3DA*/ GENx___x___x___ ,
|
|
/*E3DB*/ GENx___x___x___ ,
|
|
/*E3DC*/ GENx___x___x___ ,
|
|
/*E3DD*/ GENx___x___x___ ,
|
|
/*E3DE*/ GENx___x___x___ ,
|
|
/*E3DF*/ GENx___x___x___ ,
|
|
/*E3E0*/ GENx___x___x___ ,
|
|
/*E3E1*/ GENx___x___x___ ,
|
|
/*E3E2*/ GENx___x___x___ ,
|
|
/*E3E3*/ GENx___x___x___ ,
|
|
/*E3E4*/ GENx___x___x___ ,
|
|
/*E3E5*/ GENx___x___x___ ,
|
|
/*E3E6*/ GENx___x___x___ ,
|
|
/*E3E7*/ GENx___x___x___ ,
|
|
/*E3E8*/ GENx___x___x___ ,
|
|
/*E3E9*/ GENx___x___x___ ,
|
|
/*E3EA*/ GENx___x___x___ ,
|
|
/*E3EB*/ GENx___x___x___ ,
|
|
/*E3EC*/ GENx___x___x___ ,
|
|
/*E3ED*/ GENx___x___x___ ,
|
|
/*E3EE*/ GENx___x___x___ ,
|
|
/*E3EF*/ GENx___x___x___ ,
|
|
/*E3F0*/ GENx___x___x___ ,
|
|
/*E3F1*/ GENx___x___x___ ,
|
|
/*E3F2*/ GENx___x___x___ ,
|
|
/*E3F3*/ GENx___x___x___ ,
|
|
/*E3F4*/ GENx___x___x___ ,
|
|
/*E3F5*/ GENx___x___x___ ,
|
|
/*E3F6*/ GENx___x___x___ ,
|
|
/*E3F7*/ GENx___x___x___ ,
|
|
/*E3F8*/ GENx___x___x___ ,
|
|
/*E3F9*/ GENx___x___x___ ,
|
|
/*E3FA*/ GENx___x___x___ ,
|
|
/*E3FB*/ GENx___x___x___ ,
|
|
/*E3FC*/ GENx___x___x___ ,
|
|
/*E3FD*/ GENx___x___x___ ,
|
|
/*E3FE*/ GENx___x___x___ ,
|
|
/*E3FF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func opcode_e5xx[0x100][GEN_MAXARCH] = {
|
|
/*E500*/ GENx370x390x900 (load_address_space_parameters,SSE,"LASP"),
|
|
/*E501*/ GENx370x390x900 (test_protection,SSE,"TPROT"),
|
|
/* The following opcode has been re-used in z/Arch */
|
|
#define s370_store_real_address s370_fix_page
|
|
/*E502*/ GENx370x___x900 (store_real_address,SSE,"STRAG"),
|
|
/*E503*/ GENx370x390x900 (svc_assist,SSE,"Assist"),
|
|
/*E504*/ GENx370x390x900 (obtain_local_lock,SSE,"Assist"),
|
|
/*E505*/ GENx370x390x900 (release_local_lock,SSE,"Assist"),
|
|
/*E506*/ GENx370x390x900 (obtain_cms_lock,SSE,"Assist"),
|
|
/*E507*/ GENx370x390x900 (release_cms_lock,SSE,"Assist"),
|
|
/*E508*/ GENx370x___x___ (trace_svc_interruption,SSE,"Assist"),
|
|
/*E509*/ GENx370x___x___ (trace_program_interruption,SSE,"Assist"),
|
|
/*E50A*/ GENx370x___x___ (trace_initial_srb_dispatch,SSE,"Assist"),
|
|
/*E50B*/ GENx370x___x___ (trace_io_interruption,SSE,"Assist"),
|
|
/*E50C*/ GENx370x___x___ (trace_task_dispatch,SSE,"Assist"),
|
|
/*E50D*/ GENx370x___x___ (trace_svc_return,SSE,"Assist"),
|
|
/*E50E*/ GENx___x390x900 (move_with_source_key,SSE,"MVCSK"),
|
|
/*E50F*/ GENx___x390x900 (move_with_destination_key,SSE,"MVCDK"),
|
|
/*E510*/ GENx___x___x___ ,
|
|
/*E511*/ GENx___x___x___ ,
|
|
/*E512*/ GENx___x___x___ ,
|
|
/*E513*/ GENx___x___x___ ,
|
|
/*E514*/ GENx___x___x___ ,
|
|
/*E515*/ GENx___x___x___ ,
|
|
/*E516*/ GENx___x___x___ ,
|
|
/*E517*/ GENx___x___x___ ,
|
|
/*E518*/ GENx___x___x___ ,
|
|
/*E519*/ GENx___x___x___ ,
|
|
/*E51A*/ GENx___x___x___ ,
|
|
/*E51B*/ GENx___x___x___ ,
|
|
/*E51C*/ GENx___x___x___ ,
|
|
/*E51D*/ GENx___x___x___ ,
|
|
/*E51E*/ GENx___x___x___ ,
|
|
/*E51F*/ GENx___x___x___ ,
|
|
/*E520*/ GENx___x___x___ ,
|
|
/*E521*/ GENx___x___x___ ,
|
|
/*E522*/ GENx___x___x___ ,
|
|
/*E523*/ GENx___x___x___ ,
|
|
/*E524*/ GENx___x___x___ ,
|
|
/*E525*/ GENx___x___x___ ,
|
|
/*E526*/ GENx___x___x___ ,
|
|
/*E527*/ GENx___x___x___ ,
|
|
/*E528*/ GENx___x___x___ ,
|
|
/*E529*/ GENx___x___x___ ,
|
|
/*E52A*/ GENx___x___x___ ,
|
|
/*E52B*/ GENx___x___x___ ,
|
|
/*E52C*/ GENx___x___x___ ,
|
|
/*E52D*/ GENx___x___x___ ,
|
|
/*E52E*/ GENx___x___x___ ,
|
|
/*E52F*/ GENx___x___x___ ,
|
|
/*E530*/ GENx___x___x___ ,
|
|
/*E531*/ GENx___x___x___ ,
|
|
/*E532*/ GENx___x___x___ ,
|
|
/*E533*/ GENx___x___x___ ,
|
|
/*E534*/ GENx___x___x___ ,
|
|
/*E535*/ GENx___x___x___ ,
|
|
/*E536*/ GENx___x___x___ ,
|
|
/*E537*/ GENx___x___x___ ,
|
|
/*E538*/ GENx___x___x___ ,
|
|
/*E539*/ GENx___x___x___ ,
|
|
/*E53A*/ GENx___x___x___ ,
|
|
/*E53B*/ GENx___x___x___ ,
|
|
/*E53C*/ GENx___x___x___ ,
|
|
/*E53D*/ GENx___x___x___ ,
|
|
/*E53E*/ GENx___x___x___ ,
|
|
/*E53F*/ GENx___x___x___ ,
|
|
/*E540*/ GENx___x___x___ ,
|
|
/*E541*/ GENx___x___x___ ,
|
|
/*E542*/ GENx___x___x___ ,
|
|
/*E543*/ GENx___x___x___ ,
|
|
/*E544*/ GENx37Xx390x900 (move_halfword_from_halfword_immediate,SIL,"MVHHI"), /*208*/
|
|
/*E545*/ GENx___x___x___ ,
|
|
/*E546*/ GENx___x___x___ ,
|
|
/*E547*/ GENx___x___x___ ,
|
|
/*E548*/ GENx37Xx390x900 (move_long_from_halfword_immediate,SIL,"MVGHI"), /*208*/
|
|
/*E549*/ GENx___x___x___ ,
|
|
/*E54A*/ GENx___x___x___ ,
|
|
/*E54B*/ GENx___x___x___ ,
|
|
/*E54C*/ GENx37Xx390x900 (move_fullword_from_halfword_immediate,SIL,"MVHI"), /*208*/
|
|
/*E54D*/ GENx___x___x___ ,
|
|
/*E54E*/ GENx___x___x___ ,
|
|
/*E54F*/ GENx___x___x___ ,
|
|
/*E550*/ GENx___x___x___ ,
|
|
/*E551*/ GENx___x___x___ ,
|
|
/*E552*/ GENx___x___x___ ,
|
|
/*E553*/ GENx___x___x___ ,
|
|
/*E554*/ GENx37Xx390x900 (compare_halfword_immediate_halfword_storage,SIL,"CHHSI"), /*208*/
|
|
/*E555*/ GENx37Xx390x900 (compare_logical_immediate_halfword_storage,SIL,"CLHHSI"), /*208*/
|
|
/*E556*/ GENx___x___x___ ,
|
|
/*E557*/ GENx___x___x___ ,
|
|
/*E558*/ GENx37Xx390x900 (compare_halfword_immediate_long_storage,SIL,"CGHSI"), /*208*/
|
|
/*E559*/ GENx37Xx390x900 (compare_logical_immediate_long_storage,SIL,"CLGHSI"), /*208*/
|
|
/*E55A*/ GENx___x___x___ ,
|
|
/*E55B*/ GENx___x___x___ ,
|
|
/*E55C*/ GENx37Xx390x900 (compare_halfword_immediate_storage,SIL,"CHSI"), /*208*/
|
|
/*E55D*/ GENx37Xx390x900 (compare_logical_immediate_fullword_storage,SIL,"CLFHSI"), /*208*/
|
|
/*E55E*/ GENx___x___x___ ,
|
|
/*E55F*/ GENx___x___x___ ,
|
|
/*E560*/ GENx___x___x___ ,
|
|
/*E561*/ GENx___x___x___ ,
|
|
/*E562*/ GENx___x___x___ ,
|
|
/*E563*/ GENx___x___x___ ,
|
|
/*E564*/ GENx___x___x___ ,
|
|
/*E565*/ GENx___x___x___ ,
|
|
/*E566*/ GENx___x___x___ ,
|
|
/*E567*/ GENx___x___x___ ,
|
|
/*E568*/ GENx___x___x___ ,
|
|
/*E569*/ GENx___x___x___ ,
|
|
/*E56A*/ GENx___x___x___ ,
|
|
/*E56B*/ GENx___x___x___ ,
|
|
/*E56C*/ GENx___x___x___ ,
|
|
/*E56D*/ GENx___x___x___ ,
|
|
/*E56E*/ GENx___x___x___ ,
|
|
/*E56F*/ GENx___x___x___ ,
|
|
/*E570*/ GENx___x___x___ ,
|
|
/*E571*/ GENx___x___x___ ,
|
|
/*E572*/ GENx___x___x___ ,
|
|
/*E573*/ GENx___x___x___ ,
|
|
/*E574*/ GENx___x___x___ ,
|
|
/*E575*/ GENx___x___x___ ,
|
|
/*E576*/ GENx___x___x___ ,
|
|
/*E577*/ GENx___x___x___ ,
|
|
/*E578*/ GENx___x___x___ ,
|
|
/*E579*/ GENx___x___x___ ,
|
|
/*E57A*/ GENx___x___x___ ,
|
|
/*E57B*/ GENx___x___x___ ,
|
|
/*E57C*/ GENx___x___x___ ,
|
|
/*E57D*/ GENx___x___x___ ,
|
|
/*E57E*/ GENx___x___x___ ,
|
|
/*E57F*/ GENx___x___x___ ,
|
|
/*E580*/ GENx___x___x___ ,
|
|
/*E581*/ GENx___x___x___ ,
|
|
/*E582*/ GENx___x___x___ ,
|
|
/*E583*/ GENx___x___x___ ,
|
|
/*E584*/ GENx___x___x___ ,
|
|
/*E585*/ GENx___x___x___ ,
|
|
/*E586*/ GENx___x___x___ ,
|
|
/*E587*/ GENx___x___x___ ,
|
|
/*E588*/ GENx___x___x___ ,
|
|
/*E589*/ GENx___x___x___ ,
|
|
/*E58A*/ GENx___x___x___ ,
|
|
/*E58B*/ GENx___x___x___ ,
|
|
/*E58C*/ GENx___x___x___ ,
|
|
/*E58D*/ GENx___x___x___ ,
|
|
/*E58E*/ GENx___x___x___ ,
|
|
/*E58F*/ GENx___x___x___ ,
|
|
/*E590*/ GENx___x___x___ ,
|
|
/*E591*/ GENx___x___x___ ,
|
|
/*E592*/ GENx___x___x___ ,
|
|
/*E593*/ GENx___x___x___ ,
|
|
/*E594*/ GENx___x___x___ ,
|
|
/*E595*/ GENx___x___x___ ,
|
|
/*E596*/ GENx___x___x___ ,
|
|
/*E597*/ GENx___x___x___ ,
|
|
/*E598*/ GENx___x___x___ ,
|
|
/*E599*/ GENx___x___x___ ,
|
|
/*E59A*/ GENx___x___x___ ,
|
|
/*E59B*/ GENx___x___x___ ,
|
|
/*E59C*/ GENx___x___x___ ,
|
|
/*E59D*/ GENx___x___x___ ,
|
|
/*E59E*/ GENx___x___x___ ,
|
|
/*E59F*/ GENx___x___x___ ,
|
|
/*E5A0*/ GENx___x___x___ ,
|
|
/*E5A1*/ GENx___x___x___ ,
|
|
/*E5A2*/ GENx___x___x___ ,
|
|
/*E5A3*/ GENx___x___x___ ,
|
|
/*E5A4*/ GENx___x___x___ ,
|
|
/*E5A5*/ GENx___x___x___ ,
|
|
/*E5A6*/ GENx___x___x___ ,
|
|
/*E5A7*/ GENx___x___x___ ,
|
|
/*E5A8*/ GENx___x___x___ ,
|
|
/*E5A9*/ GENx___x___x___ ,
|
|
/*E5AA*/ GENx___x___x___ ,
|
|
/*E5AB*/ GENx___x___x___ ,
|
|
/*E5AC*/ GENx___x___x___ ,
|
|
/*E5AD*/ GENx___x___x___ ,
|
|
/*E5AE*/ GENx___x___x___ ,
|
|
/*E5AF*/ GENx___x___x___ ,
|
|
/*E5B0*/ GENx___x___x___ ,
|
|
/*E5B1*/ GENx___x___x___ ,
|
|
/*E5B2*/ GENx___x___x___ ,
|
|
/*E5B3*/ GENx___x___x___ ,
|
|
/*E5B4*/ GENx___x___x___ ,
|
|
/*E5B5*/ GENx___x___x___ ,
|
|
/*E5B6*/ GENx___x___x___ ,
|
|
/*E5B7*/ GENx___x___x___ ,
|
|
/*E5B8*/ GENx___x___x___ ,
|
|
/*E5B9*/ GENx___x___x___ ,
|
|
/*E5BA*/ GENx___x___x___ ,
|
|
/*E5BB*/ GENx___x___x___ ,
|
|
/*E5BC*/ GENx___x___x___ ,
|
|
/*E5BD*/ GENx___x___x___ ,
|
|
/*E5BE*/ GENx___x___x___ ,
|
|
/*E5BF*/ GENx___x___x___ ,
|
|
/*E5C0*/ GENx___x___x___ ,
|
|
/*E5C1*/ GENx___x___x___ ,
|
|
/*E5C2*/ GENx___x___x___ ,
|
|
/*E5C3*/ GENx___x___x___ ,
|
|
/*E5C4*/ GENx___x___x___ ,
|
|
/*E5C5*/ GENx___x___x___ ,
|
|
/*E5C6*/ GENx___x___x___ ,
|
|
/*E5C7*/ GENx___x___x___ ,
|
|
/*E5C8*/ GENx___x___x___ ,
|
|
/*E5C9*/ GENx___x___x___ ,
|
|
/*E5CA*/ GENx___x___x___ ,
|
|
/*E5CB*/ GENx___x___x___ ,
|
|
/*E5CC*/ GENx___x___x___ ,
|
|
/*E5CD*/ GENx___x___x___ ,
|
|
/*E5CE*/ GENx___x___x___ ,
|
|
/*E5CF*/ GENx___x___x___ ,
|
|
/*E5D0*/ GENx___x___x___ ,
|
|
/*E5D1*/ GENx___x___x___ ,
|
|
/*E5D2*/ GENx___x___x___ ,
|
|
/*E5D3*/ GENx___x___x___ ,
|
|
/*E5D4*/ GENx___x___x___ ,
|
|
/*E5D5*/ GENx___x___x___ ,
|
|
/*E5D6*/ GENx___x___x___ ,
|
|
/*E5D7*/ GENx___x___x___ ,
|
|
/*E5D8*/ GENx___x___x___ ,
|
|
/*E5D9*/ GENx___x___x___ ,
|
|
/*E5DA*/ GENx___x___x___ ,
|
|
/*E5DB*/ GENx___x___x___ ,
|
|
/*E5DC*/ GENx___x___x___ ,
|
|
/*E5DD*/ GENx___x___x___ ,
|
|
/*E5DE*/ GENx___x___x___ ,
|
|
/*E5DF*/ GENx___x___x___ ,
|
|
/*E5E0*/ GENx___x___x___ ,
|
|
/*E5E1*/ GENx___x___x___ ,
|
|
/*E5E2*/ GENx___x___x___ ,
|
|
/*E5E3*/ GENx___x___x___ ,
|
|
/*E5E4*/ GENx___x___x___ ,
|
|
/*E5E5*/ GENx___x___x___ ,
|
|
/*E5E6*/ GENx___x___x___ ,
|
|
/*E5E7*/ GENx___x___x___ ,
|
|
/*E5E8*/ GENx___x___x___ ,
|
|
/*E5E9*/ GENx___x___x___ ,
|
|
/*E5EA*/ GENx___x___x___ ,
|
|
/*E5EB*/ GENx___x___x___ ,
|
|
/*E5EC*/ GENx___x___x___ ,
|
|
/*E5ED*/ GENx___x___x___ ,
|
|
/*E5EE*/ GENx___x___x___ ,
|
|
/*E5EF*/ GENx___x___x___ ,
|
|
/*E5F0*/ GENx___x___x___ ,
|
|
/*E5F1*/ GENx___x___x___ ,
|
|
/*E5F2*/ GENx___x___x___ ,
|
|
/*E5F3*/ GENx___x___x___ ,
|
|
/*E5F4*/ GENx___x___x___ ,
|
|
/*E5F5*/ GENx___x___x___ ,
|
|
/*E5F6*/ GENx___x___x___ ,
|
|
/*E5F7*/ GENx___x___x___ ,
|
|
/*E5F8*/ GENx___x___x___ ,
|
|
/*E5F9*/ GENx___x___x___ ,
|
|
/*E5FA*/ GENx___x___x___ ,
|
|
/*E5FB*/ GENx___x___x___ ,
|
|
/*E5FC*/ GENx___x___x___ ,
|
|
/*E5FD*/ GENx___x___x___ ,
|
|
/*E5FE*/ GENx___x___x___ ,
|
|
/*E5FF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func opcode_e6xx[0x100][GEN_MAXARCH] = {
|
|
/*E600*/ GENx370x___x___ (ecpsvm_basic_freex,SSE,"FREE"),
|
|
/*E601*/ GENx370x___x___ (ecpsvm_basic_fretx,SSE,"FRET"),
|
|
/*E602*/ GENx370x___x___ (ecpsvm_lock_page,SSE,"VLKPG"),
|
|
/*E603*/ GENx370x___x___ (ecpsvm_unlock_page,SSE,"VULKP"),
|
|
/*E604*/ GENx370x___x___ (ecpsvm_decode_next_ccw,SSE,"DNCCW"),
|
|
/*E605*/ GENx370x___x___ (ecpsvm_free_ccwstor,SSE,"FCCWS"),
|
|
/*E606*/ GENx370x___x___ (ecpsvm_locate_vblock,SSE,"SCNVU"),
|
|
/*E607*/ GENx370x___x___ (ecpsvm_disp1,SSE,"ECPS:DISP1"),
|
|
/*E608*/ GENx370x___x___ (ecpsvm_tpage,SSE,"ECPS:TRBRG"),
|
|
/*E609*/ GENx370x___x___ (ecpsvm_tpage_lock,SSE,"TRLCK"),
|
|
/*E60A*/ GENx370x___x___ (ecpsvm_inval_segtab,SSE,"VIST"),
|
|
/*E60B*/ GENx370x___x___ (ecpsvm_inval_ptable,SSE,"VIPT"),
|
|
/*E60C*/ GENx370x___x___ (ecpsvm_decode_first_ccw,SSE,"DFCCW"),
|
|
/*E60D*/ GENx370x___x___ (ecpsvm_dispatch_main,SSE,"DISP0"),
|
|
/*E60E*/ GENx370x___x___ (ecpsvm_locate_rblock,SSE,"SCNRU"),
|
|
/*E60F*/ GENx370x___x___ (ecpsvm_comm_ccwproc,SSE,"CCWGN"),
|
|
/*E610*/ GENx370x___x___ (ecpsvm_unxlate_ccw,SSE,"UXCCW"),
|
|
/*E611*/ GENx370x___x___ (ecpsvm_disp2,SSE,"DISP2"),
|
|
/*E612*/ GENx370x___x___ (ecpsvm_store_level,SSE,"STEVL"),
|
|
/*E613*/ GENx370x___x___ (ecpsvm_loc_chgshrpg,SSE,"LCSPG"),
|
|
/*E614*/ GENx370x___x___ (ecpsvm_extended_freex,SSE,"FREEX"),
|
|
/*E615*/ GENx370x___x___ (ecpsvm_extended_fretx,SSE,"FRETX"),
|
|
/*E616*/ GENx370x___x___ (ecpsvm_prefmach_assist,SSE,"PRFMA"),
|
|
/*E617*/ GENx___x___x___ ,
|
|
/*E618*/ GENx___x___x___ ,
|
|
/*E619*/ GENx___x___x___ ,
|
|
/*E61A*/ GENx___x___x___ ,
|
|
/*E61B*/ GENx___x___x___ ,
|
|
/*E61C*/ GENx___x___x___ ,
|
|
/*E61D*/ GENx___x___x___ ,
|
|
/*E61E*/ GENx___x___x___ ,
|
|
/*E61F*/ GENx___x___x___ ,
|
|
/*E620*/ GENx___x___x___ ,
|
|
/*E621*/ GENx___x___x___ ,
|
|
/*E622*/ GENx___x___x___ ,
|
|
/*E623*/ GENx___x___x___ ,
|
|
/*E624*/ GENx___x___x___ ,
|
|
/*E625*/ GENx___x___x___ ,
|
|
/*E626*/ GENx___x___x___ ,
|
|
/*E627*/ GENx___x___x___ ,
|
|
/*E628*/ GENx___x___x___ ,
|
|
/*E629*/ GENx___x___x___ ,
|
|
/*E62A*/ GENx___x___x___ ,
|
|
/*E62B*/ GENx___x___x___ ,
|
|
/*E62C*/ GENx___x___x___ ,
|
|
/*E62D*/ GENx___x___x___ ,
|
|
/*E62E*/ GENx___x___x___ ,
|
|
/*E62F*/ GENx___x___x___ ,
|
|
/*E630*/ GENx___x___x___ ,
|
|
/*E631*/ GENx___x___x___ ,
|
|
/*E632*/ GENx___x___x___ ,
|
|
/*E633*/ GENx___x___x___ ,
|
|
/*E634*/ GENx___x___x___ ,
|
|
/*E635*/ GENx___x___x___ ,
|
|
/*E636*/ GENx___x___x___ ,
|
|
/*E637*/ GENx___x___x___ ,
|
|
/*E638*/ GENx___x___x___ ,
|
|
/*E639*/ GENx___x___x___ ,
|
|
/*E63A*/ GENx___x___x___ ,
|
|
/*E63B*/ GENx___x___x___ ,
|
|
/*E63C*/ GENx___x___x___ ,
|
|
/*E63D*/ GENx___x___x___ ,
|
|
/*E63E*/ GENx___x___x___ ,
|
|
/*E63F*/ GENx___x___x___ ,
|
|
/*E640*/ GENx___x___x___ ,
|
|
/*E641*/ GENx___x___x___ ,
|
|
/*E642*/ GENx___x___x___ ,
|
|
/*E643*/ GENx___x___x___ ,
|
|
/*E644*/ GENx___x___x___ ,
|
|
/*E645*/ GENx___x___x___ ,
|
|
/*E646*/ GENx___x___x___ ,
|
|
/*E647*/ GENx___x___x___ ,
|
|
/*E648*/ GENx___x___x___ ,
|
|
/*E649*/ GENx___x___x___ ,
|
|
/*E64A*/ GENx___x___x___ ,
|
|
/*E64B*/ GENx___x___x___ ,
|
|
/*E64C*/ GENx___x___x___ ,
|
|
/*E64D*/ GENx___x___x___ ,
|
|
/*E64E*/ GENx___x___x___ ,
|
|
/*E64F*/ GENx___x___x___ ,
|
|
/*E650*/ GENx___x___x___ ,
|
|
/*E651*/ GENx___x___x___ ,
|
|
/*E652*/ GENx___x___x___ ,
|
|
/*E653*/ GENx___x___x___ ,
|
|
/*E654*/ GENx___x___x___ ,
|
|
/*E655*/ GENx___x___x___ ,
|
|
/*E656*/ GENx___x___x___ ,
|
|
/*E657*/ GENx___x___x___ ,
|
|
/*E658*/ GENx___x___x___ ,
|
|
/*E659*/ GENx___x___x___ ,
|
|
/*E65A*/ GENx___x___x___ ,
|
|
/*E65B*/ GENx___x___x___ ,
|
|
/*E65C*/ GENx___x___x___ ,
|
|
/*E65D*/ GENx___x___x___ ,
|
|
/*E65E*/ GENx___x___x___ ,
|
|
/*E65F*/ GENx___x___x___ ,
|
|
/*E660*/ GENx___x___x___ ,
|
|
/*E661*/ GENx___x___x___ ,
|
|
/*E662*/ GENx___x___x___ ,
|
|
/*E663*/ GENx___x___x___ ,
|
|
/*E664*/ GENx___x___x___ ,
|
|
/*E665*/ GENx___x___x___ ,
|
|
/*E666*/ GENx___x___x___ ,
|
|
/*E667*/ GENx___x___x___ ,
|
|
/*E668*/ GENx___x___x___ ,
|
|
/*E669*/ GENx___x___x___ ,
|
|
/*E66A*/ GENx___x___x___ ,
|
|
/*E66B*/ GENx___x___x___ ,
|
|
/*E66C*/ GENx___x___x___ ,
|
|
/*E66D*/ GENx___x___x___ ,
|
|
/*E66E*/ GENx___x___x___ ,
|
|
/*E66F*/ GENx___x___x___ ,
|
|
/*E670*/ GENx___x___x___ ,
|
|
/*E671*/ GENx___x___x___ ,
|
|
/*E672*/ GENx___x___x___ ,
|
|
/*E673*/ GENx___x___x___ ,
|
|
/*E674*/ GENx___x___x___ ,
|
|
/*E675*/ GENx___x___x___ ,
|
|
/*E676*/ GENx___x___x___ ,
|
|
/*E677*/ GENx___x___x___ ,
|
|
/*E678*/ GENx___x___x___ ,
|
|
/*E679*/ GENx___x___x___ ,
|
|
/*E67A*/ GENx___x___x___ ,
|
|
/*E67B*/ GENx___x___x___ ,
|
|
/*E67C*/ GENx___x___x___ ,
|
|
/*E67D*/ GENx___x___x___ ,
|
|
/*E67E*/ GENx___x___x___ ,
|
|
/*E67F*/ GENx___x___x___ ,
|
|
/*E680*/ GENx___x___x___ ,
|
|
/*E681*/ GENx___x___x___ ,
|
|
/*E682*/ GENx___x___x___ ,
|
|
/*E683*/ GENx___x___x___ ,
|
|
/*E684*/ GENx___x___x___ ,
|
|
/*E685*/ GENx___x___x___ ,
|
|
/*E686*/ GENx___x___x___ ,
|
|
/*E687*/ GENx___x___x___ ,
|
|
/*E688*/ GENx___x___x___ ,
|
|
/*E689*/ GENx___x___x___ ,
|
|
/*E68A*/ GENx___x___x___ ,
|
|
/*E68B*/ GENx___x___x___ ,
|
|
/*E68C*/ GENx___x___x___ ,
|
|
/*E68D*/ GENx___x___x___ ,
|
|
/*E68E*/ GENx___x___x___ ,
|
|
/*E68F*/ GENx___x___x___ ,
|
|
/*E690*/ GENx___x___x___ ,
|
|
/*E691*/ GENx___x___x___ ,
|
|
/*E692*/ GENx___x___x___ ,
|
|
/*E693*/ GENx___x___x___ ,
|
|
/*E694*/ GENx___x___x___ ,
|
|
/*E695*/ GENx___x___x___ ,
|
|
/*E696*/ GENx___x___x___ ,
|
|
/*E697*/ GENx___x___x___ ,
|
|
/*E698*/ GENx___x___x___ ,
|
|
/*E699*/ GENx___x___x___ ,
|
|
/*E69A*/ GENx___x___x___ ,
|
|
/*E69B*/ GENx___x___x___ ,
|
|
/*E69C*/ GENx___x___x___ ,
|
|
/*E69D*/ GENx___x___x___ ,
|
|
/*E69E*/ GENx___x___x___ ,
|
|
/*E69F*/ GENx___x___x___ ,
|
|
/*E6A0*/ GENx___x___x___ ,
|
|
/*E6A1*/ GENx___x___x___ ,
|
|
/*E6A2*/ GENx___x___x___ ,
|
|
/*E6A3*/ GENx___x___x___ ,
|
|
/*E6A4*/ GENx___x___x___ ,
|
|
/*E6A5*/ GENx___x___x___ ,
|
|
/*E6A6*/ GENx___x___x___ ,
|
|
/*E6A7*/ GENx___x___x___ ,
|
|
/*E6A8*/ GENx___x___x___ ,
|
|
/*E6A9*/ GENx___x___x___ ,
|
|
/*E6AA*/ GENx___x___x___ ,
|
|
/*E6AB*/ GENx___x___x___ ,
|
|
/*E6AC*/ GENx___x___x___ ,
|
|
/*E6AD*/ GENx___x___x___ ,
|
|
/*E6AE*/ GENx___x___x___ ,
|
|
/*E6AF*/ GENx___x___x___ ,
|
|
/*E6B0*/ GENx___x___x___ ,
|
|
/*E6B1*/ GENx___x___x___ ,
|
|
/*E6B2*/ GENx___x___x___ ,
|
|
/*E6B3*/ GENx___x___x___ ,
|
|
/*E6B4*/ GENx___x___x___ ,
|
|
/*E6B5*/ GENx___x___x___ ,
|
|
/*E6B6*/ GENx___x___x___ ,
|
|
/*E6B7*/ GENx___x___x___ ,
|
|
/*E6B8*/ GENx___x___x___ ,
|
|
/*E6B9*/ GENx___x___x___ ,
|
|
/*E6BA*/ GENx___x___x___ ,
|
|
/*E6BB*/ GENx___x___x___ ,
|
|
/*E6BC*/ GENx___x___x___ ,
|
|
/*E6BD*/ GENx___x___x___ ,
|
|
/*E6BE*/ GENx___x___x___ ,
|
|
/*E6BF*/ GENx___x___x___ ,
|
|
/*E6C0*/ GENx___x___x___ ,
|
|
/*E6C1*/ GENx___x___x___ ,
|
|
/*E6C2*/ GENx___x___x___ ,
|
|
/*E6C3*/ GENx___x___x___ ,
|
|
/*E6C4*/ GENx___x___x___ ,
|
|
/*E6C5*/ GENx___x___x___ ,
|
|
/*E6C6*/ GENx___x___x___ ,
|
|
/*E6C7*/ GENx___x___x___ ,
|
|
/*E6C8*/ GENx___x___x___ ,
|
|
/*E6C9*/ GENx___x___x___ ,
|
|
/*E6CA*/ GENx___x___x___ ,
|
|
/*E6CB*/ GENx___x___x___ ,
|
|
/*E6CC*/ GENx___x___x___ ,
|
|
/*E6CD*/ GENx___x___x___ ,
|
|
/*E6CE*/ GENx___x___x___ ,
|
|
/*E6CF*/ GENx___x___x___ ,
|
|
/*E6D0*/ GENx___x___x___ ,
|
|
/*E6D1*/ GENx___x___x___ ,
|
|
/*E6D2*/ GENx___x___x___ ,
|
|
/*E6D3*/ GENx___x___x___ ,
|
|
/*E6D4*/ GENx___x___x___ ,
|
|
/*E6D5*/ GENx___x___x___ ,
|
|
/*E6D6*/ GENx___x___x___ ,
|
|
/*E6D7*/ GENx___x___x___ ,
|
|
/*E6D8*/ GENx___x___x___ ,
|
|
/*E6D9*/ GENx___x___x___ ,
|
|
/*E6DA*/ GENx___x___x___ ,
|
|
/*E6DB*/ GENx___x___x___ ,
|
|
/*E6DC*/ GENx___x___x___ ,
|
|
/*E6DD*/ GENx___x___x___ ,
|
|
/*E6DE*/ GENx___x___x___ ,
|
|
/*E6DF*/ GENx___x___x___ ,
|
|
/*E6E0*/ GENx___x___x___ ,
|
|
/*E6E1*/ GENx___x___x___ ,
|
|
/*E6E2*/ GENx___x___x___ ,
|
|
/*E6E3*/ GENx___x___x___ ,
|
|
/*E6E4*/ GENx___x___x___ ,
|
|
/*E6E5*/ GENx___x___x___ ,
|
|
/*E6E6*/ GENx___x___x___ ,
|
|
/*E6E7*/ GENx___x___x___ ,
|
|
/*E6E8*/ GENx___x___x___ ,
|
|
/*E6E9*/ GENx___x___x___ ,
|
|
/*E6EA*/ GENx___x___x___ ,
|
|
/*E6EB*/ GENx___x___x___ ,
|
|
/*E6EC*/ GENx___x___x___ ,
|
|
/*E6ED*/ GENx___x___x___ ,
|
|
/*E6EE*/ GENx___x___x___ ,
|
|
/*E6EF*/ GENx___x___x___ ,
|
|
/*E6F0*/ GENx___x___x___ ,
|
|
/*E6F1*/ GENx___x___x___ ,
|
|
/*E6F2*/ GENx___x___x___ ,
|
|
/*E6F3*/ GENx___x___x___ ,
|
|
/*E6F4*/ GENx___x___x___ ,
|
|
/*E6F5*/ GENx___x___x___ ,
|
|
/*E6F6*/ GENx___x___x___ ,
|
|
/*E6F7*/ GENx___x___x___ ,
|
|
/*E6F8*/ GENx___x___x___ ,
|
|
/*E6F9*/ GENx___x___x___ ,
|
|
/*E6FA*/ GENx___x___x___ ,
|
|
/*E6FB*/ GENx___x___x___ ,
|
|
/*E6FC*/ GENx___x___x___ ,
|
|
/*E6FD*/ GENx___x___x___ ,
|
|
/*E6FE*/ GENx___x___x___ ,
|
|
/*E6FF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func opcode_ebxx[0x100][GEN_MAXARCH] = {
|
|
/*EB00*/ GENx___x___x___ ,
|
|
/*EB01*/ GENx___x___x___ ,
|
|
/*EB02*/ GENx___x___x___ ,
|
|
/*EB03*/ GENx___x___x___ ,
|
|
/*EB04*/ GENx___x___x900 (load_multiple_long,RSY,"LMG"),
|
|
/*EB05*/ GENx___x___x___ ,
|
|
/*EB06*/ GENx___x___x___ ,
|
|
/*EB07*/ GENx___x___x___ ,
|
|
/*EB08*/ GENx___x___x___ ,
|
|
/*EB09*/ GENx___x___x___ ,
|
|
/*EB0A*/ GENx___x___x900 (shift_right_single_long,RSY,"SRAG"),
|
|
/*EB0B*/ GENx___x___x900 (shift_left_single_long,RSY,"SLAG"),
|
|
/*EB0C*/ GENx___x___x900 (shift_right_single_logical_long,RSY,"SRLG"),
|
|
/*EB0D*/ GENx___x___x900 (shift_left_single_logical_long,RSY,"SLLG"),
|
|
/*EB0E*/ GENx___x___x___ ,
|
|
/*EB0F*/ GENx___x___x900 (trace_long,RSY,"TRACG"),
|
|
/*EB10*/ GENx___x___x___ ,
|
|
/*EB11*/ GENx___x___x___ ,
|
|
/*EB12*/ GENx___x___x___ ,
|
|
/*EB13*/ GENx___x___x___ ,
|
|
/*EB14*/ GENx___x___x900 (compare_and_swap_y,RSY,"CSY"),
|
|
/*EB15*/ GENx___x___x___ ,
|
|
/*EB16*/ GENx___x___x___ ,
|
|
/*EB17*/ GENx___x___x___ ,
|
|
/*EB18*/ GENx___x___x___ ,
|
|
/*EB19*/ GENx___x___x___ ,
|
|
/*EB1A*/ GENx___x___x___ ,
|
|
/*EB1B*/ GENx___x___x___ ,
|
|
/*EB1C*/ GENx___x___x900 (rotate_left_single_logical_long,RSY,"RLLG"),
|
|
/*EB1D*/ GENx37Xx390x900 (rotate_left_single_logical,RSY,"RLL"),
|
|
/*EB1E*/ GENx___x___x___ ,
|
|
/*EB1F*/ GENx___x___x___ ,
|
|
/*EB20*/ GENx___x___x900 (compare_logical_characters_under_mask_high,RSY,"CLMH"),
|
|
/*EB21*/ GENx___x___x900 (compare_logical_characters_under_mask_y,RSY,"CLMY"),
|
|
/*EB22*/ GENx___x___x___ ,
|
|
/*EB23*/ GENx___x___x___ ,
|
|
/*EB24*/ GENx___x___x900 (store_multiple_long,RSY,"STMG"),
|
|
/*EB25*/ GENx___x___x900 (store_control_long,RSY,"STCTG"),
|
|
/*EB26*/ GENx___x___x900 (store_multiple_high,RSY,"STMH"),
|
|
/*EB27*/ GENx___x___x___ ,
|
|
/*EB28*/ GENx___x___x___ ,
|
|
/*EB29*/ GENx___x___x___ ,
|
|
/*EB2A*/ GENx___x___x___ ,
|
|
/*EB2B*/ GENx___x___x___ ,
|
|
/*EB2C*/ GENx___x___x900 (store_characters_under_mask_high,RSY,"STCMH"),
|
|
/*EB2D*/ GENx___x___x900 (store_characters_under_mask_y,RSY,"STCMY"),
|
|
/*EB2E*/ GENx___x___x___ ,
|
|
/*EB2F*/ GENx___x___x900 (load_control_long,RSY,"LCTLG"),
|
|
/*EB30*/ GENx___x___x900 (compare_and_swap_long,RSY,"CSG"),
|
|
/*EB31*/ GENx___x___x900 (compare_double_and_swap_y,RSY,"CDSY"),
|
|
/*EB32*/ GENx___x___x___ ,
|
|
/*EB33*/ GENx___x___x___ ,
|
|
/*EB34*/ GENx___x___x___ ,
|
|
/*EB35*/ GENx___x___x___ ,
|
|
/*EB36*/ GENx___x___x___ ,
|
|
/*EB37*/ GENx___x___x___ ,
|
|
/*EB38*/ GENx___x___x___ ,
|
|
/*EB39*/ GENx___x___x___ ,
|
|
/*EB3A*/ GENx___x___x___ ,
|
|
/*EB3B*/ GENx___x___x___ ,
|
|
/*EB3C*/ GENx___x___x___ ,
|
|
/*EB3D*/ GENx___x___x___ ,
|
|
/*EB3E*/ GENx___x___x900 (compare_double_and_swap_long,RSY,"CDSG"),
|
|
/*EB3F*/ GENx___x___x___ ,
|
|
/*EB40*/ GENx___x___x___ ,
|
|
/*EB41*/ GENx___x___x___ ,
|
|
/*EB42*/ GENx___x___x___ ,
|
|
/*EB43*/ GENx___x___x___ ,
|
|
/*EB44*/ GENx___x___x900 (branch_on_index_high_long,RSY,"BXHG"),
|
|
/*EB45*/ GENx___x___x900 (branch_on_index_low_or_equal_long,RSY,"BXLEG"),
|
|
/*EB46*/ GENx___x___x___ ,
|
|
/*EB47*/ GENx___x___x___ ,
|
|
/*EB48*/ GENx___x___x___ ,
|
|
/*EB49*/ GENx___x___x___ ,
|
|
/*EB4A*/ GENx___x___x___ ,
|
|
/*EB4B*/ GENx___x___x___ ,
|
|
/*EB4C*/ GENx___x___x900 (extract_cache_attribute,RSY,"ECAG"), /*208*/
|
|
/*EB4D*/ GENx___x___x___ ,
|
|
/*EB4E*/ GENx___x___x___ ,
|
|
/*EB4F*/ GENx___x___x___ ,
|
|
/*EB50*/ GENx___x___x___ ,
|
|
/*EB51*/ GENx___x___x900 (test_under_mask_y,SIY,"TMY"),
|
|
/*EB52*/ GENx___x___x900 (move_immediate_y,SIY,"MVIY"),
|
|
/*EB53*/ GENx___x___x___ ,
|
|
/*EB54*/ GENx___x___x900 (and_immediate_y,SIY,"NIY"),
|
|
/*EB55*/ GENx___x___x900 (compare_logical_immediate_y,SIY,"CLIY"),
|
|
/*EB56*/ GENx___x___x900 (or_immediate_y,SIY,"OIY"),
|
|
/*EB57*/ GENx___x___x900 (exclusive_or_immediate_y,SIY,"XIY"),
|
|
/*EB58*/ GENx___x___x___ ,
|
|
/*EB59*/ GENx___x___x___ ,
|
|
/*EB5A*/ GENx___x___x___ ,
|
|
/*EB5B*/ GENx___x___x___ ,
|
|
/*EB5C*/ GENx___x___x___ ,
|
|
/*EB5D*/ GENx___x___x___ ,
|
|
/*EB5E*/ GENx___x___x___ ,
|
|
/*EB5F*/ GENx___x___x___ ,
|
|
/*EB60*/ GENx___x___x___ ,
|
|
/*EB61*/ GENx___x___x___ ,
|
|
/*EB62*/ GENx___x___x___ ,
|
|
/*EB63*/ GENx___x___x___ ,
|
|
/*EB64*/ GENx___x___x___ ,
|
|
/*EB65*/ GENx___x___x___ ,
|
|
/*EB66*/ GENx___x___x___ ,
|
|
/*EB67*/ GENx___x___x___ ,
|
|
/*EB68*/ GENx___x___x___ ,
|
|
/*EB69*/ GENx___x___x___ ,
|
|
/*EB6A*/ GENx37Xx390x900 (add_immediate_storage,SIY,"ASI"), /*208*/
|
|
/*EB6B*/ GENx___x___x___ ,
|
|
/*EB6C*/ GENx___x___x___ ,
|
|
/*EB6D*/ GENx___x___x___ ,
|
|
/*EB6E*/ GENx37Xx390x900 (add_logical_with_signed_immediate,SIY,"ALSI"), /*208*/
|
|
/*EB6F*/ GENx___x___x___ ,
|
|
/*EB70*/ GENx___x___x___ ,
|
|
/*EB71*/ GENx___x___x___ ,
|
|
/*EB72*/ GENx___x___x___ ,
|
|
/*EB73*/ GENx___x___x___ ,
|
|
/*EB74*/ GENx___x___x___ ,
|
|
/*EB75*/ GENx___x___x___ ,
|
|
/*EB76*/ GENx___x___x___ ,
|
|
/*EB77*/ GENx___x___x___ ,
|
|
/*EB78*/ GENx___x___x___ ,
|
|
/*EB79*/ GENx___x___x___ ,
|
|
/*EB7A*/ GENx37Xx390x900 (add_immediate_long_storage,SIY,"AGSI"), /*208*/
|
|
/*EB7B*/ GENx___x___x___ ,
|
|
/*EB7C*/ GENx___x___x___ ,
|
|
/*EB7D*/ GENx___x___x___ ,
|
|
/*EB7E*/ GENx37Xx390x900 (add_logical_with_signed_immediate_long,SIY,"ALGSI"), /*208*/
|
|
/*EB7F*/ GENx___x___x___ ,
|
|
/*EB80*/ GENx___x___x900 (insert_characters_under_mask_high,RSY,"ICMH"),
|
|
/*EB81*/ GENx___x___x900 (insert_characters_under_mask_y,RSY,"ICMY"),
|
|
/*EB82*/ GENx___x___x___ ,
|
|
/*EB83*/ GENx___x___x___ ,
|
|
/*EB84*/ GENx___x___x___ ,
|
|
/*EB85*/ GENx___x___x___ ,
|
|
/*EB86*/ GENx___x___x___ ,
|
|
/*EB87*/ GENx___x___x___ ,
|
|
/*EB88*/ GENx___x___x___ ,
|
|
/*EB89*/ GENx___x___x___ ,
|
|
/*EB8A*/ GENx___x___x900 (set_queue_buffer_state,RSY,"SQBS"),
|
|
/*EB8B*/ GENx___x___x___ ,
|
|
/*EB8C*/ GENx___x___x___ ,
|
|
/*EB8D*/ GENx___x___x___ ,
|
|
/*EB8E*/ GENx37Xx390x900 (move_long_unicode,RSY,"MVCLU"),
|
|
/*EB8F*/ GENx37Xx390x900 (compare_logical_long_unicode,RSY,"CLCLU"),
|
|
/*EB90*/ GENx___x___x900 (store_multiple_y,RSY,"STMY"),
|
|
/*EB91*/ GENx___x___x___ ,
|
|
/*EB92*/ GENx___x___x___ ,
|
|
/*EB93*/ GENx___x___x___ ,
|
|
/*EB94*/ GENx___x___x___ ,
|
|
/*EB95*/ GENx___x___x___ ,
|
|
/*EB96*/ GENx___x___x900 (load_multiple_high,RSY,"LMH"),
|
|
/*EB97*/ GENx___x___x___ ,
|
|
/*EB98*/ GENx___x___x900 (load_multiple_y,RSY,"LMY"),
|
|
/*EB99*/ GENx___x___x___ ,
|
|
/*EB9A*/ GENx___x___x900 (load_access_multiple_y,RSY,"LAMY"),
|
|
/*EB9B*/ GENx___x___x900 (store_access_multiple_y,RSY,"STAMY"),
|
|
/*EB9C*/ GENx___x___x___ ,
|
|
/*EB9D*/ GENx___x___x___ ,
|
|
/*EB9E*/ GENx___x___x___ ,
|
|
/*EB9F*/ GENx___x___x___ ,
|
|
/*EBA0*/ GENx___x___x___ ,
|
|
/*EBA1*/ GENx___x___x___ ,
|
|
/*EBA2*/ GENx___x___x___ ,
|
|
/*EBA3*/ GENx___x___x___ ,
|
|
/*EBEB*/ GENx___x___x___ ,
|
|
/*EBA5*/ GENx___x___x___ ,
|
|
/*EBA6*/ GENx___x___x___ ,
|
|
/*EBA7*/ GENx___x___x___ ,
|
|
/*EBA8*/ GENx___x___x___ ,
|
|
/*EBA9*/ GENx___x___x___ ,
|
|
/*EBAA*/ GENx___x___x___ ,
|
|
/*EBAB*/ GENx___x___x___ ,
|
|
/*EBAC*/ GENx___x___x___ ,
|
|
/*EBAD*/ GENx___x___x___ ,
|
|
/*EBAE*/ GENx___x___x___ ,
|
|
/*EBAF*/ GENx___x___x___ ,
|
|
/*EBB0*/ GENx___x___x___ ,
|
|
/*EBB1*/ GENx___x___x___ ,
|
|
/*EBB2*/ GENx___x___x___ ,
|
|
/*EBB3*/ GENx___x___x___ ,
|
|
/*EBB4*/ GENx___x___x___ ,
|
|
/*EBB5*/ GENx___x___x___ ,
|
|
/*EBB6*/ GENx___x___x___ ,
|
|
/*EBB7*/ GENx___x___x___ ,
|
|
/*EBB8*/ GENx___x___x___ ,
|
|
/*EBEB*/ GENx___x___x___ ,
|
|
/*EBBA*/ GENx___x___x___ ,
|
|
/*EBBB*/ GENx___x___x___ ,
|
|
/*EBBC*/ GENx___x___x___ ,
|
|
/*EBBD*/ GENx___x___x___ ,
|
|
/*EBBE*/ GENx___x___x___ ,
|
|
/*EBBF*/ GENx___x___x___ ,
|
|
/*EBC0*/ GENx37Xx390x900 (test_decimal,RSL,"TP"),
|
|
/*EBC1*/ GENx___x___x___ ,
|
|
/*EBC2*/ GENx___x___x___ ,
|
|
/*EBC3*/ GENx___x___x___ ,
|
|
/*EBC4*/ GENx___x___x___ ,
|
|
/*EBC5*/ GENx___x___x___ ,
|
|
/*EBC6*/ GENx___x___x___ ,
|
|
/*EBC7*/ GENx___x___x___ ,
|
|
/*EBC8*/ GENx___x___x___ ,
|
|
/*EBC9*/ GENx___x___x___ ,
|
|
/*EBCA*/ GENx___x___x___ ,
|
|
/*EBCB*/ GENx___x___x___ ,
|
|
/*EBCC*/ GENx___x___x___ ,
|
|
/*EBCD*/ GENx___x___x___ ,
|
|
/*EBCE*/ GENx___x___x___ ,
|
|
/*EBCF*/ GENx___x___x___ ,
|
|
/*EBD0*/ GENx___x___x___ ,
|
|
/*EBD1*/ GENx___x___x___ ,
|
|
/*EBD2*/ GENx___x___x___ ,
|
|
/*EBD3*/ GENx___x___x___ ,
|
|
/*EBD4*/ GENx___x___x___ ,
|
|
/*EBD5*/ GENx___x___x___ ,
|
|
/*EBD6*/ GENx___x___x___ ,
|
|
/*EBD7*/ GENx___x___x___ ,
|
|
/*EBD8*/ GENx___x___x___ ,
|
|
/*EBD9*/ GENx___x___x___ ,
|
|
/*EBDA*/ GENx___x___x___ ,
|
|
/*EBDB*/ GENx___x___x___ ,
|
|
/*EBDC*/ GENx37Xx390x900 (shift_right_single_distinct,RSY,"SRAK"), /*810*/
|
|
/*EBDD*/ GENx37Xx390x900 (shift_left_single_distinct,RSY,"SLAK"), /*810*/
|
|
/*EBDE*/ GENx37Xx390x900 (shift_right_single_logical_distinct,RSY,"SRLK"), /*810*/
|
|
/*EBDF*/ GENx37Xx390x900 (shift_left_single_logical_distinct,RSY,"SLLK"), /*810*/
|
|
/*EBE0*/ GENx___x___x___ ,
|
|
/*EBE1*/ GENx___x___x___ ,
|
|
/*EBE2*/ GENx___x___x900 (load_on_condition_long,RSY_M3,"LOCG"), /*810*/
|
|
/*EBE3*/ GENx___x___x900 (store_on_condition_long,RSY_M3,"STOCG"), /*810*/
|
|
/*EBE4*/ GENx___x___x900 (load_and_and_long,RSY,"LANG"), /*810*/
|
|
/*EBE5*/ GENx___x___x___ ,
|
|
/*EBE6*/ GENx___x___x900 (load_and_or_long,RSY,"LAOG"), /*810*/
|
|
/*EBE7*/ GENx___x___x900 (load_and_exclusive_or_long,RSY,"LAXG"), /*810*/
|
|
/*EBE8*/ GENx___x___x900 (load_and_add_long,RSY,"LAAG"), /*810*/
|
|
/*EBE9*/ GENx___x___x___ ,
|
|
/*EBEA*/ GENx___x___x900 (load_and_add_logical_long,RSY,"LAALG"), /*810*/
|
|
/*EBEB*/ GENx___x___x___ ,
|
|
/*EBEC*/ GENx___x___x___ ,
|
|
/*EBED*/ GENx___x___x___ ,
|
|
/*EBEE*/ GENx___x___x___ ,
|
|
/*EBEF*/ GENx___x___x___ ,
|
|
/*EBF0*/ GENx___x___x___ ,
|
|
/*EBF1*/ GENx___x___x___ ,
|
|
/*EBF2*/ GENx37Xx390x900 (load_on_condition,RSY_M3,"LOC"), /*810*/
|
|
/*EBF3*/ GENx37Xx390x900 (store_on_condition,RSY_M3,"STOC"), /*810*/
|
|
/*EBF4*/ GENx37Xx390x900 (load_and_and,RSY,"LAN"), /*810*/
|
|
/*EBF5*/ GENx___x___x___ ,
|
|
/*EBF6*/ GENx37Xx390x900 (load_and_or,RSY,"LAO"), /*810*/
|
|
/*EBF7*/ GENx37Xx390x900 (load_and_exclusive_or,RSY,"LAX"), /*810*/
|
|
/*EBF8*/ GENx37Xx390x900 (load_and_add,RSY,"LAA"), /*810*/
|
|
/*EBF9*/ GENx___x___x___ ,
|
|
/*EBFA*/ GENx37Xx390x900 (load_and_add_logical,RSY,"LAAL"), /*810*/
|
|
/*EBFB*/ GENx___x___x___ ,
|
|
/*EBFC*/ GENx___x___x___ ,
|
|
/*EBFD*/ GENx___x___x___ ,
|
|
/*EBFE*/ GENx___x___x___ ,
|
|
/*EBFF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func opcode_ecxx[0x100][GEN_MAXARCH] = {
|
|
/*EC00*/ GENx___x___x___ ,
|
|
/*EC01*/ GENx___x___x___ ,
|
|
/*EC02*/ GENx___x___x___ ,
|
|
/*EC03*/ GENx___x___x___ ,
|
|
/*EC04*/ GENx___x___x___ ,
|
|
/*EC05*/ GENx___x___x___ ,
|
|
/*EC06*/ GENx___x___x___ ,
|
|
/*EC07*/ GENx___x___x___ ,
|
|
/*EC08*/ GENx___x___x___ ,
|
|
/*EC09*/ GENx___x___x___ ,
|
|
/*EC0A*/ GENx___x___x___ ,
|
|
/*EC0B*/ GENx___x___x___ ,
|
|
/*EC0C*/ GENx___x___x___ ,
|
|
/*EC0D*/ GENx___x___x___ ,
|
|
/*EC0E*/ GENx___x___x___ ,
|
|
/*EC0F*/ GENx___x___x___ ,
|
|
/*EC10*/ GENx___x___x___ ,
|
|
/*EC11*/ GENx___x___x___ ,
|
|
/*EC12*/ GENx___x___x___ ,
|
|
/*EC13*/ GENx___x___x___ ,
|
|
/*EC14*/ GENx___x___x___ ,
|
|
/*EC15*/ GENx___x___x___ ,
|
|
/*EC16*/ GENx___x___x___ ,
|
|
/*EC17*/ GENx___x___x___ ,
|
|
/*EC18*/ GENx___x___x___ ,
|
|
/*EC19*/ GENx___x___x___ ,
|
|
/*EC1A*/ GENx___x___x___ ,
|
|
/*EC1B*/ GENx___x___x___ ,
|
|
/*EC1C*/ GENx___x___x___ ,
|
|
/*EC1D*/ GENx___x___x___ ,
|
|
/*EC1E*/ GENx___x___x___ ,
|
|
/*EC1F*/ GENx___x___x___ ,
|
|
/*EC20*/ GENx___x___x___ ,
|
|
/*EC21*/ GENx___x___x___ ,
|
|
/*EC22*/ GENx___x___x___ ,
|
|
/*EC23*/ GENx___x___x___ ,
|
|
/*EC24*/ GENx___x___x___ ,
|
|
/*EC25*/ GENx___x___x___ ,
|
|
/*EC26*/ GENx___x___x___ ,
|
|
/*EC27*/ GENx___x___x___ ,
|
|
/*EC28*/ GENx___x___x___ ,
|
|
/*EC29*/ GENx___x___x___ ,
|
|
/*EC2A*/ GENx___x___x___ ,
|
|
/*EC2B*/ GENx___x___x___ ,
|
|
/*EC2C*/ GENx___x___x___ ,
|
|
/*EC2D*/ GENx___x___x___ ,
|
|
/*EC2E*/ GENx___x___x___ ,
|
|
/*EC2F*/ GENx___x___x___ ,
|
|
/*EC30*/ GENx___x___x___ ,
|
|
/*EC31*/ GENx___x___x___ ,
|
|
/*EC32*/ GENx___x___x___ ,
|
|
/*EC33*/ GENx___x___x___ ,
|
|
/*EC34*/ GENx___x___x___ ,
|
|
/*EC35*/ GENx___x___x___ ,
|
|
/*EC36*/ GENx___x___x___ ,
|
|
/*EC37*/ GENx___x___x___ ,
|
|
/*EC38*/ GENx___x___x___ ,
|
|
/*EC39*/ GENx___x___x___ ,
|
|
/*EC3A*/ GENx___x___x___ ,
|
|
/*EC3B*/ GENx___x___x___ ,
|
|
/*EC3C*/ GENx___x___x___ ,
|
|
/*EC3D*/ GENx___x___x___ ,
|
|
/*EC3E*/ GENx___x___x___ ,
|
|
/*EC3F*/ GENx___x___x___ ,
|
|
/*EC40*/ GENx___x___x___ ,
|
|
/*EC41*/ GENx___x___x___ ,
|
|
/*EC42*/ GENx___x___x___ ,
|
|
/*EC43*/ GENx___x___x___ ,
|
|
/*EC44*/ GENx___x___x900 (branch_relative_on_index_high_long,RIE,"BRXHG"),
|
|
/*EC45*/ GENx___x___x900 (branch_relative_on_index_low_or_equal_long,RIE,"BRXLG"),
|
|
/*EC46*/ GENx___x___x___ ,
|
|
/*EC47*/ GENx___x___x___ ,
|
|
/*EC48*/ GENx___x___x___ ,
|
|
/*EC49*/ GENx___x___x___ ,
|
|
/*EC4A*/ GENx___x___x___ ,
|
|
/*EC4B*/ GENx___x___x___ ,
|
|
/*EC4C*/ GENx___x___x___ ,
|
|
/*EC4D*/ GENx___x___x___ ,
|
|
/*EC4E*/ GENx___x___x___ ,
|
|
/*EC4F*/ GENx___x___x___ ,
|
|
/*EC50*/ GENx___x___x___ ,
|
|
/*EC51*/ GENx___x___x900 (rotate_then_insert_selected_bits_low_long_reg,RIE_RRIII,"RISBLG"), /*810*/
|
|
/*EC52*/ GENx___x___x___ ,
|
|
/*EC53*/ GENx___x___x___ ,
|
|
/*EC54*/ GENx___x___x900 (rotate_then_and_selected_bits_long_reg,RIE_RRIII,"RNSBG"), /*208*/
|
|
/*EC55*/ GENx___x___x900 (rotate_then_insert_selected_bits_long_reg,RIE_RRIII,"RISBG"), /*208*/
|
|
/*EC56*/ GENx___x___x900 (rotate_then_or_selected_bits_long_reg,RIE_RRIII,"ROSBG"), /*208*/
|
|
/*EC57*/ GENx___x___x900 (rotate_then_exclusive_or_selected_bits_long_reg,RIE_RRIII,"RXSBG"), /*208*/
|
|
/*EC58*/ GENx___x___x___ ,
|
|
/*EC59*/ GENx___x___x___ ,
|
|
/*EC5A*/ GENx___x___x___ ,
|
|
/*EC5B*/ GENx___x___x___ ,
|
|
/*EC5C*/ GENx___x___x___ ,
|
|
/*EC5D*/ GENx___x___x900 (rotate_then_insert_selected_bits_high_long_reg,RIE_RRIII,"RISBHG"), /*810*/
|
|
/*EC5E*/ GENx___x___x___ ,
|
|
/*EC5F*/ GENx___x___x___ ,
|
|
/*EC60*/ GENx___x___x___ ,
|
|
/*EC61*/ GENx___x___x___ ,
|
|
/*EC62*/ GENx___x___x___ ,
|
|
/*EC63*/ GENx___x___x___ ,
|
|
/*EC64*/ GENx___x___x900 (compare_and_branch_relative_long_register,RIE_RRIM,"CGRJ"), /*208*/
|
|
/*EC65*/ GENx___x___x900 (compare_logical_and_branch_relative_long_register,RIE_RRIM,"CLGRJ"), /*208*/
|
|
/*EC66*/ GENx___x___x___ ,
|
|
/*EC67*/ GENx___x___x___ ,
|
|
/*EC68*/ GENx___x___x___ ,
|
|
/*EC69*/ GENx___x___x___ ,
|
|
/*EC6A*/ GENx___x___x___ ,
|
|
/*EC6B*/ GENx___x___x___ ,
|
|
/*EC6C*/ GENx___x___x___ ,
|
|
/*EC6D*/ GENx___x___x___ ,
|
|
/*EC6E*/ GENx___x___x___ ,
|
|
/*EC6F*/ GENx___x___x___ ,
|
|
/*EC70*/ GENx___x___x900 (compare_immediate_and_trap_long,RIE_RIM,"CGIT"), /*208*/
|
|
/*EC71*/ GENx___x___x900 (compare_logical_immediate_and_trap_long,RIE_RIM,"CLGIT"), /*208*/
|
|
/*EC72*/ GENx37Xx390x900 (compare_immediate_and_trap,RIE_RIM,"CIT"), /*208*/
|
|
/*EC73*/ GENx37Xx390x900 (compare_logical_immediate_and_trap_fullword,RIE_RIM,"CLFIT"), /*208*/
|
|
/*EC74*/ GENx___x___x___ ,
|
|
/*EC75*/ GENx___x___x___ ,
|
|
/*EC76*/ GENx37Xx390x900 (compare_and_branch_relative_register,RIE_RRIM,"CRJ"), /*208*/
|
|
/*EC77*/ GENx37Xx390x900 (compare_logical_and_branch_relative_register,RIE_RRIM,"CLRJ"), /*208*/
|
|
/*EC78*/ GENx___x___x___ ,
|
|
/*EC79*/ GENx___x___x___ ,
|
|
/*EC7A*/ GENx___x___x___ ,
|
|
/*EC7B*/ GENx___x___x___ ,
|
|
/*EC7C*/ GENx___x___x900 (compare_immediate_and_branch_relative_long,RIE_RMII,"CGIJ"), /*208*/
|
|
/*EC7D*/ GENx___x___x900 (compare_logical_immediate_and_branch_relative_long,RIE_RMII,"CLGIJ"), /*208*/
|
|
/*EC7E*/ GENx37Xx390x900 (compare_immediate_and_branch_relative,RIE_RMII,"CIJ"), /*208*/
|
|
/*EC7F*/ GENx37Xx390x900 (compare_logical_immediate_and_branch_relative,RIE_RMII,"CLIJ"), /*208*/
|
|
/*EC80*/ GENx___x___x___ ,
|
|
/*EC81*/ GENx___x___x___ ,
|
|
/*EC82*/ GENx___x___x___ ,
|
|
/*EC83*/ GENx___x___x___ ,
|
|
/*EC84*/ GENx___x___x___ ,
|
|
/*EC85*/ GENx___x___x___ ,
|
|
/*EC86*/ GENx___x___x___ ,
|
|
/*EC87*/ GENx___x___x___ ,
|
|
/*EC88*/ GENx___x___x___ ,
|
|
/*EC89*/ GENx___x___x___ ,
|
|
/*EC8A*/ GENx___x___x___ ,
|
|
/*EC8B*/ GENx___x___x___ ,
|
|
/*EC8C*/ GENx___x___x___ ,
|
|
/*EC8D*/ GENx___x___x___ ,
|
|
/*EC8E*/ GENx___x___x___ ,
|
|
/*EC8F*/ GENx___x___x___ ,
|
|
/*EC90*/ GENx___x___x___ ,
|
|
/*EC91*/ GENx___x___x___ ,
|
|
/*EC92*/ GENx___x___x___ ,
|
|
/*EC93*/ GENx___x___x___ ,
|
|
/*EC94*/ GENx___x___x___ ,
|
|
/*EC95*/ GENx___x___x___ ,
|
|
/*EC96*/ GENx___x___x___ ,
|
|
/*EC97*/ GENx___x___x___ ,
|
|
/*EC98*/ GENx___x___x___ ,
|
|
/*EC99*/ GENx___x___x___ ,
|
|
/*EC9A*/ GENx___x___x___ ,
|
|
/*EC9B*/ GENx___x___x___ ,
|
|
/*EC9C*/ GENx___x___x___ ,
|
|
/*EC9D*/ GENx___x___x___ ,
|
|
/*EC9E*/ GENx___x___x___ ,
|
|
/*EC9F*/ GENx___x___x___ ,
|
|
/*ECA0*/ GENx___x___x___ ,
|
|
/*ECA1*/ GENx___x___x___ ,
|
|
/*ECA2*/ GENx___x___x___ ,
|
|
/*ECA3*/ GENx___x___x___ ,
|
|
/*ECA4*/ GENx___x___x___ ,
|
|
/*ECA5*/ GENx___x___x___ ,
|
|
/*ECA6*/ GENx___x___x___ ,
|
|
/*ECA7*/ GENx___x___x___ ,
|
|
/*ECA8*/ GENx___x___x___ ,
|
|
/*ECA9*/ GENx___x___x___ ,
|
|
/*ECAA*/ GENx___x___x___ ,
|
|
/*ECAB*/ GENx___x___x___ ,
|
|
/*ECAC*/ GENx___x___x___ ,
|
|
/*ECAD*/ GENx___x___x___ ,
|
|
/*ECAE*/ GENx___x___x___ ,
|
|
/*ECAF*/ GENx___x___x___ ,
|
|
/*ECB0*/ GENx___x___x___ ,
|
|
/*ECB1*/ GENx___x___x___ ,
|
|
/*ECB2*/ GENx___x___x___ ,
|
|
/*ECB3*/ GENx___x___x___ ,
|
|
/*ECB4*/ GENx___x___x___ ,
|
|
/*ECB5*/ GENx___x___x___ ,
|
|
/*ECB6*/ GENx___x___x___ ,
|
|
/*ECB7*/ GENx___x___x___ ,
|
|
/*ECB8*/ GENx___x___x___ ,
|
|
/*ECB9*/ GENx___x___x___ ,
|
|
/*ECBA*/ GENx___x___x___ ,
|
|
/*ECBB*/ GENx___x___x___ ,
|
|
/*ECBC*/ GENx___x___x___ ,
|
|
/*ECBD*/ GENx___x___x___ ,
|
|
/*ECBE*/ GENx___x___x___ ,
|
|
/*ECBF*/ GENx___x___x___ ,
|
|
/*ECC0*/ GENx___x___x___ ,
|
|
/*ECC1*/ GENx___x___x___ ,
|
|
/*ECC2*/ GENx___x___x___ ,
|
|
/*ECC3*/ GENx___x___x___ ,
|
|
/*ECC4*/ GENx___x___x___ ,
|
|
/*ECC5*/ GENx___x___x___ ,
|
|
/*ECC6*/ GENx___x___x___ ,
|
|
/*ECC7*/ GENx___x___x___ ,
|
|
/*ECC8*/ GENx___x___x___ ,
|
|
/*ECC9*/ GENx___x___x___ ,
|
|
/*ECCA*/ GENx___x___x___ ,
|
|
/*ECCB*/ GENx___x___x___ ,
|
|
/*ECCC*/ GENx___x___x___ ,
|
|
/*ECCD*/ GENx___x___x___ ,
|
|
/*ECCE*/ GENx___x___x___ ,
|
|
/*ECCF*/ GENx___x___x___ ,
|
|
/*ECD0*/ GENx___x___x___ ,
|
|
/*ECD1*/ GENx___x___x___ ,
|
|
/*ECD2*/ GENx___x___x___ ,
|
|
/*ECD3*/ GENx___x___x___ ,
|
|
/*ECD4*/ GENx___x___x___ ,
|
|
/*ECD5*/ GENx___x___x___ ,
|
|
/*ECD6*/ GENx___x___x___ ,
|
|
/*ECD7*/ GENx___x___x___ ,
|
|
/*ECD8*/ GENx37Xx390x900 (add_distinct_halfword_immediate,RIE_RRI,"AHIK"), /*810*/
|
|
/*ECD9*/ GENx___x___x900 (add_distinct_long_halfword_immediate,RIE_RRI,"AGHIK"), /*810*/
|
|
/*ECDA*/ GENx37Xx390x900 (add_logical_distinct_signed_halfword_immediate,RIE_RRI,"ALHSIK"), /*810*/
|
|
/*ECDB*/ GENx___x___x900 (add_logical_distinct_long_signed_halfword_immediate,RIE_RRI,"AGLHSIK"), /*810*/
|
|
/*ECDC*/ GENx___x___x___ ,
|
|
/*ECDD*/ GENx___x___x___ ,
|
|
/*ECDE*/ GENx___x___x___ ,
|
|
/*ECDF*/ GENx___x___x___ ,
|
|
/*ECE0*/ GENx___x___x___ ,
|
|
/*ECE1*/ GENx___x___x___ ,
|
|
/*ECE2*/ GENx___x___x___ ,
|
|
/*ECE3*/ GENx___x___x___ ,
|
|
/*ECE4*/ GENx___x___x900 (compare_and_branch_long_register,RRS,"CGRB"), /*208*/
|
|
/*ECE5*/ GENx___x___x900 (compare_logical_and_branch_long_register,RRS,"CLGRB"), /*208*/
|
|
/*ECE6*/ GENx___x___x___ ,
|
|
/*ECE7*/ GENx___x___x___ ,
|
|
/*ECE8*/ GENx___x___x___ ,
|
|
/*ECE9*/ GENx___x___x___ ,
|
|
/*ECEA*/ GENx___x___x___ ,
|
|
/*ECEB*/ GENx___x___x___ ,
|
|
/*ECEC*/ GENx___x___x___ ,
|
|
/*ECED*/ GENx___x___x___ ,
|
|
/*ECEE*/ GENx___x___x___ ,
|
|
/*ECEF*/ GENx___x___x___ ,
|
|
/*ECF0*/ GENx___x___x___ ,
|
|
/*ECF1*/ GENx___x___x___ ,
|
|
/*ECF2*/ GENx___x___x___ ,
|
|
/*ECF3*/ GENx___x___x___ ,
|
|
/*ECF4*/ GENx___x___x___ ,
|
|
/*ECF5*/ GENx___x___x___ ,
|
|
/*ECF6*/ GENx37Xx390x900 (compare_and_branch_register,RRS,"CRB"), /*208*/
|
|
/*ECF7*/ GENx37Xx390x900 (compare_logical_and_branch_register,RRS,"CLRB"), /*208*/
|
|
/*ECF8*/ GENx___x___x___ ,
|
|
/*ECF9*/ GENx___x___x___ ,
|
|
/*ECFA*/ GENx___x___x___ ,
|
|
/*ECFB*/ GENx___x___x___ ,
|
|
/*ECFC*/ GENx___x___x900 (compare_immediate_and_branch_long,RIS,"CGIB"), /*208*/
|
|
/*ECFD*/ GENx___x___x900 (compare_logical_immediate_and_branch_long,RIS,"CLGIB"), /*208*/
|
|
/*ECFE*/ GENx37Xx390x900 (compare_immediate_and_branch,RIS,"CIB"), /*208*/
|
|
/*ECFF*/ GENx37Xx390x900 (compare_logical_immediate_and_branch,RIS,"CLIB") }; /*208*/
|
|
|
|
|
|
static zz_func opcode_edxx[0x100][GEN_MAXARCH] = {
|
|
/*ED00*/ GENx___x___x___ ,
|
|
/*ED01*/ GENx___x___x___ ,
|
|
/*ED02*/ GENx___x___x___ ,
|
|
/*ED03*/ GENx___x___x___ ,
|
|
/*ED04*/ GENx37Xx390x900 (load_lengthened_bfp_short_to_long,RXE,"LDEB"),
|
|
/*ED05*/ GENx37Xx390x900 (load_lengthened_bfp_long_to_ext,RXE,"LXDB"),
|
|
/*ED06*/ GENx37Xx390x900 (load_lengthened_bfp_short_to_ext,RXE,"LXEB"),
|
|
/*ED07*/ GENx37Xx390x900 (multiply_bfp_long_to_ext,RXE,"MXDB"),
|
|
/*ED08*/ GENx37Xx390x900 (compare_and_signal_bfp_short,RXE,"KEB"),
|
|
/*ED09*/ GENx37Xx390x900 (compare_bfp_short,RXE,"CEB"),
|
|
/*ED0A*/ GENx37Xx390x900 (add_bfp_short,RXE,"AEB"),
|
|
/*ED0B*/ GENx37Xx390x900 (subtract_bfp_short,RXE,"SEB"),
|
|
/*ED0C*/ GENx37Xx390x900 (multiply_bfp_short_to_long,RXE,"MDEB"),
|
|
/*ED0D*/ GENx37Xx390x900 (divide_bfp_short,RXE,"DEB"),
|
|
/*ED0E*/ GENx37Xx390x900 (multiply_add_bfp_short,RXF,"MAEB"),
|
|
/*ED0F*/ GENx37Xx390x900 (multiply_subtract_bfp_short,RXF,"MSEB"),
|
|
/*ED10*/ GENx37Xx390x900 (test_data_class_bfp_short,RXE,"TCEB"),
|
|
/*ED11*/ GENx37Xx390x900 (test_data_class_bfp_long,RXE,"TCDB"),
|
|
/*ED12*/ GENx37Xx390x900 (test_data_class_bfp_ext,RXE,"TCXB"),
|
|
/*ED13*/ GENx___x___x___ ,
|
|
/*ED14*/ GENx37Xx390x900 (squareroot_bfp_short,RXE,"SQEB"),
|
|
/*ED15*/ GENx37Xx390x900 (squareroot_bfp_long,RXE,"SQDB"),
|
|
/*ED16*/ GENx___x___x___ ,
|
|
/*ED17*/ GENx37Xx390x900 (multiply_bfp_short,RXE,"MEEB"),
|
|
/*ED18*/ GENx37Xx390x900 (compare_and_signal_bfp_long,RXE,"KDB"),
|
|
/*ED19*/ GENx37Xx390x900 (compare_bfp_long,RXE,"CDB"),
|
|
/*ED1A*/ GENx37Xx390x900 (add_bfp_long,RXE,"ADB"),
|
|
/*ED1B*/ GENx37Xx390x900 (subtract_bfp_long,RXE,"SDB"),
|
|
/*ED1C*/ GENx37Xx390x900 (multiply_bfp_long,RXE,"MDB"),
|
|
/*ED1D*/ GENx37Xx390x900 (divide_bfp_long,RXE,"DDB"),
|
|
/*ED1E*/ GENx37Xx390x900 (multiply_add_bfp_long,RXF,"MADB"),
|
|
/*ED1F*/ GENx37Xx390x900 (multiply_subtract_bfp_long,RXF,"MSDB"),
|
|
/*ED20*/ GENx___x___x___ ,
|
|
/*ED21*/ GENx___x___x___ ,
|
|
/*ED22*/ GENx___x___x___ ,
|
|
/*ED23*/ GENx___x___x___ ,
|
|
/*ED24*/ GENx37Xx390x900 (load_lengthened_float_short_to_long,RXE,"LDE"),
|
|
/*ED25*/ GENx37Xx390x900 (load_lengthened_float_long_to_ext,RXE,"LXD"),
|
|
/*ED26*/ GENx37Xx390x900 (load_lengthened_float_short_to_ext,RXE,"LXE"),
|
|
/*ED27*/ GENx___x___x___ ,
|
|
/*ED28*/ GENx___x___x___ ,
|
|
/*ED29*/ GENx___x___x___ ,
|
|
/*ED2A*/ GENx___x___x___ ,
|
|
/*ED2B*/ GENx___x___x___ ,
|
|
/*ED2C*/ GENx___x___x___ ,
|
|
/*ED2D*/ GENx___x___x___ ,
|
|
/*ED2E*/ GENx37Xx390x900 (multiply_add_float_short,RXF,"MAE"),
|
|
/*ED2F*/ GENx37Xx390x900 (multiply_subtract_float_short,RXF,"MSE"),
|
|
/*ED30*/ GENx___x___x___ ,
|
|
/*ED31*/ GENx___x___x___ ,
|
|
/*ED32*/ GENx___x___x___ ,
|
|
/*ED33*/ GENx___x___x___ ,
|
|
/*ED34*/ GENx37Xx390x900 (squareroot_float_short,RXE,"SQE"),
|
|
/*ED35*/ GENx37Xx390x900 (squareroot_float_long,RXE,"SQD"),
|
|
/*ED36*/ GENx___x___x___ ,
|
|
/*ED37*/ GENx37Xx390x900 (multiply_float_short,RXE,"MEE"),
|
|
/*ED38*/ GENx37Xx___x900 (multiply_add_unnormal_float_long_to_ext_low,RXF,"MAYL"), /*@Z9*/
|
|
/*ED39*/ GENx37Xx___x900 (multiply_unnormal_float_long_to_ext_low,RXF,"MYL"), /*@Z9*/
|
|
/*ED3A*/ GENx37Xx___x900 (multiply_add_unnormal_float_long_to_ext,RXF,"MAY"), /*@Z9*/
|
|
/*ED3B*/ GENx37Xx___x900 (multiply_unnormal_float_long_to_ext,RXF,"MY"), /*@Z9*/
|
|
/*ED3C*/ GENx37Xx___x900 (multiply_add_unnormal_float_long_to_ext_high,RXF,"MAYH"), /*@Z9*/
|
|
/*ED3D*/ GENx37Xx___x900 (multiply_unnormal_float_long_to_ext_high,RXF,"MYH"), /*@Z9*/
|
|
/*ED3E*/ GENx37Xx390x900 (multiply_add_float_long,RXF,"MAD"),
|
|
/*ED3F*/ GENx37Xx390x900 (multiply_subtract_float_long,RXF,"MSD"),
|
|
/*ED40*/ GENx___x390x900 (shift_coefficient_left_dfp_long,RXF,"SLDT"),
|
|
/*ED41*/ GENx___x390x900 (shift_coefficient_right_dfp_long,RXF,"SRDT"),
|
|
/*ED42*/ GENx___x___x___ ,
|
|
/*ED43*/ GENx___x___x___ ,
|
|
/*ED44*/ GENx___x___x___ ,
|
|
/*ED45*/ GENx___x___x___ ,
|
|
/*ED46*/ GENx___x___x___ ,
|
|
/*ED47*/ GENx___x___x___ ,
|
|
/*ED48*/ GENx___x390x900 (shift_coefficient_left_dfp_ext,RXF,"SLXT"),
|
|
/*ED49*/ GENx___x390x900 (shift_coefficient_right_dfp_ext,RXF,"SRXT"),
|
|
/*ED4A*/ GENx___x___x___ ,
|
|
/*ED4B*/ GENx___x___x___ ,
|
|
/*ED4C*/ GENx___x___x___ ,
|
|
/*ED4D*/ GENx___x___x___ ,
|
|
/*ED4E*/ GENx___x___x___ ,
|
|
/*ED4F*/ GENx___x___x___ ,
|
|
/*ED50*/ GENx___x390x900 (test_data_class_dfp_short,RXE,"TDCET"),
|
|
/*ED51*/ GENx___x390x900 (test_data_group_dfp_short,RXE,"TDGET"),
|
|
/*ED52*/ GENx___x___x___ ,
|
|
/*ED53*/ GENx___x___x___ ,
|
|
/*ED54*/ GENx___x390x900 (test_data_class_dfp_long,RXE,"TDCDT"),
|
|
/*ED55*/ GENx___x390x900 (test_data_group_dfp_long,RXE,"TDGDT"),
|
|
/*ED56*/ GENx___x___x___ ,
|
|
/*ED57*/ GENx___x___x___ ,
|
|
/*ED58*/ GENx___x390x900 (test_data_class_dfp_ext,RXE,"TDCXT"),
|
|
/*ED59*/ GENx___x390x900 (test_data_group_dfp_ext,RXE,"TDGXT"),
|
|
/*ED5A*/ GENx___x___x___ ,
|
|
/*ED5B*/ GENx___x___x___ ,
|
|
/*ED5C*/ GENx___x___x___ ,
|
|
/*ED5D*/ GENx___x___x___ ,
|
|
/*ED5E*/ GENx___x___x___ ,
|
|
/*ED5F*/ GENx___x___x___ ,
|
|
/*ED60*/ GENx___x___x___ ,
|
|
/*ED61*/ GENx___x___x___ ,
|
|
/*ED62*/ GENx___x___x___ ,
|
|
/*ED63*/ GENx___x___x___ ,
|
|
/*ED64*/ GENx___x___x900 (load_float_short_y,RXY,"LEY"),
|
|
/*ED65*/ GENx___x___x900 (load_float_long_y,RXY,"LDY"),
|
|
/*ED66*/ GENx___x___x900 (store_float_short_y,RXY,"STEY"),
|
|
/*ED67*/ GENx___x___x900 (store_float_long_y,RXY,"STDY"),
|
|
/*ED68*/ GENx___x___x___ ,
|
|
/*ED69*/ GENx___x___x___ ,
|
|
/*ED6A*/ GENx___x___x___ ,
|
|
/*ED6B*/ GENx___x___x___ ,
|
|
/*ED6C*/ GENx___x___x___ ,
|
|
/*ED6D*/ GENx___x___x___ ,
|
|
/*ED6E*/ GENx___x___x___ ,
|
|
/*ED6F*/ GENx___x___x___ ,
|
|
/*ED70*/ GENx___x___x___ ,
|
|
/*ED71*/ GENx___x___x___ ,
|
|
/*ED72*/ GENx___x___x___ ,
|
|
/*ED73*/ GENx___x___x___ ,
|
|
/*ED74*/ GENx___x___x___ ,
|
|
/*ED75*/ GENx___x___x___ ,
|
|
/*ED76*/ GENx___x___x___ ,
|
|
/*ED77*/ GENx___x___x___ ,
|
|
/*ED78*/ GENx___x___x___ ,
|
|
/*ED79*/ GENx___x___x___ ,
|
|
/*ED7A*/ GENx___x___x___ ,
|
|
/*ED7B*/ GENx___x___x___ ,
|
|
/*ED7C*/ GENx___x___x___ ,
|
|
/*ED7D*/ GENx___x___x___ ,
|
|
/*ED7E*/ GENx___x___x___ ,
|
|
/*ED7F*/ GENx___x___x___ ,
|
|
/*ED80*/ GENx___x___x___ ,
|
|
/*ED81*/ GENx___x___x___ ,
|
|
/*ED82*/ GENx___x___x___ ,
|
|
/*ED83*/ GENx___x___x___ ,
|
|
/*ED84*/ GENx___x___x___ ,
|
|
/*ED85*/ GENx___x___x___ ,
|
|
/*ED86*/ GENx___x___x___ ,
|
|
/*ED87*/ GENx___x___x___ ,
|
|
/*ED88*/ GENx___x___x___ ,
|
|
/*ED89*/ GENx___x___x___ ,
|
|
/*ED8A*/ GENx___x___x___ ,
|
|
/*ED8B*/ GENx___x___x___ ,
|
|
/*ED8C*/ GENx___x___x___ ,
|
|
/*ED8D*/ GENx___x___x___ ,
|
|
/*ED8E*/ GENx___x___x___ ,
|
|
/*ED8F*/ GENx___x___x___ ,
|
|
/*ED90*/ GENx___x___x___ ,
|
|
/*ED91*/ GENx___x___x___ ,
|
|
/*ED92*/ GENx___x___x___ ,
|
|
/*ED93*/ GENx___x___x___ ,
|
|
/*ED94*/ GENx___x___x___ ,
|
|
/*ED95*/ GENx___x___x___ ,
|
|
/*ED96*/ GENx___x___x___ ,
|
|
/*ED97*/ GENx___x___x___ ,
|
|
/*ED98*/ GENx___x___x___ ,
|
|
/*ED99*/ GENx___x___x___ ,
|
|
/*ED9A*/ GENx___x___x___ ,
|
|
/*ED9B*/ GENx___x___x___ ,
|
|
/*ED9C*/ GENx___x___x___ ,
|
|
/*ED9D*/ GENx___x___x___ ,
|
|
/*ED9E*/ GENx___x___x___ ,
|
|
/*ED9F*/ GENx___x___x___ ,
|
|
/*EDA0*/ GENx___x___x___ ,
|
|
/*EDA1*/ GENx___x___x___ ,
|
|
/*EDA2*/ GENx___x___x___ ,
|
|
/*EDA3*/ GENx___x___x___ ,
|
|
/*EDA4*/ GENx___x___x___ ,
|
|
/*EDA5*/ GENx___x___x___ ,
|
|
/*EDA6*/ GENx___x___x___ ,
|
|
/*EDA7*/ GENx___x___x___ ,
|
|
/*EDA8*/ GENx___x___x___ ,
|
|
/*EDA9*/ GENx___x___x___ ,
|
|
/*EDAA*/ GENx___x___x___ ,
|
|
/*EDAB*/ GENx___x___x___ ,
|
|
/*EDAC*/ GENx___x___x___ ,
|
|
/*EDAD*/ GENx___x___x___ ,
|
|
/*EDAE*/ GENx___x___x___ ,
|
|
/*EDAF*/ GENx___x___x___ ,
|
|
/*EDB0*/ GENx___x___x___ ,
|
|
/*EDB1*/ GENx___x___x___ ,
|
|
/*EDB2*/ GENx___x___x___ ,
|
|
/*EDB3*/ GENx___x___x___ ,
|
|
/*EDB4*/ GENx___x___x___ ,
|
|
/*EDB5*/ GENx___x___x___ ,
|
|
/*EDB6*/ GENx___x___x___ ,
|
|
/*EDB7*/ GENx___x___x___ ,
|
|
/*EDB8*/ GENx___x___x___ ,
|
|
/*EDB3*/ GENx___x___x___ ,
|
|
/*EDBA*/ GENx___x___x___ ,
|
|
/*EDBB*/ GENx___x___x___ ,
|
|
/*EDBC*/ GENx___x___x___ ,
|
|
/*EDBD*/ GENx___x___x___ ,
|
|
/*EDBE*/ GENx___x___x___ ,
|
|
/*EDBF*/ GENx___x___x___ ,
|
|
/*EDC0*/ GENx___x___x___ ,
|
|
/*EDC1*/ GENx___x___x___ ,
|
|
/*EDC2*/ GENx___x___x___ ,
|
|
/*EDC3*/ GENx___x___x___ ,
|
|
/*EDC4*/ GENx___x___x___ ,
|
|
/*EDC5*/ GENx___x___x___ ,
|
|
/*EDC6*/ GENx___x___x___ ,
|
|
/*EDC7*/ GENx___x___x___ ,
|
|
/*EDC8*/ GENx___x___x___ ,
|
|
/*EDC9*/ GENx___x___x___ ,
|
|
/*EDCA*/ GENx___x___x___ ,
|
|
/*EDCB*/ GENx___x___x___ ,
|
|
/*EDCC*/ GENx___x___x___ ,
|
|
/*EDCD*/ GENx___x___x___ ,
|
|
/*EDCE*/ GENx___x___x___ ,
|
|
/*EDCF*/ GENx___x___x___ ,
|
|
/*EDD0*/ GENx___x___x___ ,
|
|
/*EDD1*/ GENx___x___x___ ,
|
|
/*EDD2*/ GENx___x___x___ ,
|
|
/*EDD3*/ GENx___x___x___ ,
|
|
/*EDD4*/ GENx___x___x___ ,
|
|
/*EDD5*/ GENx___x___x___ ,
|
|
/*EDD6*/ GENx___x___x___ ,
|
|
/*EDD7*/ GENx___x___x___ ,
|
|
/*EDD8*/ GENx___x___x___ ,
|
|
/*EDD9*/ GENx___x___x___ ,
|
|
/*EDDA*/ GENx___x___x___ ,
|
|
/*EDDB*/ GENx___x___x___ ,
|
|
/*EDDC*/ GENx___x___x___ ,
|
|
/*EDDD*/ GENx___x___x___ ,
|
|
/*EDDE*/ GENx___x___x___ ,
|
|
/*EDDF*/ GENx___x___x___ ,
|
|
/*EDE0*/ GENx___x___x___ ,
|
|
/*EDE1*/ GENx___x___x___ ,
|
|
/*EDE2*/ GENx___x___x___ ,
|
|
/*EDE3*/ GENx___x___x___ ,
|
|
/*EDE4*/ GENx___x___x___ ,
|
|
/*EDE5*/ GENx___x___x___ ,
|
|
/*EDE6*/ GENx___x___x___ ,
|
|
/*EDE7*/ GENx___x___x___ ,
|
|
/*EDE8*/ GENx___x___x___ ,
|
|
/*EDE9*/ GENx___x___x___ ,
|
|
/*EDEA*/ GENx___x___x___ ,
|
|
/*EDEB*/ GENx___x___x___ ,
|
|
/*EDEC*/ GENx___x___x___ ,
|
|
/*EDED*/ GENx___x___x___ ,
|
|
/*EDEE*/ GENx___x___x___ ,
|
|
/*EDEF*/ GENx___x___x___ ,
|
|
/*EDF0*/ GENx___x___x___ ,
|
|
/*EDF1*/ GENx___x___x___ ,
|
|
/*EDF2*/ GENx___x___x___ ,
|
|
/*EDF3*/ GENx___x___x___ ,
|
|
/*EDF4*/ GENx___x___x___ ,
|
|
/*EDF5*/ GENx___x___x___ ,
|
|
/*EDF6*/ GENx___x___x___ ,
|
|
/*EDF7*/ GENx___x___x___ ,
|
|
/*EDF8*/ GENx___x___x___ ,
|
|
/*EDF9*/ GENx___x___x___ ,
|
|
/*EDFA*/ GENx___x___x___ ,
|
|
/*EDFB*/ GENx___x___x___ ,
|
|
/*EDFC*/ GENx___x___x___ ,
|
|
/*EDFD*/ GENx___x___x___ ,
|
|
/*EDFE*/ GENx___x___x___ ,
|
|
/*EDFF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func v_opcode_a4xx[0x100][GEN_MAXARCH] = {
|
|
/*A400*/ GENx___x___x___ , /* VAE */
|
|
/*A401*/ GENx___x___x___ , /* VSE */
|
|
/*A402*/ GENx___x___x___ , /* VME */
|
|
/*A403*/ GENx___x___x___ , /* VDE */
|
|
/*A404*/ GENx___x___x___ , /* VMAE */
|
|
/*A405*/ GENx___x___x___ , /* VMSE */
|
|
/*A406*/ GENx___x___x___ , /* VMCE */
|
|
/*A407*/ GENx___x___x___ , /* VACE */
|
|
/*A408*/ GENx___x___x___ , /* VCE */
|
|
/*A409*/ GENx___x___x___ , /* VL, VLE */
|
|
/*A40A*/ GENx___x___x___ , /* VLM, VLME */
|
|
/*A40B*/ GENx___x___x___ , /* VLY, VLYE */
|
|
/*A40C*/ GENx___x___x___ ,
|
|
/*A40D*/ GENx___x___x___ , /* VST, VSTE */
|
|
/*A40E*/ GENx___x___x___ , /* VSTM, VSTME */
|
|
/*A40F*/ GENx___x___x___ , /* VSTK, VSTKE */
|
|
/*A410*/ GENx___x___x___ , /* VAD */
|
|
/*A411*/ GENx___x___x___ , /* VSD */
|
|
/*A412*/ GENx___x___x___ , /* VMD */
|
|
/*A413*/ GENx___x___x___ , /* VDD */
|
|
/*A414*/ GENx___x___x___ , /* VMAD */
|
|
/*A415*/ GENx___x___x___ , /* VMSD */
|
|
/*A416*/ GENx___x___x___ , /* VMCD */
|
|
/*A417*/ GENx___x___x___ , /* VACD */
|
|
/*A418*/ GENx___x___x___ , /* VCD */
|
|
/*A419*/ GENx___x___x___ , /* VLD */
|
|
/*A41A*/ GENx___x___x___ , /* VLMD */
|
|
/*A41B*/ GENx___x___x___ , /* VLYD */
|
|
/*A41C*/ GENx___x___x___ ,
|
|
/*A41D*/ GENx___x___x___ , /* VSTD */
|
|
/*A41E*/ GENx___x___x___ , /* VSTMD */
|
|
/*A41F*/ GENx___x___x___ , /* VSTKD */
|
|
/*A420*/ GENx___x___x___ , /* VA */
|
|
/*A421*/ GENx___x___x___ , /* VS */
|
|
/*A422*/ GENx___x___x___ , /* VM */
|
|
/*A423*/ GENx___x___x___ ,
|
|
/*A424*/ GENx___x___x___ , /* VN */
|
|
/*A425*/ GENx___x___x___ , /* VO */
|
|
/*A426*/ GENx___x___x___ , /* VX */
|
|
/*A427*/ GENx___x___x___ ,
|
|
/*A428*/ GENx___x___x___ , /* VC */
|
|
/*A429*/ GENx___x___x___ , /* VLH */
|
|
/*A42A*/ GENx___x___x___ , /* VLINT */
|
|
/*A42B*/ GENx___x___x___ ,
|
|
/*A42C*/ GENx___x___x___ ,
|
|
/*A42D*/ GENx___x___x___ , /* VSTH */
|
|
/*A42E*/ GENx___x___x___ ,
|
|
/*A42F*/ GENx___x___x___ ,
|
|
/*A430*/ GENx___x___x___ ,
|
|
/*A431*/ GENx___x___x___ ,
|
|
/*A432*/ GENx___x___x___ ,
|
|
/*A433*/ GENx___x___x___ ,
|
|
/*A434*/ GENx___x___x___ ,
|
|
/*A435*/ GENx___x___x___ ,
|
|
/*A436*/ GENx___x___x___ ,
|
|
/*A437*/ GENx___x___x___ ,
|
|
/*A438*/ GENx___x___x___ ,
|
|
/*A439*/ GENx___x___x___ ,
|
|
/*A43A*/ GENx___x___x___ ,
|
|
/*A43B*/ GENx___x___x___ ,
|
|
/*A43C*/ GENx___x___x___ ,
|
|
/*A43D*/ GENx___x___x___ ,
|
|
/*A43E*/ GENx___x___x___ ,
|
|
/*A43F*/ GENx___x___x___ ,
|
|
/*A440*/ GENx___x___x___ ,
|
|
/*A441*/ GENx___x___x___ ,
|
|
/*A442*/ GENx___x___x___ ,
|
|
/*A443*/ GENx___x___x___ ,
|
|
/*A444*/ GENx___x___x___ ,
|
|
/*A445*/ GENx___x___x___ ,
|
|
/*A446*/ GENx___x___x___ ,
|
|
/*A447*/ GENx___x___x___ ,
|
|
/*A448*/ GENx___x___x___ ,
|
|
/*A449*/ GENx___x___x___ ,
|
|
/*A44A*/ GENx___x___x___ ,
|
|
/*A44B*/ GENx___x___x___ ,
|
|
/*A44C*/ GENx___x___x___ ,
|
|
/*A44D*/ GENx___x___x___ ,
|
|
/*A44E*/ GENx___x___x___ ,
|
|
/*A44F*/ GENx___x___x___ ,
|
|
/*A450*/ GENx___x___x___ ,
|
|
/*A451*/ GENx___x___x___ ,
|
|
/*A452*/ GENx___x___x___ ,
|
|
/*A453*/ GENx___x___x___ ,
|
|
/*A454*/ GENx___x___x___ ,
|
|
/*A455*/ GENx___x___x___ ,
|
|
/*A456*/ GENx___x___x___ ,
|
|
/*A457*/ GENx___x___x___ ,
|
|
/*A458*/ GENx___x___x___ ,
|
|
/*A459*/ GENx___x___x___ ,
|
|
/*A45A*/ GENx___x___x___ ,
|
|
/*A45B*/ GENx___x___x___ ,
|
|
/*A45C*/ GENx___x___x___ ,
|
|
/*A45D*/ GENx___x___x___ ,
|
|
/*A45E*/ GENx___x___x___ ,
|
|
/*A45F*/ GENx___x___x___ ,
|
|
/*A460*/ GENx___x___x___ ,
|
|
/*A461*/ GENx___x___x___ ,
|
|
/*A462*/ GENx___x___x___ ,
|
|
/*A463*/ GENx___x___x___ ,
|
|
/*A464*/ GENx___x___x___ ,
|
|
/*A465*/ GENx___x___x___ ,
|
|
/*A466*/ GENx___x___x___ ,
|
|
/*A467*/ GENx___x___x___ ,
|
|
/*A468*/ GENx___x___x___ ,
|
|
/*A469*/ GENx___x___x___ ,
|
|
/*A46A*/ GENx___x___x___ ,
|
|
/*A46B*/ GENx___x___x___ ,
|
|
/*A46C*/ GENx___x___x___ ,
|
|
/*A46D*/ GENx___x___x___ ,
|
|
/*A46E*/ GENx___x___x___ ,
|
|
/*A46F*/ GENx___x___x___ ,
|
|
/*A470*/ GENx___x___x___ ,
|
|
/*A471*/ GENx___x___x___ ,
|
|
/*A472*/ GENx___x___x___ ,
|
|
/*A473*/ GENx___x___x___ ,
|
|
/*A474*/ GENx___x___x___ ,
|
|
/*A475*/ GENx___x___x___ ,
|
|
/*A476*/ GENx___x___x___ ,
|
|
/*A477*/ GENx___x___x___ ,
|
|
/*A478*/ GENx___x___x___ ,
|
|
/*A479*/ GENx___x___x___ ,
|
|
/*A47A*/ GENx___x___x___ ,
|
|
/*A47B*/ GENx___x___x___ ,
|
|
/*A47C*/ GENx___x___x___ ,
|
|
/*A47D*/ GENx___x___x___ ,
|
|
/*A47E*/ GENx___x___x___ ,
|
|
/*A47F*/ GENx___x___x___ ,
|
|
/*A480*/ GENx___x___x___ , /* VAES */
|
|
/*A481*/ GENx___x___x___ , /* VSES */
|
|
/*A482*/ GENx___x___x___ , /* VMES */
|
|
/*A483*/ GENx___x___x___ , /* VDES */
|
|
/*A484*/ GENx___x___x___ , /* VMAES */
|
|
/*A485*/ GENx___x___x___ , /* VMSES */
|
|
/*A486*/ GENx___x___x___ ,
|
|
/*A487*/ GENx___x___x___ ,
|
|
/*A488*/ GENx___x___x___ , /* VCES */
|
|
/*A489*/ GENx___x___x___ ,
|
|
/*A48A*/ GENx___x___x___ ,
|
|
/*A48B*/ GENx___x___x___ ,
|
|
/*A48C*/ GENx___x___x___ ,
|
|
/*A48D*/ GENx___x___x___ ,
|
|
/*A48E*/ GENx___x___x___ ,
|
|
/*A48F*/ GENx___x___x___ ,
|
|
/*A490*/ GENx___x___x___ , /* VADS */
|
|
/*A491*/ GENx___x___x___ , /* VSDS */
|
|
/*A492*/ GENx___x___x___ , /* VMDS */
|
|
/*A493*/ GENx___x___x___ , /* VDDS */
|
|
/*A494*/ GENx___x___x___ , /* VMADS */
|
|
/*A495*/ GENx___x___x___ , /* VMSDS */
|
|
/*A496*/ GENx___x___x___ ,
|
|
/*A497*/ GENx___x___x___ ,
|
|
/*A498*/ GENx___x___x___ , /* VCDS */
|
|
/*A499*/ GENx___x___x___ ,
|
|
/*A49A*/ GENx___x___x___ ,
|
|
/*A49B*/ GENx___x___x___ ,
|
|
/*A49C*/ GENx___x___x___ ,
|
|
/*A49D*/ GENx___x___x___ ,
|
|
/*A49E*/ GENx___x___x___ ,
|
|
/*A49F*/ GENx___x___x___ ,
|
|
/*A4A0*/ GENx___x___x___ , /* VAS */
|
|
/*A4A1*/ GENx___x___x___ , /* VSS */
|
|
/*A4A2*/ GENx___x___x___ , /* VMS */
|
|
/*A4A3*/ GENx___x___x___ ,
|
|
/*A4A4*/ GENx___x___x___ , /* VNS */
|
|
/*A4A5*/ GENx___x___x___ , /* VOS */
|
|
/*A4A6*/ GENx___x___x___ , /* VXS */
|
|
/*A4A7*/ GENx___x___x___ ,
|
|
/*A4A8*/ GENx___x___x___ , /* VCS */
|
|
/*A4A9*/ GENx___x___x___ ,
|
|
/*A4AA*/ GENx___x___x___ ,
|
|
/*A4AB*/ GENx___x___x___ ,
|
|
/*A4AC*/ GENx___x___x___ ,
|
|
/*A4AD*/ GENx___x___x___ ,
|
|
/*A4AE*/ GENx___x___x___ ,
|
|
/*A4AF*/ GENx___x___x___ ,
|
|
/*A4B0*/ GENx___x___x___ ,
|
|
/*A4B1*/ GENx___x___x___ ,
|
|
/*A4B2*/ GENx___x___x___ ,
|
|
/*A4B3*/ GENx___x___x___ ,
|
|
/*A4B4*/ GENx___x___x___ ,
|
|
/*A4B5*/ GENx___x___x___ ,
|
|
/*A4B6*/ GENx___x___x___ ,
|
|
/*A4B7*/ GENx___x___x___ ,
|
|
/*A4B8*/ GENx___x___x___ ,
|
|
/*A4B9*/ GENx___x___x___ ,
|
|
/*A4BA*/ GENx___x___x___ ,
|
|
/*A4BB*/ GENx___x___x___ ,
|
|
/*A4BC*/ GENx___x___x___ ,
|
|
/*A4BD*/ GENx___x___x___ ,
|
|
/*A4BE*/ GENx___x___x___ ,
|
|
/*A4BF*/ GENx___x___x___ ,
|
|
/*A4C0*/ GENx___x___x___ ,
|
|
/*A4C1*/ GENx___x___x___ ,
|
|
/*A4C2*/ GENx___x___x___ ,
|
|
/*A4C3*/ GENx___x___x___ ,
|
|
/*A4C4*/ GENx___x___x___ ,
|
|
/*A4C5*/ GENx___x___x___ ,
|
|
/*A4C6*/ GENx___x___x___ ,
|
|
/*A4C7*/ GENx___x___x___ ,
|
|
/*A4C8*/ GENx___x___x___ ,
|
|
/*A4C9*/ GENx___x___x___ ,
|
|
/*A4CA*/ GENx___x___x___ ,
|
|
/*A4CB*/ GENx___x___x___ ,
|
|
/*A4CC*/ GENx___x___x___ ,
|
|
/*A4CD*/ GENx___x___x___ ,
|
|
/*A4CE*/ GENx___x___x___ ,
|
|
/*A4CF*/ GENx___x___x___ ,
|
|
/*A4D0*/ GENx___x___x___ ,
|
|
/*A4D1*/ GENx___x___x___ ,
|
|
/*A4D2*/ GENx___x___x___ ,
|
|
/*A4D3*/ GENx___x___x___ ,
|
|
/*A4D4*/ GENx___x___x___ ,
|
|
/*A4D5*/ GENx___x___x___ ,
|
|
/*A4D6*/ GENx___x___x___ ,
|
|
/*A4D7*/ GENx___x___x___ ,
|
|
/*A4D8*/ GENx___x___x___ ,
|
|
/*A4D9*/ GENx___x___x___ ,
|
|
/*A4DA*/ GENx___x___x___ ,
|
|
/*A4DB*/ GENx___x___x___ ,
|
|
/*A4DC*/ GENx___x___x___ ,
|
|
/*A4DD*/ GENx___x___x___ ,
|
|
/*A4DE*/ GENx___x___x___ ,
|
|
/*A4DF*/ GENx___x___x___ ,
|
|
/*A4E0*/ GENx___x___x___ ,
|
|
/*A4E1*/ GENx___x___x___ ,
|
|
/*A4E2*/ GENx___x___x___ ,
|
|
/*A4E3*/ GENx___x___x___ ,
|
|
/*A4E4*/ GENx___x___x___ ,
|
|
/*A4E5*/ GENx___x___x___ ,
|
|
/*A4E6*/ GENx___x___x___ ,
|
|
/*A4E7*/ GENx___x___x___ ,
|
|
/*A4E8*/ GENx___x___x___ ,
|
|
/*A4E9*/ GENx___x___x___ ,
|
|
/*A4EA*/ GENx___x___x___ ,
|
|
/*A4EB*/ GENx___x___x___ ,
|
|
/*A4EC*/ GENx___x___x___ ,
|
|
/*A4ED*/ GENx___x___x___ ,
|
|
/*A4EE*/ GENx___x___x___ ,
|
|
/*A4EF*/ GENx___x___x___ ,
|
|
/*A4F0*/ GENx___x___x___ ,
|
|
/*A4F1*/ GENx___x___x___ ,
|
|
/*A4F2*/ GENx___x___x___ ,
|
|
/*A4F3*/ GENx___x___x___ ,
|
|
/*A4F4*/ GENx___x___x___ ,
|
|
/*A4F5*/ GENx___x___x___ ,
|
|
/*A4F6*/ GENx___x___x___ ,
|
|
/*A4F7*/ GENx___x___x___ ,
|
|
/*A4F8*/ GENx___x___x___ ,
|
|
/*A4F9*/ GENx___x___x___ ,
|
|
/*A4FA*/ GENx___x___x___ ,
|
|
/*A4FB*/ GENx___x___x___ ,
|
|
/*A4FC*/ GENx___x___x___ ,
|
|
/*A4FD*/ GENx___x___x___ ,
|
|
/*A4FE*/ GENx___x___x___ ,
|
|
/*A4FF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func v_opcode_a5xx[0x100][GEN_MAXARCH] = {
|
|
/*A500*/ GENx___x___x___ , /* VAER */
|
|
/*A501*/ GENx___x___x___ , /* VSER */
|
|
/*A502*/ GENx___x___x___ , /* VMER */
|
|
/*A503*/ GENx___x___x___ , /* VDER */
|
|
/*A504*/ GENx___x___x___ ,
|
|
/*A505*/ GENx___x___x___ ,
|
|
/*A506*/ GENx___x___x___ , /* VMCER */
|
|
/*A507*/ GENx___x___x___ , /* VACER */
|
|
/*A508*/ GENx___x___x___ , /* VCER */
|
|
/*A509*/ GENx___x___x___ , /* VLER, VLR */
|
|
/*A50A*/ GENx___x___x___ , /* VLMER, VLMR */
|
|
/*A50B*/ GENx___x___x___ , /* VLZER, VLZR */
|
|
/*A50C*/ GENx___x___x___ ,
|
|
/*A50D*/ GENx___x___x___ ,
|
|
/*A50E*/ GENx___x___x___ ,
|
|
/*A50F*/ GENx___x___x___ ,
|
|
/*A510*/ GENx___x___x___ , /* VADR */
|
|
/*A511*/ GENx___x___x___ , /* VSDR */
|
|
/*A512*/ GENx___x___x___ , /* VMDR */
|
|
/*A513*/ GENx___x___x___ , /* VDDR */
|
|
/*A514*/ GENx___x___x___ ,
|
|
/*A515*/ GENx___x___x___ ,
|
|
/*A516*/ GENx___x___x___ , /* VMCDR */
|
|
/*A517*/ GENx___x___x___ , /* VACDR */
|
|
/*A518*/ GENx___x___x___ , /* VCDR */
|
|
/*A519*/ GENx___x___x___ , /* VLDR */
|
|
/*A51A*/ GENx___x___x___ , /* VLMDR */
|
|
/*A51B*/ GENx___x___x___ , /* VLZDR */
|
|
/*A51C*/ GENx___x___x___ ,
|
|
/*A51D*/ GENx___x___x___ ,
|
|
/*A51E*/ GENx___x___x___ ,
|
|
/*A51F*/ GENx___x___x___ ,
|
|
/*A520*/ GENx___x___x___ , /* VAR */
|
|
/*A521*/ GENx___x___x___ , /* VSR */
|
|
/*A522*/ GENx___x___x___ , /* VMR */
|
|
/*A523*/ GENx___x___x___ ,
|
|
/*A524*/ GENx___x___x___ , /* VNR */
|
|
/*A525*/ GENx___x___x___ , /* VOR */
|
|
/*A526*/ GENx___x___x___ , /* VXR */
|
|
/*A527*/ GENx___x___x___ ,
|
|
/*A528*/ GENx___x___x___ , /* VCR */
|
|
/*A529*/ GENx___x___x___ ,
|
|
/*A52A*/ GENx___x___x___ ,
|
|
/*A52B*/ GENx___x___x___ ,
|
|
/*A52C*/ GENx___x___x___ ,
|
|
/*A52D*/ GENx___x___x___ ,
|
|
/*A52E*/ GENx___x___x___ ,
|
|
/*A52F*/ GENx___x___x___ ,
|
|
/*A530*/ GENx___x___x___ ,
|
|
/*A531*/ GENx___x___x___ ,
|
|
/*A532*/ GENx___x___x___ ,
|
|
/*A533*/ GENx___x___x___ ,
|
|
/*A534*/ GENx___x___x___ ,
|
|
/*A535*/ GENx___x___x___ ,
|
|
/*A536*/ GENx___x___x___ ,
|
|
/*A537*/ GENx___x___x___ ,
|
|
/*A538*/ GENx___x___x___ ,
|
|
/*A539*/ GENx___x___x___ ,
|
|
/*A53A*/ GENx___x___x___ ,
|
|
/*A53B*/ GENx___x___x___ ,
|
|
/*A53C*/ GENx___x___x___ ,
|
|
/*A53D*/ GENx___x___x___ ,
|
|
/*A53E*/ GENx___x___x___ ,
|
|
/*A53F*/ GENx___x___x___ ,
|
|
/*A540*/ GENx___x___x___ , /* VLPER */
|
|
/*A541*/ GENx___x___x___ , /* VLNER */
|
|
/*A542*/ GENx___x___x___ , /* VLCER */
|
|
/*A543*/ GENx___x___x___ ,
|
|
/*A544*/ GENx___x___x___ ,
|
|
/*A545*/ GENx___x___x___ ,
|
|
/*A546*/ GENx___x___x___ ,
|
|
/*A547*/ GENx___x___x___ ,
|
|
/*A548*/ GENx___x___x___ ,
|
|
/*A549*/ GENx___x___x___ ,
|
|
/*A54A*/ GENx___x___x___ ,
|
|
/*A54B*/ GENx___x___x___ ,
|
|
/*A54C*/ GENx___x___x___ ,
|
|
/*A54D*/ GENx___x___x___ ,
|
|
/*A54E*/ GENx___x___x___ ,
|
|
/*A54F*/ GENx___x___x___ ,
|
|
/*A550*/ GENx___x___x___ , /* VLPDR */
|
|
/*A551*/ GENx___x___x___ , /* VLNDR */
|
|
/*A552*/ GENx___x___x___ , /* VLCDR */
|
|
/*A553*/ GENx___x___x___ ,
|
|
/*A554*/ GENx___x___x___ ,
|
|
/*A555*/ GENx___x___x___ ,
|
|
/*A556*/ GENx___x___x___ ,
|
|
/*A557*/ GENx___x___x___ ,
|
|
/*A558*/ GENx___x___x___ ,
|
|
/*A559*/ GENx___x___x___ ,
|
|
/*A55A*/ GENx___x___x___ ,
|
|
/*A55B*/ GENx___x___x___ ,
|
|
/*A55C*/ GENx___x___x___ ,
|
|
/*A55D*/ GENx___x___x___ ,
|
|
/*A55E*/ GENx___x___x___ ,
|
|
/*A55F*/ GENx___x___x___ ,
|
|
/*A560*/ GENx___x___x___ , /* VLPR */
|
|
/*A561*/ GENx___x___x___ , /* VLNR */
|
|
/*A562*/ GENx___x___x___ , /* VLCR */
|
|
/*A563*/ GENx___x___x___ ,
|
|
/*A564*/ GENx___x___x___ ,
|
|
/*A565*/ GENx___x___x___ ,
|
|
/*A566*/ GENx___x___x___ ,
|
|
/*A567*/ GENx___x___x___ ,
|
|
/*A568*/ GENx___x___x___ ,
|
|
/*A569*/ GENx___x___x___ ,
|
|
/*A56A*/ GENx___x___x___ ,
|
|
/*A56B*/ GENx___x___x___ ,
|
|
/*A56C*/ GENx___x___x___ ,
|
|
/*A56D*/ GENx___x___x___ ,
|
|
/*A56E*/ GENx___x___x___ ,
|
|
/*A56F*/ GENx___x___x___ ,
|
|
/*A570*/ GENx___x___x___ ,
|
|
/*A571*/ GENx___x___x___ ,
|
|
/*A572*/ GENx___x___x___ ,
|
|
/*A573*/ GENx___x___x___ ,
|
|
/*A574*/ GENx___x___x___ ,
|
|
/*A575*/ GENx___x___x___ ,
|
|
/*A576*/ GENx___x___x___ ,
|
|
/*A577*/ GENx___x___x___ ,
|
|
/*A578*/ GENx___x___x___ ,
|
|
/*A579*/ GENx___x___x___ ,
|
|
/*A57A*/ GENx___x___x___ ,
|
|
/*A57B*/ GENx___x___x___ ,
|
|
/*A57C*/ GENx___x___x___ ,
|
|
/*A57D*/ GENx___x___x___ ,
|
|
/*A57E*/ GENx___x___x___ ,
|
|
/*A57F*/ GENx___x___x___ ,
|
|
/*A580*/ GENx___x___x___ , /* VAEQ */
|
|
/*A581*/ GENx___x___x___ , /* VSEQ */
|
|
/*A582*/ GENx___x___x___ , /* VMEQ */
|
|
/*A583*/ GENx___x___x___ , /* VDEQ */
|
|
/*A584*/ GENx___x___x___ , /* VMAEQ */
|
|
/*A585*/ GENx___x___x___ , /* VMSEQ */
|
|
/*A586*/ GENx___x___x___ ,
|
|
/*A587*/ GENx___x___x___ ,
|
|
/*A588*/ GENx___x___x___ , /* VCEQ */
|
|
/*A589*/ GENx___x___x___ , /* VLEQ */
|
|
/*A58A*/ GENx___x___x___ , /* VLMEQ */
|
|
/*A58B*/ GENx___x___x___ ,
|
|
/*A58C*/ GENx___x___x___ ,
|
|
/*A58D*/ GENx___x___x___ ,
|
|
/*A58E*/ GENx___x___x___ ,
|
|
/*A58F*/ GENx___x___x___ ,
|
|
/*A590*/ GENx___x___x___ , /* VADQ */
|
|
/*A591*/ GENx___x___x___ , /* VSDQ */
|
|
/*A592*/ GENx___x___x___ , /* VMDQ */
|
|
/*A593*/ GENx___x___x___ , /* VDDQ */
|
|
/*A594*/ GENx___x___x___ , /* VMADQ */
|
|
/*A595*/ GENx___x___x___ , /* VMSDQ */
|
|
/*A596*/ GENx___x___x___ ,
|
|
/*A597*/ GENx___x___x___ ,
|
|
/*A598*/ GENx___x___x___ , /* VCDQ */
|
|
/*A599*/ GENx___x___x___ , /* VLDQ */
|
|
/*A59A*/ GENx___x___x___ , /* VLMDQ */
|
|
/*A59B*/ GENx___x___x___ ,
|
|
/*A59C*/ GENx___x___x___ ,
|
|
/*A59D*/ GENx___x___x___ ,
|
|
/*A59E*/ GENx___x___x___ ,
|
|
/*A59F*/ GENx___x___x___ ,
|
|
/*A5A0*/ GENx___x___x___ , /* VAQ */
|
|
/*A5A1*/ GENx___x___x___ , /* VSQ */
|
|
/*A5A2*/ GENx___x___x___ , /* VMQ */
|
|
/*A5A3*/ GENx___x___x___ ,
|
|
/*A5A4*/ GENx___x___x___ , /* VNQ */
|
|
/*A5A5*/ GENx___x___x___ , /* VOQ */
|
|
/*A5A6*/ GENx___x___x___ , /* VXQ */
|
|
/*A5A7*/ GENx___x___x___ ,
|
|
/*A5A8*/ GENx___x___x___ , /* VCQ */
|
|
/*A5A9*/ GENx___x___x___ , /* VLQ */
|
|
/*A5AA*/ GENx___x___x___ , /* VLMQ */
|
|
/*A5AB*/ GENx___x___x___ ,
|
|
/*A5AC*/ GENx___x___x___ ,
|
|
/*A5AD*/ GENx___x___x___ ,
|
|
/*A5AE*/ GENx___x___x___ ,
|
|
/*A5AF*/ GENx___x___x___ ,
|
|
/*A5B0*/ GENx___x___x___ ,
|
|
/*A5B1*/ GENx___x___x___ ,
|
|
/*A5B2*/ GENx___x___x___ ,
|
|
/*A5B3*/ GENx___x___x___ ,
|
|
/*A5B4*/ GENx___x___x___ ,
|
|
/*A5B5*/ GENx___x___x___ ,
|
|
/*A5B6*/ GENx___x___x___ ,
|
|
/*A5B7*/ GENx___x___x___ ,
|
|
/*A5B8*/ GENx___x___x___ ,
|
|
/*A5B9*/ GENx___x___x___ ,
|
|
/*A5BA*/ GENx___x___x___ ,
|
|
/*A5BB*/ GENx___x___x___ ,
|
|
/*A5BC*/ GENx___x___x___ ,
|
|
/*A5BD*/ GENx___x___x___ ,
|
|
/*A5BE*/ GENx___x___x___ ,
|
|
/*A5BF*/ GENx___x___x___ ,
|
|
/*A5C0*/ GENx___x___x___ ,
|
|
/*A5C1*/ GENx___x___x___ ,
|
|
/*A5C2*/ GENx___x___x___ ,
|
|
/*A5C3*/ GENx___x___x___ ,
|
|
/*A5C4*/ GENx___x___x___ ,
|
|
/*A5C5*/ GENx___x___x___ ,
|
|
/*A5C6*/ GENx___x___x___ ,
|
|
/*A5C7*/ GENx___x___x___ ,
|
|
/*A5C8*/ GENx___x___x___ ,
|
|
/*A5C9*/ GENx___x___x___ ,
|
|
/*A5CA*/ GENx___x___x___ ,
|
|
/*A5CB*/ GENx___x___x___ ,
|
|
/*A5CC*/ GENx___x___x___ ,
|
|
/*A5CD*/ GENx___x___x___ ,
|
|
/*A5CE*/ GENx___x___x___ ,
|
|
/*A5CF*/ GENx___x___x___ ,
|
|
/*A5D0*/ GENx___x___x___ ,
|
|
/*A5D1*/ GENx___x___x___ ,
|
|
/*A5D2*/ GENx___x___x___ ,
|
|
/*A5D3*/ GENx___x___x___ ,
|
|
/*A5D4*/ GENx___x___x___ ,
|
|
/*A5D5*/ GENx___x___x___ ,
|
|
/*A5D6*/ GENx___x___x___ ,
|
|
/*A5D7*/ GENx___x___x___ ,
|
|
/*A5D8*/ GENx___x___x___ ,
|
|
/*A5D9*/ GENx___x___x___ ,
|
|
/*A5DA*/ GENx___x___x___ ,
|
|
/*A5DB*/ GENx___x___x___ ,
|
|
/*A5DC*/ GENx___x___x___ ,
|
|
/*A5DD*/ GENx___x___x___ ,
|
|
/*A5DE*/ GENx___x___x___ ,
|
|
/*A5DF*/ GENx___x___x___ ,
|
|
/*A5E0*/ GENx___x___x___ ,
|
|
/*A5E1*/ GENx___x___x___ ,
|
|
/*A5E2*/ GENx___x___x___ ,
|
|
/*A5E3*/ GENx___x___x___ ,
|
|
/*A5E4*/ GENx___x___x___ ,
|
|
/*A5E5*/ GENx___x___x___ ,
|
|
/*A5E6*/ GENx___x___x___ ,
|
|
/*A5E7*/ GENx___x___x___ ,
|
|
/*A5E8*/ GENx___x___x___ ,
|
|
/*A5E9*/ GENx___x___x___ ,
|
|
/*A5EA*/ GENx___x___x___ ,
|
|
/*A5EB*/ GENx___x___x___ ,
|
|
/*A5EC*/ GENx___x___x___ ,
|
|
/*A5ED*/ GENx___x___x___ ,
|
|
/*A5EE*/ GENx___x___x___ ,
|
|
/*A5EF*/ GENx___x___x___ ,
|
|
/*A5F0*/ GENx___x___x___ ,
|
|
/*A5F1*/ GENx___x___x___ ,
|
|
/*A5F2*/ GENx___x___x___ ,
|
|
/*A5F3*/ GENx___x___x___ ,
|
|
/*A5F4*/ GENx___x___x___ ,
|
|
/*A5F5*/ GENx___x___x___ ,
|
|
/*A5F6*/ GENx___x___x___ ,
|
|
/*A5F7*/ GENx___x___x___ ,
|
|
/*A5F8*/ GENx___x___x___ ,
|
|
/*A5F9*/ GENx___x___x___ ,
|
|
/*A5FA*/ GENx___x___x___ ,
|
|
/*A5FB*/ GENx___x___x___ ,
|
|
/*A5FC*/ GENx___x___x___ ,
|
|
/*A5FD*/ GENx___x___x___ ,
|
|
/*A5FE*/ GENx___x___x___ ,
|
|
/*A5FF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func v_opcode_a6xx[0x100][GEN_MAXARCH] = {
|
|
/*A600*/ GENx___x___x___ , /* VMXSE */
|
|
/*A601*/ GENx___x___x___ , /* VMNSE */
|
|
/*A602*/ GENx___x___x___ , /* VMXAE */
|
|
/*A603*/ GENx___x___x___ ,
|
|
/*A604*/ GENx___x___x___ ,
|
|
/*A605*/ GENx___x___x___ ,
|
|
/*A606*/ GENx___x___x___ ,
|
|
/*A607*/ GENx___x___x___ ,
|
|
/*A608*/ GENx___x___x___ , /* VLELE */
|
|
/*A609*/ GENx___x___x___ , /* VXELE */
|
|
/*A60A*/ GENx___x___x___ ,
|
|
/*A60B*/ GENx___x___x___ ,
|
|
/*A60C*/ GENx___x___x___ ,
|
|
/*A60D*/ GENx___x___x___ ,
|
|
/*A60E*/ GENx___x___x___ ,
|
|
/*A60F*/ GENx___x___x___ ,
|
|
/*A610*/ GENx___x___x___ , /* VMXSD */
|
|
/*A611*/ GENx___x___x___ , /* VMNSD */
|
|
/*A612*/ GENx___x___x___ , /* VMXAD */
|
|
/*A613*/ GENx___x___x___ ,
|
|
/*A614*/ GENx___x___x___ ,
|
|
/*A615*/ GENx___x___x___ ,
|
|
/*A616*/ GENx___x___x___ ,
|
|
/*A617*/ GENx___x___x___ ,
|
|
/*A618*/ GENx___x___x___ , /* VLELD */
|
|
/*A619*/ GENx___x___x___ , /* VXELD */
|
|
/*A61A*/ GENx___x___x___ , /* VSPSD */
|
|
/*A61B*/ GENx___x___x___ , /* VZPSD */
|
|
/*A61C*/ GENx___x___x___ ,
|
|
/*A61D*/ GENx___x___x___ ,
|
|
/*A61E*/ GENx___x___x___ ,
|
|
/*A61F*/ GENx___x___x___ ,
|
|
/*A620*/ GENx___x___x___ ,
|
|
/*A621*/ GENx___x___x___ ,
|
|
/*A622*/ GENx___x___x___ ,
|
|
/*A623*/ GENx___x___x___ ,
|
|
/*A624*/ GENx___x___x___ ,
|
|
/*A625*/ GENx___x___x___ ,
|
|
/*A626*/ GENx___x___x___ ,
|
|
/*A627*/ GENx___x___x___ ,
|
|
/*A628*/ GENx___x___x___ , /* VLEL */
|
|
/*A629*/ GENx___x___x___ , /* VXEL */
|
|
/*A62A*/ GENx___x___x___ ,
|
|
/*A62B*/ GENx___x___x___ ,
|
|
/*A62C*/ GENx___x___x___ ,
|
|
/*A62D*/ GENx___x___x___ ,
|
|
/*A62E*/ GENx___x___x___ ,
|
|
/*A62F*/ GENx___x___x___ ,
|
|
/*A630*/ GENx___x___x___ ,
|
|
/*A631*/ GENx___x___x___ ,
|
|
/*A632*/ GENx___x___x___ ,
|
|
/*A633*/ GENx___x___x___ ,
|
|
/*A634*/ GENx___x___x___ ,
|
|
/*A635*/ GENx___x___x___ ,
|
|
/*A636*/ GENx___x___x___ ,
|
|
/*A637*/ GENx___x___x___ ,
|
|
/*A638*/ GENx___x___x___ ,
|
|
/*A639*/ GENx___x___x___ ,
|
|
/*A63A*/ GENx___x___x___ ,
|
|
/*A63B*/ GENx___x___x___ ,
|
|
/*A63C*/ GENx___x___x___ ,
|
|
/*A63D*/ GENx___x___x___ ,
|
|
/*A63E*/ GENx___x___x___ ,
|
|
/*A63F*/ GENx___x___x___ ,
|
|
/*A640*/ GENx370x390x___ (v_test_vmr,RRE,"VTVM"),
|
|
/*A641*/ GENx370x390x___ (v_complement_vmr,RRE,"VCVM"),
|
|
/*A642*/ GENx370x390x___ (v_count_left_zeros_in_vmr,RRE,"VCZVM"),
|
|
/*A643*/ GENx370x390x___ (v_count_ones_in_vmr,RRE,"VCOVM"),
|
|
/*A644*/ GENx370x390x___ (v_extract_vct,RRE,"VXVC"),
|
|
/*A645*/ GENx___x___x___ , /* VLVCU */
|
|
/*A646*/ GENx370x390x___ (v_extract_vector_modes,RRE,"VXVMM"),
|
|
/*A647*/ GENx___x___x___ ,
|
|
/*A648*/ GENx370x390x___ (v_restore_vr,RRE,"VRRS"),
|
|
/*A649*/ GENx370x390x___ (v_save_changed_vr,RRE,"VRSVC"),
|
|
/*A64A*/ GENx370x390x___ (v_save_vr,RRE,"VRSV"),
|
|
/*A64B*/ GENx___x___x___ ,
|
|
/*A64C*/ GENx___x___x___ ,
|
|
/*A64D*/ GENx___x___x___ ,
|
|
/*A64E*/ GENx___x___x___ ,
|
|
/*A64F*/ GENx___x___x___ ,
|
|
/*A650*/ GENx___x___x___ ,
|
|
/*A651*/ GENx___x___x___ ,
|
|
/*A652*/ GENx___x___x___ ,
|
|
/*A653*/ GENx___x___x___ ,
|
|
/*A654*/ GENx___x___x___ ,
|
|
/*A655*/ GENx___x___x___ ,
|
|
/*A656*/ GENx___x___x___ ,
|
|
/*A657*/ GENx___x___x___ ,
|
|
/*A658*/ GENx___x___x___ ,
|
|
/*A659*/ GENx___x___x___ ,
|
|
/*A65A*/ GENx___x___x___ ,
|
|
/*A65B*/ GENx___x___x___ ,
|
|
/*A65C*/ GENx___x___x___ ,
|
|
/*A65D*/ GENx___x___x___ ,
|
|
/*A65E*/ GENx___x___x___ ,
|
|
/*A65F*/ GENx___x___x___ ,
|
|
/*A660*/ GENx___x___x___ ,
|
|
/*A661*/ GENx___x___x___ ,
|
|
/*A662*/ GENx___x___x___ ,
|
|
/*A663*/ GENx___x___x___ ,
|
|
/*A664*/ GENx___x___x___ ,
|
|
/*A665*/ GENx___x___x___ ,
|
|
/*A666*/ GENx___x___x___ ,
|
|
/*A667*/ GENx___x___x___ ,
|
|
/*A668*/ GENx___x___x___ ,
|
|
/*A669*/ GENx___x___x___ ,
|
|
/*A66A*/ GENx___x___x___ ,
|
|
/*A66B*/ GENx___x___x___ ,
|
|
/*A66C*/ GENx___x___x___ ,
|
|
/*A66D*/ GENx___x___x___ ,
|
|
/*A66E*/ GENx___x___x___ ,
|
|
/*A66F*/ GENx___x___x___ ,
|
|
/*A670*/ GENx___x___x___ ,
|
|
/*A671*/ GENx___x___x___ ,
|
|
/*A672*/ GENx___x___x___ ,
|
|
/*A673*/ GENx___x___x___ ,
|
|
/*A674*/ GENx___x___x___ ,
|
|
/*A675*/ GENx___x___x___ ,
|
|
/*A676*/ GENx___x___x___ ,
|
|
/*A677*/ GENx___x___x___ ,
|
|
/*A678*/ GENx___x___x___ ,
|
|
/*A679*/ GENx___x___x___ ,
|
|
/*A67A*/ GENx___x___x___ ,
|
|
/*A67B*/ GENx___x___x___ ,
|
|
/*A67C*/ GENx___x___x___ ,
|
|
/*A67D*/ GENx___x___x___ ,
|
|
/*A67E*/ GENx___x___x___ ,
|
|
/*A67F*/ GENx___x___x___ ,
|
|
/*A680*/ GENx370x390x___ (v_load_vmr,VS,"VLVM"),
|
|
/*A681*/ GENx370x390x___ (v_load_vmr_complement,VS,"VLCVM"),
|
|
/*A682*/ GENx370x390x___ (v_store_vmr,VS,"VSTVM"),
|
|
/*A683*/ GENx___x___x___ ,
|
|
/*A684*/ GENx370x390x___ (v_and_to_vmr,VS,"VNVM"),
|
|
/*A685*/ GENx370x390x___ (v_or_to_vmr,VS,"VOVM"),
|
|
/*A686*/ GENx370x390x___ (v_exclusive_or_to_vmr,VS,"VXVM"),
|
|
/*A687*/ GENx___x___x___ ,
|
|
/*A688*/ GENx___x___x___ ,
|
|
/*A689*/ GENx___x___x___ ,
|
|
/*A68A*/ GENx___x___x___ ,
|
|
/*A68B*/ GENx___x___x___ ,
|
|
/*A68C*/ GENx___x___x___ ,
|
|
/*A68D*/ GENx___x___x___ ,
|
|
/*A68E*/ GENx___x___x___ ,
|
|
/*A68F*/ GENx___x___x___ ,
|
|
/*A690*/ GENx___x___x___ ,
|
|
/*A691*/ GENx___x___x___ ,
|
|
/*A692*/ GENx___x___x___ ,
|
|
/*A693*/ GENx___x___x___ ,
|
|
/*A694*/ GENx___x___x___ ,
|
|
/*A695*/ GENx___x___x___ ,
|
|
/*A696*/ GENx___x___x___ ,
|
|
/*A697*/ GENx___x___x___ ,
|
|
/*A698*/ GENx___x___x___ ,
|
|
/*A699*/ GENx___x___x___ ,
|
|
/*A69A*/ GENx___x___x___ ,
|
|
/*A69B*/ GENx___x___x___ ,
|
|
/*A69C*/ GENx___x___x___ ,
|
|
/*A69D*/ GENx___x___x___ ,
|
|
/*A69E*/ GENx___x___x___ ,
|
|
/*A69F*/ GENx___x___x___ ,
|
|
/*A6A0*/ GENx___x___x___ ,
|
|
/*A6A1*/ GENx___x___x___ ,
|
|
/*A6A2*/ GENx___x___x___ ,
|
|
/*A6A3*/ GENx___x___x___ ,
|
|
/*A6A4*/ GENx___x___x___ ,
|
|
/*A6A5*/ GENx___x___x___ ,
|
|
/*A6A6*/ GENx___x___x___ ,
|
|
/*A6A7*/ GENx___x___x___ ,
|
|
/*A6A8*/ GENx___x___x___ ,
|
|
/*A6A9*/ GENx___x___x___ ,
|
|
/*A6AA*/ GENx___x___x___ ,
|
|
/*A6AB*/ GENx___x___x___ ,
|
|
/*A6AC*/ GENx___x___x___ ,
|
|
/*A6AD*/ GENx___x___x___ ,
|
|
/*A6AE*/ GENx___x___x___ ,
|
|
/*A6AF*/ GENx___x___x___ ,
|
|
/*A6B0*/ GENx___x___x___ ,
|
|
/*A6B1*/ GENx___x___x___ ,
|
|
/*A6B2*/ GENx___x___x___ ,
|
|
/*A6B3*/ GENx___x___x___ ,
|
|
/*A6B4*/ GENx___x___x___ ,
|
|
/*A6B5*/ GENx___x___x___ ,
|
|
/*A6B6*/ GENx___x___x___ ,
|
|
/*A6B7*/ GENx___x___x___ ,
|
|
/*A6B8*/ GENx___x___x___ ,
|
|
/*A6B9*/ GENx___x___x___ ,
|
|
/*A6BA*/ GENx___x___x___ ,
|
|
/*A6BB*/ GENx___x___x___ ,
|
|
/*A6BC*/ GENx___x___x___ ,
|
|
/*A6BD*/ GENx___x___x___ ,
|
|
/*A6BE*/ GENx___x___x___ ,
|
|
/*A6BF*/ GENx___x___x___ ,
|
|
/*A6C0*/ GENx370x390x___ (v_save_vsr,S,"VSRSV"),
|
|
/*A6C1*/ GENx370x390x___ (v_save_vmr,S,"VMRSV"),
|
|
/*A6C2*/ GENx370x390x___ (v_restore_vsr,S,"VSRRS"),
|
|
/*A6C3*/ GENx370x390x___ (v_restore_vmr,S,"VMRRS"),
|
|
/*A6C4*/ GENx370x390x___ (v_load_vct_from_address,S,"VLVCA"),
|
|
/*A6C5*/ GENx370x390x___ (v_clear_vr,S,"VRCL"),
|
|
/*A6C6*/ GENx370x390x___ (v_set_vector_mask_mode,S,"VSVMM"),
|
|
/*A6C7*/ GENx370x390x___ (v_load_vix_from_address,S,"VLVXA"),
|
|
/*A6C8*/ GENx370x390x___ (v_store_vector_parameters,S,"VSTVP"),
|
|
/*A6C9*/ GENx___x___x___ ,
|
|
/*A6CA*/ GENx370x390x___ (v_save_vac,S,"VACSV"),
|
|
/*A6CB*/ GENx370x390x___ (v_restore_vac,S,"VACRS"),
|
|
/*A6CC*/ GENx___x___x___ ,
|
|
/*A6CD*/ GENx___x___x___ ,
|
|
/*A6CE*/ GENx___x___x___ ,
|
|
/*A6CF*/ GENx___x___x___ ,
|
|
/*A6D0*/ GENx___x___x___ ,
|
|
/*A6D1*/ GENx___x___x___ ,
|
|
/*A6D2*/ GENx___x___x___ ,
|
|
/*A6D3*/ GENx___x___x___ ,
|
|
/*A6D4*/ GENx___x___x___ ,
|
|
/*A6D5*/ GENx___x___x___ ,
|
|
/*A6D6*/ GENx___x___x___ ,
|
|
/*A6D7*/ GENx___x___x___ ,
|
|
/*A6D8*/ GENx___x___x___ ,
|
|
/*A6D9*/ GENx___x___x___ ,
|
|
/*A6DA*/ GENx___x___x___ ,
|
|
/*A6DB*/ GENx___x___x___ ,
|
|
/*A6DC*/ GENx___x___x___ ,
|
|
/*A6DD*/ GENx___x___x___ ,
|
|
/*A6DE*/ GENx___x___x___ ,
|
|
/*A6DF*/ GENx___x___x___ ,
|
|
/*A6E0*/ GENx___x___x___ ,
|
|
/*A6E1*/ GENx___x___x___ ,
|
|
/*A6E2*/ GENx___x___x___ ,
|
|
/*A6E3*/ GENx___x___x___ ,
|
|
/*A6E4*/ GENx___x___x___ ,
|
|
/*A6E5*/ GENx___x___x___ ,
|
|
/*A6E6*/ GENx___x___x___ ,
|
|
/*A6E7*/ GENx___x___x___ ,
|
|
/*A6E8*/ GENx___x___x___ ,
|
|
/*A6E9*/ GENx___x___x___ ,
|
|
/*A6EA*/ GENx___x___x___ ,
|
|
/*A6EB*/ GENx___x___x___ ,
|
|
/*A6EC*/ GENx___x___x___ ,
|
|
/*A6ED*/ GENx___x___x___ ,
|
|
/*A6EE*/ GENx___x___x___ ,
|
|
/*A6EF*/ GENx___x___x___ ,
|
|
/*A6F0*/ GENx___x___x___ ,
|
|
/*A6F1*/ GENx___x___x___ ,
|
|
/*A6F2*/ GENx___x___x___ ,
|
|
/*A6F3*/ GENx___x___x___ ,
|
|
/*A6F4*/ GENx___x___x___ ,
|
|
/*A6F5*/ GENx___x___x___ ,
|
|
/*A6F6*/ GENx___x___x___ ,
|
|
/*A6F7*/ GENx___x___x___ ,
|
|
/*A6F8*/ GENx___x___x___ ,
|
|
/*A6F9*/ GENx___x___x___ ,
|
|
/*A6FA*/ GENx___x___x___ ,
|
|
/*A6FB*/ GENx___x___x___ ,
|
|
/*A6FC*/ GENx___x___x___ ,
|
|
/*A6FD*/ GENx___x___x___ ,
|
|
/*A6FE*/ GENx___x___x___ ,
|
|
/*A6FF*/ GENx___x___x___ };
|
|
|
|
|
|
static zz_func v_opcode_e4xx[0x100][GEN_MAXARCH] = {
|
|
/*E400*/ GENx___x___x___ , /* VLI, VLIE */
|
|
/*E401*/ GENx___x___x___ , /* VSTI, VSTIE */
|
|
/*E402*/ GENx___x___x___ ,
|
|
/*E403*/ GENx___x___x___ ,
|
|
/*E404*/ GENx___x___x___ ,
|
|
/*E405*/ GENx___x___x___ ,
|
|
/*E406*/ GENx___x___x___ ,
|
|
/*E407*/ GENx___x___x___ ,
|
|
/*E408*/ GENx___x___x___ ,
|
|
/*E409*/ GENx___x___x___ ,
|
|
/*E40A*/ GENx___x___x___ ,
|
|
/*E40B*/ GENx___x___x___ ,
|
|
/*E40C*/ GENx___x___x___ ,
|
|
/*E40D*/ GENx___x___x___ ,
|
|
/*E40E*/ GENx___x___x___ ,
|
|
/*E40F*/ GENx___x___x___ ,
|
|
/*E410*/ GENx___x___x___ , /* VLID */
|
|
/*E411*/ GENx___x___x___ , /* VSTID */
|
|
/*E412*/ GENx___x___x___ ,
|
|
/*E413*/ GENx___x___x___ ,
|
|
/*E414*/ GENx___x___x___ ,
|
|
/*E415*/ GENx___x___x___ ,
|
|
/*E416*/ GENx___x___x___ ,
|
|
/*E417*/ GENx___x___x___ ,
|
|
/*E418*/ GENx___x___x___ ,
|
|
/*E419*/ GENx___x___x___ ,
|
|
/*E41A*/ GENx___x___x___ ,
|
|
/*E41B*/ GENx___x___x___ ,
|
|
/*E41C*/ GENx___x___x___ ,
|
|
/*E41D*/ GENx___x___x___ ,
|
|
/*E41E*/ GENx___x___x___ ,
|
|
/*E41F*/ GENx___x___x___ ,
|
|
/*E420*/ GENx___x___x___ ,
|
|
/*E421*/ GENx___x___x___ ,
|
|
/*E422*/ GENx___x___x___ ,
|
|
/*E423*/ GENx___x___x___ ,
|
|
/*E424*/ GENx___x___x___ , /* VSRL */
|
|
/*E425*/ GENx___x___x___ , /* VSLL */
|
|
/*E426*/ GENx___x___x___ ,
|
|
/*E427*/ GENx___x___x___ ,
|
|
/*E428*/ GENx___x___x___ , /* VLBIX */
|
|
/*E429*/ GENx___x___x___ ,
|
|
/*E42A*/ GENx___x___x___ ,
|
|
/*E42B*/ GENx___x___x___ ,
|
|
/*E42C*/ GENx___x___x___ ,
|
|
/*E42D*/ GENx___x___x___ ,
|
|
/*E42E*/ GENx___x___x___ ,
|
|
/*E42F*/ GENx___x___x___ ,
|
|
/*E430*/ GENx___x___x___ ,
|
|
/*E431*/ GENx___x___x___ ,
|
|
/*E432*/ GENx___x___x___ ,
|
|
/*E433*/ GENx___x___x___ ,
|
|
/*E434*/ GENx___x___x___ ,
|
|
/*E435*/ GENx___x___x___ ,
|
|
/*E436*/ GENx___x___x___ ,
|
|
/*E437*/ GENx___x___x___ ,
|
|
/*E438*/ GENx___x___x___ ,
|
|
/*E439*/ GENx___x___x___ ,
|
|
/*E43A*/ GENx___x___x___ ,
|
|
/*E43B*/ GENx___x___x___ ,
|
|
/*E43C*/ GENx___x___x___ ,
|
|
/*E43D*/ GENx___x___x___ ,
|
|
/*E43E*/ GENx___x___x___ ,
|
|
/*E43F*/ GENx___x___x___ ,
|
|
/*E440*/ GENx___x___x___ ,
|
|
/*E441*/ GENx___x___x___ ,
|
|
/*E442*/ GENx___x___x___ ,
|
|
/*E443*/ GENx___x___x___ ,
|
|
/*E444*/ GENx___x___x___ ,
|
|
/*E445*/ GENx___x___x___ ,
|
|
/*E446*/ GENx___x___x___ ,
|
|
/*E447*/ GENx___x___x___ ,
|
|
/*E448*/ GENx___x___x___ ,
|
|
/*E449*/ GENx___x___x___ ,
|
|
/*E44A*/ GENx___x___x___ ,
|
|
/*E44B*/ GENx___x___x___ ,
|
|
/*E44C*/ GENx___x___x___ ,
|
|
/*E44D*/ GENx___x___x___ ,
|
|
/*E44E*/ GENx___x___x___ ,
|
|
/*E44F*/ GENx___x___x___ ,
|
|
/*E450*/ GENx___x___x___ ,
|
|
/*E451*/ GENx___x___x___ ,
|
|
/*E452*/ GENx___x___x___ ,
|
|
/*E453*/ GENx___x___x___ ,
|
|
/*E454*/ GENx___x___x___ ,
|
|
/*E455*/ GENx___x___x___ ,
|
|
/*E456*/ GENx___x___x___ ,
|
|
/*E457*/ GENx___x___x___ ,
|
|
/*E458*/ GENx___x___x___ ,
|
|
/*E459*/ GENx___x___x___ ,
|
|
/*E45A*/ GENx___x___x___ ,
|
|
/*E45B*/ GENx___x___x___ ,
|
|
/*E45C*/ GENx___x___x___ ,
|
|
/*E45D*/ GENx___x___x___ ,
|
|
/*E45E*/ GENx___x___x___ ,
|
|
/*E45F*/ GENx___x___x___ ,
|
|
/*E460*/ GENx___x___x___ ,
|
|
/*E461*/ GENx___x___x___ ,
|
|
/*E462*/ GENx___x___x___ ,
|
|
/*E463*/ GENx___x___x___ ,
|
|
/*E464*/ GENx___x___x___ ,
|
|
/*E465*/ GENx___x___x___ ,
|
|
/*E466*/ GENx___x___x___ ,
|
|
/*E467*/ GENx___x___x___ ,
|
|
/*E468*/ GENx___x___x___ ,
|
|
/*E469*/ GENx___x___x___ ,
|
|
/*E46A*/ GENx___x___x___ ,
|
|
/*E46B*/ GENx___x___x___ ,
|
|
/*E46C*/ GENx___x___x___ ,
|
|
/*E46D*/ GENx___x___x___ ,
|
|
/*E46E*/ GENx___x___x___ ,
|
|
/*E46F*/ GENx___x___x___ ,
|
|
/*E470*/ GENx___x___x___ ,
|
|
/*E471*/ GENx___x___x___ ,
|
|
/*E472*/ GENx___x___x___ ,
|
|
/*E473*/ GENx___x___x___ ,
|
|
/*E474*/ GENx___x___x___ ,
|
|
/*E475*/ GENx___x___x___ ,
|
|
/*E476*/ GENx___x___x___ ,
|
|
/*E477*/ GENx___x___x___ ,
|
|
/*E478*/ GENx___x___x___ ,
|
|
/*E479*/ GENx___x___x___ ,
|
|
/*E47A*/ GENx___x___x___ ,
|
|
/*E47B*/ GENx___x___x___ ,
|
|
/*E47C*/ GENx___x___x___ ,
|
|
/*E47D*/ GENx___x___x___ ,
|
|
/*E47E*/ GENx___x___x___ ,
|
|
/*E47F*/ GENx___x___x___ ,
|
|
/*E480*/ GENx___x___x___ ,
|
|
/*E481*/ GENx___x___x___ ,
|
|
/*E482*/ GENx___x___x___ ,
|
|
/*E483*/ GENx___x___x___ ,
|
|
/*E484*/ GENx___x___x___ ,
|
|
/*E485*/ GENx___x___x___ ,
|
|
/*E486*/ GENx___x___x___ ,
|
|
/*E487*/ GENx___x___x___ ,
|
|
/*E488*/ GENx___x___x___ ,
|
|
/*E489*/ GENx___x___x___ ,
|
|
/*E48A*/ GENx___x___x___ ,
|
|
/*E48B*/ GENx___x___x___ ,
|
|
/*E48C*/ GENx___x___x___ ,
|
|
/*E48D*/ GENx___x___x___ ,
|
|
/*E48E*/ GENx___x___x___ ,
|
|
/*E48F*/ GENx___x___x___ ,
|
|
/*E490*/ GENx___x___x___ ,
|
|
/*E491*/ GENx___x___x___ ,
|
|
/*E492*/ GENx___x___x___ ,
|
|
/*E493*/ GENx___x___x___ ,
|
|
/*E494*/ GENx___x___x___ ,
|
|
/*E495*/ GENx___x___x___ ,
|
|
/*E496*/ GENx___x___x___ ,
|
|
/*E497*/ GENx___x___x___ ,
|
|
/*E498*/ GENx___x___x___ ,
|
|
/*E499*/ GENx___x___x___ ,
|
|
/*E49A*/ GENx___x___x___ ,
|
|
/*E49B*/ GENx___x___x___ ,
|
|
/*E49C*/ GENx___x___x___ ,
|
|
/*E49D*/ GENx___x___x___ ,
|
|
/*E49E*/ GENx___x___x___ ,
|
|
/*E49F*/ GENx___x___x___ ,
|
|
/*E4A0*/ GENx___x___x___ ,
|
|
/*E4A1*/ GENx___x___x___ ,
|
|
/*E4A2*/ GENx___x___x___ ,
|
|
/*E4A3*/ GENx___x___x___ ,
|
|
/*E4A4*/ GENx___x___x___ ,
|
|
/*E4A5*/ GENx___x___x___ ,
|
|
/*E4A6*/ GENx___x___x___ ,
|
|
/*E4A7*/ GENx___x___x___ ,
|
|
/*E4A8*/ GENx___x___x___ ,
|
|
/*E4A9*/ GENx___x___x___ ,
|
|
/*E4AA*/ GENx___x___x___ ,
|
|
/*E4AB*/ GENx___x___x___ ,
|
|
/*E4AC*/ GENx___x___x___ ,
|
|
/*E4AD*/ GENx___x___x___ ,
|
|
/*E4AE*/ GENx___x___x___ ,
|
|
/*E4AF*/ GENx___x___x___ ,
|
|
/*E4B0*/ GENx___x___x___ ,
|
|
/*E4B1*/ GENx___x___x___ ,
|
|
/*E4B2*/ GENx___x___x___ ,
|
|
/*E4B3*/ GENx___x___x___ ,
|
|
/*E4B4*/ GENx___x___x___ ,
|
|
/*E4B5*/ GENx___x___x___ ,
|
|
/*E4B6*/ GENx___x___x___ ,
|
|
/*E4B7*/ GENx___x___x___ ,
|
|
/*E4B8*/ GENx___x___x___ ,
|
|
/*E4B9*/ GENx___x___x___ ,
|
|
/*E4BA*/ GENx___x___x___ ,
|
|
/*E4BB*/ GENx___x___x___ ,
|
|
/*E4BC*/ GENx___x___x___ ,
|
|
/*E4BD*/ GENx___x___x___ ,
|
|
/*E4BE*/ GENx___x___x___ ,
|
|
/*E4BF*/ GENx___x___x___ ,
|
|
/*E4C0*/ GENx___x___x___ ,
|
|
/*E4C1*/ GENx___x___x___ ,
|
|
/*E4C2*/ GENx___x___x___ ,
|
|
/*E4C3*/ GENx___x___x___ ,
|
|
/*E4C4*/ GENx___x___x___ ,
|
|
/*E4C5*/ GENx___x___x___ ,
|
|
/*E4C6*/ GENx___x___x___ ,
|
|
/*E4C7*/ GENx___x___x___ ,
|
|
/*E4C8*/ GENx___x___x___ ,
|
|
/*E4C9*/ GENx___x___x___ ,
|
|
/*E4CA*/ GENx___x___x___ ,
|
|
/*E4CB*/ GENx___x___x___ ,
|
|
/*E4CC*/ GENx___x___x___ ,
|
|
/*E4CD*/ GENx___x___x___ ,
|
|
/*E4CE*/ GENx___x___x___ ,
|
|
/*E4CF*/ GENx___x___x___ ,
|
|
/*E4D0*/ GENx___x___x___ ,
|
|
/*E4D1*/ GENx___x___x___ ,
|
|
/*E4D2*/ GENx___x___x___ ,
|
|
/*E4D3*/ GENx___x___x___ ,
|
|
/*E4D4*/ GENx___x___x___ ,
|
|
/*E4D5*/ GENx___x___x___ ,
|
|
/*E4D6*/ GENx___x___x___ ,
|
|
/*E4D7*/ GENx___x___x___ ,
|
|
/*E4D8*/ GENx___x___x___ ,
|
|
/*E4D9*/ GENx___x___x___ ,
|
|
/*E4DA*/ GENx___x___x___ ,
|
|
/*E4DB*/ GENx___x___x___ ,
|
|
/*E4DC*/ GENx___x___x___ ,
|
|
/*E4DD*/ GENx___x___x___ ,
|
|
/*E4DE*/ GENx___x___x___ ,
|
|
/*E4DF*/ GENx___x___x___ ,
|
|
/*E4E0*/ GENx___x___x___ ,
|
|
/*E4E1*/ GENx___x___x___ ,
|
|
/*E4E2*/ GENx___x___x___ ,
|
|
/*E4E3*/ GENx___x___x___ ,
|
|
/*E4E4*/ GENx___x___x___ ,
|
|
/*E4E5*/ GENx___x___x___ ,
|
|
/*E4E6*/ GENx___x___x___ ,
|
|
/*E4E7*/ GENx___x___x___ ,
|
|
/*E4E8*/ GENx___x___x___ ,
|
|
/*E4E9*/ GENx___x___x___ ,
|
|
/*E4EA*/ GENx___x___x___ ,
|
|
/*E4EB*/ GENx___x___x___ ,
|
|
/*E4EC*/ GENx___x___x___ ,
|
|
/*E4ED*/ GENx___x___x___ ,
|
|
/*E4EE*/ GENx___x___x___ ,
|
|
/*E4EF*/ GENx___x___x___ ,
|
|
/*E4F0*/ GENx___x___x___ ,
|
|
/*E4F1*/ GENx___x___x___ ,
|
|
/*E4F2*/ GENx___x___x___ ,
|
|
/*E4F3*/ GENx___x___x___ ,
|
|
/*E4F4*/ GENx___x___x___ ,
|
|
/*E4F5*/ GENx___x___x___ ,
|
|
/*E4F6*/ GENx___x___x___ ,
|
|
/*E4F7*/ GENx___x___x___ ,
|
|
/*E4F8*/ GENx___x___x___ ,
|
|
/*E4F9*/ GENx___x___x___ ,
|
|
/*E4FA*/ GENx___x___x___ ,
|
|
/*E4FB*/ GENx___x___x___ ,
|
|
/*E4FC*/ GENx___x___x___ ,
|
|
/*E4FD*/ GENx___x___x___ ,
|
|
/*E4FE*/ GENx___x___x___ ,
|
|
/*E4FF*/ GENx___x___x___ };
|
|
|
|
#ifdef OPTION_OPTINST
|
|
#define CLRgen(r1, r2) GENx370x390x900 (15 ## r1 ## r2,RR,"LR")
|
|
#define CLRgenr2(r1) \
|
|
CLRgen(r1, 0), \
|
|
CLRgen(r1, 1), \
|
|
CLRgen(r1, 2), \
|
|
CLRgen(r1, 3), \
|
|
CLRgen(r1, 4), \
|
|
CLRgen(r1, 5), \
|
|
CLRgen(r1, 6), \
|
|
CLRgen(r1, 7), \
|
|
CLRgen(r1, 8), \
|
|
CLRgen(r1, 9), \
|
|
CLRgen(r1, A), \
|
|
CLRgen(r1, B), \
|
|
CLRgen(r1, C), \
|
|
CLRgen(r1, D), \
|
|
CLRgen(r1, E), \
|
|
CLRgen(r1, F)
|
|
|
|
static zz_func opcode_15__[0x100][GEN_MAXARCH] = {
|
|
CLRgenr2(0),
|
|
CLRgenr2(1),
|
|
CLRgenr2(2),
|
|
CLRgenr2(3),
|
|
CLRgenr2(4),
|
|
CLRgenr2(5),
|
|
CLRgenr2(6),
|
|
CLRgenr2(7),
|
|
CLRgenr2(8),
|
|
CLRgenr2(9),
|
|
CLRgenr2(A),
|
|
CLRgenr2(B),
|
|
CLRgenr2(C),
|
|
CLRgenr2(D),
|
|
CLRgenr2(E),
|
|
CLRgenr2(F) };
|
|
|
|
#define LRgen(r1, r2) GENx370x390x900 (18 ## r1 ## r2,RR,"LR")
|
|
#define LRgenr2(r1) \
|
|
LRgen(r1, 0), \
|
|
LRgen(r1, 1), \
|
|
LRgen(r1, 2), \
|
|
LRgen(r1, 3), \
|
|
LRgen(r1, 4), \
|
|
LRgen(r1, 5), \
|
|
LRgen(r1, 6), \
|
|
LRgen(r1, 7), \
|
|
LRgen(r1, 8), \
|
|
LRgen(r1, 9), \
|
|
LRgen(r1, A), \
|
|
LRgen(r1, B), \
|
|
LRgen(r1, C), \
|
|
LRgen(r1, D), \
|
|
LRgen(r1, E), \
|
|
LRgen(r1, F)
|
|
|
|
static zz_func opcode_18__[0x100][GEN_MAXARCH] = {
|
|
LRgenr2(0),
|
|
LRgenr2(1),
|
|
LRgenr2(2),
|
|
LRgenr2(3),
|
|
LRgenr2(4),
|
|
LRgenr2(5),
|
|
LRgenr2(6),
|
|
LRgenr2(7),
|
|
LRgenr2(8),
|
|
LRgenr2(9),
|
|
LRgenr2(A),
|
|
LRgenr2(B),
|
|
LRgenr2(C),
|
|
LRgenr2(D),
|
|
LRgenr2(E),
|
|
LRgenr2(F) };
|
|
|
|
#define ALRgen(r1, r2) GENx370x390x900 (1E ## r1 ## r2,RR,"ALR")
|
|
#define ALRgenr2(r1) \
|
|
ALRgen(r1, 0), \
|
|
ALRgen(r1, 1), \
|
|
ALRgen(r1, 2), \
|
|
ALRgen(r1, 3), \
|
|
ALRgen(r1, 4), \
|
|
ALRgen(r1, 5), \
|
|
ALRgen(r1, 6), \
|
|
ALRgen(r1, 7), \
|
|
ALRgen(r1, 8), \
|
|
ALRgen(r1, 9), \
|
|
ALRgen(r1, A), \
|
|
ALRgen(r1, B), \
|
|
ALRgen(r1, C), \
|
|
ALRgen(r1, D), \
|
|
ALRgen(r1, E), \
|
|
ALRgen(r1, F)
|
|
|
|
static zz_func opcode_1E__[0x100][GEN_MAXARCH] = {
|
|
ALRgenr2(0),
|
|
ALRgenr2(1),
|
|
ALRgenr2(2),
|
|
ALRgenr2(3),
|
|
ALRgenr2(4),
|
|
ALRgenr2(5),
|
|
ALRgenr2(6),
|
|
ALRgenr2(7),
|
|
ALRgenr2(8),
|
|
ALRgenr2(9),
|
|
ALRgenr2(A),
|
|
ALRgenr2(B),
|
|
ALRgenr2(C),
|
|
ALRgenr2(D),
|
|
ALRgenr2(E),
|
|
ALRgenr2(F) };
|
|
|
|
#define SLRgen(r1, r2) GENx370x390x900 (1F ## r1 ## r2,RR,"SLR")
|
|
#define SLRgenr2(r1) \
|
|
SLRgen(r1, 0), \
|
|
SLRgen(r1, 1), \
|
|
SLRgen(r1, 2), \
|
|
SLRgen(r1, 3), \
|
|
SLRgen(r1, 4), \
|
|
SLRgen(r1, 5), \
|
|
SLRgen(r1, 6), \
|
|
SLRgen(r1, 7), \
|
|
SLRgen(r1, 8), \
|
|
SLRgen(r1, 9), \
|
|
SLRgen(r1, A), \
|
|
SLRgen(r1, B), \
|
|
SLRgen(r1, C), \
|
|
SLRgen(r1, D), \
|
|
SLRgen(r1, E), \
|
|
SLRgen(r1, F)
|
|
|
|
static zz_func opcode_1F__[0x100][GEN_MAXARCH] = {
|
|
SLRgenr2(0),
|
|
SLRgenr2(1),
|
|
SLRgenr2(2),
|
|
SLRgenr2(3),
|
|
SLRgenr2(4),
|
|
SLRgenr2(5),
|
|
SLRgenr2(6),
|
|
SLRgenr2(7),
|
|
SLRgenr2(8),
|
|
SLRgenr2(9),
|
|
SLRgenr2(A),
|
|
SLRgenr2(B),
|
|
SLRgenr2(C),
|
|
SLRgenr2(D),
|
|
SLRgenr2(E),
|
|
SLRgenr2(F) };
|
|
|
|
static zz_func opcode_41_0[0x10][GEN_MAXARCH] = {
|
|
/*4100*/ GENx370x390x900 (4100,RX,"LA"),
|
|
/*4110*/ GENx370x390x900 (4110,RX,"LA"),
|
|
/*4120*/ GENx370x390x900 (4120,RX,"LA"),
|
|
/*4134*/ GENx370x390x900 (4130,RX,"LA"),
|
|
/*4140*/ GENx370x390x900 (4140,RX,"LA"),
|
|
/*4150*/ GENx370x390x900 (4150,RX,"LA"),
|
|
/*4160*/ GENx370x390x900 (4160,RX,"LA"),
|
|
/*4170*/ GENx370x390x900 (4170,RX,"LA"),
|
|
/*4180*/ GENx370x390x900 (4180,RX,"LA"),
|
|
/*4190*/ GENx370x390x900 (4190,RX,"LA"),
|
|
/*41A0*/ GENx370x390x900 (41A0,RX,"LA"),
|
|
/*41B0*/ GENx370x390x900 (41B0,RX,"LA"),
|
|
/*41C0*/ GENx370x390x900 (41C0,RX,"LA"),
|
|
/*41D0*/ GENx370x390x900 (41D0,RX,"LA"),
|
|
/*41E0*/ GENx370x390x900 (41E0,RX,"LA"),
|
|
/*41F0*/ GENx370x390x900 (41F0,RX,"LA") };
|
|
|
|
static zz_func opcode_47_0[0x10][GEN_MAXARCH] = {
|
|
/*4700*/ GENx370x390x900 (nop4,RX,"BC"),
|
|
/*4710*/ GENx370x390x900 (4710,RX,"BC"),
|
|
/*4720*/ GENx370x390x900 (4720,RX,"BC"),
|
|
/*4734*/ GENx370x390x900 (4730,RX,"BC"),
|
|
/*4740*/ GENx370x390x900 (4740,RX,"BC"),
|
|
/*4750*/ GENx370x390x900 (4750,RX,"BC"),
|
|
/*4760*/ GENx370x390x900 (47_0,RX,"BC"),
|
|
/*4770*/ GENx370x390x900 (4770,RX,"BC"),
|
|
/*4780*/ GENx370x390x900 (4780,RX,"BC"),
|
|
/*4790*/ GENx370x390x900 (47_0,RX,"BC"),
|
|
/*47A0*/ GENx370x390x900 (47A0,RX,"BC"),
|
|
/*47B0*/ GENx370x390x900 (47B0,RX,"BC"),
|
|
/*47C0*/ GENx370x390x900 (47C0,RX,"BC"),
|
|
/*47D0*/ GENx370x390x900 (47D0,RX,"BC"),
|
|
/*47E0*/ GENx370x390x900 (47E0,RX,"BC"),
|
|
/*47F0*/ GENx370x390x900 (47F0,RX,"BC") };
|
|
|
|
static zz_func opcode_50_0[0x10][GEN_MAXARCH] = {
|
|
/*5000*/ GENx370x390x900 (5000,RX,"ST"),
|
|
/*5010*/ GENx370x390x900 (5010,RX,"ST"),
|
|
/*5020*/ GENx370x390x900 (5020,RX,"ST"),
|
|
/*5030*/ GENx370x390x900 (5030,RX,"ST"),
|
|
/*5040*/ GENx370x390x900 (5040,RX,"ST"),
|
|
/*5050*/ GENx370x390x900 (5050,RX,"ST"),
|
|
/*5060*/ GENx370x390x900 (5060,RX,"ST"),
|
|
/*5070*/ GENx370x390x900 (5070,RX,"ST"),
|
|
/*5080*/ GENx370x390x900 (5080,RX,"ST"),
|
|
/*5090*/ GENx370x390x900 (5090,RX,"ST"),
|
|
/*50A0*/ GENx370x390x900 (50A0,RX,"ST"),
|
|
/*50B0*/ GENx370x390x900 (50B0,RX,"ST"),
|
|
/*50C0*/ GENx370x390x900 (50C0,RX,"ST"),
|
|
/*50D0*/ GENx370x390x900 (50D0,RX,"ST"),
|
|
/*50E0*/ GENx370x390x900 (50E0,RX,"ST"),
|
|
/*50F0*/ GENx370x390x900 (50F0,RX,"ST") };
|
|
|
|
static zz_func opcode_55_0[0x10][GEN_MAXARCH] = {
|
|
/*5500*/ GENx370x390x900 (5500,RX,"CL"),
|
|
/*5510*/ GENx370x390x900 (5510,RX,"CL"),
|
|
/*5520*/ GENx370x390x900 (5520,RX,"CL"),
|
|
/*5530*/ GENx370x390x900 (5530,RX,"CL"),
|
|
/*5540*/ GENx370x390x900 (5540,RX,"CL"),
|
|
/*5550*/ GENx370x390x900 (5550,RX,"CL"),
|
|
/*5560*/ GENx370x390x900 (5560,RX,"CL"),
|
|
/*5570*/ GENx370x390x900 (5570,RX,"CL"),
|
|
/*5580*/ GENx370x390x900 (5580,RX,"CL"),
|
|
/*5590*/ GENx370x390x900 (5590,RX,"CL"),
|
|
/*55A0*/ GENx370x390x900 (55A0,RX,"CL"),
|
|
/*55B0*/ GENx370x390x900 (55B0,RX,"CL"),
|
|
/*55C0*/ GENx370x390x900 (55C0,RX,"CL"),
|
|
/*55D0*/ GENx370x390x900 (55D0,RX,"CL"),
|
|
/*55E0*/ GENx370x390x900 (55E0,RX,"CL"),
|
|
/*55F0*/ GENx370x390x900 (55F0,RX,"CL") };
|
|
|
|
static zz_func opcode_58_0[0x10][GEN_MAXARCH] = {
|
|
/*5800*/ GENx370x390x900 (5800,RX,"L"),
|
|
/*5810*/ GENx370x390x900 (5810,RX,"L"),
|
|
/*5820*/ GENx370x390x900 (5820,RX,"L"),
|
|
/*5830*/ GENx370x390x900 (5830,RX,"L"),
|
|
/*5840*/ GENx370x390x900 (5840,RX,"L"),
|
|
/*5850*/ GENx370x390x900 (5850,RX,"L"),
|
|
/*5860*/ GENx370x390x900 (5860,RX,"L"),
|
|
/*5870*/ GENx370x390x900 (5870,RX,"L"),
|
|
/*5880*/ GENx370x390x900 (5880,RX,"L"),
|
|
/*5890*/ GENx370x390x900 (5890,RX,"L"),
|
|
/*58A0*/ GENx370x390x900 (58A0,RX,"L"),
|
|
/*58B0*/ GENx370x390x900 (58B0,RX,"L"),
|
|
/*58C0*/ GENx370x390x900 (58C0,RX,"L"),
|
|
/*58D0*/ GENx370x390x900 (58D0,RX,"L"),
|
|
/*58E0*/ GENx370x390x900 (58E0,RX,"L"),
|
|
/*58F0*/ GENx370x390x900 (58F0,RX,"L") };
|
|
|
|
static zz_func opcode_91xx[0x08][GEN_MAXARCH] = {
|
|
/*9180*/ GENx370x390x900 (9180,SI,"TM"),
|
|
/*9140*/ GENx370x390x900 (9140,SI,"TM"),
|
|
/*9120*/ GENx370x390x900 (9120,SI,"TM"),
|
|
/*9110*/ GENx370x390x900 (9110,SI,"TM"),
|
|
/*9108*/ GENx370x390x900 (9108,SI,"TM"),
|
|
/*9104*/ GENx370x390x900 (9104,SI,"TM"),
|
|
/*9102*/ GENx370x390x900 (9102,SI,"TM"),
|
|
/*9101*/ GENx370x390x900 (9101,SI,"TM") }; /* Single bit TM */
|
|
|
|
static zz_func opcode_A7_4[0x10][GEN_MAXARCH] = {
|
|
/*A704*/ GENx370x390x900 (nop4,RX,"BRC"),
|
|
/*A714*/ GENx370x390x900 (A714,RX,"BRC"),
|
|
/*A724*/ GENx370x390x900 (A724,RX,"BRC"),
|
|
/*A734*/ GENx370x390x900 (A734,RX,"BRC"),
|
|
/*A744*/ GENx370x390x900 (A744,RX,"BRC"),
|
|
/*A754*/ GENx370x390x900 (A754,RX,"BRC"),
|
|
/*A764*/ GENx370x390x900 (branch_relative_on_condition,RI_B,"BRC"),
|
|
/*A774*/ GENx370x390x900 (A774,RX,"BRC"),
|
|
/*A784*/ GENx370x390x900 (A784,RX,"BRC"),
|
|
/*A794*/ GENx370x390x900 (branch_relative_on_condition,RI_B,"BRC"),
|
|
/*A7A4*/ GENx370x390x900 (A7A4,RX,"BRC"),
|
|
/*A7B4*/ GENx370x390x900 (A7B4,RX,"BRC"),
|
|
/*A7C4*/ GENx370x390x900 (A7C4,RX,"BRC"),
|
|
/*A7D4*/ GENx370x390x900 (A7D4,RX,"BRC"),
|
|
/*A7E4*/ GENx370x390x900 (A7E4,RX,"BRC"),
|
|
/*A7F4*/ GENx370x390x900 (A7F4,RX,"BRC") };
|
|
|
|
static zz_func opcode_BF_x[0x03][GEN_MAXARCH] = {
|
|
/*BF_x*/ GENx370x390x900 (BF_x,RS,"ICM"),
|
|
/*BF_7*/ GENx370x390x900 (BF_7,RS,"ICM"),
|
|
/*BF_F*/ GENx370x390x900 (BF_F,RS,"ICM") };
|
|
|
|
static zz_func opcode_D20x[0x01][GEN_MAXARCH] = {
|
|
/*D200*/ GENx370x390x900 (D200,SS,"MVC") };
|
|
|
|
static zz_func opcode_D50x[0x04][GEN_MAXARCH] = {
|
|
/*D500*/ GENx370x390x900 (D500,SS,"CLC"),
|
|
/*D501*/ GENx370x390x900 (D501,SS,"CLC"),
|
|
/*D503*/ GENx370x390x900 (D503,SS,"CLC"),
|
|
/*D507*/ GENx370x390x900 (D507,SS,"CLC") };
|
|
|
|
static zz_func opcode_E3_0[0x01][GEN_MAXARCH] = {
|
|
/*E3*/ GENx370x390x900 (E3_0,e3xx,"") };
|
|
|
|
static zz_func opcode_E3_0______04[0x01][GEN_MAXARCH] = {
|
|
/*E304*/ GENx___x___x900 (E3_0______04,RXY,"LG") };
|
|
|
|
static zz_func opcode_E3_0______24[0x01][GEN_MAXARCH] = {
|
|
/*E324*/ GENx___x___x900 (E3_0______24,RXY,"STG") };
|
|
|
|
#endif /* OPTION_OPTINST */
|
|
|
|
#endif /*!defined (_GEN_ARCH)*/
|
|
|
|
/* end of OPCODE.C */
|