Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions bat/BLDLIB.BAT
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ call bat\asm %z_TraceMode% linklib\FPCONMFC bal notiming stats || goto e
call bat\asm %z_TraceMode% linklib\CVTTOHEX bal notiming stats || goto error
call bat\asm %z_TraceMode% linklib\SQXTR bal notiming stats || goto error
call bat\asm %z_TraceMode% linklib\DAT bal notiming stats || goto error
call bat\asmlg %z_TraceMode% linklib\IEFBR14 sysobj(+linklib) || goto error
call bat\asmlg %z_TraceMode% linklib\TESTFPC1 sysobj(+linklib) || goto error
call bat\asmlg %z_TraceMode% linklib\TESTFPC2 sysobj(+linklib) || goto error
call bat\asmlg %z_TraceMode% linklib\IEFBR14 sysobj(+linklib) stats || goto error
call bat\asmlg %z_TraceMode% linklib\TESTFPC1 sysobj(+linklib) stats || goto error
call bat\asmlg %z_TraceMode% linklib\TESTFPC2 sysobj(+linklib) stats || goto error

call bat\asm %z_TraceMode% linklib\RTGENDIR noasm bal notiming stats sysparm(RTGENDIR) || goto error
call bat\asm %z_TraceMode% linklib\RTGENCMP noasm bal notiming stats sysparm(RTGENCMP) || goto error
Expand Down
1 change: 1 addition & 0 deletions doc/contributing/contribute_code.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ Action | Command
------------------------------------------|------------
get a list of gradlew command options | gradlew --help
force a test run | gradlew test -—rerun
execute a specific test | gradlew test --tests RunAsmTests.test_TESTASC1

## Proposing new functionality

Expand Down
42 changes: 24 additions & 18 deletions doc/user_guide/z390/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,30 +77,36 @@ The ez390 emulator supports the following interactive test commands when the

