X instructions:
XDUMP
- used to "dump" the GPRs or program storage
Format 1: XDUMP comment
- produces a hexadecimal dump of the GPRs
Format 2: XDUMP D(X,B),length
- produces a hexadecimal dump of storage starting from D(X,B) for
length bytes
- a label can be substituted for D(X,B)
- an expression that resolves to an integer value can be
substituted for length
If the line XDUMP NUM1,RESULT2+4-NUM1 was coded somewhere in
the program, a hexadecimal dump of the entire storage area would be
produced.
XREAD
- used to read an input record from the file indicated on FT05F001
DD card or from instream data
Format: label XREAD D(X,B),length
- reads length bytes into the input buffer located at D(X,B)
Sets the Condition Code:
Code Meaning
0 Successful read
1 End of file reached
Example: XREAD BUFFER,80
Assuming that BUFFER DS CL80 is located in storage
XDECI
- used to convert a number from its character representation to its binary representation so that math can be performed Format: label XDECI R,D(X,B) - converts the number at D(X,B) to binary and stores it in R - Stops scanning when a space is reached - 1st character may be a digit or a plus (+) or minus (-) sign - Register 1 is set to the address of the next value to read Sets the Condition Code: Code Meaning 0 Converted number is 0 1 Converted number is less than 0 2 Converted number is greater than 0 3 Attempt to convert an invalid number XDECI 3,BUFFER Convert 1st number on an input record XDECI 4,0(,1) Convert 2nd number on the input record
XDECO
- used to convert a number from its binary representation to its
character representation so it can be printed
Format: label XDECO R,D(X,B)
- converts the binary number in register R to printable
characters and stores it at D(X,B)
- Number is converted to a 12 byte character representation
- If number is negative, a minus sign is printed to left of 1st
digit
XDECO 3,NUM1 Convert number in register 3 to printable format and
place it in NUM1, which is defined as NUM1 DS CL12
XDECO 4,NUM2 Convert number in register 4 to printable format and
place it in NUM2, which is defined as NUM2 DS CL12
XPRNT
- used to print a print line
Format: label XPRNT D(X,B),length
- prints length bytes of the print line located at D(X,B)
- Print lines must be explicitly defined in program storage
- usually 132 characters long
- 1st character is used for carriage control
space single spacing
0 double spacing
- triple spacing
1 new page
XPRNT LINE1,132 Print the print line
>>> more code here <<<
LINE1 DC CL1‘ ’
DC CL16’Num1 is equal to’
NUM1 DS CL12
DC CL5‘ ’
DC CL16’Num2 is equal to’
NUM2 DS CL12
DC CL70‘ ’