@section data ..opcode_flags dw 0b00 //NULL dw 0b01 //i_je dw 0b01 //i_jl dw 0b01 //i_jg dw 0b01 //i_dec_chk dw 0b01 //i_inc_chk dw 0b01 //i_jin dw 0b01 //i_test dw 0b10 //i_or dw 0b10 //i_and dw 0b01 //i_test_attr dw 0b00 //i_set_attr dw 0b00 //i_clear_attr dw 0b00 //i_store dw 0b00 //i_insert_obj dw 0b10 //i_loadw dw 0b10 //i_loadb dw 0b10 //i_get_prop dw 0b10 //i_get_prop_addr dw 0b10 //i_get_next_prop dw 0b10 //i_add dw 0b10 //i_sub dw 0b10 //i_mul dw 0b10 //i_div dw 0b10 //i_mod dw 0b10 //i_call_2s dw 0b00 //i_call_2n dw 0b00 //i_set_color dw 0b00 //i_throw dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b01 //i_je dw 0b01 //i_jl dw 0b01 //i_jg dw 0b01 //i_dec_chk dw 0b01 //i_inc_chk dw 0b01 //i_jin dw 0b01 //i_test dw 0b10 //i_or dw 0b10 //i_and dw 0b01 //i_test_attr dw 0b00 //i_set_attr dw 0b00 //i_clear_attr dw 0b00 //i_store dw 0b00 //i_insert_obj dw 0b10 //i_loadw dw 0b10 //i_loadb dw 0b10 //i_get_prop dw 0b10 //i_get_prop_addr dw 0b10 //i_get_next_prop dw 0b10 //i_add dw 0b10 //i_sub dw 0b10 //i_mul dw 0b10 //i_div dw 0b10 //i_mod dw 0b10 //i_call_2s dw 0b00 //i_call_2n dw 0b00 //i_set_color dw 0b00 //i_throw dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b01 //i_je dw 0b01 //i_jl dw 0b01 //i_jg dw 0b01 //i_dec_chk dw 0b01 //i_inc_chk dw 0b01 //i_jin dw 0b01 //i_test dw 0b10 //i_or dw 0b10 //i_and dw 0b01 //i_test_attr dw 0b00 //i_set_attr dw 0b00 //i_clear_attr dw 0b00 //i_store dw 0b00 //i_insert_obj dw 0b10 //i_loadw dw 0b10 //i_loadb dw 0b10 //i_get_prop dw 0b10 //i_get_prop_addr dw 0b10 //i_get_next_prop dw 0b10 //i_add dw 0b10 //i_sub dw 0b10 //i_mul dw 0b10 //i_div dw 0b10 //i_mod dw 0b10 //i_call_2s dw 0b00 //i_call_2n dw 0b00 //i_set_color dw 0b00 //i_throw dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b01 //i_je dw 0b01 //i_jl dw 0b01 //i_jg dw 0b01 //i_dec_chk dw 0b01 //i_inc_chk dw 0b01 //i_jin dw 0b01 //i_test dw 0b10 //i_or dw 0b10 //i_and dw 0b01 //i_test_attr dw 0b00 //i_set_attr dw 0b00 //i_clear_attr dw 0b00 //i_store dw 0b00 //i_insert_obj dw 0b10 //i_loadw dw 0b10 //i_loadb dw 0b10 //i_get_prop dw 0b10 //i_get_prop_addr dw 0b10 //i_get_next_prop dw 0b10 //i_add dw 0b10 //i_sub dw 0b10 //i_mul dw 0b10 //i_div dw 0b10 //i_mod dw 0b10 //i_call_2s dw 0b00 //i_call_2n dw 0b00 //i_set_color dw 0b00 //i_throw dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b01 //i_jz dw 0b11 //i_get_sibling dw 0b11 //i_get_child dw 0b10 //i_get_parent dw 0b10 //i_get_prop_len dw 0b00 //i_inc dw 0b00 //i_dec dw 0b00 //i_print_addr dw 0b10 //i_call_1s dw 0b00 //i_remove_obj dw 0b00 //i_print_obj dw 0b00 //i_ret dw 0b00 //i_jump dw 0b00 //i_print_paddr dw 0b10 //i_load dw 0b10 //i_not dw 0b01 //i_jz dw 0b11 //i_get_sibling dw 0b11 //i_get_child dw 0b10 //i_get_parent dw 0b10 //i_get_prop_len dw 0b00 //i_inc dw 0b00 //i_dec dw 0b00 //i_print_addr dw 0b10 //i_call_1s dw 0b00 //i_remove_obj dw 0b00 //i_print_obj dw 0b00 //i_ret dw 0b00 //i_jump dw 0b00 //i_print_paddr dw 0b10 //i_load dw 0b10 //i_not dw 0b01 //i_jz dw 0b11 //i_get_sibling dw 0b11 //i_get_child dw 0b10 //i_get_parent dw 0b10 //i_get_prop_len dw 0b00 //i_inc dw 0b00 //i_dec dw 0b00 //i_print_addr dw 0b10 //i_call_1s dw 0b00 //i_remove_obj dw 0b00 //i_print_obj dw 0b00 //i_ret dw 0b00 //i_jump dw 0b00 //i_print_paddr dw 0b10 //i_load dw 0b10 //i_not dw 0b00 //i_rtrue dw 0b00 //i_rfalse dw 0b00 //i_print dw 0b00 //i_print_ret dw 0b00 //i_nop dw 0b01 //i_save dw 0b01 //i_restore dw 0b00 //i_restart dw 0b00 //i_ret_popped dw 0b00 //i_pop dw 0b00 //i_quit dw 0b00 //i_new_line dw 0b00 //i_show_status dw 0b01 //i_verify dw 0b00 //[used for extended opcodes] dw 0b01 //i_piracy dw 0b00 //NULL dw 0b01 //i_je dw 0b01 //i_jl dw 0b01 //i_jg dw 0b01 //i_dec_chk dw 0b01 //i_inc_chk dw 0b01 //i_jin dw 0b01 //i_test dw 0b10 //i_or dw 0b10 //i_and dw 0b01 //i_test_attr dw 0b00 //i_set_attr dw 0b00 //i_clear_attr dw 0b00 //i_store dw 0b00 //i_insert_obj dw 0b10 //i_loadw dw 0b10 //i_loadb dw 0b10 //i_get_prop dw 0b10 //i_get_prop_addr dw 0b10 //i_get_next_prop dw 0b10 //i_add dw 0b10 //i_sub dw 0b10 //i_mul dw 0b10 //i_div dw 0b10 //i_mod dw 0b10 //i_call_2s dw 0b00 //i_call_2n dw 0b00 //i_set_color dw 0b00 //i_throw dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b10 //i_call dw 0b00 //i_storew dw 0b00 //i_storeb dw 0b00 //i_put_prop dw 0b00 //i_sread dw 0b00 //i_print_char dw 0b00 //i_print_num dw 0b10 //i_random dw 0b00 //i_push dw 0b00 //i_pull dw 0b00 //i_split_window dw 0b00 //i_set_window dw 0b110 //i_call_vs2 dw 0b00 //i_erase_window dw 0b00 //i_erase_line dw 0b00 //i_set_cursor dw 0b00 //i_get_cursor dw 0b00 //i_set_text_style dw 0b00 //i_buffer_mode dw 0b00 //i_output_stream dw 0b00 //i_input_stream dw 0b00 //i_sound_effect dw 0b10 //i_read_char dw 0b11 //i_scan_table dw 0b10 //i_not dw 0b00 //i_call_vn dw 0b100 //i_call_vn2 dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //i_copy_table dw 0b00 //i_print_table dw 0b01 //i_check_arg_count //EXT opcodes dw 0b10 //i_save_v5 dw 0b10 //i_restore_v5 dw 0b10 //i_log_shift dw 0b10 //i_art_shift dw 0b10 //i_set_font dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b10 //i_save_undo dw 0b10 //i_restore_undo dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0b00 //NULL dw 0 240 ..opcode_routines //(0) 2OP dl :unimp_opcode_routine dl :i_je dl :i_jl dl :i_jg dl :i_dec_chk dl :i_inc_chk dl :i_jin dl :i_test dl :i_or dl :i_and dl :i_test_attr dl :i_set_attr dl :i_clear_attr dl :i_store dl :i_insert_obj dl :i_loadw dl :i_loadb dl :i_get_prop dl :i_get_prop_addr dl :i_get_next_prop dl :i_add dl :i_sub dl :i_mul dl :i_div dl :i_mod dl :i_call_2s dl :i_call_2n dl :i_set_color dl :i_throw dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //(32) 2OP repeated dl :unimp_opcode_routine dl :i_je dl :i_jl dl :i_jg dl :i_dec_chk dl :i_inc_chk dl :i_jin dl :i_test dl :i_or dl :i_and dl :i_test_attr dl :i_set_attr dl :i_clear_attr dl :i_store dl :i_insert_obj dl :i_loadw dl :i_loadb dl :i_get_prop dl :i_get_prop_addr dl :i_get_next_prop dl :i_add dl :i_sub dl :i_mul dl :i_div dl :i_mod dl :i_call_2s dl :i_call_2n dl :i_set_color dl :i_throw dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //(64) 2OP repeated dl :unimp_opcode_routine dl :i_je dl :i_jl dl :i_jg dl :i_dec_chk dl :i_inc_chk dl :i_jin dl :i_test dl :i_or dl :i_and dl :i_test_attr dl :i_set_attr dl :i_clear_attr dl :i_store dl :i_insert_obj dl :i_loadw dl :i_loadb dl :i_get_prop dl :i_get_prop_addr dl :i_get_next_prop dl :i_add dl :i_sub dl :i_mul dl :i_div dl :i_mod dl :i_call_2s dl :i_call_2n dl :i_set_color dl :i_throw dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //(96) 2OP repeated dl :unimp_opcode_routine dl :i_je dl :i_jl dl :i_jg dl :i_dec_chk dl :i_inc_chk dl :i_jin dl :i_test dl :i_or dl :i_and dl :i_test_attr dl :i_set_attr dl :i_clear_attr dl :i_store dl :i_insert_obj dl :i_loadw dl :i_loadb dl :i_get_prop dl :i_get_prop_addr dl :i_get_next_prop dl :i_add dl :i_sub dl :i_mul dl :i_div dl :i_mod dl :i_call_2s dl :i_call_2n dl :i_set_color dl :i_throw dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //(128) 1OP dl :i_jz dl :i_get_sibling dl :i_get_child dl :i_get_parent dl :i_get_prop_len dl :i_inc dl :i_dec dl :i_print_addr dl :i_call_1s dl :i_remove_obj dl :i_print_obj dl :i_ret dl :i_jump dl :i_print_paddr dl :i_load dl :i_not //(144) 1OP repeated dl :i_jz dl :i_get_sibling dl :i_get_child dl :i_get_parent dl :i_get_prop_len dl :i_inc dl :i_dec dl :i_print_addr dl :i_call_1s dl :i_remove_obj dl :i_print_obj dl :i_ret dl :i_jump dl :i_print_paddr dl :i_load dl :i_not //(160) 1OP repeated dl :i_jz dl :i_get_sibling dl :i_get_child dl :i_get_parent dl :i_get_prop_len dl :i_inc dl :i_dec dl :i_print_addr dl :i_call_1s dl :i_remove_obj dl :i_print_obj dl :i_ret dl :i_jump dl :i_print_paddr dl :i_load dl :i_not //(176) 0OP dl :i_rtrue dl :i_rfalse dl :i_print dl :i_print_ret dl :ignore_opcode_routine dl :i_save dl :ignore_opcode_routine_br //i_restore dl :unimp_opcode_routine dl :i_ret_popped dl :i_pop dl :i_quit dl :i_new_line dl :i_show_status dl :i_verify dl :unimp_opcode_routine //used for extended opcodes dl :i_piracy //(192) 2OP repeated dl :unimp_opcode_routine dl :i_je dl :i_jl dl :i_jg dl :i_dec_chk dl :i_inc_chk dl :i_jin dl :i_test dl :i_or dl :i_and dl :i_test_attr dl :i_set_attr dl :i_clear_attr dl :i_store dl :i_insert_obj dl :i_loadw dl :i_loadb dl :i_get_prop dl :i_get_prop_addr dl :i_get_next_prop dl :i_add dl :i_sub dl :i_mul dl :i_div dl :i_mod dl :i_call_2s dl :i_call_2n dl :i_set_color dl :i_throw dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //(224) VAR dl :i_call dl :i_storew dl :i_storeb dl :i_put_prop dl :i_sread dl :i_print_char dl :i_print_num dl :i_random dl :i_push dl :i_pull dl :i_split_window //i_split_window dl :i_set_window //i_set_window dl :i_call_vs2 dl :i_erase_window //i_erase_window dl :ignore_opcode_routine //i_erase_line TODO dl :i_set_cursor //i_set_cursor dl :i_get_cursor //i_get_cursor dl :i_set_text_style //i_set_text_style dl :i_buffer_mode //i_buffer_mode dl :i_output_stream //i_output_stream dl :i_input_stream //i_input_stream dl :i_sound_effect //i_sound_effect dl :i_read_char dl :i_scan_table dl :i_not dl :i_call_vn dl :i_call_vn2 dl :i_tokenise dl :unimp_opcode_routine dl :i_copy_table dl :ignore_opcode_routine //i_print_table TODO dl :i_check_arg_count //EXT opcodes, standard //0 dl :i_save_v5 dl :ignore_opcode_routine_st //i_restore_v5 dl :i_log_shift dl :i_art_shift dl :i_set_font dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //8 dl :unimp_opcode_routine dl :i_save_undo dl :ignore_opcode_routine_st //i_restore_undo dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //16 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //24 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //32 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //40 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //48 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //56 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //64 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //72 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //80 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //88 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //96 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //104 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //112 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //120 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //EXT opcodes, "custom" //0 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //8 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //16 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //24 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //32 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //40 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //48 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //56 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //64 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //72 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //80 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //88 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //96 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //104 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //112 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine //120 dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine dl :unimp_opcode_routine