* `addr=sdt` – set memory value (i.e. 1r?=x'80' changes mem at (r1) 31 bit
* `reg=sdt` - set register value (i.e. 15r=8 changes reg 15 to 8)
* `A addr` – set or reset up to 100 instruction address stops with hex address or relative expression such as *+4
* `B=addr` - set base for rel addr (ie B=15r% sets base to (r15) 24 bit
* `D` – display DCB file information from TIOT
* `E` – toggle between EBCDIC and ASCII mode
* `F` – display floating point registers F0-FF
* `G` - nn/addr/opcode - exec nn instr. or until specified instruction address or opcode is found with no trace. One instruction is always executed before next opcode break even if it’s the same instruction such as a BCT 1,*. Addresses are distinguished from count by hex . or relative expression term such as *, +, or -.
* `H` - list help command summary
* `A addr` – add/remove address stop (ie A FF348. or A *+4 etc.)
* `AR nn` - display specified access register else all AR0-AR15
* `B=addr` - set base for rel addr (i.e. B=15r% sets base to (r15) 24 bit
* `D` – display DCB file status, DDNAME, and DSNAME information
* `E` – toggle EBCDIC/ASCII mode for dumping storage etc.
* `F nn` – display specified floating point registers else all FPR0-FPR15
* `G` - nn/addr/opcode - exec nn instr. or until specified instruction address or opcode is found with no trace. One instruction is always executed before next opcode break even if it’s the same instruction such as a BCT 1,*. Addresses are distinguished from count by hex . or relative expression term such as *, +, or -.
* `H` - list help command summary
* `J addr` - jump to new addr and trace instruction
* `L` - list all regs and trace current instruction
* `L reg` - list contents of register (ie l 1r dumps register 1
* `L` - list all regs and trace current instruction
* `L reg` - list contents of register (i.e. l 1r dumps register 1
* `L addr len` - list contents of memory area (ie l 10. 4 dumps cvt addr
* `M` – display total memory in MB and total allocate and free bytes
* `P` – display current loaded program information from CDE including name, entry and length
* `Q` - quit execution now
* `R` – display general purpose registers R0-RF
* `S` - clear register, address, and memory breaks
* `S reg??sdt` - set break on register change
* `M` – display total memory in MB and total allocated and free bytes
* `P` – display current loaded program information from CDE including name, entry and length
* `PSW` - display current PSW
* `PSW+` - display current PSW in verbose mode
* `PSW16` - display 16 byte current PSW
* `Q` - quit execution now
* `R nn` – display specified general purpose register else R0-R15
* `S` - clear register, address, and memory breaks
* `S reg??sdt` - set break on register change
* `S addr??sdt` - set break on memory change
* `T nn/addr/opcode` - trace n instr. or until specified instruction address or opcode is found. One instruction is always executed before next opcode break even if it’s the same instruction such as a BCT 1,*. Addresses are distinguished from count by hex . or relative expression term such as *, +, or -. The symbol EPA may be used in place of address to refer to last program load point address.
* `V` - validate/verify
* `T nn/addr/opcode` - trace n instr. or until specified instruction address or opcode is found. One instruction is always executed before next opcode break even if it’s the same instruction such as a BCT 1,*. Addresses are distinguished from count by hex . or relative expression term such as *, +, or -. The symbol EPA may be used in place of address to refer to last program load point address.
* `V op1 = op2` - validate/verify
* `op1` - addr len | reg[.+offset] [length] | psw.[cc | mask | amode | key | addr]
* `op2` - addr len | reg[.+offset] [length] | sdt
* `V * nn` - validate nn bytes starting at PSW address
* `V psw.subfield` - validate PSW subfield
* `V nnr` - validate GPR nn
* `Z` - exit test and run to end of program without trace
* `Z` - run to end of program without trace and exit
* `* addr` = hex.,+-hex, *+-hex, dec, nnr% (24 bit), nnr? (31 bit)
* `* reg` = nnr where nn = 0-15
* `* sdt` = self defining term (b'01',c'ab',f'1',h'2',x'ff')
Expand Down
15 changes: 8 additions & 7 deletions rt/mlc/TESTASC1.MLC
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
* 01/25/11 RPI 1139 C2X ARG IN QUOTES FOR NOALLOW
* 2022-05-03 update copyright, add to z390\rt\mlc, fix SETC '&&' to '&'
* 2022-05-07 replace TESTSUB1 with CVTTOHEX to remove dependency
* 2023-07-30 #504 bring floating point special values in line with HLASM/PoP
*********************************************************************
PRINT DATA
TESTDC1 RT1 MAIN
Expand Down Expand Up @@ -107,16 +108,16 @@ LEN EQU X'5678'
RT1 CCE,=LS2'1',=X'43100000000000003500000000000000'
* test (MIN) and (MAX) constants
RT1 CCE,=DB'(MIN)',=X'0010000000000000'
RT1 CCE,=DD'(MIN)',=X'0000000000000001'
RT1 CCE,=DH'(MIN)',=X'0110000000000000'
RT1 CCE,=DD'(MIN)',=X'0400000000000000' #504
RT1 CCE,=DH'(MIN)',=X'0010000000000000' #504
RT1 CCE,=EB'(MIN)',=X'00800000'
RT1 CCE,=ED'(MIN)',=X'00000001'
RT1 CCE,=EH'(MIN)',=X'01100000'
RT1 CCE,=ED'(MIN)',=X'04000000' #504
RT1 CCE,=EH'(MIN)',=X'00100000'
RT1 CCE,=LB'(MIN)',=X'00010000000000000000000000000000'
RT1 CCE,=LD'(MIN)',=X'00000000000000000000000000000001'
RT1 CCE,=LH'(MIN)',=X'01100000000000007200000000000000'
RT1 CCE,=LD'(MIN)',=X'04000000000000000000000000000000' #504
RT1 CCE,=LH'(MIN)',=X'00100000000000007200000000000000' #504
RT1 CCE,=DB'(MAX)',=X'7FEFFFFFFFFFFFFF'
RT1 CCE,=DD'(MAX)',=X'77FCFF3FCFF3FCFF'
RT1 CCE,=DD'(MAX)',=X'77FCFF3FCFF3FCFF'
RT1 CCE,=DH'(MAX)',=X'7FFFFFFFFFFFFFFF'
RT1 CCE,=EB'(MAX)',=X'7F7FFFFF'
RT1 CCE,=ED'(MAX)',=X'77F3FCFF'
Expand Down
13 changes: 7 additions & 6 deletions rt/mlc/TESTDC1.MLC
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@
* 01/25/11 RPI 1139 C2X ARG IN QUOTES FOR NOALLOW
* 2022-05-03 update copyright, add to z390\tests, fix SETC '&&' to '&'
* 2022-05-07 replace TESTSUB1 with CVTTOHEX to remove dependency
* 2023-07-30 #504 bring floating point special values in line with HLASM/PoP
*********************************************************************
PRINT DATA
TESTDC1 RT1 MAIN
Expand Down Expand Up @@ -107,14 +108,14 @@ LEN EQU X'5678'
RT1 CCE,=LS2'1',=X'43100000000000003500000000000000'
* test (MIN) and (MAX) constants
RT1 CCE,=DB'(MIN)',=X'0010000000000000'
RT1 CCE,=DD'(MIN)',=X'0000000000000001'
RT1 CCE,=DH'(MIN)',=X'0110000000000000'
RT1 CCE,=DD'(MIN)',=X'0400000000000000' #504
RT1 CCE,=DH'(MIN)',=X'0010000000000000' #504
RT1 CCE,=EB'(MIN)',=X'00800000'
RT1 CCE,=ED'(MIN)',=X'00000001'
RT1 CCE,=EH'(MIN)',=X'01100000'
RT1 CCE,=ED'(MIN)',=X'04000000' #504
RT1 CCE,=EH'(MIN)',=X'00100000'
RT1 CCE,=LB'(MIN)',=X'00010000000000000000000000000000'
RT1 CCE,=LD'(MIN)',=X'00000000000000000000000000000001'
RT1 CCE,=LH'(MIN)',=X'01100000000000007200000000000000'
RT1 CCE,=LD'(MIN)',=X'04000000000000000000000000000000' #504
RT1 CCE,=LH'(MIN)',=X'00100000000000007200000000000000' #504
RT1 CCE,=DB'(MAX)',=X'7FEFFFFFFFFFFFFF'
RT1 CCE,=DD'(MAX)',=X'77FCFF3FCFF3FCFF'
RT1 CCE,=DH'(MAX)',=X'7FFFFFFFFFFFFFFF'
Expand Down
Loading