DISPLAY CP Privilege Class G Use the DISPLAY command to display the following virtual machine components at your terminal: o Virtual storage locations (1st-level virtual storage only; see Usage notes) o Storage keys o General registers o Floating-point registers o Control registers o Program status word (PSW) o Channel address word (CAW) o Channel status word (CSW). Note: Use the NETWORK DISPLAY command to display the content of 3704/3705 storage. The format of the DISPLAY command is: +----------+------------------------------------------------------------------+ | Display | [[0|[K|L|T]hexloc1 [[[- :][END hexloc2]]|[[.][END bytecount]]] | | | Greg1|Yreg1|Xreg1 [[[- :][END reg2]]|[[.][END regcount]]] | | | Psw | | | CAW | | | CSW | +----------+------------------------------------------------------------------+ where: 0 | hexloc1 | Lhexloc1 | Thexloc1 | Khexloc1 is the first, or only, hexadecimal storage location that is to be displayed at the terminal. If L or no letter prefix is specified, the storage contents are displayed in hexadecimal. If T is specified, the storage contents are displayed in hexadecimal, with EBCDIC translation beginning at the next lowest X'0' address. If K is specified, the storage keys are displayed in hexadecimal. If hexloc1 is not on a fullword boundary, it is rounded down to the next lower fullword. If L, T, or K is entered either without any operands, or followed immediately by a blank, the contents of all storage locations or all the storage keys are displayed. The address, hexloc1, may be 1 to 6 hexadecimal digits; leading zeros are optional. 0 is the default storage location. - | : END hexloc2 is the last of the range of hexadecimal storage locations whose contents are to be displayed at the terminal. Either a - or a : must be specified to display the contents of more than one location by storage address. If - or : is the first character of the operand, then hexloc1 defaults to zero. If hexloc2 is not specified, the contents of all storage locations from hexloc1 to the end of virtual storage are displayed. If specified, hexloc2 must be equal to or greater than hexloc1 and within the virtual storage size. (See Usage notes for a discussion on discontiguous saved segments.) The address, hexloc2, may be from 1 to 6 hexadecimal digits; leading zeros are optional. [.] END bytecount is a hexadecimal integer designating the number of bytes of storage (starting with the byte at hexloc1) to be displayed at the terminal. The period (.) must be specified to display the contents of more than one storage location by bytecount. The sum of hexloc1 and bytecount must be an address that does not exceed the virtual machine size. (See Usage notes for a discussion on discontiguous saved segments.) If this address is not on a fullword boundary, it is rounded up to the next higher fullword. The value, bytecount, must have a value of at least 1 and may be from 1 to 6 hexadecimal digits; leading zeros are optional. Greg1 is a decimal number from 0 to 15 or a hexadecimal integer from 0 to F representing the first, or only, general register whose contents are to be displayed at the terminal. If G is specified without a register number, the contents of all the general registers are displayed at the terminal. Yreg1 is an integer (0, 2, 4, or 6) representing the first, or only, floating-point register whose contents are to be displayed at the terminal. If Y is specified without a register number, the contents of all of the floating-point registers are displayed at the terminal. Xreg1 is a decimal number from 0 to 15 or a hexadecimal number from 0 to F representing the first, or only, control register whose contents are to be displayed at the terminal. If X is specified without a register number, the contents of all of the control registers are displayed at the terminal. If Xreg1 is specified for a virtual machine without extended mode operations available, only control register 0 is displayed. - | : END reg2 is a number representing the last register whose contents are to be displayed at the terminal. The dash (-) or colon (:) following reg1 is used to specify a range of register values to be displayed. If reg2 is not specified, the contents of all registers from reg1 through the last register of this type are displayed. The operand, reg2, must be equal to or greater than reg1. If Greg1 or Xreg1 is specified, reg2 may be a decimal number from 0 to 15 or a hexadecimal number from 0 to F. If Yreg1 is specified, reg2 may be 0, 2, 4, or 6. The contents of registers reg1 through reg2 are displayed at the terminal. [.]END regcount is a decimal number from 1 to 15 or a hexadecimal number from 1 to F specifying the number of registers (starting with reg1) whose contents are to be displayed at the terminal. If the display type G or X is specified, regcount can be a decimal number from 1 to 15 or a hexadecimal number from 1 to F. If display type Y is specified, regcount must be 1, 2, 3, or 4. The sum of reg1 and regcount must be a number that does not exceed the maximum register number for the type of registers being displayed. Psw displays the current virtual machine PSW (program status word) as two hexadecimal words. CAW displays the contents of the CAW (channel address word at hexadecimal location 48) as one hexadecimal word. CSW displays the contents of the CSW (channel status word at hexadecimal location 40) as two hexadecimal words. Usage notes: 1. First level storage (storage that is real to the virtual machine) can be displayed. Operating systems running in a virtual machine such as DOS/VS and OS/VS have virtual storage of their own. This second-level virtual storage cannot be displayed directly. The user or the virtual operating system is responsible for converting any third-level storage locations to second-level storage locations before issuing the command. 2. If a command line with an invalid operand is entered, the DISPLAY command terminates when it encounters the invalid operand; however, any previous valid operands are processed before termination occurs. Multiple storage locations, registers, and control words can be displayed using a single command line. 3. When multiple operands are entered on a line for location or register displays, the default display type is the same as the previous explicit display type. The explicit specification of a display type defines the default for subsequent operands for the current display function. Blanks are used to separate operands, or sets of operands, if more than one operand is entered on the same command line. If a dash or a colon is omitted between the hexloc1 and hexloc2 operands, and the two operands are separated by one or more blanks, CP only displays the storage contents at those two specific addresses. Blanks must not be used to the right or left of the range or length delimiters (: or - or .), unless the user wants the default value of the missing operand defined by the blank. For example: display 10 20 T40 80 G12 5 L60-100 displays the following, respectively: hexadecimal location 10 hexadecimal location 20 hexadecimal location 40 with EBCDIC translation hexadecimal location 80 with EBCDIC translation general register 12 general register 5 hexadecimal locations 60 through 100 4. To terminate the DISPLAY function while data is being displayed at the terminal, press the attention key (or its equivalent). When the display terminates, another command may be entered. 5. The DISPLAY command does not distinguish between shared and nonshared storage; it displays any of the virtual machine's addressable storage whether shared or not. 6. Use the DISPLAY command to display the contents of various storage locations, registers, and control words at the terminal. By examining this type of information during the program's execution, you may be able to determine the cause of program errors. Usually, an address stop is set to stop the program execution at a specified point. The system enters the CP environment and you may then issue the DISPLAY command. 7. When you must examine large portions of storage, use the DUMP command rather than the DISPLAY command. Because the terminal operates at a much slower speed than the printer, only limited amounts of storage should be printed (via the DISPLAY command) at the terminal. 8. When running with a discontiguous saved segment (DCSS), you can display storage locations outside the range of your virtual machine size if they are within the DCSS. If there exist locations between the upper limit of your virtual machine and the address at which the DCSS was saved, an attempt to display those locations (or associated keys) results in a "nonaddressable storage" message. Responses One or more of the following responses is displayed, depending upon the operands specified. Displaying Storage Locations xxxxxx word1 word2 word3 word4 (key) *EBCDIC TRANSLATION* This is the response you receive when you display storage locations; xxxxxx is the hexadecimal storage location of word1. Word1 is displayed (word- aligned) for a single location specification. Up to four words are displayed on a line, followed, optionally, by an EBCDIC translation of those four words. Periods represent nonprintable characters. Multiple lines are used (if required) for a range of locations. If translation to EBCDIC is requested (Thexloc), alignment is made to the next lower 16-byte boundary; otherwise, alignment is made to the next lower fullword boundary. If the location is at a 2K page boundary, the key for that page is also displayed. Displaying Storage Keys xxxxxx TO xxxxxx KEY = kk This is the response you receive when you display storage keys; xxxxxx is a storage location and kk is the associated storage key. Displaying General Registers GPR n = genreg1 genreg2 genreg3 genreg4 This is the response you receive when you display general registers; n is the register whose contents are genreg1. The contents of the following consecutive registers are genreg2, genreg3, and so on. The contents of the registers are displayed in hexadecimal. Up to four registers per line are displayed for a range of registers. Multiple lines are displayed if required, with a maximum of four lines needed to display all 16 general registers. Displaying Floating-Point Registers FPR n = xxxxxxxxxxxxxxxx .xxxxxxxxxxxxxxxxx E xx This is the response you receive when you display floating-point registers; n is the even-number floating-point register whose contents are displayed on this line. The contents of the requested floating-point registers are displayed in both the internal hexadecimal format and the E format. One register is displayed per line. Multiple lines are displayed for a range of registers. Displaying Control Registers ECR n = ctlreg1 ctlreg2 ctlreg3 ctlreg4 This is the response you receive when you display control registers; n is the register whose contents are ctlreg1. The contents of the following consecutive registers are ctlreg2, ctlreg3, and so on. The contents of the requested control registers are displayed in hexadecimal. Up to four registers per line are displayed. Multiple lines are displayed if required. Displaying the PSW PSW = xxxxxxxx xxxxxxxx The contents of the PSW are displayed in hexadecimal. Displaying the CAW CAW = xxxxxxxx The contents of the CAW (hexadecimal location 48) are displayed in hexadecimal. Displaying the CSW CSW = xxxxxxxx xxxxxxxx The contents of the CSW (hexadecimal location 40) are displayed in hexadecimal.