     1                                  %if 0
     2                                  
     3                                  lDebug messages
     4                                  
     5                                  Copyright (C) 1995-2003 Paul Vojta
     6                                  Copyright (C) 2008-2026 E. C. Masloch
     7                                  
     8                                  Usage of the works is permitted provided that this
     9                                  instrument is retained with the works, so that any entity
    10                                  that uses the works is notified of this instrument.
    11                                  
    12                                  DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    13                                  
    14                                  %endif
    15                                  
    16                                  %define SOURCEFILENAME "msg.asm"
    17                                  %ifidni __OUTPUT_FORMAT__, obj
    18                                   %include VERSIONMAC
     1                              <1> %define _VERSION " (2026-05-27)"
    19                                   %include REVISIONMAC
     1                              <1> %define _REVISIONID	'hg d01dd449bdf4 (6689 ancestors)'
     2                              <1> %define _REVISIONID_LMACROS	'Uses lmacros:  Revision ID hg de53a9686fad (167 ancestors)',13,10
     3                              <1> %define _REVISIONID_INSTSECT	''
     4                              <1> %define _REVISIONID_SYMSNIP	''
     5                              <1> %define _REVISIONID_SCANPTAB	'Uses scanptab: Revision ID hg 575fa89fd671 (31 ancestors)',13,10
     6                              <1> %define _REVISIONID_INICOMP	'Uses inicomp:  Revision ID hg 4872b62b68c3 (667 ancestors)',13,10
     7                              <1> %define _REVISIONID_INICHECK	'Uses inicheck: Revision ID hg 99649f7ba4e5 (56 ancestors)',13,10
     8                              <1> %define _REVISIONID_LDOSBOOT	'Uses ldosboot: Revision ID hg afef7485460b (1022 ancestors)',13,10
    20                                   %include "debug.mac"
     1                              <1> [list -]
    14                              <3> [list -]
    14                              <2> [list -]
    86                              <1> [list -]
    86          ------------------  <1>  note: Disable usesection detection
    86          ------------------  <1>  note: usesection lDEBUG_DATA_ENTRY
    86          ------------------  <1>  note: usesection ASMTABLE1
    86          ------------------  <1>  note: usesection ASMTABLE2
    86          ------------------  <1>  note: usesection DATASTACKBASE
    86          ------------------  <1>  note: usesection MESSAGESEGMENT
    86          ------------------  <1>  note: usesection lDEBUG_CODE
    86          ------------------  <1>  note: usesection lDEBUG_CODE2
    86          ------------------  <1>  note: usesection INIT
    86          ------------------  <1>  note: usesection WLEMITALIGNINITEND
    86          ------------------  <1>  note: usesection DEVICESHIM
    86          ------------------  <1>  note: usesection WLEMITALIGNRELOCZERO
    68                              <2> %endif
    69                              <2> 
    70                              <2> 
    71                              <2> 	usesection lDEBUG_CODE
    71          ------------------  <2>  note: usesection lDEBUG_CODE
    72                              <2> section_of puts, trimputs, puts_ext_done, puts_ext_next
    73                              <2> section_of putsz_exthelp, code_retf
    74                              <2> section_of puts_getline_ext_done
    75                              <2> section_of puts_copyoutput_ext_done
    76                              <2> section_of guard_auxbuff, guard_re
    77                              <2> section_of handle_serial_flags_ctrl_c
    78                              <2> section_of hexword_high
    79                              <2> section_of call_int2D
    80                              <2> section_of copy_single_counted_string
    81                              <2> section_of intchk
    82                              <2> section_of IsIISPEntry?
    83                              <2> section_of dd_store
    84                              <2> section_of dohack, getsegmented, hexbyte, hexnyb, iseol?.notsemicolon
    85                              <2> section_of peekc, getc, prephack, readmem, setds2si, setds2bx, setes2dx
    86                              <2> section_of silence_get_start, silence_get_start.have_di, silence_count_zeroes
    87                              <2> section_of setrmlimit, skipcomm0, unhack
    88                              <2> section_of skipequals
    89                              <2> section_of to_errret_pop
    90                              <2> section_of cmd3.have_cx_convenience
    91                              <2> section_of verifysegm, verifysegm_or_error
    92                              <2> section_of pp16, resetmode, resetmode_and_test_d_b_bit
    93                              <2> section_of pp_fix32bitflags, proceedbreakpoint
    94                              <2> section_of putsz, hexword, skipcomma, cmd3, cmd3_not_ext, cmd3_preprocessed
    95                              <2> section_of hexdword
    96                              <2> section_of cmd3_not_inject, cmd3_injected
    97                              <2> section_of aa_not_inject, aa_injected, aa_before_getline, aa_after_getline
    98                              <2> section_of transfer_ext_cx_nearcall_from_code2
    99                              <2> section_of traceone, unexpectedinterrupt, dumpregs_no_disasm
   100                              <2> section_of aa_imm_entry, ia_restore_a_addr, ia_restore_u_addr, disasm
   101                              <2> section_of ia_restore_ds
   102                              <2> %ifn _SYMBOLIC
   103                              <2> section_of selector_to_segment
   104                              <2> %endif
   105                              <2> section_of disp_al, disp_al_hex, disp_al_nybble_hex, disp_ax_dec, disp_ax_hex
   106                              <2> section_of disp_dxax_times_cx_width_bx_size
   107                              <2> section_of disp_dxax_times_cx_width_bx_size.store
   108                              <2> section_of disp_message, disp_message_length_cx
   109                              <2> section_of ispm
   110                              <2> section_of setrc, error
   111                              <2> section_of _doscall, _doscall_return_es, _doscall_return_es_parameter_es_ds
   112                              <2> section_of intcall_ext_return_es, close_ext, doscall_extseg
   113                              <2> section_of yy_reset_buf
   114                              <2> section_of init_bootcmd
   115                              <2> 
   116                              <2> section_of InDOS, bootgetmemorysize
   117                              <2> section_of chkeol, decword, decdword
   118                              <2> section_of dec_dword_minwidth
   119                              <2> section_of getexpression.lit_isdigit?, getexpression.lit_ishexdigit?
   120                              <2> section_of getlinearaddr
   121                              <2> section_of getlinear_d_b
   122                              <2> section_of getlinear_high_limit
   123                              <2> section_of getlinear_32bit
   124                              <2> section_of getlinear_high_limit.do_not_use_test
   125                              <2> section_of getlinear_common
   126                              <2> section_of ifsep, iseol?, isseparator?, isstring?, movp
   127                              <2> section_of putc, putsline, putsline_crlf, putsz_error
   128                              <2> section_of setrmsegm
   129                              <2> section_of skipwh0, skipwhite
   130                              <2> section_of test_d_b_bit, test_high_limit, push_cxdx_or_edx
   131                              <2> section_of capitalise
   132                              <2> section_of setes2ax
   133                              <2> section_of zz_copy_strings_to_str_buffer
   134                              <2> section_of call_xms_move, zz_call_xms, zz_detect_xms
   135                              <2> section_of code2_to_code_ret_to_ext
   136                              <2> section_of yy_dos_parse_name, yy_open_file, yy_check_lfn
   137                              <2> section_of yy_common_parse_name
   138                              <2> section_of yy_common_parse_name_bx_buffer
   139                              <2> section_of retry_open_scriptspath
   140                              <2> section_of yy_boot_read.bx, yy_boot_seek_start.bx, yy_boot_seek_current.bx
   141                              <2> section_of yy_boot_parse_name, yy_boot_open_file
   142                              <2> section_of yy_boot_parse_name_bx_buffer
   143                              <2> section_of near_transfer_ext_return, scan_dir_aux, read_sector
   144                              <2> section_of yy_boot_init_dir, got_yyentry, scan_dir_entry
   145                              <2> section_of ..@yy_filename_empty, boot_parse_fn
   146                              <2> section_of count_store, count_store.maybe_0
   147                              <2> section_of loader_get_resident_address, loader_prepare_resident
   148                              <2> 
   149                              <2> 
   150                              <2>  %if _SYMBOLIC && _DUALCODE && _SYMBOLASMDUALCODE
   151                              <2> 	usesection lDEBUG_CODE2
   152                              <2>  %else
   153                              <2> 	usesection lDEBUG_CODE
   153          ------------------  <2>  note: usesection lDEBUG_CODE
   154                              <2>  %endif
   155                              <2> section_of bxcx_to_cx_paragraphs
   156                              <2> section_of zz_list_symbol.first, zz_list_symbol.subsequent
   157                              <2> section_of zz_xms_to_86mm, zz_xms_try_free, zz_xms_try_free_handle
   158                              <2> section_of zz_86mm_to_xms, zz_del_match.add_poison_entrypoint
   159                              <2> section_of zz_free_nonxms, zz_free_xms, zz_free_reset, zz_free_dos
   160                              <2> section_of zz_get_literal, zz_restore_strat, zz_save_strat
   161                              <2> section_of zz_switch_s, zz_transfer_buffer
   162                              <2> 
   163                              <2> 
   164                              <2> %if _SYMBOLIC
   165                              <2>  %if _DUALCODE && _SYMBOLICDUALCODE
   166                              <2> 	usesection lDEBUG_CODE2
   167                              <2>  %else
   168                              <2> 	usesection lDEBUG_CODE
   169                              <2>  %endif
   170                              <2> section_of shift_left_4_bxcx
   171                              <2> section_of selector_to_segment
   172                              <2> 
   173                              <2> section_of anti_normalise_pointer_with_displacement_bxcx, displaystring
   174                              <2> section_of getfarpointer.hash, getfarpointer.main, getfarpointer.str
   175                              <2> section_of move_delete_farpointer.hash, move_delete_farpointer.hash.sidi
   176                              <2> section_of move_delete_farpointer.main, move_delete_farpointer.str.sidi
   177                              <2> section_of move_insert_farpointer.hash, move_insert_farpointer.hash.sidi
   178                              <2> section_of move_insert_farpointer.main, move_insert_farpointer.main.sidi
   179                              <2> section_of move_insert_farpointer.str.sidi
   180                              <2> section_of normalise_pointer, normalise_pointer_with_displacement_bxcx
   181                              <2> section_of pointer_to_linear
   182                              <2> section_of save_slice_farpointer.hash, save_slice_farpointer.main
   183                              <2> section_of save_slice_farpointer.str
   184                              <2> section_of segment_to_selector
   185                              <2> section_of zz_insert, zz_match_symbol, zz_match_symbol.continue, zz_relocate
   186                              <2> 
   187                              <2> section_of binsearchhash, binsearchmain
   188                              <2> section_of check_second_slice
   189                              <2> section_of disp_size_hash, disp_size_main, disp_size_str
   190                              <2> section_of displayresult, getstring1, getstring2
   191                              <2> section_of increment_ss_ref_count
   192                              <2> section_of list_sym_storage_usage, str_index_to_pointer
   193                              <2> section_of zz_commit_insert, zz_compact, zz_compact_expand_check_nonxms
   194                              <2> section_of zz_compact_expand_check_xms
   195                              <2> section_of zz_delete_hash, zz_delete_main, zz_delete_main_and_its_hash
   196                              <2> section_of zz_delete_string, zz_expand, zz_expand_common
   197                              <2> section_of zz_get_symstr_length_bytes
   198                              <2> section_of zz_get_symstr_length_bytes.ssLength_in_cx
   199                              <2> section_of zz_get_symstr_length_indices
   200                              <2> section_of zz_get_symstr_length_indices.ssLength_in_cx
   201                              <2> section_of zz_hash, zz_hash.bx_init
   202                              <2> section_of zz_insert_main.linklist, zz_reloc_main, zz_reloc_str
   203                              <2> section_of zz_store_pre_str, zz_store_string, zz_store_string.hash_bx
   204                              <2> section_of zz_unlink_main_next
   205                              <2> %endif
   206                              <2> 
   207                              <2> %if _DUALCODE
   208                              <2> 	usesection lDEBUG_CODE2
   209                              <2> %else
   210                              <2> 	usesection lDEBUG_CODE
   210          ------------------  <2>  note: usesection lDEBUG_CODE
   211                              <2> %endif
   212                              <2> section_of FloatToStr
   213                              <2> 
   214                              <2> 
   215                              <2>  %if _DUALCODE && _EXPRDUALCODE
   216                              <2> 	usesection lDEBUG_CODE2
   217                              <2>  %else
   218                              <2> 	usesection lDEBUG_CODE
   218          ------------------  <2>  note: usesection lDEBUG_CODE
   219                              <2>  %endif
   220                              <2> 
   221                              <2> section_of getofsforbx, checkpointer, getrangeX
   222                              <2> section_of getrangeX_have_address_need_length
   223                              <2> section_of getrange, getaddr, getofsforbx_remember_bitness
   224                              <2> section_of remember_bitness, getaddr_taken
   225                              <2> section_of getstr, get_length, get_length_keyword
   226                              <2> section_of isbracketorunaryoperator?, isunaryoperator?, isoperator?
   227                              <2> section_of ..@call_operator_dispatchers
   228                              <2> section_of isseparator?, istype?, isunsignedtype?
   229                              <2> section_of handlesegment, handle3byte, handlebyte, handleword
   230                              <2> section_of handledword, handlepointer
   231                              <2> section_of uoh_abs, uoh_minus, calculate_minus_bxdx, uoh_plus
   232                              <2> section_of uoh_not_bitwise, uoh_not_boolean
   233                              <2> section_of od_minus, od_plus, od_multiply, od_divide, od_modulo, od_retn
   234                              <2> section_of od_above, od_below, od_equal, od_not, od_or, od_and, od_xor
   235                              <2> section_of od_cond, od_o, od_a, od_x, od_c, od_string_common
   236                              <2> section_of of_modulo, of_minus, of_plus, or_hhtype, of_multiply
   237                              <2> section_of set_hhtype, of_divide, of_power
   238                              <2> section_of of_compare_below_equal, of_compare_below, of_compare_not_equal
   239                              <2> section_of of_compare_equal, of_compare_above_equal, of_compare_above
   240                              <2> section_of toboolean, of_helper_compare_true, of_rightop, of_helper_compare
   241                              <2> section_of of_shift_right, of_shift_right_signed, of_shift_left
   242                              <2> section_of of_helper_getshiftdata, of_bit_mirror
   243                              <2> section_of of_or_bitwise, or_hhtype_1, of_or_boolean, of_clr_bitwise
   244                              <2> section_of of_and_bitwise, of_and_boolean, of_xor_bitwise, of_xor_boolean
   245                              <2> section_of of_helper_retbool, of_helper_getbool
   246                              <2> 
   247                              <2> section_of var_cip_setup, var_csp_setup, var_lfsr_setup, var_reverselfsr_setup
   248                              <2> section_of var_dpspsel_setup, var_seldbg_setup, var_mt_setup
   249                              <2> section_of var_ioi_setup, var_psps_setup, var_ppr_setup, var_ppi_setup
   250                              <2> section_of var_iok_setup, var_rhcount_setup
   251                              <2> section_of var_get_psp_segment, var_get_psp_selector
   252                              <2> section_of var_bootldpunit_setup, var_bootsdpunit_setup, var_bootydpunit_setup
   253                              <2> section_of var_bootldppart_setup, var_bootsdppart_setup, var_bootydppart_setup
   254                              <2> section_of var_bootunitflags_setup
   255                              <2> 
   256                              <2> section_of issymbol?, isvariable?, var_mm_setup, var_ri_setup, var_ysf_setup
   257                              <2> section_of default_variable_setup
   258                              <2> section_of var_ext_setup
   259                              <2> section_of var_ext_setup_done
   260                              <2> 
   261                              <2> section_of getstmmxdigit
   262                              <2> section_of getexpression.lit_ishexdigit?, getexpression.lit_isdigit?
   263                              <2> section_of of_cond, count_unary_operators, count_unary_operators_restrict
   264                              <2> section_of get3byte.checksignificantbits, getbyte, checksignificantbitscommon
   265                              <2> section_of getnyb, get_value_range
   266                              <2> 
   267                              <2> section_of getaddrX, getword, getdword, getexpression
   268                              <2> 
   269                              <2> section_of getrangeX.lines, getrangeX.ecx_and_0_valid
   270                              <2> section_of getrange.lines, getrange.ecx_and_0_valid, get_length.lines
   271                              <2> section_of getrangeX.lines_and_uu, getrange.lines_and_uu
   272                              <2> section_of isseparator?.except_L_or_dot, isvariable?.return_name
   273                              <2> section_of getword.checksignificantbits, getbyte.checksignificantbits
   274                              <2> 
   275                              <2> section_of seg_bx_to_sel
   276                              <2> section_of getexpression.countsignificantbits
   277                              <2> section_of ..@rr_checksignificantbits, ..@rr_operatordispatchers
   278                              <2> section_of ..@rr_operatorfunctions, ..@parsecm_getaddr
   279                              <2> section_of stack_check.internal
   280                              <2> 
   281                              <2> 
   282                              <2> 	usesection INIT
   282          ------------------  <2>  note: usesection INIT
   283                              <2> section_of init_capitalise
   284                              <2> section_of init_skipwhite, init_skipwh0
   285                              <2> section_of init_skipcomma, init_skipcomm0
   286                              <2> section_of init_skipequals
   287                              <2> 
   288                              <2> 
   289                              <2> 	usesection lDEBUG_DATA_ENTRY
   289          ------------------  <2>  note: usesection lDEBUG_DATA_ENTRY
   290                              <2> section_of entry_retn
   291                              <2> 
   292                              <2> 
   293                              <2> %if _LINK
   294                              <2>  %include "extern.mac"
     1                              <3> 
     2                              <3> ; expr.asm
     3                              <3>  extern PPLEN, PPLEN_ONLY_PREFIXES, a_addr, alloc_seg, alloc_size
     4                              <3>  extern amis_multiplex_number, asm_options, asm_startoptions
     5                              <3>  extern auxbuff_current_size, auxbuff_segorsel, behind_r_u_addr
     6                              <3>  extern bp_offset, code_seg, code_size, d_addr, dcount_addr
     7                              <3>  extern dcpm_addr, dd_default_length, dd_default_lines, dd_text_and
     8                              <3>  extern debuggerfunction, default_pp_count, default_tp_count
     9                              <3>  extern default_tt_count, device_header_address, device_mcb_paragraphs
    10                              <3>  extern dwcount_addr, dz_addr, e_addr, encodedmach87, entryseg_size
    11                              <3>  extern env_size, envseg, erc, errret
    12                              <3>  extern extdata, extdata_size, extdata_used, extseg, extseg_size
    13                              <3>  extern extseg_used, flagbits.amount, flagnames, flagvaron
    14                              <3>  extern getrange_is_uu, getrange_lines, has_mmx, hhresult
    15                              <3>  extern history.segorsel, historyseg_size, immseg, input_file_handles
    16                              <3>  extern input_file_handles.active, internalflags, internalflags2
    17                              <3>  extern internalflags3, intr8_limit, io_columns, io_columns_getline
    18                              <3>  extern io_end_buffer, io_flags, io_levels, io_rows, io_start_buffer
    19                              <3>  extern line_out, line_out_end, linkinfoaddress, load_data
    20                              <3>  extern load_input_file, load_input_file.active, load_unit_flags
    21                              <3>  extern loaddata_loadedfrom, machine, maxmachinetype, messageseg
    22                              <3>  extern messageseg_size, mmxbuff, msg.as, msg.end, msg.executing
    23                              <3>  extern msg.executing_value_range, msg.from, msg.in, msg.length
    24                              <3>  extern msg.linear, msg.lines, msg.lr, msg.nd, msg.nottaken
    25                              <3>  extern msg.nt, msg.or, msg.questionmark, msg.r, msg.stack_overflow
    26                              <3>  extern msg.stack_overflow.caller, msg.stack_overflow.cond
    27                              <3>  extern msg.stack_overflow.indirection, msg.stack_overflow.linear
    28                              <3>  extern msg.stack_overflow.parens, msg.stack_overflow.precedence
    29                              <3>  extern msg.stack_overflow.value_in, msg.t, msg.taken, msg.to
    30                              <3>  extern msg.value, msgtable_value_range, options, options2, parent
    31                              <3>  extern ppbytes, priorrc, psp22, pspdbe, pspdbg
    32                              <3>  extern qqtermcode, rc_count, rc_limit, re_count, re_limit
    33                              <3>  extern reading_access_variables, reg16names, reg8names, reg_cs
    34                              <3>  extern reg_ds, reg_efl, reg_eip, reg_esp, search_results
    35                              <3>  extern serial_columns, serial_fifo_size, serial_keep_timeout
    36                              <3>  extern serial_rows, serial_use_baseport, serial_use_dl
    37                              <3>  extern serial_use_fifo, serial_use_intnum, serial_use_irqmask
    38                              <3>  extern serial_use_params, serial_var_baseport, serial_var_dl
    39                              <3>  extern serial_var_fifo, serial_var_intnum, serial_var_irqmask
    40                              <3>  extern serial_var_params, sscounter, stack, startoptions
    41                              <3>  extern table_length_keywords, throwsp, transfer_ext_cx
    42                              <3>  extern try_amis_multiplex_number, try_debugger_amis_multiplex_number
    43                              <3>  extern types, types.addresses_minus_end, types.end, u_addr
    44                              <3>  extern usertermcode, uu_default_length, uu_default_lines, vregs
    45                              <3>  extern vregs.amount, writing_access_variables
    46                              <3>  extern flagbits, regs
    47                              <3> 
    48                              <3> ; run.asm
    49                              <3>  extern ..@aa_access_end, ..@aa_access_start, ..@dd_access_end
    50                              <3>  extern ..@dd_access_start, ..@ee_access_end, ..@ee_access_start
    51                              <3>  extern ..@ee_interactive_access_end, ..@ee_interactive_access_start
    52                              <3>  extern ..@hh_indirection_memory_access_end
    53                              <3>  extern ..@hh_indirection_memory_access_start
    54                              <3>  extern ..@readmem_fault_skip_4_near_call, ..@rr_access_end
    55                              <3>  extern ..@rr_access_start, ..@rr_variable_read_access_end
    56                              <3>  extern ..@rr_variable_read_access_start
    57                              <3>  extern ..@rr_variable_write_access_end
    58                              <3>  extern ..@rr_variable_write_access_start, ..@sss_access_end
    59                              <3>  extern ..@sss_access_start, ..@uu_access_end, ..@uu_access_start
    60                              <3>  extern ..@uu_referenced_memory_access_end
    61                              <3>  extern ..@uu_referenced_memory_access_start, ..@uu_simulate_cmps_end
    62                              <3>  extern ..@uu_simulate_cmps_start, ..@uu_simulate_scas_end
    63                              <3>  extern ..@uu_simulate_scas_start, InDOS_or_BIOS_IO, PPLEN_ONLY_STRING
    64                              <3>  extern auxbuff_behind_last_silent
    65                              <3>  extern auxbuff_start_silent, bInDbg, b_bplist.bp, b_bplist.counter
    66                              <3>  extern b_bplist.disabled_mask, b_bplist.idbuffer, b_bplist.used_mask
    67                              <3>  extern b_bplist.when, bb_deferred_message_in_lineout_behind
    68                              <3>  extern bp_display_offset, calcpointbit, cmd2_reset_re, cmd_goto
    69                              <3>  extern debug22.cleartraceflag, decbyte, dmycmd, dumpregs_extended
    70                              <3>  extern enable_rh, entry_to_code_seg, entry_to_code_segsel, eqflag
    71                              <3>  extern eqladdr, exccsip, exception_csip, exception_stack, excloc
    72                              <3>  extern g_bplist.bp, g_bplist.used_count, get_set_id_offset_length
    73                              <3>  extern getc_if_any, getcseipbyte, getint2324, getpsp
    74                              <3>  extern gg_deferred_message, gg_first_cseip_linear
    75                              <3>  extern gg_next_cseip_linear, guard_auxbuff.1_or_2, idle, in_getinput
    76                              <3>  extern int19msg, internalflags6, intr8_counter, lastcmd, msg.again
    77                              <3>  extern msg.alreadytsr, msg.area_aa_access, msg.area_dd_access
    78                              <3>  extern msg.area_ee_access, msg.area_ee_interactive_access
    79                              <3>  extern msg.area_hh_indirection_memory_access, msg.area_rr_access
    80                              <3>  extern msg.area_rr_variable_read_access
    81                              <3>  extern msg.area_rr_variable_write_access, msg.area_run_access
    82                              <3>  extern msg.area_sss_access, msg.area_uu_access
    83                              <3>  extern msg.area_uu_referenced_memory_access
    84                              <3>  extern msg.area_uu_simulate_cmps, msg.area_uu_simulate_scas
    85                              <3>  extern msg.bb_hit.1, msg.bb_hit.2.counter, msg.bb_hitpass_id.after
    86                              <3>  extern msg.bb_hitpass_id.long, msg.bb_hitpass_id.short, msg.bb_pass.1
    87                              <3>  extern msg.cant_bp_linear, msg.cant_bp_linear.address1
    88                              <3>  extern msg.cant_bp_reason, msg.cant_bp_reason0, msg.cant_bp_reason1
    89                              <3>  extern msg.cant_bp_reason2, msg.cant_bp_reason3
    90                              <3>  extern msg.cant_bp_reason3.value, msg.cant_bp_reasonu
    91                              <3>  extern msg.cant_bp_restore, msg.cant_bp_restore.value
    92                              <3>  extern msg.cant_bp_the, msg.cant_bp_type_gg
    93                              <3>  extern msg.cant_bp_type_permanent, msg.cant_bp_type_permanent.index
    94                              <3>  extern msg.cant_bp_type_proceed, msg.cant_bp_write, msg.ctrlc
    95                              <3>  extern msg.empty_message, msg.goto, msg.invalidpsp, msg.list
    96                              <3>  extern msg.list_bp.address1, msg.list_bp.first, msg.list_bp.second
    97                              <3>  extern msg.list_bp.third, msg.list_bp.value, msg.list_bp_csip_16
    98                              <3>  extern msg.list_bp_none, msg.list_bp_not_cseip, msg.notyettsr
    99                              <3>  extern msg.nowattached, msg.nowtsr1, msg.nowtsr2, msg.psphooked
   100                              <3>  extern msg.pspnotfound, msg.remember, msg.selfownedpsp, msg.silent
   101                              <3>  extern msg.warnprefix, msg.while, msg.while_not_true
   102                              <3>  extern msg.while_terminated_after, msg.while_terminated_before
   103                              <3>  extern oldcols, oldcrtp, oldcsrpos, oldmr, options3
   104                              <3>  extern options6, pp_instruction, pp_operand, progexit, progtrm
   105                              <3>  extern rc, reg_eax, reg_es, reg_gs, reg_ss
   106                              <3>  extern run_int, run_sp, run_sp_reserve, savesp, setcseipbyte
   107                              <3>  extern setint2324, setpsp, setpspdbg
   108                              <3>  extern showstring, silence_dump, spadjust, swapscreen
   109                              <3>  extern tmode0, tmode1, tmodes, tmodev, tpg_possible_breakpoint
   110                              <3>  extern tpg_proceed_bp, tt_silent_mode_number, vpage, vrows
   111                              <3>  extern while_buffer, while_buffer.length, writemem
   112                              <3> 
   113                              <3>  extern ..@getcseipbyte_fault_skip_2_near_call
   114                              <3>  extern ..@setcseipbyte_fault_skip_2_near_call
   115                              <3>  extern ..@writemem_fault_skip_4_near_call_a
   116                              <3>  extern ..@writemem_fault_skip_4_near_call_b, int0Cmsg, int0Dmsg
   117                              <3>  extern int0msg, int18msg, int1msg, int3msg, int6msg
   118                              <3>  extern int8_kbd_msg, int8msg, runint_ctrlc_msg, serial_flags
   119                              <3> 
   120                              <3> ; bb.asm
   121                              <3>  extern ..@bb_id_length, ..@bb_id_start, ..@bb_saved_linear
   122                              <3>  extern ..@bb_when_length, ..@bb_when_start, b_bplist.id
   123                              <3>  extern b_bplist.idbuffer.free
   124                              <3>  extern b_bplist.whenbuffer, b_bplist.whenbuffer.free
   125                              <3>  extern bootcmd, crlf, msg.all, msg.at
   126                              <3>  extern msg.bb_no_new, msg.bb_when, msg.boot, msg.bp, msg.bpaddress
   127                              <3>  extern msg.bpcontent, msg.bpcounter, msg.bpdisabled, msg.bpenabled
   128                              <3>  extern msg.bpnone, msg.bpnone_at, msg.bpunused, msg.counter
   129                              <3>  extern msg.existing, msg.id, msg.new, msg.notbu, msg.number
   130                              <3>  extern msg.offset, msg.when, prnquit
   131                              <3> 
   132                              <3> ; rr.asm
   133                              <3>  extern InDOS_or_BIOS_output, cmdline_buffer
   134                              <3>  extern cmdline_buffer.end, cmdline_buffer.position, disflags, ee0a
   135                              <3>  extern error_expr, flagbits_for_40, flagbits_for_80, flagsoff
   136                              <3>  extern flagsoff_style2, flagsoff_style3, flagson, flagson_style23
   137                              <3>  extern get_memref_index_bx, getline00, getline_reset_notatty
   138                              <3>  extern guard_rc, hexnyb.common, hhtype, hhvar, in_re
   139                              <3>  extern mask_4byte, masks, memrefs, memrefs.free, msg.3byte
   140                              <3>  extern msg.abort, msg.append, msg.byte, msg.count, msg.dword
   141                              <3>  extern msg.highlight, msg.internal_error_no_mmx, msg.readonly
   142                              <3>  extern msg.readonly_mem, msg.regs386, msg.regs386_off, msg.regs386_on
   143                              <3>  extern msg.replace, msg.rh, msg.rv_mode.before, msg.rv_mode_r86m
   144                              <3>  extern msg.rv_mode_v86m, msg.rvd, msg.rvd_deviceheader
   145                              <3>  extern msg.rvd_not_device, msg.rvd_size, msg.rvm, msg.rvp
   146                              <3>  extern msg.rvp_application, msg.rvp_boot, msg.rvp_device
   147                              <3>  extern msg.rvp_device_attached, msg.rvp_tsr, msg.rvv
   148                              <3>  extern msg.unexpected_auxbuff_guard, msg.unhighlight, msg.vm_auxseg
   149                              <3>  extern msg.vm_codeseg, msg.vm_dataseg, msg.vm_entryseg, msg.vm_hisseg
   150                              <3>  extern msg.vm_messageseg, msg.vp_dparent, msg.vp_dpra
   151                              <3>  extern msg.vp_dpspsegment, msg.vp_parent, msg.vp_pra
   152                              <3>  extern msg.vp_pspsegment, msg.word, operatorfunctions, psp_parent
   153                              <3>  extern psp_pra, puts_break_line_more, putsline_break_line, re_buffer
   154                              <3>  extern re_buffer.end, re_buffer.position, re_sp, regs_prior
   155                              <3>  extern regs_prior.size, retn_expr, rh_count_number
   156                              <3>  extern rh_display_with_count, shortflagbits, shortflagbits.amount
   157                              <3>  extern shortflagsoff, shortflagson, silence_dump.rh
   158                              <3>  extern silence_dump.rh.all, table_getline_prepare_ldebug
   159                              <3>  extern table_getline_prepare_ms_debug, terminate_silent_dump
   160                              <3>  extern terminate_silent_dump.if_nonnull
   161                              <3> 
   162                              <3> ; rr.asm
   163                              <3>  extern flagbits_for_shl, regs_prior.size_w
   164                              <3> 
   165                              <3> ; aa.asm
   166                              <3>  extern REP_LEN, SEGP_LEN, attach
   167                              <3>  extern ext_aa_after_getline_handler, ext_aa_before_getline_handler
   168                              <3>  extern ext_aa_inject_handler, immasm_length, immasm_rel1632_target
   169                              <3>  extern immasm_rel8_target, msg.aa_internal_error, msg.attach
   170                              <3>  extern prefixlist.after_segment, replist, segprfxtab, showmach
   171                              <3>  extern skipalpha, sm1
   172                              <3> 
   173                              <3> ; uu.asm
   174                              <3>  extern A32P_LEN, GROUP7, MN_DB, MN_LOCK, MN_LOOP
   175                              <3>  extern MN_LOOPNZ, MN_LOOPZ, MN_REP, MN_REPE, MN_REPNE
   176                              <3>  extern MN_SEG, MN_WAIT, N_LOCK, N_LTABA, N_LTABO
   177                              <3>  extern N_WTAB, O32P_AMOUNT, OPTYPES_BASE, REP_DIFF_LEN, REP_SAME_LEN
   178                              <3>  extern SFPGROUP3, SGROUP4, SPARSE_BASE, a32prfxtab, dismach
   179                              <3>  extern dmflags, has_87, immasm_far_target, immasm_imm16, locktab
   180                              <3>  extern ltaba1, ltabo1, mach_87, mnlist, mnlist_a_suffix_allowed
   181                              <3>  extern mnlist_o_suffix_allowed, mnlist_o_suffix_required
   182                              <3>  extern msg.condjump, msg.condnotjump, msg.memrefs_invalid_internal
   183                              <3>  extern msg.uninstall, msg.uu_internal_error, msg.uu_too_many_repeat
   184                              <3>  extern needsmath, needsmath_L, needsmsg, needsmsg.digit_6_ofs
   185                              <3>  extern needsmsg.digit_x_ofs, needsmsg_L, o32prfxtab, obsmach
   186                              <3>  extern obsolete, obsolete_L, opindex, opinfo, oplists
   187                              <3>  extern optypes, ppbytes.string, ppbytes.string_amount, reg_ebp
   188                              <3>  extern reg_ebx, reg_ecx, reg_edi, reg_esi, reg_fs
   189                              <3>  extern regmem, rgnam16, rgnam816, segrgnam, sibbyte
   190                              <3>  extern sqztab, tab_to, uninstall, unused, wtab1
   191                              <3> 
   192                              <3> ; uu.asm
   193                              <3>  extern reg_edx
   194                              <3> 
   195                              <3> ; uu.asm
   196                              <3>  extern MN_BSWAP, MN_O32
   197                              <3> 
   198                              <3> ; uu.asm
   199                              <3>  extern MN_A32
   200                              <3> 
   201                              <3> ; amis.asm
   202                              <3>  extern amisintr_offset, deviceshim_size, ext_amis_handler
   203                              <3> 
   204                              <3> ; boot.asm
   205                              <3>  extern boot_remember_seek_handle
   206                              <3>  extern boot_remember_seek_offset, chkeol_or_then, cmd_goto.yy_entry
   207                              <3>  extern display_y_or_ext, ext_cmdline, ext_finish.boot
   208                              <3>  extern if_exists_found_open, if_exists_not_found
   209                              <3>  extern if_exists_then_address, iseol?_or_then, loadoptiontable
   210                              <3>  extern loadoptiontable.incompatible, loadsettings
   211                              <3>  extern msdos7_message_table, msdos7_message_table.size
   212                              <3>  extern msg.boot_access_error, msg.boot_and, msg.boot_auxbuff_crossing
   213                              <3>  extern msg.boot_badchain, msg.boot_badclusters, msg.boot_badfat
   214                              <3>  extern msg.boot_bpb_load_overlap, msg.boot_bpb_too_low
   215                              <3>  extern msg.boot_cannot_set_both, msg.boot_dot_crlf
   216                              <3>  extern msg.boot_file_not_found, msg.boot_file_too_big_error
   217                              <3>  extern msg.boot_file_too_small_error, msg.boot_internal_error
   218                              <3>  extern msg.boot_invalid_filename, msg.boot_invalid_heads
   219                              <3>  extern msg.boot_invalid_sectors, msg.boot_out_of_memory_error
   220                              <3>  extern msg.boot_partition_cycle_error, msg.boot_partition_not_found
   221                              <3>  extern msg.boot_quit_fail, msg.boot_sector_not_power
   222                              <3>  extern msg.boot_sector_too_large, msg.boot_sector_too_small
   223                              <3>  extern msg.boot_segment_too_low, msg.boot_too_many_partitions_error
   224                              <3>  extern msg.bootfail, msg.bootfail_check_mismatch
   225                              <3>  extern msg.bootfail_check_mismatch.check_got
   226                              <3>  extern msg.bootfail_check_mismatch.check_offset
   227                              <3>  extern msg.bootfail_check_mismatch.check_value, msg.bootfail_code
   228                              <3>  extern msg.bootfail_read, msg.bootfail_read_errorcode
   229                              <3>  extern msg.bootfail_secsizediffer, msg.bootfail_sig
   230                              <3>  extern msg.bootfail_sig_parttable, msg.bootfail_stack_underflow
   231                              <3>  extern msg.bpb, msg.checkoffset, msg.checkvalue, msg.dir
   232                              <3>  extern msg.dirinsteadsize, msg.emptydirname, msg.entry
   233                              <3>  extern msg.guard_auxbuff_error, msg.hidden, msg.hiddenadd
   234                              <3>  extern msg.maxpara, msg.minpara, msg.protocol, msg.quit, msg.read
   235                              <3>  extern msg.sector, msg.sector_alt, msg.segment, msg.write
   236                              <3>  extern msg.yy_empty, msg.yy_filename_empty, msg.yy_no_file
   237                              <3>  extern msg.yy_requires_filename, msg.yy_too_large
   238                              <3>  extern msg.yy_too_many_handles, terminator_in_line_in.offset
   239                              <3>  extern terminator_in_line_in.value, throwret
   240                              <3>  extern yy_boot_attempt_open_pathname, yy_boot_attempt_open_stack
   241                              <3>  extern yy_is_script
   242                              <3> 
   243                              <3> ; cc.asm
   244                              <3>  extern count_var, hh.single, msg.clear, msg.clear_sequence
   245                              <3>  extern msg.range, parsecm
   246                              <3> 
   247                              <3> ; dd.asm
   248                              <3>  extern auxbuff_current_size_minus_24, charcounter
   249                              <3>  extern dstringaddr, dstringtype, firstmcb, firstumcb, intaddress
   250                              <3>  extern lastint, lastint_is_86m_and_mcb, msg.di_empty, msg.di_error
   251                              <3>  extern msg.di_freedos_reloc, msg.di_hidden, msg.di_hma, msg.di_iisp
   252                              <3>  extern msg.di_jmpfar, msg.di_jmpfarindirect, msg.di_multiplex.1
   253                              <3>  extern msg.di_multiplex.2, msg.di_multiplex.3, msg.di_nonstd_iisp
   254                              <3>  extern msg.di_system_low, msg.di_system_mcb, msg.di_system_upper
   255                              <3>  extern msg.di_testhook, msg.di_toomany, msg.di_uninst_iisp
   256                              <3>  extern msg.header, msg.header.length, msg.invmcbadr, msg.prefixes
   257                              <3>  extern msg.tableheader, msg.tableheadertop, msg.top, msg.trailer
   258                              <3>  extern msg.trailer.length, smcbmsg_unknown, smcbtypes
   259                              <3> 
   260                              <3> ; debug.asm
   261                              <3>  extern UnhookInterruptForce, UnhookInterruptForceSim, aa
   262                              <3>  extern adusetup, bb, boot_ebdaflag, boot_initcode
   263                              <3>  extern boot_new_memsizekib, boot_old_memsizekib, cc, code_start, ddd
   264                              <3>  extern device_initcode, driveno, dumpregs_extended.exit, ee
   265                              <3>  extern eld_linkcall.call_cmd3, end_of_ldebug_code, entry_int3_retf
   266                              <3>  extern errcarat, ff, get_86m_interrupt_handler_no_dos, get_columns
   267                              <3>  extern getline_close_file, getline_close_file.resetstuff, gg, hh
   268                              <3>  extern hh_depth, hh_depth_of_single_term, hhflag, ia_restore, ii
   269                              <3>  extern immasm, install_86m_interrupt_handler, int22, int2D, intr0
   270                              <3>  extern intr0C, intr0D, intr1, intr18, intr19
   271                              <3>  extern intr3, intr6, intr8, linkinfo, ll
   272                              <3>  extern ll3, ll_copy_cmdline_and_fcbs
   273                              <3>  extern ll_copy_cmdline_and_fcbs.have_cx
   274                              <3>  extern mm, msg.NULblank, msg.asmoptions_1, msg.boothelp
   275                              <3>  extern msg.build_array, msg.build_long_amount, msg.build_short_amount
   276                              <3>  extern msg.build_version_amount, msg.cannot_hook_2D.invalid
   277                              <3>  extern msg.cannot_hook_2D.nofree, msg.cannotbootquit_memsizes
   278                              <3>  extern msg.condhelp, msg.ensure_no_memory, msg.expressionhelp
   279                              <3>  extern msg.flaghelp, msg.flags_1, msg.guard_rc_error
   280                              <3>  extern msg.guard_re_error, msg.help_array, msg.help_array_amount
   281                              <3>  extern msg.help_re, msg.help_run, msg.help_source, msg.keep
   282                              <3>  extern msg.license, msg.line_out_overflow, msg.n_toolongname
   283                              <3>  extern msg.n_toolongtail, msg.nobootsupp, msg.options_array
   284                              <3>  extern msg.options_array_amount, msg.options_pages, msg.options_scan
   285                              <3>  extern msg.options_scan_amount, msg.qq_a_terminated
   286                              <3>  extern msg.qq_a_unterminated, msg.qq_device_no_c, msg.qq_device_no_d
   287                              <3>  extern msg.qq_device_none_selected, msg.qq_unterm
   288                              <3>  extern msg.rc_limit_reached, msg.re, msg.re_limit_reached
   289                              <3>  extern msg.reghelp, msg.rh_disabled, msg.rh_enabled, msg.run
   290                              <3>  extern msg.serial_cannot_hook, msg.serial_cannot_hook.new_int
   291                              <3>  extern msg.serial_cannot_hook.old_int, msg.serial_cannot_unhook
   292                              <3>  extern msg.serial_cannot_unhook.int, msg.serial_cannot_unhook.nowarn
   293                              <3>  extern msg.serial_late_unhook, msg.serial_late_unhook.int
   294                              <3>  extern msg.serial_no_keep_enter, msg.serial_no_keep_timer
   295                              <3>  extern msg.serial_request_keep, msg.source, msg.string_build
   296                              <3>  extern msg.string_options, msg.string_version
   297                              <3>  extern msg.tsr_cannot_terminate_attached, msg.varhelp, oo, ph_msg, pp
   298                              <3>  extern putrunint, putsz_exthelp, rr, run, section.DEVICESHIM.vstart
   299                              <3>  extern serial_clean_up, serial_clear_fifos, serial_eoi
   300                              <3>  extern serial_init_UART, serial_install_interrupt_handler
   301                              <3>  extern serial_interrupt_handler, serial_uninstall_interrupt_handler
   302                              <3>  extern set_irq, setscreen, sleep_delta_limit, sleep_highest_delta
   303                              <3>  extern sss, tpg_initialise_empty_auxbuff.reset
   304                              <3>  extern transfer_to_ext_puts_getline, tt, update_inttab_optional, uu
   305                              <3>  extern vv, vv_disable, vv_set, ww, yy
   306                              <3> 
   307                              <3> ; debug.asm
   308                              <3>  extern eld_linkcall
   309                              <3> 
   310                              <3> ; ee.asm
   311                              <3>  extern bufend, bufnext, fillbuf, fullbsout
   312                              <3>  extern getline_is_input_file?, line_in, linecounter, load_extension
   313                              <3>  extern msg.ext, notatty, prehak1, run2324
   314                              <3> 
   315                              <3> ; hh.asm
   316                              <3>  extern hh_div_active, hh_div_dividend, hh_div_divisor
   317                              <3>  extern msg.base, msg.group, msg.hh_div_remainder, msg.width
   318                              <3> 
   319                              <3> ; iioo.asm
   320                              <3>  extern if_exists_length, if_exists_si, if_exists_sp
   321                              <3>  extern install, msg.exists, msg.install, msg.not, msg.then
   322                              <3>  extern msg.y, resetrc, yy_or_ext_no_guard_re
   323                              <3> 
   324                              <3> ; immasm.asm
   325                              <3>  extern aa_ret, addrr, condmsg, error_mirror, index
   326                              <3>  extern msg.immasm_error_eip, presizeflags, reg32addr, segmnt
   327                              <3>  extern segrgaddr
   328                              <3> 
   329                              <3> ; msg.asm
   330                              <3>  extern ..@boot_scan_dir_return_fat16_root_entry
   331                              <3>  extern ..@boot_scan_dir_return_filenotfound
   332                              <3>  extern ..@boot_scan_dir_return_subdir_or_fat32_entry
   333                              <3>  extern alloc_size_not_reserved, asciitablenames, boot_init_foundname
   334                              <3>  extern configpath, configpath.dir_end, device_quittable_regs, dpmi32
   335                              <3>  extern execblk.cmdline, ext_command_handler, ext_finish.bp_is_set
   336                              <3>  extern ext_handle, ext_inject_handler, ext_preprocess_handler
   337                              <3>  extern ext_puts_copyoutput_handler, ext_puts_getline_handler
   338                              <3>  extern ext_puts_handler, ext_var, ext_var_amount, ext_var_format
   339                              <3>  extern ext_var_size, extcssel, extdssel, handle_scan_dir_entry
   340                              <3>  extern handle_scan_dir_not_found, history.first, history.last
   341                              <3>  extern indirect_array_errfix, init_executable_pathname
   342                              <3>  extern init_executable_pathname.end, internalflags4, internalflags5
   343                              <3>  extern internalflags7, isvariable_morebyte_nameheaders.ext
   344                              <3>  extern lastcmd_transfer_ext_address, lastcmd_transfer_ext_entry
   345                              <3>  extern line_in.end, linkcall_table, load_adr_dirbuf_segment
   346                              <3>  extern load_check_dir_attr, load_data_lowest, load_kernel_name
   347                              <3>  extern load_yy_direntry, load_yyname_input, load_yyname_next
   348                              <3>  extern near_transfer_ext_address, near_transfer_ext_entry
   349                              <3>  extern next_reserved_segment, options4, options5, options7
   350                              <3>  extern patcharea_intrtn, patcharea_intrtn.segment
   351                              <3>  extern patcharea_intrtn.size, patcharea_run, patcharea_run.segment
   352                              <3>  extern patcharea_run.size, pm_2_86m_0, promptlen, reserved_address
   353                              <3>  extern scriptspath, scriptspath.dir_end
   354                              <3>  extern sss_silent_count, sss_silent_count_used, stack_end, swch1
   355                              <3>  extern while_buffer.end
   356                              <3> 
   357                              <3> ; msg.asm
   358                              <3>  extern install_trying
   359                              <3> 
   360                              <3> ; init.asm
   361                              <3>  extern ..@init_behind, ..@init_first
   362                              <3>  extern ..@patch_no386_ds_6_DATA_ENTRY
   363                              <3>  extern ..@patch_no386_ds_code_or_entry
   364                              <3>  extern ..@patch_no386_iret_code_or_entry, behind_code_truncated
   365                              <3>  extern behind_init, behind_messagesegment_nobits
   366                              <3>  extern behind_messagesegment_nobits_truncated, debug22
   367                              <3>  extern device_header.next, devint23, devint24, entry_retf
   368                              <3>  extern execblk.fcb1, execblk.fcb2, ext_data_area, extcall_table.ret
   369                              <3>  extern extcall_table.segsel, fileext, hVdd, immasm_buffer, initcont
   370                              <3>  extern initcont.boot_entry, initcont.device, inttab, inttab.i06
   371                              <3>  extern inttab.i2D, inttab_number_variable, line_out_overflow
   372                              <3>  extern linkcall_table.code1, linkcall_table.entry
   373                              <3>  extern linkcall_table.init, oldmode, pInDOS, pSDA, regs.size
   374                              <3>  extern switchar, trim_overflow, var_addr_entries
   375                              <3>  extern var_addr_entries.amount
   376                              <3> 
   377                              <3> ; install.asm
   378                              <3>  extern installflags, msg.alreadydisabled
   379                              <3>  extern msg.alreadyenabled, msg.toggle, msg.trydisable, msg.tryenable
   380                              <3> 
   381                              <3> ; ints.asm
   382                              <3>  extern debuggeramissig, inttab_optional
   383                              <3> 
   384                              <3> ; lineio.asm
   385                              <3>  extern auxbuff_amount_silent, cmd3_set_options
   386                              <3>  extern determine_quiet_output, eldheader, getc_repeat_idle
   387                              <3>  extern getline_timer_func, handle_ctrl_c, if_exists_found_closed
   388                              <3>  extern if_exists_found_ext_open, indos_remember_seek_function
   389                              <3>  extern indos_remember_seek_handle, indos_remember_seek_offset
   390                              <3>  extern input_file_handles.to_close, msg.configkeyword
   391                              <3>  extern msg.eld_error_code, msg.eld_load_error, msg.emptykeyword
   392                              <3>  extern msg.eof, msg.executablekeyword, msg.ext_error_internal
   393                              <3>  extern msg.ext_error_invalid, msg.ext_error_io, msg.ext_error_oom
   394                              <3>  extern msg.freedos_ctrlc_workaround, msg.goto_empty
   395                              <3>  extern msg.goto_not_file, msg.goto_not_found.1, msg.goto_not_found.2
   396                              <3>  extern msg.history_internal_error, msg.more, msg.more_over
   397                              <3>  extern msg.more_over_size, msg.more_size, msg.rh_step.1
   398                              <3>  extern msg.rh_step.2, msg.scriptskeyword, msg.silent_error, msg.sof
   399                              <3>  extern msg.unexpected_noneol_rc, msg.unexpected_noneol_re
   400                              <3>  extern msg.yy_error_file_open, msg.yy_filename_missing_unquote
   401                              <3>  extern msg.yy_no_dos, qq, section.DATASTACK.vstart
   402                              <3>  extern serial_check_receive_char, serial_receive_char
   403                              <3>  extern serial_send_char, skip_rh, yy_boot
   404                              <3>  extern yy_boot_clear_remember_seek, yy_boot_close_file, yy_boot_read
   405                              <3>  extern yy_boot_remember_seek, yy_boot_seek_current
   406                              <3>  extern yy_boot_seek_start, yy_try_scriptspath
   407                              <3>  extern yy_try_scriptspath.didnotyettry
   408                              <3>  extern yy_try_scriptspath.nokeywordused
   409                              <3> 
   410                              <3> ; ll.asm
   411                              <3>  extern doserr8, ensuredebuggeeloaded, execblk, execblk.csip
   412                              <3>  extern execblk.sssp, msg.hexerror, msg.ll_unterm, msg.not_while_indos
   413                              <3>  extern msg.tsr_cannot_ll, parselw, reading
   414                              <3>  extern terminate_attached_process, ww1, ww15, zeroregs
   415                              <3> 
   416                              <3> ; mm.asm
   417                              <3>  extern has_287, has_copr, msg.c0, msg.cr, msg8088
   418                              <3>  extern msgx86, no_copr, parsecm_have_address
   419                              <3> 
   420                              <3> ; serialp.asm
   421                              <3>  extern baseport, msg.no_progress, rxfifo, rxhead
   422                              <3>  extern rxtail, serial_fcr_setting, serial_installed_intnum
   423                              <3>  extern serial_save_dl, serial_save_ier, serial_save_irq_mask
   424                              <3>  extern serial_save_irq_off, serial_save_lcr, serial_save_mcr, txfifo
   425                              <3>  extern txhead, txtail
   426                              <3> 
   427                              <3> ; ss.asm
   428                              <3>  extern msg.matches, msg.reverse, msg.seconds, msg.sleep
   429                              <3>  extern msg.ticks, sleep_repeat_idle
   430                              <3> 
   431                              <3> ; vv.asm
   432                              <3>  extern csrpos, msg.nokeep, msg.off, msg.on, msg.vv_disabled
   433                              <3>  extern msg.vv_enable_failure, xmsdrv, xmsmove
   434                              <3> 
   435                              <3> ; ww.asm
   436                              <3>  extern diskful, doserr11, doserr2, doserr3, doserr5
   437                              <3>  extern drive, drivenumber, dskerrs, not_while_indos, nowhexe
   438                              <3>  extern nownull, openerr, openerr1, writing, wwmsg1
   439                              <3>  extern wwmsg2
   440                              <3> 
   441                              <3> 
   442                              <3>  extern bCSAttr, lDEBUG_CODE_to_lDEBUG_CODE2_nearcall_helper
   443                              <3> 
   444                              <3>  extern hook2F.not_in_dos
   445                              <3> 
   446                              <3>  extern cmd4.int3, lDEBUG_CODE2_dualret_helper
   447                              <3>  extern lDEBUG_CODE2_to_lDEBUG_CODE_nearcall_helper
   448                              <3>  extern lDEBUG_CODE_to_lDEBUG_CODE2_dualcall_helper, msg.bu
   449                              <3>  extern msg.bu_relocated, msg.bu_relocated.sign
   450                              <3> 
   451                              <3>  extern nopmsupp
   452                              <3> 
   453                              <3>  extern bAddr32
   454                              <3> 
   455                              <3>  extern descriptor, descriptor.attrib, descriptor.base
   456                              <3>  extern descriptor.limit, gatewrong, msg.d.a_error, msg.d.a_error_code
   457                              <3>  extern msg.d.a_success, msg.d.a_success_sel, msg.d.b_error
   458                              <3>  extern msg.d.b_error_code, msg.d.b_success, msg.d.d_error
   459                              <3>  extern msg.d.d_error_code, msg.d.d_success, msg.d.l_error
   460                              <3>  extern msg.d.l_error_code, msg.d.l_success, msg.d.t_error
   461                              <3>  extern msg.d.t_error_code, msg.d.t_success, msg.deschelp, msg.ofs32
   462                              <3>  extern nodesc
   463                              <3> 
   464                              <3>  extern ..@patch_tsr_quit_run, areastruc_entry.qq_entry, cssel
   465                              <3>  extern ddebugareas.next, debug2F, dpmidisable, dpmientry, dpmihook
   466                              <3>  extern dpmihookamis, dpmihookcs, dpmiwatch, end_of_ldebug_code2
   467                              <3>  extern findinstalleddebugger, get_messagesegsel, handle_mode_changed
   468                              <3>  extern i23pm, msg.cannotpmquit, msg.desc, msg.dpmi_no_hook, msg.msdos
   469                              <3>  extern msg.qq_device_pm, msg.qq_still_pm, msg.qqlate_areas_error
   470                              <3>  extern msg.readonly_verifysegm, msg.readonly_verifysegm.selector
   471                              <3>  extern mydpmientry, nodosext, oldi2F, pm_reset_handlers, scratchsel
   472                              <3>  extern sr_state, switchmode, uninstall_areas.qq_entry
   473                              <3> 
   474                              <3>  extern i24pm
   475                              <3> 
   476                              <3>  extern auxbuff_switchbuffer_size, code2_seg, code2_sel, code2_size
   477                              <3>  extern code_sel, daresult, dssel, immsel
   478                              <3>  extern lDEBUG_CODE2_to_lDEBUG_CODE_dualcall_helper
   479                              <3>  extern lDEBUG_CODE_dualret_helper, messagesel, msg.desctype
   480                              <3>  extern msg.stack_overflow.desctype
   481                              <3> 
   482                              <3>  extern cmd3_mirror
   483                              <3> 
   484                              <3>  extern ..@patch_entry_seg, ..@patch_no386_ds_4, ..@patch_no386_ds_5
   485                              <3>  extern ..@patch_no386_ds_entry_pmint21_1
   486                              <3>  extern ..@patch_no386_ds_entry_pmint21_2, areas_fun, areas_sub
   487                              <3>  extern ddebugareas.prev, linkcall_table.code2
   488                              <3> 
   489                              <3>  extern areas_struc, msg.areasalreadyinstalled
   490                              <3>  extern msg.areasalreadyuninstalled, msg.areasinstalled
   491                              <3>  extern msg.areasnodebuggerfound, msg.areasnotinstalled
   492                              <3>  extern msg.areasnotinstalled.code, msg.areasnotsupported
   493                              <3>  extern msg.areasuninstalled, msg.areasuninstalled.code
   494                              <3> 
   495                              <3>  extern intcall_return_parameter_es_parameter_ds
   496                              <3>  extern lDEBUG_CODE_to_lDEBUG_CODE_dualcall_helper, pop_if, push_if
   497                              <3> 
   498                              <3>  extern isextenderavailable, msg.cannotpmload, nodosextinst
   499                              <3> 
   500                              <3>  extern install_areas, patcharea_pm_exc, patcharea_pm_exc.segment
   501                              <3>  extern patcharea_pm_exc.size
   502                              <3> 
   503                              <3>  extern pmint21
   504                              <3> 
   505                              <3>  extern debuggerexception, entry_to_code_sel, exc6msg, excCmsg
   506                              <3>  extern excDmsg, excEmsg, intrtn2_entry, pmintsave.int21
   507                              <3> 
   508                              <3>  extern convsegs, convsegs.amount_fixed, convsegs.end_fixed
   509                              <3>  extern dpmi_pm2rm, dpmi_pmsav, dpmi_rm2pm, dpmi_rmsav, endexctab
   510                              <3>  extern exc_first, exc_second, excsave, exctab, installdpmimsg
   511                              <3>  extern intrtn_entry.from_installdpmi, pmintsave, pminttab
   512                              <3>  extern pminttab.end, setrmaddr, silence_delete_one_string.internal
   513                              <3> 
   514                              <3>  extern msg.rv_mode_dpmi_16, msg.rv_mode_dpmi_32, msg.vm_code2seg
   515                              <3>  extern msg.vm_selector, msg.vp_dpspsel, msg.vp_pspsel, psp_selector
   516                              <3> 
   517                              <3>  extern ..@getcseipbyte_fault_skip_6_near_call
   518                              <3>  extern ..@hh_code1_indirection_memory_access_end
   519                              <3>  extern ..@hh_code1_indirection_memory_access_start
   520                              <3>  extern ..@readmem_fault_skip_2_near_call
   521                              <3>  extern ..@setcseipbyte_fault_skip_6_near_call
   522                              <3>  extern ..@writemem_fault_skip_2_near_call_a
   523                              <3>  extern ..@writemem_fault_skip_2_near_call_b, behind_code
   524                              <3>  extern behind_code2, convsegs.amount, ddebugareas
   525                              <3>  extern getline_extra_int22.cleartraceflag, msg.list_bp_cseip_32
   526                              <3> 
   527                              <3>  extern MN_O16
   528                              <3> 
   529                              <3>  extern MN_A16
   530                              <3> 
   531                              <3>  extern relocatedzero
   532                              <3> 
   533                              <3>  extern msg.bu_disabled
   534                              <3> 
   535                              <3>  extern reset_interrupts, set_interrupts
   536                              <3> 
   537                              <3>  extern startoptions6
   538                              <3> 
   539                              <3>  extern currentposition, msg.loader_bottom_not_allowed
   540                              <3>  extern msg.loader_too_low_load
   541                              <3> 
   542                              <3>  extern intr_loader_18, intr_loader_19, moveloader_hook_ints
   543                              <3> 
   544                              <3>  extern loader_query, loader_transfer_cmd3, loader_transfer_relocate
   545                              <3> 
   546                              <3>  extern cmd3_int_disable.set_bx_to_dx, cmd3_int_enable.set_bx_to_dx
   547                              <3>  extern ldebug_code_size, movesegrefstable, movetable
   548                              <3>  extern movetable.bottom, msg.isalready, msg.isnow, msg.loader_error
   549                              <3>  extern msg.move, msg.move_auxbuff_error, msg.move_auxdown
   550                              <3>  extern msg.move_auxup, msg.move_ebdanottop, msg.move_empty
   551                              <3>  extern msg.move_int_error, msg.move_int_panic
   552                              <3>  extern msg.move_must_be_bottom, msg.move_nottop, msg.move_oom
   553                              <3>  extern msg.move_rpl, msg.move_toolargeebda, msg.unsupportedmove
   554                              <3>  extern qq_int_unhook_sim.set_bx_to_dx
   555                              <3> 
   556                              <3>  extern moveloader.already, moveloader.bottom_to_hidden
   557                              <3>  extern moveloader.bottom_to_top, moveloader.hidden_to_bottom
   558                              <3>  extern moveloader.hidden_to_top, moveloader.top_to_bottom
   559                              <3>  extern moveloader.top_to_hidden
   560                              <3> 
   561                              <3>  extern moveloader.specificerror, moveloader_check_serial, msg.godebug
   562                              <3>  extern msg.loader_extra, msg.loader_flag, msg.loader_loadseg_low
   563                              <3>  extern msg.loader_must_be_hidden, msg.loader_sign, msg.loader_stack
   564                              <3>  extern msg.loadsupportsignature, msg.loadsupportsignature.size
   565                              <3> 
   566                              <3>  extern depack, hshrink_memory_source.offset
   567                              <3>  extern hshrink_memory_source.segment, indirect_hshrink_message_buffer
   568                              <3>  extern msg.hshrink_error, nontruncated_hshrink_message_buffer
   569                              <3> 
   570                              <3>  extern truncated_hshrink_message_buffer
   571                              <3> 
   572                              <3>  extern patch_boothelp_uncompressed
   573                              <3> 
   574                              <3>  extern msg.copybpb
   295                              <2> %endif
   710                              <1> %endif
   711                              <1> [list -]
   714                              <1> 
   715                              <1> %include "eld.mac"
     1                              <2> %if 0
     2                              <2> 
     3                              <2> Extensions for lDebug macros
     4                              <2> 
     5                              <2> Copyright (C) 2008-2025 E. C. Masloch
     6                              <2> 
     7                              <2> Usage of the works is permitted provided that this
     8                              <2> instrument is retained with the works, so that any entity
     9                              <2> that uses the works is notified of this instrument.
    10                              <2> 
    11                              <2> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    12                              <2> 
    13                              <2> %endif
    14                              <2> 
    15                              <2> %ifndef ELD_MAC
    16                              <2> %define ELD_MAC 1
    17                              <2> 
    18                              <2> %include "lmacros3.mac"
     1                              <3> [list -]
    19                              <2> 
    20                              <2> 		; ELD executable header
    21                              <2> 	struc ELD_HEADER
    22 00000000 ????????            <2> eldhSignature:		resb 4	; "ELD1"
    23 00000004 ??????              <2> 			resb 3	; reserved
    24 00000007 ??                  <2> 			resb 1	; 26 (Ctrl-Z)
    25 00000008 ????????            <2> eldhCodeOffset:		resd 1	; position displacement from eldhSignature
    26 0000000C ????                <2> eldhCodeImageLength:	resw 1	; amount bytes, at least 32
    27 0000000E ????                <2> eldhCodeAllocLength:	resw 1	; amount bytes, added to prior. sum < 64 KiB
    28 00000010 ????????            <2> eldhDataOffset:		resd 1
    29 00000014 ????                <2> eldhDataImageLength:	resw 1	; (zero allowed)
    30 00000016 ????                <2> eldhDataAllocLength:	resw 1	; (zero allowed)
    31 00000018 ????                <2> eldhCodeEntrypoint:	resw 1	; within code section, used as displacement
    32 0000001A ????????            <2> eldhReserved:		resb 4	; reserved
    33 0000001E ????                <2> eldhExtensionSize:	resw 1	; from eldhSignature, -> past eldhx fields in use
    34                              <2> 	endstruc
    35                              <2> 	endarea ELD_HEADER, 1
    36                              <2> 
    37                              <2> 	struc ELD_HEADERX
    38 00000000 <res 20h>           <2> eldhxHeader:		resb ELD_HEADER_size
    39 00000020 ????????            <2> eldhxDescriptionOffset:	resd 1	; zero if none, from eldhxHeader. <= 128 Bytes
    40 00000024 ????????            <2> eldhxHelpOffset:	resd 1	; zero if none, from eldhxHeader
    41 00000028 ????????            <2> eldhxLibTable:		resd 1	; zero if none, from eldhxHeader
    42 0000002C ????????            <2> eldhxDateTimeOffset:	resd 1	; zero if none, from eldhxHeader
    43                              <2> 	alignb 16
    44                              <2> 	endstruc
    45                              <2> 
    46                              <2> 	struc ELD_TRAILER_HEADER
    47 00000000 ????????????????    <2> eldthSignature:		resb 8	; "ELD1TAIL"
    48 00000008 ????????            <2> eldthHeaderOffset:	resd 1	; negative displacement from eldthSignature,
    49                              <2> 				;  add this dword to the seek offset
    50 0000000C ????                <2> eldthReserved:		resw 1	; reserved, must be initialised to zero
    51 0000000E ????                <2> eldthChecksum:		resw 1	; sum of all words in trailer header = 0
    52                              <2> 	endstruc
    53                              <2> 	endarea ELD_TRAILER_HEADER, 1
    54                              <2> 
    55                              <2> 	struc ELD_LIBTABLE
    56 00000000 ????                <2> eldltFormat:		resw 1
    57                              <2> 	; 0 = uncompressed
    58                              <2> 	; 2 = heatshrink compressed
    59                              <2> 	; 3 = lzexedat -4 compressed
    60                              <2> 	; 4 = lzexedat -4 -l compressed
    61 00000002 ????                <2> eldltAmount:		resw 1
    62 00000004 ????????            <2> eldltOffset:		resd 1	; from eldhxHeader
    63                              <2> eldltCompressedLength:		; (dword, only present if format 2, 3, or 4)
    64                              <2> 	endstruc
    65                              <2> 	endarea ELD_LIBTABLE, 1
    66                              <2> 
    67                              <2> 		; ELD instance header
    68                              <2> 	struc ELD_INSTANCE
    69 00000000 ????                <2> eldiStartCode:		resw 1	; -> this structure itself (para aligned)
    70 00000002 ????                <2> eldiEndCode:		resw 1	; -> behind memory used by instance (para aligned)
    71 00000004 ????                <2> eldiStartData:		resw 1	; -> data in data entry section (para aligned), or 0
    72 00000006 ????                <2> eldiEndData:		resw 1	; -> behind data (para aligned), or 0
    73 00000008 ????????????????    <2> eldiIdentifier:		resb 8	; blank-filled text
    74 00000010 ????                <2> eldiFlags:		resw 1	; flags
    75                              <2> eldiListing_size equ 14
    76 00000012 <res Eh>            <2> eldiListing:		resb eldiListing_size
    77                              <2> 				; ASCIZ listing file name
    78                              <2> 	endstruc
    79                              <2> 		; flags for eldiFlags:
    80                              <2> eldifResident:		equ 1
    81                              <2> 
    82                              <2> 		; ELD link info header
    83                              <2> 	struc ELD_LINKINFO
    84 00000000 ????                <2> eldlSignature:		resw 1	; 0E1D1h
    85 00000002 ????????            <2> eldlReserved:		resw 2
    86 00000006 ????                <2> eldlUseLinkHash:	resw 1
    87 00000008 ????                <2> eldlDataAmount:		resw 1
    88 0000000A ????                <2> eldlDataPrefixes:	resw 1
    89 0000000C ????                <2> eldlDataEntries:	resw 1
    90 0000000E ????                <2> eldlDataAddresses:	resw 1
    91 00000010 ????                <2> eldlCodeAmount:		resw 1
    92 00000012 ????                <2> eldlCodePrefixes:	resw 1
    93 00000014 ????                <2> eldlCodeEntries:	resw 1
    94 00000016 ????                <2> eldlCodeAddresses:	resw 1
    95                              <2> 	endstruc
    96                              <2> 
    97                              <2> 	numdef ELD_CODE_VSTART, 9001h
    98                              <2> 	numdef ELD_DATA_VSTART, 8000h
    99                              <2> 	numdef ELD_RELOC_VSTART, 8000h
   100                              <2> 
   101                              <2> 	numdef ELD_RECLAIM_HINT, 0
   102                              <2> 	strdef ELD_LISTING, ""
   103                              <2> 	numdef ELD_DATETIME, 0
   104                              <2> 
   105                              <2> %if _ELD_DATETIME
   106                              <2>  %define PUT_ELDHX_DATETIME_OFFSET at eldhxDateTimeOffset, dd DATAOFFSET + datetime - datastart
   107                              <2>  %macro PUT_ELD_DATETIME 0.nolist
   108                              <2> datetime:	asciz __UTC_DATE__,'T',__UTC_TIME__,'Z'
   109                              <2> 		asciz		; for future extension
   110                              <2>  %endmacro
   111                              <2> %else
   112                              <2>  %define PUT_ELDHX_DATETIME_OFFSET
   113                              <2>  %define PUT_ELD_DATETIME
   114                              <2> %endif
   115                              <2> 
   116                              <2> %endif
   716                              <1> 
   717                              <1> %include "install.mac"
     1                              <2> 
     2                              <2> %if 0
     3                              <2> 
     4                              <2> lDebug INSTALL command macros
     5                              <2> 
     6                              <2> Copyright (C) 2008-2023 E. C. Masloch
     7                              <2> 
     8                              <2> Usage of the works is permitted provided that this
     9                              <2> instrument is retained with the works, so that any entity
    10                              <2> that uses the works is notified of this instrument.
    11                              <2> 
    12                              <2> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    13                              <2> 
    14                              <2> %endif
    15                              <2> 
    16                              <2> 	struc INSTALLFLAG
    17 00000000 ????                <2> ifKeyword:	resw 1
    18 00000002 ????                <2> ifDescription:	resw 1
    19 00000004 ????                <2> ifOptions:	resw 1
    20 00000006 ????                <2> ifValue:	resw 1
    21 00000008 ????                <2> ifTrying:	resw 1
    22 0000000A ????                <2> ifReserved:	resw 1
    23                              <2> 	endstruc
    24                              <2> 
   718                              <1> 
   719                              <1> %if _SYMBOLIC
   720                              <1> 	defaulting 0			; disable defaulting
   721                              <1> %include "symbols.mac"
   722                              <1> [list -]
   723                              <1> 		; symbolic branch defines *without* defaulting!
   724                              <1> 	numdef ZZ_INSERT_TEMP, 1
   725                              <1> 	numdef XMS_SYMBOL_TABLE, 1
   726                              <1> 	numdef BUFFER_86MM_SLICE, 0
   727                              <1> 	numdef SECOND_SLICE, 0
   728                              <1> 
   729                              <1> 	defaulting 1			; re-enable defaulting
   730                              <1> 
   731                              <1> 		; symbolic branch defines
   732                              <1> 	numdef 86MM_SYMBOL_TABLE_MAX, 256, 256
   733                              <1> %endif
   734                              <1> 
   735                              <1> 	struc SEGADR
   736 00000000 ????????            <1> saOffset:	resd 1
   737 00000004 ????                <1> saSegSel:	resw 1
   738                              <1> %if _PM
   739                              <1> saSegment:	resw 1
   740                              <1> saSelector:	resw 1
   741                              <1> %endif
   742                              <1> 	endstruc
   743                              <1> 
   744                              <1> 	%macro segmentedaddress 0.nolist
   745                              <1> 	istruc SEGADR
   746                              <1> 	iend
   747                              <1> 	%endmacro
   748                              <1> 
   749                              <1> 	struc SEGOFS16ADR
   750 00000000 ????                <1> so16aOffset:	resw 1
   751 00000002 ????                <1> so16aSegSel:	resw 1
   752                              <1> %if _PM
   753                              <1> so16aSegment:	resw 1
   754                              <1> so16aSelector:	resw 1
   755                              <1> %endif
   756                              <1> 	endstruc
   757                              <1> 
   758                              <1> 	%macro segofs16address 0-1.nolist zero
   759                              <1> 	istruc SEGOFS16ADR
   760                              <1> %ifidni %1,zero
   761                              <1> %elifidni %1,minusone
   762                              <1> at so16aOffset,		dw -1
   763                              <1> at so16aSegSel,		dw -1
   764                              <1>  %if _PM
   765                              <1> at so16aSegment,	dw -1
   766                              <1> at so16aSelector,	dw -1
   767                              <1>  %endif
   768                              <1> %else
   769                              <1>  %error Unexpected initialiser keyword
   770                              <1> %endif
   771                              <1> 	iend
   772                              <1> 	%endmacro
   773                              <1> 
   774                              <1> 	struc SEGONLYADR
   775 00000000 ????                <1> soaSegSel:	resw 1
   776                              <1> %if _PM
   777                              <1> soaSegment:	resw 1
   778                              <1> soaSelector:	resw 1
   779                              <1> %endif
   780                              <1> 	endstruc
   781                              <1> 
   782                              <1> 	%macro segonlyaddress 0.nolist
   783                              <1> 	istruc SEGONLYADR
   784                              <1> 	iend
   785                              <1> 	%endmacro
   786                              <1> 
   787                              <1> 
   788                              <1> %if _LOADER
   789                              <1> 	struc MOVETABLEENTRY
   790                              <1> mteIdentifier:		resw 1
   791                              <1> mteArrayIndex:		resw 1
   792                              <1> mteStatusMessage:	resw 1
   793                              <1> mteFromArray:
   794                              <1> mteFromBottom:		resw 1
   795                              <1> mteFromTop:		resw 1
   796                              <1> mteFromHidden:		resw 1
   797                              <1> 	endstruc
   798                              <1> %endif
   799                              <1> 
   800                              <1> %if _BOOTLDR
   801                              <1>  %include "iniload.mac"
     1                              <2> %if 0
     2                              <2> 
     3                              <2> lDebug iniload/boot interfacing structs and macros
     4                              <2> 
     5                              <2> Copyright (C) 2008-2025 E. C. Masloch
     6                              <2> 
     7                              <2> Usage of the works is permitted provided that this
     8                              <2> instrument is retained with the works, so that any entity
     9                              <2> that uses the works is notified of this instrument.
    10                              <2> 
    11                              <2> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    12                              <2> 
    13                              <2> %endif
    14                              <2> 
    15                              <2> 
    16                              <2> 	struc BS
    17 00000000 ??????              <2> bsJump:	resb 3
    18 00000003 ????????????????    <2> bsOEM:	resb 8
    19                              <2> bsBPB:
    20                              <2> 	endstruc
    21                              <2> 
    22                              <2> 	struc EBPB		;        BPB sec
    23 00000000 ????                <2> bpbBytesPerSector:	resw 1	; offset 00h 0Bh
    24 00000002 ??                  <2> bpbSectorsPerCluster:	resb 1	; offset 02h 0Dh
    25 00000003 ????                <2> bpbReservedSectors:	resw 1	; offset 03h 0Eh
    26 00000005 ??                  <2> bpbNumFATs:		resb 1	; offset 05h 10h
    27 00000006 ????                <2> bpbNumRootDirEnts:	resw 1	; offset 06h 11h -- 0 for FAT32
    28 00000008 ????                <2> bpbTotalSectors:	resw 1	; offset 08h 13h
    29 0000000A ??                  <2> bpbMediaID:		resb 1	; offset 0Ah 15h
    30 0000000B ????                <2> bpbSectorsPerFAT:	resw 1	; offset 0Bh 16h -- 0 for FAT32
    31 0000000D ????                <2> bpbCHSSectors:		resw 1	; offset 0Dh 18h
    32 0000000F ????                <2> bpbCHSHeads:		resw 1	; offset 0Fh 1Ah
    33 00000011 ????????            <2> bpbHiddenSectors:	resd 1	; offset 11h 1Ch
    34 00000015 ????????            <2> bpbTotalSectorsLarge:	resd 1	; offset 15h 20h
    35                              <2> bpbNew:				; offset 19h 24h
    36                              <2> 
    37 00000019 ????????            <2> ebpbSectorsPerFATLarge:	resd 1	; offset 19h 24h
    38 0000001D ????                <2> ebpbFSFlags:		resw 1	; offset 1Dh 28h
    39 0000001F ????                <2> ebpbFSVersion:		resw 1	; offset 1Fh 2Ah
    40 00000021 ????????            <2> ebpbRootCluster:	resd 1	; offset 21h 2Ch
    41 00000025 ????                <2> ebpbFSINFOSector:	resw 1	; offset 25h 30h
    42 00000027 ????                <2> ebpbBackupSector:	resw 1	; offset 27h 32h
    43 00000029 <res Ch>            <2> ebpbReserved:		resb 12	; offset 29h 34h
    44                              <2> ebpbNew:			; offset 35h 40h
    45                              <2> 	endstruc
    46                              <2> 
    47                              <2> 	struc BPBN		; ofs B16 S16 B32 S32
    48 00000000 ??                  <2> bpbnBootUnit:		resb 1	; 00h 19h 24h 35h 40h
    49 00000001 ??                  <2> 			resb 1	; 01h 1Ah 25h 36h 41h
    50 00000002 ??                  <2> bpbnExtBPBSignature:	resb 1	; 02h 1Bh 26h 37h 42h -- 29h for valid BPBN
    51 00000003 ????????            <2> bpbnSerialNumber:	resd 1	; 03h 1Ch 27h 38h 43h
    52 00000007 <res Bh>            <2> bpbnVolumeLabel:	resb 11	; 07h 20h 2Bh 3Ch 47h
    53 00000012 ????????????????    <2> bpbnFilesystemID:	resb 8	; 12h 2Bh 36h 47h 52h
    54                              <2> 	endstruc		; 1Ah 33h 3Eh 4Fh 5Ah
    55                              <2> 
    56                              <2> 	struc DIRENTRY
    57 00000000 ????????????????    <2> deName:		resb 8
    58 00000008 ??????              <2> deExt:		resb 3
    59 0000000B ??                  <2> deAttrib:	resb 1
    60 0000000C ??                  <2> dePlusSize:	resb 1
    61 0000000D ??????????????      <2> 		resb 7
    62 00000014 ????                <2> deClusterHigh:	resw 1
    63 00000016 ????                <2> deTime:		resw 1
    64 00000018 ????                <2> deDate:		resw 1
    65 0000001A ????                <2> deClusterLow:	resw 1
    66 0000001C ????????            <2> deSize:		resd 1
    67                              <2> 	endstruc
    68                              <2> 
    69                              <2> ATTR_READONLY	equ 1
    70                              <2> ATTR_HIDDEN	equ 2
    71                              <2> ATTR_SYSTEM	equ 4
    72                              <2> ATTR_VOLLABEL	equ 8
    73                              <2> ATTR_DIRECTORY	equ 10h
    74                              <2> ATTR_ARCHIVE	equ 20h
    75                              <2> 
    76                              <2> lsvclSignature		equ "CL"
    77                              <2> lsvclBufferLength	equ 256
    78                              <2> 
    79                              <2> 	struc LOADSTACKVARS, -10h
    80 FFFFFFF0 ????????            <2> lsvFirstCluster:	resd 1
    81 FFFFFFF4 ????????            <2> lsvFATSector:		resd 1
    82 FFFFFFF8 ????                <2> lsvFATSeg:		resw 1
    83 FFFFFFFA ????                <2> lsvLoadSeg:		resw 1
    84 FFFFFFFC ????????            <2> lsvDataStart:		resd 1
    85                              <2> 	endstruc
    86                              <2> 
    87                              <2> 	struc LOADDATA, LOADSTACKVARS - 10h
    88 FFFFFFE0 ????                <2> ldMemoryTop:	resw 1
    89 FFFFFFE2 ????                <2> ldLoadTop:	resw 1
    90 FFFFFFE4 ????                <2> ldSectorSeg:	resw 1
    91 FFFFFFE6 ??                  <2> ldFATType:	resb 1
    92                              <2> ldFlags:
    93 FFFFFFE7 ??                  <2> ldHasLBA:	resb 1
    94 FFFFFFE8 ????                <2> ldClusterSize:	resw 1
    95 FFFFFFEA ????                <2> ldParaPerSector:resw 1
    96                              <2> ldDirCluster:			; dword
    97                              <2> ldLoadingSeg:		; word
    98                              <2> ldQueryPatchValue:	; word
    99                              <2> lsvCommandLine:		; word
   100                              <2> .start:		equ $ - lsvclBufferLength
   101 FFFFFFEC ????                <2> .signature:	resw 1
   102                              <2> ldLoadUntilSeg:		; word
   103                              <2> lsvExtra:		; word
   104 FFFFFFEE ??                  <2> .partition:	resb 1	; byte
   105 FFFFFFEF ??                  <2> .flags:		resb 1	; byte
   106                              <2> 	endstruc
   107                              <2> 
   108                              <2> ldhlfPreserveLoader	equ 4
   109                              <2> 
   110                              <2> lsvefNoDataStart	equ 1
   111                              <2> lsvefPartitionNumber	equ 2
   112                              <2> lsvefPreserveLoader	equ 4
   113                              <2> 
   114                              <2> %if lsvefPreserveLoader != ldhlfPreserveLoader
   115                              <2>  %error Unexpected flag values
   116                              <2> %endif
   117                              <2> 
   118                              <2> 	struc LOADCMDLINE, LOADDATA - lsvclBufferLength
   119                              <2> ldCommandLine:
   120 FFFFFEE0 <res 100h>          <2> .start:		resb lsvclBufferLength
   121                              <2> 	endstruc
   122                              <2> 
   123                              <2> ldfHasLBA:	equ 1
   124                              <2> ldfFATInvalid:	equ 2
   125                              <2> ldfFATBuffered:	equ 4
   126                              <2> ldfDataBuffered: equ 8
   127                              <2> 
   128                              <2> 	struc LOADDATA2, LOADDATA - 10h
   129 FFFFFFD0 ????????            <2> ldRootSector:		resd 1
   130 FFFFFFD4 ????                <2> ldEntriesPerSector:	resw 1
   131                              <2> ldDataSegment:		; word
   132 FFFFFFD6 ????                <2> ldLastAvailableSector:	resw 1
   133                              <2> ldDataSector:		; dword
   134 FFFFFFD8 ????                <2> ldParasLeft:		resw 1
   135 FFFFFFDA ????                <2> ldParasDone:		resw 1
   136                              <2> 	endstruc
   137                              <2> 
   138                              <2> 	struc LOADDATA3, LOADDATA2 - 10h
   139 FFFFFFC0 ????????            <2> ldMaxCluster:		resd 1
   140 FFFFFFC4 ????????            <2> ldFileSize:		resd 1
   141 FFFFFFC8 ????????            <2> ldCurrentCluster:	resd 1
   142 FFFFFFCC ????????            <2> ldCurrentSeek:		resd 1
   143                              <2> 	endstruc
   144                              <2> 
   145                              <2> 	struc LOADERIMAGEIDENT
   146 00000000 ????????            <2> liiSignature:		resb 4		; "NLDR"
   147 00000004 ????                <2> liiVersion:		resb 2		; "00"
   148 00000006 ????                <2> liiChecksum:		resw 1		; word sum of first 8 words = 0
   149 00000008 ????                <2> liiAmountParagraphs:	resw 1
   150 0000000A ????????????        <2> liiReserved:		resw 3
   151 00000010 ????                <2> liiEntryQuerySize:	resw 1		; 0 if not supported
   152                              <2> 		; INP:	cs => NLDR image ident
   153                              <2> 		;	ip = this word field content
   154                              <2> 		;	ax = 60h
   155                              <2> 		; OUT:	ax => behind memory requested (should be >= 60h)
   156                              <2> 		; CHG:	es, ds, di, si, bx, cx, dx
   157                              <2> 		; STT:	far called, UP, EI
   158 00000012 ????                <2> liiEntryRelocate:	resw 1		; 0 if not supported
   159                              <2> 		; INP:	cs => NLDR image ident
   160                              <2> 		;	ip = this word field content
   161                              <2> 		;	ax = 60h
   162                              <2> 		; OUT:	ax => relocated NLDR segment (usually 60h)
   163                              <2> 		; CHG:	es, ds, di, si, bx, cx, dx
   164                              <2> 		; STT:	far called, UP, EI
   165 00000014 ????                <2> liiEntryDebug:		resw 1		; 0 if not supported
   166                              <2> 		; INP:	es = ds = cs = ss => relocated NLDR
   167                              <2> 		;	ip = this word field content
   168                              <2> 		;	sp = next word field content
   169                              <2> 		; STT:	running as debuggee, UP, EI
   170 00000016 ????                <2> liiStackPointer:	resw 1
   171                              <2> 	endstruc
   172                              <2> 
   173                              <2> 	struc LBAPACKET
   174 00000000 ????                <2> lpSize:		resw 1
   175 00000002 ????                <2> lpCount:	resw 1
   176 00000004 ????????            <2> lpBuffer:	resd 1
   177 00000008 ????????????????    <2> lpSector:	resq 1
   178                              <2> 	endstruc
   179                              <2> 
   180                              <2> 	struc PARTINFO
   181 00000000 ??                  <2> piBoot:		resb 1
   182 00000001 ??????              <2> piStartCHS:	resb 3
   183 00000004 ??                  <2> piType:		resb 1
   184 00000005 ??????              <2> piEndCHS:	resb 3
   185 00000008 ????????            <2> piStart:	resd 1
   186 0000000C ????????            <2> piLength:	resd 1
   187                              <2> 	endstruc
   188                              <2> 
   189                              <2> ptEmpty:		equ 0
   190                              <2> ptFAT12:		equ 1
   191                              <2> ptFAT16_16BIT_CHS:	equ 4
   192                              <2> ptExtendedCHS:		equ 5
   193                              <2> ptFAT16_CHS:		equ 6
   194                              <2> ptFAT32_CHS:		equ 0Bh
   195                              <2> ptFAT32:		equ 0Ch
   196                              <2> ptFAT16:		equ 0Eh
   197                              <2> ptExtended:		equ 0Fh
   198                              <2> ptLinux:		equ 83h
   199                              <2> ptExtendedLinux:	equ 85h
   200                              <2> 
   201                              <2> 
   202                              <2> 		; Flags of load_unit_flags
   203                              <2> lufForceCHS:		equ 1
   204                              <2> lufForceLBA:		equ 2
   205                              <2> lufForceGeometry:	equ 4
   206                              <2> luf_mask_writable equ lufForceCHS | lufForceLBA | lufForceGeometry
   802                              <1> 
   803                              <1> LOAD_INPUT_FILE_SIZE equ fromparas(paras(-LOADDATA3 + bsBPB + ebpbNew + BPBN_size))
   804                              <1> 
   805                              <1> 	struc LOADSETTINGS
   806 00000000 ????                <1> lsKernelName:	resw 1	; -> kernel file default name
   807 00000002 ????                <1> lsAddName:	resw 1	; -> additional file default name, may be empty string
   808 00000004 ????                <1> lsMinPara:	resw 1	; how much to load at least, fail if file smaller
   809 00000006 ????                <1> lsMaxPara:	resw 1	; how much to load at most (will round up to sector size)
   810 00000008 ????                <1> lsOptions:	resw 1	; option flags
   811 0000000A ????                <1> lsSegment:	resw 1	; => where to load file
   812 0000000C ????????            <1> lsEntry:	resd 1	; relative segment for CS, value for IP
   813 00000010 ????????            <1> lsBPB:		resd 1	; segment for BPB (-1 auto-BPB), offset for BPB
   814 00000014 ????????            <1> lsCopyBPB:	resd 1	; if not all-zeroes, copy BPB to far pointer
   815 00000018 ????                <1> lsCheckOffset:	resw 1	; offset in file segment of word to check
   816 0000001A ????                <1> lsCheckValue:	resw 1	; value to check for word, 0 if unused
   817 0000001C ????????????????    <1> lsName:		resq 1	; ASCIZ load protocol name
   818                              <1> 	endstruc
   819                              <1> 
   820                              <1> 		numdef LUF_DEFAULT_DISKETTE, 0
   821                              <1> 		numdef LUF_DEFAULT_HARDDISK, 0
   822                              <1> %endif
   823                              <1> 
   824                              <1> 
   825                              <1> %include "mzheader.mac"
     1                              <2> 
     2                              <2> %if 0
     3                              <2> 
     4                              <2> lDebug MZ .EXE header macros
     5                              <2> 
     6                              <2> Copyright (C) 1995-2003 Paul Vojta
     7                              <2> Copyright (C) 2008-2023 E. C. Masloch
     8                              <2> 
     9                              <2> Usage of the works is permitted provided that this
    10                              <2> instrument is retained with the works, so that any entity
    11                              <2> that uses the works is notified of this instrument.
    12                              <2> 
    13                              <2> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    14                              <2> 
    15                              <2> %endif
    16                              <2> 
    17                              <2> 
    18                              <2> 	struc EXEHEADER
    19 00000000 ????                <2> exact_struc_at 00h, exeSignature:	resw 1
    20 00000002 ????                <2> exact_struc_at 02h, exeExtraBytes:	resw 1	; bytes in last page
    21 00000004 ????                <2> exact_struc_at 04h, exePages:		resw 1	; number of 512-byte pages. includes the header!
    22 00000006 ????                <2> exact_struc_at 06h, exeRelocItems:	resw 1	; number of relocation items
    23 00000008 ????                <2> exact_struc_at 08h, exeHeaderSize:	resw 1	; header size in 16-byte paragraphs
    24 0000000A ????                <2> exact_struc_at 0Ah, exeMinAlloc:	resw 1	; minimum (bss) allocation in paragraphs
    25 0000000C ????                <2> exact_struc_at 0Ch, exeMaxAlloc:	resw 1	; maximum (bss) allocation in paragraphs
    26 0000000E ????                <2> exact_struc_at 0Eh, exeInitSS:		resw 1	; init ss (is relocated)
    27 00000010 ????                <2> exact_struc_at 10h, exeInitSP:		resw 1	; init sp
    28 00000012 ????                <2> exact_struc_at 12h, exeChecksum:	resw 1
    29                              <2> exact_struc_at 14h, exeInitCSIP:
    30 00000014 ????                <2> exact_struc_at 14h, exeInitIP:		resw 1	; init ip
    31 00000016 ????                <2> exact_struc_at 16h, exeInitCS:		resw 1	; init cs (is relocated)
    32 00000018 ????                <2> exact_struc_at 18h, exeRelocTable:	resw 1	; byte offset of relocation table
    33                              <2> 		; Each relocation item is a word offset and a word segment.
    34                              <2> 		;  The segment of the item itself is relocated as well.
    35 0000001A ????                <2> exact_struc_at 1Ah, exeOverlayNum:	resw 1
    36                              <2> exact_struc_at 1Ch
    37                              <2> 	endstruc
   826                              <1> 
   827                              <1> 
   828                              <1> 	struc INPUTFILEHANDLE
   829 00000000 ????                <1> ifhHandle:	resw 1
   830 00000002 ????                <1> ifhFlags:	resw 1
   831 00000004 ????????            <1> ifhParentSeek:	resd 1
   832                              <1> 	endstruc
   833                              <1> 
   834                              <1> ifhfIsDup:		equ  100h	; before closing, seek it back
   835                              <1> 	; same value as LBA flag for boot load input files
   836                              <1> ifhfTestReserved1:	equ 1000h
   837                              <1> ifhfTestReserved2:	equ 2000h
   838                              <1> ifhfQuietInput:		equ 4000h	; do not display prompt and input
   839                              <1> ifhfQuietOutput:	equ 8000h	; do not display normal output
   840                              <1> 	; these four are valid for both input file handles and
   841                              <1> 	;  boot load input files.
   842                              <1> 
   843                              <1> 
   844                              <1> 	struc AREASTRUC
   845 00000000 <res 18h>           <1> areastrucEntry:		resb 24
   846 00000018 ????????            <1> areastrucNext:		resd 1
   847 0000001C ????????            <1> areastrucPrev:		resd 1
   848 00000020 ????                <1> areastrucSubAmount:	resw 1
   849 00000022 ????                <1> areastrucSubOffset:	resw 1
   850 00000024 ????                <1> areastrucFunAmount:	resw 1
   851 00000026 ????                <1> areastrucFunOffset:	resw 1
   852                              <1> 	endstruc
   853                              <1> 
   854                              <1> 	struc AREASTRUCSUB
   855 00000000 ????????            <1> areastrucsubLinear:	resd 1
   856 00000004 ????????            <1> areastrucsubLinearEnd:	resd 1
   857 00000008 ????                <1> areastrucsubListOffset:	resw 1
   858 0000000A ????                <1> areastrucsubListAmount:	resw 1
   859                              <1> 	endstruc
   860                              <1> 
   861                              <1> 	struc AREASTRUCFUN
   862 00000000 ????????            <1> areastrucfunLinear:	resd 1
   863 00000004 ????????            <1> areastrucfunLinearEnd:	resd 1
   864 00000008 ????                <1> areastrucfunListOffset:	resw 1
   865 0000000A ????                <1> areastrucfunListAmount:	resw 1
   866                              <1> 	endstruc
   867                              <1> 
   868                              <1> 	struc AREA
   869 00000000 ????                <1> areastart:		resw 1
   870 00000002 ????                <1> areaend:		resw 1
   871 00000004 ????                <1> areamessage:		resw 1
   872 00000006 ????                <1> 			resw 1
   873                              <1> 	endstruc
   874                              <1> 
   875                              <1> 
   876                              <1> %include "isvariab.mac"
     1                              <2> 
     2                              <2> %if 0
     3                              <2> 
     4                              <2> lDebug isvariable? function strutures and macros
     5                              <2> 
     6                              <2> Copyright (C) 2008-2025 E. C. Masloch
     7                              <2> 
     8                              <2> Usage of the works is permitted provided that this
     9                              <2> instrument is retained with the works, so that any entity
    10                              <2> that uses the works is notified of this instrument.
    11                              <2> 
    12                              <2> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    13                              <2> 
    14                              <2> %endif
    15                              <2> 
    16                              <2> 
    17                              <2> 	struc ISVARIABLESTRUC
    18 00000000 ????                <2> ivName:		resw 1		; -> name (up to 13 bytes, but actually only 11)
    19                              <2> 				;  (search for ivfNameLengthLimit for limit)
    20                              <2> 				;  (length given by ivFlags & ivfNameLengthMask)
    21                              <2> 	; The ivName pointer is only used for more-byte names. It actually
    22                              <2> 	;  contains the trailer of the name, excluding the prefix formed by
    23                              <2> 	;  the first two bytes. This suffix can be the empty string if the
    24                              <2> 	;  variable in question has a two-byte name.
    25                              <2> 	; (For one-byte names this field is unused and contains zero.)
    26 00000002 ????                <2> ivFlags:	resw 1
    27 00000004 ????                <2> ivAddress:	resw 1		; default -> variable
    28                              <2> 	; The ivAddress field is used by default_variable_setup as the base
    29                              <2> 	;  address for the variable(s). It is also used by var_ext_setup as
    30                              <2> 	;  the ELD code section offset to transfer control to. Otherwise, it
    31                              <2> 	;  is usually set to zero and unused.
    32 00000006 ????                <2> ivSetup:	resw 1		; -> set up code (in expr code section)
    33                              <2> 	; INP:	ax = array index (0-based)
    34                              <2> 	;	di = 0
    35                              <2> 	;	cl = default size of variable (1..4)
    36                              <2> 	;	ch = length of variable name
    37                              <2> 	;	bx -> ISVARIABLESTRUC structure
    38                              <2> 	; CHG:	ax, bx, cx, dx, si, di
    39                              <2> 	; OUT:	NC if valid,
    40                              <2> 	;	 bx -> var, di = 0 or di -> mask
    41                              <2> 	;	 cl = size of variable (1..4)
    42                              <2> 	;	 ch = length of variable name
    43 00000008 ??                  <2> ivArrayLast:	resb 1		; 0 if no array, FFh = 256 entries
    44                              <2> 	; The ivArrayLast field is used by the dispatcher to determine
    45                              <2> 	;  whether to support array index expressions. It is checked
    46                              <2> 	;  before decrementing the index if ivfArrayOneBased is set.
    47 00000009 ??                  <2> ivArrayBetween: resb 1		; how many bytes to skip for each index
    48                              <2> 	; The ivArrayBetween field is only used by default_variable_setup.
    49                              <2> 	endstruc
    50                              <2> 
    51                              <2> ivfNameLengthMask:	equ 15	; gives name trailer length, 0 to 11
    52                              <2> ivfNameLengthLimit:	equ 13
    53                              <2> ivfVarLengthShift:	equ 4
    54                              <2> ivfVarLengthMask:	equ 3 << ivfVarLengthShift
    55                              <2> 				; gives default variable size minus 1
    56                              <2> ivfReadOnly:		equ 80h	; variable cannot be written at all
    57                              <2> ivfArrayOneBased:	equ 100h; first array entry is 1 not 0 (ivArrayLast > 0)
    58                              <2> ivfArrayOptional:	equ 200h; array index expression is optional
    59                              <2> ivfSeparatorSpecial:	equ 400h; used for RIxxP/L/S/O
    60                              <2> 
    61                              <2> %define ISVARIABLESTRINGS db "",db ""
    62                              <2> %define IVS_ONEBYTE_NAMES ""
    63                              <2> %define IVS_MOREBYTE_NAMEHEADERS ""
    64                              <2> %assign IVS_HAVE_ONEBYTE 0
    65                              <2> %assign IVS_SINGLE_ONEBYTE 1
    66                              <2> 
    67                              <2> 		; %1 = name string
    68                              <2> 		; %2 = default variable length, 1 to 4
    69                              <2> 		; %3 = flags to set (except name length and var length)
    70                              <2> 		; %4 = ivAddress value
    71                              <2> 		; %5 = ivArrayLast, defaults to 0 (no array)
    72                              <2> 		; %6 = ivArrayBetween, defaults to 0 (immediately consecutive)
    73                              <2> 		; %7 = ivSetup, defaults to default_variable_setup
    74                              <2> 	%macro isvariablestruc 4-7.nolist 0, 0, default_variable_setup
    75                              <2> %push
    76                              <2> %strlen %$namelength %1
    77                              <2> %if %$namelength > ivfNameLengthLimit
    78                              <2>  %error Expected at most 13-byte name (or adjust isvariable? code)
    79                              <2> %endif
    80                              <2> %if IVS_ONEBYTE && %$namelength != 1
    81                              <2>  %error Expected a one-byte name
    82                              <2> %elif ! IVS_ONEBYTE && %$namelength < 2
    83                              <2>  %error Expected at least a two-byte name
    84                              <2> %endif
    85                              <2> %if IVS_ONEBYTE
    86                              <2>  %define IVS_SINGLE_ONEBYTE_NAME %1
    87                              <2>  %if IVS_HAVE_ONEBYTE
    88                              <2>   %assign IVS_SINGLE_ONEBYTE 0
    89                              <2>  %endif
    90                              <2>  %assign IVS_HAVE_ONEBYTE 1
    91                              <2>  %assign %$namelength 0
    92                              <2>  %xdefine IVS_ONEBYTE_NAMES IVS_ONEBYTE_NAMES, %1
    93                              <2>  %%name equ 0
    94                              <2> %else
    95                              <2>  %assign %$namelength %$namelength - 2
    96                              <2>  %substr %$nametrailer %1 3,-1
    97                              <2>  %substr %$nameheader %1 1,2
    98                              <2>  %xdefine IVS_MOREBYTE_NAMEHEADERS IVS_MOREBYTE_NAMEHEADERS, %$nameheader
    99                              <2>  %xdefine ISVARIABLESTRINGS ISVARIABLESTRINGS, %%name:, {db %$nametrailer}
   100                              <2> %endif
   101                              <2> 
   102                              <2> %assign %$varlength %2 - 1	; 0 means one byte, 1 means two bytes,
   103                              <2> 				;  2 means three bytes, 3 means four bytes
   104                              <2> 	istruc ISVARIABLESTRUC
   105                              <2> at ivName,		dw %%name
   106                              <2>  IV_NAME_RELOCATION
   107                              <2> at ivFlags,		dw %$$namelength | (%$$varlength << ivfVarLengthShift) | %3
   108                              <2> at ivAddress,		dw %4
   109                              <2>  IV_ADDRESS_RELOCATION
   110                              <2> at ivSetup,		dw %7
   111                              <2>  IV_SETUP_RELOCATION
   112                              <2> at ivArrayLast,		db %5
   113                              <2> at ivArrayBetween,	db %6
   114                              <2> 	iend
   115                              <2> %pop
   116                              <2> %ifndef SECTION_OF_%7
   117                              <2>  %error Unknown target section for symbol %7
   118                              <2> %elifnidni %[SECTION_OF_%7], _EXPR_SECTION
   119                              <2>  %error Wrong section for symbol %7: section_of=SECTION_OF_%7, expr=_EXPR_SECTION
   120                              <2> %endif
   121                              <2> 	%endmacro
   122                              <2> 
   123                              <2> %define IV_NAME_RELOCATION
   124                              <2> %define IV_ADDRESS_RELOCATION
   125                              <2> %define IV_SETUP_RELOCATION
   126                              <2> 
   127                              <2> 	%macro isvariablestrings 2-*.nolist
   128                              <2> %rep %0
   129                              <2>  %1
   130                              <2>  %rotate 1
   131                              <2> %endrep
   132                              <2> 	%endmacro
   877                              <1> 
   878                              <1> 
   879                              <1> %include "386.mac"
     1                              <2> 
     2                              <2> %if 0
     3                              <2> 
     4                              <2> lDebug 386 patch macros
     5                              <2> 
     6                              <2> Copyright (C) 2008-2026 E. C. Masloch
     7                              <2> 
     8                              <2> Usage of the works is permitted provided that this
     9                              <2> instrument is retained with the works, so that any entity
    10                              <2> that uses the works is notified of this instrument.
    11                              <2> 
    12                              <2> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    13                              <2> 
    14                              <2> %endif
    15                              <2> 
    16                              <2> 	numdef LINK, 0
    17                              <2> 
    18                              <2> 	numdef WPT_LABELS, 0
    19                              <2> 		; This used to be required, because CODESECTIONFIXUP used
    20                              <2> 		;  ldebug_data_entry_size, which is not yet defined during
    21                              <2> 		;  assembling of (most) lDEBUG_CODE fragments.
    22                              <2> 		; However, assembling DebugX with this option selected
    23                              <2> 		;  took more than 2 minutes, so the non-label variant
    24                              <2> 		;  is clearly to be preferred when available.
    25                              <2> 		; Now that lDEBUG_CODE has vstart=0 we can use the
    26                              <2> 		;  CODESECTIONFIXUP again and thus disable this option.
    27                              <2> 
    28                              <2> %ifn _LINK
    29                              <2> %define PATCH_NO386_TABLE ""
    30                              <2> %define PATCH_386_TABLE ""
    31                              <2> %define PATCH_NO386_TABLE2 ""
    32                              <2> %define PATCH_386_TABLE2 ""
    33                              <2> %define PATCH_NO386_TABLEENTRY ""
    34                              <2> %define PATCH_386_TABLEENTRY ""
    35                              <2> %endif
    36                              <2> 
    37                              <2> %if _ONLY386
    38                              <2> 		; Default patch macros if only running on 386+.
    39                              <2> %define _386_o32 o32
    40                              <2> %define _386_a32 a32
    41                              <2> %define _386_jmps jmp short
    42                              <2> %define _386_jmpn jmp near
    43                              <2> %define _no386_jmps comment
    44                              <2> %define _no386_jmpn comment
    45                              <2> 	%macro _386 0-1+.nolist
    46                              <2> [cpu 386]			; change CPU type
    47                              <2> 		%1		; write instruction
    48                              <2> __CPU__				; reset CPU type
    49                              <2> 	%endmacro
    50                              <2> %define _no386 comment
    51                              <2> %elif _ONLYNON386
    52                              <2> 		; Default patch macros if only running on non-386.
    53                              <2> %define _386_o32
    54                              <2> %define _386_a32
    55                              <2> %define _386_jmps comment
    56                              <2> %define _386_jmpn comment
    57                              <2> %define _no386_jmps jmp short
    58                              <2> %define _no386_jmpn jmp near
    59                              <2> %define _386 comment
    60                              <2> %define _no386
    61                              <2> %else
    62                              <2> 
    63                              <2> ; These macros are to make DEBUG's 386 support as small as
    64                              <2> ; possible. To achieve this, two patch tables are created
    65                              <2> ; in the initialisation code. One of the tables is used if
    66                              <2> ; the CPU is a 386+, the other one if it isn't. The bytes
    67                              <2> ; pointed to in the used table are over-written with NOP
    68                              <2> ; instructions. (The patched bytes are usually address or
    69                              <2> ; operand size prefixes or jumps that branch to 386/non-386
    70                              <2> ; code.)
    71                              <2> 
    72                              <2> ; There are a few special patches that require the
    73                              <2> ; initialisation code to write specific bytes other than
    74                              <2> ; NOP instructions for lower resident memory usage.
    75                              <2> ; Two are in the run: code, three in pmentry.asm.
    76                              <2> 
    77                              <2> %if _LINK
    78                              <2> 
    79                              <2> %imacro wllist 1-3.nolist
    80                              <2> %ifnempty %3
    81                              <2>  %deftok %%filenametoken %3
    82                              <2> %else
    83                              <2>  %deftok %%filenametoken __FILE__
    84                              <2> %endif
    85                              <2>  global ..@wllist_%1?%[%%l]%[%%filenametoken]
    86                              <2> ..@wllist_%1?%[%%l]%[%%filenametoken]: %2
    87                              <2> %endmacro
    88                              <2> 
    89                              <2> 	%macro patch386 2-3.nolist 1
    90                              <2> %define %%repeat
    91                              <2> %if %3 != 1
    92                              <2>  %define %%repeat r%3_
    93                              <2> %endif
    94                              <2> %ifidn _CURRENT_SECTION, lDEBUG_CODE
    95                              <2>  wllist %[%%repeat]Lpatch_%{1}386_table, %2
    96                              <2> %elifidn _CURRENT_SECTION, lDEBUG_CODE2
    97                              <2>  wllist %[%%repeat]Lpatch_%{1}386_table2, %2
    98                              <2> %elifidn _CURRENT_SECTION, lDEBUG_DATA_ENTRY
    99                              <2>  wllist %[%%repeat]Lpatch_%{1}386_tableentry, %2
   100                              <2> %else
   101                              <2>  %error Wrong section
   102                              <2> %endif
   103                              <2> 	%endmacro
   104                              <2> 
   105                              <2> 		; Operand size 32-bit prefix if 386+ CPU
   106                              <2> 	%macro _386_o32 0-1+.nolist
   107                              <2> _386		o32
   108                              <2> 		%1
   109                              <2> 	%endmacro
   110                              <2> 
   111                              <2> 		; Address size 32-bit prefix if 386+ CPU
   112                              <2> 	%macro _386_a32 0-1+.nolist
   113                              <2> _386		a32
   114                              <2> 		%1
   115                              <2> 	%endmacro
   116                              <2> 
   117                              <2> 		; Short jump if 386+ CPU
   118                              <2> 	%macro _386_jmps 1.nolist
   119                              <2> _386		jmp short %1
   120                              <2> 	%endmacro
   121                              <2> 
   122                              <2> 		; Near jump if 386+ CPU
   123                              <2> 	%macro _386_jmpn 1.nolist
   124                              <2> _386		jmp near %1
   125                              <2> 	%endmacro
   126                              <2> 
   127                              <2> 		; Short jump if no 386+ CPU
   128                              <2> 	%macro _no386_jmps 1.nolist
   129                              <2> _no386		jmp short %1
   130                              <2> 	%endmacro
   131                              <2> 
   132                              <2> 		; Near jump if no 386+ CPU
   133                              <2> 	%macro _no386_jmpn 1.nolist
   134                              <2> _no386		jmp near %1
   135                              <2> 	%endmacro
   136                              <2> 
   137                              <2> 		; Instruction if 386+ CPU
   138                              <2> 	%macro _386 0-1+.nolist
   139                              <2> [cpu 386]			; change CPU type
   140                              <2> %%entry:
   141                              <2> 		%1		; write instruction
   142                              <2> __CPU__				; reset CPU type
   143                              <2> %assign %%length ($ - %%entry)
   144                              <2>  patch386 no, equ %%entry, %%length
   145                              <2> 	%endmacro
   146                              <2> 
   147                              <2> 		; Instruction if no 386+ CPU
   148                              <2> 	%macro _no386 0-1+.nolist
   149                              <2> %%entry:
   150                              <2> 		%1		; write instruction
   151                              <2> %assign %%length ($ - %%entry)
   152                              <2>  patch386 , equ %%entry, %%length
   153                              <2> 	%endmacro
   154                              <2> 
   155                              <2> %else
   156                              <2> 	%macro patch386 2+.nolist
   157                              <2> %ifidn _CURRENT_SECTION, lDEBUG_CODE
   158                              <2>  %define PATCH_%{1}386_TABLE %[PATCH_%{1}386_TABLE], %2
   159                              <2> %elifidn _CURRENT_SECTION, lDEBUG_CODE2
   160                              <2>  %define PATCH_%{1}386_TABLE2 %[PATCH_%{1}386_TABLE2], %2
   161                              <2> %elifidn _CURRENT_SECTION, lDEBUG_DATA_ENTRY
   162                              <2>  %define PATCH_%{1}386_TABLEENTRY %[PATCH_%{1}386_TABLEENTRY], %2
   163                              <2> %else
   164                              <2>  %error Wrong section
   165                              <2> %endif
   166                              <2> 	%endmacro
   167                              <2> 
   168                              <2> %if _WPT_LABELS
   169                              <2> 	; These forms provide verbose info by defining a
   170                              <2> 	; meaningful label for each patch. That fills up
   171                              <2> 	; the map file and might take longer though.
   172                              <2> 		; Operand size 32-bit prefix if 386+ CPU
   173                              <2> 	%macro _386_o32 0-1+.nolist
   174                              <2> %%386_o32:	o32
   175                              <2> patch386 NO, %%386_o32
   176                              <2> 		%1
   177                              <2> 	%endmacro
   178                              <2> 
   179                              <2> 		; Address size 32-bit prefix if 386+ CPU
   180                              <2> 	%macro _386_a32 0-1+.nolist
   181                              <2> %%386_a32:	a32
   182                              <2> patch386 NO, %%386_a32
   183                              <2> 		%1
   184                              <2> 	%endmacro
   185                              <2> 
   186                              <2> 		; Short jump if 386+ CPU
   187                              <2> 	%macro _386_jmps 1.nolist
   188                              <2> %%386_jmps:	jmp short %1
   189                              <2> patch386 NO, %%386_jmps,%%386_jmps+1
   190                              <2> 	%endmacro
   191                              <2> 
   192                              <2> 		; Near jump if 386+ CPU
   193                              <2> 	%macro _386_jmpn 1.nolist
   194                              <2> %%386_jmpn:	jmp near %1
   195                              <2> patch386 NO, %%386_jmpn,%%386_jmpn+1,%%386_jmpn+2
   196                              <2> 	%endmacro
   197                              <2> 
   198                              <2> 		; Short jump if no 386+ CPU
   199                              <2> 	%macro _no386_jmps 1.nolist
   200                              <2> %%no386_jmps:	jmp short %1
   201                              <2> patch386 , %%no386_jmps,%%no386_jmps+1
   202                              <2> 	%endmacro
   203                              <2> 
   204                              <2> 		; Near jump if no 386+ CPU
   205                              <2> 	%macro _no386_jmpn 1.nolist
   206                              <2> %%no386_jmpn:	jmp near %1
   207                              <2> patch386 , %%no386_jmpn,%%no386_jmpn+1,%%no386_jmpn+2
   208                              <2> 	%endmacro
   209                              <2> 
   210                              <2> 		; Instruction if 386+ CPU
   211                              <2> 	%macro _386 0-1+.nolist
   212                              <2> [cpu 386]			; change CPU type
   213                              <2> %%386_instr:	%1		; write instruction
   214                              <2> __CPU__				; reset CPU type
   215                              <2> 
   216                              <2> %assign %%INSTRCOUNT 0
   217                              <2> %rep $-%%386_instr		; count size of instruction
   218                              <2>  patch386 NO, %%386_instr+%[%%INSTRCOUNT]
   219                              <2> 				; write a patch for each byte
   220                              <2>  %assign %%INSTRCOUNT %%INSTRCOUNT+1
   221                              <2> %endrep
   222                              <2> %undef %%INSTRCOUNT
   223                              <2> 	%endmacro
   224                              <2> 
   225                              <2> 		; Instruction if no 386+ CPU
   226                              <2> 	%macro _no386 0-1+.nolist
   227                              <2> %%no386_instr:	%1		; write instruction
   228                              <2> 
   229                              <2> %assign %%INSTRCOUNT 0
   230                              <2> %rep $-%%no386_instr		; count size of instruction
   231                              <2>  patch386 , %%no386_instr+%[%%INSTRCOUNT]
   232                              <2> 				; write a patch for each byte
   233                              <2>  %assign %%INSTRCOUNT %%INSTRCOUNT+1
   234                              <2> %endrep
   235                              <2> %undef %%INSTRCOUNT
   236                              <2> 	%endmacro
   237                              <2> %else	; _WPT_LABELS
   238                              <2> 		; Operand size 32-bit prefix if 386+ CPU
   239                              <2> 	%macro _386_o32 0-1+.nolist
   240                              <2> _386		o32
   241                              <2> 		%1
   242                              <2> 	%endmacro
   243                              <2> 
   244                              <2> 		; Address size 32-bit prefix if 386+ CPU
   245                              <2> 	%macro _386_a32 0-1+.nolist
   246                              <2> _386		a32
   247                              <2> 		%1
   248                              <2> 	%endmacro
   249                              <2> 
   250                              <2> 		; Short jump if 386+ CPU
   251                              <2> 	%macro _386_jmps 1.nolist
   252                              <2> _386		jmp short %1
   253                              <2> 	%endmacro
   254                              <2> 
   255                              <2> 		; Near jump if 386+ CPU
   256                              <2> 	%macro _386_jmpn 1.nolist
   257                              <2> _386		jmp near %1
   258                              <2> 	%endmacro
   259                              <2> 
   260                              <2> 		; Short jump if no 386+ CPU
   261                              <2> 	%macro _no386_jmps 1.nolist
   262                              <2> _no386		jmp short %1
   263                              <2> 	%endmacro
   264                              <2> 
   265                              <2> 		; Near jump if no 386+ CPU
   266                              <2> 	%macro _no386_jmpn 1.nolist
   267                              <2> _no386		jmp near %1
   268                              <2> 	%endmacro
   269                              <2> 
   270                              <2> 		; Instruction if 386+ CPU
   271                              <2> 	%macro _386 0-1+.nolist
   272                              <2> %push
   273                              <2> [cpu 386]			; change CPU type
   274                              <2> %assign %$entry $ + _CURRENT_SECTION %+ FIXUP
   275                              <2> 		%1		; write instruction
   276                              <2> __CPU__				; reset CPU type
   277                              <2> 
   278                              <2> %rep ($ + _CURRENT_SECTION %+ FIXUP) - %$entry
   279                              <2> 				; count size of instruction
   280                              <2>  patch386 NO, %[%$entry]	; write a patch for each byte
   281                              <2>  %assign %$entry %$entry+1
   282                              <2> %endrep
   283                              <2> %pop
   284                              <2> 	%endmacro
   285                              <2> 
   286                              <2> 		; Instruction if no 386+ CPU
   287                              <2> 	%macro _no386 0-1+.nolist
   288                              <2> %push
   289                              <2> %assign %$entry $ + _CURRENT_SECTION %+ FIXUP
   290                              <2> 		%1		; write instruction
   291                              <2> 
   292                              <2> %rep ($ + _CURRENT_SECTION %+ FIXUP) - %$entry
   293                              <2> 				; count size of instruction
   294                              <2>  patch386 , %[%$entry]		; write a patch for each byte
   295                              <2>  %assign %$entry %$entry+1
   296                              <2> %endrep
   297                              <2> %pop
   298                              <2> 	%endmacro
   299                              <2> %endif	; _WPT_LABELS
   300                              <2> %endif	; _LINK
   301                              <2> 
   302                              <2> %endif
   303                              <2> 
   304                              <2> 		; Patch macros but for cases where the 386+
   305                              <2> 		; instructions should only be generated for
   306                              <2> 		; DEBUGX (i.e. for 32-bit DPMI addressing code).
   307                              <2> %if _PM
   308                              <2> %define _386_PM_o32	_386_o32
   309                              <2> %define _386_PM_a32	_386_a32
   310                              <2> %define _386_PM_jmps	_386_jmps
   311                              <2> %define _386_PM_jmpn	_386_jmpn
   312                              <2> %define _386_PM		_386
   313                              <2> %else
   314                              <2> %define _386_PM_o32
   315                              <2> %define _386_PM_a32
   316                              <2> %define _386_PM_jmps	comment
   317                              <2> %define _386_PM_jmpn	comment
   318                              <2> %define _386_PM		comment
   319                              <2> %endif
   320                              <2> 
   321                              <2> 
   322                              <2> %ifn _LINK
   323                              <2> %macro __writepatchtable2 0-*.nolist
   324                              <2> %if %0 & 1
   325                              <2>  %fatal Expected even number of arguments
   326                              <2> %endif
   327                              <2> %rep %0 >> 1
   328                              <2> 	%1 %2
   329                              <2> %rotate 2
   330                              <2> %endrep
   331                              <2> %endmacro
   332                              <2> 
   333                              <2> %macro __patchtable2_entry 0.nolist
   334                              <2>   ; only if this isn't the first (pseudo-)entry
   335                              <2>   %if %$lastcount != 0
   336                              <2>     %assign %$runscount %[%$runscount]+1
   337                              <2>    ; if the offset from %$previous is less than 255
   338                              <2>    %if (%$last-%$previous) < 255
   339                              <2>     %assign %$$method2tablesize %$$method2tablesize+1
   340                              <2>     ; then write a single byte (number of bytes not to patch between)
   341                              <2>     %xdefine %$$method2list %$$method2list,db,%$last-%$previous
   342                              <2>    %else
   343                              <2>     ; otherwise write a 255 ("reposition") and write the 16-bit address afterwards
   344                              <2>     %assign %$$method2tablesize %$$method2tablesize+3
   345                              <2>     %xdefine %$$method2list %$$method2list,db,255,dw,%$last
   346                              <2>     %assign %$reposcount %[%$reposcount]+1
   347                              <2>    %endif
   348                              <2>    %if %$lastcount == 1
   349                              <2>     %assign %$onecount %[%$onecount]+1
   350                              <2>    %endif
   351                              <2>    %assign %$$method2tablesize %$$method2tablesize+1
   352                              <2>    ; and write the number of bytes to be patched
   353                              <2>    %xdefine %$$method2list %$$method2list,db,%$lastcount
   354                              <2>    ; define %$previous for the next entry: it points to the next non-patched byte
   355                              <2>    %define %$previous (%[%$last]+%[%$lastcount])
   356                              <2>   %endif
   357                              <2> %endmacro
   358                              <2> 
   359                              <2> %macro writepatchtable 2-*.nolist
   360                              <2> 
   361                              <2> 	numdef %{1}_FORCE_METHOD, 0
   362                              <2> %push
   363                              <2> 		; Determine length of simple table:
   364                              <2> %assign %$method1tablesize (%0 - 2)*2
   365                              <2> 
   366                              <2> %if !_%{1}_FORCE_METHOD || _%{1}_FORCE_METHOD == 2
   367                              <2> 		; Determine length of complicated table:
   368                              <2> %assign %$method2tablesize 0
   369                              <2> %define %$method2list db,""
   370                              <2> %push
   371                              <2> %if _WPT_LABELS
   372                              <2>  %define %$previous code_start	; if list contains labels
   373                              <2> %else
   374                              <2>  %define %$previous 0
   375                              <2> %endif
   376                              <2> %define %$last %[%$previous]
   377                              <2> %assign %$lastcount 0
   378                              <2> %assign %$onecount 0
   379                              <2> %assign %$reposcount 0
   380                              <2> %assign %$bytescount %0 - 2
   381                              <2> %assign %$runscount 0
   382                              <2> %rotate 1
   383                              <2> %rep %0 - 2
   384                              <2>  %rotate 1
   385                              <2>  ;if  it continues the previous patch   and not too long   and this isn't the first
   386                              <2>  %if ((%$last+%$lastcount) == %1) && (%$lastcount < 255) && (%$lastcount != 0)
   387                              <2>   ; then do not write an entry, just increase the patch's size
   388                              <2>   %assign %$lastcount %[%$lastcount]+1
   389                              <2>  %else
   390                              <2>   ; otherwise write the last entry
   391                              <2>   __patchtable2_entry
   392                              <2>   ; define new %$last to this parameter, %$lastcount to one
   393                              <2>   %define %$last %1
   394                              <2>   %assign %$lastcount 1
   395                              <2>  %endif
   396                              <2> %endrep
   397                              <2> __patchtable2_entry
   398                              <2> 
   399                              <2> ; at the end, there's a patch with offset 0, size 0
   400                              <2> %assign %$$method2tablesize %$$method2tablesize+2
   401                              <2> %xdefine %$$method2list %$$method2list,db,0,db,0
   402                              <2> 
   403                              <2> %assign %$$onecount %$onecount
   404                              <2> %assign %$$reposcount %$reposcount
   405                              <2> %assign %$$bytescount %$bytescount
   406                              <2> %assign %$$runscount %$runscount
   407                              <2> %pop
   408                              <2> %rotate 1
   409                              <2> %endif
   410                              <2> 
   411                              <2> %if _%{1}_FORCE_METHOD == 2
   412                              <2>  %define __%{1}_method 2
   413                              <2> %elif _%{1}_FORCE_METHOD == 1
   414                              <2>  %define __%{1}_method 1
   415                              <2> %else
   416                              <2>  %if _%{1}_FORCE_METHOD
   417                              <2>   %fatal Invalid forced method selected: _%{1}_FORCE_METHOD
   418                              <2>  %endif
   419                              <2>  %if %$method1tablesize > (%$method2tablesize+20)
   420                              <2>   %define __%{1}_method 2
   421                              <2>  %else
   422                              <2>   %define __%{1}_method 1
   423                              <2>  %endif
   424                              <2> %endif
   425                              <2> 
   426                              <2> 
   427                              <2> %1:
   428                              <2> %if __%{1}_method == 2
   429                              <2> 	__writepatchtable2 %$method2list
   430                              <2> 	endarea %1
   431                              <2> %assign %$size %1_size
   432                              <2> %warning %1: %$size bytes (Method 2)
   433                              <2> %warning 1B=%$onecount repo=%$reposcount run=%$runscount byte=%$bytescount
   434                              <2> %else
   435                              <2> %rotate 1
   436                              <2> %rep %0 - 2
   437                              <2> %rotate 1
   438                              <2> 	dw %1
   439                              <2> %endrep
   440                              <2> %rotate 1
   441                              <2> 	endarea %1
   442                              <2> %assign %$size %1_size
   443                              <2> %warning %1: %$size bytes (Method 1)
   444                              <2> %1.amount equ %1_size_w
   445                              <2> %endif
   446                              <2> %pop
   447                              <2> %endmacro
   448                              <2> %endif
   880                              <1> 
   881                              <1> 
   882                              <1> %if _VDD
   883                              <1> ; standard BOPs for communication with DEBXXVDD on NT platforms
   884                              <1> %macro RegisterModule 0.nolist
   885                              <1> 	db 0C4h, 0C4h, 58h, 0
   886                              <1> 	nop
   887                              <1> %endmacro
   888                              <1> %macro UnRegisterModule 0.nolist
   889                              <1> 	db 0C4h, 0C4h, 58h, 1
   890                              <1> 	nop
   891                              <1> %endmacro
   892                              <1> %macro DispatchCall 0.nolist
   893                              <1> 	db 0C4h, 0C4h, 58h, 2
   894                              <1> 	nop
   895                              <1> %endmacro
   896                              <1> %endif
   897                              <1> 
   898                              <1> %assign CODE_INSURE_COUNT 0
   899                              <1> 
   900                              <1> 		; The entry_to_code_seg/_sel dispatcher in lDEBUG_DATA_ENTRY
   901                              <1> 		;  detects mistaken debugger breakpoints in its
   902                              <1> 		;  in-code-parameter by checking for a low-byte
   903                              <1> 		;  value equal to 0CCh (one-byte int3 opcode).
   904                              <1> 		; Therefore, we insure that all destinations jumped to
   905                              <1> 		;  via that dispatcher do not happen to be located
   906                              <1> 		;  on an offset that gives 0CCh in the low byte.
   907                              <1> 	%imacro code_insure_low_byte_not_0CCh 0.nolist
   908                              <1> %ifn _LINK
   909                              <1>  %if (($ - _CURRENT_SECTION %+ _start) & 0FFh) == 0CCh
   910                              <1> 	nop
   911                              <1>   %assign CODE_INSURE_COUNT 1 + CODE_INSURE_COUNT
   912                              <1>  %endif
   913                              <1> %endif
   914                              <1> 	%endmacro
   915                              <1> 
   916                              <1> 
   917                              <1> 		; dual code segments
   918                              <1> %if _DUALCODE && _PM
   919                              <1> 
   920                              <1> %if _DEBUG
   921                              <1> %idefine dualfunction comment
   922                              <1> %else
   923                              <1> %idefine dualfunction code_insure_low_byte_not_0CCh
   924                              <1> %endif
   925                              <1> 
   926                              <1> %idefine dualreturn call _CURRENT_SECTION %+ _dualret_helper
   927                              <1> %idefine dualdistance far
   928                              <1> 	%imacro dualcall 1.nolist
   929                              <1> %ifndef SECTION_OF_%1
   930                              <1>  %error Unknown target section for symbol %1
   931                              <1> %endif
   932                              <1> 	call _CURRENT_SECTION %+ _to_ %+ %[SECTION_OF_%1] %+ _dualcall_helper
   933                              <1>  %if _DEBUG
   934                              <1> 	jmp strict short %%skipdata
   935                              <1>  %endif
   936                              <1> 	dw %1
   937                              <1> %%skipdata:
   938                              <1> 	%endmacro
   939                              <1> 	%imacro nearcall 1.nolist
   940                              <1> %ifndef SECTION_OF_%1
   941                              <1>  %error Unknown target section for symbol %1
   942                              <1> %endif
   943                              <1> %ifidni %[SECTION_OF_%1], _CURRENT_SECTION
   944                              <1> 	call %1
   945                              <1> %else
   946                              <1> 	call _CURRENT_SECTION %+ _to_ %+ %[SECTION_OF_%1] %+ _nearcall_helper
   947                              <1>  %if _DEBUG
   948                              <1> 	jmp strict short %%skipdata
   949                              <1>  %endif
   950                              <1> 	dw %1
   951                              <1> %%skipdata:
   952                              <1> %endif
   953                              <1> 	%endmacro
   954                              <1> 
   955                              <1> %elif _DUALCODE && ! _PM
   956                              <1> 
   957                              <1> %idefine dualfunction comment
   958                              <1> %idefine dualreturn
   959                              <1> %idefine dualdistance far
   960                              <1> 
   961                              <1> %ifn _LINK
   962                              <1> %define PATCH_RELOCATE_FROM_lDEBUG_CODE ""
   963                              <1> %define PATCH_RELOCATE_FROM_lDEBUG_CODE2 ""
   964                              <1> 	%imacro dualcall 1.nolist
   965                              <1> %ifndef SECTION_OF_%1
   966                              <1>  %error Unknown target section for symbol %1
   967                              <1> %endif
   968                              <1> %ifidni %[SECTION_OF_%1], _CURRENT_SECTION
   969                              <1> 	push cs
   970                              <1> 	call %1
   971                              <1> %else
   972                              <1> 	call relocatedzero:%1
   973                              <1> %push
   974                              <1> %assign %$entry ($ + _CURRENT_SECTION %+ FIXUP) - 2
   975                              <1> 	relocatelist _CURRENT_SECTION, %$entry
   976                              <1> %pop
   977                              <1> %endif
   978                              <1> 	%endmacro
   979                              <1> 	%imacro relocatelist 2.nolist
   980                              <1>  %define PATCH_RELOCATE_FROM_%1 %[PATCH_RELOCATE_FROM_%1],%2
   981                              <1> 	%endmacro
   982                              <1> %else		; _LINK
   983                              <1> 	%idefine dualcall dualcall_with_filename __FILE__,
   984                              <1> 	%imacro dualcall_with_filename 2.nolist
   985                              <1> %ifndef SECTION_OF_%2
   986                              <1>  %error Unknown target section for symbol %2
   987                              <1> %endif
   988                              <1> %ifidni %[SECTION_OF_%2], _CURRENT_SECTION
   989                              <1> 	push cs
   990                              <1> 	call %2
   991                              <1> %else
   992                              <1> 	call relocatedzero:%2
   993                              <1> %ifidn _CURRENT_SECTION, lDEBUG_CODE
   994                              <1>  wllist Lrelocate_from_code, equ $ - 2, %1
   995                              <1> %elifidn _CURRENT_SECTION, lDEBUG_CODE2
   996                              <1>  wllist Lrelocate_from_code2, equ $ - 2, %1
   997                              <1> %else
   998                              <1>  %error Wrong section
   999                              <1> %endif
  1000                              <1> %endif
  1001                              <1> 	%endmacro
  1002                              <1> %endif		; _LINK
  1003                              <1>  %if _DUALCODENEARDUAL
  1004                              <1> 
  1005                              <1> %if _LINK
  1006                              <1> 	%idefine nearcall nearcall_with_filename __FILE__,
  1007                              <1> 	%imacro nearcall_with_filename 2
  1008                              <1> %ifndef SECTION_OF_%2
  1009                              <1>  %error Unknown target section for symbol %2
  1010                              <1> %endif
  1011                              <1> %ifidni %[SECTION_OF_%2], _CURRENT_SECTION
  1012                              <1> 	call %2
  1013                              <1> %else
  1014                              <1>  %push
  1015                              <1>  %xdefine %$originalsection _CURRENT_SECTION
  1016                              <1>  %xdefine %$targetsection SECTION_OF_%2
  1017                              <1>  %deftok %%filenametoken SOURCEFILENAME
  1018                              <1>   %ifndef NEARCALL_THUNK_TO_%2%[%%filenametoken]
  1019                              <1> 	hiddenusesection %$targetsection
  1020                              <1> %define NEARCALL_THUNK_TO_%2%[%%filenametoken] %%nearcall_thunk_to_%2%[%%filenametoken]
  1021                              <1> section_of %%nearcall_thunk_to_%2%[%%filenametoken]
  1022                              <1> dualfunction
  1023                              <1> %%nearcall_thunk_to_%2%[%%filenametoken]:
  1024                              <1> 	call %2
  1025                              <1> 	dualreturn
  1026                              <1> 	retf
  1027                              <1> 
  1028                              <1> 	hiddenusesection %$originalsection
  1029                              <1>   %endif
  1030                              <1>  %pop
  1031                              <1> 	dualcall_with_filename %1, NEARCALL_THUNK_TO_%2%[%%filenametoken]
  1032                              <1> %endif
  1033                              <1> 	%endmacro
  1034                              <1> %elif _LINK_COMPAT	; _LINK
  1035                              <1> 	%imacro nearcall 1
  1036                              <1> %ifndef SECTION_OF_%1
  1037                              <1>  %error Unknown target section for symbol %1
  1038                              <1> %endif
  1039                              <1> %ifidni %[SECTION_OF_%1], _CURRENT_SECTION
  1040                              <1> 	call %1
  1041                              <1> %else
  1042                              <1>  %push
  1043                              <1>  %xdefine %$originalsection _CURRENT_SECTION
  1044                              <1>  %xdefine %$targetsection SECTION_OF_%1
  1045                              <1>  %deftok %%filenametoken SOURCEFILENAME
  1046                              <1>   %ifndef NEARCALL_THUNK_TO_%1%[%%filenametoken]
  1047                              <1> 	hiddenusesection %$targetsection
  1048                              <1> %define NEARCALL_THUNK_TO_%1%[%%filenametoken] %%nearcall_thunk_to_%1%[%%filenametoken]
  1049                              <1> section_of %%nearcall_thunk_to_%1%[%%filenametoken]
  1050                              <1> dualfunction
  1051                              <1> %%nearcall_thunk_to_%1%[%%filenametoken]:
  1052                              <1> 	call %1
  1053                              <1> 	dualreturn
  1054                              <1> 	retf
  1055                              <1> 
  1056                              <1> 	hiddenusesection %$originalsection
  1057                              <1>   %endif
  1058                              <1>  %pop
  1059                              <1> 	dualcall NEARCALL_THUNK_TO_%1%[%%filenametoken]
  1060                              <1> %endif
  1061                              <1> 	%endmacro
  1062                              <1> %else		; _LINK, _LINK_COMPAT
  1063                              <1> 	%imacro nearcall 1
  1064                              <1> %ifndef SECTION_OF_%1
  1065                              <1>  %error Unknown target section for symbol %1
  1066                              <1> %endif
  1067                              <1> %ifidni %[SECTION_OF_%1], _CURRENT_SECTION
  1068                              <1> 	call %1
  1069                              <1> %else
  1070                              <1>  %push
  1071                              <1>  %xdefine %$originalsection _CURRENT_SECTION
  1072                              <1>  %xdefine %$targetsection SECTION_OF_%1
  1073                              <1>   %ifndef NEARCALL_THUNK_TO_%1
  1074                              <1> 	hiddenusesection %$targetsection
  1075                              <1> %define NEARCALL_THUNK_TO_%1 %%nearcall_thunk_to_%1
  1076                              <1> section_of %%nearcall_thunk_to_%1
  1077                              <1> dualfunction
  1078                              <1> %%nearcall_thunk_to_%1:
  1079                              <1> 	call %1
  1080                              <1> 	dualreturn
  1081                              <1> 	retf
  1082                              <1> 
  1083                              <1> 	hiddenusesection %$originalsection
  1084                              <1>   %endif
  1085                              <1>  %pop
  1086                              <1> 	dualcall NEARCALL_THUNK_TO_%1
  1087                              <1> %endif
  1088                              <1> 	%endmacro
  1089                              <1> %endif		; _LINK, _LINK_COMPAT
  1090                              <1>  %else
  1091                              <1> 	%imacro nearcall 1.nolist
  1092                              <1> %ifndef SECTION_OF_%1
  1093                              <1>  %error Unknown target section for symbol %1
  1094                              <1> %endif
  1095                              <1> %ifidni %[SECTION_OF_%1], _CURRENT_SECTION
  1096                              <1> 	call %1
  1097                              <1> %else
  1098                              <1> 	call _CURRENT_SECTION %+ _to_ %+ %[SECTION_OF_%1] %+ _nearcall_helper
  1099                              <1>  %if _DEBUG
  1100                              <1> 	jmp strict short %%skipdata
  1101                              <1>  %endif
  1102                              <1> 	dw %1
  1103                              <1> %%skipdata:
  1104                              <1> %endif
  1105                              <1> 	%endmacro
  1106                              <1>  %endif
  1107                              <1> %elif ! _DUALCODE
  1108                              <1> 
  1109                              <1> %idefine dualfunction comment
  1110                              <1> %idefine dualreturn
  1111                              <1> %idefine dualdistance near
  1112                              <1> 	%imacro dualcall 1.nolist
  1113                              <1> 	call %1
  1114                              <1> 	%endmacro
  1115                              <1> 	%imacro nearcall 1.nolist
  1116                              <1> 	call %1
  1117                              <1> 	%endmacro
  1118                              <1> %assign _SYMBOLICDUALCODE 0
  1119                              <1> %assign _SYMBOLASMDUALCODE 0
  1120                              <1> 
  1121                              <1> %else
  1122                              <1>  %error Unexpected defines
  1123                              <1> %endif
  1124                              <1> 
  1125                              <1> %ifn _SYMBOLICDUALCODE
  1126                              <1>  %assign _SYMBOLASMDUALCODE 0
  1127                              <1> %endif
  1128                              <1> 
  1129                              <1>  %if _SYMBOLIC && _DUALCODE && _SYMBOLASMDUALCODE
  1130                              <1> %idefine dual2function	dualfunction
  1131                              <1> %idefine dual2return	dualreturn
  1132                              <1> %idefine dual2distance	dualdistance
  1133                              <1> %idefine dual2call	dualcall
  1134                              <1>  %else
  1135                              <1> %idefine dual2function comment
  1136                              <1> %idefine dual2return
  1137                              <1> %idefine dual2distance near
  1138                              <1> 	%imacro dual2call 1.nolist
  1139                              <1> 	call %1
  1140                              <1> 	%endmacro
  1141                              <1>  %endif
  1142                              <1> 
  1143                              <1> 
  1144                              <1> 	numdef CHECKSECTION, 0
  1145                              <1> 	numdef CHECKCALLSECTION, _CHECKSECTION
  1146                              <1> 	numdef CHECKJMPSECTION, _CHECKSECTION
  1147                              <1> 	numdef CHECKJCCSECTION, _CHECKSECTION
  1148                              <1> 
  1149                              <1> %if _CHECKCALLSECTION
  1150                              <1> 	%imacro call 1.nolist
  1151                              <1> 	%? %1
  1152                              <1> checksection %1, %?, call
  1153                              <1> 	%endmacro
  1154                              <1> %endif
  1155                              <1> %if _CHECKJMPSECTION
  1156                              <1> 	%imacro jmp 1.nolist
  1157                              <1> 	%? %1
  1158                              <1> checksection %1, %?, jmp
  1159                              <1> 	%endmacro
  1160                              <1> %endif
  1161                              <1> %if _CHECKJCCSECTION
  1162                              <1> 	%imacro je 1.nolist
  1163                              <1> 	%? %1
  1164                              <1> checksection %1, %?, jcc
  1165                              <1> 	%endmacro
  1166                              <1> 	%imacro jne 1.nolist
  1167                              <1> 	%? %1
  1168                              <1> checksection %1, %?, jcc
  1169                              <1> 	%endmacro
  1170                              <1> 	%imacro jz 1.nolist
  1171                              <1> 	%? %1
  1172                              <1> checksection %1, %?, jcc
  1173                              <1> 	%endmacro
  1174                              <1> 	%imacro jnz 1.nolist
  1175                              <1> 	%? %1
  1176                              <1> checksection %1, %?, jcc
  1177                              <1> 	%endmacro
  1178                              <1> 
  1179                              <1> 	%imacro jb 1.nolist
  1180                              <1> 	%? %1
  1181                              <1> checksection %1, %?, jcc
  1182                              <1> 	%endmacro
  1183                              <1> 	%imacro jnb 1.nolist
  1184                              <1> 	%? %1
  1185                              <1> checksection %1, %?, jcc
  1186                              <1> 	%endmacro
  1187                              <1> 	%imacro jbe 1.nolist
  1188                              <1> 	%? %1
  1189                              <1> checksection %1, %?, jcc
  1190                              <1> 	%endmacro
  1191                              <1> 	%imacro jnbe 1.nolist
  1192                              <1> 	%? %1
  1193                              <1> checksection %1, %?, jcc
  1194                              <1> 	%endmacro
  1195                              <1> 	%imacro jc 1.nolist
  1196                              <1> 	%? %1
  1197                              <1> checksection %1, %?, jcc
  1198                              <1> 	%endmacro
  1199                              <1> 	%imacro jnc 1.nolist
  1200                              <1> 	%? %1
  1201                              <1> checksection %1, %?, jcc
  1202                              <1> 	%endmacro
  1203                              <1> 	%imacro ja 1.nolist
  1204                              <1> 	%? %1
  1205                              <1> checksection %1, %?, jcc
  1206                              <1> 	%endmacro
  1207                              <1> 	%imacro jna 1.nolist
  1208                              <1> 	%? %1
  1209                              <1> checksection %1, %?, jcc
  1210                              <1> 	%endmacro
  1211                              <1> 	%imacro jae 1.nolist
  1212                              <1> 	%? %1
  1213                              <1> checksection %1, %?, jcc
  1214                              <1> 	%endmacro
  1215                              <1> 	%imacro jnae 1.nolist
  1216                              <1> 	%? %1
  1217                              <1> checksection %1, %?, jcc
  1218                              <1> 	%endmacro
  1219                              <1> 
  1220                              <1> 	%imacro jl 1.nolist
  1221                              <1> 	%? %1
  1222                              <1> checksection %1, %?, jcc
  1223                              <1> 	%endmacro
  1224                              <1> 	%imacro jnl 1.nolist
  1225                              <1> 	%? %1
  1226                              <1> checksection %1, %?, jcc
  1227                              <1> 	%endmacro
  1228                              <1> 	%imacro jle 1.nolist
  1229                              <1> 	%? %1
  1230                              <1> checksection %1, %?, jcc
  1231                              <1> 	%endmacro
  1232                              <1> 	%imacro jnle 1.nolist
  1233                              <1> 	%? %1
  1234                              <1> checksection %1, %?, jcc
  1235                              <1> 	%endmacro
  1236                              <1> 	%imacro jg 1.nolist
  1237                              <1> 	%? %1
  1238                              <1> checksection %1, %?, jcc
  1239                              <1> 	%endmacro
  1240                              <1> 	%imacro jng 1.nolist
  1241                              <1> 	%? %1
  1242                              <1> checksection %1, %?, jcc
  1243                              <1> 	%endmacro
  1244                              <1> 	%imacro jge 1.nolist
  1245                              <1> 	%? %1
  1246                              <1> checksection %1, %?, jcc
  1247                              <1> 	%endmacro
  1248                              <1> 	%imacro jnge 1.nolist
  1249                              <1> 	%? %1
  1250                              <1> checksection %1, %?, jcc
  1251                              <1> 	%endmacro
  1252                              <1> 
  1253                              <1> 	%imacro jo 1.nolist
  1254                              <1> 	%? %1
  1255                              <1> checksection %1, %?, jcc
  1256                              <1> 	%endmacro
  1257                              <1> 	%imacro jno 1.nolist
  1258                              <1> 	%? %1
  1259                              <1> checksection %1, %?, jcc
  1260                              <1> 	%endmacro
  1261                              <1> 	%imacro jp 1.nolist
  1262                              <1> 	%? %1
  1263                              <1> checksection %1, %?, jcc
  1264                              <1> 	%endmacro
  1265                              <1> 	%imacro jnp 1.nolist
  1266                              <1> 	%? %1
  1267                              <1> checksection %1, %?, jcc
  1268                              <1> 	%endmacro
  1269                              <1> 	%imacro jpe 1.nolist
  1270                              <1> 	%? %1
  1271                              <1> checksection %1, %?, jcc
  1272                              <1> 	%endmacro
  1273                              <1> 	%imacro jnpe 1.nolist
  1274                              <1> 	%? %1
  1275                              <1> checksection %1, %?, jcc
  1276                              <1> 	%endmacro
  1277                              <1> 	%imacro jpo 1.nolist
  1278                              <1> 	%? %1
  1279                              <1> checksection %1, %?, jcc
  1280                              <1> 	%endmacro
  1281                              <1> 	%imacro jnpo 1.nolist
  1282                              <1> 	%? %1
  1283                              <1> checksection %1, %?, jcc
  1284                              <1> 	%endmacro
  1285                              <1> 	%imacro js 1.nolist
  1286                              <1> 	%? %1
  1287                              <1> checksection %1, %?, jcc
  1288                              <1> 	%endmacro
  1289                              <1> 	%imacro jns 1.nolist
  1290                              <1> 	%? %1
  1291                              <1> checksection %1, %?, jcc
  1292                              <1> 	%endmacro
  1293                              <1> 
  1294                              <1> 	%imacro jcxz 1.nolist
  1295                              <1> 	%? %1
  1296                              <1> checksection %1, %?, jcc
  1297                              <1> 	%endmacro
  1298                              <1> 	%imacro jecxz 1.nolist
  1299                              <1> 	%? %1
  1300                              <1> checksection %1, %?, jcc
  1301                              <1> 	%endmacro
  1302                              <1> 	%imacro loop 1.nolist
  1303                              <1> 	%? %1
  1304                              <1> checksection %1, %?, jcc
  1305                              <1> 	%endmacro
  1306                              <1> 	%imacro loopz 1.nolist
  1307                              <1> 	%? %1
  1308                              <1> checksection %1, %?, jcc
  1309                              <1> 	%endmacro
  1310                              <1> 	%imacro loopnz 1.nolist
  1311                              <1> 	%? %1
  1312                              <1> checksection %1, %?, jcc
  1313                              <1> 	%endmacro
  1314                              <1> 	%imacro loope 1.nolist
  1315                              <1> 	%? %1
  1316                              <1> checksection %1, %?, jcc
  1317                              <1> 	%endmacro
  1318                              <1> 	%imacro loopne 1.nolist
  1319                              <1> 	%? %1
  1320                              <1> checksection %1, %?, jcc
  1321                              <1> 	%endmacro
  1322                              <1> %endif
  1323                              <1> 
  1324                              <1> 	%imacro checksection 3.nolist
  1325                              <1> %push
  1326                              <1>  %defstr %$string %1
  1327                              <1>  %substr %$shortword %$string 1, 5
  1328                              <1>  %substr %$shortsep %$string 6, 1
  1329                              <1>  %substr %$nearword %$string 1, 4
  1330                              <1>  %substr %$nearsep %$string 5, 1
  1331                              <1>  %substr %$farword %$string 1, 3
  1332                              <1>  %substr %$farsep %$string 4, 1
  1333                              <1>  %assign %$isshort 0
  1334                              <1>  %ifidni %$shortword, "short"
  1335                              <1>   %if %$shortsep == 32 || %$shortsep == 9
  1336                              <1>    %assign %$isshort 1
  1337                              <1>    %substr %$string %$string 7, -1
  1338                              <1>   %elif %$shortsep == '['
  1339                              <1>    %assign %$isshort 1
  1340                              <1>    %substr %$string %$string 6, -1
  1341                              <1>   %endif
  1342                              <1>  %endif
  1343                              <1>  %assign %$isnear 0
  1344                              <1>  %ifidni %$nearword, "near"
  1345                              <1>   %if %$nearsep == 32 || %$nearsep == 9
  1346                              <1>    %assign %$isnear 1
  1347                              <1>    %substr %$string %$string 6, -1
  1348                              <1>   %elif %$nearsep == '['
  1349                              <1>    %assign %$isnear 1
  1350                              <1>    %substr %$string %$string 5, -1
  1351                              <1>   %endif
  1352                              <1>  %endif
  1353                              <1>  %assign %$isfar 0
  1354                              <1>  %ifidni %$farword, "far"
  1355                              <1>   %if %$farsep == 32 || %$farsep == 9
  1356                              <1>    %assign %$isfar 1
  1357                              <1>    %substr %$string %$string 5, -1
  1358                              <1>   %elif %$farsep == '['
  1359                              <1>    %assign %$isfar 1
  1360                              <1>    %substr %$string %$string 4, -1
  1361                              <1>   %endif
  1362                              <1>  %endif
  1363                              <1> 
  1364                              <1>  %deftok %$token %$string
  1365                              <1> 
  1366                              <1>  %assign %$size 2
  1367                              <1>  %assign %$isreg 0
  1368                              <1>  %assign %$exit 0
  1369                              <1>  %rep 2
  1370                              <1>   %ifn %$exit
  1371                              <1>    %if %$size == 2
  1372                              <1>     %define %$regnames "ax  cx  dx  bx  sp  bp  si  di  "
  1373                              <1>    %elif %$size == 4
  1374                              <1>     %define %$regnames "eax ecx edx ebx esp ebp esi edi "
  1375                              <1>    %endif
  1376                              <1>    %assign %$index 0
  1377                              <1>    %rep 8
  1378                              <1>     %ifn %$exit
  1379                              <1>      %substr %$reg %$regnames %$index * 4 + 1, 4
  1380                              <1>      %deftok %$reg %$reg
  1381                              <1>      %ifnempty %$reg
  1382                              <1>       %ifidni %$reg, %$token
  1383                              <1>        %assign %$isreg %$size
  1384                              <1>        %assign %$exit 1
  1385                              <1>        %exitrep
  1386                              <1>       %endif
  1387                              <1>      %endif
  1388                              <1>     %endif
  1389                              <1>     %assign %$index %$index + 1
  1390                              <1>    %endrep
  1391                              <1>    %if %$exit
  1392                              <1>     %exitrep
  1393                              <1>    %endif
  1394                              <1>    %assign %$size %$size * 2
  1395                              <1>   %endif
  1396                              <1>  %endrep
  1397                              <1> 
  1398                              <1>  %assign %$ismulti 0
  1399                              <1>  %assign %$ismem 0
  1400                              <1>  %strlen %$length %$string
  1401                              <1>  %assign %$ii 0
  1402                              <1>  %rep %$length
  1403                              <1>   %substr %$point %$string %$ii + 1, 1
  1404                              <1>   %if %$point == 32 || %$point == 9
  1405                              <1>    %assign %$ismulti 1
  1406                              <1>   %endif
  1407                              <1>   %ifidn %$point, '['
  1408                              <1>    %assign %$ismem 1
  1409                              <1>   %endif
  1410                              <1>   %assign %$ii %$ii + 1
  1411                              <1>  %endrep
  1412                              <1> 
  1413                              <1>  %assign %$islocal 0
  1414                              <1>  %substr %$point %$string 1, 1
  1415                              <1>  %substr %$prefix %$string 1, 3
  1416                              <1>  %ifidn %$point, '.'
  1417                              <1>   %ifnidn %$prefix, '..@'
  1418                              <1>    %assign %$islocal 1
  1419                              <1>   %endif
  1420                              <1>  %endif
  1421                              <1> 
  1422                              <1>  %if %$isreg
  1423                              <1>   %if %$isreg == 4
  1424                              <1>    %warning 32-bit reg %3: %2 %1
  1425                              <1>   %else
  1426                              <1>    %warning 16-bit reg %3: %2 %1
  1427                              <1>   %endif
  1428                              <1>  %elif %$ismulti || %$ismem
  1429                              <1>   %warning not single %3: %2 %1
  1430                              <1>  %elif %$islocal
  1431                              <1>   %ifidni %3, call
  1432                              <1>    %warning local %3: %2 %1
  1433                              <1>   %endif
  1434                              <1>  %elifdef SECTION_OF_%[%$token]
  1435                              <1>   %ifnidni SECTION_OF_%[%$token], _CURRENT_SECTION
  1436                              <1>    %error Symbol %$token called wrongly: section_of=SECTION_OF_%[%$token], current=_CURRENT_SECTION
  1437                              <1>   %endif
  1438                              <1>  %endif
  1439                              <1> %pop
  1440                              <1> 	%endmacro
  1441                              <1> 
  1442                              <1> 
  1443                              <1> 	struc MEMREF
  1444 00000000 ????????            <1> mrLinear:		resd 1
  1445 00000004 ????????            <1> mrOffset:		resd 1
  1446 00000008 ????                <1> mrSegmentSelector:	resw 1
  1447 0000000A ????                <1> mrFlags:		resw 1
  1448 0000000C ????????            <1> mrLength:		resd 1
  1449                              <1> 	endstruc
  1450                              <1> 
  1451                              <1> 		; Currently only direct branches are allowed when
  1452                              <1> 		;  disassembling from the U command. (That is,
  1453                              <1> 		;  [disflags] & DIS_F_SHOW is clear.) All other
  1454                              <1> 		;  types of references depend on segment registers
  1455                              <1> 		;  and sometimes base and index registers, which are
  1456                              <1> 		;  not known ahead of time. They are only known for
  1457                              <1> 		;  the R command's disassembly. (DIS_F_SHOW set.)
  1458                              <1> 		; (When a mov ss or pop to ss will change ss, a
  1459                              <1> 		;  subsequent instruction using ss will not be
  1460                              <1> 		;  disassembled with the correct ss value.
  1461                              <1> 		;  This should be rare though. We may at a later
  1462                              <1> 		;  point detect this condition and not display
  1463                              <1> 		;  references with ss then.)
  1464                              <1> mrfBranchDirect:	equ    1
  1465                              <1> mrfMem:			equ    2
  1466                              <1> mrfMemSource:		equ    4
  1467                              <1> mrfMemDest:		equ    8
  1468                              <1> mrfA32:			equ   10h
  1469                              <1> mrfString:		equ   20h
  1470                              <1> mrfStringSource:	equ   40h
  1471                              <1> mrfStringDest:		equ   80h
  1472                              <1> mrfUsesSS:		equ  100h
  1473                              <1> mrfBranchIndirect:	equ  200h
  1474                              <1> 
  1475                              <1> 
  1476                              <1> %if _VXCHG && ! _VXCHGBIOS
  1477                              <1> 	struc XMSM
  1478 00000000 ????????            <1> .size_:		resd 1
  1479 00000004 ????                <1> .srchdl:	resw 1
  1480 00000006 ????????            <1> .srcadr:	resd 1
  1481 0000000A ????                <1> .dsthdl:	resw 1
  1482 0000000C ????????            <1> .dstadr:	resd 1
  1483                              <1> 	endstruc
  1484                              <1> %endif
  1485                              <1> 
  1486                              <1> 
  1487                              <1> 	; doscall is used by symbols.asm and run.asm and in
  1488                              <1> 	;  cmd3_close_handle, so define it prior
  1489                              <1> %if _PM && _NOEXTENDER
  1490                              <1> %macro doscall 0
  1491                              <1> 	nearcall _doscall
  1492                              <1> %endmacro
  1493                              <1> %else
  1494                              <1> 		; When we don't support non-extended DPMI all Int21 calls
  1495                              <1> 		; are either in Real Mode or extended (all are real Int21
  1496                              <1> 		; instructions).
  1497                              <1> %macro doscall 0
  1498                              <1> 	int 21h
  1499                              <1> %endmacro
  1500                              <1> %endif
  1501                              <1> 
  1502                              <1> 
  1503                              <1> %if _LINK
  1504                              <1> %imacro wlcalc 1-2.nolist
  1505                              <1> %deftok %%filenametoken __FILE__
  1506                              <1>  global wlcalc_%1?%[%%l]%[%%filenametoken]
  1507                              <1> wlcalc_%1?%[%%l]%[%%filenametoken]: %2
  1508                              <1> %endmacro
  1509                              <1> %endif
  1510                              <1> 
  1511                              <1> %if _BOOTLDR && _LINK
  1512                              <1> %macro lot_equate 2.nolist
  1513                              <1> LOAD_%2 equ %1
  1514                              <1> %endmacro
  1515                              <1> 
  1516                              <1> 	lot_equate    1, SET_DL_UNIT
  1517                              <1> 	lot_equate    2, SET_BL_UNIT
  1518                              <1> 	lot_equate    4, SET_SIDI_CLUSTER
  1519                              <1> 	lot_equate  10h, SET_DSSI_DPT
  1520                              <1> 	lot_equate  20h, PUSH_DPT
  1521                              <1> 	lot_equate  40h, DATASTART_HIDDEN
  1522                              <1> 	lot_equate  80h, SET_AXBX_DATASTART
  1523                              <1> 	lot_equate 100h, SET_DSBP_BPB
  1524                              <1> 	lot_equate 200h, LBA_SET_TYPE
  1525                              <1> 	lot_equate 400h, MESSAGE_TABLE
  1526                              <1> 	lot_equate 800h, SET_AXBX_ROOT_HIDDEN
  1527                              <1> 	lot_equate 1000h, CMDLINE
  1528                              <1> 	lot_equate 2000h, NO_BPB
  1529                              <1> 	lot_equate 4000h, SET_DSSI_PARTINFO
  1530                              <1> %endif
  1531                              <1> 
  1532                              <1> %if _HELP_COMPRESSED
  1533                              <1>  %assign NONCOMPRESSEDFLAG 1
  1534                              <1> %else
  1535                              <1>  %assign NONCOMPRESSEDFLAG 0
  1536                              <1> %endif
  1537                              <1> 
  1538                              <1> [list +]
  1539                              <1> 
  1540                              <1> %if _LINK
  1541                              <1>  %if _ONLY386
  1542                              <1> 	cpu 386
  1543                              <1>  %else
  1544                              <1> 	cpu 8086
  1545                              <1>  %endif
  1546                              <1> 
  1547                              <1> auxbuff_size: equ (_AUXBUFFSIZE+15) & ~15
  1548                              <1> 	endarea auxbuff, 1
  1549                              <1> 
  1550                              <1> auxbuff_max_size: equ (_AUXBUFFMAXSIZE+15) & ~15
  1551                              <1> 	endarea auxbuff_max, 1
  1552                              <1> 
  1553                              <1> %if _INIT_MAX
  1554                              <1>  auxbuff_init_size: equ (_AUXBUFFMAXSIZE+15) & ~15
  1555                              <1> %else
  1556                              <1>  auxbuff_init_size: equ (_AUXBUFFSIZE+15) & ~15
  1557                              <1> %endif
  1558                              <1> 	endarea auxbuff_init, 1
  1559                              <1> 
  1560                              <1>  %include "options.mac"
     1                              <2> 
     2                              <2> %if 0
     3                              <2> 
     4                              <2> lDebug options and internal flags
     5                              <2> 
     6                              <2> Copyright (C) 2008-2025 E. C. Masloch
     7                              <2> 
     8                              <2> Usage of the works is permitted provided that this
     9                              <2> instrument is retained with the works, so that any entity
    10                              <2> that uses the works is notified of this instrument.
    11                              <2> 
    12                              <2> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    13                              <2> 
    14                              <2> %endif
    15                              <2> 
    16                              <2> 
    17                              <2> dispregs32	equ	  1	; RX: 32-bit register display (R, T/P/G)
    18                              <2> traceints	equ	  2	; TM: trace into interrupts (T)
    19                              <2> cpdepchars	equ	  4	; allow dumping of CP-dependent characters (D, DX)
    20                              <2> fakeindos	equ	  8	; always assume InDOS flag non-zero (all)
    21                              <2> nonpagingdevice	equ	 10h	; disallow paged output with [more] prompt (all exc. P, T)
    22                              <2> 	; This option was never used anywhere:
    23                              <2> ; pagingdevice	equ	 20h	; allow paged output with [more] prompt (all exc. P, T)
    24                              <2> 				; paged output is by default on if the output device is StdOut, else off
    25                              <2> hexrn		equ	 40h	; display raw hexadecimal content of FPU registers (RN)
    26                              <2> ;novdd		equ	 80h	; don't use a registered NTVDM VDD (L, W)
    27                              <2> nondospaging	equ	100h	; paging: don't use DOS for input when waiting for a key
    28                              <2> opt1_86mnohlt	equ	200h	; (86 Mode:) HLT doesn't work, don't use it
    29                              <2> biosidles	equ	400h	; don't idle with HLT or Int2F.1680, only call BIOS Int16.00
    30                              <2> opt_usegetinput	equ	800h	; use getinput for int 21h interactive input
    31                              <2> use_si_units	equ    1000h	; in disp_*_size use SI units (kB = 1000, etc)
    32                              <2> use_jedec_units	equ    2000h	; in disp_*_size use JEDEC units (kB = 1024)
    33                              <2> enable_serial	equ    4000h	; enable serial I/O (preferred over DOS or BIOS terminal)
    34                              <2> int8_disable_serial equ	   8000h	; disable serial I/O when breaking due to intr8
    35                              <2> gg_do_not_skip_bp equ	 1_0000h	; gg: do not skip a breakpoint (bb or gg)
    36                              <2> gg_no_autorepeat equ	 2_0000h	; gg: do not auto-repeat
    37                              <2> tp_do_not_skip_bp equ	 4_0000h	; T/TP/P: do not skip a (bb) breakpoint
    38                              <2> gg_bb_hit_no_repeat equ	 8_0000h	; gg: do not auto-repeat after bb hit
    39                              <2> tp_bb_hit_no_repeat equ	10_0000h	; T/TP/P: do not auto-repeat after bb hit
    40                              <2> gg_unexpected_no_repeat equ 20_0000h	; gg: do not auto-repeat after unexpectedinterrupt
    41                              <2> tp_unexpected_no_repeat equ 40_0000h	; T/TP/P
    42                              <2> ss_no_dump:		equ 80_0000h
    43                              <2> %if _SYMBOLIC
    44                              <2> dd_no_blanks_sym:	equ 100_0000h
    45                              <2> zz_no_pm_xms:		equ 200_0000h
    46                              <2> %endif
    47                              <2> rr_disasm_no_rept:	equ 1000_0000h
    48                              <2> rr_disasm_no_show:	equ 2000_0000h
    49                              <2> opt_cmdline_quiet_input:equ 4000_0000h
    50                              <2> opt_cmdline_quiet_output:equ 8000_0000h
    51                              <2> %if _SYMBOLIC
    52                              <2> DEFAULTOPTIONS	equ zz_no_pm_xms
    53                              <2> %else
    54                              <2> DEFAULTOPTIONS	equ 0
    55                              <2> %endif
    56                              <2> 
    57                              <2> 
    58                              <2> opt2_db_header:		equ 1
    59                              <2> opt2_db_trailer:	equ 2
    60                              <2> opt2_dw_header:		equ 10h
    61                              <2> opt2_dw_trailer:	equ 20h
    62                              <2> opt2_dd_header:		equ 100h
    63                              <2> opt2_dd_trailer:	equ 200h
    64                              <2> opt2_getinput_dpmi:	equ 800h
    65                              <2> opt2_hh_compat:		equ 1000h
    66                              <2> opt2_getc_idle:		equ 2000h
    67                              <2> opt2_getc_idle_dpmi:	equ 4000h
    68                              <2> opt2_re_cancel_tpg:	equ 8000h
    69                              <2> opt2_nn_compat:		equ 1_0000h
    70                              <2> opt2_nn_capitalise:	equ 2_0000h
    71                              <2> %if _MS_0RANGE_COMPAT
    72                              <2> opt2_0range_compat:	equ 4_0000h
    73                              <2> %endif
    74                              <2> opt2_rr16_compat:	equ 8_0000h
    75                              <2> opt2_r_prompt_compat:	equ 10_0000h
    76                              <2> opt2_r_separate:	equ 20_0000h
    77                              <2> opt2_r_linebreak_always:equ 40_0000h
    78                              <2> opt2_dpminohlt:		equ 8000_0000h	; DPMI doesn't like hlt
    79                              <2> DEFAULTOPTIONS2	equ opt2_dw_header | opt2_dd_header | opt2_getc_idle_dpmi | opt2_dpminohlt
    80                              <2> 
    81                              <2> 
    82                              <2> opt3_tt_no_paging:	equ 1
    83                              <2> opt3_tp_no_paging:	equ 2
    84                              <2> opt3_pp_no_paging:	equ 4
    85                              <2> opt3_gg_no_paging:	equ 8
    86                              <2> opt3_silence_paging_set:equ 100h
    87                              <2> opt3_silence_paging_on:	equ 200h
    88                              <2> opt3_paging_rc:		equ 1000h
    89                              <2> opt3_paging_yy:		equ 2000h
    90                              <2> opt3_paging_re:		equ 4000h
    91                              <2> opt3_r_highlight_diff:	equ 10000h
    92                              <2> opt3_r_highlight_dumb:	equ 20000h
    93                              <2> opt3_r_highlight_full:	equ 40000h
    94                              <2> opt3_r_highlight_eip:	equ 80000h
    95                              <2> %if _PM
    96                              <2> opt3_ss_b_bit_set:	equ   10_0000h
    97                              <2>  %if _BREAK_INSTALLDPMI
    98                              <2> opt3_break_installdpmi:	equ   20_0000h
    99                              <2>  %endif
   100                              <2> %endif
   101                              <2> %if _DHIGHLIGHT
   102                              <2> opt3_d_highlight:	equ   80_0000h
   103                              <2> %endif
   104                              <2> %if _GETLINEHIGHLIGHT
   105                              <2> opt3_getline_highlight:	equ  100_0000h
   106                              <2> %endif
   107                              <2> opt3_no_idle_2F:	equ  200_0000h
   108                              <2> %if _DELAY_BEFORE_BP
   109                              <2> opt3_delay_before_bp:	equ  400_0000h
   110                              <2> %endif
   111                              <2> opt3_no_call_amis:	equ  800_0000h
   112                              <2> opt3_disable_autorepeat:equ 1000_0000h
   113                              <2> opt3_check_ctrlc_keyb:	equ 2000_0000h
   114                              <2> opt3_check_ctrlc_0bh:	equ 4000_0000h
   115                              <2> opt3_tsr_quit_leave_tf:	equ 8000_0000h
   116                              <2> DEFAULTOPTIONS3	equ opt3_tt_no_paging | opt3_tp_no_paging 		| opt3_pp_no_paging | opt3_gg_no_paging 		| opt3_check_ctrlc_keyb | opt3_check_ctrlc_0bh
   119                              <2> 
   120                              <2> 
   121                              <2> opt4_int_2F_hook:	equ 2
   122                              <2> opt4_int_08_hook:	equ 4
   123                              <2> opt4_int_2D_hook:	equ 8
   124                              <2> %if _CATCHINTFAULTCOND
   125                              <2> opt4_int_fault_hook:	equ 10h
   126                              <2> %endif
   127                              <2> opt4_int_serial_force:	equ 1_0000h
   128                              <2> opt4_int_2F_force:	equ 2_0000h
   129                              <2> opt4_int_08_force:	equ 4_0000h
   130                              <2> opt4_int_2D_force:	equ 8_0000h
   131                              <2> %if _CATCHINT0D
   132                              <2> opt4_int_0D_force:	equ   10_0000h
   133                              <2> %endif
   134                              <2> %if _CATCHINT0C
   135                              <2> opt4_int_0C_force:	equ   20_0000h
   136                              <2> %endif
   137                              <2> opt4_int_00_force:	equ  100_0000h
   138                              <2> opt4_int_01_force:	equ  200_0000h
   139                              <2> opt4_int_03_force:	equ  400_0000h
   140                              <2> opt4_int_06_force:	equ  800_0000h
   141                              <2> opt4_int_18_force:	equ 1000_0000h
   142                              <2> opt4_int_19_force:	equ 2000_0000h
   143                              <2> opt4_int_09_force:	equ 4000_0000h	; not used at the same time as 15h
   144                              <2> opt4_int_15_force:	equ 4000_0000h	; not used at the same time as 09h
   145                              <2> opt4_int_07_force:	equ 8000_0000h
   146                              <2> DEFAULTOPTIONS4 equ opt4_int_2F_hook
   147                              <2> 
   148                              <2> 
   149                              <2> %if _VXCHG
   150                              <2> opt6_vv_mode:		equ 1
   151                              <2> opt6_vv_keep:		equ 2
   152                              <2> opt6_vv_int16:		equ 10h
   153                              <2>  %if _VXCHG_DEFAULT_ON
   154                              <2> DEFAULTOPTIONS6 equ opt6_share_serial_irq | opt6_vv_mode
   155                              <2>  %else
   156                              <2> DEFAULTOPTIONS6 equ opt6_share_serial_irq
   157                              <2>  %endif
   158                              <2> %else
   159                              <2> DEFAULTOPTIONS6 equ opt6_share_serial_irq
   160                              <2> %endif
   161                              <2> %if _DEBUG
   162                              <2> opt6_debug_exception_late:	equ  20h
   163                              <2> opt6_debug_exception_early:	equ  40h
   164                              <2>  %if _DEBUG_COND
   165                              <2> opt6_debug_exception:	equ  80h
   166                              <2> opt6_debug_mode:	equ 100h
   167                              <2>  %endif
   168                              <2> %endif
   169                              <2> opt6_bios_output:	equ 200h
   170                              <2> opt6_flat_binary:	equ 400h
   171                              <2> opt6_big_stack:		equ 800h
   172                              <2> opt6_40_columns:	equ 1000h
   173                              <2> opt6_40_indent_odd:	equ 2000h
   174                              <2> opt6_40_dash:		equ 4000h
   175                              <2> opt6_share_serial_irq:	equ 1_0000h
   176                              <2> opt6_serial_EOI_call:	equ 2_0000h
   177                              <2> %if _RH
   178                              <2> opt6_rh_mode:		equ 10_0000h
   179                              <2> %endif
   180                              <2> %if _DEBUG
   181                              <2> opt6_debug_putrunint_early:	equ  40_0000h
   182                              <2>  %if _DEBUG_COND
   183                              <2> opt6_debug_putrunint:		equ  80_0000h
   184                              <2>  %endif
   185                              <2> %endif
   186                              <2> opt6_bios_io:		equ 100_0000h
   187                              <2> opt6_immasm_display_uu:	equ 200_0000h
   188                              <2> opt6_immasm_debug:	equ 400_0000h
   189                              <2> opt6_immasm_flag:	equ 800_0000h
   190                              <2> opt6_immasm_nobranch:	equ 1000_0000h
   191                              <2> opt6_r_flags_style2:	equ 2000_0000h
   192                              <2> opt6_r_flags_style3:	equ 4000_0000h
   193                              <2> opt6_r_linebreak_conditional:	equ 8000_0000h
   194                              <2> 
   195                              <2> 
   196                              <2> DEFAULTOPTIONS7 equ opt7_no_tsr_ll
   197                              <2> opt7_no_free_oneshot_eld:	equ 1
   198                              <2> opt7_debug_optional_link:	equ 2
   199                              <2> opt7_quiet_install:		equ 4
   200                              <2> opt7_quick_run:			equ 8
   201                              <2> opt7_houdini:			equ 100h
   202                              <2> opt7_debug_run:			equ 200h
   203                              <2> opt7_no_ensure:			equ 1000h
   204                              <2> opt7_no_tsr_ll:			equ 2000h
   205                              <2> 
   206                              <2> 
   207                              <2> oldpacket	equ	  1	; Int25/Int26 packet method available (L, W)
   208                              <2> newpacket	equ	  2	; Int21.7305 packet method available (L, W)
   209                              <2> ntpacket	equ	  4	; VDD registered and usable (L, W)
   210                              <2> pagedcommand	equ	  8	; allows paging in puts
   211                              <2> notstdinput	equ	 10h	; DEBUG's StdIn isn't a device with StdIn bit (is file or other device)
   212                              <2> inputfile	equ	 20h	; DEBUG's StdIn is a file, notstdinput also set
   213                              <2> notstdoutput	equ	 40h	; DEBUG's StdOut isn't a device with StdOut bit (is file or other device)
   214                              <2> outputfile	equ	  80h	; DEBUG's StdOut is a file, notstdoutput also set
   215                              <2> hooked2F	equ	 100h	; Int2F hooked
   216                              <2> nohook2F	equ	 200h	; don't hook Int2F.1687 (required for Win9x, DosEmu?)
   217                              <2> unused_dif1_dpminohlt equ 400h	; DPMI doesn't like hlt
   218                              <2> protectedmode	equ	 800h	; in (DPMI) protected mode
   219                              <2> debuggeeA20	equ	1000h	; state of debuggee's A20
   220                              <2> debuggerA20	equ	2000h	; state of debugger's A20 (will be on if possible)
   221                              <2> nodosloaded	equ	4000h	; No DOS loaded currently (Boot loader mode)
   222                              <2> has386		equ	8000h	; CPU is a 386
   223                              <2> usecharcounter	equ    1_0000h	; don't reset charcounter between calls to puts
   224                              <2> runningnt	equ    2_0000h	; running in NTVDM
   225                              <2> canswitchmode	equ    4_0000h	; can switch modes (auxbuff large enough, DPMI mode switch set up)
   226                              <2> modeswitched	equ    8_0000h	; switched mode (now in the mode that we weren't entered in)
   227                              <2> promptwaiting	equ   10_0000h	; puts: any more output needs to display a prompt first
   228                              <2> switchbuffer	equ   20_0000h	; mode switch needs a buffer (auxbuff)
   229                              <2> tsrmode		equ   40_0000h	; in TSR mode; DPI and DPP not valid
   230                              <2> attachedterm	equ   80_0000h	; the attached process terminated
   231                              <2> runningdosemu	equ  100_0000h	; running in dosemu
   232                              <2> ; load_is_ldp	equ  200_0000h	; boot load: partition specified as "ldp"
   233                              <2> tt_while:	equ  400_0000h	; tt: while condition specified
   234                              <2> tt_p:		equ  800_0000h	; tt: proceed past repeated string instructions
   235                              <2> tt_silent_mode:	equ 1000_0000h	; tt: run should be silent (dump at end)
   236                              <2> tt_silence:	equ 2000_0000h	; tt: silent writing (write to auxbuff instead)
   237                              <2> tt_no_bb:	equ 4000_0000h	; tt: do not use bb breakpoints
   238                              <2> tt_no_bb_first:	equ 8000_0000h	; tt: do not use bb breakpoints at first
   239                              <2> 
   240                              <2> 
   241                              <2> dif2_gg_is_first:	equ   1
   242                              <2> dif2_gg_skip_non_cseip:	equ   2
   243                              <2> dif2_gg_skip_cseip:	equ   4
   244                              <2> dif2_gg_is_gg:		equ   8
   245                              <2> dif2_gg_first_detected:	equ  10h
   246                              <2> dif2_gg_again:		equ  20h
   247                              <2> dif2_tpg_proceed_bp_set:equ  40h
   248                              <2> dif2_tpg_keep_proceed_bp: equ 80h
   249                              <2> dif2_tpg_have_bp:	equ 100h
   250                              <2> dif2_tpg_adjusted_cseip:equ 200h
   251                              <2> dif2_tpg_do_not_adjust:	equ 400h
   252                              <2> dif2_bp_failure:	equ 800h
   253                              <2> dif2_is_pp:		equ 1000h
   254                              <2> %if _SYMBOLIC
   255                              <2> dif2_createdprocess:	equ 800_0000h	; created empty debuggee process
   256                              <2> dif2_sym_req_xms:	equ 2000h
   257                              <2> dif2_sym_req_86mm:	equ 4000h
   258                              <2> dif2_sym_req_mask equ dif2_sym_req_86mm | dif2_sym_req_xms
   259                              <2> dif2_no_pm_xms:		equ 1_0000h
   260                              <2> dif2_xms_detection_done:equ 2_0000h
   261                              <2> %endif
   262                              <2> %if _INPUT_FILE_HANDLES
   263                              <2> dif2_input_file:	equ 10_0000h
   264                              <2> dif2_closed_input_file:	equ 20_0000h
   265                              <2> %endif
   266                              <2> dif2_did_getline_file:	equ 40_0000h
   267                              <2> %if _SYMBOLIC
   268                              <2> dif2_poison:		equ 80_0000h
   269                              <2> %endif
   270                              <2> dif2_boot_loaded_kernel:equ 100_0000h
   271                              <2> %if _INPUT_FILE_BOOT
   272                              <2> dif2_input_file_boot:	equ 200_0000h
   273                              <2> dif2_closed_input_file_boot:	equ 400_0000h
   274                              <2> %endif
   275                              <2> dif2_in_silence_dump:	equ 1000_0000h
   276                              <2> dif2_int31_segment:	equ 2000_0000h
   277                              <2> dif2_nn_compat:		equ 4000_0000h
   278                              <2> dif2_nn_capitalise:	equ 8000_0000h
   279                              <2> 
   280                              <2> 
   281                              <2> dif3_load_is_ldp:	equ 1	; boot load: partition specified as "ldp"
   282                              <2> dif3_load_is_sdp:	equ 2	; boot load: partition specified as "sdp"
   283                              <2> dif3_load_is_ydp:	equ 4	; boot load: partition specified as "ydp"
   284                              <2> dif3_load_is_dp:	equ dif3_load_is_ldp 				| dif3_load_is_sdp 				| dif3_load_is_ydp
   287                              <2> dif3_load_dir_dir:	equ 8
   288                              <2> dif3_input_terminal_override:	equ 10h
   289                              <2> dif3_input_serial_override:	equ 20h
   290                              <2> dif3_if_not:		equ 40h
   291                              <2> dif3_partition_changed:	equ 80h
   292                              <2> ;
   293                              <2> dif3_input_cmdline:	equ 100h; input reading from cmdline_buffer
   294                              <2> dif3_input_cmdline_closed: equ 200h
   295                              <2> dif3_at_line_end:	equ 400h
   296                              <2> dif3_quiet_input_single:equ 800h
   297                              <2> dif3_quiet_output:	equ 1000h
   298                              <2> dif3_unquiet_error:	equ 2000h
   299                              <2> dif3_unquiet_prompt:	equ 4000h
   300                              <2> dif3_unquiet:		equ dif3_unquiet_error | dif3_unquiet_prompt
   301                              <2> dif3_return_eof:	equ 8000h
   302                              <2> dif3_highlighting:	equ 1_0000h
   303                              <2> dif3_do_not_highlight:	equ 2_0000h
   304                              <2> dif3_int10_highlight:	equ 2_0000h
   305                              <2> dif3_nosymbols_1:	equ 4_0000h
   306                              <2> dif3_nosymbols_2:	equ 8_0000h
   307                              <2> %if _PM
   308                              <2> dif3_ss_b_bit_set:	equ  10_0000h
   309                              <2> %endif
   310                              <2> dif3_gotint19:		equ  20_0000h
   311                              <2> dif3_prior_pm:		equ  40_0000h
   312                              <2> %if _DELAY_BEFORE_BP
   313                              <2> dif3_delayed		equ  80_0000h
   314                              <2> %endif
   315                              <2> dif3_input_re:		equ 100_0000h	; input reading from re_buffer
   316                              <2> dif3_input_re_closed:	equ 200_0000h
   317                              <2> dif3_accept_getrange_0:	equ 400_0000h
   318                              <2> %if _INPUT_FILE_HANDLES || _INPUT_FILE_BOOT
   319                              <2> dif3_in_if:		equ 800_0000h
   320                              <2> %endif
   321                              <2> dif3_auxbuff_guarded_1:	equ 1000_0000h
   322                              <2> dif3_auxbuff_guarded_2:	equ 2000_0000h
   323                              <2> dif3_auxbuff_guarded_3:	equ 4000_0000h
   324                              <2> dif3_sss_is_reverse:	equ 8000_0000h
   325                              <2> 
   326                              <2> 
   327                              <2> dif4_int_serial_hooked:	equ 1
   328                              <2> dif4_int_2F_hooked:	equ 2
   329                              <2> dif4_int_08_hooked:	equ 4
   330                              <2> dif4_int_2D_hooked:	equ 8
   331                              <2> %if _CATCHINTFAULTCOND && _CATCHINT0D
   332                              <2> dif4_int_0D_hooked:	equ 10h
   333                              <2> %endif
   334                              <2> %if _CATCHINTFAULTCOND && _CATCHINT0C
   335                              <2> dif4_int_0C_hooked:	equ 20h
   336                              <2> %endif
   337                              <2> %if _LOADER
   338                              <2> dif4_int_18_hooked:	equ 1000h
   339                              <2> dif4_int_19_hooked:	equ 2000h
   340                              <2> %endif
   341                              <2> 
   342                              <2> 
   343                              <2> %if _VXCHG
   344                              <2> dif6_vv_mode:		equ 1
   345                              <2> %endif
   346                              <2> dif6_in_hook2F:		equ 2
   347                              <2> dif6_in_amis_hook2F:	equ 4
   348                              <2> dif6_debug_mode:	equ 100h
   349                              <2> dif6_locked:		equ 200h
   350                              <2> dif6_mcp:		equ 400h
   351                              <2> %if _RH
   352                              <2> dif6_rh_mode_was:	equ  8_0000h
   353                              <2> dif6_rh_mode:		equ 10_0000h
   354                              <2> dif6_rh_mode_2:		equ 20_0000h
   355                              <2> %endif
   356                              <2> dif6_device_mode:	equ 40_0000h
   357                              <2> dif6_cpdepchars:	equ 80_0000h
   358                              <2> %if _IMMASM
   359                              <2> dif6_immasm_no_output:	equ 100_0000h
   360                              <2> dif6_immasm:		equ 200_0000h
   361                              <2> dif6_immasm_rel8:	equ 400_0000h
   362                              <2> %endif
   363                              <2> 
   364                              <2> 
   365                              <2> disasm_lowercase	equ 1
   366                              <2> disasm_commablank	equ 2
   367                              <2> disasm_nasm		equ 4
   368                              <2> disasm_lowercase_refmem:equ 8
   369                              <2> disasm_show_short:	equ 10h
   370                              <2> disasm_show_near:	equ 20h
   371                              <2> disasm_show_far:	equ 40h
   372                              <2> disasm_nec:		equ 80h
   373                              <2> disasm_40_columns:	equ 100h
   374                              <2> disasm_no_indent:	equ 200h
   375                              <2> disasm_msdebug_mnemonofs: equ 400h
   376                              <2> disasm_a16_memref:	equ 1000h
   377                              <2> disasm_a32_memref:	equ 2000h
   378                              <2> disasm_a16_string:	equ 4000h
   379                              <2> disasm_a32_string:	equ 8000h
   380                              <2> disasm_hide_modrm:	equ 10000h
   381                              <2> disasm_asize_loop_nasm:	equ 20000h
   382                              <2> disasm_modrm_always:	equ 40000h
   383                              <2> DEFAULTASMOPTIONS equ disasm_lowercase|disasm_commablank|disasm_nasm 	| disasm_a16_memref | disasm_a32_memref 	| disasm_a16_string | disasm_a32_string
   386                              <2> 
   387                              <2> 	; serial_flags values
   388                              <2> sf_init_done:	equ 1
   389                              <2> sf_ctrl_c:	equ 2
   390                              <2> sf_double_ctrl_c:	equ 4
   391                              <2> sf_built_in_fifo:	equ 8
   392                              <2> sf_use_serial:		equ 10h
  1561                              <1> %endif
    21                                  %endif
    22                                  
    23                                  
    24                                  	numdef LZEXEDAT,	0
    25                                  
    26                                  %if _MESSAGESEGMENT
    27                                   %define usemessagesegment hiddenusesection MESSAGESEGMENT
    28                                  %else
    29                                   %define usemessagesegment hiddenusesection lDEBUG_DATA_ENTRY
    30                                  %endif
    31                                  
    32                                  %define MESSAGE_INLINE 1
    33                                  
    34                                  %if _HELP_EXTERNAL && _HELP_COMPRESSED
    35                                   %imacro helppage 1-2
    36                                    %defstr %%basename %1
    37                                    %if _LZEXEDAT
    38                                     %strcat %%includename %%basename, ".hlz"
    39                                    %else
    40                                     %strcat %%includename %%basename, ".hhs"
    41                                    %endif
    42                                  	align 2, db 0
    43                                  %00:
    44                                  	dw %%end - %%start
    45                                  %%start:
    46                                  	incbin %%includename
    47                                  %%end:
    48                                   %endmacro
    49                                  %elif _HELP_EXTERNAL
    50                                   %imacro helppage 1-2 0
    51                                    %defstr %%basename %1
    52                                    %strcat %%includename %%basename, ".txt"
    53                                  %00:
    54                                  	incbin %%includename
    55                                    %ifn %2
    56                                  	asciz
    57                                    %endif
    58                                   %endmacro
    59                                  %else
    60                                   %imacro helppage 1-2 0
    61                                    %defstr %%basename %1
    62                                    %strcat %%includename "help/", %%basename, ".asm"
    63                                  %00:
    64                                    %include %%includename
    65                                    %ifn %2
    66                                  	asciz
    67                                    %endif
    68                                   %endmacro
    69                                  %endif
    70                                  
    71                                  
    72                                  %if _ELDLINKINFO
    73                                  	usemessagesegment
    73          ------------------       note: usesection MESSAGESEGMENT
    74                                  %include "linkinfo.asm"
     1                              <1> 
     2                              <1> %if 0
     3                              <1> 
     4                              <1> Extensions for lDebug link info
     5                              <1> 
     6                              <1> Copyright (C) 2008-2026 E. C. Masloch
     7                              <1> 
     8                              <1> Usage of the works is permitted provided that this
     9                              <1> instrument is retained with the works, so that any entity
    10                              <1> that uses the works is notified of this instrument.
    11                              <1> 
    12                              <1> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    13                              <1> 
    14                              <1> %endif
    15                              <1> 
    16                              <1> 
    17                              <1> %if _LINKHASH
    18                              <1>  %include "nasmhash.mac"
     1                              <2> 
     2                              <2> %if 0
     3                              <2> 
     4                              <2> Hashing macros
     5                              <2>  by E. C. Masloch, 2019
     6                              <2> 
     7                              <2> Usage of the works is permitted provided that this
     8                              <2> instrument is retained with the works, so that any entity
     9                              <2> that uses the works is notified of this instrument.
    10                              <2> 
    11                              <2> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    12                              <2> 
    13                              <2> %endif
    14                              <2> 
    15                              <2> %ifndef __NASMHASH_MAC__
    16                              <2> %assign __NASMHASH_MAC__ 1
    17                              <2> 
    18                              <2> 
    19                              <2> 	%macro hashdef 2+.nolist
    20                              <2> %ifempty %2
    21                              <2>  %assign _%1 1
    22                              <2> %else
    23                              <2> %ifstr %2
    24                              <2>  %define %%string %2
    25                              <2> %elifid %2
    26                              <2>  %defstr %%string %2
    27                              <2> %elifnum %2
    28                              <2>  %defstr %%string %2
    29                              <2> %eliftok %2
    30                              <2>  %defstr %%string %2
    31                              <2> %else
    32                              <2>  %error Unknown input
    33                              <2> %endif
    34                              <2> %strlen %%length %%string
    35                              <2> %assign %%hash 1
    36                              <2> %assign %%index 1
    37                              <2> %rep %%length
    38                              <2>  %substr %%char %%string %%index
    39                              <2>  %assign %%hash (%%hash * 31 + %%char) & 0FFFFh
    40                              <2>  %assign %%index %%index + 1
    41                              <2> %endrep
    42                              <2> %assign _%1 %%hash
    43                              <2> %endif
    44                              <2> 	%endmacro
    45                              <2> 
    46                              <2> 
    47                              <2> %endif
    19                              <1> %endif
    20                              <1> 
    21                              <1> %define LINKINFO_DATA_PREFIXES ""
    22                              <1> %define LINKINFO_DATA_ENTRIES ""
    23                              <1> %define LINKINFO_DATA_ADDRESSES ""
    24                              <1> %define LINKINFO_DATA_MESSAGES db ""
    25                              <1> %assign LINKINFO_DATA_AMOUNT 0
    26                              <1> 
    27                              <1> %imacro linkinfo_data 1-*.nolist
    28                              <1> %rep %0
    29                              <1> 	linkinfo_data_as %1, %1
    30                              <1>   %rotate 1
    31                              <1> %endrep
    32                              <1> %endmacro
    33                              <1> 
    34                              <1> %imacro linkinfo_data_as 2.nolist
    35                              <1>  %push
    36                              <1>   %ifstr %1
    37                              <1>    %xdefine %$string %1
    38                              <1>    %define %$token %%token
    39                              <1>   %else
    40                              <1>    %defstr %$string %1
    41                              <1>    %xdefine %$token %1
    42                              <1>   %endif
    43                              <1>   %ifn _LINKHASH
    44                              <1>    %substr %$prefix %$string 1, 2
    45                              <1>    %substr %$suffix %$string 3, -1
    46                              <1>    %strlen %$length %$string
    47                              <1>    %if %$length < 2
    48                              <1>     %fatal Too short link info data name
    49                              <1>    %endif
    50                              <1>    %if %$length > 63 + 2
    51                              <1>     %fatal Too long link info data name
    52                              <1>    %endif
    53                              <1>    %xdefine LINKINFO_DATA_PREFIXES LINKINFO_DATA_PREFIXES, %$prefix
    54                              <1>    %xdefine LINKINFO_DATA_ENTRIES LINKINFO_DATA_ENTRIES, %%message_%[%$token]
    55                              <1>    %xdefine LINKINFO_DATA_ADDRESSES LINKINFO_DATA_ADDRESSES, %2
    56                              <1>    %xdefine LINKINFO_DATA_MESSAGES LINKINFO_DATA_MESSAGES, %%message_%[%$token]:, {counted %$suffix}
    57                              <1>   %else
    58                              <1>    %xdefine %$suffix %$string
    59                              <1> hashdef HASH, %$string
    60                              <1>    %strlen %$length %$string
    61                              <1>    %if %$length > 63 + 2
    62                              <1>     %fatal Too long link info data name
    63                              <1>    %endif
    64                              <1>    %xdefine LINKINFO_DATA_PREFIXES LINKINFO_DATA_PREFIXES, _HASH
    65                              <1>    %xdefine LINKINFO_DATA_ENTRIES LINKINFO_DATA_ENTRIES, %%message_%[%$token]
    66                              <1>    %xdefine LINKINFO_DATA_ADDRESSES LINKINFO_DATA_ADDRESSES, %2
    67                              <1>    %xdefine LINKINFO_DATA_MESSAGES LINKINFO_DATA_MESSAGES, %%message_%[%$token]:, {counted %$suffix}
    68                              <1>   %endif
    69                              <1>   %assign LINKINFO_DATA_AMOUNT LINKINFO_DATA_AMOUNT + 1
    70                              <1>   %rotate 1
    71                              <1>  %pop
    72                              <1> %endmacro
    73                              <1> 
    74                              <1> 
    75                              <1> %define LINKINFO_CODE_PREFIXES ""
    76                              <1> %define LINKINFO_CODE_ENTRIES ""
    77                              <1> %define LINKINFO_CODE_ADDRESSES ""
    78                              <1> %define LINKINFO_CODE_MESSAGES db ""
    79                              <1> %assign LINKINFO_CODE_AMOUNT 0
    80                              <1> 
    81                              <1> %imacro linkinfo_code 1-*.nolist
    82                              <1> %rep %0
    83                              <1> 	linkinfo_code_as %1, %1
    84                              <1>   %rotate 1
    85                              <1> %endrep
    86                              <1> %endmacro
    87                              <1> 
    88                              <1> %imacro linkinfo_code_as 2.nolist
    89                              <1>  %push
    90                              <1>   %if LINKINFO_CODE_SEGMENT == 0
    91                              <1>    %define %$section lDEBUG_CODE
    92                              <1>   %elif LINKINFO_CODE_SEGMENT == 1
    93                              <1>    %define %$section lDEBUG_CODE2
    94                              <1>   %elif LINKINFO_CODE_SEGMENT == 2
    95                              <1>    %define %$section lDEBUG_DATA_ENTRY
    96                              <1>   %else
    97                              <1>    %fatal Unknown link info code section
    98                              <1>   %endif
    99                              <1>   %ifndef SECTION_OF_%2
   100                              <1>    %error No section specified for link symbol %1
   101                              <1>   %elifnidni SECTION_OF_%2, %$section
   102                              <1>    %error Wrong section for link symbol %1: section_of=SECTION_OF_%1, current=%$section
   103                              <1>   %endif
   104                              <1>   %ifstr %1
   105                              <1>    %xdefine %$string %1
   106                              <1>    %define %$token %%token
   107                              <1>   %else
   108                              <1>    %defstr %$string %1
   109                              <1>    %xdefine %$token %1
   110                              <1>   %endif
   111                              <1>   %ifn _LINKHASH
   112                              <1>    %substr %$prefix %$string 1, 2
   113                              <1>    %substr %$suffix %$string 3, -1
   114                              <1>    %strlen %$length %$string
   115                              <1>    %if %$length < 2
   116                              <1>     %fatal Too short link info code name
   117                              <1>    %endif
   118                              <1>    %if %$length > 63 + 2
   119                              <1>     %fatal Too long link info code name
   120                              <1>    %endif
   121                              <1>    %xdefine LINKINFO_CODE_PREFIXES LINKINFO_CODE_PREFIXES, %$prefix
   122                              <1>    %xdefine LINKINFO_CODE_ENTRIES LINKINFO_CODE_ENTRIES, %%message_%[%$token]
   123                              <1>    %xdefine LINKINFO_CODE_ADDRESSES LINKINFO_CODE_ADDRESSES, %2, LINKINFO_CODE_SEGMENT
   124                              <1>    %xdefine LINKINFO_CODE_MESSAGES LINKINFO_CODE_MESSAGES, %%message_%[%$token]:, {counted %$suffix}
   125                              <1>   %else
   126                              <1>    %xdefine %$suffix %$string
   127                              <1> hashdef HASH, %$string
   128                              <1>    %strlen %$length %$string
   129                              <1>    %if %$length > 63 + 2
   130                              <1>     %fatal Too long link info code name
   131                              <1>    %endif
   132                              <1>    %xdefine LINKINFO_CODE_PREFIXES LINKINFO_CODE_PREFIXES, _HASH
   133                              <1>    %xdefine LINKINFO_CODE_ENTRIES LINKINFO_CODE_ENTRIES, %%message_%[%$token]
   134                              <1>    %xdefine LINKINFO_CODE_ADDRESSES LINKINFO_CODE_ADDRESSES, %2, LINKINFO_CODE_SEGMENT
   135                              <1>    %xdefine LINKINFO_CODE_MESSAGES LINKINFO_CODE_MESSAGES, %%message_%[%$token]:, {counted %$suffix}
   136                              <1>   %endif
   137                              <1>   %assign LINKINFO_CODE_AMOUNT LINKINFO_CODE_AMOUNT + 1
   138                              <1>  %pop
   139                              <1> %endmacro
   140                              <1> 
   141                              <1> 
   142                              <1> %imacro dump_linkinfo_messages 1-*.nolist
   143                              <1>  %rep %0
   144                              <1> 	%1
   145                              <1>   %rotate 1
   146                              <1>  %endrep
   147                              <1> %endmacro
   148                              <1> 
   149                              <1> 
   150                              <1> %if _MESSAGESEGMENT
   151                              <1>  %if _PM
   152                              <1> linksel equ messagesel
   153                              <1>  %else
   154                              <1> linksel equ linkseg
   155                              <1>  %endif
   156                              <1> linkseg equ messageseg
   157                              <1> %else
   158                              <1>  %if _PM
   159                              <1> linksel equ dssel
   160                              <1>  %else
   161                              <1> linksel equ linkseg
   162                              <1>  %endif
   163                              <1> linkseg equ pspdbg
   164                              <1> %endif
   165                              <1> 
   166                              <1> linkinfo_data linksel
   167                              <1> linkinfo_data linkseg
   168                              <1> linkinfo_data linkinfoaddress
   169                              <1> linkinfo_data linkcall_table
   170                              <1> linkinfo_data extseg, extcssel, extdssel, extseg_size, extseg_used
   171                              <1> linkinfo_data extdata, extdata_size, extdata_used
   172                              <1> linkinfo_data pspdbg
   173                              <1> %if !_LOADER
   174                              <1> linkinfo_data pspdbe
   175                              <1> %endif
   176                              <1> %ifn _LINK
   177                              <1>  %ifn _PM
   178                              <1> dssel equ pspdbg
   179                              <1>  %endif
   180                              <1> %endif
   181                              <1> linkinfo_data dssel
   182                              <1> %if _PM
   183                              <1> linkinfo_data cssel
   184                              <1> %if !_LOADER
   185                              <1> linkinfo_data code_sel
   186                              <1>  %if _DUALCODE
   187                              <1> linkinfo_data code2_sel
   188                              <1>  %endif
   189                              <1> %else
   190                              <1> linkinfo_data_as code_movable_sel, code_sel
   191                              <1>  %if _DUALCODE
   192                              <1> linkinfo_data_as code2_movable_sel, code2_sel
   193                              <1>  %endif
   194                              <1> %endif
   195                              <1>  %if _MESSAGESEGMENT
   196                              <1> linkinfo_data messagesel
   197                              <1>  %endif
   198                              <1> %endif
   199                              <1> linkinfo_data internalflags
   200                              <1> linkinfo_data internalflags2
   201                              <1> linkinfo_data internalflags3
   202                              <1> linkinfo_data internalflags4
   203                              <1> linkinfo_data internalflags5
   204                              <1> linkinfo_data internalflags6
   205                              <1> linkinfo_data internalflags7
   206                              <1> linkinfo_data options
   207                              <1> linkinfo_data options2
   208                              <1> linkinfo_data options3
   209                              <1> linkinfo_data options4
   210                              <1> linkinfo_data options5
   211                              <1> linkinfo_data options6
   212                              <1> linkinfo_data options7
   213                              <1> linkinfo_data lastcmd
   214                              <1> linkinfo_data line_in, line_in.end, line_out, line_out_end
   215                              <1> %if !_LOADER
   216                              <1> linkinfo_data auxbuff_segorsel
   217                              <1> linkinfo_data auxbuff_current_size, auxbuff_current_size_minus_24
   218                              <1> %else
   219                              <1> linkinfo_data_as auxbuff_movable_segorsel, auxbuff_segorsel
   220                              <1> linkinfo_data_as auxbuff_movable_current_size, auxbuff_current_size
   221                              <1> linkinfo_data_as auxbuff_movable_current_size_minus_24, auxbuff_current_size_minus_24
   222                              <1> %endif
   223                              <1> %if !_LOADER
   224                              <1> linkinfo_data firstmcb, firstumcb
   225                              <1> %endif
   226                              <1> linkinfo_data msg.install, msg.uninstall, msg.run
   227                              <1> linkinfo_data entryseg_size
   228                              <1> %if _MESSAGESEGMENT
   229                              <1> linkinfo_data messageseg, messageseg_size
   230                              <1> %endif
   231                              <1> %if !_LOADER
   232                              <1> linkinfo_data code_seg, code_size
   233                              <1> %if _DUALCODE
   234                              <1> linkinfo_data code2_seg, code2_size
   235                              <1> %endif
   236                              <1> %else
   237                              <1> linkinfo_data_as code_movable_seg, code_seg
   238                              <1> linkinfo_data_as code_movable_size, code_size
   239                              <1> %if _DUALCODE
   240                              <1> linkinfo_data_as code2_movable_seg, code2_seg
   241                              <1> linkinfo_data_as code2_movable_size, code2_size
   242                              <1> %endif
   243                              <1> %endif
   244                              <1> %if !_LOADER
   245                              <1> linkinfo_data auxbuff_segment, auxbuff_current_size
   246                              <1> %else
   247                              <1> linkinfo_data_as auxbuff_movable_segment, auxbuff_segment
   248                              <1> linkinfo_data_as auxbuff_movable_current_size, auxbuff_current_size
   249                              <1> %endif
   250                              <1>  %if _HISTORY_SEPARATE_FIXED && _HISTORY
   251                              <1> linkinfo_data history_segment, historyseg_size
   252                              <1>  %endif
   253                              <1> %if _PM
   254                              <1> auxbuff_segment equ auxbuff_segorsel + soaSegment
   255                              <1>  %if _HISTORY_SEPARATE_FIXED && _HISTORY
   256                              <1> history_segment equ history.segorsel + soaSegment
   257                              <1>  %endif
   258                              <1> %else
   259                              <1> auxbuff_segment equ auxbuff_segorsel
   260                              <1>  %if _HISTORY_SEPARATE_FIXED && _HISTORY
   261                              <1> history_segment equ history.segorsel
   262                              <1>  %endif
   263                              <1> %endif
   264                              <1> %if _APP_ENV_SIZE || _DEV_ENV_SIZE || _BOOT_ENV_SIZE
   265                              <1> linkinfo_data envseg, env_size
   266                              <1> %endif
   267                              <1> linkinfo_data alloc_seg, alloc_size
   268                              <1> %if !_LOADER
   269                              <1> linkinfo_data next_reserved_segment, alloc_size_not_reserved, reserved_address
   270                              <1> %endif
   271                              <1> %if _HISTORY
   272                              <1>  %if _HISTORY_SEPARATE_FIXED
   273                              <1> historyformat equ 2
   274                              <1> linkinfo_data history.segorsel
   275                              <1>  %else
   276                              <1> historyformat equ 1
   277                              <1> linkinfo_data historybuffer
   278                              <1> linkinfo_data historybuffer.end
   279                              <1>  %endif
   280                              <1> linkinfo_data history.first
   281                              <1> linkinfo_data history.last
   282                              <1> %else
   283                              <1> historyformat equ 0
   284                              <1> %endif
   285                              <1> linkinfo_data historyformat
   286                              <1> linkinfo_data stack, stack_end
   287                              <1> linkinfo_data ext_command_handler, ext_inject_handler, savesp, throwsp
   288                              <1> linkinfo_data ext_preprocess_handler, ext_puts_handler
   289                              <1> linkinfo_data ext_puts_copyoutput_handler
   290                              <1> %if _EXT_PUTS_GETLINE
   291                              <1> linkinfo_data ext_puts_getline_handler
   292                              <1> %endif
   293                              <1> %if !_LOADER
   294                              <1> linkinfo_data ext_aa_before_getline_handler
   295                              <1> linkinfo_data ext_aa_inject_handler
   296                              <1> linkinfo_data ext_aa_after_getline_handler
   297                              <1> %endif
   298                              <1> %if _CATCHINT2D
   299                              <1> linkinfo_data ext_amis_handler
   300                              <1> linkinfo_data amis_multiplex_number
   301                              <1> %endif
   302                              <1> linkinfo_data try_debugger_amis_multiplex_number
   303                              <1> linkinfo_data msg.in, lastcmd
   304                              <1> %if !_LOADER
   305                              <1> linkinfo_data firstmcb, firstumcb
   306                              <1> %endif
   307                              <1> linkinfo_data dpmi32
   308                              <1> linkinfo_data lastcmd_transfer_ext_address
   309                              <1> linkinfo_data lastcmd_transfer_ext_entry	; (not actually data but need it)
   310                              <1> linkinfo_data dmycmd				; (not actually data but need it)
   311                              <1> linkinfo_data has_87
   312                              <1> %if _MMXSUPP
   313                              <1> linkinfo_data has_mmx
   314                              <1> %endif
   315                              <1> linkinfo_data installflags, installformat
   316                              <1> linkinfo_data reg_eax, reg_ecx, reg_edx, reg_ebx, reg_esp, reg_ebp
   317                              <1> linkinfo_data reg_esi, reg_edi, reg_efl, reg_eip, reg_cs, reg_ds
   318                              <1> linkinfo_data reg_ss, reg_es, reg_fs, reg_gs
   319                              <1> linkinfo_data msg.not, msg.then
   320                              <1> %if _EXTENSIONS && _EXT_VARIABLES
   321                              <1> linkinfo_data ext_var, ext_var_amount, ext_var_format, ext_var_size
   322                              <1> linkinfo_data isvariable_morebyte_nameheaders.ext
   323                              <1> linkinfo_data var_ext_setup			; (not actually data)
   324                              <1> %endif
   325                              <1> linkinfo_data ext_handle
   326                              <1> linkinfo_data near_transfer_ext_entry		; not actually data
   327                              <1> linkinfo_data near_transfer_ext_address
   328                              <1> %if _BOOTLDR
   329                              <1> linkinfo_data load_data_lowest, load_data
   330                              <1> linkinfo_data load_yyname_input
   331                              <1> linkinfo_data handle_scan_dir_entry, handle_scan_dir_not_found
   332                              <1> linkinfo_data ..@boot_scan_dir_return_filenotfound		; not actually data
   333                              <1> linkinfo_data ..@boot_scan_dir_return_subdir_or_fat32_entry	; not actually data
   334                              <1> linkinfo_data ..@boot_scan_dir_return_fat16_root_entry		; not actually data
   335                              <1> linkinfo_data scan_dir_entry			; not actually data
   336                              <1> linkinfo_data load_check_dir_attr
   337                              <1> linkinfo_data load_yyname_next
   338                              <1> linkinfo_data load_yy_direntry
   339                              <1> linkinfo_data load_kernel_name
   340                              <1> linkinfo_data load_adr_dirbuf_segment
   341                              <1> %endif
   342                              <1> %if !_LOADER
   343                              <1> linkinfo_data execblk.cmdline
   344                              <1> %endif
   345                              <1> %if _CONFIG
   346                              <1> linkinfo_data configpath, configpath.dir_end
   347                              <1> linkinfo_data scriptspath, scriptspath.dir_end
   348                              <1> %endif
   349                              <1> build_option_PM equ !!_PM
   350                              <1> linkinfo_data build_option_PM
   351                              <1> linkinfo_data cmd3, cmd3_not_ext, puts_ext_done, puts_ext_next
   352                              <1> linkinfo_data puts_copyoutput_ext_done
   353                              <1> %if _EXT_PUTS_GETLINE
   354                              <1> linkinfo_data puts_getline_ext_done
   355                              <1> linkinfo_data in_getinput
   356                              <1> %endif
   357                              <1> linkinfo_data cmd3_preprocessed, cmd3_not_inject, cmd3_injected
   358                              <1> %if !_LOADER
   359                              <1> linkinfo_data aa_not_inject, aa_injected
   360                              <1> linkinfo_data aa_before_getline, aa_after_getline
   361                              <1> %endif
   362                              <1> linkinfo_data while_buffer, while_buffer.end, swch1
   363                              <1> linkinfo_data_as internalflags_with_tt_while, internalflags
   364                              <1> linkinfo_data yy_is_script
   365                              <1> linkinfo_data terminator_in_line_in.offset
   366                              <1> linkinfo_data terminator_in_line_in.value
   367                              <1> linkinfo_data ext_finish.bp_is_set
   368                              <1> linkinfo_data vregs, vregs.amount
   369                              <1> %if _DT
   370                              <1> linkinfo_data asciitablenames
   371                              <1> %endif
   372                              <1> linkinfo_data pm_2_86m_0
   373                              <1> %if _BOOTLDR
   374                              <1> linkinfo_data load_unit_flags
   375                              <1> %endif
   376                              <1> %if !_LOADER
   377                              <1> linkinfo_data sss_silent_count_used, sss_silent_count, search_results, sscounter
   378                              <1> linkinfo_data search_results_amount
   379                              <1> %endif
   380                              <1> linkinfo_data patcharea_run, patcharea_run.size, patcharea_run.segment
   381                              <1> %if !_LOADER
   382                              <1> linkinfo_data patcharea_intrtn, patcharea_intrtn.size, patcharea_intrtn.segment
   383                              <1> %endif
   384                              <1> %if _PM
   385                              <1> linkinfo_data patcharea_pm_exc, patcharea_pm_exc.size, patcharea_pm_exc.segment
   386                              <1> %endif
   387                              <1> linkinfo_data promptlen
   388                              <1> linkinfo_data indirect_array_errfix
   389                              <1> linkinfo_data priorrc, rc
   390                              <1> %if _BOOTLDR
   391                              <1> linkinfo_data boot_init_foundname
   392                              <1> %endif
   393                              <1> %if _DEVICE
   394                              <1> linkinfo_data device_quittable_regs, device_header_address
   395                              <1> %endif
   396                              <1> %if _EXECUTABLE
   397                              <1> linkinfo_data init_executable_pathname, init_executable_pathname.end
   398                              <1> %endif
   399                              <1> ;linkinfo_data 
   400                              <1> 
   401                              <1> 
   402                              <1> %assign LINKINFO_CODE_SEGMENT 0		; CODE1
   403                              <1> linkinfo_code puts, putsz, putc, putsline, putsline_crlf, trimputs
   404                              <1> linkinfo_code skipcomma, skipcomm0, skipwhite, skipwh0
   405                              <1> linkinfo_code isstring?, capitalise, chkeol, iseol?, iseol?.notsemicolon
   406                              <1> linkinfo_code_as "uppercase", capitalise
   407                              <1> linkinfo_code guard_auxbuff, guard_re, prephack, dohack, unhack
   408                              <1> linkinfo_code handle_serial_flags_ctrl_c
   409                              <1> linkinfo_code hexnyb, hexbyte, hexword, hexword_high, decword, decdword
   410                              <1> linkinfo_code dec_dword_minwidth
   411                              <1> linkinfo_code ispm, setes2dx, call_int2D
   412                              <1> linkinfo_code copy_single_counted_string
   413                              <1> linkinfo_code intchk
   414                              <1> linkinfo_code IsIISPEntry?
   415                              <1> linkinfo_code disp_dxax_times_cx_width_bx_size.store
   416                              <1> linkinfo_code cmd3, cmd3_not_ext, puts_ext_done, puts_ext_next
   417                              <1> linkinfo_code puts_copyoutput_ext_done
   418                              <1> %if _EXT_PUTS_GETLINE
   419                              <1> linkinfo_code puts_getline_ext_done
   420                              <1> %endif
   421                              <1> linkinfo_code cmd3_preprocessed, cmd3_not_inject, cmd3_injected
   422                              <1> linkinfo_code error
   423                              <1> linkinfo_code setds2si, setds2bx
   424                              <1> %if _PM
   425                              <1> linkinfo_code intcall_ext_return_es
   426                              <1> %endif
   427                              <1> linkinfo_code dd_store
   428                              <1> linkinfo_code InDOS, _doscall
   429                              <1> %if !_LOADER
   430                              <1> linkinfo_code yy_dos_parse_name
   431                              <1> %endif
   432                              <1> linkinfo_code yy_open_file, yy_check_lfn
   433                              <1> linkinfo_code yy_common_parse_name
   434                              <1> linkinfo_code yy_common_parse_name_bx_buffer
   435                              <1> linkinfo_code retry_open_scriptspath
   436                              <1> linkinfo_code near_transfer_ext_return
   437                              <1> %if _BOOTLDR
   438                              <1> linkinfo_code yy_boot_read.bx, yy_boot_seek_start.bx, yy_boot_seek_current.bx
   439                              <1> linkinfo_code_as yy_boot_parse_name2, yy_boot_parse_name
   440                              <1> linkinfo_code yy_boot_parse_name_bx_buffer
   441                              <1> linkinfo_code_as yy_boot_open_file2, yy_boot_open_file
   442                              <1> linkinfo_code scan_dir_aux, read_sector
   443                              <1> linkinfo_code_as yy_boot_init_dir2, yy_boot_init_dir
   444                              <1> linkinfo_code got_yyentry, scan_dir_entry
   445                              <1> linkinfo_code ..@yy_filename_empty
   446                              <1> linkinfo_code boot_parse_fn
   447                              <1> linkinfo_code init_bootcmd
   448                              <1> %endif
   449                              <1> linkinfo_code close_ext
   450                              <1> linkinfo_code yy_reset_buf
   451                              <1> %if !_LOADER
   452                              <1> linkinfo_code aa_not_inject, aa_injected
   453                              <1> linkinfo_code aa_before_getline, aa_after_getline
   454                              <1> %endif
   455                              <1> linkinfo_code doscall_extseg
   456                              <1> linkinfo_code test_d_b_bit, test_high_limit
   457                              <1> linkinfo_code setrc
   458                              <1> linkinfo_code skipequals
   459                              <1> %if !_LOADER
   460                              <1> %if _COUNT || _SCOUNT
   461                              <1> linkinfo_code count_store
   462                              <1> %endif
   463                              <1> %endif
   464                              <1> linkinfo_code hexdword
   465                              <1> %if _LOADER
   466                              <1> linkinfo_code loader_get_resident_address, loader_prepare_resident
   467                              <1> %endif
   468                              <1> linkinfo_code verifysegm_or_error, verifysegm
   469                              <1> ;linkinfo_code 
   470                              <1> 
   471                              <1> %if _DUALCODE && _EXPRDUALCODE
   472                              <1>  %assign LINKINFO_CODE_SEGMENT 1	; CODE2
   473                              <1> %else
   474                              <1>  %assign LINKINFO_CODE_SEGMENT 0	; CODE1
   475                              <1> %endif
   476                              <1> linkinfo_code isvariable?, isseparator?, get_value_range
   477                              <1> linkinfo_code getexpression, getdword, getword, getbyte
   478                              <1> linkinfo_code getaddr, getaddrX, getrange, getrangeX
   479                              <1> linkinfo_code get_length_keyword, getnyb
   480                              <1> linkinfo_code isoperator?, ..@call_operator_dispatchers
   481                              <1> %if _EXTENSIONS && _EXT_VARIABLES
   482                              <1> linkinfo_code var_ext_setup_done
   483                              <1> %endif
   484                              <1> linkinfo_code getstr
   485                              <1> ;linkinfo_code 
   486                              <1> 
   487                              <1> 
   488                              <1>  %assign LINKINFO_CODE_SEGMENT 2	; ENTRY
   489                              <1> linkinfo_code entry_retn
   490                              <1> ;linkinfo_code 
   491                              <1> 
   492                              <1> 
   493                              <1> 	align 4, db 0
   494                              <1> linkinfo:
   495                              <1> 	istruc ELD_LINKINFO
   496 00000000 D1E1                <1> at eldlSignature,	dw 0E1D1h
   497 00000002 00000000            <1> at eldlReserved,	dw 0, 0
   498 00000006 0100                <1> at eldlUseLinkHash,	dw !!_LINKHASH
   499 00000008 B800                <1> at eldlDataAmount,	dw LINKINFO_DATA_AMOUNT
   500 0000000A [1800]              <1> at eldlDataPrefixes,	dw linkinfo_data_table_prefixes
   501 0000000C [8801]              <1> at eldlDataEntries,	dw linkinfo_data_table_entries
   502 0000000E [F802]              <1> at eldlDataAddresses,	dw linkinfo_data_table_addresses
   503 00000010 6900                <1> at eldlCodeAmount,	dw LINKINFO_CODE_AMOUNT
   504 00000012 [6804]              <1> at eldlCodePrefixes,	dw linkinfo_code_table_prefixes
   505 00000014 [3A05]              <1> at eldlCodeEntries,	dw linkinfo_code_table_entries
   506 00000016 [0C06]              <1> at eldlCodeAddresses,	dw linkinfo_code_table_addresses
   507                              <1> 	iend
   508                              <1> 
   509                              <1> 
   510                              <1> 	align 2, db 0
   511                              <1> linkinfo_data_table_prefixes:
   512 00000018 FF7EFA7E2B856844D5- <1> .:	repeatdw LINKINFO_DATA_PREFIXES
   512 00000021 2D6A2BEB422BC8E7D3- <1>
   512 0000002A 2AAEF634B240FDFCFB- <1>
   512 00000033 FC0A0A899FC951CA51- <1>
   512 0000003C CB51CC51CD51CE517D- <1>
   512 00000045 B355BC56BC57BC58BC- <1>
   512 0000004E 59BC5ABCC30B2F7A9C- <1>
   512 00000057 3C84E3A0398B00B0B2- <1>
   512 00000060 2071DD03C6408D7154- <1>
   512 00000069 407DCFBC89AF9D9130- <1>
   512 00000072 044A3208EAE5B0B267- <1>
   512 0000007B 341E38892B140B6A5D- <1>
   512 00000084 8C61879FE77ADE037D- <1>
   512 0000008D 4275AE31AA2AE7279B- <1>
   512 00000096 C36797B63B26DB9FA2- <1>
   512 0000009F C09648AE24DD30B9E1- <1>
   512 000000A8 95559C6CF235C00168- <1>
   512 000000B1 8CF09EF391C30BDD03- <1>
   512 000000BA C640C83E7EC07CC76B- <1>
   512 000000C3 5D05D692B84D18F106- <1>
   512 000000CC 10324E326D322F3236- <1>
   512 000000D5 3427322F345E329F32- <1>
   512 000000DE 00333C3B5B3B2C3D7A- <1>
   512 000000E7 3B993BB83BC5BF6BD7- <1>
   512 000000F0 E8B48FC32E6BF8B4C4- <1>
   512 000000F9 E26651C71CD6ED58B8- <1>
   512 00000102 0F0882740EB594C038- <1>
   512 0000010B D274B9384B9F213F85- <1>
   512 00000114 92AA2F756C5275DD22- <1>
   512 0000011D 7F4F71282963BF8C8E- <1>
   512 00000126 C7805503BABD30CD1A- <1>
   512 0000012F B78B1ECF3F6F9D6DB1- <1>
   512 00000138 702A2258D5DA9BF78E- <1>
   512 00000141 04A81B09B98F03FC15- <1>
   512 0000014A 2700D569A225F466F0- <1>
   512 00000153 3E2229740812432A28- <1>
   512 0000015C 5265E47A8AF25235A0- <1>
   512 00000165 8ABBCCD78EC0CD6FE3- <1>
   512 0000016E 05BDC88C67490DF450- <1>
   512 00000177 8F26EB5A63F211EA53- <1>
   512 00000180 67A7EA1BD73B44EA    <1>
   513                              <1> .amount equ ($ - .) / 2
   514                              <1> %if .amount != LINKINFO_DATA_AMOUNT
   515                              <1>  %error Unexpected table size
   516                              <1> %endif
   517                              <1> 
   518                              <1> 	align 2, db 0
   519                              <1> linkinfo_data_table_entries:
   520 00000188 [B007][B807][C007]- <1> .:	repeatdw LINKINFO_DATA_ENTRIES
   520 0000018E [D007][DF07][E607]- <1>
   520 00000194 [EF07][F807][0408]- <1>
   520 0000019A [1008][1808][2508]- <1>
   520 000001A0 [3208][3908][4008]- <1>
   520 000001A6 [4608][5408][6308]- <1>
   520 000001AC [7208][8108][9008]- <1>
   520 000001B2 [9F08][AE08][B608]- <1>
   520 000001B8 [BF08][C808][D108]- <1>
   520 000001BE [DA08][E308][EC08]- <1>
   520 000001C4 [F408][FC08][0809]- <1>
   520 000001CA [1109][1E09][2F09]- <1>
   520 000001D0 [4409][6209][6B09]- <1>
   520 000001D6 [7509][8109][8F09]- <1>
   520 000001DC [9709][A509][B009]- <1>
   520 000001E2 [C009][C909][D309]- <1>
   520 000001E8 [E309][F809][080A]- <1>
   520 000001EE [180A][1F0A][280A]- <1>
   520 000001F4 [320A][3D0A][530A]- <1>
   520 000001FA [6B0A][7C0A][8D0A]- <1>
   520 00000200 [9B0A][A80A][B60A]- <1>
   520 00000206 [BC0A][C60A][DA0A]- <1>
   520 0000020C [ED0A][F40A][FC0A]- <1>
   520 00000212 [130B][240B][400B]- <1>
   520 00000218 [590B][770B][8D0B]- <1>
   520 0000021E [AA0B][BB0B][D10B]- <1>
   520 00000224 [F40B][FB0B][030C]- <1>
   520 0000022A [0C0C][160C][1D0C]- <1>
   520 00000230 [3A0C][550C][5C0C]- <1>
   520 00000236 [630C][6B0C][780C]- <1>
   520 0000023C [860C][8E0C][960C]- <1>
   520 00000242 [9E0C][A60C][AE0C]- <1>
   520 00000248 [B60C][BE0C][C60C]- <1>
   520 0000024E [CE0C][D60C][DD0C]- <1>
   520 00000254 [E40C][EB0C][F20C]- <1>
   520 0000025A [F90C][000D][080D]- <1>
   520 00000260 [110D][190D][280D]- <1>
   520 00000266 [370D][440D][680D]- <1>
   520 0000026C [760D][810D][990D]- <1>
   520 00000272 [B30D][C40D][CE0D]- <1>
   520 00000278 [E00D][F60D][100E]- <1>
   520 0000027E [350E][630E][8C0E]- <1>
   520 00000284 [9B0E][AF0E][C00E]- <1>
   520 0000028A [D10E][E20E][FA0E]- <1>
   520 00000290 [0A0F][150F][280F]- <1>
   520 00000296 [340F][480F][580F]- <1>
   520 0000029C [5D0F][6A0F][780F]- <1>
   520 000002A2 [860F][9F0F][B50F]- <1>
   520 000002A8 [C10F][D30F][E30F]- <1>
   520 000002AE [F10F][FF0F][0B10]- <1>
   520 000002B4 [1D10][2E10][3B10]- <1>
   520 000002BA [4C10][5210][6E10]- <1>
   520 000002C0 [7B10][9810][B410]- <1>
   520 000002C6 [C910][CF10][DC10]- <1>
   520 000002CC [EC10][F710][0711]- <1>
   520 000002D2 [1D11][2E11][3D11]- <1>
   520 000002D8 [4711][5D11][6B11]- <1>
   520 000002DE [7E11][9411][A511]- <1>
   520 000002E4 [BB11][D411][DE11]- <1>
   520 000002EA [F411][FC11][FF11]- <1>
   520 000002F0 [1312][2912][3F12]- <1>
   520 000002F6 [5812]              <1>
   521                              <1> .amount equ ($ - .) / 2
   522                              <1> %if .amount != LINKINFO_DATA_AMOUNT
   523                              <1>  %error Unexpected table size
   524                              <1> %endif
   525                              <1> 
   526                              <1> 	align 2, db 0
   527                              <1> linkinfo_data_table_addresses:
   528 000002F8 [0000][0000][0000]- <1> .:	repeatdw LINKINFO_DATA_ADDRESSES
   528 000002FE [0000][0000][0000]- <1>
   528 00000304 [0000][0000][0000]- <1>
   528 0000030A [0000][0000][0000]- <1>
   528 00000310 [0000][0000][0000]- <1>
   528 00000316 [0000][0000][0000]- <1>
   528 0000031C [0000][0000][0000]- <1>
   528 00000322 [0000][0000][0000]- <1>
   528 00000328 [0000][0000][0000]- <1>
   528 0000032E [0000][0000][0000]- <1>
   528 00000334 [0000][0000][0000]- <1>
   528 0000033A [0000][0000][0000]- <1>
   528 00000340 [0000][0000][0000]- <1>
   528 00000346 [8C08][8A08][1000]- <1>
   528 0000034C [0000][0000][0000]- <1>
   528 00000352 [0000][0000][0000]- <1>
   528 00000358 [0000][0000][0000]- <1>
   528 0000035E [0000][0000][0000]- <1>
   528 00000364 [0000][0000][0000]- <1>
   528 0000036A [0000][0000][0000]- <1>
   528 00000370 [0000]0200[0000]-   <1>
   528 00000376 [0000][0000][0000]- <1>
   528 0000037C [0000][0000][0000]- <1>
   528 00000382 [0000][0000][0000]- <1>
   528 00000388 [0000][0000][0000]- <1>
   528 0000038E [0000][0000][0000]- <1>
   528 00000394 [220F][0000][0000]- <1>
   528 0000039A [0000][0000][0000]- <1>
   528 000003A0 [0000][0000][0000]- <1>
   528 000003A6 [0000][501D]0100-   <1>
   528 000003AC [0000][0000][0000]- <1>
   528 000003B2 [0000][0000][0000]- <1>
   528 000003B8 [0000][0000][0000]- <1>
   528 000003BE [0000][0000][0000]- <1>
   528 000003C4 [0000][0000][0000]- <1>
   528 000003CA [0000][FC08][F708]- <1>
   528 000003D0 [0000][0000][0000]- <1>
   528 000003D6 [0000][0000][0000]- <1>
   528 000003DC [0000][0000][0000]- <1>
   528 000003E2 [0000][0000][0000]- <1>
   528 000003E8 [0000][0000][0000]- <1>
   528 000003EE [0000][0000][0000]- <1>
   528 000003F4 [0000][0000][0000]- <1>
   528 000003FA [0000][0000][0000]- <1>
   528 00000400 [0000][0000][0000]- <1>
   528 00000406 [0000]0000[0000]-   <1>
   528 0000040C [0000][0000][0000]- <1>
   528 00000412 [0000][0000][0000]- <1>
   528 00000418 [0000][0000][0000]- <1>
   528 0000041E [0000][0000][0000]- <1>
   528 00000424 [0000][0000][0000]- <1>
   528 0000042A [0000][0000][0000]- <1>
   528 00000430 [0000][0000][0000]- <1>
   528 00000436 [0000][0000][0000]- <1>
   528 0000043C [0000][0000][0000]- <1>
   528 00000442 [0000][0000][0000]- <1>
   528 00000448 1000[0000][0000]-   <1>
   528 0000044E [0000][0000][0000]- <1>
   528 00000454 [0000][0000][0000]- <1>
   528 0000045A [0000][0000][0000]- <1>
   528 00000460 [0000][0000][0000]- <1>
   528 00000466 [0000]              <1>
   529                              <1> .amount equ ($ - .) / 2
   530                              <1> %if .amount != LINKINFO_DATA_AMOUNT
   531                              <1>  %error Unexpected table size
   532                              <1> %endif
   533                              <1> 
   534                              <1> 
   535                              <1> 	align 2, db 0
   536                              <1> linkinfo_code_table_prefixes:
   537 00000468 C5C65512B5C6398C6F- <1> .:	repeatdw LINKINFO_CODE_PREFIXES
   537 00000471 A267B1D555A45529EF- <1>
   537 0000047A 7FAE03C3D430DDB9E8- <1>
   537 00000483 3A8490F1231CE30E05- <1>
   537 0000048C CFF16DC97B14DCF83D- <1>
   537 00000495 BA821B84817D67EBA6- <1>
   537 0000049E AD1103AA2890B77421- <1>
   537 000004A7 30D0BB98693567ABFF- <1>
   537 000004B0 BABD30CD1AB78B1ECF- <1>
   537 000004B9 3F6F9D702A2258D5DA- <1>
   537 000004C2 A7AAF85EF85C637762- <1>
   537 000004CB 9668310C21738E9F9A- <1>
   537 000004D4 8D9117D8B0CC4C04FF- <1>
   537 000004DD 8BDA8663E44C4EF001- <1>
   537 000004E6 109AD1C68ECB25D7FE- <1>
   537 000004EF FD3F85152720665A0B- <1>
   537 000004F8 794CA5339BF78E04A8- <1>
   537 00000501 1B09B98EF7E9738A0A- <1>
   537 0000050A B212BFBC100B348AD9- <1>
   537 00000513 187225B84425A1650F- <1>
   537 0000051C 0D38D9FA3FE83D8226- <1>
   537 00000525 BDF2E7A83EB0965AA3- <1>
   537 0000052E 221090B3D354BB7A5C- <1>
   537 00000537 225B36              <1>
   538                              <1> .amount equ ($ - .) / 2
   539                              <1> %if .amount != LINKINFO_CODE_AMOUNT
   540                              <1>  %error Unexpected table size
   541                              <1> %endif
   542                              <1> 
   543                              <1> 	align 2, db 0
   544                              <1> linkinfo_code_table_entries:
   545 0000053A [7512][7A12][8012]- <1> .:	repeatdw LINKINFO_CODE_ENTRIES
   545 00000540 [8512][8E12][9C12]- <1>
   545 00000546 [A512][AF12][B912]- <1>
   545 0000054C [C312][CB12][D512]- <1>
   545 00000552 [E012][E712][EE12]- <1>
   545 00000558 [0213][0C13][1A13]- <1>
   545 0000055E [2313][2C13][3313]- <1>
   545 00000564 [3A13][5513][5C13]- <1>
   545 0000056A [6413][6C13][7913]- <1>
   545 00000570 [8113][8A13][9D13]- <1>
   545 00000576 [A213][AB13][B613]- <1>
   545 0000057C [D113][D813][E513]- <1>
   545 00000582 [0C14][1114][1E14]- <1>
   545 00000588 [2C14][3A14][5314]- <1>
   545 0000058E [6914][7B14][8B14]- <1>
   545 00000594 [9914][9F14][A814]- <1>
   545 0000059A [B114][BA14][C014]- <1>
   545 000005A0 [C914][DB14][E814]- <1>
   545 000005A6 [F514][0A15][2915]- <1>
   545 000005AC [4015][5915][6915]- <1>
   545 000005B2 [7F15][9715][AB15]- <1>
   545 000005B8 [C815][DB15][E815]- <1>
   545 000005BE [F415][0616][1216]- <1>
   545 000005C4 [2116][3616][4416]- <1>
   545 000005CA [5116][5B16][6816]- <1>
   545 000005D0 [7616][8216][9416]- <1>
   545 000005D6 [A516][B416][C116]- <1>
   545 000005DC [D116][D716][E216]- <1>
   545 000005E2 [EE16][F716][0B17]- <1>
   545 000005E8 [1617][2217][2F17]- <1>
   545 000005EE [3F17][4D17][5617]- <1>
   545 000005F4 [5E17][6617][6E17]- <1>
   545 000005FA [7717][8017][8A17]- <1>
   545 00000600 [9D17][A417][B017]- <1>
   545 00000606 [CD17][E017][E717]  <1>
   546                              <1> .amount equ ($ - .) / 2
   547                              <1> %if .amount != LINKINFO_CODE_AMOUNT
   548                              <1>  %error Unexpected table size
   549                              <1> %endif
   550                              <1> 
   551                              <1> 	align 2, db 0
   552                              <1> linkinfo_code_table_addresses:
   553 0000060C [0000]0000[0000]00- <1> .:	repeatdw LINKINFO_CODE_ADDRESSES
   553 00000613 00[0000]0000[0000]- <1>
   553 0000061A 0000[0000]0000-     <1>
   553 00000620 [0000]0000[0000]00- <1>
   553 00000627 00[0000]0000[0000]- <1>
   553 0000062E 0000[0000]0000-     <1>
   553 00000634 [0000]0000[0000]00- <1>
   553 0000063B 00[0000]0000[0000]- <1>
   553 00000642 0000[0000]0000-     <1>
   553 00000648 [0000]0000[0000]00- <1>
   553 0000064F 00[0000]0000[0000]- <1>
   553 00000656 0000[0000]0000-     <1>
   553 0000065C [0000]0000[0000]00- <1>
   553 00000663 00[0000]0000[0000]- <1>
   553 0000066A 0000[0000]0000-     <1>
   553 00000670 [0000]0000[0000]00- <1>
   553 00000677 00[0000]0000[0000]- <1>
   553 0000067E 0000[0000]0000-     <1>
   553 00000684 [0000]0000[0000]00- <1>
   553 0000068B 00[0000]0000[0000]- <1>
   553 00000692 0000[0000]0000-     <1>
   553 00000698 [0000]0000[0000]00- <1>
   553 0000069F 00[0000]0000[0000]- <1>
   553 000006A6 0000[0000]0000-     <1>
   553 000006AC [0000]0000[0000]00- <1>
   553 000006B3 00[0000]0000[0000]- <1>
   553 000006BA 0000[0000]0000-     <1>
   553 000006C0 [0000]0000[0000]00- <1>
   553 000006C7 00[0000]0000[0000]- <1>
   553 000006CE 0000[0000]0000-     <1>
   553 000006D4 [0000]0000[0000]00- <1>
   553 000006DB 00[0000]0000[0000]- <1>
   553 000006E2 0000[0000]0000-     <1>
   553 000006E8 [0000]0000[0000]00- <1>
   553 000006EF 00[0000]0000[0000]- <1>
   553 000006F6 0000[0000]0000-     <1>
   553 000006FC [0000]0000[0000]00- <1>
   553 00000703 00[0000]0000[0000]- <1>
   553 0000070A 0000[0000]0000-     <1>
   553 00000710 [0000]0000[0000]00- <1>
   553 00000717 00[0000]0000[0000]- <1>
   553 0000071E 0000[0000]0000-     <1>
   553 00000724 [0000]0000[0000]00- <1>
   553 0000072B 00[0000]0000[0000]- <1>
   553 00000732 0000[0000]0000-     <1>
   553 00000738 [0000]0000[0000]00- <1>
   553 0000073F 00[0000]0000[0000]- <1>
   553 00000746 0000[0000]0000-     <1>
   553 0000074C [0000]0000[0000]00- <1>
   553 00000753 00[0000]0000[0000]- <1>
   553 0000075A 0000[0000]0000-     <1>
   553 00000760 [0000]0000[0000]00- <1>
   553 00000767 00[0000]0000[0000]- <1>
   553 0000076E 0000[0000]0000-     <1>
   553 00000774 [0000]0000[0000]00- <1>
   553 0000077B 00[0000]0000[0000]- <1>
   553 00000782 0000[0000]0000-     <1>
   553 00000788 [0000]0000[0000]00- <1>
   553 0000078F 00[0000]0000[0000]- <1>
   553 00000796 0000[0000]0000-     <1>
   553 0000079C [0000]0000[0000]00- <1>
   553 000007A3 00[0000]0000[0000]- <1>
   553 000007AA 0000[0000]0200      <1>
   554                              <1> .amount equ ($ - .) / 4
   555                              <1> %if .amount != LINKINFO_CODE_AMOUNT
   556                              <1>  %error Unexpected table size
   557                              <1> %endif
   558                              <1> 
   559                              <1> 
   560 000007B0 076C696E6B73656C07- <1> 	dump_linkinfo_messages LINKINFO_DATA_MESSAGES, LINKINFO_CODE_MESSAGES
   560 000007B9 6C696E6B7365670F6C- <1>
   560 000007C2 696E6B696E666F6164- <1>
   560 000007CB 64726573730E6C696E- <1>
   560 000007D4 6B63616C6C5F746162- <1>
   560 000007DD 6C6506657874736567- <1>
   560 000007E6 08657874637373656C- <1>
   560 000007EF 08657874647373656C- <1>
   560 000007F8 0B6578747365675F73- <1>
   560 00000801 697A650B6578747365- <1>
   560 0000080A 675F75736564076578- <1>
   560 00000813 74646174610C657874- <1>
   560 0000081C 646174615F73697A65- <1>
   560 00000825 0C657874646174615F- <1>
   560 0000082E 757365640670737064- <1>
   560 00000837 626706707370646265- <1>
   560 00000840 05647373656C0D696E- <1>
   560 00000849 7465726E616C666C61- <1>
   560 00000852 67730E696E7465726E- <1>
   560 0000085B 616C666C616773320E- <1>
   560 00000864 696E7465726E616C66- <1>
   560 0000086D 6C616773330E696E74- <1>
   560 00000876 65726E616C666C6167- <1>
   560 0000087F 73340E696E7465726E- <1>
   560 00000888 616C666C616773350E- <1>
   560 00000891 696E7465726E616C66- <1>
   560 0000089A 6C616773360E696E74- <1>
   560 000008A3 65726E616C666C6167- <1>
   560 000008AC 7337076F7074696F6E- <1>
   560 000008B5 73086F7074696F6E73- <1>
   560 000008BE 32086F7074696F6E73- <1>
   560 000008C7 33086F7074696F6E73- <1>
   560 000008D0 34086F7074696F6E73- <1>
   560 000008D9 35086F7074696F6E73- <1>
   560 000008E2 36086F7074696F6E73- <1>
   560 000008EB 37076C617374636D64- <1>
   560 000008F4 076C696E655F696E0B- <1>
   560 000008FD 6C696E655F696E2E65- <1>
   560 00000906 6E64086C696E655F6F- <1>
   560 0000090F 75740C6C696E655F6F- <1>
   560 00000918 75745F656E64106175- <1>
   560 00000921 78627566665F736567- <1>
   560 0000092A 6F7273656C14617578- <1>
   560 00000933 627566665F63757272- <1>
   560 0000093C 656E745F73697A651D- <1>
   560 00000945 617578627566665F63- <1>
   560 0000094E 757272656E745F7369- <1>
   560 00000957 7A655F6D696E75735F- <1>
   560 00000960 32340866697273746D- <1>
   560 00000969 636209666972737475- <1>
   560 00000972 6D63620B6D73672E69- <1>
   560 0000097B 6E7374616C6C0D6D73- <1>
   560 00000984 672E756E696E737461- <1>
   560 0000098D 6C6C076D73672E7275- <1>
   560 00000996 6E0D656E7472797365- <1>
   560 0000099F 675F73697A650A6D65- <1>
   560 000009A8 73736167657365670F- <1>
   560 000009B1 6D6573736167657365- <1>
   560 000009BA 675F73697A6508636F- <1>
   560 000009C3 64655F73656709636F- <1>
   560 000009CC 64655F73697A650F61- <1>
   560 000009D5 7578627566665F7365- <1>
   560 000009DE 676D656E7414617578- <1>
   560 000009E7 627566665F63757272- <1>
   560 000009F0 656E745F73697A650F- <1>
   560 000009F9 686973746F72795F73- <1>
   560 00000A02 65676D656E740F6869- <1>
   560 00000A0B 73746F72797365675F- <1>
   560 00000A14 73697A6506656E7673- <1>
   560 00000A1D 656708656E765F7369- <1>
   560 00000A26 7A6509616C6C6F635F- <1>
   560 00000A2F 7365670A616C6C6F63- <1>
   560 00000A38 5F73697A65156E6578- <1>
   560 00000A41 745F72657365727665- <1>
   560 00000A4A 645F7365676D656E74- <1>
   560 00000A53 17616C6C6F635F7369- <1>
   560 00000A5C 7A655F6E6F745F7265- <1>
   560 00000A65 736572766564107265- <1>
   560 00000A6E 7365727665645F6164- <1>
   560 00000A77 647265737310686973- <1>
   560 00000A80 746F72792E7365676F- <1>
   560 00000A89 7273656C0D68697374- <1>
   560 00000A92 6F72792E6669727374- <1>
   560 00000A9B 0C686973746F72792E- <1>
   560 00000AA4 6C6173740D68697374- <1>
   560 00000AAD 6F7279666F726D6174- <1>
   560 00000AB6 05737461636B097374- <1>
   560 00000ABF 61636B5F656E641365- <1>
   560 00000AC8 78745F636F6D6D616E- <1>
   560 00000AD1 645F68616E646C6572- <1>
   560 00000ADA 126578745F696E6A65- <1>
   560 00000AE3 63745F68616E646C65- <1>
   560 00000AEC 720673617665737007- <1>
   560 00000AF5 7468726F7773701665- <1>
   560 00000AFE 78745F70726570726F- <1>
   560 00000B07 636573735F68616E64- <1>
   560 00000B10 6C6572106578745F70- <1>
   560 00000B19 7574735F68616E646C- <1>
   560 00000B22 65721B6578745F7075- <1>
   560 00000B2B 74735F636F70796F75- <1>
   560 00000B34 747075745F68616E64- <1>
   560 00000B3D 6C6572186578745F70- <1>
   560 00000B46 7574735F6765746C69- <1>
   560 00000B4F 6E655F68616E646C65- <1>
   560 00000B58 721D6578745F61615F- <1>
   560 00000B61 6265666F72655F6765- <1>
   560 00000B6A 746C696E655F68616E- <1>
   560 00000B73 646C6572156578745F- <1>
   560 00000B7C 61615F696E6A656374- <1>
   560 00000B85 5F68616E646C65721C- <1>
   560 00000B8E 6578745F61615F6166- <1>
   560 00000B97 7465725F6765746C69- <1>
   560 00000BA0 6E655F68616E646C65- <1>
   560 00000BA9 72106578745F616D69- <1>
   560 00000BB2 735F68616E646C6572- <1>
   560 00000BBB 15616D69735F6D756C- <1>
   560 00000BC4 7469706C65785F6E75- <1>
   560 00000BCD 6D626572227472795F- <1>
   560 00000BD6 64656275676765725F- <1>
   560 00000BDF 616D69735F6D756C74- <1>
   560 00000BE8 69706C65785F6E756D- <1>
   560 00000BF1 626572066D73672E69- <1>
   560 00000BFA 6E076C617374636D64- <1>
   560 00000C03 0866697273746D6362- <1>
   560 00000C0C 096669727374756D63- <1>
   560 00000C15 620664706D6933321C- <1>
   560 00000C1E 6C617374636D645F74- <1>
   560 00000C27 72616E736665725F65- <1>
   560 00000C30 78745F616464726573- <1>
   560 00000C39 731A6C617374636D64- <1>
   560 00000C42 5F7472616E73666572- <1>
   560 00000C4B 5F6578745F656E7472- <1>
   560 00000C54 7906646D79636D6406- <1>
   560 00000C5D 6861735F3837076861- <1>
   560 00000C66 735F6D6D780C696E73- <1>
   560 00000C6F 74616C6C666C616773- <1>
   560 00000C78 0D696E7374616C6C66- <1>
   560 00000C81 6F726D617407726567- <1>
   560 00000C8A 5F656178077265675F- <1>
   560 00000C93 656378077265675F65- <1>
   560 00000C9C 6478077265675F6562- <1>
   560 00000CA5 78077265675F657370- <1>
   560 00000CAE 077265675F65627007- <1>
   560 00000CB7 7265675F6573690772- <1>
   560 00000CC0 65675F656469077265- <1>
   560 00000CC9 675F65666C07726567- <1>
   560 00000CD2 5F656970067265675F- <1>
   560 00000CDB 6373067265675F6473- <1>
   560 00000CE4 067265675F73730672- <1>
   560 00000CED 65675F657306726567- <1>
   560 00000CF6 5F6673067265675F67- <1>
   560 00000CFF 73076D73672E6E6F74- <1>
   560 00000D08 086D73672E7468656E- <1>
   560 00000D11 076578745F7661720E- <1>
   560 00000D1A 6578745F7661725F61- <1>
   560 00000D23 6D6F756E740E657874- <1>
   560 00000D2C 5F7661725F666F726D- <1>
   560 00000D35 61740C6578745F7661- <1>
   560 00000D3E 725F73697A65236973- <1>
   560 00000D47 7661726961626C655F- <1>
   560 00000D50 6D6F7265627974655F- <1>
   560 00000D59 6E616D656865616465- <1>
   560 00000D62 72732E6578740D7661- <1>
   560 00000D6B 725F6578745F736574- <1>
   560 00000D74 75700A6578745F6861- <1>
   560 00000D7D 6E646C65176E656172- <1>
   560 00000D86 5F7472616E73666572- <1>
   560 00000D8F 5F6578745F656E7472- <1>
   560 00000D98 79196E6561725F7472- <1>
   560 00000DA1 616E736665725F6578- <1>
   560 00000DAA 745F61646472657373- <1>
   560 00000DB3 106C6F61645F646174- <1>
   560 00000DBC 615F6C6F7765737409- <1>
   560 00000DC5 6C6F61645F64617461- <1>
   560 00000DCE 116C6F61645F79796E- <1>
   560 00000DD7 616D655F696E707574- <1>
   560 00000DE0 1568616E646C655F73- <1>
   560 00000DE9 63616E5F6469725F65- <1>
   560 00000DF2 6E7472791968616E64- <1>
   560 00000DFB 6C655F7363616E5F64- <1>
   560 00000E04 69725F6E6F745F666F- <1>
   560 00000E0D 756E64242E2E40626F- <1>
   560 00000E16 6F745F7363616E5F64- <1>
   560 00000E1F 69725F72657475726E- <1>
   560 00000E28 5F66696C656E6F7466- <1>
   560 00000E31 6F756E642D2E2E4062- <1>
   560 00000E3A 6F6F745F7363616E5F- <1>
   560 00000E43 6469725F7265747572- <1>
   560 00000E4C 6E5F7375626469725F- <1>
   560 00000E55 6F725F66617433325F- <1>
   560 00000E5E 656E747279282E2E40- <1>
   560 00000E67 626F6F745F7363616E- <1>
   560 00000E70 5F6469725F72657475- <1>
   560 00000E79 726E5F66617431365F- <1>
   560 00000E82 726F6F745F656E7472- <1>
   560 00000E8B 790E7363616E5F6469- <1>
   560 00000E94 725F656E747279136C- <1>
   560 00000E9D 6F61645F636865636B- <1>
   560 00000EA6 5F6469725F61747472- <1>
   560 00000EAF 106C6F61645F79796E- <1>
   560 00000EB8 616D655F6E65787410- <1>
   560 00000EC1 6C6F61645F79795F64- <1>
   560 00000ECA 6972656E747279106C- <1>
   560 00000ED3 6F61645F6B65726E65- <1>
   560 00000EDC 6C5F6E616D65176C6F- <1>
   560 00000EE5 61645F6164725F6469- <1>
   560 00000EEE 726275665F7365676D- <1>
   560 00000EF7 656E740F6578656362- <1>
   560 00000F00 6C6B2E636D646C696E- <1>
   560 00000F09 650A636F6E66696770- <1>
   560 00000F12 61746812636F6E6669- <1>
   560 00000F1B 67706174682E646972- <1>
   560 00000F24 5F656E640B73637269- <1>
   560 00000F2D 707473706174681373- <1>
   560 00000F36 637269707473706174- <1>
   560 00000F3F 682E6469725F656E64- <1>
   560 00000F48 0F6275696C645F6F70- <1>
   560 00000F51 74696F6E5F504D0463- <1>
   560 00000F5A 6D64330C636D64335F- <1>
   560 00000F63 6E6F745F6578740D70- <1>
   560 00000F6C 7574735F6578745F64- <1>
   560 00000F75 6F6E650D707574735F- <1>
   560 00000F7E 6578745F6E65787418- <1>
   560 00000F87 707574735F636F7079- <1>
   560 00000F90 6F75747075745F6578- <1>
   560 00000F99 745F646F6E65157075- <1>
   560 00000FA2 74735F6765746C696E- <1>
   560 00000FAB 655F6578745F646F6E- <1>
   560 00000FB4 650B696E5F67657469- <1>
   560 00000FBD 6E70757411636D6433- <1>
   560 00000FC6 5F70726570726F6365- <1>
   560 00000FCF 737365640F636D6433- <1>
   560 00000FD8 5F6E6F745F696E6A65- <1>
   560 00000FE1 63740D636D64335F69- <1>
   560 00000FEA 6E6A65637465640D61- <1>
   560 00000FF3 615F6E6F745F696E6A- <1>
   560 00000FFC 6563740B61615F696E- <1>
   560 00001005 6A6563746564116161- <1>
   560 0000100E 5F6265666F72655F67- <1>
   560 00001017 65746C696E65106161- <1>
   560 00001020 5F61667465725F6765- <1>
   560 00001029 746C696E650C776869- <1>
   560 00001032 6C655F627566666572- <1>
   560 0000103B 107768696C655F6275- <1>
   560 00001044 666665722E656E6405- <1>
   560 0000104D 73776368311B696E74- <1>
   560 00001056 65726E616C666C6167- <1>
   560 0000105F 735F776974685F7474- <1>
   560 00001068 5F7768696C650C7979- <1>
   560 00001071 5F69735F7363726970- <1>
   560 0000107A 741C7465726D696E61- <1>
   560 00001083 746F725F696E5F6C69- <1>
   560 0000108C 6E655F696E2E6F6666- <1>
   560 00001095 7365741B7465726D69- <1>
   560 0000109E 6E61746F725F696E5F- <1>
   560 000010A7 6C696E655F696E2E76- <1>
   560 000010B0 616C7565146578745F- <1>
   560 000010B9 66696E6973682E6270- <1>
   560 000010C2 5F69735F7365740576- <1>
   560 000010CB 726567730C76726567- <1>
   560 000010D4 732E616D6F756E740F- <1>
   560 000010DD 61736369697461626C- <1>
   560 000010E6 656E616D65730A706D- <1>
   560 000010EF 5F325F38366D5F300F- <1>
   560 000010F8 6C6F61645F756E6974- <1>
   560 00001101 5F666C616773157373- <1>
   560 0000110A 735F73696C656E745F- <1>
   560 00001113 636F756E745F757365- <1>
   560 0000111C 64107373735F73696C- <1>
   560 00001125 656E745F636F756E74- <1>
   560 0000112E 0E7365617263685F72- <1>
   560 00001137 6573756C7473097373- <1>
   560 00001140 636F756E7465721573- <1>
   560 00001149 65617263685F726573- <1>
   560 00001152 756C74735F616D6F75- <1>
   560 0000115B 6E740D706174636861- <1>
   560 00001164 7265615F72756E1270- <1>
   560 0000116D 61746368617265615F- <1>
   560 00001176 72756E2E73697A6515- <1>
   560 0000117F 706174636861726561- <1>
   560 00001188 5F72756E2E7365676D- <1>
   560 00001191 656E74107061746368- <1>
   560 0000119A 617265615F696E7472- <1>
   560 000011A3 746E15706174636861- <1>
   560 000011AC 7265615F696E747274- <1>
   560 000011B5 6E2E73697A65187061- <1>
   560 000011BE 746368617265615F69- <1>
   560 000011C7 6E7472746E2E736567- <1>
   560 000011D0 6D656E740970726F6D- <1>
   560 000011D9 70746C656E15696E64- <1>
   560 000011E2 69726563745F617272- <1>
   560 000011EB 61795F657272666978- <1>
   560 000011F4 077072696F72726302- <1>
   560 000011FD 726313626F6F745F69- <1>
   560 00001206 6E69745F666F756E64- <1>
   560 0000120F 6E616D651564657669- <1>
   560 00001218 63655F717569747461- <1>
   560 00001221 626C655F7265677315- <1>
   560 0000122A 6465766963655F6865- <1>
   560 00001233 616465725F61646472- <1>
   560 0000123C 65737318696E69745F- <1>
   560 00001245 65786563757461626C- <1>
   560 0000124E 655F706174686E616D- <1>
   560 00001257 651C696E69745F6578- <1>
   560 00001260 6563757461626C655F- <1>
   560 00001269 706174686E616D652E- <1>
   560 00001272 656E64047075747305- <1>
   560 0000127B 707574737A04707574- <1>
   560 00001284 6308707574736C696E- <1>
   560 0000128D 650D707574736C696E- <1>
   560 00001296 655F63726C66087472- <1>
   560 0000129F 696D7075747309736B- <1>
   560 000012A8 6970636F6D6D610973- <1>
   560 000012B1 6B6970636F6D6D3009- <1>
   560 000012BA 736B69707768697465- <1>
   560 000012C3 07736B697077683009- <1>
   560 000012CC 6973737472696E673F- <1>
   560 000012D5 0A6361706974616C69- <1>
   560 000012DE 73650663686B656F6C- <1>
   560 000012E7 066973656F6C3F1369- <1>
   560 000012F0 73656F6C3F2E6E6F74- <1>
   560 000012F9 73656D69636F6C6F6E- <1>
   560 00001302 097570706572636173- <1>
   560 0000130B 650D67756172645F61- <1>
   560 00001314 757862756666086775- <1>
   560 0000131D 6172645F7265087072- <1>
   560 00001326 65706861636B06646F- <1>
   560 0000132F 6861636B06756E6861- <1>
   560 00001338 636B1A68616E646C65- <1>
   560 00001341 5F73657269616C5F66- <1>
   560 0000134A 6C6167735F6374726C- <1>
   560 00001353 5F63066865786E7962- <1>
   560 0000135C 076865786279746507- <1>
   560 00001365 686578776F72640C68- <1>
   560 0000136E 6578776F72645F6869- <1>
   560 00001377 676807646563776F72- <1>
   560 00001380 640864656364776F72- <1>
   560 00001389 64126465635F64776F- <1>
   560 00001392 72645F6D696E776964- <1>
   560 0000139B 7468046973706D0873- <1>
   560 000013A4 657465733264780A63- <1>
   560 000013AD 616C6C5F696E743244- <1>
   560 000013B6 1A636F70795F73696E- <1>
   560 000013BF 676C655F636F756E74- <1>
   560 000013C8 65645F737472696E67- <1>
   560 000013D1 06696E7463686B0C49- <1>
   560 000013DA 7349495350456E7472- <1>
   560 000013E3 793F26646973705F64- <1>
   560 000013EC 7861785F74696D6573- <1>
   560 000013F5 5F63785F7769647468- <1>
   560 000013FE 5F62785F73697A652E- <1>
   560 00001407 73746F726504636D64- <1>
   560 00001410 330C636D64335F6E6F- <1>
   560 00001419 745F6578740D707574- <1>
   560 00001422 735F6578745F646F6E- <1>
   560 0000142B 650D707574735F6578- <1>
   560 00001434 745F6E657874187075- <1>
   560 0000143D 74735F636F70796F75- <1>
   560 00001446 747075745F6578745F- <1>
   560 0000144F 646F6E651570757473- <1>
   560 00001458 5F6765746C696E655F- <1>
   560 00001461 6578745F646F6E6511- <1>
   560 0000146A 636D64335F70726570- <1>
   560 00001473 726F6365737365640F- <1>
   560 0000147C 636D64335F6E6F745F- <1>
   560 00001485 696E6A6563740D636D- <1>
   560 0000148E 64335F696E6A656374- <1>
   560 00001497 6564056572726F7208- <1>
   560 000014A0 736574647332736908- <1>
   560 000014A9 736574647332627808- <1>
   560 000014B2 64645F73746F726505- <1>
   560 000014BB 496E444F53085F646F- <1>
   560 000014C4 7363616C6C1179795F- <1>
   560 000014CD 646F735F7061727365- <1>
   560 000014D6 5F6E616D650C79795F- <1>
   560 000014DF 6F70656E5F66696C65- <1>
   560 000014E8 0C79795F636865636B- <1>
   560 000014F1 5F6C666E1479795F63- <1>
   560 000014FA 6F6D6D6F6E5F706172- <1>
   560 00001503 73655F6E616D651E79- <1>
   560 0000150C 795F636F6D6D6F6E5F- <1>
   560 00001515 70617273655F6E616D- <1>
   560 0000151E 655F62785F62756666- <1>
   560 00001527 65721672657472795F- <1>
   560 00001530 6F70656E5F73637269- <1>
   560 00001539 70747370617468186E- <1>
   560 00001542 6561725F7472616E73- <1>
   560 0000154B 6665725F6578745F72- <1>
   560 00001554 657475726E0F79795F- <1>
   560 0000155D 626F6F745F72656164- <1>
   560 00001566 2E62781579795F626F- <1>
   560 0000156F 6F745F7365656B5F73- <1>
   560 00001578 746172742E62781779- <1>
   560 00001581 795F626F6F745F7365- <1>
   560 0000158A 656B5F63757272656E- <1>
   560 00001593 742E62781379795F62- <1>
   560 0000159C 6F6F745F7061727365- <1>
   560 000015A5 5F6E616D65321C7979- <1>
   560 000015AE 5F626F6F745F706172- <1>
   560 000015B7 73655F6E616D655F62- <1>
   560 000015C0 785F62756666657212- <1>
   560 000015C9 79795F626F6F745F6F- <1>
   560 000015D2 70656E5F66696C6532- <1>
   560 000015DB 0C7363616E5F646972- <1>
   560 000015E4 5F6175780B72656164- <1>
   560 000015ED 5F736563746F721179- <1>
   560 000015F6 795F626F6F745F696E- <1>
   560 000015FF 69745F646972320B67- <1>
   560 00001608 6F745F7979656E7472- <1>
   560 00001611 790E7363616E5F6469- <1>
   560 0000161A 725F656E747279142E- <1>
   560 00001623 2E4079795F66696C65- <1>
   560 0000162C 6E616D655F656D7074- <1>
   560 00001635 790D626F6F745F7061- <1>
   560 0000163E 7273655F666E0C696E- <1>
   560 00001647 69745F626F6F74636D- <1>
   560 00001650 6409636C6F73655F65- <1>
   560 00001659 78740C79795F726573- <1>
   560 00001662 65745F6275660D6161- <1>
   560 0000166B 5F6E6F745F696E6A65- <1>
   560 00001674 63740B61615F696E6A- <1>
   560 0000167D 65637465641161615F- <1>
   560 00001686 6265666F72655F6765- <1>
   560 0000168F 746C696E651061615F- <1>
   560 00001698 61667465725F676574- <1>
   560 000016A1 6C696E650E646F7363- <1>
   560 000016AA 616C6C5F6578747365- <1>
   560 000016B3 670C746573745F645F- <1>
   560 000016BC 625F6269740F746573- <1>
   560 000016C5 745F686967685F6C69- <1>
   560 000016CE 6D6974057365747263- <1>
   560 000016D7 0A736B697065717561- <1>
   560 000016E0 6C730B636F756E745F- <1>
   560 000016E9 73746F726508686578- <1>
   560 000016F2 64776F726413766572- <1>
   560 000016FB 6966797365676D5F6F- <1>
   560 00001704 725F6572726F720A76- <1>
   560 0000170D 65726966797365676D- <1>
   560 00001716 0B6973766172696162- <1>
   560 0000171F 6C653F0C6973736570- <1>
   560 00001728 617261746F723F0F67- <1>
   560 00001731 65745F76616C75655F- <1>
   560 0000173A 72616E67650D676574- <1>
   560 00001743 65787072657373696F- <1>
   560 0000174C 6E0867657464776F72- <1>
   560 00001755 6407676574776F7264- <1>
   560 0000175E 076765746279746507- <1>
   560 00001767 676574616464720867- <1>
   560 00001770 657461646472580867- <1>
   560 00001779 657472616E67650967- <1>
   560 00001782 657472616E67655812- <1>
   560 0000178B 6765745F6C656E6774- <1>
   560 00001794 685F6B6579776F7264- <1>
   560 0000179D 066765746E79620B69- <1>
   560 000017A6 736F70657261746F72- <1>
   560 000017AF 3F1C2E2E4063616C6C- <1>
   560 000017B8 5F6F70657261746F72- <1>
   560 000017C1 5F6469737061746368- <1>
   560 000017CA 657273127661725F65- <1>
   560 000017D3 78745F73657475705F- <1>
   560 000017DC 646F6E650667657473- <1>
   560 000017E5 74720A656E7472795F- <1>
   560 000017EE 7265746E            <1>
    75                                  %endif
    76                                  
    77                                  
    78                                  	usesection lDEBUG_DATA_ENTRY
    78          ------------------       note: usesection lDEBUG_DATA_ENTRY
    79                                  %if _LINK_COMPAT
    80                                  	align 4, db 0
    81                                  %endif
    82                                  
    83                                  msg:
    84                                  
    85                                  	align 2, db 0
    86                                  .help_array:
    87 00000000 [8324]                  	dw .build_nameversion + NONCOMPRESSEDFLAG
    88 00000002 [F317]                  	dw .help_header + NONCOMPRESSEDFLAG
    89 00000004 [0218]                  	dw .help_contents
    90                                  .help_array_amount: equ ($ - .help_array) / 2
    91                                  
    92                                  	usemessagesegment
    92          ------------------       note: usesection MESSAGESEGMENT
    93                                  	align 2, db 0
    94                                  .help_header:
    95 000017F2 2068656C7020736372-     	asciz " help screen",13,10
    95 000017FB 65656E0D0A00       
    96                                  .help_contents: helppage main
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42 00001801 00                  <1>  align 2, db 0
    43                              <1> %00:
    44 00001802 3005                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00001804 <bin 530h>          <1>  incbin %%includename
    47                              <1> %%end:
    97                                  
    98                                  %if _EXTHELP
    99                                  	usesection lDEBUG_DATA_ENTRY
    99          ------------------       note: usesection lDEBUG_DATA_ENTRY
   100 00000006 534F5552434500          .source:asciz "SOURCE"
   101                                  
   102                                  	usemessagesegment
   102          ------------------       note: usesection MESSAGESEGMENT
   103                                  .help_source: helppage source
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 00001D34 FB00                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00001D36 <bin FBh>           <1>  incbin %%includename
    47                              <1> %%end:
   104                                  %endif
   105                                  
   106                                  %if !_LOADER
   107                                  	usesection lDEBUG_DATA_ENTRY
   107          ------------------       note: usesection lDEBUG_DATA_ENTRY
   108                                  .re:
   109 0000000D 524500                  	asciz "RE"
   110                                  
   111                                  	usemessagesegment
   111          ------------------       note: usesection MESSAGESEGMENT
   112                                  .help_re: helppage re
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42 00001E31 00                  <1>  align 2, db 0
    43                              <1> %00:
    44 00001E32 3403                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00001E34 <bin 334h>          <1>  incbin %%includename
    47                              <1> %%end:
   113                                  %endif
   114                                  
   115                                  	usesection lDEBUG_DATA_ENTRY
   115          ------------------       note: usesection lDEBUG_DATA_ENTRY
   116                                  .run:
   117 00000010 52554E00                	asciz "RUN"
   118                                  
   119                                  %if !_LOADER
   120                                  	usemessagesegment
   120          ------------------       note: usesection MESSAGESEGMENT
   121                                  .help_run: helppage run
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 00002168 5C02                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 0000216A <bin 25Ch>          <1>  incbin %%includename
    47                              <1> %%end:
   122                                  %endif
   123                                  
   124                                  	usesection lDEBUG_DATA_ENTRY
   124          ------------------       note: usesection lDEBUG_DATA_ENTRY
   125                                  
   126                                  	align 2, db 0
   127                                  .build_array:
   128 00000014 [8324]                  	dw .build_nameversion + NONCOMPRESSEDFLAG
   129 00000016 [AB24]                  	dw .build_linebreak + NONCOMPRESSEDFLAG
   130                                  .build_version_amount: equ ($ - .build_array) / 2
   131 00000018 [D324]                  	dw .build_ldebug + NONCOMPRESSEDFLAG
   132 0000001A [1325]                  	dw .build_lmacros + NONCOMPRESSEDFLAG
   133                                  %if _SYMBOLIC
   134                                  	dw .build_symsnip + NONCOMPRESSEDFLAG
   135                                  %endif
   136                                  %if _BOOTLDR
   137 0000001C [5325]                  	dw .build_scanptab + NONCOMPRESSEDFLAG
   138                                  %endif
   139 0000001E [9325]                  	dw .build_inicomp + NONCOMPRESSEDFLAG
   140                                  %if (_BOOTLDR && _CHECKSUM) || _CHECKSUM_NEW
   141                                  	dw .build_inicheck + NONCOMPRESSEDFLAG
   142                                  %endif
   143                                  %if _BOOTLDR
   144 00000020 [D325]                  	dw .build_ldosboot + NONCOMPRESSEDFLAG
   145                                  %endif
   146                                  .build_short_amount: equ ($ - .build_array) / 2
   147                                  %if _EXTHELP
   148 00000022 [1226]                  	dw .build_long
   149                                  %endif
   150                                  .build_long_amount: equ ($ - .build_array) / 2
   151                                  
   152                                  %if _OPTIONS && _EXTHELP
   153                                  	align 2, db 0
   154                                  .options_array:
   155 00000024 [B033]                  	dw .options_1
   156 00000026 [B036]                  	dw .options_2
   157 00000028 [9C38]                  	dw .options_3
   158 0000002A [E83A]                  	dw .options_4
   159 0000002C [C43B]                  	dw .options_5
   160 0000002E [CC3B]                  	dw .options_6
   161                                  .options_array_option_amount: equ ($ - .options_array) / 2
   162 00000030 [403E]                  	dw .flags_1
   163 00000032 [5840]                  	dw .asmoptions_1
   164                                  .options_array_amount: equ ($ - .options_array) / 2
   165                                  
   166                                  .options_scan:
   167 00000034 313233343536            	db "123456"
   168                                  .options_scan_amount: equ ($ - .options_scan)
   169                                  %if .options_array_option_amount != .options_scan_amount
   170                                   %error Array size mismatch
   171                                  %endif
   172                                  
   173                                  .string_options:
   174 0000003A 4F5054494F4E5300        	asciz "OPTIONS"
   175                                  
   176                                  	usemessagesegment
   176          ------------------       note: usesection MESSAGESEGMENT
   177                                  .options_pages: helppage options
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 000023C6 B900                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 000023C8 <bin B9h>           <1>  incbin %%includename
    47                              <1> %%end:
   178                                  %endif
   179                                  
   180                                  	usesection lDEBUG_DATA_ENTRY
   180          ------------------       note: usesection lDEBUG_DATA_ENTRY
   181                                  .string_build:
   182 00000042 4255494C4400            	asciz "BUILD"
   183                                  .string_version:
   184 00000048 56455253494F4E00        	asciz "VERSION"
   185                                  
   186                                  	usemessagesegment
   186          ------------------       note: usesection MESSAGESEGMENT
   187 00002481 00                      	align 2, db 0
   188                                  .build_nameversion:
   189 00002482 436F6E64746E6C2E20-     	asciz _PROGNAME,_VERSION
   189 0000248B 44656275676761626C-
   189 00002494 65206C446562756720-
   189 0000249D 28323032362D30352D-
   189 000024A6 32372900           
   190                                  
   191                                  	align 2, db 0
   192                                  .build_linebreak:
   193 000024AA 0D0A00                  	asciz 13,10
   194 000024AD 00<rep 25h>             	_fill_at_least 80, 0, .build_nameversion
   195                                  
   196                                  	align 2, db 0
   197                                  .build_ldebug:
   198                                  %ifnidn _REVISIONID,""
   199 000024D2 536F7572636520436F-     	db "Source Control Revision ID: ",_REVISIONID,13,10
   199 000024DB 6E74726F6C20526576-
   199 000024E4 6973696F6E2049443A-
   199 000024ED 206867206430316464-
   199 000024F6 343439626466342028-
   199 000024FF 3636383920616E6365-
   199 00002508 73746F7273290D0A   
   200                                  %endif
   201 00002510 00                      	asciz
   202 00002511 00                      	_fill_at_least 64, 0, .build_ldebug
   203                                  
   204                                  	align 2, db 0
   205                                  .build_lmacros:
   206 00002512 55736573206C6D6163-     	fill_at_least 64, 0, asciz _REVISIONID_LMACROS
   206 0000251B 726F733A2020526576-
   206 00002524 6973696F6E20494420-
   206 0000252D 686720646535336139-
   206 00002536 363836666164202831-
   206 0000253F 363720616E63657374-
   206 00002548 6F7273290D0A0000-  
   206 00002548 <rep 3h>           
   207                                  
   208                                  %if _SYMBOLIC
   209                                  	align 2, db 0
   210                                  .build_symsnip:
   211                                  	fill_at_least 64, 0, asciz _REVISIONID_SYMSNIP
   212                                  %endif
   213                                  
   214                                  %if _BOOTLDR
   215                                  	align 2, db 0
   216                                  .build_scanptab:
   217 00002552 55736573207363616E-     	fill_at_least 64, 0, asciz _REVISIONID_SCANPTAB
   217 0000255B 707461623A20526576-
   217 00002564 6973696F6E20494420-
   217 0000256D 686720353735666138-
   217 00002576 396664363731202833-
   217 0000257F 3120616E636573746F-
   217 00002588 7273290D0A0000-    
   217 00002588 <rep 4h>           
   218                                  %endif
   219                                  
   220                                  	align 2, db 0
   221                                  .build_inicomp:
   222 00002592 5573657320696E6963-     	fill_at_least 64, 0, asciz _REVISIONID_INICOMP
   222 0000259B 6F6D703A2020526576-
   222 000025A4 6973696F6E20494420-
   222 000025AD 686720343837326236-
   222 000025B6 326236386333202836-
   222 000025BF 363720616E63657374-
   222 000025C8 6F7273290D0A0000-  
   222 000025C8 <rep 3h>           
   223                                  
   224                                  %if (_BOOTLDR && _CHECKSUM) || _CHECKSUM_NEW
   225                                  	align 2, db 0
   226                                  .build_inicheck:
   227                                  	fill_at_least 64, 0, asciz _REVISIONID_INICHECK
   228                                  %endif
   229                                  
   230                                  %if _BOOTLDR
   231                                  	align 2, db 0
   232                                  .build_ldosboot:
   233 000025D2 55736573206C646F73-     	fill_at_least 64, 0, asciz _REVISIONID_LDOSBOOT
   233 000025DB 626F6F743A20526576-
   233 000025E4 6973696F6E20494420-
   233 000025ED 686720616665663734-
   233 000025F6 383534363062202831-
   233 000025FF 30323220616E636573-
   233 00002608 746F7273290D0A0000-
   233 00002608 <rep 2h>           
   234                                  %endif
   235                                  
   236                                  %if _EXTHELP
   237                                  .build_long: helppage build
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 00002612 AD01                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00002614 <bin 1ADh>          <1>  incbin %%includename
    47                              <1> %%end:
   238                                  %endif
   239                                  %if ! _EXTHELP || _HELP_COMPRESSED
   240                                   %if _BOOTLDR
   241 000027C1 00                      	asciz
   242                                  	; This message is used by mak.sh to detect that we
   243                                  	;  are building with boot load support.
   244 000027C2 0D0A426F6F74206C6F-     	db 13,10,"Boot loader",13,10
   244 000027CB 616465720D0A       
   245 000027D1 00                      	asciz
   246                                   %endif
   247                                  %endif
   248                                  
   249                                  %if _EXTHELP
   250                                  	usemessagesegment
   250          ------------------       note: usesection MESSAGESEGMENT
   251                                  .license: helppage license
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 000027D2 EE01                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 000027D4 <bin 1EEh>          <1>  incbin %%includename
    47                              <1> %%end:
   252                                  
   253                                  	usemessagesegment
   253          ------------------       note: usesection MESSAGESEGMENT
   254                                  .reghelp: helppage regs
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 000029C2 2601                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 000029C4 <bin 126h>          <1>  incbin %%includename
    47                              <1> %%end:
   255                                  
   256                                  	usemessagesegment
   256          ------------------       note: usesection MESSAGESEGMENT
   257                                  .flaghelp: helppage flags
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 00002AEA B801                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00002AEC <bin 1B8h>          <1>  incbin %%includename
    47                              <1> %%end:
   258                                  
   259                                   %if _COND
   260                                  	usemessagesegment
   260          ------------------       note: usesection MESSAGESEGMENT
   261                                  .condhelp: helppage cond
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 00002CA4 C801                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00002CA6 <bin 1C8h>          <1>  incbin %%includename
    47                              <1> %%end:
   262                                   %endif
   263                                  
   264                                   %if _EXPRESSIONS
   265                                  	usemessagesegment
   265          ------------------       note: usesection MESSAGESEGMENT
   266                                  .expressionhelp: helppage expr
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 00002E6E 4005                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00002E70 <bin 540h>          <1>  incbin %%includename
    47                              <1> %%end:
   267                                   %endif
   268                                  
   269                                   %if _OPTIONS
   270                                  	usemessagesegment
   270          ------------------       note: usesection MESSAGESEGMENT
   271                                  .options_1: helppage options1
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 000033B0 FD02                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 000033B2 <bin 2FDh>          <1>  incbin %%includename
    47                              <1> %%end:
   272                                  
   273                                  	usemessagesegment
   273          ------------------       note: usesection MESSAGESEGMENT
   274                                  .options_2: helppage options2
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42 000036AF 00                  <1>  align 2, db 0
    43                              <1> %00:
    44 000036B0 EA01                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 000036B2 <bin 1EAh>          <1>  incbin %%includename
    47                              <1> %%end:
   275                                  
   276                                  	usemessagesegment
   276          ------------------       note: usesection MESSAGESEGMENT
   277                                  .options_3: helppage options3
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 0000389C 4902                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 0000389E <bin 249h>          <1>  incbin %%includename
    47                              <1> %%end:
   278                                  
   279                                  	usemessagesegment
   279          ------------------       note: usesection MESSAGESEGMENT
   280                                  .options_4: helppage options4, 1
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42 00003AE7 00                  <1>  align 2, db 0
    43                              <1> %00:
    44 00003AE8 D900                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00003AEA <bin D9h>           <1>  incbin %%includename
    47                              <1> %%end:
   281                                  	; terminator is in .options_5
   282                                  
   283                                  	usemessagesegment
   283          ------------------       note: usesection MESSAGESEGMENT
   284 00003BC3 00                      	align 2, db 0
   285                                  .options_5:
   286                                  %if _HELP_COMPRESSED
   287                                   %if _LZEXEDAT	; lzexedat:
   288 00003BC4 05000200000000          	countedw 2, 0, 0, 0, 0
   289                                  		; tag 0002h
   290                                  		; combined 0000h
   291                                  		; escaped 00h
   292                                   %else		; heatshrink:
   293                                  	dw 2		; length of compressed data (excluding itself)
   294                                  	db 10, 4	; parameters expected by depack, -w then -l
   295                                   %endif
   296                                  %else
   297                                  	asciz
   298                                  %endif
   299                                  
   300                                  	usemessagesegment
   300          ------------------       note: usesection MESSAGESEGMENT
   301                                  .options_6: helppage options6
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42 00003BCB 00                  <1>  align 2, db 0
    43                              <1> %00:
    44 00003BCC 7202                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00003BCE <bin 272h>          <1>  incbin %%includename
    47                              <1> %%end:
   302                                  
   303                                  	usemessagesegment
   303          ------------------       note: usesection MESSAGESEGMENT
   304                                  .flags_1: helppage optionsi
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 00003E40 1502                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00003E42 <bin 215h>          <1>  incbin %%includename
    47                              <1> %%end:
   305                                  
   306                                  	usemessagesegment
   306          ------------------       note: usesection MESSAGESEGMENT
   307                                  .asmoptions_1: helppage optionsa
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42 00004057 00                  <1>  align 2, db 0
    43                              <1> %00:
    44 00004058 2802                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 0000405A <bin 228h>          <1>  incbin %%includename
    47                              <1> %%end:
   308                                   %endif
   309                                  
   310                                   %if _VARIABLES || _OPTIONS || _PSPVARIABLES
   311                                  	usemessagesegment
   311          ------------------       note: usesection MESSAGESEGMENT
   312                                  .varhelp: helppage vars
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 00004282 4101                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 00004284 <bin 141h>          <1>  incbin %%includename
    47                              <1> %%end:
   313                                   %endif
   314                                  %endif
   315                                  
   316                                  	usesection lDEBUG_DATA_ENTRY
   316          ------------------       note: usesection lDEBUG_DATA_ENTRY
   317 00000050 54686973206C446562-     .readonly:	asciz "This lDebug variable cannot be written to. See ?V.",13,10
   317 00000059 756720766172696162-
   317 00000062 6C652063616E6E6F74-
   317 0000006B 206265207772697474-
   317 00000074 656E20746F2E205365-
   317 0000007D 65203F562E0D0A00   
   318 00000085 54686973206D656D6F-     .readonly_mem:	asciz "This memory variable cannot be written to.",13,10
   318 0000008E 727920766172696162-
   318 00000097 6C652063616E6E6F74-
   318 000000A0 206265207772697474-
   318 000000A9 656E20746F2E0D0A00 
   319                                  %if _MMXSUPP
   320                                  .internal_error_no_mmx:
   321 000000B2 496E7465726E616C20-     		asciz "Internal error, MMX variables not supported.",13,10
   321 000000BB 6572726F722C204D4D-
   321 000000C4 58207661726961626C-
   321 000000CD 6573206E6F74207375-
   321 000000D6 70706F727465642E0D-
   321 000000DF 0A00               
   322                                  %endif
   323                                  %if _PM
   324                                  .readonly_verifysegm:
   325                                  		db "Memory using selector "
   326                                  .readonly_verifysegm.selector:
   327                                  		asciz "---- is inaccessible for writing.",13,10
   328                                  %endif
   329 000000E1 5B6D6F72655D            .more:		db "[more]"
   330                                   .more_size equ $-.more
   331 000000E7 0D                      .more_over:	db 13
   332 000000E8 20<rep 6h>              		times .more_size db 32
   333 000000EE 0D                      		db 13		; to overwrite previous prompt
   334                                   .more_over_size equ $-.more_over
   335 000000EF 5E430D0A                .ctrlc:		db "^C",13,10
   336                                   .ctrlc_size equ $-.ctrlc
   337 000000F3 00                       		asciz
   338                                  .freedos_ctrlc_workaround:
   339 000000F4 20284F6C6420467265-     		asciz " (Old FreeDOS kernel Ctrl-C work around happened)",13,10
   339 000000FD 65444F53206B65726E-
   339 00000106 656C204374726C2D43-
   339 0000010F 20776F726B2061726F-
   339 00000118 756E64206861707065-
   339 00000121 6E6564290D0A00     
   340                                  .not_while_indos:
   341 00000128 436F6D6D616E64206E-     		asciz "Command not supported while in InDOS mode.",13,10
   341 00000131 6F7420737570706F72-
   341 0000013A 746564207768696C65-
   341 00000143 20696E20496E444F53-
   341 0000014C 206D6F64652E0D0A00 
   342 00000155 43757272656E74206D-     .rv_mode.before:	asciz "Current mode: "
   342 0000015E 6F64653A2000       
   343                                  %if _PM
   344                                  .rv_mode_dpmi_16:	asciz "DPMI 16-bit CS",13,10
   345                                  .rv_mode_dpmi_32:	asciz "DPMI 32-bit CS",13,10
   346                                  %endif
   347 00000164 5265616C203836204D-     .rv_mode_r86m:		asciz "Real 86 Mode",13,10
   347 0000016D 6F64650D0A00       
   348 00000173 5669727475616C2038-     .rv_mode_v86m:		asciz "Virtual 86 Mode",13,10
   348 0000017C 36204D6F64650D0A00 
   349                                  
   350 00000185 333836207265676973-     .regs386:	asciz "386 registers are "
   350 0000018E 746572732061726520-
   350 00000197 00                 
   351 00000198 6E6F7420                .regs386_off:db "not "
   352 0000019C 646973706C61796564-     .regs386_on:	asciz "displayed",13,10
   352 000001A5 0D0A00             
   353                                  
   354                                  %if _EMS
   355                                  	usemessagesegment
   356                                  .xhelp: helppage ems
   357                                  %endif
   358                                  
   359                                  %if _PM
   360                                  	usesection lDEBUG_DATA_ENTRY
   361                                  .desc:	asciz "DESC"
   362                                  	usemessagesegment
   363                                  .deschelp: helppage desc
   364                                  %endif
   365                                  
   366                                  %ifn _MESSAGESEGMENT
   367                                  messagesegment_truncated_size equ 0
   368                                  	endarea messagesegment_truncated, 1
   369                                  messagesegment_nobits_truncated_size equ 0
   370                                  	endarea messagesegment_nobits_truncated, 1
   371                                  %endif
   372                                  
   373                                  %ifn _LINK
   374                                  %if !_BOOTLDR_DISCARD_HELP && _MESSAGESEGMENT
   375                                  messagesegment_truncated_size equ messagesegment_size
   376                                  	endarea messagesegment_truncated, 1
   377                                  messagesegment_nobits_truncated_size equ messagesegment_nobits_size
   378                                  	endarea messagesegment_nobits_truncated, 1
   379                                  %endif
   380                                  %if _EXTHELPBOOT
   381                                   %if _BOOTLDR
   382                                  	usemessagesegment
   383                                   %if _BOOTLDR_DISCARD_HELP
   384                                  	align 2, db 0
   385                                  messagesegment_truncated_size equ fromparas(paras($ - messagesegment_start + fromwords(imsg.boothelp_replacement_size_w)))
   386                                  	endarea messagesegment_truncated, 1
   387                                   %endif
   388                                  .boothelp: helppage boot
   389                                   %if _BOOTLDR_DISCARD_HELP
   390                                  
   391                                  truncated_message_last equ .boothelp + fromwords(imsg.boothelp_replacement_size_w)
   392                                  	absolute truncated_message_last
   393                                  %if _HELP_COMPRESSED
   394                                  	alignb 16
   395                                  truncated_hshrink_message_buffer: equ $
   396                                  		resb hshrink_message_buffer_size
   397                                  %endif
   398                                  
   399                                  	alignb 16
   400                                  messagesegment_nobits_truncated_size equ $ - $$
   401                                  	endarea messagesegment_nobits_truncated, 1
   402                                   %endif
   403                                   %endif
   404                                  %endif
   405                                  
   406                                  %else	; _LINK
   407                                  
   408                                   global behind_messagesegment_truncated
   409                                  
   410                                  %if !_BOOTLDR_DISCARD_HELP && _MESSAGESEGMENT
   411                                  behind_messagesegment_truncated equ behind_messagesegment
   412                                  behind_messagesegment_nobits_truncated equ behind_messagesegment_nobits
   413                                  %endif
   414                                  %if _EXTHELPBOOT
   415                                   %if _BOOTLDR
   416                                  	usemessagesegment
   416          ------------------       note: usesection MESSAGESEGMENT
   417                                   %if _BOOTLDR_DISCARD_HELP
   418 000043C5 00                      	align 2, db 0
   419                                  %push
   420                                  %define GET_MESSAGE_LENGTH
   421                                   %include "help/bootdisc.asm"
     1                              <1> %if 0
     2                              <1> 
     3                              <1> lDebug help message pages
     4                              <1> 
     5                              <1> Copyright (C) 1995-2003 Paul Vojta
     6                              <1> Copyright (C) 2008-2023 E. C. Masloch
     7                              <1> 
     8                              <1> Usage of the works is permitted provided that this
     9                              <1> instrument is retained with the works, so that any entity
    10                              <1> that uses the works is notified of this instrument.
    11                              <1> 
    12                              <1> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    13                              <1> 
    14                              <1> %endif
    15                              <1> 
    16                              <1> %define MESSAGE "This help page is only available in boot loaded mode.",13,10
    17                              <1> 
    18                              <1> %ifndef GET_MESSAGE_LENGTH
    19                              <1> %ifndef MESSAGE_INLINE
    20                              <1>  %include "debug.mac"
    21                              <1> %endif
    22                              <1> 
    23                              <1> 	db MESSAGE
    24                              <1> %else
    25                              <1> 	_strlen MESSAGE,0
    26                              <1> %endif
   422                                  %undef GET_MESSAGE_LENGTH
   423                                  bootldr_discard_help_page_length equ fromwords(words(%$len))
   424                                  %pop
   425                                  	absolute $
   426                                  	alignb 2
   427 000043C6 <res 38h>               	resb bootldr_discard_help_page_length
   428 000043FE ????                    	alignb 16
   429                                  behind_messagesegment_truncated: equ $
   430                                  	usemessagesegment
   430          ------------------       note: usesection MESSAGESEGMENT
   431                                   %endif
   432                                  .boothelp: helppage boot
    36                              <1>  %defstr %%basename %1
    37                              <1>  %if _LZEXEDAT
    38                              <1>  %strcat %%includename %%basename, ".hlz"
    39                              <1>  %else
    40                              <1>  %strcat %%includename %%basename, ".hhs"
    41                              <1>  %endif
    42                              <1>  align 2, db 0
    43                              <1> %00:
    44 000043C6 CC05                <1>  dw %%end - %%start
    45                              <1> %%start:
    46 000043C8 <bin 5CCh>          <1>  incbin %%includename
    47                              <1> %%end:
   433                                   %if _BOOTLDR_DISCARD_HELP
   434                                  
   435                                  truncated_message_last equ .boothelp + bootldr_discard_help_page_length
   436                                  	absolute truncated_message_last
   437                                  %if _HELP_COMPRESSED
   438 000043FE ????                    	alignb 16
   439                                  truncated_hshrink_message_buffer: equ $
   440 00004400 <res B0Ah>              		resb hshrink_message_buffer_size
   441                                  %endif
   442                                  
   443 00004F0A ????????????            	alignb 16
   444                                  behind_messagesegment_nobits_truncated: equ $
   445                                   %endif
   446                                   %endif
   447                                  %endif
   448                                  
   449                                  	usesection MESSAGESEGMENT
   449          ------------------       note: usesection MESSAGESEGMENT
   450 00004994 00<rep Ch>              	align 16, db 0
   451                                  behind_messagesegment: equ $
   452                                  	absolute $
   453                                  %if _HELP_COMPRESSED
   454                                  	alignb 16
   455                                  nontruncated_hshrink_message_buffer: equ $
   456                                  hshrink_message_buffer: equ $
   457 000049A0 <res B0Ah>              		resb hshrink_message_buffer_size
   458                                  %endif
   459 000054AA ????????????            	alignb 16
   460                                  behind_messagesegment_nobits: equ $
   461                                  %endif	; _LINK
   462                                  
   463                                  	usesection lDEBUG_DATA_ENTRY
   463          ------------------       note: usesection lDEBUG_DATA_ENTRY
   464                                  %if _TSR
   465 000001A8 43616E6E6F7420676F-     .pspnotfound:	asciz "Cannot go resident, child PSP not found.",13,10
   465 000001B1 207265736964656E74-
   465 000001BA 2C206368696C642050-
   465 000001C3 5350206E6F7420666F-
   465 000001CC 756E642E0D0A00     
   466 000001D3 43616E6E6F7420676F-     .psphooked:	asciz "Cannot go resident, child PSP parent return address hooked.",13,10
   466 000001DC 207265736964656E74-
   466 000001E5 2C206368696C642050-
   466 000001EE 535020706172656E74-
   466 000001F7 2072657475726E2061-
   466 00000200 64647265737320686F-
   466 00000209 6F6B65642E0D0A00   
   467 00000211 506174636865642050-     .nowtsr1:	asciz "Patched PSP at "
   467 0000021A 53502061742000     
   468 00000221 2C206E6F7720726573-     .nowtsr2:	asciz ", now resident.",13,10
   468 0000022A 6964656E742E0D0A00 
   469 00000233 416C72656164792072-     .alreadytsr:	asciz "Already resident.",13,10
   469 0000023C 65736964656E742E0D-
   469 00000245 0A00               
   470                                  .tsr_cannot_terminate_attached:
   471 00000247 43616E6E6F74207465-     		asciz "Cannot terminate attached while resident.",13,10
   471 00000250 726D696E6174652061-
   471 00000259 747461636865642077-
   471 00000262 68696C652072657369-
   471 0000026B 64656E742E0D0A00   
   472                                  .tsr_cannot_ll:
   473 00000273 43616E6E6F74206C6F-     		asciz "Cannot load process while resident. Use R DCO7 CLR= ",_4digitshex(opt7_no_tsr_ll)," to override.",13,10
   473 0000027C 61642070726F636573-
   473 00000285 73207768696C652072-
   473 0000028E 65736964656E742E20-
   473 00000297 55736520522044434F-
   473 000002A0 3720434C523D203230-
   473 000002A9 303020746F206F7665-
   473 000002B2 72726964652E0D0A00 
   474                                  %endif
   475                                  %if _ATTACH
   476 000002BB 4E6F74207965742072-     .notyettsr:	asciz "Not yet resident. Cannot attach.",13,10
   476 000002C4 65736964656E742E20-
   476 000002CD 43616E6E6F74206174-
   476 000002D6 746163682E0D0A00   
   477 000002DE 496E76616C69642050-     .invalidpsp:	asciz "Invalid PSP specified. Cannot attach.",13,10
   477 000002E7 535020737065636966-
   477 000002F0 6965642E2043616E6E-
   477 000002F9 6F7420617474616368-
   477 00000302 2E0D0A00           
   478 00000306 53656C662D6F776E65-     .selfownedpsp:	asciz "Self-owned PSP specified. Cannot attach.",13,10
   478 0000030F 642050535020737065-
   478 00000318 6369666965642E2043-
   478 00000321 616E6E6F7420617474-
   478 0000032A 6163682E0D0A00     
   479 00000331 506174636865642050-     .nowattached:	asciz "Patched PSP, now attached.",13,10
   479 0000033A 53502C206E6F772061-
   479 00000343 747461636865642E0D-
   479 0000034C 0A00               
   480 0000034E 41545441434800          .attach:	asciz "ATTACH"
   481                                  %endif
   482                                  %if _PM && (_TSR || _BOOTLDR)
   483                                  .cannotpmquit:	asciz "Cannot quit, still in protected mode.",13,10
   484                                  %endif
   485                                  %if _PM
   486                                  .cannotpmload:	asciz "Process loading aborted: Still in protected mode.",13,10
   487                                  %endif
   488                                  %if _BOOTLDR
   489 00000355 436F6D6D616E64206E-     .nobootsupp:	asciz "Command not supported in boot loaded mode.",13,10
   489 0000035E 6F7420737570706F72-
   489 00000367 74656420696E20626F-
   489 00000370 6F74206C6F61646564-
   489 00000379 206D6F64652E0D0A00 
   490 00000382 53687574646F776E20-     .boot_quit_fail:asciz "Shutdown not supported.",13,10
   490 0000038B 6E6F7420737570706F-
   490 00000394 727465642E0D0A00   
   491 0000039C 426F6F74206661696C-     .bootfail:	asciz "Boot failure: "
   491 000003A5 7572653A2000       
   492 000003AB 52656164696E672073-     .bootfail_read:	db "Reading sector failed (error "
   492 000003B4 6563746F7220666169-
   492 000003BD 6C656420286572726F-
   492 000003C6 7220               
   493 000003C8 5F5F68292E0D0A00        .bootfail_read_errorcode:	asciz "__h).",13,10
   494 000003D0 426F6F742073656374-     .bootfail_sig:	asciz "Boot sector signature missing (is not AA55h).",13,10
   494 000003D9 6F72207369676E6174-
   494 000003E2 757265206D69737369-
   494 000003EB 6E6720286973206E6F-
   494 000003F4 74204141353568292E-
   494 000003FD 0D0A00             
   495 00000400 506172746974696F6E-     .bootfail_sig_parttable:	ascii "Partition table signature missing"
   495 00000409 207461626C65207369-
   495 00000412 676E6174757265206D-
   495 0000041B 697373696E67       
   496 00000421 20286973206E6F7420-     				asciz " (is not AA55h).",13,10
   496 0000042A 4141353568292E0D0A-
   496 00000433 00                 
   497 00000434 426F6F742073656374-     .bootfail_code:	asciz "Boot sector code invalid (is 0000h).",13,10
   497 0000043D 6F7220636F64652069-
   497 00000446 6E76616C6964202869-
   497 0000044F 73203030303068292E-
   497 00000458 0D0A00             
   498                                  .bootfail_secsizediffer:
   499 0000045B 425042204270532064-     		asciz "BPB BpS differs from actual sector size.",13,10
   499 00000464 696666657273206672-
   499 0000046D 6F6D2061637475616C-
   499 00000476 20736563746F722073-
   499 0000047F 697A652E0D0A00     
   500                                  .bootfail_stack_underflow:
   501 00000486 426F6F742073746163-     		asciz "Boot stack underflowed.",13,10
   501 0000048F 6B20756E646572666C-
   501 00000498 6F7765642E0D0A00   
   502                                  .bootfail_check_mismatch:
   503 000004A0 436865636B206D6973-     		db "Check mismatch, expected "
   503 000004A9 6D617463682C206578-
   503 000004B2 70656374656420     
   504                                  .bootfail_check_mismatch.check_value:
   505 000004B9 5F5F5F5F6820617420-     		db "____h at offset "
   505 000004C2 6F666673657420     
   506                                  .bootfail_check_mismatch.check_offset:
   507 000004C9 5F5F5F5F6820627574-     		db "____h but has "
   507 000004D2 2068617320         
   508                                  .bootfail_check_mismatch.check_got:
   509 000004D7 5F5F5F5F682E0D0A00      		asciz "____h.",13,10
   510 000004E0 4F7574206F66206D65-     .boot_out_of_memory_error:	asciz "Out of memory.", 13,10
   510 000004E9 6D6F72792E0D0A00   
   511 000004F1 546F6F206D616E7920-     .boot_too_many_partitions_error:asciz "Too many partitions (or a loop).",13,10
   511 000004FA 706172746974696F6E-
   511 00000503 7320286F722061206C-
   511 0000050C 6F6F70292E0D0A00   
   512 00000514 506172746974696F6E-     .boot_partition_cycle_error:	asciz "Partition table cycle detected.",13,10
   512 0000051D 207461626C65206379-
   512 00000526 636C65206465746563-
   512 0000052F 7465642E0D0A00     
   513 00000536 506172746974696F6E-     .boot_partition_not_found:	asciz "Partition not found.",13,10
   513 0000053F 206E6F7420666F756E-
   513 00000548 642E0D0A00         
   514 0000054D 52656164206572726F-     .boot_access_error:	asciz "Read error.", 13,10
   514 00000556 722E0D0A00         
   515 0000055B 536563746F72207369-     .boot_sector_too_large:	asciz "Sector size too small (< 32 bytes).", 13,10
   515 00000564 7A6520746F6F20736D-
   515 0000056D 616C6C20283C203332-
   515 00000576 206279746573292E0D-
   515 0000057F 0A00               
   516 00000581 536563746F72207369-     .boot_sector_too_small:	asciz "Sector size too large (> 8192 bytes).", 13,10
   516 0000058A 7A6520746F6F206C61-
   516 00000593 72676520283E203831-
   516 0000059C 393220627974657329-
   516 000005A5 2E0D0A00           
   517 000005A9 536563746F72207369-     .boot_sector_not_power:	asciz "Sector size not a power of two.", 13,10
   517 000005B2 7A65206E6F74206120-
   517 000005BB 706F776572206F6620-
   517 000005C4 74776F2E0D0A00     
   518 000005CB 496E76616C69642067-     .boot_invalid_sectors:	asciz "Invalid geometry sectors.", 13,10
   518 000005D4 656F6D657472792073-
   518 000005DD 6563746F72732E0D0A-
   518 000005E6 00                 
   519 000005E7 496E76616C69642067-     .boot_invalid_heads:	asciz "Invalid geometry heads.", 13,10
   519 000005F0 656F6D657472792068-
   519 000005F9 656164732E0D0A00   
   520 00000601 46696C65206E6F7420-     .boot_file_not_found:	asciz "File not found.",13,10
   520 0000060A 666F756E642E0D0A00 
   521 00000613 46696C6520746F6F20-     .boot_file_too_big_error:	asciz "File too big.",13,10
   521 0000061C 6269672E0D0A00     
   522 00000623 46696C6520746F6F20-     .boot_file_too_small_error:	asciz "File too small.",13,10
   522 0000062C 736D616C6C2E0D0A00 
   523 00000635 42616420616D6F756E-     .boot_badclusters:	asciz "Bad amount of clusters.",13,10
   523 0000063E 74206F6620636C7573-
   523 00000647 746572732E0D0A00   
   524 0000064F 42616420636C757374-     .boot_badchain:		asciz "Bad cluster chain.",13,10
   524 00000658 657220636861696E2E-
   524 00000661 0D0A00             
   525 00000664 4261642046696C6520-     .boot_badfat:		asciz "Bad File Allocation Table.",13,10
   525 0000066D 416C6C6F636174696F-
   525 00000676 6E205461626C652E0D-
   525 0000067F 0A00               
   526 00000681 496E76616C69642066-     .boot_invalid_filename:	asciz "Invalid filename.",13,10
   526 0000068A 696C656E616D652E0D-
   526 00000693 0A00               
   527 00000695 43616E6E6F74207365-     .boot_cannot_set_both:	asciz "Cannot set both "
   527 0000069E 7420626F74682000   
   528 000006A6 20616E642000            .boot_and:		asciz " and "
   529 000006AC 2E0D0A00                .boot_dot_crlf:		asciz ".",13,10
   530 000006B0 2120496E7465726E61-     .boot_internal_error:	asciz "! Internal error !",13,10
   530 000006B9 6C206572726F722021-
   530 000006C2 0D0A00             
   531 000006C5 42504220616E64206C-     .boot_bpb_load_overlap:	asciz "BPB and load area overlap.",13,10
   531 000006CE 6F6164206172656120-
   531 000006D7 6F7665726C61702E0D-
   531 000006E0 0A00               
   532 000006E2 5365676D656E742074-     .boot_segment_too_low:	asciz "Segment too low.",13,10
   532 000006EB 6F6F206C6F772E0D0A-
   532 000006F4 00                 
   533 000006F5 42504220746F6F206C-     .boot_bpb_too_low:	asciz "BPB too low.",13,10
   533 000006FE 6F772E0D0A00       
   534 00000704 2120496E7465726E61-     .boot_auxbuff_crossing:	db "! Internal error !, "
   534 0000070D 6C206572726F722021-
   534 00000716 2C20               
   535 00000718 617578627566662063-     			asciz "auxbuff crosses 64 KiB boundary.",13,10
   535 00000721 726F73736573203634-
   535 0000072A 204B694220626F756E-
   535 00000733 646172792E0D0A00   
   536 0000073B 5245414400              .read:		asciz "READ"
   537 00000740 575249544500            .write:		asciz "WRITE"
   538 00000746 48494444454E00          .hidden:	asciz "HIDDEN"
   539 0000074D 48494444454E414444-     .hiddenadd:	asciz "HIDDENADD"
   539 00000756 00                 
   540 00000757 44495200                .dir:		asciz "DIR"
   541 0000075B 082020205B4449525D      .dirinsteadsize:countedb "   [DIR]"
   542 00000764 2F00                    .emptydirname:	asciz "/"
   543 00000766 424F4F5400              .boot:		asciz "BOOT"
   544 0000076B 5155495400              .quit:		asciz "QUIT"
   545 00000770 50524F544F434F4C00      .protocol:	asciz "PROTOCOL"
   546 00000779 5345474D454E5400        .segment:	asciz "SEGMENT"
   547 00000781 454E54525900            .entry:		asciz "ENTRY"
   548 00000787 434F5059                .copybpb:	db "COPY"
   549 0000078B 42504200                .bpb:		asciz "BPB"
   550 0000078F 4D494E5041524100        .minpara:	asciz "MINPARA"
   551 00000797 4D41585041524100        .maxpara:	asciz "MAXPARA"
   552 0000079F 434845434B4F464653-     .checkoffset:	asciz "CHECKOFFSET"
   552 000007A8 455400             
   553 000007AB 434845434B56414C55-     .checkvalue:	asciz "CHECKVALUE"
   553 000007B4 4500               
   554 000007B6 534543544F5200          .sector:	asciz "SECTOR"
   555 000007BD 534543544F52414C54-     .sector_alt:	asciz "SECTORALT"
   555 000007C6 00                 
   556 000007C7 4B45524E454C2E5359-     .freedos_kernel_name:	asciz "KERNEL.SYS"
   556 000007D0 5300               
   557 000007D2 49504C2E53595300        .dosc_kernel_name:	asciz "IPL.SYS"
   558 000007DA 445242494F2E535953-     .edrdos_kernel_name:	asciz "DRBIO.SYS"
   558 000007E3 00                 
   559 000007E4 445242494F532E5359-     .drdos9_kernel_name:	asciz "DRBIOS.SYS"
   559 000007ED 5300               
   560 000007EF 4C444F532E434F4D00      .ldos_kernel_name:	asciz "LDOS.COM"
   561                                  .msdos7_kernel_name:
   562 000007F8 494F2E53595300          .msdos6_kernel_name:	asciz "IO.SYS"
   563 000007FF 4D53444F532E535953-     .msdos6_add_name:	asciz "MSDOS.SYS"
   563 00000808 00                 
   564 00000809 49424D42494F2E434F-     .ibmdos_kernel_name:	asciz "IBMBIO.COM"
   564 00000812 4D00               
   565 00000814 49424D444F532E434F-     .ibmdos_add_name:	asciz "IBMDOS.COM"
   565 0000081D 4D00               
   566 0000081F 4E544C445200            .ntldr_kernel_name:	asciz "NTLDR"
   567 00000825 424F4F544D475200        .bootmgr_kernel_name:	asciz "BOOTMGR"
   568 0000082D 424F4F54534543542E-     .chain_kernel_name:	asciz "BOOTSECT.DOS"
   568 00000836 444F5300           
   569 0000083A 5258444F5342494F2E-     .rxdos.0_kernel_name:	asciz "RXDOSBIO.SYS"
   569 00000843 53595300           
   570 00000847 525842494F2E535953-     .rxdos.1_kernel_name:	asciz "RXBIO.SYS"
   570 00000850 00                 
   571                                  .rxdos.0_add_name:
   572 00000851 5258444F532E535953-     .rxdos.1_add_name:	asciz "RXDOS.SYS"
   572 0000085A 00                 
   573 0000085B 5258444F532E434F4D-     .rxdos.2_kernel_name:	asciz "RXDOS.COM"
   573 00000864 00                 
   574 00000865 00                      .addname_empty:		asciz
   575 00000866 43616E6E6F74207175-     .cannotbootquit_memsizes:	asciz "Cannot quit, memory size changed.",13,10
   575 0000086F 69742C206D656D6F72-
   575 00000878 792073697A65206368-
   575 00000881 616E6765642E0D0A00 
   576                                  %endif
   577 0000088A 554E                    .uninstall:	db "UN"
   578 0000088C 494E5354414C4C00        .install:	asciz "INSTALL"
   579 00000894 544F47474C4500          .toggle:	asciz "TOGGLE"
   580 0000089B 20697320616C726561-     .alreadyenabled:asciz " is already enabled.",13,10
   580 000008A4 647920656E61626C65-
   580 000008AD 642E0D0A00         
   581 000008B2 20697320616C726561-     .alreadydisabled:asciz " is already disabled.",13,10
   581 000008BB 64792064697361626C-
   581 000008C4 65642E0D0A00       
   582 000008CA 3A20547279696E6720-     .tryenable:	asciz ": Trying to enable.",13,10
   582 000008D3 746F20656E61626C65-
   582 000008DC 2E0D0A00           
   583 000008E0 3A20547279696E6720-     .trydisable:	asciz ": Trying to disable.",13,10
   583 000008E9 746F2064697361626C-
   583 000008F2 652E0D0A00         
   584                                  %if _LOADER
   585                                  .move:		asciz "MOVE"
   586                                  .bottom:	asciz "BOTTOM"
   587                                  .isnow:		asciz "Now i"
   588                                  .isalready:	asciz "Already i"
   589                                  .isbottom:	asciz "Is resident at bottom.",13,10
   590                                  .istop:		asciz "Is resident at top.",13,10
   591                                  .ishidden:	asciz "Is resident beyond top (hidden).",13,10
   592                                  .move_empty:		asciz "Error: Empty N extension query!",13,10
   593                                  .move_must_be_bottom:	asciz "Error: Must be at bottom to install N extension!",13,10
   594                                  .move_rpl:		asciz "Error: RPL present!",13,10
   595                                  .move_nottop:		asciz "Error: NLDR not hidden at top!",13,10
   596                                  .move_oom:		asciz "Error: Out of memory!",13,10
   597                                   global msg.move_overlap
   598                                  .move_overlap:		asciz "Error: Memory overlap detected!",13,10
   599                                  .move_ebdanottop:	asciz "Error: EBDA not at top of memory!",13,10
   600                                  .move_toolargeebda:	asciz "Error: EBDA too large!",13,10
   601                                  .unsupportedmove:	asciz "Error: This movement is not supported!",13,10
   602                                  .move_auxbuff_error:	asciz "Error: Auxiliary buffer cannot be placed!",13,10
   603                                  .move_auxup:		asciz "Auxiliary buffer moved up.",13,10
   604                                  .move_auxdown:		asciz "Auxiliary buffer moved down.",13,10
   605                                  .move_int_panic:	db "Critical "
   606                                  .move_int_error:	asciz "Error: An interrupt hook cannot be unhooked!",13,10
   607                                  .loader_bottom_not_allowed:
   608                                  	asciz "Error: Boot sector load disallowed while resident at bottom!",13,10
   609                                  .loader_too_low_load:
   610                                  	asciz "Error: Load segment intersects loader resident at bottom!",13,10
   611                                  .loader_error:
   612                                  	asciz "Error: Debugger load invariant broken, not supported!",13,10
   613                                  .godebug:		asciz "GODEBUG"
   614                                  .loader_must_be_hidden:
   615                                  	asciz "Error: Go Debug command must be run from hidden.",13,10
   616                                  .loader_extra:
   617                                  	asciz "Error: Extended lsvExtra entry not found.",13,10
   618                                  .loader_stack:
   619                                  	asciz "Error: Load Stack Variables allocation too small!",13,10
   620                                  .loader_loadseg_low:
   621                                  	asciz "Error: Load end segment in LSV too low.",13,10
   622                                  .loader_sign:
   623                                  	asciz "Error: Loader support signature not found.",13,10
   624                                  .loader_flag:
   625                                  	asciz "Error: Loader support unknown flag set.",13,10
   626                                  	align 4, db 0
   627                                  	dw 0		; make sure this is word-aligned but not para-aligned
   628                                  .loadsupportsignature:
   629                                  	db "LOAD","ERSU","PPOR","T00"	; signature and version
   630                                  .loadsupportsignature.size equ $ - .loadsupportsignature
   631                                  %endif
   632                                  %if _AREAS_HOOK_SERVER || (_AREAS && _AREAS_HOOK_CLIENT)
   633                                  .qqlate_areas_error:
   634                                  		asciz "Internal error in Q command uninstalling areas.",13,10
   635                                  %endif
   636                                  %if _AREAS && _AREAS_HOOK_CLIENT
   637                                  .areasinstalled:	asciz "Areas installed.",13,10
   638                                  .areasalreadyinstalled:	asciz "Areas already installed.",13,10
   639                                  .areasnodebuggerfound:	asciz "Areas not installed, no debugger AMIS interface found!",13,10
   640                                  .areasnotsupported:	asciz "Areas not installed, debugger AMIS interface does not support function!",13,10
   641                                  .areasnotinstalled:	db "Areas not installed, debugger returned code "
   642                                  .areasnotinstalled.code:asciz "--h.",13,10
   643                                  .areasalreadyuninstalled:	asciz "Areas already uninstalled.",13,10
   644                                  .areasuninstalled:		db "Areas uninstalled, debugger returned code "
   645                                  .areasuninstalled.code:		asciz "--h.",13,10
   646                                  %endif
   647 000008F7 5448454E00              .then:		asciz "THEN"
   648 000008FC 4E4F5400                .not:		asciz "NOT"
   649 00000900 52565600                .rvv:		asciz "RVV"
   650 00000904 52564D00                .rvm:		asciz "RVM"
   651 00000908 52565000                .rvp:		asciz "RVP"
   652 0000090C 52564400                .rvd:		asciz "RVD"
   653                                  %if _MMXSUPP && _RM
   654                                  .rm:		asciz "RM"
   655                                  %endif
   656                                  %if _BOOTLDR
   657 00000910 4D6F64653A20426F6F-     .rvp_boot:		ascizline "Mode: Boot loaded"
   657 00000919 74206C6F616465640D-
   657 00000922 0A00               
   658                                  %endif
   659                                  %if _DEVICE
   660                                   %if _ATTACH
   661 00000924 4D6F64653A20446576-     .rvp_device_attached:	ascizline "Mode: Device driver attached"
   661 0000092D 696365206472697665-
   661 00000936 722061747461636865-
   661 0000093F 640D0A00           
   662                                   %endif
   663 00000943 4D6F64653A20446576-     .rvp_device:		ascizline "Mode: Device driver"
   663 0000094C 696365206472697665-
   663 00000955 720D0A00           
   664                                  %endif
   665                                  %if _APPLICATION
   666                                   %if _TSR
   667 00000959 4D6F64653A20417070-     .rvp_tsr:		ascizline "Mode: Application installed as TSR"
   667 00000962 6C69636174696F6E20-
   667 0000096B 696E7374616C6C6564-
   667 00000974 206173205453520D0A-
   667 0000097D 00                 
   668                                   %endif
   669 0000097E 4D6F64653A20417070-     .rvp_application:	ascizline "Mode: Application"
   669 00000987 6C69636174696F6E0D-
   669 00000990 0A00               
   670                                  %endif
   671 00000992 0D436F646520736567-     .vm_codeseg:	counted "Code segment="
   671 0000099B 6D656E743D         
   672                                  %if _DUALCODE
   673                                  .vm_code2seg:	counted "Code2 segment="
   674                                  %endif
   675 000009A0 0D4461746120736567-     .vm_dataseg:	counted "Data segment="
   675 000009A9 6D656E743D         
   676 000009AE 0E456E747279207365-     .vm_entryseg:	counted "Entry segment="
   676 000009B7 676D656E743D       
   677                                  %if _MESSAGESEGMENT
   678 000009BD 104D65737361676520-     .vm_messageseg:	counted "Message segment="
   678 000009C6 7365676D656E743D   
   679                                  %endif
   680 000009CE 104175786275666620-     .vm_auxseg:	counted "Auxbuff segment="
   680 000009D7 7365676D656E743D   
   681                                  %if _HISTORY_SEPARATE_FIXED && _HISTORY
   682 000009DF 10486973746F727920-     .vm_hisseg:	counted "History segment="
   682 000009E8 7365676D656E743D   
   683                                  %endif
   684                                  %if _PM
   685                                  .vm_selector:	counted " selector="
   686                                  %endif
   687 000009F0 0D436C69656E742020-     .vp_pspsegment:		counted "Client   PSP="
   687 000009F9 205053503D         
   688 000009FE 0D4465627567676572-     .vp_dpspsegment:	counted "Debugger PSP="
   688 00000A07 205053503D         
   689                                  .vp_dparent:
   690 00000A0C 0820506172656E743D      .vp_parent:		counted " Parent="
   691                                  .vp_dpra:
   692 00000A15 1720506172656E7420-     .vp_pra:		counted " Parent Return Address="
   692 00000A1E 52657475726E204164-
   692 00000A27 64726573733D       
   693                                  %if _PM
   694                                  .vp_dpspsel:
   695                                  .vp_pspsel:		counted " PSP Selector="
   696                                  %endif
   697 00000A2D 4E6F74206C6F616465-     .rvd_not_device:	asciz "Not loaded in device mode.",13,10
   697 00000A36 6420696E2064657669-
   697 00000A3F 6365206D6F64652E0D-
   697 00000A48 0A00               
   698                                  %if _DEVICE
   699 00000A4A 114465766963652068-     .rvd_deviceheader:	counted "Device header at "
   699 00000A53 656164657220617420 
   700 00000A5C 212E20416D6F756E74-     .rvd_size:		counted ". Amount paragraphs allocated is "
   700 00000A65 207061726167726170-
   700 00000A6E 687320616C6C6F6361-
   700 00000A77 74656420697320     
   701                                  %endif
   702 00000A7E 546F6F206C6F6E6720-     .n_toolongtail:	asciz "Too long N command tail!",13,10
   702 00000A87 4E20636F6D6D616E64-
   702 00000A90 207461696C210D0A00 
   703 00000A99 546F6F206C6F6E6720-     .n_toolongname:	asciz "Too long N command name!",13,10
   703 00000AA2 4E20636F6D6D616E64-
   703 00000AAB 206E616D65210D0A00 
   704 00000AB4 4E554D42455200          .number:	asciz "NUMBER"
   705 00000ABB 434F554E54455200        .counter:	asciz "COUNTER"
   706 00000AC3 494400                  .id:		asciz "ID"
   707 00000AC6 5748454E00              .when:		asciz "WHEN"
   708 00000ACB 4F464653455400          .offset:	asciz "OFFSET"
   709 00000AD2 3F00                    .questionmark:	asciz "?"
   710 00000AD4 4F                      .or:		db "O"
   711 00000AD5 5200                    .r:		asciz "R"
   712 00000AD7 4E4400                  .nd:		asciz "ND"
   713 00000ADA 4C5200                  .lr:		asciz "LR"
   714 00000ADD 52454D454D42455200      .remember:	asciz "REMEMBER"
   715 00000AE6 474F544F00              .goto:		asciz "GOTO"
   716 00000AEB 534F4600                .sof:		asciz "SOF"
   717 00000AEF 454F4600                .eof:		asciz "EOF"
   718 00000AF3 4572726F723A20474F-     .goto_not_file:	asciz "Error: GOTO command not supported when not reading a script.",13,10
   718 00000AFC 544F20636F6D6D616E-
   718 00000B05 64206E6F7420737570-
   718 00000B0E 706F72746564207768-
   718 00000B17 656E206E6F74207265-
   718 00000B20 6164696E6720612073-
   718 00000B29 63726970742E0D0A00 
   719 00000B32 4572726F723A20474F-     .goto_empty:	asciz "Error: GOTO needs a destination label.",13,10
   719 00000B3B 544F206E6565647320-
   719 00000B44 612064657374696E61-
   719 00000B4D 74696F6E206C616265-
   719 00000B56 6C2E0D0A00         
   720 00000B5B 4572726F723A20474F-     .goto_not_found.1:	asciz "Error: GOTO destination label ",'"'
   720 00000B64 544F2064657374696E-
   720 00000B6D 6174696F6E206C6162-
   720 00000B76 656C202200         
   721 00000B7B 22206E6F7420666F75-     .goto_not_found.2:	asciz '"'," not found.",13,10
   721 00000B84 6E642E0D0A00       
   722 00000B8A 4572726F723A206175-     .guard_auxbuff_error:	asciz "Error: auxbuff already guarded!",13,10
   722 00000B93 786275666620616C72-
   722 00000B9C 656164792067756172-
   722 00000BA5 646564210D0A00     
   723 00000BAC 4572726F723A20436F-     .guard_re_error:	asciz "Error: Command not supported while reading from RE buffer.",13,10
   723 00000BB5 6D6D616E64206E6F74-
   723 00000BBE 20737570706F727465-
   723 00000BC7 64207768696C652072-
   723 00000BD0 656164696E67206672-
   723 00000BD9 6F6D20524520627566-
   723 00000BE2 6665722E0D0A00     
   724 00000BE9 4572726F723A20436F-     .guard_rc_error:	asciz "Error: Command not supported while reading from RC buffer.",13,10
   724 00000BF2 6D6D616E64206E6F74-
   724 00000BFB 20737570706F727465-
   724 00000C04 64207768696C652072-
   724 00000C0D 656164696E67206672-
   724 00000C16 6F6D20524320627566-
   724 00000C1F 6665722E0D0A00     
   725 00000C26 4572726F723A20556E-     .unexpected_auxbuff_guard:	asciz "Error: Unexpected auxbuff guard!",13,10
   725 00000C2F 657870656374656420-
   725 00000C38 617578627566662067-
   725 00000C41 75617264210D0A00   
   726                                  %if _SYMBOLIC
   727                                  .unexpected_nosymbols:		asciz "Error: Unexpected no symbols flag!",13,10
   728                                  %endif
   729 00000C49 4572726F723A20556E-     .unexpected_noneol_re:		asciz "Error: Unexpected non-EOL in RE processing!",13,10
   729 00000C52 657870656374656420-
   729 00000C5B 6E6F6E2D454F4C2069-
   729 00000C64 6E2052452070726F63-
   729 00000C6D 657373696E67210D0A-
   729 00000C76 00                 
   730 00000C77 4572726F723A20556E-     .unexpected_noneol_rc:		asciz "Error: Unexpected non-EOL in RC processing!",13,10
   730 00000C80 657870656374656420-
   730 00000C89 6E6F6E2D454F4C2069-
   730 00000C92 6E2052432070726F63-
   730 00000C9B 657373696E67210D0A-
   730 00000CA4 00                 
   731 00000CA5 5245504C41434500        .replace:	asciz "REPLACE"
   732 00000CAD 415050454E4400          .append:	asciz "APPEND"
   733 00000CB4 44                      .dword:		db "D"
   734 00000CB5 574F524400              .word:		asciz "WORD"
   735 00000CBA 33                      .3byte:		db "3"
   736 00000CBB 4259544500              .byte:		asciz "BYTE"
   737 00000CC0 4C494E455300            .lines:		asciz "LINES"
   738                                  %if _RH
   739 00000CC6 524800                  .rh:		asciz "RH"
   740 00000CC9 526567697374657220-     .rh_enabled:	asciz "Register dump history enabled.",13,10
   740 00000CD2 64756D702068697374-
   740 00000CDB 6F727920656E61626C-
   740 00000CE4 65642E0D0A00       
   741 00000CEA 526567697374657220-     .rh_disabled:	asciz "Register dump history disabled.",13,10
   741 00000CF3 64756D702068697374-
   741 00000CFC 6F7279206469736162-
   741 00000D05 6C65642E0D0A00     
   742 00000D0C 0A2020524820737465-     .rh_step.1:	counted "  RH step="
   742 00000D15 703D               
   743 00000D17 0B2020646563696D61-     .rh_step.2:	counted "  decimal: "
   743 00000D20 6C3A20             
   744                                  %endif
   745                                  %if _HELP_COMPRESSED
   746 00000D23 496E7465726E616C20-     .hshrink_error:	asciz "Internal error: Depack failure!",13,10
   746 00000D2C 6572726F723A204465-
   746 00000D35 7061636B206661696C-
   746 00000D3E 757265210D0A00     
   747                                  %endif
   748                                  %if _TEST_HELP_FILE
   749                                  .testhelp:	asciz "TESTHELP"
   750                                  %endif
   751                                  %if 1 || _STRNUM
   752 00000D45 415300                  .as:		asciz "AS"
   753                                  %endif
   754                                  %if _DTOP || _LOADER
   755 00000D48 544F5000                .top:		asciz "TOP"
   756                                  %endif
   757                                  %if _COUNT || _RH
   758 00000D4C 434F554E5400            .count:		asciz "COUNT"
   759                                  %endif
   760                                  %if _CLEAR
   761 00000D52 434C45415200            .clear:		asciz "CLEAR"
   762 00000D58 1B631B5B324A0D0A00      .clear_sequence:asciz 27,"c",27,"[2J",13,10
   763                                  	; Note that the first sequence will not have an effect
   764                                  	;  when writing to int 10h in non-dumb mode. Therefore,
   765                                  	;  it will advance the cursor to a nonzero column.
   766                                  	; This is required by the dumb mode detection code.
   767                                  %endif
   768                                  %if _HHDIVREMAIN
   769                                  .hh_div_remainder:
   770 00000D61 0D72656D61696E6465-     		counted "remainder is "
   770 00000D6A 7220697320         
   771                                  %endif
   772                                  %if _CONFIG
   773 00000D6F 3A3A434F4E4649473A-     .configkeyword:	asciz "::CONFIG:"
   773 00000D78 00                 
   774 00000D79 3A3A53435249505453-     .scriptskeyword:asciz "::SCRIPTS:"
   774 00000D82 3A00               
   775 00000D84 3A3A454D5054593A00      .emptykeyword:	asciz "::EMPTY:"
   776                                  %endif
   777                                  %if _EXECUTABLE
   778 00000D8D 3A3A45584543555441-     .executablekeyword:	asciz "::EXECUTABLE:"
   778 00000D96 424C453A00         
   779                                  %endif
   780                                  %if _EXTENSIONS
   781 00000D9B 496E7465726E616C20-     .ext_error_internal:	asciz "Internal error in EXT command.",13,10
   781 00000DA4 6572726F7220696E20-
   781 00000DAD 45585420636F6D6D61-
   781 00000DB6 6E642E0D0A00       
   782 00000DBC 45585420636F6D6D61-     .ext_error_io:		asciz "EXT command got I/O error.",13,10
   782 00000DC5 6E6420676F7420492F-
   782 00000DCE 4F206572726F722E0D-
   782 00000DD7 0A00               
   783 00000DD9 4E6F206F7220696E76-     .ext_error_invalid:	asciz "No or invalid Extension for lDebug header.",13,10
   783 00000DE2 616C69642045787465-
   783 00000DEB 6E73696F6E20666F72-
   783 00000DF4 206C44656275672068-
   783 00000DFD 65616465722E0D0A00 
   784 00000E06 4F7574206F66206D65-     .ext_error_oom:		asciz "Out of memory in EXT command.",13,10
   784 00000E0F 6D6F727920696E2045-
   784 00000E18 585420636F6D6D616E-
   784 00000E21 642E0D0A00         
   785 00000E26 45585400                .ext:		asciz "EXT"
   786 00000E2A 457874656E73696F6E-     .eld_load_error:db "Extension for lDebug had an error during loading. Code: "
   786 00000E33 20666F72206C446562-
   786 00000E3C 75672068616420616E-
   786 00000E45 206572726F72206475-
   786 00000E4E 72696E67206C6F6164-
   786 00000E57 696E672E20436F6465-
   786 00000E60 3A20               
   787 00000E62 2D2D2D2D2E0D0A00        .eld_error_code:asciz "----.",13,10
   788                                  %endif
   789 00000E6A 47494200                .gib:		asciz "GIB"
   790 00000E6E 4D494200                .mib:		asciz "MIB"
   791 00000E72 4B494200                .kib:		asciz "KIB"
   792 00000E76 504147455300            .pages:		asciz "PAGES"
   793 00000E7C 504152414752415048-     .paragraphs:	asciz "PARAGRAPHS"
   793 00000E85 5300               
   794 00000E87 504152415300            .paras:		asciz "PARAS"
   795 00000E8D 51574F52445300          .qwords:	asciz "QWORDS"
   796 00000E94 44                      .dwords:	db "D"
   797 00000E95 574F52445300            .words:		asciz "WORDS"
   798 00000E9B 425954455300            .bytes:		asciz "BYTES"
   799 00000EA1 4C454E47544800          .length:	asciz "LENGTH"
   800 00000EA8 454E4400                .end:		asciz "END"
   801 00000EAC 52414E474500            .range:		asciz "RANGE"
   802                                  %if _VXCHG
   803 00000EB2 4F4E00                  .on:		asciz "ON"
   804 00000EB5 4F464600                .off:		asciz "OFF"
   805                                  .vv_enable_failure:
   806 00000EB9 556E61626C6520746F-     		asciz "Unable to enable video swapping.",13,10
   806 00000EC2 20656E61626C652076-
   806 00000ECB 6964656F2073776170-
   806 00000ED4 70696E672E0D0A00   
   807 00000EDC 566964656F20737761-     .vv_disabled:	asciz "Video swapping is disabled, use V ON to switch it on.",13,10
   807 00000EE5 7070696E6720697320-
   807 00000EEE 64697361626C65642C-
   807 00000EF7 207573652056204F4E-
   807 00000F00 20746F207377697463-
   807 00000F09 68206974206F6E2E0D-
   807 00000F12 0A00               
   808                                  %endif
   809 00000F14 5245564552534500        .reverse:	asciz "REVERSE"
   810 00000F1C 56414C554500            .value:		asciz "VALUE"
   811 00000F22 494E00                  .in:		asciz "IN"
   812 00000F25 4558495354494E4700      .existing:	asciz "EXISTING"
   813 00000F2E 46524F4D00              .from:		asciz "FROM"
   814 00000F33 544F00                  .to:		asciz "TO"
   815 00000F36 455845435554494E47-     .executing:		asciz "EXECUTING"
   815 00000F3F 00                 
   816 00000F40 46524F4D204C494E45-     .executing_value_range:	asciz "FROM LINEAR cs:cip LENGTH abo - cip"
   816 00000F49 41522063733A636970-
   816 00000F52 204C454E4754482061-
   816 00000F5B 626F202D2063697000 
   817 00000F64 4C494E45415200          .linear:	asciz "LINEAR"
   818                                  %if _IMMASM
   819                                  .immasm_error_eip:
   820 00000F6B 4572726F722C206272-     		asciz "Error, branch targets EIP beyond 64 KiB.",13,10
   820 00000F74 616E63682074617267-
   820 00000F7D 657473204549502062-
   820 00000F86 65796F6E6420363420-
   820 00000F8F 4B69422E0D0A00     
   821                                  %endif
   822                                  %if _PM
   823                                  .desctype:	asciz "DESCTYPE"
   824                                  %endif
   825 00000F96 4E4F54                  .nottaken:	db "NOT"
   826 00000F99 54414B454E00            .taken:		asciz "TAKEN"
   827 00000F9F 4E                      .nt:		db "N"
   828 00000FA0 5400                    .t:		asciz "T"
   829 00000FA2 4241534500              .base:		asciz "BASE"
   830 00000FA7 47524F555000            .group:		asciz "GROUP"
   831 00000FAD 574944544800            .width:		asciz "WIDTH"
   832                                  %if _HISTORY
   833                                  .history_internal_error:
   834 00000FB3 0D0A496E7465726E61-     		asciz 13,10,"Internal error in history handling!",13,10
   834 00000FBC 6C206572726F722069-
   834 00000FC5 6E20686973746F7279-
   834 00000FCE 2068616E646C696E67-
   834 00000FD7 210D0A00           
   835                                  %endif
   836                                  %if _INT
   837                                  %include "dimsg.asm"
     1                              <1> 
     2                              <1> %if 0
     3                              <1> 
     4                              <1> lDebug DI command messages
     5                              <1> 
     6                              <1> Copyright (C) 2008-2023 E. C. Masloch
     7                              <1> 
     8                              <1> Usage of the works is permitted provided that this
     9                              <1> instrument is retained with the works, so that any entity
    10                              <1> that uses the works is notified of this instrument.
    11                              <1> 
    12                              <1> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    13                              <1> 
    14                              <1> %endif
    15                              <1> 
    16 00000FDB 07204572726F7221    <1> .di_error:	counted " Error!"
    17 00000FE3 0768696464656E20    <1> .di_hidden:	counted "hidden "
    18 00000FEB 0720284949535029    <1> .di_iisp:	counted " (IISP)"
    19 00000FF3 1320286E6F6E737461- <1> .di_nonstd_iisp:counted " (nonstandard IISP)"
    19 00000FFC 6E6461726420494953- <1>
    19 00001005 5029                <1>
    20 00001007 132028756E696E7374- <1> .di_uninst_iisp:counted " (uninstalled IISP)"
    20 00001010 616C6C656420494953- <1>
    20 00001019 5029                <1>
    21                              <1> .di_freedos_reloc:
    22 0000101B 1220284644206B6572- <1> 		counted " (FD kernel reloc)"
    22 00001024 6E656C2072656C6F63- <1>
    22 0000102D 29                  <1>
    23 0000102E 0E2028666172206A6D- <1> .di_jmpfar:	counted " (far jmp imm)"
    23 00001037 7020696D6D29        <1>
    24                              <1> .di_jmpfarindirect:
    25 0000103D 132028666172206A6D- <1> 		counted " (far jmp indirect)"
    25 00001046 7020696E6469726563- <1>
    25 0000104F 7429                <1>
    26 00001051 0C2028746573742068- <1> .di_testhook:	counted " (test hook)"
    26 0000105A 6F6F6B29            <1>
    27 0000105E 1C2028746F6F206D61- <1> .di_toomany:	counted " (too many chained handlers)"
    27 00001067 6E7920636861696E65- <1>
    27 00001070 642068616E646C6572- <1>
    27 00001079 7329                <1>
    28 0000107B 0F20656D707479204D- <1> .di_empty:	counted " empty MCB name"
    28 00001084 4342206E616D65      <1>
    29 0000108B 0B2073797374656D20- <1> .di_system_mcb:	counted " system MCB"
    29 00001094 4D4342              <1>
    30                              <1> .di_system_upper:
    31 00001097 0E2073797374656D20- <1> 		counted " system in UMA"
    31 000010A0 696E20554D41        <1>
    32 000010A6 0E2073797374656D20- <1> .di_system_low:	counted " system in LMA"
    32 000010AF 696E204C4D41        <1>
    33 000010B5 112068696768206D65- <1> .di_hma:	counted " high memory area"
    33 000010BE 6D6F72792061726561  <1>
    34 000010C7 06205B6D70783A      <1> .di_multiplex.1:counted " [mpx:"
    35 000010CE 0768206C6973743A    <1> .di_multiplex.2:counted "h list:"
    36 000010D6 02685D              <1> .di_multiplex.3:counted "h]"
    37                              <1> 
    38                              <1> %if _PM
    39                              <1> gatewrong:	equ $
    40                              <1> 		asciz "gate not accessible",13,10
    41                              <1> %endif
   838                                  %endif
   839 000010D9 68656164657200          .header:	asciz "header"
   840                                  .header.length:	equ $ - 1 - .header
   841 000010E0 747261696C657200        .trailer:	asciz "trailer"
   842                                  .trailer.length:equ $ - 1 - .trailer
   843 000010E8 415400                  .at:		asciz "AT"
   844 000010EB 5748494C4500            .while:		asciz "WHILE"
   845 000010F1 53494C454E5400          .silent:	asciz "SILENT"
   846 000010F8 534C45455000            .sleep:		asciz "SLEEP"
   847 000010FE 5345434F4E445300        .seconds:	asciz "SECONDS"
   848 00001106 5449434B5300            .ticks:		asciz "TICKS"
   849 0000110C 52452070726F636573-     .re_limit_reached:	asciz "RE processing reached RELIMIT, aborting.",13,10
   849 00001115 73696E672072656163-
   849 0000111E 6865642052454C494D-
   849 00001127 49542C2061626F7274-
   849 00001130 696E672E0D0A00     
   850 00001137 52432070726F636573-     .rc_limit_reached:	asciz "RC processing reached RCLIMIT, aborting.",13,10
   850 00001140 73696E672072656163-
   850 00001149 6865642052434C494D-
   850 00001152 49542C2061626F7274-
   850 0000115B 696E672E0D0A00     
   851 00001162 2120496E7465726E61-     .silent_error:	asciz "! Internal error during silent buffer handling !",13,10
   851 0000116B 6C206572726F722064-
   851 00001174 7572696E672073696C-
   851 0000117D 656E74206275666665-
   851 00001186 722068616E646C696E-
   851 0000118F 6720210D0A00       
   852 00001195 5768696C6520636F6E-     .while_not_true:asciz "While condition not true, returning.",13,10
   852 0000119E 646974696F6E206E6F-
   852 000011A7 7420747275652C2072-
   852 000011B0 657475726E696E672E-
   852 000011B9 0D0A00             
   853 000011BC 5768696C6520636F6E-     .while_terminated_before:	asciz "While condition ",'"'
   853 000011C5 646974696F6E202200 
   854 000011CE 22206E6F206C6F6E67-     .while_terminated_after:	asciz '"'," no longer true.",13,10
   854 000011D7 657220747275652E0D-
   854 000011E0 0A00               
   855 000011E2 4E6F2073657269616C-     .no_progress:	asciz "No serial comm progress after 5 seconds, giving up. (Keyboard enabled.)",13,10
   855 000011EB 20636F6D6D2070726F-
   855 000011F4 677265737320616674-
   855 000011FD 65722035207365636F-
   855 00001206 6E64732C2067697669-
   855 0000120F 6E672075702E20284B-
   855 00001218 6579626F6172642065-
   855 00001221 6E61626C65642E290D-
   855 0000122A 0A00               
   856 0000122C 0D0A436F6E64746E6C-     .serial_request_keep:	asciz 13,10,_PROGNAME," connected to serial port. Enter KEEP to confirm.",13,10
   856 00001235 2E2044656275676761-
   856 0000123E 626C65206C44656275-
   856 00001247 6720636F6E6E656374-
   856 00001250 656420746F20736572-
   856 00001259 69616C20706F72742E-
   856 00001262 20456E746572204B45-
   856 0000126B 455020746F20636F6E-
   856 00001274 6669726D2E0D0A00   
   857 0000127C 4E6F204B454550206B-     .serial_no_keep_timer:	asciz "No KEEP keyword confirmation after timeout, giving up. (Keyboard enabled.)",13,10
   857 00001285 6579776F726420636F-
   857 0000128E 6E6669726D6174696F-
   857 00001297 6E2061667465722074-
   857 000012A0 696D656F75742C2067-
   857 000012A9 6976696E672075702E-
   857 000012B2 20284B6579626F6172-
   857 000012BB 6420656E61626C6564-
   857 000012C4 2E290D0A00         
   858 000012C9 4E6F204B454550206B-     .serial_no_keep_enter:	asciz "No KEEP keyword confirmation, enabling keyboard.",13,10
   858 000012D2 6579776F726420636F-
   858 000012DB 6E6669726D6174696F-
   858 000012E4 6E2C20656E61626C69-
   858 000012ED 6E67206B6579626F61-
   858 000012F6 72642E0D0A00       
   859                                  %if _VXCHG
   860 000012FC 4E4F                    .nokeep:	db "NO"
   861                                  %endif
   862 000012FE 4B45455000              .keep:		asciz "KEEP"
   863 00001303 4572726F723A20556E-     .cannot_hook_2D.invalid:	asciz "Error: Unable to hook interrupt 2Dh due to invalid handler.",13,10
   863 0000130C 61626C6520746F2068-
   863 00001315 6F6F6B20696E746572-
   863 0000131E 727570742032446820-
   863 00001327 64756520746F20696E-
   863 00001330 76616C69642068616E-
   863 00001339 646C65722E0D0A00   
   864 00001341 4572726F723A20556E-     .cannot_hook_2D.nofree:		asciz "Error: Unable to hook interrupt 2Dh, no free multiplex number.",13,10
   864 0000134A 61626C6520746F2068-
   864 00001353 6F6F6B20696E746572-
   864 0000135C 72757074203244682C-
   864 00001365 206E6F206672656520-
   864 0000136E 6D756C7469706C6578-
   864 00001377 206E756D6265722E0D-
   864 00001380 0A00               
   865 00001382 5761726E696E673A20      .serial_cannot_unhook:		db "Warning: "
   866 0000138B 556E61626C6520746F-     .serial_cannot_unhook.nowarn:	db "Unable to unhook interrupt "
   866 00001394 20756E686F6F6B2069-
   866 0000139D 6E7465727275707420 
   867 000013A6 2D2D682E0D0A00          .serial_cannot_unhook.int:	asciz "--h.",13,10
   868 000013AD 4572726F723A20556E-     .serial_cannot_hook:		db "Error: Unable to hook interrupt "
   868 000013B6 61626C6520746F2068-
   868 000013BF 6F6F6B20696E746572-
   868 000013C8 7275707420         
   869 000013CD 2D2D68206265636175-     .serial_cannot_hook.new_int:	db "--h because interrupt "
   869 000013D6 736520696E74657272-
   869 000013DF 75707420           
   870 000013E3 2D2D68207374696C6C-     .serial_cannot_hook.old_int:	asciz "--h still hooked.",13,10
   870 000013EC 20686F6F6B65642E0D-
   870 000013F5 0A00               
   871 000013F7 537563636565646564-     .serial_late_unhook:		db "Succeeded in unhooking interrupt "
   871 00001400 20696E20756E686F6F-
   871 00001409 6B696E6720696E7465-
   871 00001412 727275707420       
   872 00001418 2D2D682E0D0A00          .serial_late_unhook.int:	asciz "--h.",13,10
   873 0000141F 496E7465726E616C20-     .line_out_overflow:	asciz "Internal error, line_out buffer overflowed!",13,10
   873 00001428 6572726F722C206C69-
   873 00001431 6E655F6F7574206275-
   873 0000143A 66666572206F766572-
   873 00001443 666C6F776564210D0A-
   873 0000144C 00                 
   874                                  %if _REGSHIGHLIGHT || _GETLINEHIGHLIGHT || _DHIGHLIGHT
   875 0000144D 041B5B376D              .highlight:	counted 27,"[7m"
   876                                   %if _GETLINEHIGHLIGHT || _DHIGHLIGHT
   877 00001452 00                      		db 0
   878                                   %endif
   879 00001453 031B5B6D                .unhighlight:	counted 27,"[m"
   880                                   %if _GETLINEHIGHLIGHT || _DHIGHLIGHT
   881 00001457 00                      		db 0
   882                                   %endif
   883                                  %endif
   884 00001458 206B4D475400            .prefixes:	asciz " kMGT"
   885 0000145E 50726F63657373206C-     .ll_unterm:	ascizline "Process loading aborted: Attached process didn't terminate!"
   885 00001467 6F6164696E67206162-
   885 00001470 6F727465643A204174-
   885 00001479 746163686564207072-
   885 00001482 6F6365737320646964-
   885 0000148B 6E2774207465726D69-
   885 00001494 6E617465210D0A00   
   886 0000149C 43616E6E6F74207175-     .qq_unterm:	ascizline "Cannot quit, attached process didn't terminate!"
   886 000014A5 69742C206174746163-
   886 000014AE 6865642070726F6365-
   886 000014B7 7373206469646E2774-
   886 000014C0 207465726D696E6174-
   886 000014C9 65210D0A00         
   887                                  %if _PM
   888                                  .qq_still_pm:	ascizline "Cannot quit, still in PM after attached process terminated!"
   889                                  %endif
   890 000014CE 417474616368656420-     .qq_a_unterminated:	ascizline "Attached process didn't terminate."
   890 000014D7 70726F636573732064-
   890 000014E0 69646E277420746572-
   890 000014E9 6D696E6174652E0D0A-
   890 000014F2 00                 
   891 000014F3 417474616368656420-     .qq_a_terminated:	ascizline "Attached process did terminate."
   891 000014FC 70726F636573732064-
   891 00001505 6964207465726D696E-
   891 0000150E 6174652E0D0A00     
   892 00001515 43616E6E6F74206372-     .ensure_no_memory:	ascizline "Cannot create empty attached process, out of memory!"
   892 0000151E 6561746520656D7074-
   892 00001527 792061747461636865-
   892 00001530 642070726F63657373-
   892 00001539 2C206F7574206F6620-
   892 00001542 6D656D6F7279210D0A-
   892 0000154B 00                 
   893                                  %if _DEVICE
   894                                  .qq_device_none_selected:
   895 0000154C 43616E6E6F74207175-      ascizline "Cannot quit normally when loaded as device driver! Try QC or QD command."
   895 00001555 6974206E6F726D616C-
   895 0000155E 6C79207768656E206C-
   895 00001567 6F6164656420617320-
   895 00001570 646576696365206472-
   895 00001579 697665722120547279-
   895 00001582 205143206F72205144-
   895 0000158B 20636F6D6D616E642E-
   895 00001594 0D0A00             
   896                                  .qq_device_no_d:
   897 00001597 43616E6E6F74207175-      ascizline "Cannot quit to device driver initialisation, state modified!"
   897 000015A0 697420746F20646576-
   897 000015A9 696365206472697665-
   897 000015B2 7220696E697469616C-
   897 000015BB 69736174696F6E2C20-
   897 000015C4 7374617465206D6F64-
   897 000015CD 6966696564210D0A00 
   898                                  .qq_device_no_c:
   899 000015D6 43616E6E6F74207175-      ascizline "Cannot quit from device driver container, not found!"
   899 000015DF 69742066726F6D2064-
   899 000015E8 657669636520647269-
   899 000015F1 76657220636F6E7461-
   899 000015FA 696E65722C206E6F74-
   899 00001603 20666F756E64210D0A-
   899 0000160C 00                 
   900                                   %if _PM
   901                                  .qq_device_pm:		ascizline "Cannot quit device driver in PM!"
   902                                   %endif
   903 0000160D 00                      	align 2, db 0
   904 0000160E 4E554C20<rep 5h>        .NULblank:		fill 8, 32, db "NUL"
   905                                  %endif
   906 00001616 4330                    .c0:	db "C0"
   907 00001618 0D                      .cr:	db 13
   908                                  
   909 00001619 41424F525400            .abort:			asciz "ABORT"
   910                                  %if _EXTENSIONS || _INPUT_FILE_HANDLES || _INPUT_FILE_BOOT
   911 0000161F 45584953545300          .exists:		asciz "EXISTS"
   912 00001626 5900                    .y:			asciz "Y"
   913 00001628 20636F6D6D616E6420-     .yy_requires_filename:	asciz " command requires a filename.",13,10
   913 00001631 726571756972657320-
   913 0000163A 612066696C656E616D-
   913 00001643 652E0D0A00         
   914 00001648 20636F6D6D616E6420-     .yy_filename_empty:	asciz " command filename is empty.",13,10
   914 00001651 66696C656E616D6520-
   914 0000165A 697320656D7074792E-
   914 00001663 0D0A00             
   915 00001666 20636F6D6D616E6420-     .yy_too_many_handles:	asciz " command has too many open files.",13,10
   915 0000166F 68617320746F6F206D-
   915 00001678 616E79206F70656E20-
   915 00001681 66696C65732E0D0A00 
   916 0000168A 20636F6D6D616E6420-     .yy_error_file_open:	asciz " command failed to open file.",13,10
   916 00001693 6661696C656420746F-
   916 0000169C 206F70656E2066696C-
   916 000016A5 652E0D0A00         
   917 000016AA 20636F6D6D616E6420-     .yy_no_file:		asciz " command limited to label only valid in script file.",13,10
   917 000016B3 6C696D697465642074-
   917 000016BC 6F206C6162656C206F-
   917 000016C5 6E6C792076616C6964-
   917 000016CE 20696E207363726970-
   917 000016D7 742066696C652E0D0A-
   917 000016E0 00                 
   918                                  %endif
   919                                  %if _INPUT_FILE_HANDLES || _EXTENSIONS
   920 000016E1 20636F6D6D616E6420-     .yy_no_dos:		asciz " command requires DOS to be available.",13,10
   920 000016EA 726571756972657320-
   920 000016F3 444F5320746F206265-
   920 000016FC 20617661696C61626C-
   920 00001705 652E0D0A00         
   921                                  .yy_filename_missing_unquote:
   922 0000170A 20636F6D6D616E6420-     			asciz " command filename missing ending quote.",13,10
   922 00001713 66696C656E616D6520-
   922 0000171C 6D697373696E672065-
   922 00001725 6E64696E672071756F-
   922 0000172E 74652E0D0A00       
   923                                  %endif
   924                                  %if _INPUT_FILE_BOOT || _EXTENSIONS
   925 00001734 20636F6D6D616E6420-     .yy_too_large:		asciz " command file too large.",13,10
   925 0000173D 66696C6520746F6F20-
   925 00001746 6C617267652E0D0A00 
   926 0000174F 20636F6D6D616E6420-     .yy_empty:		asciz " command file empty.",13,10
   926 00001758 66696C6520656D7074-
   926 00001761 792E0D0A00         
   927                                  %endif
   928                                  
   929                                  %if _SYMBOLIC
   930                                  .zz_switch_s_received:	asciz "Allocating symbol table buffer of "
   931                                  .zz_switch_s_received_xms:
   932                                  			asciz "Allocating XMS symbol table buffer (including transfer buffer) of "
   933                                  .zz_switch_s_freeing:	asciz "Freeing symbol table buffer.",13,10
   934                                  .zz_switch_s_indos:	db "Can't change symbol table buffer allocation"
   935                                  			asciz " while in DOS!",13,10
   936                                  %if _BOOTLDR
   937                                  .zz_switch_s_internal_error:
   938                                  	asciz "Internal error in Z /S switch handling!",13,10
   939                                  .zz_switch_s_boot_memsize_differ:
   940                                  	asciz "Cannot change symbol table buffer allocation, memory size changed!",13,10
   941                                  .zz_switch_s_boot_transfer_too_low:
   942                                  	asciz "Cannot enlarge symbol table buffer that much, transfer buffer too low!",13,10
   943                                  .zz_switch_s_boot_loaded_kernel:
   944                                  	asciz "Cannot change symbol table buffer allocation, kernel has been loaded!",13,10
   945                                  .zz_switch_s_boot_rpl:
   946                                  	asciz "Cannot change symbol table buffer allocation, RPL has been loaded!",13,10
   947                                  %endif
   948                                  .zz_s_cannot_alloc_transfer:	asciz "Cannot allocate transfer buffer!",13,10
   949                                  .zz_s_cannot_alloc_target:	asciz "Cannot allocate target buffer!",13,10
   950                                  .zz_too_full:	asciz "Symbol tables are too full for this reallocation.",13,10
   951                                  .zz_xms_not_freed_1:	asciz "Unable to free symbol table XMS handle = "
   952                                  .zz_xms_not_freed_2:	asciz "h.",13,10
   953                                  .invaliddata:		asciz "Invalid symbol table data!",13,10
   954                                   %if _SECOND_SLICE && (_XMS_SYMBOL_TABLE || _BUFFER_86MM_SLICE)
   955                                  .error_second_slice:	asciz "Invalid symbol table access slice usage!",13,10
   956                                   %endif
   957                                  .main_too_full:		asciz "Symbol main array is too full!",13,10
   958                                  .main_too_full_crit1:	asciz "Symbol main array is too full! Critical error. (Earlier check succeeded.)",13,10
   959                                  .hash_too_full_crit1:	asciz "Symbol hash array is too full! Critical error. (Earlier check succeeded.)",13,10
   960                                  .hash_too_full_crit2:	asciz "Symbol hash array is too full! Critical error. (Main has space.)",13,10
   961                                  .str_too_full:		asciz "Symbol string heap is too full!",13,10
   962                                  .str_too_long:		asciz "Symbol string is too long!",13,10
   963                                  .liststore.main.end.first:	asciz 13,10,"Main total:",9
   964                                  .liststore.main.free.first:	asciz "Main free:",9
   965                                  .liststore.main.used.first:	asciz "Main used:",9
   966                                  .liststore.hash.end.first:	asciz 13,10,"Hash total:",9
   967                                  .liststore.hash.free.first:	asciz "Hash free:",9
   968                                  .liststore.hash.used.first:	asciz "Hash used:",9
   969                                  .liststore.str.end.first:	asciz 13,10,"String total:",9
   970                                  .liststore.str.free.first:	asciz "String free:",9
   971                                  .liststore.str.used.first:	asciz "String used:",9
   972                                  .liststore.second:		asciz " in "
   973                                  .liststore.third.singular:	asciz " unit",13,10
   974                                  .liststore.third.plural:	asciz " units",13,10
   975                                  .liststore.str.first:	asciz "Strings size is "
   976                                  .liststore.str.unref.first:	asciz "Unreferenced strings size is "
   977                                  .liststore.str.unref.second:
   978                                  .liststore.str.second:	asciz " in "
   979                                  .liststore.str.unref.third.singular:
   980                                  .liststore.str.third.singular:	asciz " string.",13,10
   981                                  .liststore.str.unref.third.plural:
   982                                  .liststore.str.third.plural:	asciz " strings.",13,10
   983                                  .liststore.str.fourth:	asciz "Average string structure length is <= "
   984                                  .liststore.str.invalid:	asciz "Error: Average string structure length too large"
   985                                  .liststore.str.nofourth:asciz "Cannot calculate average string structure length, number of strings is zero"
   986                                  .liststore.str.last:	asciz ".",13,10
   987                                  .symhint:
   988                                  .symhint_store_string:	db "..@symhint_"
   989                                  .symhint_size:		equ $ - .symhint
   990                                  			db "store_string_"
   991                                  .symhint_store_string_size equ $ - .symhint_store_string
   992                                  .trace_caller:		db "trace_caller"
   993                                  .trace_caller_size: equ $ - .trace_caller
   994                                  .trace_here:		db "trace_here"
   995                                  .trace_here_size: equ $ - .trace_here
   996                                  .skip_caller:		db "skip_caller_"
   997                                  .skip_caller_size: equ $ - .skip_caller
   998                                  .skip_here:		db "skip_here_"
   999                                  .skip_here_size: equ $ - .skip_here
  1000                                  .asciz:			asciz "ASCIZ"
  1001                                  .zz_list_range_first:	asciz "Range: "
  1002                                  .zz_list_range_second:	asciz "h--"
  1003                                  .zz_list_range_third:	asciz "h"
  1004                                  .zz_list_add_none:	db ""
  1005                                  .zz_list_none:		asciz " No symbols found",13,10
  1006                                  .zz_list_start:		asciz 13,10
  1007                                  .zz_list_between:	asciz
  1008                                  .zz_list_first:		asciz " Linear="
  1009                                  .zz_list_second:	asciz " Offset="
  1010                                  .zz_list_middle:	asciz "h = ",'"'
  1011                                  .zz_list_last:		asciz '"',13,10
  1012                                  .zz_list_end:		asciz
  1013                                  .zz_list_add_range:	asciz "; "
  1014                                  .zz_list_add_first:	asciz "z add linear=("
  1015                                  .zz_list_base:		asciz " + v1"
  1016                                  .zz_list_base_symbol:	asciz " + sl."
  1017                                  .zz_list_add_second:	asciz ") offset="
  1018                                  .zz_list_add_middle:	asciz " symbol='"
  1019                                  .zz_list_add_last:	asciz "'",13,10
  1020                                  .zz_match_add_none:	db ";"
  1021                                  .zz_match_none:		asciz " No symbols found",13,10
  1022                                  .existing_block:	asciz "Symbol already exists and is being blocked.",13,10
  1023                                  .poison_block:		asciz "Symbol definition is poisoned and is being blocked.",13,10
  1024                                  .stat:			asciz "STAT"
  1025                                  .match:			asciz "MATCH"
  1026                                  .add:			asciz "ADD"
  1027                                  .commit:		asciz "COMMIT"
  1028                                  .del:			asciz "DEL"
  1029                                  .delete:		asciz "DELETE"
  1030                                  .unrefstring:		asciz "UNREFSTRING"
  1031                                  .reloc:			asciz "RELOC"
  1032                                  .relocate:		asciz "RELOCATE"
  1033                                  .symbol:		asciz "SYMBOL"
  1034                                  .flags:			asciz "FLAGS"
  1035                                  .sl:			asciz "SL"
  1036                                  .max:			asciz "MAX"
  1037                                  %if _XMS_SYMBOL_TABLE
  1038                                  .zz_no_xms:		asciz "No XMS driver detected!",13,10
  1039                                  .zz_fail_xms_alloc:	asciz "Failed to allocate XMS block!",13,10
  1040                                  .zz_fail_xms_access:	asciz "Failed to access XMS block!",13,10
  1041                                  %endif
  1042                                  .zz_main_hash_mismatch:	asciz "Compaction/expansion failed, differing amounts of hash and main entries.",13,10
  1043                                  .zz_main_not_first:	asciz "Compaction/expansion failed, main array is not first.",13,10
  1044                                  .zz_hash_not_second:	asciz "Compaction/expansion failed, hash array is not second.",13,10
  1045                                  .zz_str_not_third:	asciz "Compaction/expansion failed, string heap is not third.",13,10
  1046                                  .zz_table_not_full:	asciz "Compaction/expansion failed, table is not full.",13,10
  1047                                  .zz_too_much:		asciz "Symbol table size is too large. Internal error!",13,10
  1048                                  .zz_too_short:		asciz "Symbol table size is too short. Internal error!",13,10
  1049                                  .zz_str_overflow:	asciz "String symbol table got too large. Internal error!",13,10
  1050                                  .zz_length_mismatch:	asciz "Symbol table table size mismatch. Internal error!",13,10
  1051                                  .zz_too_small_str:	asciz "String symbol table target is too small.",13,10
  1052                                  .zz_too_small_hash:
  1053                                  .zz_too_small_mainhash:	asciz "Main/hash symbol table target is too small.",13,10
  1054                                  .zz_internal_error_expand:
  1055                                  			asciz "Internal error during symbol table expansion!",13,10
  1056                                  .zz_reloc_amount_none:	asciz "No symbols found in given source range.",13,10
  1057                                  .zz_del_amount_none:	asciz "Symbol not found!",13,10
  1058                                  .zz_reloc_amount_1:		asciz "Relocated "
  1059                                  .zz_del_amount_1:		asciz "Deleted "
  1060                                  .zz_reloc_amount_2.plural:
  1061                                  .zz_del_amount_2.plural:	asciz " symbols.",13,10
  1062                                  .zz_reloc_amount_2.singular:
  1063                                  .zz_del_amount_2.singular:	asciz " symbol.",13,10
  1064                                  .zz_reloc_overflow:	asciz "Cannot relocate, length of source range overflows!",13,10
  1065                                  .bb_sym_too_many:	asciz "Too many symbol breakpoints!",13,10
  1066                                  .bb_sym_beyond_linear:	asciz "Symbol breakpoint linear is beyond reach!",13,10
  1067                                  .bb_sym_beyond_offset:	asciz "Symbol breakpoint offset is beyond reach!",13,10
  1068                                  %endif
  1069                                  
  1070                                  %if _BREAKPOINTS
  1071 00001766 414C4C00                .all:		asciz "ALL"
  1072 0000176A 4E455700                .new:		asciz "NEW"
  1073 0000176E 4E6F20756E75736564-     .bb_no_new:	asciz "No unused breakpoint left!",13,10
  1073 00001777 20627265616B706F69-
  1073 00001780 6E74206C656674210D-
  1073 00001789 0A00               
  1074 0000178B 19486974207065726D-     .bb_hit.1:	counted "Hit permanent breakpoint "
  1074 00001794 616E656E7420627265-
  1074 0000179D 616B706F696E7420   
  1075                                  .bb_hit.2.nocounter:
  1076 000017A5 020D0A                  		counted 13,10
  1077                                  %if _SYMBOLIC
  1078                                  .bb_sym_hit.1:	counted "Hit symbol breakpoint "
  1079                                  .bb_sym_hit.2.nocounter:
  1080                                  		counted 13,10
  1081                                  %endif
  1082 000017A8 1C5061737365642070-     .bb_pass.1:	counted "Passed permanent breakpoint "
  1082 000017B1 65726D616E656E7420-
  1082 000017BA 627265616B706F696E-
  1082 000017C3 7420               
  1083                                  .bb_hit.2.counter:
  1084 000017C5 0A2C20636F756E7465-     .bb_pass.2:	counted ", counter="
  1084 000017CE 723D               
  1085                                  .bb_hit.3.counter.no_id:
  1086                                  .bb_pass.3.no_id:
  1087                                  .bb_hitpass_id.after:
  1088 000017D0 020D0A                  		counted 13,10
  1089                                  .bb_hitpass_id.long:
  1090 000017D3 070D0A2049443A20        		counted 13,10," ID: "
  1091                                  .bb_hitpass_id.short:
  1092 000017DB 062C2049443A20          		counted ", ID: "
  1093 000017E2 205748454E2000          .bb_when:	asciz " WHEN "
  1094                                  
  1095 000017E9 42502000                .bp:		asciz "BP "
  1096 000017ED 202B00                  .bpenabled:	asciz " +"
  1097 000017F0 202D00                  .bpdisabled:	asciz " -"
  1098 000017F3 20556E7573656400        .bpunused:	asciz " Unused"
  1099 000017FB 204C696E3D00            .bpaddress:	asciz " Lin="
  1100 00001801 202800                  .bpcontent:	asciz " ("
  1101 00001804 2920436F756E746572-     .bpcounter:	asciz ") Counter="
  1101 0000180D 3D00               
  1102                                  %if 0
  1103                                  BP 00 Unused
  1104                                  BP 00 + Lin=12345678 (CC) Counter=8000
  1105                                  1234567890123456789012345678901234567890
  1106                                  %endif
  1107 0000180F 4E6F20627265616B70-     .bpnone:	asciz "No breakpoints set currently.",13,10
  1107 00001818 6F696E747320736574-
  1107 00001821 2063757272656E746C-
  1107 0000182A 792E0D0A00         
  1108 0000182F 4E6F20627265616B70-     .bpnone_at:	asciz "No breakpoint set at given address currently.",13,10
  1108 00001838 6F696E742073657420-
  1108 00001841 617420676976656E20-
  1108 0000184A 616464726573732063-
  1108 00001853 757272656E746C792E-
  1108 0000185C 0D0A00             
  1109                                  %endif
  1110 0000185F 5468652000              .cant_bp_the:			asciz "The "
  1111 00001864 70726F636565642062-     .cant_bp_type_proceed:		asciz "proceed breakpoint"
  1111 0000186D 7265616B706F696E74-
  1111 00001876 00                 
  1112 00001877 7065726D616E656E74-     .cant_bp_type_permanent:	db    "permanent breakpoint "
  1112 00001880 20627265616B706F69-
  1112 00001889 6E7420             
  1113 0000188C 5F5F00                  .cant_bp_type_permanent.index:	asciz "__"
  1114                                  %if _SYMBOLIC
  1115                                  .cant_bp_type_symbol:		db    "symbol breakpoint "
  1116                                  .cant_bp_type_symbol.index:	asciz "__"
  1117                                  %endif
  1118 0000188F 204720627265616B70-     .cant_bp_type_gg:		asciz " G breakpoint"
  1118 00001898 6F696E7400         
  1119 0000189D 20286C696E65617220      .cant_bp_linear:		db    " (linear "
  1120 000018A6 2D2D2D2D5F              .cant_bp_linear.address1:	db    "----_"
  1121 000018AB 2D2D2D2D292000          .cant_bp_linear.address2:	asciz "----) "
  1122 000018B2 63616E6E6F74206265-     .cant_bp_write:			asciz "cannot be written."
  1122 000018BB 207772697474656E2E-
  1122 000018C4 00                 
  1123 000018C5 63616E6E6F74206265-     .cant_bp_restore:		db    "cannot be restored to "
  1123 000018CE 20726573746F726564-
  1123 000018D7 20746F20           
  1124 000018DB 5F5F2E00                .cant_bp_restore.value:		asciz "__."
  1125                                  %if 0
  1126                                  The 15th G breakpoint (linear 0010_FFFF) cannot be written.
  1127                                  The proceed breakpoint (linear 0010_FFFF) cannot be written.
  1128                                  The permanent breakpoint 0F (linear 0010_FFFF) cannot be written.
  1129                                  The permanent breakpoint 0F (linear 0010_FFFF) cannot be restored to __.
  1130                                  12345678901234567890123456789012345678901234567890123456789012345678901234567890
  1131                                  %endif
  1132 000018DF 0D0A20526561736F6E-     .cant_bp_reason:		asciz 13,10," Reason: "
  1132 000018E8 3A2000             
  1133 000018EB 4E6F206572726F722E-     .cant_bp_reason0:		asciz "No error. (Internal error, report!)",13,10
  1133 000018F4 2028496E7465726E61-
  1133 000018FD 6C206572726F722C20-
  1133 00001906 7265706F727421290D-
  1133 0000190F 0A00               
  1134 00001911 497420697320726561-     .cant_bp_reason1:		asciz "It is read-only.",13,10
  1134 0000191A 642D6F6E6C792E0D0A-
  1134 00001923 00                 
  1135 00001924 497420697320756E72-     .cant_bp_reason2:		asciz "It is unreachable.",13,10
  1135 0000192D 6561636861626C652E-
  1135 00001936 0D0A00             
  1136 00001939 497420686173206265-     .cant_bp_reason3:		db    "It has been overwritten with "
  1136 00001942 656E206F7665727772-
  1136 0000194B 697474656E20776974-
  1136 00001954 6820               
  1137 00001956 5F5F2E0D0A00            .cant_bp_reason3.value:		asciz "__.",13,10
  1138 0000195C 556E6B6E6F776E2065-     .cant_bp_reasonu:		asciz "Unknown error. (Internal error, report!)",13,10
  1138 00001965 72726F722E2028496E-
  1138 0000196E 7465726E616C206572-
  1138 00001977 726F722C207265706F-
  1138 00001980 727421290D0A00     
  1139                                  
  1140 00001987 20202000                .list_bp.first:	asciz "   "
  1141 0000198B 204720627265616B70-     .list_bp.second:db " G breakpoint, linear "
  1141 00001994 6F696E742C206C696E-
  1141 0000199D 65617220           
  1142                                  .list_bp.address1:
  1143 000019A1 2D2D2D2D5F              		db "----_"
  1144                                  .list_bp.address2:
  1145 000019A6 2D2D2D2D00              		asciz "----"
  1146 000019AB 2C20636F6E74656E74-     .list_bp.third:	db ", content "
  1146 000019B4 20                 
  1147                                  .list_bp.value:
  1148 000019B5 5F5F00                  		asciz "__"
  1149                                  .list_bp_not_cseip: equ crlf
  1150                                  %if _PM
  1151                                  .list_bp_cseip_32:
  1152                                  		asciz " (is at CS:EIP)",13,10
  1153                                  %endif
  1154                                  .list_bp_csip_16:
  1155 000019B8 202869732061742043-     		asciz " (is at CS:IP)",13,10
  1155 000019C1 533A4950290D0A00   
  1156                                  .list_bp_none:
  1157 000019C9 546865204720627265-     		asciz "The G breakpoint list is empty.",13,10
  1157 000019D2 616B706F696E74206C-
  1157 000019DB 69737420697320656D-
  1157 000019E4 7074792E0D0A00     
  1158                                  %if 0
  1159                                     2nd G breakpoint, linear 0003_28D3 $3600:12345678, content CC (is at CS:EIP)
  1160                                  12345678901234567890123456789012345678901234567890123456789012345678901234567890
  1161                                  %endif
  1162 000019EB 00                      .empty_message:	asciz
  1163 000019EC 4C49535400              .list:		asciz "LIST"
  1164 000019F1 414741494E00            .again:		asciz "AGAIN"
  1165                                  %if _SYMBOLIC
  1166                                  .wrt:		asciz "WRT"
  1167                                  %endif
  1168 000019F7 52656163686564206C-     .uu_too_many_repeat:	asciz "Reached limit of repeating disassembly.",13,10
  1168 00001A00 696D6974206F662072-
  1168 00001A09 6570656174696E6720-
  1168 00001A12 646973617373656D62-
  1168 00001A1B 6C792E0D0A00       
  1169 00001A21 496E7465726E616C20-     .uu_internal_error:	asciz "Internal error in disassembler!",13,10
  1169 00001A2A 6572726F7220696E20-
  1169 00001A33 646973617373656D62-
  1169 00001A3C 6C6572210D0A00     
  1170 00001A43 496E7465726E616C20-     .aa_internal_error:	asciz "Internal error in assembler!",13,10
  1170 00001A4C 6572726F7220696E20-
  1170 00001A55 617373656D626C6572-
  1170 00001A5E 210D0A00           
  1171 00001A62 537461636B206F7665-     .stack_overflow:	db "Stack overflow occurred, IP="
  1171 00001A6B 72666C6F77206F6363-
  1171 00001A74 75727265642C204950-
  1171 00001A7D 3D                 
  1172 00001A7E 5F5F5F5F682C206475-     .stack_overflow.caller:	asciz "____h, due to "
  1172 00001A87 6520746F2000       
  1173 00001A8D 65787072657373696F-     .stack_overflow.indirection:	asciz "expression indirection.",13,10
  1173 00001A96 6E20696E6469726563-
  1173 00001A9F 74696F6E2E0D0A00   
  1174 00001AA7 65787072657373696F-     .stack_overflow.parens:		asciz "expression parentheses.",13,10
  1174 00001AB0 6E20706172656E7468-
  1174 00001AB9 657365732E0D0A00   
  1175 00001AC1 65787072657373696F-     .stack_overflow.precedence:	asciz "expression precedence.",13,10
  1175 00001ACA 6E2070726563656465-
  1175 00001AD3 6E63652E0D0A00     
  1176 00001ADA 65787072657373696F-     .stack_overflow.value_in:	asciz "expression VALUE x IN y.",13,10
  1176 00001AE3 6E2056414C55452078-
  1176 00001AEC 20494E20792E0D0A00 
  1177 00001AF5 65787072657373696F-     .stack_overflow.linear:		asciz "expression LINEAR.",13,10
  1177 00001AFE 6E204C494E4541522E-
  1177 00001B07 0D0A00             
  1178                                  %if _PM
  1179                                  .stack_overflow.desctype:	asciz "expression DESCTYPE.",13,10
  1180                                  %endif
  1181 00001B0A 65787072657373696F-     .stack_overflow.cond:		asciz "expression conditional ?? x :: y.",13,10
  1181 00001B13 6E20636F6E64697469-
  1181 00001B1C 6F6E616C203F3F2078-
  1181 00001B25 203A3A20792E0D0A00 
  1182                                  %if _SYMBOLIC
  1183                                  .dd_after_symbol.non_wrt:
  1184                                  .uu_after_symbol.non_wrt:		 db ":"
  1185                                  .dd_after_symbol.2_wrt:
  1186                                  .memref_after_symbol.non_wrt:
  1187                                  .uu_after_symbol.wrt:
  1188                                  .memref_after_symbol.wrt:		asciz 13,10
  1189                                  .dd_after_symbol.1_wrt:
  1190                                  .uu_after_symbol_between_1.wrt:
  1191                                  .uu_between_symbol.wrt:			 db ":"
  1192                                  .memref_between_symbol.wrt:		asciz " wrt "
  1193                                  .uu_after_symbol_between_1.non_wrt:	 db ":"
  1194                                  .uu_after_symbol_between_2.wrt:		asciz " + "
  1195                                  .uu_after_symbol_between_3:		asciz 13,10
  1196                                  %endif
  1197                                  %if _MEMREF_AMOUNT
  1198                                   %if _DEBUG2 || _SYMBOLIC
  1199                                  .memrefs_branchdirect:	asciz 9, "direct branch target = "
  1200                                  .memrefs_stringsource:	asciz 9, "string source        = "
  1201                                  .memrefs_stringdest:	asciz 9, "string destination   = "
  1202                                  .memrefs_memsource:	asciz 9, "memory source        = "
  1203                                  .memrefs_memdest:	asciz 9, "memory destination   = "
  1204                                  .memrefs_memsourcedest:	asciz 9, "memory source/dest   = "
  1205                                  .memrefs_mem_unknown:	asciz 9, "memory (unknown)     = "
  1206                                  .memrefs_unknown:	asciz 9, "unknown mem ref type = "
  1207                                  .memrefs_length:	counted " length="
  1208                                   %endif
  1209                                  .memrefs_invalid_internal:
  1210 00001B2E 496E7465726E616C20-     		asciz "Internal error, invalid use of too many memrefs!",13,10
  1210 00001B37 6572726F722C20696E-
  1210 00001B40 76616C696420757365-
  1210 00001B49 206F6620746F6F206D-
  1210 00001B52 616E79206D656D7265-
  1210 00001B5B 6673210D0A00       
  1211                                  %endif
  1212                                  
  1213                                  %if 0
  1214                                  	align 2, db 0
  1215                                  .optiontable:	dw dispregs32, .r32off, .r32on
  1216                                  		dw traceints, .traceoff, .traceon
  1217                                  		dw cpdepchars, .cpoff, .cpon
  1218                                  		dw fakeindos, .dosoff, .doson
  1219                                  		dw nonpagingdevice, .nonpageoff, .nonpageon
  1220                                  		dw pagingdevice, .pageoff, .pageon
  1221                                  		dw hexrn, .readrnoff, .readrnon
  1222                                  		dw 0
  1223                                  
  1224                                  .r32off:	asciz "Dump 16-bit register set"
  1225                                  .r32on:		asciz "Dump 32-bit register set"
  1226                                  .traceoff:	asciz "Interrupts are traced"
  1227                                  .traceon:	asciz "Interrupts are processed"
  1228                                  .cpoff:		asciz "Extended ASCII characters replaced"
  1229                                  .cpon:		asciz "Extended ASCII characters displayed"
  1230                                  .dosoff:	asciz "InDOS is checked"
  1231                                  .doson:		asciz "InDOS assumed on"
  1232                                  		;asciz "InDOS assumed off"
  1233                                  .nonpageoff:	asciz
  1234                                  .nonpageon:	asciz "Paging disabled"
  1235                                  .pageoff:	asciz
  1236                                  .pageon:	asciz "Paging enabled"
  1237                                  .readrnoff:	asciz "Readable RN enabled"
  1238                                  .readrnon:	asciz "Readable RN disabled"
  1239                                  %endif
  1240                                  
  1241 00001B61 5761726E696E673A20-     .warnprefix:	asciz "Warning: Prefixes in excess of 14, using trace flag.",13,10
  1241 00001B6A 507265666978657320-
  1241 00001B73 696E20657863657373-
  1241 00001B7C 206F662031342C2075-
  1241 00001B85 73696E672074726163-
  1241 00001B8E 6520666C61672E0D0A-
  1241 00001B97 00                 
  1242                                  
  1243                                  %if _DEBUG || _LOADER
  1244 00001B98 427265616B696E6720-     .bu:		asciz "Breaking to next instance.",13,10
  1244 00001BA1 746F206E6578742069-
  1244 00001BAA 6E7374616E63652E0D-
  1244 00001BB3 0A00               
  1245                                   %if _DEBUG_COND
  1246 00001BB5 44656275676761626C-     .bu_disabled:	db "Debuggable mode is disabled.",13,10
  1246 00001BBE 65206D6F6465206973-
  1246 00001BC7 2064697361626C6564-
  1246 00001BD0 2E0D0A             
  1247 00001BD3 456E61626C65207769-     		asciz "Enable with this command: r DCO6 or= ",_4digitshex(opt6_debug_mode),13,10
  1247 00001BDC 746820746869732063-
  1247 00001BE5 6F6D6D616E643A2072-
  1247 00001BEE 2044434F36206F723D-
  1247 00001BF7 20303130300D0A00   
  1248                                   %endif
  1249                                  %else
  1250                                  .notbu:		asciz "Already in topmost instance. (This is no debugging build of lDebug.)",13,10
  1251                                  %endif
  1252                                  %if _DUALCODE
  1253                                  .bu_relocated:	db "Inter-segment calls work. Sign="
  1254                                  .bu_relocated.sign:
  1255                                  		asciz "----h.",13,10
  1256                                  %endif
  1257                                  %if _DT
  1258 00001BFF 4E                      .tableheader:	db .tableheader.end - .tableheader.start
  1259                                  .tableheader.start:
  1260                                   %assign ITERATION 0
  1261                                   %rep 8
  1262                                    %if ITERATION == 0
  1263                                    %elif ITERATION == 1 || ITERATION == 2
  1264                                  		times 4 db 32
  1265                                    %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266                                  		times 2 db 32
  1267                                    %else
  1268                                  		times 3 db 32
  1269                                    %endif
  1270                                  		db "Dec Hex"
  1271                                    %assign ITERATION ITERATION + 1
  1272                                   %endrep
  1262                              <1>  %if ITERATION == 0
  1263                              <1>  %elif ITERATION == 1 || ITERATION == 2
  1264                              <1>  times 4 db 32
  1265                              <1>  %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266                              <1>  times 2 db 32
  1267                              <1>  %else
  1268                              <1>  times 3 db 32
  1269                              <1>  %endif
  1270 00001C00 44656320486578      <1>  db "Dec Hex"
  1271                              <1>  %assign ITERATION ITERATION + 1
  1262                              <1>  %if ITERATION == 0
  1263                              <1>  %elif ITERATION == 1 || ITERATION == 2
  1264 00001C07 20<rep 4h>          <1>  times 4 db 32
  1265                              <1>  %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266                              <1>  times 2 db 32
  1267                              <1>  %else
  1268                              <1>  times 3 db 32
  1269                              <1>  %endif
  1270 00001C0B 44656320486578      <1>  db "Dec Hex"
  1271                              <1>  %assign ITERATION ITERATION + 1
  1262                              <1>  %if ITERATION == 0
  1263                              <1>  %elif ITERATION == 1 || ITERATION == 2
  1264 00001C12 20<rep 4h>          <1>  times 4 db 32
  1265                              <1>  %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266                              <1>  times 2 db 32
  1267                              <1>  %else
  1268                              <1>  times 3 db 32
  1269                              <1>  %endif
  1270 00001C16 44656320486578      <1>  db "Dec Hex"
  1271                              <1>  %assign ITERATION ITERATION + 1
  1262                              <1>  %if ITERATION == 0
  1263                              <1>  %elif ITERATION == 1 || ITERATION == 2
  1264                              <1>  times 4 db 32
  1265                              <1>  %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266 00001C1D 20<rep 2h>          <1>  times 2 db 32
  1267                              <1>  %else
  1268                              <1>  times 3 db 32
  1269                              <1>  %endif
  1270 00001C1F 44656320486578      <1>  db "Dec Hex"
  1271                              <1>  %assign ITERATION ITERATION + 1
  1262                              <1>  %if ITERATION == 0
  1263                              <1>  %elif ITERATION == 1 || ITERATION == 2
  1264                              <1>  times 4 db 32
  1265                              <1>  %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266 00001C26 20<rep 2h>          <1>  times 2 db 32
  1267                              <1>  %else
  1268                              <1>  times 3 db 32
  1269                              <1>  %endif
  1270 00001C28 44656320486578      <1>  db "Dec Hex"
  1271                              <1>  %assign ITERATION ITERATION + 1
  1262                              <1>  %if ITERATION == 0
  1263                              <1>  %elif ITERATION == 1 || ITERATION == 2
  1264                              <1>  times 4 db 32
  1265                              <1>  %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266 00001C2F 20<rep 2h>          <1>  times 2 db 32
  1267                              <1>  %else
  1268                              <1>  times 3 db 32
  1269                              <1>  %endif
  1270 00001C31 44656320486578      <1>  db "Dec Hex"
  1271                              <1>  %assign ITERATION ITERATION + 1
  1262                              <1>  %if ITERATION == 0
  1263                              <1>  %elif ITERATION == 1 || ITERATION == 2
  1264                              <1>  times 4 db 32
  1265                              <1>  %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266                              <1>  times 2 db 32
  1267                              <1>  %else
  1268 00001C38 20<rep 3h>          <1>  times 3 db 32
  1269                              <1>  %endif
  1270 00001C3B 44656320486578      <1>  db "Dec Hex"
  1271                              <1>  %assign ITERATION ITERATION + 1
  1262                              <1>  %if ITERATION == 0
  1263                              <1>  %elif ITERATION == 1 || ITERATION == 2
  1264                              <1>  times 4 db 32
  1265                              <1>  %elif ITERATION == 3 || ITERATION == 4 || ITERATION == 5
  1266                              <1>  times 2 db 32
  1267                              <1>  %else
  1268 00001C42 20<rep 3h>          <1>  times 3 db 32
  1269                              <1>  %endif
  1270 00001C45 44656320486578      <1>  db "Dec Hex"
  1271                              <1>  %assign ITERATION ITERATION + 1
  1273 00001C4C 0D0A                    		db 13,10
  1274                                  .tableheader.end:
  1275 00001C4E 4F                      .tableheadertop:db .tableheadertop.end - .tableheadertop.start
  1276                                  .tableheadertop.start:
  1277                                   %assign ITERATION 0
  1278                                   %rep 8
  1279                                    %if ITERATION == 0
  1280                                    %else
  1281                                  		times 3 db 32
  1282                                    %endif
  1283                                  		db "Dec Hex"
  1284                                    %assign ITERATION ITERATION + 1
  1285                                   %endrep
  1279                              <1>  %if ITERATION == 0
  1280                              <1>  %else
  1281                              <1>  times 3 db 32
  1282                              <1>  %endif
  1283 00001C4F 44656320486578      <1>  db "Dec Hex"
  1284                              <1>  %assign ITERATION ITERATION + 1
  1279                              <1>  %if ITERATION == 0
  1280                              <1>  %else
  1281 00001C56 20<rep 3h>          <1>  times 3 db 32
  1282                              <1>  %endif
  1283 00001C59 44656320486578      <1>  db "Dec Hex"
  1284                              <1>  %assign ITERATION ITERATION + 1
  1279                              <1>  %if ITERATION == 0
  1280                              <1>  %else
  1281 00001C60 20<rep 3h>          <1>  times 3 db 32
  1282                              <1>  %endif
  1283 00001C63 44656320486578      <1>  db "Dec Hex"
  1284                              <1>  %assign ITERATION ITERATION + 1
  1279                              <1>  %if ITERATION == 0
  1280                              <1>  %else
  1281 00001C6A 20<rep 3h>          <1>  times 3 db 32
  1282                              <1>  %endif
  1283 00001C6D 44656320486578      <1>  db "Dec Hex"
  1284                              <1>  %assign ITERATION ITERATION + 1
  1279                              <1>  %if ITERATION == 0
  1280                              <1>  %else
  1281 00001C74 20<rep 3h>          <1>  times 3 db 32
  1282                              <1>  %endif
  1283 00001C77 44656320486578      <1>  db "Dec Hex"
  1284                              <1>  %assign ITERATION ITERATION + 1
  1279                              <1>  %if ITERATION == 0
  1280                              <1>  %else
  1281 00001C7E 20<rep 3h>          <1>  times 3 db 32
  1282                              <1>  %endif
  1283 00001C81 44656320486578      <1>  db "Dec Hex"
  1284                              <1>  %assign ITERATION ITERATION + 1
  1279                              <1>  %if ITERATION == 0
  1280                              <1>  %else
  1281 00001C88 20<rep 3h>          <1>  times 3 db 32
  1282                              <1>  %endif
  1283 00001C8B 44656320486578      <1>  db "Dec Hex"
  1284                              <1>  %assign ITERATION ITERATION + 1
  1279                              <1>  %if ITERATION == 0
  1280                              <1>  %else
  1281 00001C92 20<rep 3h>          <1>  times 3 db 32
  1282                              <1>  %endif
  1283 00001C95 44656320486578      <1>  db "Dec Hex"
  1284                              <1>  %assign ITERATION ITERATION + 1
  1286 00001C9C 0D0A                    		db 13,10
  1287                                  .tableheadertop.end:
  1288                                  %endif
  1289                                  %if _PM
  1290                                  .ofs32:		asciz "Cannot access 16-bit segment with 32-bit offset.",13,10
  1291                                  .d.a_success:	db "Allocated descriptor with selector "
  1292                                  .d.a_success_sel:
  1293                                  		asciz "----",13,10
  1294                                  .d.d_success:	asciz "Deallocated descriptor",13,10
  1295                                  .d.b_success:	asciz "Set descriptor base",13,10
  1296                                  .d.l_success:	asciz "Set descriptor limit",13,10
  1297                                  .d.t_success:	asciz "Set descriptor type",13,10
  1298                                  .d.a_error:	db "Error "
  1299                                  .d.a_error_code:
  1300                                  		asciz "----",13,10
  1301                                  .d.d_error equ .d.a_error
  1302                                  .d.d_error_code equ .d.a_error_code
  1303                                  .d.b_error equ .d.a_error
  1304                                  .d.b_error_code equ .d.a_error_code
  1305                                  .d.l_error equ .d.a_error
  1306                                  .d.l_error_code equ .d.a_error_code
  1307                                  .d.t_error equ .d.a_error
  1308                                  .d.t_error_code equ .d.a_error_code
  1309                                  %endif
  1310                                  
  1311                                  %if _MCB
  1312                                   %if _MCBPOSITION
  1313                                  .keyword_position:	asciz "POSITION"
  1314                                   %endif
  1315                                   %if _MCBLIMIT
  1316                                  .keyword_limit:		asciz "LIMIT"
  1317                                   %endif
  1318                                   %if _SDSUB
  1319                                  .keyword_skipsd:	asciz "SKIPSD"
  1320                                   %endif
  1321                                   %assign ELD 0
  1322                                   %include "dmmsg.asm"
     1                              <1> %if 0
     2                              <1> 
     3                              <1> lDebug DM command messages
     4                              <1> 
     5                              <1> Copyright (C) 2008-2026 E. C. Masloch
     6                              <1> 
     7                              <1> Usage of the works is permitted provided that this
     8                              <1> instrument is retained with the works, so that any entity
     9                              <1> that uses the works is notified of this instrument.
    10                              <1> 
    11                              <1> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
    12                              <1> 
    13                              <1> %endif
    14                              <1> 
    15 00001C9E 456E64206F66206368- <1> .invmcbadr:	asciz "End of chain: invalid MCB address.",13,10
    15 00001CA7 61696E3A20696E7661- <1>
    15 00001CB0 6C6964204D43422061- <1>
    15 00001CB9 6464726573732E0D0A- <1>
    15 00001CC2 00                  <1>
    16                              <1> 
    17                              <1> %define smcb_messages ..@notype,""
    18                              <1> 
    19                              <1> 	%imacro smcbtype 2.nolist
    20                              <1> 		dw %2, %%label
    21                              <1> %if ELD
    22                              <1> internaldatarelocation
    23                              <1> %endif
    24                              <1> %defstr %%str	%1
    25                              <1> %xdefine smcb_messages smcb_messages,%%label,%%str
    26                              <1> 	%endmacro
    27                              <1> 
    28                              <1> 	%imacro smcbmsg 2-*.nolist
    29                              <1> %if %0 & 1
    30                              <1>  %error Expected even number of parameters
    31                              <1> %endif
    32                              <1> %rotate 2
    33                              <1> %rep (%0 - 2) / 2
    34                              <1> %1:	asciz %2
    35                              <1> %rotate 2
    36                              <1> %endrep
    37                              <1> 	%endmacro
    38                              <1> 
    39 00001CC3 00                  <1> 	align 4, db 0
    40                              <1> smcbtypes:
    41 00001CC4 0000[3D23]          <1> smcbtype S_OTHER,	00h
    42 00001CC8 0100[4523]          <1> smcbtype S_DOSENTRY,	01h
    43 00001CCC 0200[5023]          <1> smcbtype S_DOSCODE,	02h
    44 00001CD0 0300[5A23]          <1> smcbtype S_DOSDATA,	03h
    45 00001CD4 0400[6423]          <1> smcbtype S_IRQSCODE,	04h
    46 00001CD8 0500[6F23]          <1> smcbtype S_IRQSDATA,	05h
    47 00001CDC 0600[7A23]          <1> smcbtype S_CDS,		06h
    48 00001CE0 0700[8023]          <1> smcbtype S_LFNCDS,	07h
    49 00001CE4 0800[8923]          <1> smcbtype S_DPB,		08h
    50 00001CE8 0900[8F23]          <1> smcbtype S_UPB,		09h
    51 00001CEC 0A00[9523]          <1> smcbtype S_SFT,		0Ah
    52 00001CF0 0B00[9B23]          <1> smcbtype S_FCBSFT,	0Bh
    53 00001CF4 0C00[A423]          <1> smcbtype S_CCB,		0Ch
    54 00001CF8 0D00[AA23]          <1> smcbtype S_IRT,		0Dh
    55 00001CFC 0E00[B023]          <1> smcbtype S_SECTOR,	0Eh
    56 00001D00 0F00[B923]          <1> smcbtype S_NLS,		0Fh
    57 00001D04 1000[BF23]          <1> smcbtype S_EBDA,	10h
    58 00001D08 1600[C623]          <1> smcbtype S_INITFCBSFT,	16h
    59 00001D0C 1700[D323]          <1> smcbtype S_INITSTACK,	17h
    60 00001D10 1800[DF23]          <1> smcbtype S_INITCDS,	18h
    61 00001D14 1900[E923]          <1> smcbtype S_INITCONFIG,	19h
    62 00001D18 1A00[F623]          <1> smcbtype S_INITFATSEG,	1Ah
    63 00001D1C 1B00[0324]          <1> smcbtype S_INITSECTORSEG,	1Bh
    64 00001D20 1C00[1324]          <1> smcbtype S_INITSTACKBPB,1Ch
    65 00001D24 1D00[2224]          <1> smcbtype S_INITPSP,	1Dh
    66 00001D28 1E00[2C24]          <1> smcbtype S_ENVIRONMENT,	1Eh
    67 00001D2C 1F00[3A24]          <1> smcbtype S_INITIALISE,	1Fh
    68 00001D30 2000[4724]          <1> smcbtype S_DEVICE,	20h					; Device
    69 00001D34 2100[5024]          <1> smcbtype S_DEVICEMEMORY,21h					; Allocated by device
    70 00001D38 3000[5F24]          <1> smcbtype S_EXCLDUMA,	30h					; Excluded UMA
    71 00001D3C 3100[6A24]          <1> smcbtype S_EXCLDUMASUB,	31h					; Excluded UMA with sub-chain of used MCBs
    72 00001D40 3200[7824]          <1> smcbtype S_EXCLDLH,	32h					; Excluded by LH
    73 00001D44 3300[8224]          <1> smcbtype S_EXCLDDOS,	33h
    74 00001D48 3400[8D24]          <1> smcbtype S_EXCLDALTAH,	34h
    75 00001D4C FFFFFFFF            <1> 	dw -1, -1
    76                              <1> 
    77                              <1> %if _SDSUB
    78                              <1> sdsubmcbtypes:
    79                              <1> smcbtype DEVICE=, 'D'
    80                              <1> smcbtype DEVICE= appendage, 'E'
    81                              <1> smcbtype IFS or UPB, 'I'
    82                              <1> smcbtype FILES=, 'F'
    83                              <1> smcbtype FCBS=, 'X'
    84                              <1> smcbtype BUFFERS= EMS workspace, 'C'
    85                              <1> smcbtype BUFFERS=, 'B'
    86                              <1> smcbtype LASTDRIVE=, 'L'
    87                              <1> smcbtype STACKS=, 'S'
    88                              <1> smcbtype INSTALL= transient, 'T'
    89                              <1> smcbtype invalid, 0
    90                              <1> 	dw -1, -1
    91                              <1> %endif
  1323                                  %endif
  1324                                  
  1325                                  
  1326                                  %define INSTALLMESSAGES db ""
  1327                                  
  1328                                  %imacro installflag 6-*.nolist
  1329                                   %xdefine %%one %1
  1330                                   %xdefine %%two %2
  1331                                   %xdefine %%three %3
  1332                                   %ifempty %3
  1333                                    %define %%three install_trying
  1334                                   %endif
  1335                                   %xdefine %%four %4
  1336                                   %ifempty %4
  1337                                    %define %%four 0
  1338                                   %endif
  1339                                   %xdefine %%five %5
  1340                                  %ifnidn %%one, 0
  1341                                   %if ((%%two - 1) & %%two) == 0
  1342                                    %if %%two > 0FFFFh
  1343                                     %if %%two & 0FFFFh
  1344                                      %error Flag set in both upper and lower word
  1345                                     %endif
  1346                                     %assign %%two %%two >> 16
  1347                                     %xdefine %%one %%one + 2
  1348                                    %endif
  1349                                   %else
  1350                                    %if (%%two & 0FFFF_0000h) != 0FFFF_0000h
  1351                                     %if (%%two & 0FFFFh) != 0FFFFh
  1352                                      %error Flag clear in both upper and lower word
  1353                                     %endif
  1354                                     %assign %%two (%%two >> 16) & 0FFFFh
  1355                                     %xdefine %%one %%one + 2
  1356                                    %endif
  1357                                   %endif
  1358                                  %endif
  1359                                    %xdefine INSTALLMESSAGES INSTALLMESSAGES, %%message_five:, {asciz %%five}
  1360                                   %assign %%step 0
  1361                                   %rep %0 - 5
  1362                                    %xdefine INSTALLMESSAGES INSTALLMESSAGES, %%message_%[%%step]:, {asciz %6}
  1363                                  	dw %%message_%[%%step]
  1364                                  	dw %%message_five
  1365                                  	dw %%one, %%two, %%three, %%four
  1366                                    %rotate 1
  1367                                    %assign %%step %%step + 1
  1368                                   %endrep
  1369                                  %endmacro
  1370                                  
  1371                                  %imacro installmessages 0-*.nolist
  1372                                   %rep %0
  1373                                  	%1
  1374                                    %rotate 1
  1375                                   %endrep
  1376                                  %endmacro
  1377                                  
  1378                                  installformat equ 1
  1379                                  
  1380                                  
  1381                                  	align 4, db 0
  1382                                  installflags:
  1383                                  %if _PM
  1384                                  installflag options4, opt4_int_2F_hook,,, 	"Interrupt 2Fh DPMI hook", "INT2F", "DPMIHOOK"
  1386                                  %endif
  1387                                  %if _CATCHINTFAULTCOND && (_CATCHINT0D || _CATCHINT0C)
  1388 00001D50 [AF1F][941F][0000]-     installflag options4, opt4_int_fault_hook,,, 	"R86M fault interrupts hook", "FAULTS", "FAULT", "INTFAULTS", "INTFAULT"
  1388 00001D56 1000[0000]0000-    
  1388 00001D5C [B61F][941F][0000]-
  1388 00001D62 1000[0000]0000-    
  1388 00001D68 [BC1F][941F][0000]-
  1388 00001D6E 1000[0000]0000-    
  1388 00001D74 [C61F][941F][0000]-
  1388 00001D7A 1000[0000]0000     
  1390                                  %endif
  1391                                  %if _CATCHINT08
  1392 00001D80 [E61F][CF1F][0000]-     installflag options4, opt4_int_08_hook,,, 	"Interrupt 8 timer hook", "INT08", "INT8", "TIMER"
  1392 00001D86 0400[0000]0000-    
  1392 00001D8C [EC1F][CF1F][0000]-
  1392 00001D92 0400[0000]0000-    
  1392 00001D98 [F11F][CF1F][0000]-
  1392 00001D9E 0400[0000]0000     
  1394                                  %endif
  1395                                  %if _CATCHINT2D
  1396 00001DA4 [0F20][F71F][0000]-     installflag options4, opt4_int_2D_hook,,, 	"Interrupt 2Dh AMIS hook", "INT2D", "AMIS"
  1396 00001DAA 0800[0000]0000-    
  1396 00001DB0 [1520][F71F][0000]-
  1396 00001DB6 0800[0000]0000     
  1398                                  %endif
  1399                                  %if _AREAS && _AREAS_HOOK_CLIENT
  1400                                  installflag 0, install_areas,,, 	"Areas", "AREAS"
  1402                                  %endif
  1403 00001DBC [2520][1A20][0000]-     installflag options, enable_serial, dmycmd,, 	"Serial I/O", "SERIAL"
  1403 00001DC2 0040[0000]0000     
  1405 00001DC8 [3D20][2C20][0000]-     installflag options, fakeindos, dmycmd,, 	"Force InDOS mode", "INDOS"
  1405 00001DCE 0800[0000]0000     
  1407 00001DD4 [5920][4320][0000]-     installflag options, opt_usegetinput, dmycmd,, 	"Use DOS getinput mode", "GETINPUT"
  1407 00001DDA 0008[0000]0000     
  1409 00001DE0 [8120][6220][0200]-     installflag options3, opt3_r_highlight_full, dmycmd,, 	"R register change highlighting", "RHIGHLIGHT"
  1409 00001DE6 0400[0000]0000     
  1411 00001DEC [9720][8C20][0200]-     installflag options3, ~ opt3_disable_autorepeat, dmycmd,, 	"Autorepeat", "AUTOREPEAT"
  1411 00001DF2 FFEF[0000]0000     
  1413 00001DF8 [A920][A220][0000]-     installflag options, ~ nonpagingdevice, dmycmd,, 	"Paging", "PAGING"
  1413 00001DFE EFFF[0000]0000     
  1415 00001E04 [C020][B020][0000]-     installflag options6, opt6_bios_output, dmycmd,, 	"ROM-BIOS output", "BIOSOUT", "BIOSOUTPUT", "INT10OUT", "INT10OUTPUT"
  1415 00001E0A 0002[0000]0000-    
  1415 00001E10 [C820][B020][0000]-
  1415 00001E16 0002[0000]0000-    
  1415 00001E1C [D320][B020][0000]-
  1415 00001E22 0002[0000]0000-    
  1415 00001E28 [DC20][B020][0000]-
  1415 00001E2E 0002[0000]0000     
  1417 00001E34 [FE20][E820][0000]-     installflag options6, opt6_flat_binary, dmycmd,, 	"Flat binary read mode", "FLAT", "FLATBIN", 	"FLATBINARY", "FSWITCH"
  1417 00001E3A 0004[0000]0000-    
  1417 00001E40 [0321][E820][0000]-
  1417 00001E46 0004[0000]0000-    
  1417 00001E4C [0B21][E820][0000]-
  1417 00001E52 0004[0000]0000-    
  1417 00001E58 [1621][E820][0000]-
  1417 00001E5E 0004[0000]0000     
  1420 00001E64 [3421][1E21][0000]-     installflag options6, opt6_big_stack, dmycmd,, 	".BIG style stack mode", "BIG", "BIGSTACK", "ESWITCH"
  1420 00001E6A 0008[0000]0000-    
  1420 00001E70 [3821][1E21][0000]-
  1420 00001E76 0008[0000]0000-    
  1420 00001E7C [4121][1E21][0000]-
  1420 00001E82 0008[0000]0000     
  1422                                  %if _RH
  1423 00001E88 [5F21][4921][0200]-     installflag options6, opt6_rh_mode, dmycmd,, 	"Register dump history", "RH", "RHISTORY", "REGHISTORY"
  1423 00001E8E 1000[0000]0000-    
  1423 00001E94 [6221][4921][0200]-
  1423 00001E9A 1000[0000]0000-    
  1423 00001EA0 [6B21][4921][0200]-
  1423 00001EA6 1000[0000]0000     
  1425                                  %endif
  1426                                  %if _DEBUG && _DEBUG_COND
  1427 00001EAC [8621][7621][0000]-     installflag options6, opt6_debug_mode,,, 	"Debuggable mode", "DEBUG"
  1427 00001EB2 0001[0000]0000     
  1429                                  %endif
  1430 00001EB8 [A421][8C21][0000]-     installflag options3, opt3_paging_rc, dmycmd,, 	"Paging RC commands mode", "PAGINGRC"
  1430 00001EBE 0010[0000]0000     
  1432 00001EC4 [C521][AD21][0000]-     installflag options3, opt3_paging_re, dmycmd,, 	"Paging RE commands mode", "PAGINGRE"
  1432 00001ECA 0040[0000]0000     
  1434 00001ED0 [EC21][CE21][0000]-     installflag options3, opt3_paging_yy, dmycmd,, 	"Paging Script for lDebug mode", "PAGINGY", "PAGINGYY", "PAGINGSCRIPT"
  1434 00001ED6 0020[0000]0000-    
  1434 00001EDC [F421][CE21][0000]-
  1434 00001EE2 0020[0000]0000-    
  1434 00001EE8 [FD21][CE21][0000]-
  1434 00001EEE 0020[0000]0000     
  1436                                  %ifn _ONLYNON386
  1437 00001EF4 [2122][0A22][0000]-     installflag options, dispregs32, dmycmd,, 	"386 register dump mode", "RX", "REGS386", "REGS32"
  1437 00001EFA 0100[0000]0000-    
  1437 00001F00 [2422][0A22][0000]-
  1437 00001F06 0100[0000]0000-    
  1437 00001F0C [2C22][0A22][0000]-
  1437 00001F12 0100[0000]0000     
  1439                                  %endif
  1440 00001F18 [4922][3322][0000]-     installflag options, traceints, dmycmd,, 	"Trace interrupts Mode", "TM", "TRACEINTS", "TRACEINTERRUPTS"
  1440 00001F1E 0200[0000]0000-    
  1440 00001F24 [4C22][3322][0000]-
  1440 00001F2A 0200[0000]0000-    
  1440 00001F30 [5622][3322][0000]-
  1440 00001F36 0200[0000]0000     
  1442 00001F3C [7322][6622][0000]-     installflag options7, opt7_houdini, dmycmd,, 	"Houdini Mode", "HOUDINI"
  1442 00001F42 0001[0000]0000     
  1444 00001F48 [9522][7B22][0000]-     installflag options7, opt7_no_free_oneshot_eld, dmycmd,, 	"No free oneshot ELDs mode", "NOFREEONESHOT"
  1444 00001F4E 0100[0000]0000     
  1446 00001F54 [B522][A322][0000]-     installflag options7, opt7_quiet_install, dmycmd,, 	"Quiet ELD install", "QUIETINSTALL"
  1446 00001F5A 0400[0000]0000     
  1448 00001F60 [DF22][C222][0000]-     installflag options7, opt7_debug_optional_link, dmycmd,, 	"Debug ELD optional link mode", "DEBUGOPTLINK"
  1448 00001F66 0200[0000]0000     
  1450 00001F6C [FA22][EC22][0000]-     installflag options7, opt7_quick_run, dmycmd,, 	"Quick ELD run", "QUICKRUN"
  1450 00001F72 0800[0000]0000     
  1452 00001F78 [1123][0323][0000]-     installflag options7, opt7_debug_run, dmycmd,, 	"Debug ELD run", "DEBUGRUN"
  1452 00001F7E 0002[0000]0000     
  1454 00001F84 [3423][1A23][0000]-     installflag options7, opt7_no_ensure, dmycmd,, 	"No ensure debuggee loaded", "NOENSURE"
  1454 00001F8A 0010[0000]0000     
  1456 00001F90 00000000                	dw 0, 0
  1457                                  
  1458 00001F94 5238364D206661756C-     installmessages INSTALLMESSAGES
  1458 00001F9D 7420696E7465727275-
  1458 00001FA6 70747320686F6F6B00-
  1458 00001FAF 4641554C5453004641-
  1458 00001FB8 554C5400494E544641-
  1458 00001FC1 554C545300494E5446-
  1458 00001FCA 41554C5400496E7465-
  1458 00001FD3 727275707420382074-
  1458 00001FDC 696D657220686F6F6B-
  1458 00001FE5 00494E54303800494E-
  1458 00001FEE 54380054494D455200-
  1458 00001FF7 496E74657272757074-
  1458 00002000 2032446820414D4953-
  1458 00002009 20686F6F6B00494E54-
  1458 00002012 324400414D49530053-
  1458 0000201B 657269616C20492F4F-
  1458 00002024 0053455249414C0046-
  1458 0000202D 6F72636520496E444F-
  1458 00002036 53206D6F646500494E-
  1458 0000203F 444F53005573652044-
  1458 00002048 4F5320676574696E70-
  1458 00002051 7574206D6F64650047-
  1458 0000205A 4554494E5055540052-
  1458 00002063 207265676973746572-
  1458 0000206C 206368616E67652068-
  1458 00002075 6967686C6967687469-
  1458 0000207E 6E670052484947484C-
  1458 00002087 49474854004175746F-
  1458 00002090 726570656174004155-
  1458 00002099 544F52455045415400-
  1458 000020A2 506167696E67005041-
  1458 000020AB 47494E4700524F4D2D-
  1458 000020B4 42494F53206F757470-
  1458 000020BD 75740042494F534F55-
  1458 000020C6 540042494F534F5554-
  1458 000020CF 50555400494E543130-
  1458 000020D8 4F555400494E543130-
  1458 000020E1 4F555450555400466C-
  1458 000020EA 61742062696E617279-
  1458 000020F3 2072656164206D6F64-
  1458 000020FC 6500464C415400464C-
  1458 00002105 415442494E00464C41-
  1458 0000210E 5442494E4152590046-
  1458 00002117 535749544348002E42-
  1458 00002120 4947207374796C6520-
  1458 00002129 737461636B206D6F64-
  1458 00002132 650042494700424947-
  1458 0000213B 535441434B00455357-
  1458 00002144 495443480052656769-
  1458 0000214D 737465722064756D70-
  1458 00002156 20686973746F727900-
  1458 0000215F 52480052484953544F-
  1458 00002168 525900524547484953-
  1458 00002171 544F52590044656275-
  1458 0000217A 676761626C65206D6F-
  1458 00002183 646500444542554700-
  1458 0000218C 506167696E67205243-
  1458 00002195 20636F6D6D616E6473-
  1458 0000219E 206D6F646500504147-
  1458 000021A7 494E47524300506167-
  1458 000021B0 696E6720524520636F-
  1458 000021B9 6D6D616E6473206D6F-
  1458 000021C2 646500504147494E47-
  1458 000021CB 524500506167696E67-
  1458 000021D4 205363726970742066-
  1458 000021DD 6F72206C4465627567-
  1458 000021E6 206D6F646500504147-
  1458 000021EF 494E47590050414749-
  1458 000021F8 4E4759590050414749-
  1458 00002201 4E4753435249505400-
  1458 0000220A 333836207265676973-
  1458 00002213 7465722064756D7020-
  1458 0000221C 6D6F64650052580052-
  1458 00002225 454753333836005245-
  1458 0000222E 475333320054726163-
  1458 00002237 6520696E7465727275-
  1458 00002240 707473204D6F646500-
  1458 00002249 544D00545241434549-
  1458 00002252 4E5453005452414345-
  1458 0000225B 494E54455252555054-
  1458 00002264 5300486F7564696E69-
  1458 0000226D 204D6F646500484F55-
  1458 00002276 44494E49004E6F2066-
  1458 0000227F 726565206F6E657368-
  1458 00002288 6F7420454C4473206D-
  1458 00002291 6F6465004E4F465245-
  1458 0000229A 454F4E4553484F5400-
  1458 000022A3 517569657420454C44-
  1458 000022AC 20696E7374616C6C00-
  1458 000022B5 5155494554494E5354-
  1458 000022BE 414C4C004465627567-
  1458 000022C7 20454C44206F707469-
  1458 000022D0 6F6E616C206C696E6B-
  1458 000022D9 206D6F646500444542-
  1458 000022E2 55474F50544C494E4B-
  1458 000022EB 00517569636B20454C-
  1458 000022F4 442072756E00515549-
  1458 000022FD 434B52554E00446562-
  1458 00002306 756720454C44207275-
  1458 0000230F 6E0044454255475255-
  1458 00002318 4E004E6F20656E7375-
  1458 00002321 726520646562756767-
  1458 0000232A 6565206C6F61646564-
  1458 00002333 004E4F454E53555245-
  1458 0000233C 00                 
  1459                                  
  1460                                  
  1461                                  %if _MCB
  1462 0000233D 535F4F544845520053-     smcbmsg smcb_messages
  1462 00002346 5F444F53454E545259-
  1462 0000234F 00535F444F53434F44-
  1462 00002358 4500535F444F534441-
  1462 00002361 544100535F49525153-
  1462 0000236A 434F444500535F4952-
  1462 00002373 51534441544100535F-
  1462 0000237C 43445300535F4C464E-
  1462 00002385 43445300535F445042-
  1462 0000238E 00535F55504200535F-
  1462 00002397 53465400535F464342-
  1462 000023A0 53465400535F434342-
  1462 000023A9 00535F49525400535F-
  1462 000023B2 534543544F5200535F-
  1462 000023BB 4E4C5300535F454244-
  1462 000023C4 4100535F494E495446-
  1462 000023CD 434253465400535F49-
  1462 000023D6 4E4954535441434B00-
  1462 000023DF 535F494E4954434453-
  1462 000023E8 00535F494E4954434F-
  1462 000023F1 4E46494700535F494E-
  1462 000023FA 495446415453454700-
  1462 00002403 535F494E4954534543-
  1462 0000240C 544F5253454700535F-
  1462 00002415 494E4954535441434B-
  1462 0000241E 42504200535F494E49-
  1462 00002427 5450535000535F454E-
  1462 00002430 5649524F4E4D454E54-
  1462 00002439 00535F494E49544941-
  1462 00002442 4C49534500535F4445-
  1462 0000244B 5649434500535F4445-
  1462 00002454 564943454D454D4F52-
  1462 0000245D 5900535F4558434C44-
  1462 00002466 554D4100535F455843-
  1462 0000246F 4C44554D4153554200-
  1462 00002478 535F4558434C444C48-
  1462 00002481 00535F4558434C4444-
  1462 0000248A 4F5300535F4558434C-
  1462 00002493 44414C54414800     
  1463                                  
  1464 0000249A 756E6B6E6F776E00        smcbmsg_unknown:	asciz "unknown"
  1465                                  
  1466                                  %undef smcb_messages
  1467                                  %unimacro smcbtype 2.nolist
  1468                                  %unimacro smcbmsg 2-*.nolist
  1469                                  %endif
  1470                                  
  1471                                  
  1472 000024A2 5E204572726F7207        errcarat:	db "^ Error",7
  1473 000024AA 0D0A00                  crlf:		asciz 13,10
  1474                                  
  1475                                  %if _SYMBOLIC
  1476                                  pre_str_list:
  1477                                  	db -1, "", 0
  1478                                  .end:
  1479                                  %endif
  1480                                  
  1481                                  
  1482 000024AD 00<rep 3h>              	align 4, db 0
  1483                                  msgtable_value_range:
  1484 000024B0 [360F][400F]            	dw msg.executing, msg.executing_value_range
  1485                                  %if _ACCESS_VARIABLES_AMOUNT
  1486 000024B4 [C624][CE24]            	dw .reading, .reading_range
  1487 000024B8 [4925][5125]            	dw .writing, .writing_range
  1488 000024BC [CC25][D725]            	dw .memoperand, .memoperand_range
  1489 000024C0 [E825][F225]            	dw .accessing, .accessing_range
  1490                                  %endif
  1491 000024C4 0000                    	dw 0
  1492                                  
  1493                                  %if _ACCESS_VARIABLES_AMOUNT
  1494 000024C6 52454144494E4700        .reading:		asciz "READING"
  1495                                  .reading_range:
  1496                                   %assign iicounter 0
  1497                                   %define iiprefix ""
  1498                                   %rep _ACCESS_VARIABLES_AMOUNT
  1499                                  	_autohexitsstrdef IIDEF, iicounter
  1500                                  			db iiprefix,"FROM readadr",_IIDEF," LENGTH readlen",_IIDEF
  1501                                   %assign iicounter iicounter + 1
  1502                                   %define iiprefix ", "
  1503                                   %endrep
  1499                              <1>  _autohexitsstrdef IIDEF, iicounter
  1500 000024CE 46524F4D2072656164- <1>  db iiprefix,"FROM readadr",_IIDEF," LENGTH readlen",_IIDEF
  1500 000024D7 61647230204C454E47- <1>
  1500 000024E0 544820726561646C65- <1>
  1500 000024E9 6E30                <1>
  1501                              <1>  %assign iicounter iicounter + 1
  1502                              <1>  %define iiprefix ", "
  1499                              <1>  _autohexitsstrdef IIDEF, iicounter
  1500 000024EB 2C2046524F4D207265- <1>  db iiprefix,"FROM readadr",_IIDEF," LENGTH readlen",_IIDEF
  1500 000024F4 616461647231204C45- <1>
  1500 000024FD 4E4754482072656164- <1>
  1500 00002506 6C656E31            <1>
  1501                              <1>  %assign iicounter iicounter + 1
  1502                              <1>  %define iiprefix ", "
  1499                              <1>  _autohexitsstrdef IIDEF, iicounter
  1500 0000250A 2C2046524F4D207265- <1>  db iiprefix,"FROM readadr",_IIDEF," LENGTH readlen",_IIDEF
  1500 00002513 616461647232204C45- <1>
  1500 0000251C 4E4754482072656164- <1>
  1500 00002525 6C656E32            <1>
  1501                              <1>  %assign iicounter iicounter + 1
  1502                              <1>  %define iiprefix ", "
  1499                              <1>  _autohexitsstrdef IIDEF, iicounter
  1500 00002529 2C2046524F4D207265- <1>  db iiprefix,"FROM readadr",_IIDEF," LENGTH readlen",_IIDEF
  1500 00002532 616461647233204C45- <1>
  1500 0000253B 4E4754482072656164- <1>
  1500 00002544 6C656E33            <1>
  1501                              <1>  %assign iicounter iicounter + 1
  1502                              <1>  %define iiprefix ", "
  1504 00002548 00                      			asciz
  1505 00002549 57524954494E4700        .writing:		asciz "WRITING"
  1506                                  .writing_range:
  1507                                   %assign iicounter 0
  1508                                   %define iiprefix ""
  1509                                   %rep _ACCESS_VARIABLES_AMOUNT
  1510                                  	_autohexitsstrdef IIDEF, iicounter
  1511                                  			db iiprefix,"FROM writadr",_IIDEF," LENGTH writlen",_IIDEF
  1512                                   %assign iicounter iicounter + 1
  1513                                   %define iiprefix ", "
  1514                                   %endrep
  1510                              <1>  _autohexitsstrdef IIDEF, iicounter
  1511 00002551 46524F4D2077726974- <1>  db iiprefix,"FROM writadr",_IIDEF," LENGTH writlen",_IIDEF
  1511 0000255A 61647230204C454E47- <1>
  1511 00002563 544820777269746C65- <1>
  1511 0000256C 6E30                <1>
  1512                              <1>  %assign iicounter iicounter + 1
  1513                              <1>  %define iiprefix ", "
  1510                              <1>  _autohexitsstrdef IIDEF, iicounter
  1511 0000256E 2C2046524F4D207772- <1>  db iiprefix,"FROM writadr",_IIDEF," LENGTH writlen",_IIDEF
  1511 00002577 697461647231204C45- <1>
  1511 00002580 4E4754482077726974- <1>
  1511 00002589 6C656E31            <1>
  1512                              <1>  %assign iicounter iicounter + 1
  1513                              <1>  %define iiprefix ", "
  1510                              <1>  _autohexitsstrdef IIDEF, iicounter
  1511 0000258D 2C2046524F4D207772- <1>  db iiprefix,"FROM writadr",_IIDEF," LENGTH writlen",_IIDEF
  1511 00002596 697461647232204C45- <1>
  1511 0000259F 4E4754482077726974- <1>
  1511 000025A8 6C656E32            <1>
  1512                              <1>  %assign iicounter iicounter + 1
  1513                              <1>  %define iiprefix ", "
  1510                              <1>  _autohexitsstrdef IIDEF, iicounter
  1511 000025AC 2C2046524F4D207772- <1>  db iiprefix,"FROM writadr",_IIDEF," LENGTH writlen",_IIDEF
  1511 000025B5 697461647233204C45- <1>
  1511 000025BE 4E4754482077726974- <1>
  1511 000025C7 6C656E33            <1>
  1512                              <1>  %assign iicounter iicounter + 1
  1513                              <1>  %define iiprefix ", "
  1515 000025CB 00                      			asciz
  1516                                  
  1517 000025CC 4D454D4F504552414E-     .memoperand:		asciz "MEMOPERAND"
  1517 000025D5 4400               
  1518 000025D7 52454144494E472C20-     .memoperand_range:	asciz "READING, WRITING"
  1518 000025E0 57524954494E4700   
  1519 000025E8 414343455353494E47-     .accessing:		asciz "ACCESSING"
  1519 000025F1 00                 
  1520 000025F2 52454144494E472C20-     .accessing_range:	asciz "READING, WRITING, EXECUTING"
  1520 000025FB 57524954494E472C20-
  1520 00002604 455845435554494E47-
  1520 0000260D 00                 
  1521                                  %endif
  1522                                  
  1523                                  
  1524                                  %if _BOOTLDR
  1525                                  %define lot_list
  1526                                  %define lot_comma
  1527                                  %macro lot_entry 2.nolist
  1528                                  %ifn _LINK
  1529                                  LOAD_%2 equ %1
  1530                                  %endif
  1531                                  	dw LOAD_%2, .%2
  1532                                  %defstr %%string %2
  1533                                  %xdefine lot_list lot_list lot_comma .%2:, db %%string, db 0
  1534                                  %define lot_comma ,
  1535                                  %endmacro
  1536                                  
  1537                                  %macro lot_messages 0-*.nolist
  1538                                  %rep (%0 / 3)
  1539                                  %1
  1540                                  	%2
  1541                                  	%3
  1542                                  %rotate 3
  1543                                  %endrep
  1544                                  %endmacro
  1545                                  
  1546 0000260E 00<rep 2h>              	align 4, db 0
  1547                                  loadoptiontable:
  1548 00002610 0100[7C26]              	lot_entry    1, SET_DL_UNIT
  1549 00002614 0200[8826]              	lot_entry    2, SET_BL_UNIT
  1550 00002618 0400[9426]              	lot_entry    4, SET_SIDI_CLUSTER
  1551 0000261C 1000[A526]              	lot_entry  10h, SET_DSSI_DPT
  1552 00002620 2000[B226]              	lot_entry  20h, PUSH_DPT
  1553 00002624 4000[BB26]              	lot_entry  40h, DATASTART_HIDDEN
  1554 00002628 8000[CC26]              	lot_entry  80h, SET_AXBX_DATASTART
  1555 0000262C 0001[DF26]              	lot_entry 100h, SET_DSBP_BPB
  1556 00002630 0002[EC26]              	lot_entry 200h, LBA_SET_TYPE
  1557 00002634 0004[F926]              	lot_entry 400h, MESSAGE_TABLE
  1558 00002638 0008[0727]              	lot_entry 800h, SET_AXBX_ROOT_HIDDEN
  1559 0000263C 0010[1C27]              	lot_entry 1000h, CMDLINE
  1560 00002640 0020[2427]              	lot_entry 2000h, NO_BPB
  1561 00002644 0040[2B27]              	lot_entry 4000h, SET_DSSI_PARTINFO
  1562 00002648 00000000                	dw 0, 0
  1563                                  
  1564                                  .incompatible:
  1565 0000264C 02008000                	dw LOAD_SET_BL_UNIT, LOAD_SET_AXBX_DATASTART
  1566 00002650 02000008                	dw LOAD_SET_BL_UNIT, LOAD_SET_AXBX_ROOT_HIDDEN
  1567 00002654 80000008                	dw LOAD_SET_AXBX_DATASTART, LOAD_SET_AXBX_ROOT_HIDDEN
  1568 00002658 04001000                	dw LOAD_SET_SIDI_CLUSTER, LOAD_SET_DSSI_DPT
  1569 0000265C 00011000                	dw LOAD_SET_DSBP_BPB, LOAD_SET_DSSI_DPT
  1570 00002660 00200001                	dw LOAD_NO_BPB, LOAD_SET_DSBP_BPB
  1571 00002664 00200002                	dw LOAD_NO_BPB, LOAD_LBA_SET_TYPE
  1572 00002668 00200004                	dw LOAD_NO_BPB, LOAD_MESSAGE_TABLE
  1573 0000266C 00400400                	dw LOAD_SET_DSSI_PARTINFO, LOAD_SET_SIDI_CLUSTER
  1574 00002670 00401000                	dw LOAD_SET_DSSI_PARTINFO, LOAD_SET_DSSI_DPT
  1575 00002674 00400001                	dw LOAD_SET_DSSI_PARTINFO, LOAD_SET_DSBP_BPB
  1576 00002678 00000000                	dw 0, 0
  1577                                  
  1578 0000267C 5345545F444C5F554E-     lot_messages lot_list
  1578 00002685 4954005345545F424C-
  1578 0000268E 5F554E495400534554-
  1578 00002697 5F534944495F434C55-
  1578 000026A0 53544552005345545F-
  1578 000026A9 445353495F44505400-
  1578 000026B2 505553485F44505400-
  1578 000026BB 444154415354415254-
  1578 000026C4 5F48494444454E0053-
  1578 000026CD 45545F415842585F44-
  1578 000026D6 415441535441525400-
  1578 000026DF 5345545F445342505F-
  1578 000026E8 425042004C42415F53-
  1578 000026F1 45545F54595045004D-
  1578 000026FA 4553534147455F5441-
  1578 00002703 424C45005345545F41-
  1578 0000270C 5842585F524F4F545F-
  1578 00002715 48494444454E00434D-
  1578 0000271E 444C494E45004E4F5F-
  1578 00002727 425042005345545F44-
  1578 00002730 5353495F5041525449-
  1578 00002739 4E464F00           
  1579                                  
  1580                                  %unmacro lot_entry 2.nolist
  1581                                  %unmacro lot_messages 0-*.nolist
  1582                                  
  1583                                  
  1584                                  msdos7_message_table:
  1585                                  		; the first four bytes give displacements to the various
  1586                                  		;  messages. an ASCIZ message indicates that this was the
  1587                                  		;  last message. a message terminated by 0FFh indicates
  1588                                  		;  that the last message (displacement at table + 3) is
  1589                                  		;  to follow after this message.
  1590                                  		; the maximum allowed displacement is 7Fh. the minimum
  1591                                  		;  allowed displacement is 1, to avoid a zero displacement.
  1592                                  		; only the last message is terminated by a zero byte,
  1593                                  		;  as that zero byte indicates the end of the message table.
  1594                                  		;  (the entire table is treated as one ASCIZ string.)
  1595                                  		; MS-DOS 7.10 from MSW 98 SE seems to have at least 167h (359)
  1596                                  		;  bytes allocated to its buffer for these.
  1597                                  		;
  1598                                  		; this message table was discussed in a dosemu2 repo at
  1599                                  		;  https://github.com/stsp/dosemu2/issues/681
  1600 0000273D 03                      .:	db .msg_invalid_system - ($ + 1)
  1601 0000273E 13                      	db .msg_io_error - ($ + 1)
  1602 0000273F 01                      	db .msg_invalid_system - ($ + 1)
  1603 00002740 1D                      	db .msg_press_any_key - ($ + 1)
  1604                                  
  1605                                  .msg_invalid_system:
  1606 00002741 0D0A496E76616C6964-     	db 13,10,"Invalid system", -1
  1606 0000274A 2073797374656DFF   
  1607                                  
  1608                                  .msg_io_error:
  1609 00002752 0D0A492F4F20657272-     	db 13,10,"I/O error", -1
  1609 0000275B 6F72FF             
  1610                                  
  1611                                  .msg_press_any_key:
  1612 0000275E 0D0A4368616E676520-     	db 13,10,"Change disk and press any key",13,10,0
  1612 00002767 6469736B20616E6420-
  1612 00002770 707265737320616E79-
  1612 00002779 206B65790D0A00     
  1613                                  .end:
  1614                                  .size: equ .end - .
  1615                                  
  1616                                  %if .size > 150h
  1617                                   %error Message table too large!
  1618                                  %endif
  1619                                  
  1620                                  
  1621                                  
  1622                                  	align 4, db 0
  1623                                  loadsettings:
  1624                                  	istruc LOADSETTINGS
  1625 00002780 [EF07]                  at lsKernelName,	dw msg.ldos_kernel_name
  1626 00002782 [6508]                  at lsAddName,		dw msg.addname_empty
  1627 00002784 6000                    at lsMinPara,		dw 60h
  1628 00002786 0000                    at lsMaxPara,		dw 0
  1629 00002788 0010                    at lsOptions,		dw LOAD_CMDLINE
  1630 0000278A 0002                    at lsSegment,		dw 200h
  1631 0000278C 00040000                at lsEntry,		dd 400h
  1632 00002790 007CFFFF                at lsBPB,		dw 7C00h, -1
  1633 00002794 00<rep 4h>FC03          at lsCheckOffset,	dw 1020
  1634 0000279A 6C44                    at lsCheckValue,	db "lD"
  1635 0000279C 4C444F5300              at lsName,		asciz "LDOS"
  1636 000027A1 00<rep 3h>              	iend
  1637                                  	istruc LOADSETTINGS
  1638 000027A4 [C707]                  at lsKernelName,	dw msg.freedos_kernel_name
  1639 000027A6 [6508]                  at lsAddName,		dw msg.addname_empty
  1640 000027A8 2000                    at lsMinPara,		dw 20h
  1641 000027AA FFFF                    at lsMaxPara,		dw -1
  1642 000027AC 0300                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_BL_UNIT
  1643 000027AE 6000                    at lsSegment,		dw 60h
  1644 000027B0 00000000                at lsEntry,		dd 0
  1645 000027B4 007CFFFF                at lsBPB,		dw 7C00h, -1
  1646 000027B8 00<rep 8h>46524545-     at lsName,		asciz "FREEDOS"
  1646 000027C4 444F5300           
  1647                                  	iend
  1648                                  	istruc LOADSETTINGS
  1649 000027C8 [D207]                  at lsKernelName,	dw msg.dosc_kernel_name
  1650 000027CA [6508]                  at lsAddName,		dw msg.addname_empty
  1651 000027CC 2000                    at lsMinPara,		dw 20h
  1652 000027CE FFFF                    at lsMaxPara,		dw -1
  1653 000027D0 0300                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_BL_UNIT
  1654 000027D2 0020                    at lsSegment,		dw 2000h
  1655 000027D4 00000000                at lsEntry,		dd 0
  1656 000027D8 007C0000                at lsBPB,		dw 7C00h, 0
  1657 000027DC 00<rep 8h>444F5343-     at lsName,		asciz "DOSC"
  1657 000027E8 00                 
  1658 000027E9 00<rep 3h>              	iend
  1659                                  	istruc LOADSETTINGS
  1660 000027EC [DA07]                  at lsKernelName,	dw msg.edrdos_kernel_name
  1661 000027EE [6508]                  at lsAddName,		dw msg.addname_empty
  1662 000027F0 2000                    at lsMinPara,		dw 20h
  1663 000027F2 FFFF                    at lsMaxPara,		dw -1
  1664 000027F4 0301                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_BL_UNIT 			 | LOAD_SET_DSBP_BPB
  1666 000027F6 7000                    at lsSegment,		dw 70h
  1667 000027F8 00000000                at lsEntry,		dd 0
  1668 000027FC 007CFFFF                at lsBPB,		dw 7C00h, -1
  1669 00002800 00<rep 8h>45445244-     at lsName,		asciz "EDRDOS"
  1669 0000280C 4F5300             
  1670 0000280F 00                      	iend
  1671                                  	istruc LOADSETTINGS
  1672 00002810 [E407]                  at lsKernelName,	dw msg.drdos9_kernel_name
  1673 00002812 [6508]                  at lsAddName,		dw msg.addname_empty
  1674 00002814 4000                    at lsMinPara,		dw paras(2 * 512)
  1675 00002816 0002                    at lsMaxPara,		dw paras(16 * 512)
  1676 00002818 0301                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_BL_UNIT 			 | LOAD_SET_DSBP_BPB
  1678 0000281A 7000                    at lsSegment,		dw 70h
  1679 0000281C 00000000                at lsEntry,		dd 0
  1680 00002820 007C0000                at lsBPB,		dw 7C00h, 0
  1681 00002824 00050000                at lsCopyBPB,		dw 500h, 0
  1682 00002828 00<rep 4h>4452444F-     at lsName,		asciz "DRDOS9"
  1682 00002830 533900             
  1683 00002833 00                      	iend
  1684                                  	istruc LOADSETTINGS
  1685 00002834 [F807]                  at lsKernelName,	dw msg.msdos6_kernel_name
  1686 00002836 [FF07]                  at lsAddName,		dw msg.msdos6_add_name
  1687 00002838 2000                    at lsMinPara,		dw 20h
  1688 0000283A 6000                    at lsMaxPara,		dw 60h
  1689 0000283C F100                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_AXBX_DATASTART 			 | LOAD_DATASTART_HIDDEN | LOAD_SET_DSSI_DPT 			 | LOAD_PUSH_DPT
  1692 0000283E 7000                    at lsSegment,		dw 70h
  1693 00002840 00000000                at lsEntry,		dd 0
  1694 00002844 007C0000                at lsBPB,		dw 7C00h, 0
  1695 00002848 00<rep 8h>4D53444F-     at lsName,		asciz "MSDOS6"
  1695 00002854 533600             
  1696 00002857 00                      	iend
  1697                                  	istruc LOADSETTINGS
  1698 00002858 [3A08]                  at lsKernelName,	dw msg.rxdos.0_kernel_name
  1699 0000285A [5108]                  at lsAddName,		dw msg.rxdos.0_add_name
  1700 0000285C 2000                    at lsMinPara,		dw 20h
  1701 0000285E 6000                    at lsMaxPara,		dw 60h
  1702 00002860 3108                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_AXBX_ROOT_HIDDEN 			 | LOAD_SET_DSSI_DPT | LOAD_PUSH_DPT
  1704 00002862 7000                    at lsSegment,		dw 70h
  1705 00002864 00000000                at lsEntry,		dd 0
  1706 00002868 007C0000                at lsBPB,		dw 7C00h, 0
  1707 0000286C 00<rep 8h>5258444F-     at lsName,		asciz "RXDOS.0"
  1707 00002878 532E3000           
  1708                                  	iend
  1709                                  	istruc LOADSETTINGS
  1710 0000287C [4708]                  at lsKernelName,	dw msg.rxdos.1_kernel_name
  1711 0000287E [5108]                  at lsAddName,		dw msg.rxdos.1_add_name
  1712 00002880 2000                    at lsMinPara,		dw 20h
  1713 00002882 6000                    at lsMaxPara,		dw 60h
  1714 00002884 3108                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_AXBX_ROOT_HIDDEN 			 | LOAD_SET_DSSI_DPT | LOAD_PUSH_DPT
  1716 00002886 7000                    at lsSegment,		dw 70h
  1717 00002888 00000000                at lsEntry,		dd 0
  1718 0000288C 007C0000                at lsBPB,		dw 7C00h, 0
  1719 00002890 00<rep 8h>5258444F-     at lsName,		asciz "RXDOS.1"
  1719 0000289C 532E3100           
  1720                                  	iend
  1721                                  	istruc LOADSETTINGS
  1722 000028A0 [5B08]                  at lsKernelName,	dw msg.rxdos.2_kernel_name
  1723 000028A2 [6508]                  at lsAddName,		dw msg.addname_empty
  1724 000028A4 6000                    at lsMinPara,		dw 60h
  1725 000028A6 0000                    at lsMaxPara,		dw 0
  1726 000028A8 0010                    at lsOptions,		dw LOAD_CMDLINE
  1727 000028AA 7000                    at lsSegment,		dw 70h
  1728 000028AC 00040000                at lsEntry,		dd 400h
  1729 000028B0 007CFFFF                at lsBPB,		dw 7C00h, -1
  1730 000028B4 00<rep 8h>5258444F-     at lsName,		asciz "RXDOS.2"
  1730 000028C0 532E3200           
  1731                                  	iend
  1732                                  	istruc LOADSETTINGS
  1733 000028C4 [5B08]                  at lsKernelName,	dw msg.rxdos.2_kernel_name
  1734 000028C6 [6508]                  at lsAddName,		dw msg.addname_empty
  1735 000028C8 6000                    at lsMinPara,		dw 60h
  1736 000028CA 0000                    at lsMaxPara,		dw 0
  1737 000028CC 0010                    at lsOptions,		dw LOAD_CMDLINE
  1738 000028CE 0002                    at lsSegment,		dw 200h
  1739 000028D0 00040000                at lsEntry,		dd 400h
  1740 000028D4 007CFFFF                at lsBPB,		dw 7C00h, -1
  1741 000028D8 00<rep 4h>FC03          at lsCheckOffset,	dw 1020
  1742 000028DE 6C44                    at lsCheckValue,	db "lD"
  1743 000028E0 5258444F532E3300        at lsName,		asciz "RXDOS.3"
  1744                                  	iend
  1745                                  	istruc LOADSETTINGS
  1746 000028E8 [0908]                  at lsKernelName,	dw msg.ibmdos_kernel_name
  1747 000028EA [1408]                  at lsAddName,		dw msg.ibmdos_add_name
  1748 000028EC 2000                    at lsMinPara,		dw 20h
  1749 000028EE 8000                    at lsMaxPara,		dw 80h
  1750 000028F0 F100                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_AXBX_DATASTART 			 | LOAD_DATASTART_HIDDEN | LOAD_SET_DSSI_DPT 			 | LOAD_PUSH_DPT
  1753 000028F2 7000                    at lsSegment,		dw 70h
  1754 000028F4 00000000                at lsEntry,		dd 0
  1755 000028F8 007C0000                at lsBPB,		dw 7C00h, 0
  1756 000028FC 00<rep 8h>49424D44-     at lsName,		asciz "IBMDOS"
  1756 00002908 4F5300             
  1757 0000290B 00                      	iend
  1758                                  	istruc LOADSETTINGS
  1759 0000290C [0908]                  at lsKernelName,	dw msg.ibmdos_kernel_name
  1760 0000290E [1408]                  at lsAddName,		dw msg.ibmdos_add_name
  1761 00002910 2000                    at lsMinPara,		dw 20h
  1762 00002912 FFFF                    at lsMaxPara,		dw -1
  1763 00002914 F100                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_AXBX_DATASTART 			 | LOAD_DATASTART_HIDDEN | LOAD_SET_DSSI_DPT 			 | LOAD_PUSH_DPT
  1766 00002916 7000                    at lsSegment,		dw 70h
  1767 00002918 00000000                at lsEntry,		dd 0
  1768 0000291C 007C0000                at lsBPB,		dw 7C00h, 0
  1769 00002920 00<rep 8h>4452444F-     at lsName,		asciz "DRDOS"
  1769 0000292C 5300               
  1770 0000292E 00<rep 2h>              	iend
  1771                                  	istruc LOADSETTINGS
  1772 00002930 [F807]                  at lsKernelName,	dw msg.msdos7_kernel_name
  1773 00002932 [6508]                  at lsAddName,		dw msg.addname_empty
  1774 00002934 4000                    at lsMinPara,		dw 40h
  1775 00002936 8000                    at lsMaxPara,		dw 80h
  1776 00002938 6506                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_SIDI_CLUSTER 			 | LOAD_DATASTART_HIDDEN | LOAD_PUSH_DPT 			 | LOAD_LBA_SET_TYPE | LOAD_MESSAGE_TABLE
  1779 0000293A 7000                    at lsSegment,		dw 70h
  1780 0000293C 00020000                at lsEntry,		dd 200h
  1781 00002940 007CFFFF                at lsBPB,		dw 7C00h, -1
  1782 00002944 00<rep 4h>0002          at lsCheckOffset,	dw 200h
  1783 0000294A 424A                    at lsCheckValue,	db "BJ"
  1784 0000294C 4D53444F533700          at lsName,		asciz "MSDOS7"
  1785 00002953 00                      	iend
  1786                                  	istruc LOADSETTINGS
  1787 00002954 [1F08]                  at lsKernelName,	dw msg.ntldr_kernel_name
  1788 00002956 [6508]                  at lsAddName,		dw msg.addname_empty
  1789 00002958 2000                    at lsMinPara,		dw 20h
  1790 0000295A FFFF                    at lsMaxPara,		dw -1
  1791 0000295C 4100                    at lsOptions,		dw LOAD_SET_DL_UNIT 			 | LOAD_DATASTART_HIDDEN
  1793 0000295E 0020                    at lsSegment,		dw 2000h
  1794 00002960 00000000                at lsEntry,		dd 0
  1795 00002964 007C0000                at lsBPB,		dw 7C00h, 0
  1796 00002968 00<rep 8h>4E544C44-     at lsName,		asciz "NTLDR"
  1796 00002974 5200               
  1797 00002976 00<rep 2h>              	iend
  1798                                  	istruc LOADSETTINGS
  1799 00002978 [2508]                  at lsKernelName,	dw msg.bootmgr_kernel_name
  1800 0000297A [6508]                  at lsAddName,		dw msg.addname_empty
  1801 0000297C 2000                    at lsMinPara,		dw 20h
  1802 0000297E FFFF                    at lsMaxPara,		dw -1
  1803 00002980 4100                    at lsOptions,		dw LOAD_SET_DL_UNIT 			 | LOAD_DATASTART_HIDDEN
  1805 00002982 0020                    at lsSegment,		dw 2000h
  1806 00002984 00000000                at lsEntry,		dd 0
  1807 00002988 007C0000                at lsBPB,		dw 7C00h, 0
  1808 0000298C 00<rep 8h>424F4F54-     at lsName,		asciz "BOOTMGR"
  1808 00002998 4D475200           
  1809                                  	iend
  1810                                  	istruc LOADSETTINGS
  1811 0000299C [2D08]                  at lsKernelName,	dw msg.chain_kernel_name
  1812 0000299E [6508]                  at lsAddName,		dw msg.addname_empty
  1813 000029A0 2000                    at lsMinPara,		dw paras(512)
  1814 000029A2 0002                    at lsMaxPara,		dw paras(8192)
  1815 000029A4 0160                    at lsOptions,		dw LOAD_SET_DL_UNIT | LOAD_SET_DSSI_PARTINFO 			 | LOAD_NO_BPB
  1817 000029A6 C007                    at lsSegment,		dw 7C0h
  1818 000029A8 007C40F8                at lsEntry,		dw 7C00h, -7C0h
  1819 000029AC 007C0000                at lsBPB,		dw 7C00h, 0
  1820 000029B0 00<rep 4h>FE01          at lsCheckOffset,	dw 510
  1821 000029B6 55AA                    at lsCheckValue,	dw 0AA55h
  1822 000029B8 434841494E00            at lsName,		asciz "CHAIN"
  1823 000029BE 00<rep 2h>              	iend
  1824 000029C0 0000                    			dw 0
  1825                                  %endif
  1826                                  
  1827                                  
  1828                                  %if _APPLICATION || _DEVICE
  1829 000029C2 0D21                    dskerrs:	db dskerr0-dskerrs,dskerr1-dskerrs
  1830 000029C4 3444                    		db dskerr2-dskerrs,dskerr3-dskerrs
  1831 000029C6 5494                    		db dskerr4-dskerrs,dskerr9-dskerrs
  1832 000029C8 6570                    		db dskerr6-dskerrs,dskerr7-dskerrs
  1833 000029CA 8394                    		db dskerr8-dskerrs,dskerr9-dskerrs
  1834 000029CC A2AE                    		db dskerra-dskerrs,dskerrb-dskerrs
  1835 000029CE B9                      		db dskerrc-dskerrs
  1836 000029CF 57726974652070726F-     dskerr0:	asciz "Write protect error"
  1836 000029D8 74656374206572726F-
  1836 000029E1 7200               
  1837 000029E3 556E6B6E6F776E2075-     dskerr1:	asciz "Unknown unit error"
  1837 000029EC 6E6974206572726F72-
  1837 000029F5 00                 
  1838 000029F6 4472697665206E6F74-     dskerr2:	asciz "Drive not ready"
  1838 000029FF 20726561647900     
  1839 00002A06 556E6B6E6F776E2063-     dskerr3:	asciz "Unknown command"
  1839 00002A0F 6F6D6D616E6400     
  1840 00002A16 44617461206572726F-     dskerr4:	asciz "Data error (CRC)"
  1840 00002A1F 7220284352432900   
  1841 00002A27 5365656B206572726F-     dskerr6:	asciz "Seek error"
  1841 00002A30 7200               
  1842 00002A32 556E6B6E6F776E206D-     dskerr7:	asciz "Unknown media type"
  1842 00002A3B 656469612074797065-
  1842 00002A44 00                 
  1843 00002A45 536563746F72206E6F-     dskerr8:	asciz "Sector not found"
  1843 00002A4E 7420666F756E6400   
  1844 00002A56 556E6B6E6F776E2065-     dskerr9:	asciz "Unknown error"
  1844 00002A5F 72726F7200         
  1845 00002A64 577269746520666175-     dskerra:	asciz "Write fault"
  1845 00002A6D 6C7400             
  1846 00002A70 52656164206661756C-     dskerrb:	asciz "Read fault"
  1846 00002A79 7400               
  1847 00002A7B 47656E6572616C2066-     dskerrc:	asciz "General failure"
  1847 00002A84 61696C75726500     
  1848 00002A8B 207265616400            reading:	asciz " read"
  1849 00002A91 207772697400            writing:	asciz " writ"
  1850 00002A97 696E67206472697665-     drive:		db "ing drive "
  1850 00002AA0 20                 
  1851 00002AA1 5F00                    driveno:	asciz "_"
  1852                                  %endif
  1853 00002AA3 383038362F383800        msg8088:	asciz "8086/88"
  1854 00002AAB 78383600                msgx86:		asciz "x86"
  1855 00002AAF 20776974686F757420-     no_copr:	asciz " without coprocessor"
  1855 00002AB8 636F70726F63657373-
  1855 00002AC1 6F7200             
  1856 00002AC4 207769746820636F70-     has_copr:	asciz " with coprocessor"
  1856 00002ACD 726F636573736F7200 
  1857 00002AD6 207769746820323837-     has_287:	asciz " with 287"
  1857 00002ADF 00                 
  1858 00002AE0 7472616365206D6F64-     tmodes:		db "trace mode is "
  1858 00002AE9 6520697320         
  1859 00002AEE 5F202D20696E746572-     tmodev:		asciz "_ - interrupts are "
  1859 00002AF7 727570747320617265-
  1859 00002B00 2000               
  1860 00002B02 74726163656400          tmode1:		asciz "traced"
  1861 00002B09 70726F636573736564-     tmode0:		asciz "processed"
  1861 00002B12 00                 
  1862 00002B13 2028756E7573656429-     unused:		asciz " (unused)"
  1862 00002B1C 00                 
  1863                                  needsmsg:
  1864 00002B1D 5B6E6565647320          .:		db "[needs "
  1865                                  .digit_x_ofs: equ $ - .
  1866 00002B24 7838                    		db "x8"
  1867                                  .digit_6_ofs: equ $ - .
  1868 00002B26 365D                    		db "6]"
  1869                                  needsmsg_L:	equ $-needsmsg
  1870 00002B28 5B6E65656473206D61-     needsmath:	db "[needs math coprocessor]"
  1870 00002B31 746820636F70726F63-
  1870 00002B3A 6573736F725D       
  1871                                  needsmath_L:	equ $-needsmath
  1872 00002B40 5B6F62736F6C657465-     obsolete:	db "[obsolete]"
  1872 00002B49 5D                 
  1873                                  obsolete_L:	equ $-obsolete
  1874 00002B4A 446976696465206572-     int0msg:	asciz "Divide error",13,10
  1874 00002B53 726F720D0A00       
  1875 00002B59 556E65787065637465-     int1msg:	asciz "Unexpected single-step interrupt",13,10
  1875 00002B62 642073696E676C652D-
  1875 00002B6B 7374657020696E7465-
  1875 00002B74 72727570740D0A00   
  1876 00002B7C 556E65787065637465-     int3msg:	asciz "Unexpected breakpoint interrupt",13,10
  1876 00002B85 6420627265616B706F-
  1876 00002B8E 696E7420696E746572-
  1876 00002B97 727570740D0A00     
  1877                                  %if _CATCHINT06
  1878 00002B9E 496E76616C6964206F-     int6msg:	asciz "Invalid opcode",13,10
  1878 00002BA7 70636F64650D0A00   
  1879                                  %endif
  1880                                  %if _CATCHINT08
  1881 00002BAF 446574656374656420-     int8msg:	asciz "Detected Control pressed for a while",13,10
  1881 00002BB8 436F6E74726F6C2070-
  1881 00002BC1 72657373656420666F-
  1881 00002BCA 722061207768696C65-
  1881 00002BD3 0D0A00             
  1882 00002BD6 446574656374656420-     int8_kbd_msg:	asciz "Detected Control pressed for a while (Keyboard enabled)",13,10
  1882 00002BDF 436F6E74726F6C2070-
  1882 00002BE8 72657373656420666F-
  1882 00002BF1 722061207768696C65-
  1882 00002BFA 20284B6579626F6172-
  1882 00002C03 6420656E61626C6564-
  1882 00002C0C 290D0A00           
  1883                                  runint_ctrlc_msg:
  1884 00002C10 446574656374656420-     		asciz "Detected double Control-C via serial",13,10
  1884 00002C19 646F75626C6520436F-
  1884 00002C22 6E74726F6C2D432076-
  1884 00002C2B 69612073657269616C-
  1884 00002C34 0D0A00             
  1885                                  %endif
  1886                                  %if _CATCHINT07
  1887                                  int7msg:	asciz "No x87 present",13,10
  1888                                  %endif
  1889                                  %if _CATCHINT0C
  1890 00002C37 537461636B20666175-     int0Cmsg:	asciz "Stack fault (in R86M)",13,10
  1890 00002C40 6C742028696E205238-
  1890 00002C49 364D290D0A00       
  1891                                  %endif
  1892                                  %if _CATCHINT0D
  1893 00002C4F 47656E6572616C2070-     int0Dmsg:	asciz "General protection fault (in R86M)",13,10
  1893 00002C58 726F74656374696F6E-
  1893 00002C61 206661756C74202869-
  1893 00002C6A 6E205238364D290D0A-
  1893 00002C73 00                 
  1894                                  %endif
  1895                                  %if _CATCHINT18 || _LOADER
  1896 00002C74 4469736B6C65737320-     int18msg:	asciz "Diskless boot hook called",13,10
  1896 00002C7D 626F6F7420686F6F6B-
  1896 00002C86 2063616C6C65640D0A-
  1896 00002C8F 00                 
  1897                                  %endif
  1898                                  %if _CATCHINT19 || _LOADER
  1899 00002C90 426F6F74206C6F6164-     int19msg:	asciz "Boot load called",13,10
  1899 00002C99 2063616C6C65640D0A-
  1899 00002CA2 00                 
  1900                                  %endif
  1901                                  %if _CATCHSYSREQ
  1902                                  sysreqmsg:	asciz "SysReq detected",13,10
  1903                                  %endif
  1904                                  %if _PM
  1905                                   %if _CATCHEXC06
  1906                                  exc6msg:	asciz "Invalid opcode fault",13,10
  1907                                   %endif
  1908                                   %if _CATCHEXC0C
  1909                                  excCmsg:	asciz "Stack fault",13,10
  1910                                   %endif
  1911                                  excDmsg:	asciz "General protection fault",13,10
  1912                                  %endif
  1913                                  %if _PM || _CATCHINT07 || _CATCHINT0C || _CATCHINT0D
  1914                                   %if _EXCCSIP
  1915 00002CA3 43533A49503D            excloc:		db "CS:IP="
  1916 00002CA9 202020203A20202020-     exccsip:	asciz "    :    ",13,10
  1916 00002CB2 0D0A00             
  1917                                   %endif
  1918                                   %if _AREAS
  1919                                  msg.area_hh_indirection_memory_access:
  1920 00002CB5 45787072657373696F-     		asciz "Expression indirection fault: "
  1920 00002CBE 6E20696E6469726563-
  1920 00002CC7 74696F6E206661756C-
  1920 00002CD0 743A2000           
  1921                                  msg.area_rr_variable_read_access:
  1922 00002CD4 4D656D6F7279207661-     		asciz "Memory variable read access fault: "
  1922 00002CDD 726961626C65207265-
  1922 00002CE6 616420616363657373-
  1922 00002CEF 206661756C743A2000 
  1923                                  msg.area_rr_variable_write_access:
  1924 00002CF8 4D656D6F7279207661-     		asciz "Memory variable write access fault: "
  1924 00002D01 726961626C65207772-
  1924 00002D0A 697465206163636573-
  1924 00002D13 73206661756C743A20-
  1924 00002D1C 00                 
  1925                                  msg.area_uu_referenced_memory_access:
  1926 00002D1D 0D0A44697361737365-     		asciz 13,10,"Disassembly referenced memory fault: "
  1926 00002D26 6D626C792072656665-
  1926 00002D2F 72656E636564206D65-
  1926 00002D38 6D6F7279206661756C-
  1926 00002D41 743A2000           
  1927                                  msg.area_uu_simulate_scas:
  1928 00002D45 446973617373656D62-     		asciz "Disassembly SCAS simulation fault: "
  1928 00002D4E 6C7920534341532073-
  1928 00002D57 696D756C6174696F6E-
  1928 00002D60 206661756C743A2000 
  1929                                  msg.area_uu_simulate_cmps:
  1930 00002D69 446973617373656D62-     		asciz "Disassembly CMPS simulation fault: "
  1930 00002D72 6C7920434D50532073-
  1930 00002D7B 696D756C6174696F6E-
  1930 00002D84 206661756C743A2000 
  1931                                  msg.area_aa_access:
  1932 00002D8D 417373656D626C7920-     		asciz "Assembly fault: "
  1932 00002D96 6661756C743A2000   
  1933                                  msg.area_dd_access:
  1934 00002D9E 44756D702064617461-     		asciz "Dump data fault: "
  1934 00002DA7 206661756C743A2000 
  1935                                  msg.area_ee_interactive_access:
  1936 00002DB0 0D0A                    		db 13,10
  1937                                  msg.area_ee_access:
  1938 00002DB2 456E74657220646174-     		asciz "Enter data fault: "
  1938 00002DBB 61206661756C743A20-
  1938 00002DC4 00                 
  1939                                  msg.area_rr_access:
  1940 00002DC5 526567697374657220-     		asciz "Register command fault: "
  1940 00002DCE 636F6D6D616E642066-
  1940 00002DD7 61756C743A2000     
  1941                                  msg.area_sss_access:
  1942 00002DDE 53656172636820636F-     		asciz "Search command fault: "
  1942 00002DE7 6D6D616E6420666175-
  1942 00002DF0 6C743A2000         
  1943                                  msg.area_run_access:
  1944 00002DF5 52756E20636F6D6D61-     		asciz "Run command fault: "
  1944 00002DFE 6E64206661756C743A-
  1944 00002E07 2000               
  1945                                  msg.area_uu_access:
  1946 00002E09 446973617373656D62-     		asciz "Disassembly fault: "
  1946 00002E12 6C79206661756C743A-
  1946 00002E1B 2000               
  1947                                   %endif
  1948                                  %endif
  1949                                  %if _PM
  1950                                  excEmsg:	asciz "Page fault",13,10
  1951                                   %if _BREAK_INSTALLDPMI
  1952                                  installdpmimsg:	asciz "Entered Protected Mode",13,10
  1953                                   %endif
  1954                                  nodosext:	asciz "Command not supported in protected mode without a DOS extender",13,10
  1955                                  nopmsupp:	asciz "Command not supported in protected mode",13,10
  1956                                   %if _DISPHOOK
  1957                                  dpmihook:	db "DPMI entry hooked, new entry="
  1958                                  dpmihookcs:	db "____:"
  1959                                   %ifn _LINK
  1960                                  		db _4digitshex(mydpmientry+DATASECTIONFIXUP)
  1961                                   %else
  1962                                   wlcalc dword_itoa_2_00_10h
  1963                                  		dd mydpmientry
  1964                                   %endif
  1965                                  		asciz 13,10
  1966                                    %if _DEBUG
  1967                                  dpmihookamis:	asciz "DPMI entry hooked by other debugger with AMIS callout",13,10
  1968                                    %endif
  1969                                   %endif
  1970                                  msg.dpmi_no_hook:	asciz "DPMI entry cannot be hooked!",13,10
  1971                                  nodesc:		asciz "resource not accessible in real mode",13,10
  1972                                  ;descwrong:	asciz "descriptor not accessible",13,10
  1973                                  msg.msdos:	asciz "MS-DOS"
  1974                                  descriptor:	db "---- base="
  1975                                  .base:		db "-------- limit="
  1976                                  .limit:		db "-------- attr="
  1977                                  .attrib:	db "----",13,10
  1978                                  		asciz
  1979                                  %endif	; _PM
  1980 00002E1D 4572726F7220696E20-     ph_msg:		asciz "Error in sequence of calls to hack.",13,10
  1980 00002E26 73657175656E636520-
  1980 00002E2F 6F662063616C6C7320-
  1980 00002E38 746F206861636B2E0D-
  1980 00002E41 0A00               
  1981                                  
  1982 00002E43 0D0A50726F6772616D-     progtrm:	db 13,10,"Program terminated normally ("
  1982 00002E4C 207465726D696E6174-
  1982 00002E55 6564206E6F726D616C-
  1982 00002E5E 6C792028           
  1983 00002E62 5F5F5F5F290D0A00        progexit:	asciz "____)",13,10
  1984                                  %if _APPLICATION || _DEVICE
  1985 00002E6A 45584520616E642048-     nowhexe:	asciz "EXE and HEX files cannot be written",13,10
  1985 00002E73 45582066696C657320-
  1985 00002E7C 63616E6E6F74206265-
  1985 00002E85 207772697474656E0D-
  1985 00002E8E 0A00               
  1986 00002E90 43616E6E6F74207772-     nownull:	asciz "Cannot write: no file name given",13,10
  1986 00002E99 6974653A206E6F2066-
  1986 00002EA2 696C65206E616D6520-
  1986 00002EAB 676976656E0D0A00   
  1987 00002EB3 4572726F7220696E20-     msg.hexerror:	asciz "Error in HEX file",13,10
  1987 00002EBC 4845582066696C650D-
  1987 00002EC5 0A00               
  1988 00002EC7 57726974696E672000      wwmsg1:		asciz "Writing "
  1989 00002ED0 2062797465730D0A00      wwmsg2:		asciz " bytes",13,10
  1990 00002ED9 4469736B2066756C6C-     diskful:	asciz "Disk full",13,10
  1990 00002EE2 0D0A00             
  1991 00002EE5 4572726F7220            openerr:	db "Error "
  1992 00002EEB 5F5F5F5F206F70656E-     openerr1:	asciz "____ opening file",13,10
  1992 00002EF4 696E672066696C650D-
  1992 00002EFD 0A00               
  1993 00002EFF 46696C65206E6F7420-     doserr2:	asciz "File not found",13,10
  1993 00002F08 666F756E640D0A00   
  1994 00002F10 50617468206E6F7420-     doserr3:	asciz "Path not found",13,10
  1994 00002F19 666F756E640D0A00   
  1995 00002F21 416363657373206465-     doserr5:	asciz "Access denied",13,10
  1995 00002F2A 6E6965640D0A00     
  1996 00002F31 496E73756666696369-     doserr8:	asciz "Insufficient memory",13,10
  1996 00002F3A 656E74206D656D6F72-
  1996 00002F43 790D0A00           
  1997 00002F47 496E76616C69642066-     doserr11:	asciz "Invalid format",13,10
  1997 00002F50 6F726D61740D0A00   
  1998                                  %endif
  1999                                  
  2000                                  %if _EMS
  2001                                   %define dw_emserr dw
  2002                                   %include "xxmsg.asm"
  2003                                  %endif
  2004                                  
  2005                                  		align 4, db 0
  2006                                  flagbits:
  2007 00002F58 000800040002800040-     .:		dw 800h,400h,200h, 80h,040h,010h,004h,001h
  2007 00002F61 00100004000100     
  2008                                  .amount: equ ($ - .) / 2
  2009 00002F68 4F56444E45494E475A-     flagson:	dw "OV","DN","EI","NG","ZR","AC","PE","CY"
  2009 00002F71 52414350454359     
  2010 00002F78 4E5655504449504C4E-     flagsoff:	dw "NV","UP","DI","PL","NZ","NA","PO","NC"
  2010 00002F81 5A4E41504F4E43     
  2011 00002F88 4F464446494653465A-     flagnames:	dw "OF","DF","IF","SF","ZF","AF","PF","CF"
  2011 00002F91 46414650464346     
  2012                                  %if _REGSREADABLEFLAGS
  2013 00002F98 4F314431493153315A-     flagson_style23:dw "O1","D1","I1","S1","Z1","A1","P1","C1"
  2013 00002FA1 31413150314331     
  2014 00002FA8 4F304430493053305A-     flagsoff_style2:dw "O0","D0","I0","S0","Z0","A0","P0","C0"
  2014 00002FB1 30413050304330     
  2015 00002FB8 4F5F445F495F535F5A-     flagsoff_style3:dw "O_","D_","I_","S_","Z_","A_","P_","C_"
  2015 00002FC1 5F415F505F435F     
  2016                                  %endif
  2017                                  %if _40COLUMNS
  2018                                  flagbits_for_40: equ 1____0____0____1____1____0____0____1b
  2019                                  flagbits_for_80: equ 1____1____1____1____1____1____1____1b
  2020                                  flagbits_for_shl: equ 16 - flagbits.amount
  2021                                  
  2022                                  		align 2, db 0
  2023                                  shortflagbits:
  2024 00002FC8 00040002                .:		dw 400h, 200h
  2025                                  .amount: equ ($ - .) / 2
  2026 00002FCC 44204520                shortflagson:	dw "D ", "E "
  2027 00002FD0 55204420                shortflagsoff:	dw "U ", "D "
  2028                                  %endif
  2029                                  
  2030                                  		align 4, db 0
  2031                                  table_length_keywords:
  2032 00002FD4 1E00[6A0E]              	dw 30, msg.gib
  2033 00002FD8 1400[6E0E]              	dw 20, msg.mib
  2034 00002FDC 0A00[720E]              	dw 10, msg.kib
  2035 00002FE0 0900[760E]              	dw 9, msg.pages
  2036 00002FE4 0400[7C0E]              	dw 4, msg.paragraphs
  2037 00002FE8 0400[870E]              	dw 4, msg.paras
  2038 00002FEC 0300[8D0E]              	dw 3, msg.qwords
  2039 00002FF0 0200[940E]              	dw 2, msg.dwords
  2040 00002FF4 0100[950E]              	dw 1, msg.words
  2041 00002FF8 0000[9B0E]              	dw 0, msg.bytes		; end of table, shift count zero
  2042                                  
  2043 00002FFC 01                      flagvaron:	db 1
  2044 00002FFD 00                      flagvaroff:	db 0		; must be directly behind flagvaron
  2045                                  
  2046                                  %if _COND
  2047 00002FFE 6E6F7420                msg.condnotjump:db "not "
  2048 00003002 6A756D70696E6700        msg.condjump:	asciz "jumping"
  2049                                  %endif
  2050                                  
  2051 0000300A 206D6174636865730D-     msg.matches:	asciz " matches",13,10
  2051 00003013 0A00               
  2052                                  
  2053 00003015 00<rep 3h>              		align 4, db 0
  2054 00003018 414C4148424C424843-     reg8names:	dw "AL","AH","BL","BH","CL","CH","DL","DH"
  2054 00003021 4C4348444C4448     
  2055                                  ; Even entries are xL registers, odd ones the xH ones.
  2056                                  ; Order matches that of the first four regs entries.
  2057                                  
  2058 00003028 415842584358445853-     reg16names:	dw "AX","BX","CX","DX","SP","BP","SI","DI"
  2058 00003031 50425053494449     
  2059 00003038 445345535353435346-     		dw "DS","ES","SS","CS","FS","GS","IP","FL"
  2059 00003041 5347534950464C     
  2060                                  ; 32-bit registers are the first eight and last two entries of
  2061                                  ;  reg16names with 'E', which are all non-segment registers.
  2062                                  ; Segment registers can be detected by the 'S' as second letter.
  2063                                  ; FS and GS are the fourth- and third-to-last entries.
  2064                                  ; Order matches that of the sixteen regs entries.
  2065                                  
  2066                                  %if _LOADER
  2067                                  ; struc MOVETABLEENTRY moved to debug.mac
  2068                                  
  2069                                  	align 2, db 0
  2070                                  movetable:			; used both as a table and as an array
  2071                                  .bottom:
  2072                                  	dw msg.bottom
  2073                                  	dw 0
  2074                                  	dw msg.isbottom
  2075                                  	dw moveloader.already
  2076                                  	dw moveloader.top_to_bottom
  2077                                  	dw moveloader.hidden_to_bottom
  2078                                  
  2079                                  	dw msg.top
  2080                                  	dw 1
  2081                                  	dw msg.istop
  2082                                  	dw moveloader.bottom_to_top
  2083                                  	dw moveloader.already
  2084                                  	dw moveloader.hidden_to_top
  2085                                  
  2086                                  	dw msg.hidden
  2087                                  	dw 2
  2088                                  	dw msg.ishidden
  2089                                  	dw moveloader.bottom_to_hidden
  2090                                  	dw moveloader.top_to_hidden
  2091                                  	dw moveloader.already
  2092                                  
  2093                                  	dw 0
  2094                                  
  2095                                  	align 2, db 0
  2096                                  movesegrefstable:
  2097                                  	dw code_seg
  2098                                  %if _MESSAGESEGMENT
  2099                                  	dw messageseg
  2100                                  %endif
  2101                                  %if _EXTENSIONS
  2102                                  	dw extseg
  2103                                  %endif
  2104                                  %if _APP_ENV_SIZE || _DEV_ENV_SIZE || _BOOT_ENV_SIZE
  2105                                  	dw envseg
  2106                                  %endif
  2107                                  	dw alloc_seg
  2108                                  	dw auxbuff_segorsel
  2109                                  	dw pspdbg
  2110                                  %if _HISTORY && _HISTORY_SEPARATE_FIXED
  2111                                  	dw history.segorsel
  2112                                  %endif
  2113                                  %if _HELP_COMPRESSED && ! _PM && _MESSAGESEGMENT
  2114                                  	dw hshrink_memory_source.segment
  2115                                  %endif
  2116                                  	dw 0
  2117                                  %endif	; !_LOADER
  2118                                  
  2119                                  
  2120                                  		; Table of recognised default (unsigned) types.
  2121                                  		;
  2122                                  		; If any number of characters match, use the type.
  2123                                  		; If an additional "S" is found in front of a valid
  2124                                  		;  type, the type is set to signed. (Word and byte
  2125                                  		;  types are sign-extended to a dword value.)
  2126                                  		;
  2127                                  		; Each odd entry is an alternative name for the even
  2128                                  		;  entry preceding it.
  2129                                  types:
  2130 00003048 0442595445              	countedb "BYTE"		; ("B" is hexadecimal)
  2131 0000304D 0443484152              	countedb "CHAR"		; ("C" is hexadecimal, "CH" is a register)
  2132 00003052 04574F5244              	countedb "WORD"
  2133 00003057 0553484F5254            	countedb "SHORT"	; (signed "SS" is a register)
  2134 0000305D 053342595445            	countedb "3BYTE"	; ("3" and "3B" are numeric)
  2135 00003063 053342595445            	countedb "3BYTE"
  2136 00003069 0544574F5244            	countedb "DWORD"	; ("D" is hexadecimal)
  2137 0000306F 044C4F4E47              	countedb "LONG"
  2138                                  .addresses:
  2139 00003074 07504F494E544552        	countedb "POINTER"
  2140 0000307C 03505452                	countedb "PTR"
  2141 00003080 064F4646534554          	countedb "OFFSET"
  2142 00003087 034F4653                	countedb "OFS"
  2143 0000308B 075345474D454E54        	countedb "SEGMENT"
  2144                                  .end:
  2145                                  .addresses_minus_end equ (.addresses - .end) & 0FFFFh
  2146                                  
  2147                                  ;maxtypesize equ 7		; size of "SEGMENT" and "POINTER"
  2148                                  ; moved to debug.mac
