Class ez390
java.lang.Object
ez390
- All Implemented Interfaces:
Runnable
ez390 is the emulator component of z390 which can be called from
z390 gui interface or from command line to execute 390 load
module files.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) Stringvariable(package private) Calendarvariable(package private) intvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) intvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) intvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) SimpleDateFormatvariable(package private) booleanvariable(package private) intvariable(package private) intvariable(package private) Stringvariable(package private) booleanvariable(package private) longvariable(package private) longvariable(package private) longvariable(package private) longvariable(package private) longvariable(package private) intvariable(package private) intvariable(package private) longvariable(package private) intvariable(package private) intvariable(package private) longvariable(package private) Timervariable(package private) intvariable(package private) intvariable(package private) pz390variable(package private) booleanvariable(package private) Threadvariable(package private) sz390variable(package private) longvariable(package private) longvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) intvariable(package private) longvariable(package private) longvariable(package private) longvariable(package private) longvariable(package private) tz390variable(package private) vz390variable(package private) JTextFieldvariable(package private) JTextAreavariable -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidCheck for trace msg and log if found Execute test commands if test mode Dump registers if reqister trace option Run pz390 to next interrupt Check for trace msg and log if found If svc interrupt, exec svc else if psw_check if svc_exit exit normally else psw_handler for abend or espie/estae restartprivate voidinit_ez390(String[] args, JTextArea log_text, JTextField command_text) Logic: initialize log routing init ascii to ebcdic table init reqular expression paser for test set options initialize memory set runtime hooks for cancel start monitor for cmd processor and timeout, and cpu rate statisticsstatic voidmain is entry when executed from command line Create instance of ez390 class and pass parms to ez390 like z390 does.private voidstart monitor to terminate cmd command if timeout limit reachedprivate voidAt monitor_wait intervals, update the the cpu instruction rate and monitor cmd processes if running with timeout If CMD running and monitor_wait_total > timeout_interval then abort cmd process with timeout If current time beyond timeout terminate. If WTOR pending, check for reply and post ecb. If stimer_exit_addr set, check for stimer_Exit_tod passed and take exit if tod passed: Save r13-r15 and PSW for restore at end of exit Set r13 to save, r14 to svc 3 instr, and r15 to exit Set stimer_exit_pending for svc 3 change PSW to r15 exit addr If GUAM TN3270 screen active, process pending typed keysvoidprocess_ez390(String[] args, JTextArea log_text, JTextField command_text) execute 390 load module file passed as first arg Note this may be called directly from z390 GUI or from main when lz370 run from windows command line.private voiddisplay ez390 version, timestamp, and copyright if running standalonevoidrun()run methodprivate voidrun_pgm(int zcvt_pgm_addr) execute IPL pgm and/or application pgm
-
Field Details
-
tz390
tz390 tz390variable -
pz390
pz390 pz390variable -
sz390
sz390 sz390variable -
vz390
vz390 vz390variable -
pz390_thread
Thread pz390_threadvariable -
pz390_running
boolean pz390_runningvariable -
load_file_name
String load_file_namevariable -
exit_request
boolean exit_requestvariable -
ins_count
int ins_countvariable -
io_count
int io_countvariable -
monitor_timer
Timer monitor_timervariable -
monitor_cmd_time_total
long monitor_cmd_time_totalvariable -
monitor_last_time
long monitor_last_timevariable -
monitor_next_time
long monitor_next_timevariable -
monitor_cur_interval
long monitor_cur_intervalvariable -
monitor_last_ins_count
int monitor_last_ins_countvariable -
monitor_next_ins_count
int monitor_next_ins_countvariable -
monitor_last_io_count
int monitor_last_io_countvariable -
monitor_next_io_count
int monitor_next_io_countvariable -
monitor_cur_ins
long monitor_cur_insvariable -
monitor_cur_int
long monitor_cur_intvariable -
monitor_cur_rate
long monitor_cur_ratevariable -
cmd_read_line
String cmd_read_linevariable -
cur_date_MMddyy
SimpleDateFormat cur_date_MMddyyvariable -
cur_tod_hhmmss
SimpleDateFormat cur_tod_hhmmssvariable -
cur_tod_hhmmss00
SimpleDateFormat cur_tod_hhmmss00variable -
cur_date_yyyy
SimpleDateFormat cur_date_yyyyvariable -
cur_date_MM
SimpleDateFormat cur_date_MMvariable -
cur_date_dd
SimpleDateFormat cur_date_ddvariable -
cur_date_HH
SimpleDateFormat cur_date_HHvariable -
cur_date_mm
SimpleDateFormat cur_date_mmvariable -
cur_date_ss
SimpleDateFormat cur_date_ssvariable -
cur_date_ms
SimpleDateFormat cur_date_msvariable -
cur_date_yyddd
SimpleDateFormat cur_date_yydddvariable -
cur_date_yyyyddd
SimpleDateFormat cur_date_yyyydddvariable -
cur_date_MMddyyyy
SimpleDateFormat cur_date_MMddyyyyvariable -
cur_date_ddMMyyyy
SimpleDateFormat cur_date_ddMMyyyyvariable -
cur_date_yyyyMMdd
SimpleDateFormat cur_date_yyyyMMddvariable -
cur_date_year
int cur_date_yearvariable -
cur_date_month
int cur_date_monthvariable -
cur_date_day
int cur_date_dayvariable -
tod_hour
int tod_hourvariable -
tod_min
int tod_minvariable -
tod_sec
int tod_secvariable -
tod_msec
int tod_msecvariable -
time_mil
long time_milvariable -
cur_date_cal
Calendar cur_date_calvariable -
tod_start_day
long tod_start_dayvariable -
tod_start_pgm
long tod_start_pgmvariable -
tod_end_pgm
long tod_end_pgmvariable -
tot_sec
long tot_secvariable -
tod_time_limit
long tod_time_limitvariable -
next_time_ins
int next_time_insvariable -
next_time_check
int next_time_checkvariable -
log_tod
boolean log_todvariable -
z390_log_text
JTextArea z390_log_textvariable -
z390_command_text
JTextField z390_command_textvariable
-
-
Constructor Details
-
ez390
public ez390()Dummy constructor - no initialization needed
-
-
Method Details
-
main
main is entry when executed from command line Create instance of ez390 class and pass parms to ez390 like z390 does.- Parameters:
args- - argument string - same as z390
-
process_ez390
execute 390 load module file passed as first arg Note this may be called directly from z390 GUI or from main when lz370 run from windows command line. if called from main, the log_text balect will be null and local put_log function will route to console instead of the z390 log window.- Parameters:
args- - argument string (same as z390)log_text- -command_text- -
-
run_pgm
private void run_pgm(int zcvt_pgm_addr) execute IPL pgm and/or application pgm- Parameters:
zcvt_pgm_addr- - address of 8 byte field containing name of program to run
-
exec_pz390
private void exec_pz390()- Check for trace msg and log if found
- Execute test commands if test mode
- Dump registers if reqister trace option
- Run pz390 to next interrupt
- Check for trace msg and log if found
- If svc interrupt, exec svc
- else
- if psw_check if svc_exit exit normally
- else psw_handler for abend or espie/estae restart
-
init_ez390
Logic:- initialize log routing
- init ascii to ebcdic table
- init reqular expression paser for test
- set options
- initialize memory
- set runtime hooks for cancel
- start monitor for cmd processor and timeout, and cpu rate statistics
- Parameters:
args- - text - argument stringlog_text- - JTextArea -command_text- - JTextField -
-
monitor_startup
private void monitor_startup()start monitor to terminate cmd command if timeout limit reached -
monitor_update
private void monitor_update()- At monitor_wait intervals, update the the cpu instruction rate and monitor cmd processes if running with timeout
- If CMD running and monitor_wait_total > timeout_interval then abort cmd process with timeout
- If current time beyond timeout terminate.
- If WTOR pending, check for reply and post ecb.
- If stimer_exit_addr set, check for stimer_Exit_tod passed and take exit if tod passed:
- Save r13-r15 and PSW for restore at end of exit
- Set r13 to save, r14 to svc 3 instr, and r15 to exit
- Set stimer_exit_pending for svc 3
- change PSW to r15 exit addr
- If GUAM TN3270 screen active, process pending typed keys
-
run
public void run()run method -
put_copyright
private void put_copyright()display ez390 version, timestamp, and copyright if running standalone
-