Class tz390
java.lang.Object
tz390
tz390 is the shared table component of z390.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) bytevariable(package private) Stringvariable(package private) charvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) byte[]variable(package private) Stringvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) Stringvariable(package private) Stringvariable(package private) intvariable(package private) Stringvariable(package private) Stringvariable(package private) intvariable(package private) intvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) int[]dfp_bcd_to_dpd returns 10 bit densely packed decimal indexed by 3 digit value 0-999(package private) long[]dfp_cf5_to_bcd returns decimal digit 0-9 indexed by 5 bit combination field value(package private) int[]dfp_cf5_to_exp2 returns 2 high bits of biased exponent indexed by 5 bit combined field(package private) intvariable(package private) Stringvariable(package private) long[]dfp_dpd_to_bcd returns 3 digit decimal value 0-999 using 10 bit densely packed decimal index value.(package private) intvariable(package private) byte[]dfp_exp_bcd_to_cf5 returns CF5 5 bit combination field using index made up of high 2 bits of bias exponent plus 4 bit BCDnibble for first digit.(package private) intvariable(package private) intvariable(package private) intvariable(package private) byte[]variable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) char[]variable(package private) intvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) byte[]variable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) booleanvariable(package private) Stringvariable(package private) Stringvariable(package private) Patternvariable(package private) Patternvariable(package private) Patternvariable(package private) Patternvariable(package private) Patternvariable(package private) Patternvariable(package private) Patternvariable(package private) Patternvariable(package private) Matchervariable(package private) Patternvariable(package private) Patternvariable(package private) booleanvariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) int[]variable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) intvariable(package private) int[]variable(package private) int[]variable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) int[]variable(package private) int[]variable(package private) int[]Note: The fp_precision big decimal precision array is used in both az390 and ez390.(package private) intvariable(package private) int[]variable(package private) bytevariable(package private) ByteBuffervariable(package private) byte[]variable(package private) byte[]variable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) int[]variable(package private) int[]variable(package private) int[]variable(package private) String[]variable(package private) int[]variable(package private) char[]variable(package private) Stringvariable(package private) charvariable(package private) intvariable(package private) booleanvariable(package private) Booleanvariable(package private) Stringvariable(package private) Stringvariable(package private) booleanvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) static final String[]variable machine_optable_equivalence defines all allowable values for the MACHINE option and equates each MACHINE option to its equivalent primary OPTABLE option.(package private) String[]variable(package private) int[]variable(package private) String[]variable(package private) String[]variable(package private) String[]variable(package private) Matchervariable(package private) Matchervariable(package private) Matchervariable(package private) Matchervariable(package private) Matchervariable(package private) Matchervariable(package private) Matchervariable(package private) Matchervariable(package private) Matchervariable(package private) static final intvariable(package private) intvariable(package private) booleanvariable(package private) intvariable(package private) longvariable(package private) static final intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) static final intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) longvariable(package private) intvariable(package private) intvariable(package private) Stringvariable(package private) Stringvariable(package private) intvariable(package private) Stringvariable(package private) Stringvariable(package private) String[]variable(package private) intvariable(package private) intvariable(package private) intvariable(package private) String[]variable(package private) static final String[]table op_table_360_20 has the instructions that are supported for both DOS and the S360/20 as defined in publication A26-5847-3 IBM System 360 Model 20 Functional Characteristics and in publication A22-6821-7 IBM System 360 Principles of Operation(package private) static final String[]table op_table_360_20_directives has the directives that are supported for both DOS and the S360/20
Incompatibilites: GBLx/LCLx not supported for S360/20: difference is encoded in variable names! see S360/20 docs Syntax may be shared between optable(DOS) and optable(360-20) but semantics may differ.(package private) static final String[]table op_table_360_20_only defines five instructions unique to the S360/20 and two that share syntax (but not semantics) with 370 The difference in semantics make for their definition here, which is okay since S360/20 and 370 cannot be combined.(package private) static final String[]table op_table_360_20_only_directives defines two directives unique to the S360/20
Incompatibilites: DCCW aligns on halfword, but we align on Fullword XFR is not the same as ENTRY, yet we process it as such(package private) static final String[]op_table_370 contains the instructions valid from S370 as defined in publication GA22-7000-4 IBM System 370 Principles of Operation(package private) static final String[]Directives valid from optable 370(package private) static final String[]Instruction definitions for optable 370 only(package private) static final String[]Opcode defintitions for ASSIST extension(package private) static final String[]z390-specific assembler directive - not available with HLASM, and only with DFLT opcode table in z390(package private) static final String[]op_table_DOS contains the instructions NOT shared with S360/20.(package private) static final String[]op_table_DOS_370 contains the instructions valid from S360-S370 as defined in publication GA22-7000-4 IBM System 370 Principles of Operation(package private) static final String[]op_table_DOS_directives contains the directives NOT shared with S360/20(package private) static final String[]op_table_ESA contains the instructions valid from S390 as defined in publication SA22-7201-08 ESA390 Principles of Operation(package private) static final String[]Instructions PGIN and PGOUT were introduced with the ESA architecture.(package private) static final String[]Opcodes valid for ESA only(package private) static final String[]Table with initial opcode - valid for all optables(package private) static final String[]op_table_vector contains the instructions for the old vector facility as defined in publication SA22-7125-3 ESA370 Vector Operations and in publication SA22-7207-00 ESA390 Vector Operations
The (optional) vector facility was available in addition to the 370 and 390 architectures In z390 the old vector facility can be used with z/Architecture opcode tables up to SA22-7832-09 zArchitecture Principles of Operation (aka z12)
With the z13 SA22-7832-10 zArchitecture Principles of Operation the new vector facility was introduced and the old vector facility could not be carried forward anymore(package private) static final String[]op_table_XA contains the instructions valid from S370-XA as defined in publication (IBM publication code unknown)(package private) static final String[]op_table_YOP contains the instructions valid from z Architecture as defined in publication SA22-7832-02 zArchitecture Principles of Operation and publication SA22-7832-03 zArchitecture Principles of Operation(package private) static final String[]Opcode definitions valid for YOP thru Z16; with the advent of z17 the definitions changed(package private) static final String[]op_table_Z10 contains the instructions valid from z Architecture as defined in publication SA22-7832-06 zArchitecture Principles of Operation and publication SA22-7832-07 zArchitecture Principles of Operation(package private) static final String[]op_table_Z11 contains the instructions valid from z Architecture as defined in publication SA22-7832-08 zArchitecture Principles of Operation(package private) static final String[]Opcode definitions valid for ZS5 and ZS6.(package private) static final String[]op_table_Z12 contains the instructions valid from z Architecture as defined in publication SA22-7832-09 zArchitecture Principles of Operation(package private) static final String[]op_table_Z13 contains the instructions valid from z Architecture as defined in publication SA22-7832-10 zArchitecture Principles of Operation(package private) static final String[]op_table_Z14 contains the instructions valid from z Architecture as defined in publication SA22-7832-11 zArchitecture Principles of Operation(package private) static final String[]Opcode definitions for z14 only(package private) static final String[]Opcode definition for z14 through z16(package private) static final String[]op_table_Z15 contains the instructions valid from z Architecture as defined in publication SA22-7832-12 zArchitecture Principles of Operation(package private) static final String[]op_table_Z16 contains the instructions valid from z Architecture as defined in publication SA22-7832-13 zArchitecture Principles of Operation(package private) static final String[]op_table_Z17 contains the instructions valid from z Architecture as defined in publication SA22-7832-14 zArchitecture Principles of Operation(package private) static final String[]Opcode defintitions for z390 extensions (not supported by HLASM)(package private) static final String[]z390-specific assembler directive - not available with HLASM(package private) static final String[]op_table_Z9 contains the instructions valid from z Architecture as defined in publication SA22-7832-04 zArchitecture Principles of Operation and publication SA22-7832-05 zArchitecture Principles of Operation(package private) static final String[]op_table_ZOP contains the instructions valid from z Architecture as defined in publication SA22-7832-00 zArchitecture Principles of Operation and publication SA22-7832-01 zArchitecture Principles of Operation(package private) int[]variable(package private) int[]variable(package private) int[]variable(package private) String[]variable(package private) String[]variable(package private) String[]variable(package private) String[]variable(package private) static final String[]The opcode_formats table defines all opcode formats and their lengths.(package private) static final String[]opcode masks - the full set(package private) static final String[]opcode masks - the short set for instructions that do not support the full set(package private) intvariable(package private) String[]variable(package private) String[]variable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) intvariable(package private) intvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) Stringvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) Stringvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) booleanvariable(package private) intvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) intvariable(package private) Stringvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) booleanvariable(package private) booleanvariable(package private) intvariable(package private) intvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) intvariable(package private) static final String[]variable optable_optable_equivalence defines the primary optables and the secondaries.(package private) String[]variable(package private) int[]variable(package private) String[]variablevariable(package private) Stringvariable(package private) char[]variable(package private) intvariable(package private) Matchervariable(package private) Patternvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) intvariable(package private) Stringvariable(package private) Stringvariable(package private) StringPrintable ASCII table and printable EBCIC table; for SNAP/dump output(package private) StringIBM1947 and IBM037 common values; omit cent sign, caret, and not sign(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) intvariable(package private) booleanvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) intvariable(package private) Stringvariable(package private) intvariable(package private) intvariable(package private) Stringvariable(package private) intvariable(package private) booleanvariable(package private) booleanvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) RandomAccessFilevariable(package private) Stringvariable(package private) RandomAccessFilevariable(package private) Stringvariable(package private) longvariable(package private) intvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) longvariable(package private) Stringvariable(package private) charvariable(package private) Stringvariable(package private) Stringvariable(package private) booleanvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) Stringvariable(package private) Filevariable(package private) BufferedWritervariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) longvariable(package private) longvariable(package private) longvariable(package private) Stringvariable(package private) longvariable(package private) longvariable(package private) booleanvariable(package private) Stringvariable(package private) booleanvariable(package private) Stringvariable(package private) charvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) Stringvariable(package private) bytevariable(package private) bytevariable(package private) bytevariable(package private) Stringvariable(package private) charvariable(package private) Stringvariable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidabort case with invalide index RPI 849 used by pz390, mz390voidabort_error(int error, String msg) display options error on system out and exit with rc 16.private voidadd_final_opt(String token) add final option value to final_option formatted string.private voidadd_invalid_option(String opt_file_name, int opt_file_line, String option) collect invalid options for single errorbooleanadd_key_index(int user_index) add user_index entry based on key_text, key_hash, and key_index_last set by prior find_key_indexcharascii_printable_char(int mem_byte) return printable ascii char from byte RPI 947ascii_printable_string(String text) return printable ascii string from string that may have non-printable ascii codes RPI 938booleanverify version is from known vendor and version is 1.6+private voidcheck options for consistencyprivate booleanreturn true if test_ascii charset meets the following tests: Length 256 hex char 20 space 30 zero 39 nine 41 A 5A Z 61 a 7A zprivate booleanreturn true if test_ebcdic charset meets minimum character requirementsvoidclose_systerm(int rc) close systerm error file if openvoidclose trace file if open RPI 484voidCreate_opcodes builds the following arrays to define opcode formats: op_type_name op_type_len op_type_src_format op_type_obj_format Create_opcodes builds the following arrays to define valid opcodes: - op_name - op_code - op_type - op_trace_type The content of the arrays is determined by the assembler options OPTABLE/MACHINEcur_date()return MM/DD/YY or constant if notimingcur_time(boolean space_pad) return HH:MM:SS with or without space or 0 length string if notimingbooleanexec command as separate taskfind_file_name(String parm_dir_list, String file_name, String file_type_def, String dir_cur) search for existing file in one or more dirs and return file name or null if not foundintfind_key_index(char user_key_type, String user_key) return user_key_index for user_key else -1 and set following for possible add_key_index: key_text = user_key key_hash = hash code for key key_index_last = last search entry Notes: Usage by mz390 "A:" - ago gbla table pointer "C:" - copy file found RPI 970 "F:" - macro and copybook files "G:" - global set variables "M:" - loaded macros "O:" - opcode table (init_opcode_name_keys) "R:" - opcode and macro opsyn "S:" - ordinary symbols "X:" - executable macro command "Z:" - ZSTRMAC opcodes and apm names RPI 902 Usage by az390 "L:" - literals "O:" - opcode table (init_opcode_name_keys) "R:" - opcode opsyn "S:" - ordinary symbols "U:" - USING labels "V:" - extrn symbol Usage by lz390 "G:" - global ESD's Usage by ez390 "H:" - opcodes by hex key "H:BR:" - branch opocodes by hex key "O:" - opcodes by name (init_opcode_name_keys) "P:" - CDE program name lookup "R:" - OPSYN opcode/macro substitution See find_lcl_key_index in mz390 with local key types KBPL Optimize by using separate user_key_type char to avoid extra string concat and avoid string compare if not desired type.fix_file_separators(String name) Replace \ with / if Linux else / with | Replace ..\ or ../ with parent path Remove embedded ./ or .\private StringfixCharset(String charset, String charsetName) Some Charsets have errors not fixed by Oracle.booleanfp_get_dfp_bin(int dfp_type, BigDecimal dfp_bd) store binary DD,ED, or LD format in fp_work_reg.get_ascii_dump_printable_string(byte[] byte_array, int addr, int len) Return printable ascii string from byte array.get_ascii_printable_string(byte[] byte_array, int addr, int len) return printable ascii string from byte array RPI 947get_ascii_var_string(byte[] byte_array, int mem_addr, int max_len) return ascii variable length string delimited by null or double quotes which are stripped off along with leading or trailing spaces.get_cur_bal_line_id(int file_num, int file_line_num, int bal_line_num, boolean mac_gen, char line_type) return unique BAL line id consisting of: // RPI 549 FID file id number (See list of files in stats at end of BAL) FLN file Line number within file GSN Generated statement number for BAL line Type code: ' ' main source code '+' generated macro code '=' included copybook code Notes: If FLN is 0 only GSN is returned for az standalone mode.private longget_dfp_ccf_digits(int tot_digits, int digit_offset, int digit_count) return long with 1 to 6 DPD densly packed decimal triplets.get_dup_string(String text, int dup_count) return string with text duplicated dup_count timesget_file_name(String file_dir, String file_name, String file_type) Strip quotes if found from path and file. Replace .get_first_dir(String dirs) return first directory in listget_hex(int work_int, int req_hex_digits) Format int into 1-16 hex digit stringget_long_hex(long work_long, int req_hex_digits) Format long into 1-16 hex digit stringintreturn max memory usage by J2SE in MBbooleanget_sdt_char_int(String sdt) set sdt_char_int to value of character string else false C'....' EBCDIC/ASCII (rep ''|&& with'|&) C"...." ASCII (rep ""|''|&& with "|'|&) C!....! EBCDIC (rep !!|''|&& with !|'|&) CA'...' ASCII CE'...' EBCDIC Note: sdt = self-defining termprivate Stringget_short_file_name(String file_name) return shortest file name possible with quotes if LSNreturn current JDBC time stamp string with 9 digit fractional nanosecond forrmat: yyyy-mm-dd hh:mm:ss.nnnnnnnnn (29 characters)voidset max_main_height and max_main_widthgetReaderForCharset(File file, String charsetName) Gets a BufferedReader for a file using specified Charset name.Gets a BufferedReader for a file using the default Charset name.
The default Charset name is in variableascii_charset_name.get version number as a string valuegetWriterForCharset(File file, String charsetName) Gets a BufferedWriter for a file using specified Charset name.
No Charset is used ifcharsetNameis null or the empty string.Gets a BufferedWriter for a file using the default Charset name.voidinc_cur_bal_line_num(String text_line) increment cur_bal_line_num by 1 plus previous continuations.private voidinit ascii/ebcdic conversion tablesprivate voidcopy test tables to live tables initialize translate tables initialize printable character tablevoidinit_codepage(String codepage_parm) initialize ascii and ebcdic translate tables using specified Unicode codepages.voidturn on ERRSUM option either by user request or if missing COPY or MACRO error detected during pass 1 of az390.booleanadd all opcodes to key index tableprivate voidinit opcodesvoidValid options for MACHINE and OPTABLE are stored as id=value pairs This routine sets up the translation tables we needvoidinit_options(String[] args, String pgm_type) parse and set optionsprivate voidinit os typeprivate voidinit os dependant utilitiesprivate voidinit_pad_spaces(int new_pad_len) initialize new pad_spaces byte array used by left and right justifyprivate voidinit_pat()init patterns for use by opcode and options routinesvoidinitialize shared data and tablesprivate booleanisPrintableChar(char c, String charsetName) Determines whether a character is a printable character.private booleanisPrintableChar_ISO_8859_1(char c) Determines whether a character is a printable character when using the ISO-8859-1 Charset.private booleanisPrintableChar_US_ASCII(char c) Determines whether a character is a printable character when using the US-ASCII Charset.Return the directory containing the jar file (Contributed by Martin Ward)left_justify(String text, int padded_len) return text left justified in field if field larger than textprivate voidlist available character sets to systerm fileprivate voidlist unicode, char, ascii hex, ebcdic hexvoidlist ascii to ebcdic and ebcdic to aascii conversion tables in hex for debuggingprivate booleanload ebcdic_charset_name as alternate source for system defiend ebcdic_charset_namevoidlog_text_append(JTextArea log_text, String msg) append msg to visible log textarea and reduce size by 50% when it exceeds opt_maxlog byte limit.private Stringmap_text(int index) map text functionvoidopen_systerm(String z390_pgm) open systerm file and sta statistics file positions to add to end of existing files.pad_spaces(int n) return n space charactersvoidprocess_opcodes(String[] op_tables) process a single table of opcode definitionsprivate voidprocess_option(String opt_file_name, int opt_file_line, String token) process option from command line or from @file optionsfile line.private voidprocess_options_file(String file_name, boolean required) process option file as follows: Default suffix .OPT Uses SYSOPT path which defaults to program path Comments starting with * to end of line @file option can be nested.voidlist final value of all changed options on stats filevoidput_stat_line(String msg) mod stat record on stats.sta filevoidput_systerm(String msg) log error to systerm filevoidopen trace file if trace options on for M, A, L, EreplaceNonPrintableChars(String text, String charsetName) Returns a string that is the input text with non-printable characters replaced by '.'.private StringreplaceNonPrintableDumpChars(String text, String prtChar) Replaces non-printable characters with '.'.private voidreport codepage parm errorvoidreset op_code key table indexes changed by opsyn during previous pass if any.right_justify(String text, int padded_len) return text right justified in field if field larger than textvoidset_ended_msg(int rc) set ended_msg for use by mz390, az390, lz390, and ez390.private Stringset_path_option(String old_path, String new_path) if new path starts with +, concat with existing path else replace existing path option.booleanset_pgm_dir_name_type(String file_name, String file_type) set pgm_dir, pgm_name, pgm_type from parmvoidset_trace_options(String trace_options) set trace options (called by init and by mz390 when SYSTRACE is updated.voidsleep_now(long mills) sleep for 1 monitor wait intervalvoidsplit_line(String line) split line into 3 strings: split_label split_op split_parms using precompiled patterm RPI 313trim_continue(String line, boolean first_line, int ictl_end, int ictl_cont) Trim line to comma delimiter or end of line recognizing whether line is continuation of quoted string or not.trim_trailing_spaces(String line, int max_text) remove trailing spaces from non-continued source linebooleanupdate_key_index(int user_key) update previously found key indexbooleanupdate_opsyn(String new_name, String old_name) Update opsyn table as follows: Add new alias name for opcode Add null entry to cancel opcode // RPI 306 Restore opcode to previous alias and remove any cancel entry.booleanverify_ascii_source(String temp_line) Verify ascii source code and length <= 80 if not * in col 1.
-
Field Details
-
version
String versionvariable -
dcb_id_ver
String dcb_id_vervariable -
acb_id_ver
byte acb_id_vervariable -
java_vendor
String java_vendorvariable -
java_version
String java_versionvariable -
os_name
String os_namevariable -
z390_os_type
byte z390_os_typevariable -
z390_os_win
byte z390_os_winvariable -
z390_os_linux
byte z390_os_linuxvariable -
z390_font
String z390_fontvariable -
timeout
boolean timeoutvariable -
z390_abort
boolean z390_abortvariable -
tz390_recursive_abort
boolean tz390_recursive_abortvariable -
invalid_options
String invalid_optionsvariable -
opt_align
boolean opt_alignvariable -
opt_allow
boolean opt_allowvariable -
opt_amode24
boolean opt_amode24variable -
opt_amode31
boolean opt_amode31variable -
opt_ascii
boolean opt_asciivariable -
opt_asm
boolean opt_asmvariable -
opt_assist
boolean opt_assistvariable -
opt_autolink
boolean opt_autolinkvariable -
opt_bal
boolean opt_balvariable -
opt_bs2000
boolean opt_bs2000variable -
opt_cics
boolean opt_cicsvariable -
opt_codepage
boolean opt_codepagevariable -
opt_comment
boolean opt_commentvariable -
opt_con
boolean opt_convariable -
force_nocon
boolean force_noconvariable -
opt_dump
boolean opt_dumpvariable -
opt_edf
boolean opt_edfvariable -
opt_epilog
boolean opt_epilogvariable -
opt_errsum
boolean opt_errsumvariable -
opt_extend
boolean opt_extendvariable -
opt_guam
boolean opt_guamvariable -
opt_init
boolean opt_initvariable -
codepage
String codepagevariable -
opt_float
String opt_floatvariable -
opt_ipl
String opt_iplvariable -
opt_install_loc
String opt_install_locvariable -
opt_list
boolean opt_listvariable -
opt_listcall
boolean opt_listcallvariable -
opt_listuse
boolean opt_listusevariable -
opt_loadhigh
boolean opt_loadhighvariable -
opt_machine
String opt_machinevariable -
opt_machine_optable
String opt_machine_optablevariable -
opt_mcall
boolean opt_mcallvariable -
opt_mod
boolean opt_modvariable -
opt_obj
boolean opt_objvariable -
opt_objhex
boolean opt_objhexvariable -
opt_optable
String opt_optablevariable -
opt_optable_list
String opt_optable_listvariable -
opt_optable_optable
String opt_optable_optablevariable -
opt_optable_optb_nr
int opt_optable_optb_nrvariable -
opt_parm
String opt_parmvariable -
opt_pc
boolean opt_pcvariable -
opt_pcopt
boolean opt_pcoptvariable -
opt_pdsmem8
boolean opt_pdsmem8variable -
opt_printall
boolean opt_printallvariable -
opt_profile
String opt_profilevariable -
opt_prolog
boolean opt_prologvariable -
opt_protect
boolean opt_protectvariable -
opt_r64
boolean opt_r64variable -
opt_reformat
boolean opt_reformatvariable -
opt_regs
boolean opt_regsvariable -
opt_rmode24
boolean opt_rmode24variable -
opt_rmode31
boolean opt_rmode31variable -
opt_stats
boolean opt_statsvariable -
opt_sysparm
String opt_sysparmvariable -
opt_test
boolean opt_testvariable -
opt_thread
boolean opt_threadvariable -
opt_time
boolean opt_timevariable -
opt_timing
boolean opt_timingvariable -
opt_trace
boolean opt_tracevariable -
opt_tracea
boolean opt_traceavariable -
opt_traceall
boolean opt_traceallvariable -
opt_tracec
boolean opt_tracecvariable -
opt_traceg
boolean opt_tracegvariable -
opt_tracei
boolean opt_traceivariable -
opt_tracel
boolean opt_tracelvariable -
opt_tracem
boolean opt_tracemvariable -
opt_tracep
boolean opt_tracepvariable -
opt_traceq
boolean opt_traceqvariable -
opt_traces
boolean opt_tracesvariable -
opt_tracet
boolean opt_tracetvariable -
opt_tracev
boolean opt_tracevvariable -
opt_trap
boolean opt_trapvariable -
opt_trunc
boolean opt_truncvariable -
opt_ts
boolean opt_tsvariable -
opt_vcb
boolean opt_vcbvariable -
opt_vector
boolean opt_vectorvariable -
opt_vsectsize
int opt_vsectsizevariable -
opt_vpartsums
int opt_vpartsumsvariable -
opt_warn
boolean opt_warnvariable -
opt_writenonprintable
boolean opt_writenonprintablevariable -
opt_xref
boolean opt_xrefvariable -
opt_zstrmac
boolean opt_zstrmacvariable -
opt_zvsam
int opt_zvsamvariable -
max_cmd_queue_exceeded
boolean max_cmd_queue_exceededvariable -
cmd_parms
String cmd_parmsvariable -
cmd_parms_len
int cmd_parms_lenvariable -
max_cmd_parms_line
int max_cmd_parms_linevariable -
test_ddname
String test_ddnamevariable -
z390_amode31
char z390_amode31variable -
z390_rmode31
char z390_rmode31variable -
opt_chkmac
int opt_chkmacvariable -
opt_chksrc
int opt_chksrcvariable -
opt_maxcall
int opt_maxcallvariable -
opt_maxdisplay
int opt_maxdisplayvariable -
opt_maxesd
int opt_maxesdvariable -
opt_maxfile
int opt_maxfilevariable -
opt_maxgbl
int opt_maxgblvariable -
opt_maxlcl
int opt_maxlclvariable -
opt_maxline
int opt_maxlinevariable -
opt_maxlog
int opt_maxlogvariable -
opt_maxparm
int opt_maxparmvariable -
opt_maxpass
int opt_maxpassvariable -
opt_maxpc
int opt_maxpcvariable -
opt_maxque
int opt_maxquevariable -
opt_maxrld
int opt_maxrldvariable -
opt_maxsym
int opt_maxsymvariable -
opt_mnote
int opt_mnotevariable -
z390_acrobat
String z390_acrobatvariable -
z390_browser
String z390_browservariable -
z390_command
String z390_commandvariable -
z390_procdir
String z390_procdirvariable -
z390_editor
String z390_editorvariable -
max_mnote_warning
int max_mnote_warningvariable -
max_errors
int max_errorsvariable -
max_main_width
int max_main_widthvariable -
max_main_height
int max_main_heightvariable -
min_main_width
int min_main_widthvariable -
min_main_height
int min_main_heightvariable -
max_line_len
int max_line_lenvariable -
max_file_size
long max_file_sizevariable -
max_rba_size
int max_rba_sizevariable -
max_time_seconds
long max_time_secondsvariable -
monitor_wait
int monitor_waitvariable -
max_mem
int max_memvariable -
trace_options
String trace_optionsvariable -
sdf_MMddyy
SimpleDateFormat sdf_MMddyyvariable -
sdf_HHmmss
SimpleDateFormat sdf_HHmmssvariable -
pgm_name
String pgm_namevariable -
pgm_type
String pgm_typevariable -
file_dir
String file_dirvariable -
file_type
String file_typevariable -
ada_type
String ada_typevariable -
bal_type
String bal_typevariable -
cpy_type
String cpy_typevariable -
dat_type
String dat_typevariable -
err_type
String err_typevariable -
log_type
String log_typevariable -
lkd_type
String lkd_typevariable -
lst_type
String lst_typevariable -
lkd_ignore
Boolean lkd_ignorevariable -
mac_type
String mac_typevariable -
mlc_type
String mlc_typevariable -
mod_type
String mod_typevariable -
obj_type
String obj_typevariable -
opt_type
String opt_typevariable -
pch_type
String pch_typevariable -
prn_type
String prn_typevariable -
sta_type
String sta_typevariable -
tra_type
String tra_typevariable -
tre_type
String tre_typevariable -
trl_type
String trl_typevariable -
trm_type
String trm_typevariable -
z390_type
String z390_typevariable -
dir_390
String dir_390variable -
dir_bal
String dir_balvariable -
dir_cpy
String dir_cpyvariable -
dir_cur
String dir_curvariable -
dir_dat
String dir_datvariable -
dir_err
String dir_errvariable -
dir_log
String dir_logvariable -
dir_lst
String dir_lstvariable -
dir_mac
String dir_macvariable -
dir_mlc
String dir_mlcvariable -
dir_pch
String dir_pchvariable -
dir_pgm
String dir_pgmvariable -
dir_prn
String dir_prnvariable -
dir_obj
String dir_objvariable -
dir_opt
String dir_optvariable -
dir_trc
String dir_trcvariable -
max_opsyn
int max_opsynvariable -
tot_opsyn
int tot_opsynvariable -
opsyn_index
int opsyn_indexvariable -
opsyn_new_name
String[] opsyn_new_namevariable -
opsyn_old_name
String[] opsyn_old_namevariable -
cur_bal_line_num
int cur_bal_line_numvariable -
prev_bal_cont_lines
int prev_bal_cont_linesvariable -
bal_ictl_start
int bal_ictl_startvariable -
bal_ictl_end
int bal_ictl_endvariable -
bal_ictl_cont
int bal_ictl_contvariable -
bal_ictl_cont_tot
int bal_ictl_cont_totvariable -
systerm_start
long systerm_startvariable -
systerm_sec
String systerm_secvariable -
systerm_mem
String systerm_memvariable -
systerm_file_name
String systerm_file_namevariable -
systerm_file
RandomAccessFile systerm_filevariable -
systerm_prefix
String systerm_prefixvariable -
systerm_io
int systerm_iovariable -
systerm_ins
long systerm_insvariable -
started_msg
String started_msgvariable -
ended_msg
String ended_msgvariable -
stats_file_name
String stats_file_namevariable -
stats_file
RandomAccessFile stats_filevariable -
log_file_name
String log_file_namevariable -
trace_file_name
String trace_file_namevariable -
trace_file
File trace_filevariable -
trace_file_buff
BufferedWriter trace_file_buffvariable -
tot_log_msg
int tot_log_msgvariable -
tot_log_text
int tot_log_textvariable -
log_text_added
boolean log_text_addedvariable -
ts_nano_start
long ts_nano_startvariable -
ts_nano_now
long ts_nano_nowvariable -
ts_mic_start
long ts_mic_startvariable -
ts_mic_dif
long ts_mic_difvariable -
ts_mic_now
long ts_mic_nowvariable -
ts_nano_digits
String ts_nano_digitsvariable -
find_non_space_pattern
Pattern find_non_space_patternvariable -
find_bslash
Pattern find_bslashvariable -
match_bslash
Matcher match_bslashvariable -
find_slash
Pattern find_slashvariable -
match_slash
Matcher match_slashvariable -
find_dash
Pattern find_dashvariable -
match_dash
Matcher match_dashvariable -
find_squote
Pattern find_squotevariable -
match_squote
Matcher match_squotevariable -
find_dsquote
Pattern find_dsquotevariable -
match_dsquote
Matcher match_dsquotevariable -
find_dquote
Pattern find_dquotevariable -
match_dquote
Matcher match_dquotevariable -
find_ddquote
Pattern find_ddquotevariable -
match_ddquote
Matcher match_ddquotevariable -
find_amp
Pattern find_ampvariable -
match_amp
Matcher match_ampvariable -
find_damp
Pattern find_dampvariable -
match_damp
Matcher match_dampvariable -
find_parm_match
Matcher find_parm_matchvariable -
parm_pattern
Pattern parm_patternvariable -
parm_match
Matcher parm_matchvariable -
split_first
boolean split_firstvariable -
split_cont
boolean split_contvariable -
split_comment
boolean split_commentvariable -
exec_line
boolean exec_linevariable -
split_label
String split_labelvariable -
split_op
String split_opvariable -
split_op_index
int split_op_indexvariable -
split_op_type
int split_op_typevariable -
split_parms
String split_parmsvariable -
split_parms_index
int split_parms_indexvariable -
split_level
int split_levelvariable -
split_quote_text
String split_quote_textvariable -
split_quote
boolean split_quotevariable -
split_quote_last
boolean split_quote_lastvariable -
pad_spaces_len
int pad_spaces_lenvariable -
pad_spaces
char[] pad_spacesvariable -
dup_char_len
int dup_char_lenvariable -
dup_char
char[] dup_charvariable -
ascii_min_char
String ascii_min_charvariable -
newline
String newlinevariable -
alarm_bell
char alarm_bellvariable -
sdt_char_int
int sdt_char_intvariable -
ascii_table
String ascii_tablevariable -
ascii_dump_table
String ascii_dump_tablevariable -
ebcdic_table
String ebcdic_tablevariable -
ebcdic_dump_table
String ebcdic_dump_tablevariable -
ascii_to_ebcdic
byte[] ascii_to_ebcdicvariable -
ascii_to_ebcdic_hex
String ascii_to_ebcdic_hexvariable -
ebcdic_to_ascii
byte[] ebcdic_to_asciivariable -
ebcdic_to_ascii_hex
String ebcdic_to_ascii_hexvariable -
prtAscii
String prtAsciiPrintable ASCII table and printable EBCIC table; for SNAP/dump output -
prtEbcdic
String prtEbcdicIBM1947 and IBM037 common values; omit cent sign, caret, and not sign -
default_charset_name
String default_charset_namevariable -
ascii_charset_name
String ascii_charset_namevariable -
ebcdic_charset_name
String ebcdic_charset_namevariable -
list_charset_map
boolean list_charset_mapvariable -
test_ascii
String test_asciivariable -
test_ebcdic
String test_ebcdicvariable -
test_char
char test_charvariable -
init_charset_bytes
byte[] init_charset_bytesvariable -
fp_type
byte fp_typevariable -
fp_db_type
byte fp_db_typevariable -
fp_dd_type
byte fp_dd_typevariable -
fp_dh_type
byte fp_dh_typevariable -
fp_eb_type
byte fp_eb_typevariable -
fp_ed_type
byte fp_ed_typevariable -
fp_eh_type
byte fp_eh_typevariable -
fp_lb_type
byte fp_lb_typevariable -
fp_ld_type
byte fp_ld_typevariable -
fp_lh_type
byte fp_lh_typevariable -
fp_lq_type
byte fp_lq_typevariable -
fp_db_digits
byte fp_db_digitsvariable -
fp_dd_digits
byte fp_dd_digitsvariable -
fp_dh_digits
byte fp_dh_digitsvariable -
fp_eb_digits
byte fp_eb_digitsvariable -
fp_ed_digits
byte fp_ed_digitsvariable -
fp_eh_digits
byte fp_eh_digitsvariable -
fp_lb_digits
byte fp_lb_digitsvariable -
fp_ld_digits
byte fp_ld_digitsvariable -
fp_lh_digits
byte fp_lh_digitsvariable -
fp_guard_digits
byte fp_guard_digitsvariable -
fp_work_reg_byte
byte[] fp_work_reg_bytevariable -
fp_work_reg
ByteBuffer fp_work_regvariable -
fp_precision
int[] fp_precisionNote: The fp_precision big decimal precision array is used in both az390 and ez390. Should be maintained consistently as it is used for rounding during conversions between types. -
fp_digits_max
int[] fp_digits_maxvariable -
fp_sign_bit
int[] fp_sign_bitvariable -
fp_one_bit_adj
int[] fp_one_bit_adjvariable -
fp_exp_bias
int[] fp_exp_biasvariable -
fp_exp_max
int[] fp_exp_maxvariable -
fp_man_bits
int[] fp_man_bitsvariable -
fp_sign
int fp_signvariable -
fp_exp
int fp_expvariable -
dfp_digits
String dfp_digitsvariable -
dfp_dec_index
int dfp_dec_indexvariable -
dfp_exp_index
int dfp_exp_indexvariable -
dfp_exp
int dfp_expvariable -
dfp_scf
int dfp_scfvariable -
dfp_preferred_exp
int dfp_preferred_expvariable -
dfp_work
byte[] dfp_workvariable -
dfp_exp_bcd_to_cf5
byte[] dfp_exp_bcd_to_cf5dfp_exp_bcd_to_cf5 returns CF5 5 bit combination field using index made up of high 2 bits of bias exponent plus 4 bit BCDnibble for first digit. -
dfp_bcd_to_dpd
int[] dfp_bcd_to_dpddfp_bcd_to_dpd returns 10 bit densely packed decimal indexed by 3 digit value 0-999 -
dfp_cf5_to_exp2
int[] dfp_cf5_to_exp2dfp_cf5_to_exp2 returns 2 high bits of biased exponent indexed by 5 bit combined field -
dfp_cf5_to_bcd
long[] dfp_cf5_to_bcddfp_cf5_to_bcd returns decimal digit 0-9 indexed by 5 bit combination field value -
dfp_dpd_to_bcd
long[] dfp_dpd_to_bcddfp_dpd_to_bcd returns 3 digit decimal value 0-999 using 10 bit densely packed decimal index value. Notes:- Redundent values in (...)
- Java interprets leading 08 as octal number like 0x is hex so any leading 0's should be removed
-
optable_option_nr
int[] optable_option_nrvariable -
optable_option_id
String[] optable_option_idvariable -
optables_optable
String[] optables_optablevariable -
optable_optable_equivalence
variable optable_optable_equivalence defines the primary optables and the secondaries. The secondaries are connected to a primary (which is named after the = sign. The primaries are defined by specifying the same identifier before and after the = sign. The numeric values used internally are defined in ArchLevel.java -
machine_option_nr
int[] machine_option_nrvariable -
machine_option_id
String[] machine_option_idvariable -
machines_optable
String[] machines_optablevariable -
machine_optable_equivalence
variable machine_optable_equivalence defines all allowable values for the MACHINE option and equates each MACHINE option to its equivalent primary OPTABLE option. The equivalence defintions use the logical names, as defined in optable_optable_equivalence. The internal optable codes are restricted to the ArchLevel.java module. -
op_type_name
String[] op_type_namevariable -
op_type_len
int[] op_type_lenvariable -
op_type_src_format
String[] op_type_src_formatvariable -
op_type_obj_format
String[] op_type_obj_formatvariable -
op_name
String[] op_namevariable -
op_type_oattribute
String[] op_type_oattributevariable -
max_op_type_offset
int max_op_type_offsetvariable -
max_ins_type
static final int max_ins_typevariable- See Also:
-
max_asm_type
static final int max_asm_typevariable- See Also:
-
max_mac_type
static final int max_mac_typevariable- See Also:
-
op_type
int[] op_typevariable -
op_code_index
int op_code_indexvariable -
op_code
String[] op_codevariable -
op_code_count
int op_code_countvariable -
op_directives_count
int op_directives_countvariable -
op_trace_type
int[] op_trace_typevariable -
opcode_formats
The opcode_formats table defines all opcode formats and their lengths. The format of the definitions is as follows:
formatname[$variant],length:operand_list[,object_format]
- formatname can be suffixed with a $-sign followed by an internal identifier to differentiate between variants
- length is the length of the instruction in bytes
- operand_list is the list of operands as listed in the overview of supported opcodes
- instruction_format is a representation of the format of the object code
-
op_table_start
Table with initial opcode - valid for all optables -
op_table_360_20
table op_table_360_20 has the instructions that are supported for both DOS and the S360/20 as defined in publication A26-5847-3 IBM System 360 Model 20 Functional Characteristics and in publication A22-6821-7 IBM System 360 Principles of Operation -
op_table_360_20_only
table op_table_360_20_only defines five instructions unique to the S360/20 and two that share syntax (but not semantics) with 370 The difference in semantics make for their definition here, which is okay since S360/20 and 370 cannot be combined. -
op_table_360_20_directives
table op_table_360_20_directives has the directives that are supported for both DOS and the S360/20
Incompatibilites:- GBLx/LCLx not supported for S360/20: difference is encoded in variable names! see S360/20 docs
- Syntax may be shared between optable(DOS) and optable(360-20) but semantics may differ. We implement semantics for DOS even when optable(360-20) or machine(S360-20) is specified
-
op_table_360_20_only_directives
table op_table_360_20_only_directives defines two directives unique to the S360/20
Incompatibilites:- DCCW aligns on halfword, but we align on Fullword
- XFR is not the same as ENTRY, yet we process it as such
-
op_table_DOS
op_table_DOS contains the instructions NOT shared with S360/20. as defined in publication A26-5847-3 IBM System 360 Model 20 Functional Characteristics and in publication A22-6821-7 IBM System 360 Principles of Operation -
op_table_DOS_370
op_table_DOS_370 contains the instructions valid from S360-S370 as defined in publication GA22-7000-4 IBM System 370 Principles of Operation -
op_table_DOS_directives
op_table_DOS_directives contains the directives NOT shared with S360/20 -
op_table_vector
op_table_vector contains the instructions for the old vector facility as defined in publication SA22-7125-3 ESA370 Vector Operations and in publication SA22-7207-00 ESA390 Vector Operations
The (optional) vector facility was available in addition to the 370 and 390 architectures In z390 the old vector facility can be used with z/Architecture opcode tables up to SA22-7832-09 zArchitecture Principles of Operation (aka z12)
With the z13 SA22-7832-10 zArchitecture Principles of Operation the new vector facility was introduced and the old vector facility could not be carried forward anymore -
op_table_370
op_table_370 contains the instructions valid from S370 as defined in publication GA22-7000-4 IBM System 370 Principles of Operation -
op_table_370_only
Instruction definitions for optable 370 only -
op_table_370_directives
Directives valid from optable 370 -
op_table_XA
op_table_XA contains the instructions valid from S370-XA as defined in publication (IBM publication code unknown) -
op_table_ESA
op_table_ESA contains the instructions valid from S390 as defined in publication SA22-7201-08 ESA390 Principles of Operation -
op_table_ESA_only
Opcodes valid for ESA only -
op_table_ESA_allow
Instructions PGIN and PGOUT were introduced with the ESA architecture. But HLASM has never supported these instructions See Jonathan Scott's contribution to the ASSEMBLER-LIST 2024-04-06 z390 supports assembly (but not execution) of these instructions in allow mode only. -
op_table_ZOP
op_table_ZOP contains the instructions valid from z Architecture as defined in publication SA22-7832-00 zArchitecture Principles of Operation and publication SA22-7832-01 zArchitecture Principles of Operation -
op_table_YOP
op_table_YOP contains the instructions valid from z Architecture as defined in publication SA22-7832-02 zArchitecture Principles of Operation and publication SA22-7832-03 zArchitecture Principles of Operation -
op_table_YOP_Z16
Opcode definitions valid for YOP thru Z16; with the advent of z17 the definitions changed -
op_table_Z9
op_table_Z9 contains the instructions valid from z Architecture as defined in publication SA22-7832-04 zArchitecture Principles of Operation and publication SA22-7832-05 zArchitecture Principles of Operation -
op_table_Z10
op_table_Z10 contains the instructions valid from z Architecture as defined in publication SA22-7832-06 zArchitecture Principles of Operation and publication SA22-7832-07 zArchitecture Principles of Operation -
op_table_Z11
op_table_Z11 contains the instructions valid from z Architecture as defined in publication SA22-7832-08 zArchitecture Principles of Operation -
op_table_Z11_Z12
Opcode definitions valid for ZS5 and ZS6. ZS7 ff have a broader definition. -
op_table_Z12
op_table_Z12 contains the instructions valid from z Architecture as defined in publication SA22-7832-09 zArchitecture Principles of Operation -
op_table_Z13
op_table_Z13 contains the instructions valid from z Architecture as defined in publication SA22-7832-10 zArchitecture Principles of Operation -
op_table_Z14
op_table_Z14 contains the instructions valid from z Architecture as defined in publication SA22-7832-11 zArchitecture Principles of Operation -
op_table_Z14_only
Opcode definitions for z14 only -
op_table_Z14_Z16
Opcode definition for z14 through z16 -
op_table_Z15
op_table_Z15 contains the instructions valid from z Architecture as defined in publication SA22-7832-12 zArchitecture Principles of Operation -
op_table_Z16
op_table_Z16 contains the instructions valid from z Architecture as defined in publication SA22-7832-13 zArchitecture Principles of Operation -
op_table_Z17
op_table_Z17 contains the instructions valid from z Architecture as defined in publication SA22-7832-14 zArchitecture Principles of Operation -
op_table_ASSIST
Opcode defintitions for ASSIST extension -
op_table_z390
Opcode defintitions for z390 extensions (not supported by HLASM) -
op_table_DFLT_directives
z390-specific assembler directive - not available with HLASM, and only with DFLT opcode table in z390 -
op_table_z390_directives
z390-specific assembler directive - not available with HLASM -
opcode_masks
opcode masks - the full set -
opcode_masks_short
opcode masks - the short set for instructions that do not support the full set -
mask_opcode
String[] mask_opcodevariable -
mask_mnemonic
String[] mask_mnemonicvariable -
last_key_op
int last_key_opvariable -
key_not_found
int key_not_foundvariable -
key_found
int key_foundvariable -
max_key_root
int max_key_rootvariable -
max_key_tab
int max_key_tabvariable -
tot_key_tab
int tot_key_tabvariable -
tot_key
int tot_keyvariable -
key_type
char key_typevariable -
key_text
String key_textvariable -
key_index
int key_indexvariable -
key_index_last
int key_index_lastvariable -
key_hash
int key_hashvariable -
tot_key_search
int tot_key_searchvariable -
tot_key_comp
int tot_key_compvariable -
avg_key_comp
int avg_key_compvariable -
cur_key_comp
int cur_key_compvariable -
max_key_comp
int max_key_compvariable -
key_tab_type
char[] key_tab_typevariable -
key_tab_key
String[] key_tab_keyvariable -
key_tab_hash
int[] key_tab_hashvariable -
key_tab_index
int[] key_tab_indexvariable -
key_tab_low
int[] key_tab_lowvariable -
key_tab_high
int[] key_tab_highvariable -
optfilenames
variable -
prevoptfilename
String prevoptfilenamevariable
-
-
Constructor Details
-
tz390
public tz390()Dummy constructor - no initialization needed
-
-
Method Details
-
init_tz390
public void init_tz390()initialize shared data and tables -
init_option_tables
public void init_option_tables()Valid options for MACHINE and OPTABLE are stored as id=value pairs This routine sets up the translation tables we need -
create_opcodes
public void create_opcodes()Create_opcodes builds the following arrays to define opcode formats: op_type_name op_type_len op_type_src_format op_type_obj_format Create_opcodes builds the following arrays to define valid opcodes: - op_name - op_code - op_type - op_trace_type The content of the arrays is determined by the assembler options OPTABLE/MACHINE
-
process_opcodes
process a single table of opcode definitions- Parameters:
op_tables- [] a single table of opcode definitions
-
init_opcodes
private void init_opcodes()init opcodes -
init_pat
private void init_pat()init patterns for use by opcode and options routines -
init_os_type
private void init_os_type()init os type -
init_os_util
private void init_os_util()init os dependant utilities -
init_options
parse and set optionsNotes:
- These use () vs = because bat removes =
- syslog(ddname)
- sys390(ddname)
- systerm(filename)
- test(ddname)
- time(seconds)
- Add options check for consistency
- NOASM - requires chkmac(0) - RPI 1053
- Parameters:
args- - argument stringpgm_type- - type of program
- These use () vs = because bat removes =
-
check_options
private void check_options()check options for consistency -
process_option
process option from command line or from @file optionsfile line.- Parameters:
opt_file_name- - String - name of options fileopt_file_line- - int - line nr within options filetoken- - String
-
set_trace_options
set trace options (called by init and by mz390 when SYSTRACE is updated.- Parameters:
trace_options- - trace options
-
add_invalid_option
collect invalid options for single error- Parameters:
opt_file_name- - String name of options fileopt_file_line- - int - nr of line in erroroption- - String - option having an error
-
process_options_file
process option file as follows:- Default suffix .OPT
- Uses SYSOPT path which defaults to program path
- Comments starting with * to end of line
- @file option can be nested.
- Parameters:
file_name- - String - name of the file to processrequired- - boolean
-
open_systerm
open systerm file and sta statistics file positions to add to end of existing files.- Parameters:
z390_pgm- - program name (used to determine default output file names)
-
put_systerm
log error to systerm file- Parameters:
msg- - message text
-
put_stat_line
mod stat record on stats.sta file- Parameters:
msg- - message text
-
close_systerm
public void close_systerm(int rc) close systerm error file if open- Parameters:
rc- - return code
-
set_ended_msg
public void set_ended_msg(int rc) set ended_msg for use by mz390, az390, lz390, and ez390.- Parameters:
rc- - return code
-
close_trace_file
public void close_trace_file()close trace file if open RPI 484 -
get_mem_usage
public int get_mem_usage()return max memory usage by J2SE in MB- Returns:
- integer
-
get_short_file_name
return shortest file name possible with quotes if LSN- Parameters:
file_name- - name of the file- Returns:
- file_name - short name of the file
-
abort_error
display options error on system out and exit with rc 16.- Parameters:
error- - error codemsg- - message text
-
init_ascii_ebcdic
private void init_ascii_ebcdic()init ascii/ebcdic conversion tables -
find_key_index
return user_key_index for user_key else -1 and set following for possible add_key_index:- key_text = user_key
- key_hash = hash code for key
- key_index_last = last search entry
- Usage by mz390
- "A:" - ago gbla table pointer
- "C:" - copy file found RPI 970
- "F:" - macro and copybook files
- "G:" - global set variables
- "M:" - loaded macros
- "O:" - opcode table (init_opcode_name_keys)
- "R:" - opcode and macro opsyn
- "S:" - ordinary symbols
- "X:" - executable macro command
- "Z:" - ZSTRMAC opcodes and apm names RPI 902
- Usage by az390
- "L:" - literals
- "O:" - opcode table (init_opcode_name_keys)
- "R:" - opcode opsyn
- "S:" - ordinary symbols
- "U:" - USING labels
- "V:" - extrn symbol
- Usage by lz390
- "G:" - global ESD's
- Usage by ez390
- "H:" - opcodes by hex key
- "H:BR:" - branch opocodes by hex key
- "O:" - opcodes by name (init_opcode_name_keys)
- "P:" - CDE program name lookup
- "R:" - OPSYN opcode/macro substitution
- See find_lcl_key_index in mz390 with local key types KBPL
- Optimize by using separate user_key_type char to avoid extra string concat and avoid string compare if not desired type. RPI 409 (all calls changed)
- Parameters:
user_key_type- - type of item to search foruser_key- - name or label of item to search for- Returns:
- integer - index of item if found, -1 otherwise
-
add_key_index
public boolean add_key_index(int user_index) add user_index entry based on key_text, key_hash, and key_index_last set by prior find_key_index- Parameters:
user_index- -- Returns:
- boolean - true if success, false on failure
-
update_key_index
public boolean update_key_index(int user_key) update previously found key index- Parameters:
user_key- -- Returns:
- boolean -true if update okay, false if update not possible
-
get_file_name
- Strip quotes if found from path and file.
- Replace . and ..\ with current directory
- Check for overriding path in filename and ignore default path
- Check for overriding filename in path and ignore default filename
- Add directory, name, and/or type if not specified
- Replace \ with / if Linux
- Parameters:
file_dir- - relative or absolute pathfile_name- - file namefile_type- - file type- Returns:
- string - complete path and file name
-
fix_file_separators
- Replace \ with / if Linux else / with |
- Replace ..\ or ../ with parent path
- Remove embedded ./ or .\
- Parameters:
name- - full path and file name- Returns:
- string - corrected path and file name
-
find_file_name
public String find_file_name(String parm_dir_list, String file_name, String file_type_def, String dir_cur) search for existing file in one or more dirs and return file name or null if not foundNote:
- The separator for multiple files may be ; or + (plus sign) versus semi-colon is used in BAT parms to avoid conflict with Windows BAT parsing.
- If file_name has type, use it. else if directory path has *.type use the type instead of default file_type.
- Parameters:
parm_dir_list- - list of pathsfile_name- - file name (may include file type)file_type_def- - default file typedir_cur- - current path- Returns:
- string - path to file if found, null otherwise
-
exec_cmd
exec command as separate task- Parameters:
cmd- - command string to be executed- Returns:
- boolean - true if command executed successfully, false otherwise
-
init_opcode_name_keys
public boolean init_opcode_name_keys()add all opcodes to key index table- Returns:
- boolean - true if method executed successfully, false otherwise
-
set_pgm_dir_name_type
set pgm_dir, pgm_name, pgm_type from parmNotes:
- Only allow file type override for MLC.
- Set lkd_ignore true if explicit .OBJ found RPI 735
- Parameters:
file_name- - file namefile_type- - file type- Returns:
- boolean
-
reset_opsyn
public void reset_opsyn()reset op_code key table indexes changed by opsyn during previous pass if any. -
update_opsyn
Update opsyn table as follows:- Add new alias name for opcode
- Add null entry to cancel opcode // RPI 306
- Restore opcode to previous alias and remove any cancel entry. // RPI 404
- Indexes pointing to new name entries in opsyn table are only added once.
- az390 uses reset_opsyn() to reset old = new for multiple passes so opcodes prior to first OPSYN statement will map to std. opcode. mz390 only makes one pass so its not an issue.
- Parameters:
new_name- - new mnemonicold_name- - old mnemonic- Returns:
- boolean - true if successful, false otherwise
-
get_hex
Format int into 1-16 hex digit string- Parameters:
work_int- - integer value to convert into hexreq_hex_digits- - nr of hex digits to produce- Returns:
- string - hex representation, or null of conversion failed
-
get_long_hex
Format long into 1-16 hex digit string- Parameters:
work_long- - integer value to convert into hexreq_hex_digits- - nr of hex digits to produce- Returns:
- string - hex representation, or null of conversion failed
-
get_sdt_char_int
set sdt_char_int to value of character string else false- C'....' EBCDIC/ASCII (rep ''|&& with'|&)
- C"...." ASCII (rep ""|''|&& with "|'|&)
- C!....! EBCDIC (rep !!|''|&& with !|'|&)
- CA'...' ASCII
- CE'...' EBCDIC
- Parameters:
sdt- - self-defining term- Returns:
- boolean - true if successful, false otherwise
-
verify_ascii_source
Verify ascii source code and length <= 80 if not * in col 1.- Parameters:
temp_line- - string to be validated- Returns:
- boolean - true if input is a valid Ascii source line, false otherwise
-
left_justify
return text left justified in field if field larger than text- Parameters:
text- - input textpadded_len- - desired string length- Returns:
- string - input string with appended blanks to fill up to requested length
-
pad_spaces
return n space characters- Parameters:
n- - nr of spaces to return- Returns:
- string - consisting of requested nr of spaces
-
right_justify
return text right justified in field if field larger than text- Parameters:
text- - input text to be paddedpadded_len- - length of desired output string- Returns:
- String - input text prefixed with blanks to right-align to requested length
-
init_pad_spaces
private void init_pad_spaces(int new_pad_len) initialize new pad_spaces byte array used by left and right justify- Parameters:
new_pad_len- -
-
get_dup_string
return string with text duplicated dup_count times- Parameters:
text- - input text to be duplicateddup_count- - nr of duplications to produce- Returns:
- String - duplicated input text
-
trim_trailing_spaces
remove trailing spaces from non-continued source line- Parameters:
line- - input source linemax_text- - max nr of chacters to be used- Returns:
- String - usabel section of input with trailing spaces removed
-
trim_continue
Trim line to comma delimiter or end of line recognizing whether line is continuation of quoted string or not.Notes:
- Allow ", " to appear in quotes which may be split across lines.
- Allow spaces within (...) on macro statements but not opcodes
- Handle quoted string continued on one or more continuation lines. RPI 463.
- Remove leading spaces from continuations.
- Parameters:
line- - source linefirst_line- - true if first line of statementictl_end- - ICTL-defined end columnictl_cont- - ICTL-defined continue column- Returns:
- String - modified source line
-
split_line
split line into 3 strings:- split_label
- split_op
- split_parms
Note: fields are null if none
- Parameters:
line- - input source line
-
get_first_dir
return first directory in list- Parameters:
dirs- - list of directories- Returns:
- String - first directry from the list
-
put_trace
open trace file if trace options on for M, A, L, E- Parameters:
text- - message to be written to trace file
-
inc_cur_bal_line_num
- increment cur_bal_line_num by 1 plus previous continuations.
- Set number of continuation lines for next call.
- Parameters:
text_line- - current surce statement ??
-
get_cur_bal_line_id
public String get_cur_bal_line_id(int file_num, int file_line_num, int bal_line_num, boolean mac_gen, char line_type) return unique BAL line id consisting of: // RPI 549- FID file id number (See list of files in stats at end of BAL)
- FLN file Line number within file
- GSN Generated statement number for BAL line
- Type code:
- ' ' main source code
- '+' generated macro code
- '=' included copybook code
- If FLN is 0 only GSN is returned for az standalone mode.
- If GSN is 0 only (FID/FLN) is returned for mz trace.
- Parameters:
file_num- - file id (open sequence number)file_line_num- - line number within filebal_line_num- - assembler assigned line numbermac_gen- - true if line was generted from a macroline_type- - line type- Returns:
- String - string representation of complete line id
-
jar_file_dir
Return the directory containing the jar file (Contributed by Martin Ward)- Returns:
- String - path to executing jar file
-
fp_get_dfp_bin
store binary DD,ED, or LD format in fp_work_reg. Return true if value within range.Notes:
- Set DFP exponent to explicit decimal point else preferred exponent is 0.
- Parameters:
dfp_type- - type of decimal floating point datadfp_bd- - address of floating point field in base-displacement format- Returns:
- Boolean - true if data within range, false otherwise
-
get_dfp_ccf_digits
private long get_dfp_ccf_digits(int tot_digits, int digit_offset, int digit_count) return long with 1 to 6 DPD densly packed decimal triplets. Each triplet consists of 10 bits representing 3 decial digits- Parameters:
tot_digits- - int - not used (could be a bug, might coincide with dfp_digits??)digit_offset- - int - offset into source string of digitsdigit_count- - int - nr of digits to convert- Returns:
- long - holding converted dfp value
-
get_timestamp
return current JDBC time stamp string with 9 digit fractional nanosecond forrmat: yyyy-mm-dd hh:mm:ss.nnnnnnnnn (29 characters)Note: only the first 3 millisecond digits are returned by current JDBC TimeStamp constructor so System.nanotime() method is used to add remaining 6 digits of nanosecond fraction.
- Returns:
- Timestamp - current timestamp
-
get_window_size
public void get_window_size()set max_main_height and max_main_width -
init_errsum
public void init_errsum()turn on ERRSUM option either by user request or if missing COPY or MACRO error detected during pass 1 of az390. Notes:- ASM required
- Any error limit can prevent finding all the missing copybooks and macros due to pre-mature abort on error limit. There may still be additional nesting missing macros and copybooks requiring multiple passes after including missing files listed.
-
ascii_printable_char
public char ascii_printable_char(int mem_byte) return printable ascii char from byte RPI 947- Parameters:
mem_byte- - byte value to be converted- Returns:
- char - ascii character representation for byte value
-
ascii_printable_string
return printable ascii string from string that may have non-printable ascii codes RPI 938- Parameters:
text- - raw iput string- Returns:
- String - printable ascii text
-
get_ascii_printable_string
return printable ascii string from byte array RPI 947- Parameters:
byte_array- - virtual memory byte arrayaddr- - start address of string in byte arraylen- - length of string in byte array- Returns:
- String - ascii representation of string from virtual memory
-
get_ascii_dump_printable_string
Return printable ascii string from byte array.Restricted set of ascii characters used for "printable char" portion of dump output.
- Parameters:
byte_array- virtual memory byte arrayaddr- start address of string in byte arraylen- length of string- Returns:
- printable ascii string string from byte array
-
get_ascii_var_string
return ascii variable length string delimited by null or double quotes which are stripped off along with leading or trailing spaces.- Parameters:
byte_array- - virtual memory byte arraymem_addr- - start address of string in byte arraymax_len- - maximum length of sting- Returns:
- String - ascii representation of string from virtual memory
-
log_text_append
append msg to visible log textarea and reduce size by 50% when it exceeds opt_maxlog byte limit.- Parameters:
log_text- - TextArea where message is to be displayedmsg- - message to display
-
sleep_now
public void sleep_now(long mills) sleep for 1 monitor wait interval- Parameters:
mills- - nr of milliseconds to wait
-
set_path_option
if new path starts with +, concat with existing path else replace existing path option.- Parameters:
old_path- - String holding current path concatenationnew_path- - String holding new path specification- Returns:
- String - holding result path
-
put_stat_final_options
public void put_stat_final_options()list final value of all changed options on stats file -
add_final_opt
add final option value to final_option formatted string.- Parameters:
token- - String holding option to be reported
-
abort_case
public void abort_case()abort case with invalide index RPI 849 used by pz390, mz390 -
cur_date
return MM/DD/YY or constant if notiming- Returns:
- String - current date, unless notiming is in effect
-
cur_time
return HH:MM:SS with or without space or 0 length string if notiming- Parameters:
space_pad- - whether or not to add a trailing space- Returns:
- String - current time, unless notiming is in effect
-
init_codepage
initialize ascii and ebcdic translate tables using specified Unicode codepages. If list is on display mapping between ascii Unicode table and the corresponding ascii and ebcdic byte values in hex and list available ascii and ebcdic charset codepages. If either of the names are not valid, a list of the current ascii default and all available Charset codepages will be listed. The two codepages will be verified to have the required minimum ebcdic code mapping for z390 assembler A-Z,a-z,0-9,@#$, blank, and &'()*+-./:=_. Any characters that have mapping // RPI 1529 will attempt to print otherwise they will appear as periods.- Parameters:
codepage_parm- - name of codepage
-
fixCharset
Some Charsets have errors not fixed by Oracle. Fix them here.List of Charsets requiring changes.
1. IBM037
- Parameters:
charset- the 256 character string of characters that might need fixingcharsetName- the name of the Charset- Returns:
- the fixed 256 character string of characters; the original string if no fix is needed
-
getReaderForCharset
public BufferedReader getReaderForCharset(File file, String charsetName) throws FileNotFoundException, UnsupportedEncodingException Gets a BufferedReader for a file using specified Charset name.No Charset is used if
charsetNameis null or the empty string.- Parameters:
file- existing File objectcharsetName- the name of the Charset to use. If null or empty string, no Charset is used.- Returns:
- the BufferedReader
- Throws:
FileNotFoundException- iffiledoes not exist.UnsupportedEncodingException- ifcharsetNameencoding is not supported
-
getReaderForDefaultCharset
Gets a BufferedReader for a file using the default Charset name.
The default Charset name is in variableascii_charset_name. It is possible that the default Charset name is the empty string.- Parameters:
file- existing file object- Returns:
- the BufferedReader
- Throws:
Exception- if an error occurs creating the BufferedReader- See Also:
-
getWriterForCharset
public BufferedWriter getWriterForCharset(File file, String charsetName) throws FileNotFoundException, UnsupportedEncodingException, IOException Gets a BufferedWriter for a file using specified Charset name.
No Charset is used ifcharsetNameis null or the empty string.- Parameters:
file- existing File object for the BufferedWritercharsetName- the name of the Charset to use. If null or empty string, no Charset is used.- Returns:
- the BufferedWriter
- Throws:
IOException- (FileWriter) iffileexists but is a directory; does not exist but cannot be created; or cannot be opened for any other reasonFileNotFoundException- iffiledoes not exist.UnsupportedEncodingException- ifcharsetNameencoding is not supported.
-
getWriterForDefaultCharset
Gets a BufferedWriter for a file using the default Charset name.The default Charset name is in variable
ascii_charset_name.- Parameters:
file- existing File object for the BUfferedWriter- Returns:
- BufferedWriter handle
- Throws:
Exception- if an error occurs creating the BufferedWriter- See Also:
-
isPrintableChar
Determines whether a character is a printable character.
Returnstrueif the character is printable andfalseif the character is non-printable. The determination is done using the Charset whose name is the charsetName argument. IfcharsetNameis not one of the checked names, US-ASCII is used.- Parameters:
c- character to checkcharsetName- the name of the charset to use for check- Returns:
trueif the character is printable andfalseif the character is non-printable.
-
replaceNonPrintableDumpChars
Replaces non-printable characters with '.'.- Parameters:
text- string of charactersprtChar- string of all printable characters allowed in dumps- Returns:
- the input string with non-printable characters changed to '.'
-
replaceNonPrintableChars
Returns a string that is the input text with non-printable characters replaced by '.'. The text argument is a string containing possible non-printable characters. The charsetName argument contains the name of the Charset used for the text argument. If no Charset was used, an empty string, "", must be used.- Parameters:
text- string containing possible non-printable characterscharsetName- name of the Charset to use for the string; "" if none- Returns:
- the input string with all non-printable characters replaced by '.'.
-
isPrintableChar_ISO_8859_1
private boolean isPrintableChar_ISO_8859_1(char c) Determines whether a character is a printable character when using the ISO-8859-1 Charset.- Parameters:
c- character to check- Returns:
trueif printable,falseif non-printable.
-
isPrintableChar_US_ASCII
private boolean isPrintableChar_US_ASCII(char c) Determines whether a character is a printable character when using the US-ASCII Charset.- Parameters:
c- character to check- Returns:
trueif printable,falseif non-printable.
-
init_charset_tables
private void init_charset_tables()- copy test tables to live tables
- initialize translate tables
- initialize printable character table
-
report_codepage_error
report codepage parm error- Parameters:
msg- String message text
-
list_ebcdic_ascii_unicode
private void list_ebcdic_ascii_unicode()list unicode, char, ascii hex, ebcdic hex -
map_text
map text function- Parameters:
index- for codepoint- Returns:
- text index,hex-ebcdic,hex-ascii,char,U+hex
-
list_available_charsets
private void list_available_charsets()list available character sets to systerm file -
check_test_ascii
private boolean check_test_ascii()return true if test_ascii charset meets the following tests:- Length 256
- hex char
- 20 space
- 30 zero
- 39 nine
- 41 A
- 5A Z
- 61 a
- 7A z
- Returns:
- boolean - to indicate whether or not coditions are met
-
check_test_ebcdic
private boolean check_test_ebcdic()return true if test_ebcdic charset meets minimum character requirements- Returns:
- Boolean - indicating success (true) or failure (false)
-
list_hex_ascii_ebcdic
public void list_hex_ascii_ebcdic()list ascii to ebcdic and ebcdic to aascii conversion tables in hex for debugging -
load_ebcdic_charset_hex_file
private boolean load_ebcdic_charset_hex_file()load ebcdic_charset_name as alternate source for system defiend ebcdic_charset_name- Returns:
- Boolean - indicates success (true) or failure (false)
-
check_java_version
public boolean check_java_version()verify version is from known vendor and version is 1.6+- Returns:
- boolean - always returns true
-
getVersion
get version number as a string value- Returns:
- version number (as a string)
-