|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 65729 (0x100c1) Types: TextFile Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦416b74742⟧ └─⟦this⟧
VERSION #3 \- OPCODE ASSIGNMENTS July 16, 1986 \- 0000 00xx xxxx xxxx general purpose instruction \- \- 0000 0011 xxxx xxxx declarative instruction \- 0000 0010 1xxx xxxx declarative instruction \- \- 0000 0010 0xxx xxxx execute \- 0000 0001 xxxx xxxx execute \- \- 0000 0000 xxxx xxxx action \- Instructions containing arguments: \- @nonzero_lex_delta or @zero_lex_delta may also be given as argument forms 111l_llld_dddd_dddd load,@lex_level_delta !other_group !2/5..13 110l_llld_dddd_dddd store,@lex_level_delta !store_group 101l_llzd_dddd_dddd store_unchecked,@nonzero_lex_delta !store_group 1010_000d_dddd_dddd reference,@zero_lex_delta !other_group !2 100l_llld_dddd_dddd call,@lex_level_delta !frame_group !inhibit_ibuff_fill !5/7/9 0111_1ddd_dddd_dddd jump,@pc_displacement !jump_group !inhibit_ibuff_fill !3 0111_0ddd_dddd_dddd jump_nonzero,@pc_displacement !jump_group !2/3 0110_1ddd_dddd_dddd jump_zero,@pc_displacement !jump_group !2/3 0110_0ddd_dddd_dddd indirect_literal,discrete,@pc_displacement !other_group !2 0101_1ddd_dddd_dddd indirect_literal,float,@pc_displacement !other_group !2 0101_0ddd_dddd_dddd indirect_literal,any,@pc_displacement !other_group 0100_1vvv_vvvv_vvvv short_literal,@literal_value !other_group !1 0100_011c_cccc_cccc jump_case,@case_maximum !jump_group !inhibit_ibuff_fill !5 0100_0101_pppp_pppp exit_subprogram,@new_top_offset !frame_group !inhibit_ibuff_fill !6 0100_0100_pppp_pppp exit_subprogram,@new_top_offset,with_result !frame_group !inhibit_ibuff_fill !8 0100_0011_pppp_pppp exit_subprogram,@new_top_offset,from_utility !frame_group !inhibit_ibuff_fill !7 0100_0010_ffff_ffff exit_subprogram,@new_top_offset,from_utility,with_result !frame_group !inhibit_ibuff_fill !9 0100_0001_pppp_pppp end_rendezvous,@parameter_count !rendezvous_group !inhibit_ibuff_fill 0100_0000_ffff_ffff unused 0011_111d_dddd_dddd loop_increasing,@loop_displacement !jump_group !inhibit_ibuff_fill !3/5 0011_1101_ffff_ffff unused 0011_1100_ffff_ffff execute,record,field_read,@field_number !other_group !4/5 0011_1011_ffff_ffff unused 0011_1010_ffff_ffff unused 0011_1001_ffff_ffff unused 0011_1000_ffff_ffff execute,record,field_write,@field_number !store_group 0011_011d_dddd_dddd loop_decreasing,@loop_displacement !jump_group !inhibit_ibuff_fill !3/5 0011_0101_ffff_ffff unused 0011_0100_ffff_ffff execute,record,field_reference,@field_number !other_group !2 0011_0011_ffff_ffff unused 0011_0010_ffff_ffff unused 0011_0001_ffff_ffff unused 0011_0000_ffff_ffff execute,record,field_type,@field_number !other_group !2 0010_1111_ffff_ffff execute,variant_record,field_append,variant,indirect,@field_number !other_group 0010_1110_ffff_ffff execute,variant_record,field_read,variant,direct,@field_number !other_group !5..8+ 0010_1101_ffff_ffff execute,variant_record,field_append,fixed,indirect,@field_number !other_group 0010_1100_ffff_ffff execute,variant_record,field_read,fixed,direct,@field_number !other_group !4..7 0010_1011_ffff_ffff execute,variant_record,field_write,variant,indirect,@field_number !store_group 0010_1010_ffff_ffff execute,variant_record,field_write,variant,direct,@field_number !store_group 0010_1001_ffff_ffff execute,variant_record,field_write,fixed,indirect,@field_number !store_group 0010_1000_ffff_ffff execute,variant_record,field_write,fixed,direct,@field_number !store_group 0010_0111_ffff_ffff execute,variant_record,field_reference,variant,indirect,@field_number !other_group !7..+ 0010_0110_ffff_ffff execute,variant_record,field_reference,variant,direct,@field_number !other_group !5/6+ 0010_0101_ffff_ffff execute,variant_record,field_reference,fixed,indirect,@field_number !other_group !5 0010_0100_ffff_ffff execute,variant_record,field_reference,fixed,direct,@field_number !other_group !2 0010_0011_ffff_ffff execute,variant_record,field_type,@field_number !other_group 0010_0010_ffff_ffff execute,variant_record,field_constrain,@field_number !other_group 0010_0001_ffff_ffff execute,variant_record,set_bounds,@field_number !other_group 0010_0000_ffff_ffff execute,variant_record,set_variant,@field_number !other_group 0001_1111_ffff_ffff unused 0001_1110_ffff_ffff unused 0001_1101_ffff_ffff execute_immediate,reference_lex_1,@unsigned_immediate !declare_group !4/6/9 0001_1100_ffff_ffff execute_immediate,run_utility,@unsigned_immediate !frame_group !9/13/5 0001_1011_ffff_ffff execute,package,field_read,@field_number !declare_group !3/9..13 0001_1010_ffff_ffff execute,package,field_write,@field_number !store_group 0001_1001_ffff_ffff execute,package,field_reference,@field_number !other_group !4 0001_1000_ffff_ffff execute,package,field_execute,@field_number !frame_group !inhibit_ibuff_fill !5/10 0001_0111_ffff_ffff execute,task,entry_call,@field_number !rendezvous_group !inhibit_ibuff_fill 0001_0110_ffff_ffff execute,task,conditional_call,@field_number !rendezvous_group 0001_0101_ffff_ffff execute,task,timed_call,@field_number !rendezvous_group !inhibit_ibuff_fill 0001_0100_ffff_ffff execute,task,family_call,@field_number !rendezvous_group !inhibit_ibuff_fill 0001_0011_ffff_ffff execute,task,family_cond,@field_number !rendezvous_group 0001_0010_ffff_ffff execute,task,family_timed,@field_number !rendezvous_group !inhibit_ibuff_fill 0001_0001_ffff_ffff execute,select,member_write,@field_number !other_group !12/13 0001_0000_ffff_ffff execute,select,guard_write,@field_number !other_group !7 0000_1111_ffff_ffff execute_immediate,equal,@unsigned_immediate !other_group !1 0000_1110_ffff_ffff execute_immediate,not_equal,@unsigned_immediate !other_group !1 0000_1101_ffff_ffff execute_immediate,less,@unsigned_immediate !other_group !1 0000_1100_ffff_ffff execute_immediate,greater_equal,@unsigned_immediate !other_group !2 0000_1011_ffff_ffff execute_immediate,case_compare,@unsigned_immediate !other_group !1 0000_1010_1fff_ffff execute_immediate,plus,@negative_immediate !other_group !1 0000_1010_0fff_ffff execute_immediate,plus,@positive_immediate !other_group !1 0000_1001_11ff_ffff execute_immediate,binary_scale,@limited_negative !other_group !2/4 0000_1001_10ff_ffff execute_immediate,logical_shift,@limited_positive !other_group !2 0000_1001_01ff_ffff execute_immediate,logical_shift,@limited_negative !other_group !2 0000_1001_00ff_ffff execute_immediate,binary_scale,@limited_positive !other_group !3/4 0000_1000_ffff_ffff execute_immediate,raise,@unsigned_immediate !jump_group !inhibit_ibuff_fill 0000_0111_ffff_ffff execute_immediate,set_value,@unsigned_immediate !declare_group 0000_0110_ffff_ffff execute_immediate,set_value_unchecked,@unsigned_immediate !declare_group 0000_0101_ffff_ffff execute_immediate,set_value_visible,@unsigned_immediate !declare_group 0000_0100_ffff_ffff execute_immediate,set_value_visible_unchecked,@unsigned_immediate !declare_group \f \- Discrete declarative instructions 0000_0011_1111_1111 unused 0000_0011_1111_1110 declare_type,discrete,defined,visible !declare_group !8..10 0000_0011_1111_1101 declare_type,discrete,defined !declare_group !8..10 0000_0011_1111_1100 unused 0000_0011_1111_1011 declare_type,discrete,defined,visible,with_size !declare_group !10..12 0000_0011_1111_1010 declare_type,discrete,defined,with_size !declare_group !10..12 0000_0011_1111_1001 declare_type,discrete,constrained,visible !declare_group !10 0000_0011_1111_1000 declare_type,discrete,constrained !declare_group !10 0000_0011_1111_0111 unused 0000_0011_1111_0110 declare_type,discrete,incomplete,visible !declare_group !6 0000_0011_1111_0101 declare_type,discrete,incomplete !declare_group !6 0000_0011_1111_0100 unused 0000_0011_1111_0011 declare_type,discrete,incomplete,visible,unsigned !declare_group !6 0000_0011_1111_0010 declare_type,discrete,incomplete,unsigned !declare_group !6 0000_0011_1111_0001 declare_variable,discrete,with_value !declare_group 0000_0011_1111_0000 declare_variable,discrete,visible,with_value !declare_group 0000_0011_1110_1111 complete_type,discrete,by_defining !declare_group !9..13 0000_0011_1110_1110 complete_type,discrete,by_renaming !declare_group !13 0000_0011_1110_1101 complete_type,discrete,by_constraining !declare_group !14..15 0000_0011_1110_1100 declare_variable,discrete,with_value,with_constraint !declare_group 0000_0011_1110_1011 declare_variable,discrete !declare_group !1 0000_0011_1110_1010 declare_variable,discrete,visible !declare_group !2 0000_0011_1110_1001 declare_variable,discrete,duplicate !declare_group !1 0000_0011_1110_1000 declare_variable,discrete,visible,with_value,with_constraint !declare_group \f \- Float declarative instructions 0000_0011_1110_0111 unused 0000_0011_1110_0110 declare_type,float,defined,visible !declare_group 0000_0011_1110_0101 declare_type,float,defined !declare_group 0000_0011_1110_0100 declare_type,float,constrained,visible !declare_group 0000_0011_1110_0011 declare_type,float,constrained !declare_group 0000_0011_1110_0010 unused 0000_0011_1110_0001 declare_type,float,incomplete,visible !declare_group 0000_0011_1110_0000 declare_type,float,incomplete !declare_group 0000_0011_1101_1111 declare_variable,float,with_value !declare_group 0000_0011_1101_1110 complete_type,float,by_defining !declare_group 0000_0011_1101_1101 complete_type,float,by_renaming !declare_group 0000_0011_1101_1100 complete_type,float,by_constraining !declare_group 0000_0011_1101_1011 declare_variable,float,visible,with_value !declare_group 0000_0011_1101_1010 declare_variable,float !declare_group 0000_0011_1101_1001 declare_variable,float,visible !declare_group 0000_0011_1101_1000 declare_variable,float,duplicate !declare_group \f \- Access declarative instructions 0000_0011_1101_0111 unused 0000_0011_1101_0110 declare_type,access,defined,visible !declare_group 0000_0011_1101_0101 declare_type,access,defined !declare_group 0000_0011_1101_0100 declare_type,access,defined,visible,accesses_protected !declare_group 0000_0011_1101_0011 declare_type,access,defined,accesses_protected !declare_group 0000_0011_1101_0010 declare_type,access,constrained,visible !declare_group 0000_0011_1101_0001 declare_type,access,constrained !declare_group 0000_0011_1101_0000 unused 0000_0011_1100_1111 declare_type,access,incomplete,visible !declare_group 0000_0011_1100_1110 declare_type,access,incomplete !declare_group 0000_0011_1100_1101 declare_type,access,incomplete,visible,accesses_protected !declare_group 0000_0011_1100_1100 declare_type,access,incomplete,accesses_protected !declare_group 0000_0011_1100_1011 unused 0000_0011_1100_1010 unused 0000_0011_1100_1001 unused 0000_0011_1100_1000 unused 0000_0011_1100_0111 complete_type,access,by_defining !declare_group 0000_0011_1100_0110 complete_type,access,by_renaming !declare_group 0000_0011_1100_0101 complete_type,access,by_constraining !declare_group 0000_0011_1100_0100 complete_type,access,by_component_completion !declare_group 0000_0011_1100_0011 unused 0000_0011_1100_0010 unused 0000_0011_1100_0001 unused 0000_0011_1100_0000 unused 0000_0011_1011_1111 declare_variable,access !declare_group 0000_0011_1011_1110 declare_variable,access,visible !declare_group 0000_0011_1011_1101 declare_variable,access,duplicate !declare_group 0000_0011_1011_1100 declare_variable,access,by_allocation !declare_group 0000_0011_1011_1011 declare_variable,access,visible,by_allocation !declare_group 0000_0011_1011_1010 declare_variable,access,by_allocation,with_constraint !declare_group 0000_0011_1011_1001 declare_variable,access,visible,by_allocation,with_constraint !declare_group 0000_0011_1011_1000 declare_variable,access,by_allocation,with_subtype !declare_group 0000_0011_1011_0111 declare_variable,access,visible,by_allocation,with_subtype !declare_group 0000_0011_1011_0110 declare_variable,access,by_allocation,with_value !declare_group 0000_0011_1011_0101 declare_variable,access,visible,by_allocation,with_value !declare_group 0000_0011_1011_0100 unused 0000_0011_1011_0011 unused 0000_0011_1011_0010 unused 0000_0011_1011_0001 unused 0000_0011_1011_0000 unused \f \-Heap access declarative instructions 0000_0011_1010_1111 unused 0000_0011_1010_1110 declare_type,heap_access,defined,visible !declare_group 0000_0011_1010_1101 declare_type,heap_access,defined !declare_group 0000_0011_1010_1100 declare_type,heap_access,constrained,visible !declare_group 0000_0011_1010_1011 declare_type,heap_access,constrained !declare_group 0000_0011_1010_1010 unused 0000_0011_1010_1001 declare_type,heap_access,incomplete,visible !declare_group 0000_0011_1010_1000 declare_type,heap_access,incomplete !declare_group 0000_0011_1010_0111 declare_type,heap_access,incomplete,visible,values_relative,with_size !declare_group 0000_0011_1010_0110 declare_type,heap_access,incomplete,visible,values_relative !declare_group 0000_0011_1010_0101 declare_type,heap_access,incomplete,values_relative !declare_group 0000_0011_1010_0100 declare_type,heap_access,incomplete,values_relative,with_size !declare_group 0000_0011_1010_0011 complete_type,heap_access,by_defining !declare_group 0000_0011_1010_0010 complete_type,heap_access,by_renaming !declare_group 0000_0011_1010_0001 complete_type,heap_access,by_constraining !declare_group 0000_0011_1010_0000 complete_type,heap_access,by_component_completion !declare_group 0000_0011_1001_1111 declare_variable,heap_access !declare_group 0000_0011_1001_1110 declare_variable,heap_access,visible !declare_group 0000_0011_1001_1101 declare_variable,heap_access,duplicate !declare_group 0000_0011_1001_1100 declare_variable,heap_access,by_allocation !declare_group 0000_0011_1001_1011 declare_variable,heap_access,visible,by_allocation !declare_group 0000_0011_1001_1010 declare_variable,heap_access,by_allocation,with_constraint !declare_group 0000_0011_1001_1001 declare_variable,heap_access,visible,by_allocation,with_constraint !declare_group 0000_0011_1001_1000 declare_variable,heap_access,by_allocation,with_subtype !declare_group 0000_0011_1001_0111 declare_variable,heap_access,visible,by_allocation,with_subtype !declare_group 0000_0011_1001_0110 declare_variable,heap_access,by_allocation,with_value !declare_group 0000_0011_1001_0101 declare_variable,heap_access,visible,by_allocation,with_value !declare_group 0000_0011_1001_0100 unused 0000_0011_1001_0011 unused 0000_0011_1001_0010 unused 0000_0011_1001_0001 unused 0000_0011_1001_0000 unused \f \- Package declarative instructions 0000_0011_1000_1111 declare_type,package,defined,visible !declare_group 0000_0011_1000_1110 declare_type,package,defined !declare_group 0000_0011_1000_1101 declare_type,package,defined,visible,not_elaborated !declare_group 0000_0011_1000_1100 declare_type,package,defined,not_elaborated !declare_group 0000_0011_1000_1011 unused 0000_0011_1000_1010 unused 0000_0011_1000_1001 unused 0000_0011_1000_1000 unused 0000_0011_1000_0111 declare_variable,package !declare_group !inhibit_ibuff_fill 0000_0011_1000_0110 declare_variable,package,visible !declare_group !inhibit_ibuff_fill 0000_0011_1000_0101 declare_variable,package,on_processor !declare_group !inhibit_ibuff_fill 0000_0011_1000_0100 declare_variable,package,visible,on_processor !declare_group !inhibit_ibuff_fill 0000_0011_1000_0011 unused 0000_0011_1000_0010 unused 0000_0011_1000_0001 unused 0000_0011_1000_0000 unused \f \- Task declarative instructions 0000_0011_0111_1111 unused 0000_0011_0111_1110 declare_type,task,defined,visible !declare_group 0000_0011_0111_1101 declare_type,task,defined !declare_group 0000_0011_0111_1100 unused 0000_0011_0111_1011 declare_type,task,defined,visible,not_elaborated !declare_group 0000_0011_0111_1010 declare_type,task,defined,not_elaborated !declare_group 0000_0011_0111_1001 unused 0000_0011_0111_1000 declare_type,task,incomplete,visible !declare_group 0000_0011_0111_0111 declare_type,task,incomplete !declare_group 0000_0011_0111_0110 unused 0000_0011_0111_0101 unused 0000_0011_0111_0100 complete_type,task,by_renaming !declare_group 0000_0011_0111_0011 unused 0000_0011_0111_0010 unused 0000_0011_0111_0001 unused 0000_0011_0111_0000 unused 0000_0011_0110_1111 declare_variable,task !declare_group !inhibit_ibuff_fill 0000_0011_0110_1110 declare_variable,task,visible !declare_group !inhibit_ibuff_fill 0000_0011_0110_1101 declare_variable,task,on_processor !declare_group !inhibit_ibuff_fill 0000_0011_0110_1100 declare_variable,task,visible,on_processor !declare_group !inhibit_ibuff_fill 0000_0011_0110_1011 declare_variable,task,as_component !declare_group !inhibit_ibuff_fill 0000_0011_0110_1010 declare_variable,task,on_processor,as_component !declare_group !inhibit_ibuff_fill 0000_0011_0110_1001 unused 0000_0011_0110_1000 unused 0000_0011_0110_0111 unused 0000_0011_0110_0110 unused 0000_0011_0110_0101 unused 0000_0011_0110_0100 unused 0000_0011_0110_0011 unused 0000_0011_0110_0010 unused 0000_0011_0110_0001 unused 0000_0011_0110_0000 unused \f \- Array declarative instructions 0000_0011_0101_1111 unused 0000_0011_0101_1110 declare_type,array,defined,visible !declare_group 0000_0011_0101_1101 declare_type,array,defined !declare_group 0000_0011_0101_1100 declare_type,array,constrained,visible !declare_group 0000_0011_0101_1011 declare_type,array,constrained !declare_group 0000_0011_0101_1010 unused 0000_0011_0101_1001 declare_type,array,incomplete,visible !declare_group 0000_0011_0101_1000 declare_type,array,incomplete !declare_group 0000_0011_0101_0111 unused 0000_0011_0101_0110 declare_type,array,defined_incomplete,visible !declare_group 0000_0011_0101_0101 declare_type,array,defined_incomplete !declare_group 0000_0011_0101_0100 declare_type,array,constrained_incomplete,visible !declare_group 0000_0011_0101_0011 declare_type,array,constrained_incomplete !declare_group 0000_0011_0101_0010 unused 0000_0011_0101_0001 declare_type,array,defined,visible,bounds_with_object !declare_group 0000_0011_0101_0000 declare_type,array,defined,bounds_with_object !declare_group 0000_0011_0100_1111 declare_type,array,constrained,visible,bounds_with_object !declare_group 0000_0011_0100_1110 declare_type,array,constrained,bounds_with_object !declare_group 0000_0011_0100_1101 unused 0000_0011_0100_1100 declare_type,array,incomplete,visible,bounds_with_object !declare_group 0000_0011_0100_1011 declare_type,array,incomplete,bounds_with_object !declare_group 0000_0011_0100_1010 unused 0000_0011_0100_1001 declare_type,array,defined_incomplete,visible,bounds_with_object !declare_group 0000_0011_0100_1000 declare_type,array,defined_incomplete,bounds_with_object !declare_group 0000_0011_0100_0111 declare_type,array,constrained_incomplete,visible,bounds_with_object !declare_group 0000_0011_0100_0110 declare_type,array,constrained_incomplete,bounds_with_object !declare_group 0000_0011_0100_0101 unused 0000_0011_0100_0100 unused 0000_0011_0100_0011 complete_type,array,by_defining !declare_group 0000_0011_0100_0010 complete_type,array,by_renaming !declare_group 0000_0011_0100_0001 complete_type,array,by_constraining !declare_group 0000_0011_0100_0000 complete_type,array,by_component_completion !declare_group 0000_0011_0011_1111 unused 0000_0011_0011_1110 unused 0000_0011_0011_1101 unused 0000_0011_0011_1100 unused 0000_0011_0011_1011 unused 0000_0011_0011_1010 unused 0000_0011_0011_1001 unused 0000_0011_0011_1000 unused 0000_0011_0011_0111 declare_variable,array !declare_group 0000_0011_0011_0110 declare_variable,array,visible !declare_group 0000_0011_0011_0101 declare_variable,array,duplicate !declare_group 0000_0011_0011_0100 declare_variable,array,with_constraint !declare_group 0000_0011_0011_0011 declare_variable,array,visible,with_constraint !declare_group 0000_0011_0011_0010 unused 0000_0011_0011_0001 unused 0000_0011_0011_0000 unused \f \- Record declarative instructions 0000_0011_0010_1111 unused 0000_0011_0010_1110 declare_type,record,defined,visible !declare_group 0000_0011_0010_1101 declare_type,record,defined !declare_group 0000_0011_0010_1100 unused 0000_0011_0010_1011 declare_type,record,incomplete,visible !declare_group 0000_0011_0010_1010 declare_type,record,incomplete !declare_group 0000_0011_0010_1001 unused 0000_0011_0010_1000 declare_type,record,defined_incomplete,visible !declare_group 0000_0011_0010_0111 declare_type,record,defined_incomplete !declare_group 0000_0011_0010_0110 complete_type,record,by_defining !declare_group 0000_0011_0010_0101 complete_type,record,by_renaming !declare_group 0000_0011_0010_0100 complete_type,record,by_component_completion !declare_group 0000_0011_0010_0011 unused 0000_0011_0010_0010 declare_variable,record !declare_group !3..11+ 0000_0011_0010_0001 declare_variable,record,visible !declare_group !3..11+ 0000_0011_0010_0000 declare_variable,record,duplicate !declare_group !5+..8+ \f \- Variant record declarative instructions 0000_0011_0001_1111 unused 0000_0011_0001_1110 declare_type,variant_record,defined,visible !declare_group 0000_0011_0001_1101 declare_type,variant_record,defined !declare_group 0000_0011_0001_1100 declare_type,variant_record,constrained,visible !declare_group 0000_0011_0001_1011 declare_type,variant_record,constrained !declare_group 0000_0011_0001_1010 unused 0000_0011_0001_1001 declare_type,variant_record,incomplete,visible !declare_group 0000_0011_0001_1000 declare_type,variant_record,incomplete !declare_group 0000_0011_0001_0111 unused 0000_0011_0001_0110 declare_type,variant_record,defined_incomplete,visible !declare_group 0000_0011_0001_0101 declare_type,variant_record,defined_incomplete !declare_group \-formerly declare_type,variant_record,constrained_incomplete,visible !declare_group 0000_0011_0001_0100 unused \-formerly declare_type,variant_record,constrained_incomplete !declare_group 0000_0011_0001_0011 unused \-formerly declare_type,variant_record,incomplete,visible,constrained !declare_group 0000_0011_0001_0010 declare_type,variant_record,constrained_incomplete,visible !declare_group \-formerly declare_type,variant_record,incomplete,constrained !declare_group 0000_0011_0001_0001 declare_type,variant_record,constrained_incomplete !declare_group 0000_0011_0001_0000 unused 0000_0011_0000_1111 unused 0000_0011_0000_1110 unused 0000_0011_0000_1101 unused 0000_0011_0000_1100 unused 0000_0011_0000_1011 unused 0000_0011_0000_1010 unused 0000_0011_0000_1001 unused 0000_0011_0000_1000 unused 0000_0011_0000_0111 complete_type,variant_record,by_defining !declare_group 0000_0011_0000_0110 complete_type,variant_record,by_renaming !declare_group 0000_0011_0000_0101 complete_type,variant_record,by_constraining_incomplete !declare_group 0000_0011_0000_0100 complete_type,variant_record,by_completing_constraint !declare_group 0000_0011_0000_0011 complete_type,variant_record,by_component_completion !declare_group 0000_0011_0000_0010 unused 0000_0011_0000_0001 unused 0000_0011_0000_0000 unused 0000_0010_1111_1111 declare_variable,variant_record !declare_group 0000_0010_1111_1110 declare_variable,variant_record,visible !declare_group 0000_0010_1111_1101 declare_variable,variant_record,duplicate !declare_group 0000_0010_1111_1100 declare_variable,variant_record,with_constraint !declare_group 0000_0010_1111_1011 declare_variable,variant_record,visible,with_constraint !declare_group 0000_0010_1111_1010 unused 0000_0010_1111_1001 unused 0000_0010_1111_1000 unused \f 0000_0010_1111_0111 unused 0000_0010_1111_0110 unused 0000_0010_1111_0101 unused 0000_0010_1111_0100 unused 0000_0010_1111_0011 unused 0000_0010_1111_0010 unused 0000_0010_1111_0001 unused 0000_0010_1111_0000 unused 0000_0010_1110_1111 unused 0000_0010_1110_1110 unused 0000_0010_1110_1101 unused 0000_0010_1110_1100 unused 0000_0010_1110_1011 unused 0000_0010_1110_1010 unused 0000_0010_1110_1001 unused 0000_0010_1110_1000 unused 0000_0010_1110_0111 unused 0000_0010_1110_0110 unused 0000_0010_1110_0101 unused 0000_0010_1110_0100 unused 0000_0010_1110_0011 unused 0000_0010_1110_0010 unused 0000_0010_1110_0001 unused 0000_0010_1110_0000 unused 0000_0010_1101_1111 unused 0000_0010_1101_1110 unused 0000_0010_1101_1101 unused 0000_0010_1101_1100 unused 0000_0010_1101_1011 unused 0000_0010_1101_1010 unused 0000_0010_1101_1001 unused 0000_0010_1101_1000 unused 0000_0010_1101_0111 unused 0000_0010_1101_0110 unused 0000_0010_1101_0101 unused 0000_0010_1101_0100 unused 0000_0010_1101_0011 unused 0000_0010_1101_0010 unused 0000_0010_1101_0001 unused 0000_0010_1101_0000 unused \f \- Select, entry, and family declarative instructions 0000_0010_1100_1111 declare_variable,select !declare_group 0000_0010_1100_1110 declare_variable,select,choice_open !declare_group 0000_0010_1100_1101 unused 0000_0010_1100_1100 unused 0000_0010_1100_1011 declare_variable,entry !declare_group 0000_0010_1100_1010 unused 0000_0010_1100_1001 declare_variable,family !declare_group 0000_0010_1100_1000 unused \- Any class declarative instructions 0000_0010_1100_0111 declare_variable,any !declare_group 0000_0010_1100_0110 declare_variable,any,visible !declare_group 0000_0010_1100_0101 unused 0000_0010_1100_0100 unused 0000_0010_1100_0011 unused 0000_0010_1100_0010 unused 0000_0010_1100_0001 unused 0000_0010_1100_0000 unused 0000_0010_1011_1111 declare_variable,float,with_value,with_constraint !declare_group 0000_0010_1011_1110 declare_variable,float,visible,with_value,with_constraint !declare_group 0000_0010_1011_1101 unused 0000_0010_1011_1100 unused 0000_0010_1011_1011 unused 0000_0010_1011_1010 unused 0000_0010_1011_1001 unused 0000_0010_1011_1000 unused 0000_0010_1011_0111 unused 0000_0010_1011_0110 unused 0000_0010_1011_0101 unused 0000_0010_1011_0100 unused 0000_0010_1011_0011 unused 0000_0010_1011_0010 unused 0000_0010_1011_0001 unused 0000_0010_1011_0000 unused \f \- Subprogram declarative instructions 0000_0010_1010_1111 unused 0000_0010_1010_1110 unused 0000_0010_1010_1101 unused 0000_0010_1010_1100 unused 0000_0010_1010_1011 declare_subprogram,for_call,with_address !declare_group !3 0000_0010_1010_1010 declare_subprogram,for_call,visible,with_address !declare_group !4 0000_0010_1010_1001 declare_subprogram,for_call,unelaborated,with_address !declare_group !3 0000_0010_1010_1000 declare_subprogram,for_call,visible,unelaborated,with_address !declare_group !4 0000_0010_1010_0111 unused 0000_0010_1010_0110 unused 0000_0010_1010_0101 declare_subprogram,for_outer_call,with_address !declare_group !3 0000_0010_1010_0100 declare_subprogram,for_outer_call,visible,with_address !declare_group !3 0000_0010_1010_0011 unused 0000_0010_1010_0010 declare_subprogram,for_accept,with_address !declare_group !4 0000_0010_1010_0001 unused 0000_0010_1010_0000 declare_subprogram,null_subprogram !declare_group !1 0000_0010_1001_1111 declare_subprogram,for_call !declare_group !3/6 0000_0010_1001_1110 declare_subprogram,for_call,unelaborated !declare_group !3/6 0000_0010_1001_1101 declare_subprogram,for_outer_call !declare_group !3/6 0000_0010_1001_1100 declare_subprogram,for_outer_call,visible !declare_group !3/6 0000_0010_1001_1011 declare_subprogram,for_outer_call,unelaborated !declare_group !3/6 0000_0010_1001_1010 declare_subprogram,for_outer_call,visible,unelaborated !declare_group !3/6 0000_0010_1001_1001 declare_subprogram,for_accept !declare_group !4 0000_0010_1001_1000 unused 0000_0010_1001_0111 unused 0000_0010_1001_0110 unused 0000_0010_1001_0101 unused 0000_0010_1001_0100 unused 0000_0010_1001_0011 unused 0000_0010_1001_0010 unused 0000_0010_1001_0001 unused 0000_0010_1001_0000 unused 0000_0010_1000_xxxx unused \f \- Discrete operations 0000_0010_0111_1111 execute,discrete,equal !other_group !1 0000_0010_0111_1110 execute,discrete,not_equal !other_group !1 0000_0010_0111_1101 execute,discrete,greater !other_group !1 0000_0010_0111_1100 execute,discrete,less !other_group !1 0000_0010_0111_1011 execute,discrete,greater_equal !other_group !1 0000_0010_0111_1010 execute,discrete,less_equal !other_group !1 0000_0010_0111_1001 execute,discrete,and !other_group !1 0000_0010_0111_1000 execute,discrete,or !other_group !1 0000_0010_0111_0111 execute,discrete,xor !other_group !1 0000_0010_0111_0110 execute,discrete,complement !other_group !1 0000_0010_0111_0101 execute,discrete,unary_minus !other_group !1 0000_0010_0111_0100 execute,discrete,absolute_value !other_group !1 0000_0010_0111_0011 execute,discrete,plus !other_group !1 0000_0010_0111_0010 execute,discrete,minus !other_group !1 0000_0010_0111_0001 execute,discrete,times !other_group !2/8..17 0000_0010_0111_0000 execute,discrete,divide !other_group !5/8 0000_0010_0110_1111 execute,discrete,remainder !other_group !6..10 0000_0010_0110_1110 execute,discrete,modulo !other_group !6..10 0000_0010_0110_1101 execute,discrete,exponentiate !other_group 0000_0010_0110_1100 execute,discrete,minimum !other_group !2 0000_0010_0110_1011 execute,discrete,maximum !other_group !2 0000_0010_0110_1010 execute,discrete,first !other_group !2 0000_0010_0110_1001 execute,discrete,last !other_group !2 0000_0010_0110_1000 execute,discrete,successor !other_group !3/9 0000_0010_0110_0111 execute,discrete,predecessor !other_group !3/9 0000_0010_0110_0110 execute,discrete,bounds !other_group !3 0000_0010_0110_0101 execute,discrete,reverse_bounds !other_group !3 0000_0010_0110_0100 execute,discrete,below_bound !other_group !1/4 0000_0010_0110_0011 execute,discrete,above_bound !other_group !1/4 0000_0010_0110_0010 execute,discrete,in_range !other_group !2/3 0000_0010_0110_0001 execute,discrete,not_in_range !other_group !2/3 0000_0010_0110_0000 execute,discrete,in_type !other_group !2/4 0000_0010_0101_1111 execute,discrete,not_in_type !other_group !2/4 0000_0010_0101_1110 execute,discrete,convert !declare_group !2 0000_0010_0101_1101 execute,discrete,bounds_check !other_group !3 0000_0010_0101_1100 execute,discrete,reverse_bounds_check !other_group !3 0000_0010_0101_1011 execute,discrete,check_in_type !other_group !2 0000_0010_0101_1010 execute,discrete,write_unchecked !store_group !7/9 0000_0010_0101_1001 execute,discrete,test_and_set_previous !other_group !11/13/14 0000_0010_0101_1000 execute,discrete,test_and_set_next !other_group !11/13/14 0000_0010_0101_0111 execute,discrete,raise !jump_group !inhibit_ibuff_fill 0000_0010_0101_0110 execute,discrete,instruction_read !other_group !3 0000_0010_0101_0101 execute,discrete,partial_plus !other_group !5 0000_0010_0101_0100 execute,discrete,partial_minus !other_group !5 0000_0010_0101_0011 execute,discrete,binary_scale !other_group !3/6 0000_0010_0101_0010 execute,discrete,arithmetic_shift !other_group !3 0000_0010_0101_0001 execute,discrete,logical_shift !other_group !2 0000_0010_0101_0000 execute,discrete,rotate !other_group !2 0000_0010_0100_1111 execute,discrete,insert_bits !other_group !4 0000_0010_0100_1110 execute,discrete,extract_bits !other_group !4/5 0000_0010_0100_1101 execute,discrete,count_nonzero_bits !other_group !3/8..23 0000_0010_0100_1100 execute,discrete,count_leading_zeros !other_group !2 0000_0010_0100_1011 execute,discrete,count_trailing_zeros !other_group !3/4 0000_0010_0100_1010 execute,discrete,is_unsigned !other_group !2 0000_0010_0100_1001 execute,discrete,case_in_range !other_group 0000_0010_0100_1000 execute,discrete,check_in_integer !other_group \f \- Float operations 0000_0010_0100_0111 execute,float,equal !other_group !1 0000_0010_0100_0110 execute,float,not_equal !other_group !1 0000_0010_0100_0101 execute,float,greater !other_group !2/3 0000_0010_0100_0100 execute,float,less !other_group !2/3 0000_0010_0100_0011 execute,float,greater_equal !other_group !2/3 0000_0010_0100_0010 execute,float,less_equal !other_group !2/3 0000_0010_0100_0001 execute,float,first !other_group !2 0000_0010_0100_0000 execute,float,last !other_group !2 0000_0010_0011_1111 execute,float,unary_minus !other_group !2/3 0000_0010_0011_1110 execute,float,absolute_value !other_group !1 0000_0010_0011_1101 execute,float,plus !other_group !12/13 0000_0010_0011_1100 execute,float,minus !other_group !12/13 0000_0010_0011_1011 execute,float,times !other_group !15/18/22 0000_0010_0011_1010 execute,float,divide !other_group !61/62 0000_0010_0011_1001 execute,float,exponentiate !other_group 0000_0010_0011_1000 execute,float,convert !declare_group !2/4 0000_0010_0011_0111 execute,float,convert_from_discrete !declare_group !3/5/7 0000_0010_0011_0110 execute,float,truncate_to_discrete !declare_group !4/5 0000_0010_0011_0101 execute,float,round_to_discrete !declare_group !5/6 0000_0010_0011_0100 execute,float,in_type !other_group !2/4/5/6 0000_0010_0011_0011 execute,float,not_in_type !other_group !2/4/5/6 0000_0010_0011_0010 execute,float,check_in_type !other_group !2/4 0000_0010_0011_0001 execute,float,write_unchecked !store_group !7/8 0000_0010_0011_0000 execute,float,in_range !other_group !3/4/5/6 \f \- Access operations 0000_0010_0010_1111 execute,access,equal !other_group !2 0000_0010_0010_1110 execute,access,not_equal !other_group !2 0000_0010_0010_1101 execute,access,is_null !other_group !1 0000_0010_0010_1100 execute,access,not_null !other_group !1 0000_0010_0010_1011 execute,access,set_null !store_group !6/7/9 0000_0010_0010_1010 execute,access,element_type !other_group !3/6 0000_0010_0010_1001 execute,access,all_read !other_group !3/6/7 0000_0010_0010_1000 execute,access,all_write !store_group !2+/6+ 0000_0010_0010_0111 execute,access,all_reference !other_group !2 0000_0010_0010_0110 execute,access,convert !declare_group !2/3+ 0000_0010_0010_0101 execute,access,in_type !other_group !1/2+ 0000_0010_0010_0100 execute,access,not_in_type !other_group !1/2+ 0000_0010_0010_0011 execute,access,check_in_type !other_group !1/2+ 0000_0010_0010_0010 execute,access,convert_reference !other_group !5 0000_0010_0010_0001 execute,access,allow_deallocate !declare_group !unimplemented 0000_0010_0010_0000 execute,access,deallocate !other_group !unimplemented \- Heap access operations 0000_0010_0001_1111 execute,heap_access,equal !other_group !2 0000_0010_0001_1110 execute,heap_access,not_equal !other_group !2 0000_0010_0001_1101 execute,heap_access,is_null !other_group !1 0000_0010_0001_1100 execute,heap_access,not_null !other_group !1 0000_0010_0001_1011 execute,heap_access,set_null !other_group !6/7/9 0000_0010_0001_1010 execute,heap_access,element_type !other_group !3/6 0000_0010_0001_1001 execute,heap_access,all_read !other_group !3/6/7 0000_0010_0001_1000 execute,heap_access,all_write !store_group !2+/6+ 0000_0010_0001_0111 execute,heap_access,all_reference !other_group !2 0000_0010_0001_0110 execute,heap_access,convert !declare_group !2/3+ 0000_0010_0001_0101 execute,heap_access,in_type !other_group !1/2+ 0000_0010_0001_0100 execute,heap_access,not_in_type !other_group !1/2+ 0000_0010_0001_0011 execute,heap_access,check_in_type !other_group !1/2+ 0000_0010_0001_0010 execute,heap_access,address !other_group !1 0000_0010_0001_0001 execute,heap_access,convert_reference !other_group !5 0000_0010_0001_0000 execute,heap_access,get_segment !other_group \f \- Module operations 0000_0010_0000_1111 execute,module,activate !declare_group !inhibit_ibuff_fill 0000_0010_0000_1110 execute,module,augment_imports !other_group 0000_0010_0000_1101 execute,module,elaborate !other_group 0000_0010_0000_1100 execute,module,is_callable !other_group 0000_0010_0000_1011 execute,module,is_terminated !other_group 0000_0010_0000_1010 execute,module,get_name !other_group 0000_0010_0000_1001 execute,task,abort !other_group 0000_0010_0000_1000 execute,task,abort_multiple !other_group !unimplemented 0000_0010_0000_0111 unused 0000_0010_0000_0110 execute,module,check_elaborated !other_group !3/10 0000_0010_0000_0101 unused 0000_0010_0000_0100 unused 0000_0010_0000_0011 unused 0000_0010_0000_0010 unused 0000_0010_0000_0001 unused 0000_0010_0000_0000 unused \f \- Array operations 0000_0001_1111_1111 execute,array,equal !other_group 0000_0001_1111_1110 execute,array,not_equal !other_group 0000_0001_1111_1101 execute,array,first !other_group 0000_0001_1111_1100 execute,array,last !other_group 0000_0001_1111_1011 execute,array,length !other_group 0000_0001_1111_1010 execute,array,bounds !other_group 0000_0001_1111_1001 execute,array,reverse_bounds !other_group 0000_0001_1111_1000 execute,array,element_type !other_group 0000_0001_1111_0111 execute,array,field_read !other_group 0000_0001_1111_0110 execute,array,field_write !store_group 0000_0001_1111_0101 execute,array,field_reference !other_group 0000_0001_1111_0100 execute,array,structure_write !store_group 0000_0001_1111_0011 execute,array,subarray !other_group 0000_0001_1111_0010 unused 0000_0001_1111_0001 unused 0000_0001_1111_0000 unused 0000_0001_1110_1111 execute,array,convert !declare_group 0000_0001_1110_1110 execute,array,convert_to_formal !declare_group 0000_0001_1110_1101 execute,array,in_type !other_group 0000_0001_1110_1100 execute,array,not_in_type !other_group 0000_0001_1110_1011 execute,array,check_in_type !other_group 0000_0001_1110_1010 unused 0000_0001_1110_1001 unused 0000_0001_1110_1000 unused 0000_0001_1110_0111 unused 0000_0001_1110_0110 unused 0000_0001_1110_0101 unused 0000_0001_1110_0100 unused 0000_0001_1110_0011 unused 0000_0001_1110_0010 unused 0000_0001_1110_0001 unused 0000_0001_1110_0000 unused \f \- Vector operations 0000_0001_1101_1111 execute,vector,equal !other_group !9+ 0000_0001_1101_1110 execute,vector,not_equal !other_group !9+ 0000_0001_1101_1101 execute,vector,first !other_group !3..5 0000_0001_1101_1100 execute,vector,last !other_group !5..6 0000_0001_1101_1011 execute,vector,length !other_group !3..5 0000_0001_1101_1010 execute,vector,bounds !other_group !5..7 0000_0001_1101_1001 execute,vector,reverse_bounds !other_group !5..7 0000_0001_1101_1000 execute,vector,element_type !other_group !3 0000_0001_1101_0111 execute,vector,field_read !other_group !6..13 0000_0001_1101_0110 execute,vector,field_write !store_group !4+..10+ 0000_0001_1101_0101 execute,vector,field_reference !other_group !4..10 0000_0001_1101_0100 execute,vector,structure_write !store_group !2+ 0000_0001_1101_0011 execute,vector,and !other_group 0000_0001_1101_0010 execute,vector,or !other_group 0000_0001_1101_0001 execute,vector,xor !other_group 0000_0001_1101_0000 execute,vector,complement !other_group 0000_0001_1100_1111 execute,vector,slice_read !other_group !13..23+ 0000_0001_1100_1110 execute,vector,slice_write !store_group !15+ 0000_0001_1100_1101 execute,vector,slice_reference !store_group !9..13 0000_0001_1100_1100 execute,vector,catenate !other_group 0000_0001_1100_1011 execute,vector,append !other_group 0000_0001_1100_1010 execute,vector,prepend !other_group 0000_0001_1100_1001 unused 0000_0001_1100_1000 unused 0000_0001_1100_0111 execute,vector,convert !declare_group !11+ 0000_0001_1100_0110 execute,vector,convert_to_formal !declare_group !11+ 0000_0001_1100_0101 execute,vector,in_type !other_group !6..14 0000_0001_1100_0100 execute,vector,not_in_type !other_group !6..14 0000_0001_1100_0011 execute,vector,check_in_type !other_group !6..14 0000_0001_1100_0010 execute,vector,greater !other_group 0000_0001_1100_0001 execute,vector,less !other_group 0000_0001_1100_0000 execute,vector,greater_equal !other_group 0000_0001_1011_1111 execute,vector,less_equal !other_group 0000_0001_1011_1110 execute,vector,hash !other_group !15-17 0000_0001_1011_1101 unused 0000_0001_1011_1100 unused 0000_0001_1011_1011 unused 0000_0001_1011_1010 unused 0000_0001_1011_1001 unused 0000_0001_1011_1000 unused 0000_0001_1011_0111 unused 0000_0001_1011_0110 unused 0000_0001_1011_0101 unused 0000_0001_1011_0100 unused 0000_0001_1011_0011 unused 0000_0001_1011_0010 unused 0000_0001_1011_0001 unused 0000_0001_1011_0000 unused \f \- Matrix operations 0000_0001_1010_1111 execute,matrix,equal !other_group 0000_0001_1010_1110 execute,matrix,not_equal !other_group 0000_0001_1010_1101 execute,matrix,first !other_group 0000_0001_1010_1100 execute,matrix,last !other_group 0000_0001_1010_1011 execute,matrix,length !other_group 0000_0001_1010_1010 execute,matrix,bounds !other_group 0000_0001_1010_1001 execute,matrix,reverse_bounds !other_group 0000_0001_1010_1000 execute,matrix,element_type !other_group 0000_0001_1010_0111 execute,matrix,field_read !other_group 0000_0001_1010_0110 execute,matrix,field_write !store_group 0000_0001_1010_0101 execute,matrix,field_reference !other_group 0000_0001_1010_0100 execute,matrix,structure_write !store_group 0000_0001_1010_0011 execute,matrix,subarray !other_group 0000_0001_1010_0010 unused 0000_0001_1010_0001 unused 0000_0001_1010_0000 unused 0000_0001_1001_1111 execute,matrix,convert !declare_group 0000_0001_1001_1110 execute,matrix,convert_to_formal !declare_group 0000_0001_1001_1101 execute,matrix,in_type !other_group 0000_0001_1001_1100 execute,matrix,not_in_type !other_group 0000_0001_1001_1011 execute,matrix,check_in_type !other_group 0000_0001_1001_1010 unused 0000_0001_1001_1001 unused 0000_0001_1001_1000 unused 0000_0001_1001_0111 unused 0000_0001_1001_0110 unused 0000_0001_1001_0101 unused 0000_0001_1001_0100 unused 0000_0001_1001_0011 unused 0000_0001_1001_0010 unused 0000_0001_1001_0001 unused 0000_0001_1001_0000 unused \f \- Subarray and subvector operations 0000_0001_1000_1111 execute,subarray,field_read !other_group 0000_0001_1000_1110 execute,subarray,field_write !store_group 0000_0001_1000_1101 execute,subarray,field_reference !other_group 0000_0001_1000_1100 execute,subarray,structure_write !store_group !unimplemented 0000_0001_1000_1011 execute,subvector,field_read !other_group 0000_0001_1000_1010 execute,subvector,field_write !store_group 0000_0001_1000_1001 execute,subvector,field_reference !other_group 0000_0001_1000_1000 execute,subvector,structure_write !store_group !unimplemented 0000_0001_1000_0111 unused 0000_0001_1000_0110 unused 0000_0001_1000_0101 unused 0000_0001_1000_0100 unused 0000_0001_1000_0011 unused 0000_0001_1000_0010 unused 0000_0001_1000_0001 unused 0000_0001_1000_0000 unused \f \- Record operations 0000_0001_0111_1111 execute,record,equal !other_group !4+ 0000_0001_0111_1110 execute,record,not_equal !other_group !4+ 0000_0001_0111_1101 execute,record,structure_write !store_group !5+ 0000_0001_0111_1100 execute,record,component_offset !other_group !3 0000_0001_0111_1011 execute,record,convert !declare_group !5/8+ 0000_0001_0111_1010 execute,record,field_read_dynamic !other_group 0000_0001_0111_1001 execute,record,field_write_dynamic !store_group 0000_0001_0111_1000 execute,record,field_reference_dynamic !other_group 0000_0001_0111_0111 execute,record,field_type_dynamic !other_group 0000_0001_0111_0110 unused 0000_0001_0111_0101 unused 0000_0001_0111_0100 unused 0000_0001_0111_0011 unused 0000_0001_0111_0010 unused 0000_0001_0111_0001 unused 0000_0001_0111_0000 unused \f \- Variant_record operations 0000_0001_0110_1111 execute,variant_record,equal !other_group 0000_0001_0110_1110 execute,variant_record,not_equal !other_group 0000_0001_0110_1101 execute,variant_record,structure_write !store_group 0000_0001_0110_1100 execute,variant_record,is_constrained !other_group 0000_0001_0110_1011 execute,variant_record,read_variant !other_group 0000_0001_0110_1010 execute,variant_record,indirects_appended !other_group 0000_0001_0110_1001 execute,variant_record,read_discriminant_constraint !other_group 0000_0001_0110_1000 execute,variant_record,reference_makes_copy !other_group 0000_0001_0110_0111 execute,variant_record,structure_query !other_group 0000_0001_0110_0110 execute,variant_record,component_offset !other_group 0000_0001_0110_0101 execute,variant_record,convert !declare_group 0000_0001_0110_0100 execute,variant_record,in_type !other_group 0000_0001_0110_0011 execute,variant_record,not_in_type !other_group 0000_0001_0110_0010 execute,variant_record,check_in_type !other_group 0000_0001_0110_0001 execute,variant_record,check_in_formal_type !other_group 0000_0001_0110_0000 execute,variant_record,field_read_dynamic !other_group 0000_0001_0101_1111 execute,variant_record,field_write_dynamic !store_group 0000_0001_0101_1110 execute,variant_record,field_reference_dynamic !other_group 0000_0001_0101_1101 execute,variant_record,field_type_dynamic !other_group 0000_0001_0101_1100 execute,variant_record,is_constrained_object !other_group !3 0000_0001_0101_1011 execute,variant_record,make_constrained !other_group !1 0000_0001_0101_1010 unused 0000_0001_0101_1001 unused 0000_0001_0101_1000 unused 0000_0001_0101_0111 unused 0000_0001_0101_0110 unused 0000_0001_0101_0101 unused 0000_0001_0101_0100 unused 0000_0001_0101_0011 unused 0000_0001_0101_0010 unused 0000_0001_0101_0001 unused 0000_0001_0101_0000 unused \f \- Miscellaneous operations which overflowed from their logical grouping 0000_0001_0100_1111 execute,float,not_in_range !other_group 0000_0001_0100_1110 execute,float,equal_zero !other_group 0000_0001_0100_1101 execute,float,not_equal_zero !other_group 0000_0001_0100_1100 execute,float,greater_zero !other_group 0000_0001_0100_1011 execute,float,less_zero !other_group 0000_0001_0100_1010 execute,float,greater_equal_zero !other_group 0000_0001_0100_1001 execute,float,less_equal_zero !other_group 0000_0001_0100_1000 execute,heap_access,get_offset !other_group !1 0000_0001_0100_0111 execute,heap_access,construct_segment !other_group !2 0000_0001_0100_0110 execute,heap_access,hash !other_group !3/5 0000_0001_0100_0101 execute,heap_access,diana_tree_kind !other_group !3/4/5 0000_0001_0100_0100 execute,heap_access,get_name !other_group !2 0000_0001_0100_0011 execute,heap_access,adaptive_balanced_tree_lookup !other_group !9+5/7per 0000_0001_0100_0010 execute,heap_access,diana_find_permanent_attribute !other_group !5+4/5per 0000_0001_0100_0001 execute,discrete,multiply_and_scale !other_group 0000_0001_0100_0000 execute,discrete,divide_and_scale !other_group \f \- Select, entry, and family operations 0000_0001_0011_1111 execute,select,rendezvous !rendezvous_group 0000_0001_0011_1110 execute,select,timed_guard_write !other_group !4 0000_0001_0011_1101 execute,select,timed_duration_write !other_group !6 0000_0001_0011_1100 execute,select,terminate_guard_write !other_group !4 0000_0001_0011_1011 unused 0000_0001_0011_1010 unused 0000_0001_0011_1001 unused 0000_0001_0011_1000 unused 0000_0001_0011_0111 execute,entry,rendezvous !rendezvous_group 0000_0001_0011_0110 execute,entry,count !other_group 0000_0001_0011_0101 unused 0000_0001_0011_0100 unused 0000_0001_0011_0011 execute,family,rendezvous !rendezvous_group 0000_0001_0011_0010 execute,family,count !other_group 0000_0001_0011_0001 unused 0000_0001_0011_0000 unused \f \- Any class operations 0000_0001_0010_1111 execute,any,equal !other_group 0000_0001_0010_1110 execute,any,not_equal !other_group 0000_0001_0010_1101 execute,any,address !other_group 0000_0001_0010_1100 execute,any,size !other_group \- execute,any,is_deallocation_allowed 0000_0001_0010_1011 execute,any,spare14 !other_group 0000_0001_0010_1010 execute,any,change_utility !other_group 0000_0001_0010_1001 execute,any,make_visible !declare_group 0000_0001_0010_1000 unused 0000_0001_0010_0111 execute,any,run_initialization_utility !frame_group 0000_0001_0010_0110 execute,any,has_default_initialization !other_group 0000_0001_0010_0101 execute,any,set_constraint !other_group 0000_0001_0010_0100 execute,any,is_constrained !other_group 0000_0001_0010_0011 execute,any,make_aligned !other_group 0000_0001_0010_0010 execute,any,make_root_type !other_group 0000_0001_0010_0001 execute,any,is_default !other_group 0000_0001_0010_0000 execute,any,is_value !other_group 0000_0001_0001_1111 execute,any,is_scalar !other_group 0000_0001_0001_1110 execute,any,convert !declare_group 0000_0001_0001_1101 execute,any,convert_to_formal !declare_group 0000_0001_0001_1100 execute,any,convert_unchecked !declare_group 0000_0001_0001_1011 execute,any,in_type !other_group 0000_0001_0001_1010 execute,any,not_in_type !other_group 0000_0001_0001_1001 execute,any,check_in_formal_type !other_group 0000_0001_0001_1000 execute,any,write_unchecked !store_group 0000_0001_0001_0111 execute,any,structure_query !other_group 0000_0001_0001_0110 execute,any,address_of_type !other_group 0000_0001_0001_0101 execute,any,structure_clear !declare_group \- A few more miscellaneous operations 0000_0001_0001_0100 execute,access,size !other_group 0000_0001_0001_0011 execute,heap_access,size !other_group 0000_0001_0001_0010 execute,any,make_constrained !other_group 0000_0001_0001_0001 execute,any,has_repeated_initialization !other_group 0000_0001_0001_0000 execute,any,is_initialization_repeated !other_group \f \- Exception operations \- the exception raise instruction depends on the last 8 bits being 0 0000_0001_0000_1111 execute,exception,equal !other_group !2 0000_0001_0000_1110 execute,exception,is_constraint_error !other_group !4/5 0000_0001_0000_1101 execute,exception,is_numeric_error !other_group !4/5 0000_0001_0000_1100 execute,exception,is_program_error !other_group !4/5 0000_0001_0000_1011 execute,exception,is_storage_error !other_group !4/5 0000_0001_0000_1010 execute,exception,is_tasking_error !other_group !4/5 0000_0001_0000_1001 execute,exception,is_instruction_error !other_group !4/5 0000_0001_0000_1000 unused 0000_0001_0000_0111 execute,exception,get_name !other_group !2 0000_0001_0000_0110 execute,exception,address !other_group !3 0000_0001_0000_0101 unused 0000_0001_0000_0100 unused 0000_0001_0000_0011 unused 0000_0001_0000_0010 unused \- 0000_0001_0000_0001 execute,exception,reraise !inhibit_ibuff_fill 0000_0001_0000_0000 execute,exception,raise !inhibit_ibuff_fill \f \- Actions 0000_0000_1111_1111 load_encached,value_31 !declare_group !1 0000_0000_1111_1110 load_encached,value_30 !declare_group !1 0000_0000_1111_1101 load_encached,value_29 !declare_group !1 0000_0000_1111_1100 load_encached,value_28 !declare_group !1 0000_0000_1111_1011 load_encached,value_27 !declare_group !1 0000_0000_1111_1010 load_encached,value_26 !declare_group !1 0000_0000_1111_1001 load_encached,value_25 !declare_group !1 0000_0000_1111_1000 load_encached,value_24 !declare_group !1 0000_0000_1111_0111 load_encached,value_23 !declare_group !1 0000_0000_1111_0110 load_encached,value_22 !declare_group !1 0000_0000_1111_0101 load_encached,value_21 !declare_group !1 0000_0000_1111_0100 load_encached,value_20 !declare_group !1 0000_0000_1111_0011 load_encached,value_19 !declare_group !1 0000_0000_1111_0010 load_encached,value_18 !declare_group !1 0000_0000_1111_0001 load_encached,value_17 !declare_group !1 0000_0000_1111_0000 load_encached,value_16 !declare_group !1 0000_0000_1110_1111 load_encached,value_15 !declare_group !1 0000_0000_1110_1110 load_encached,value_14 !declare_group !1 0000_0000_1110_1101 load_encached,value_13 !declare_group !1 0000_0000_1110_1100 load_encached,value_12 !declare_group !1 0000_0000_1110_1011 load_encached,value_11 !declare_group !1 0000_0000_1110_1010 load_encached,value_10 !declare_group !1 0000_0000_1110_1001 load_encached,value_09 !declare_group !1 0000_0000_1110_1000 load_encached,value_08 !declare_group !1 0000_0000_1110_0111 load_encached,value_07 !declare_group !1 0000_0000_1110_0110 load_encached,value_06 !declare_group !1 0000_0000_1110_0101 load_encached,value_05 !declare_group !1 0000_0000_1110_0100 load_encached,value_04 !declare_group !1 0000_0000_1110_0011 load_encached,value_03 !declare_group !1 0000_0000_1110_0010 load_encached,value_02 !declare_group !1 0000_0000_1110_0001 load_encached,value_01 !declare_group !1 0000_0000_1110_0000 load_encached,value_00 !declare_group !1 0000_0000_1101_1111 unused 0000_0000_1101_1110 load_top,at_offset_6 !other_group !1 0000_0000_1101_1101 load_top,at_offset_5 !other_group !1 0000_0000_1101_1100 load_top,at_offset_4 !other_group !1 0000_0000_1101_1011 load_top,at_offset_3 !other_group !1 0000_0000_1101_1010 load_top,at_offset_2 !other_group !1 0000_0000_1101_1001 load_top,at_offset_1 !other_group !1 0000_0000_1101_1000 load_top,at_offset_0 !other_group !1 0000_0000_1101_0111 pop_control,pop_count_7 !action_group !7 0000_0000_1101_0110 pop_control,pop_count_6 !action_group !6 0000_0000_1101_0101 pop_control,pop_count_5 !action_group !5 0000_0000_1101_0100 pop_control,pop_count_4 !action_group !4 0000_0000_1101_0011 pop_control,pop_count_3 !action_group !3 0000_0000_1101_0010 pop_control,pop_count_2 !action_group !2 0000_0000_1101_0001 pop_control,pop_count_1 !action_group !1 0000_0000_1101_0000 action,swap_control !action_group !2 0000_0000_1100_1111 action,mark_auxiliary !action_group !8 0000_0000_1100_1110 action,pop_auxiliary !action_group !5/7 \- action compress_control 0000_0000_1100_1101 action,spare6_action !action_group !2 0000_0000_1100_1100 action,pop_block !frame_group !6 0000_0000_1100_1011 action,pop_block_with_result !frame_group !9 0000_0000_1100_1010 action,exit_nullary_function !frame_group !inhibit_ibuff_fill !7 0000_0000_1100_1001 action,pop_auxiliary_loop !action_group 0000_0000_1100_1000 action,pop_auxiliary_range !action_group \f 0000_0000_1100_0111 action,elaborate_subprogram !declare_group !5 0000_0000_1100_0110 action,check_subprogram_elaborated !declare_group !3 0000_0000_1100_0101 action,set_block_start !other_group !7 0000_0000_1100_0100 action,make_default !declare_group 0000_0000_1100_0011 unused 0000_0000_1100_0010 unused 0000_0000_1100_0001 unused 0000_0000_1100_0000 unused 0000_0000_1011_1111 action,accept_activation !action_group !inhibit_ibuff_fill 0000_0000_1011_1110 action,activate_tasks !action_group 0000_0000_1011_1101 action,activate_heap_tasks !action_group 0000_0000_1011_1100 action,signal_activated !action_group 0000_0000_1011_1011 action,signal_completion !action_group !inhibit_ibuff_fill 0000_0000_1011_1010 action,initiate_delay !action_group !inhibit_ibuff_fill 0000_0000_1011_1001 action,get_priority !other_group 0000_0000_1011_1000 action,set_priority !declare_group 0000_0000_1011_0111 action,make_self !other_group 0000_0000_1011_0110 action,make_scope !other_group 0000_0000_1011_0101 action,make_parent !other_group 0000_0000_1011_0100 action,name_partner !other_group 0000_0000_1011_0011 action,increase_priority !declare_group 0000_0000_1011_0010 unused 0000_0000_1011_0001 unused 0000_0000_1011_0000 unused 0000_0000_1010_1111 unused 0000_0000_1010_1110 unused 0000_0000_1010_1101 unused 0000_0000_1010_1100 unused 0000_0000_1010_1011 unused 0000_0000_1010_1010 unused 0000_0000_1010_1001 unused 0000_0000_1010_1000 unused \f 0000_0000_1010_0111 action,jump_extended !jump_group !5 0000_0000_1010_0110 action,jump_zero_extended !jump_group !5/6 0000_0000_1010_0101 action,jump_nonzero_extended !jump_group !5/6 0000_0000_1010_0100 action,loop_increasing_extended !jump_group !5/7 0000_0000_1010_0011 action,loop_decreasing_extended !jump_group !5/7 0000_0000_1010_0010 action,push_discrete_extended !other_group !5 0000_0000_1010_0001 action,push_float_extended !other_group !5 0000_0000_1010_0000 action,push_structure_extended !other_group 0000_0000_1001_1111 action,jump_dynamic !jump_group !inhibit_ibuff_fill !4 0000_0000_1001_1110 action,jump_zero_dynamic !jump_group !3/4 0000_0000_1001_1101 action,jump_nonzero_dynamic !jump_group !3/4 0000_0000_1001_1100 action,load_dynamic !other_group !2++ 0000_0000_1001_1011 action,store_dynamic !store_group 0000_0000_1001_1010 action,call_dynamic !frame_group 0000_0000_1001_1001 action,reference_dynamic !declare_group !2++ 0000_0000_1001_1000 execute,package,field_read_dynamic !other_group !4 0000_0000_1001_0111 execute,package,field_write_dynamic !store_group 0000_0000_1001_0110 execute,package,field_execute_dynamic !frame_group 0000_0000_1001_0101 execute,package,field_reference_dynamic !other_group !6 0000_0000_1001_0100 unused 0000_0000_1001_0011 unused 0000_0000_1001_0010 action,push_string_extended !declare_group 0000_0000_1001_0001 action,push_string_extended_indexed !declare_group 0000_0000_1001_0000 action,store_string_extended !declare_group \- Yet more miscellaneous operations 0000_0000_1000_1111 execute,discrete,diana_map_kind_to_vci !other_group 0000_0000_1000_1110 execute,discrete,diana_arity_for_kind !other_group 0000_0000_1000_1101 execute,heap_access,diana_allocate_tree_node !other_group 0000_0000_1000_1100 execute,heap_access,diana_put_node_on_seq_type !other_group 0000_0000_1000_1011 execute,heap_access,diana_seq_type_get_head !other_group \- execute,discrete,diana_is_id_node !other_group 0000_0000_1000_1010 execute,discrete,diana_spare0 !other_group \- execute,discrete,diana_translate_sm_ptr !other_group 0000_0000_1000_1001 execute,discrete,diana_spare1 !other_group \- execute,heap_access,diana_module_table_lookup !other_group 0000_0000_1000_1000 execute,heap_access,diana_spare2 !other_group 0000_0000_1000_0111 unused 0000_0000_1000_0110 unused 0000_0000_1000_0101 unused 0000_0000_1000_0100 unused 0000_0000_1000_0011 unused 0000_0000_1000_0010 unused 0000_0000_1000_0001 unused \- TEMPORARILY BEING USED FOR COLLECTION_RESET -- DO NOT REUSE 0000_0000_1000_0000 unused \f 0000_0000_0111_1111 unused 0000_0000_0111_1110 unused 0000_0000_0111_1101 unused 0000_0000_0111_1100 unused 0000_0000_0111_1011 unused 0000_0000_0111_1010 unused 0000_0000_0111_1001 unused 0000_0000_0111_1000 unused 0000_0000_0111_0111 unused 0000_0000_0111_0110 unused 0000_0000_0111_0101 unused 0000_0000_0111_0100 unused 0000_0000_0111_0011 unused 0000_0000_0111_0010 unused 0000_0000_0111_0001 unused 0000_0000_0111_0000 unused 0000_0000_0110_1111 action,break_unconditional !no_group 0000_0000_0110_1110 action,exit_break !no_group !inhibit_ibuff_fill 0000_0000_0110_1101 action,query_break_cause !no_group 0000_0000_0110_1100 action,query_break_mask !no_group 0000_0000_0110_1011 action,query_break_address !no_group 0000_0000_0110_1010 action,alter_break_mask !no_group 0000_0000_0110_1001 action,query_frame !no_group 0000_0000_0110_1000 action,establish_frame !no_group 0000_0000_0110_0111 unused 0000_0000_0110_0110 unused 0000_0000_0110_0101 unused 0000_0000_0110_0100 unused 0000_0000_0110_0011 unused 0000_0000_0110_0010 unused 0000_0000_0110_0001 unused 0000_0000_0110_0000 unused 0000_0000_0101_1111 unused 0000_0000_0101_1110 store_top,discrete,at_offset_6 !store_group !3 0000_0000_0101_1101 store_top,discrete,at_offset_5 !store_group !3 0000_0000_0101_1100 store_top,discrete,at_offset_4 !store_group !3 0000_0000_0101_1011 store_top,discrete,at_offset_3 !store_group !3 0000_0000_0101_1010 store_top,discrete,at_offset_2 !store_group !3 0000_0000_0101_1001 store_top,discrete,at_offset_1 !store_group !3 0000_0000_0101_1000 unused 0000_0000_0101_0111 unused 0000_0000_0101_0110 store_top_unchecked,discrete,at_offset_6 !store_group !1 0000_0000_0101_0101 store_top_unchecked,discrete,at_offset_5 !store_group !1 0000_0000_0101_0100 store_top_unchecked,discrete,at_offset_4 !store_group !1 0000_0000_0101_0011 store_top_unchecked,discrete,at_offset_3 !store_group !1 0000_0000_0101_0010 store_top_unchecked,discrete,at_offset_2 !store_group !1 0000_0000_0101_0001 store_top_unchecked,discrete,at_offset_1 !store_group !1 0000_0000_0101_0000 unused 0000_0000_0100_1111 unused 0000_0000_0100_1110 store_top,float,at_offset_6 !store_group !3/4 0000_0000_0100_1101 store_top,float,at_offset_5 !store_group !3/4 0000_0000_0100_1100 store_top,float,at_offset_4 !store_group !3/4 0000_0000_0100_1011 store_top,float,at_offset_3 !store_group !3/4 0000_0000_0100_1010 store_top,float,at_offset_2 !store_group !3/4 0000_0000_0100_1001 store_top,float,at_offset_1 !store_group !3/4 0000_0000_0100_1000 unused 0000_0000_0100_0111 unused 0000_0000_0100_0110 store_top_unchecked,float,at_offset_6 !store_group !1 0000_0000_0100_0101 store_top_unchecked,float,at_offset_5 !store_group !1 0000_0000_0100_0100 store_top_unchecked,float,at_offset_4 !store_group !1 0000_0000_0100_0011 store_top_unchecked,float,at_offset_3 !store_group !1 0000_0000_0100_0010 store_top_unchecked,float,at_offset_2 !store_group !1 0000_0000_0100_0001 store_top_unchecked,float,at_offset_1 !store_group !1 0000_0000_0100_0000 unused 0000_0000_0011_1111 unused 0000_0000_0011_1110 store_top,access,at_offset_6 !store_group !1 0000_0000_0011_1101 store_top,access,at_offset_5 !store_group !1 0000_0000_0011_1100 store_top,access,at_offset_4 !store_group !1 0000_0000_0011_1011 store_top,access,at_offset_3 !store_group !1 0000_0000_0011_1010 store_top,access,at_offset_2 !store_group !1 0000_0000_0011_1001 store_top,access,at_offset_1 !store_group !1 0000_0000_0011_1000 unused 0000_0000_0011_0111 unused 0000_0000_0011_0110 store_top,heap_access,at_offset_6 !store_group !1 0000_0000_0011_0101 store_top,heap_access,at_offset_5 !store_group !1 0000_0000_0011_0100 store_top,heap_access,at_offset_4 !store_group !1 0000_0000_0011_0011 store_top,heap_access,at_offset_3 !store_group !1 0000_0000_0011_0010 store_top,heap_access,at_offset_2 !store_group !1 0000_0000_0011_0001 store_top,heap_access,at_offset_1 !store_group !1 0000_0000_0011_0000 unused 0000_0000_0010_1111 unused 0000_0000_0010_1110 unused 0000_0000_0010_1101 unused 0000_0000_0010_1100 unused 0000_0000_0010_1011 unused 0000_0000_0010_1010 unused 0000_0000_0010_1001 unused 0000_0000_0010_1000 unused 0000_0000_0010_0111 unused 0000_0000_0010_0110 unused 0000_0000_0010_0101 unused 0000_0000_0010_0100 unused 0000_0000_0010_0011 unused 0000_0000_0010_0010 unused 0000_0000_0010_0001 unused 0000_0000_0010_0000 unused \f \- temporarily being used for performance analysis 0000_0000_0001_xxxx unused 0000_0000_0000_1111 unused 0000_0000_0000_1110 unused 0000_0000_0000_1101 unused 0000_0000_0000_1100 unused 0000_0000_0000_1011 unused 0000_0000_0000_1010 unused 0000_0000_0000_1001 unused 0000_0000_0000_1000 action,idle !other_group 0000_0000_0000_0111 action,break_optional !option_group !1 0000_0000_0000_0110 unused 0000_0000_0000_0101 unused 0000_0000_0000_0100 unused 0000_0000_0000_0011 unused 0000_0000_0000_0010 unused 0000_0000_0000_0001 unused 0000_0000_0000_0000 action,illegal !no_group