Availability:
     Level 1    , 'm'

  Quick Help:
     Edit Processor Memory Word, m[AddrHi],[AddrLo],[MemValue],[NumBytes],[Opts]

  Description:
    The Edit Processor Memory Word command displays the contents of the specified processor
    memory location and prompts the user ( --> ) to enter a new value to be written to the
    location.  While waiting for the new value to be entered, this command will monitor the
    memory location and display its value if it changes.

    Entering a Line Feed (Control J) character following the prompt will increment the
    processor memory address and display the value of the next location.

    The command is terminated when a carriage return is entered following the prompt.

    This command default to editing memory two bytes (16-bits) at a time.

  Input Parameters:

    0 - Memory Address or Memory Address High.
    
        If Parameter 1 is not entered, this parameter contains the 32-bit address
        of the first memory byte to be edited.  If Parameter 1 is entered, this
        parameter contains the upper 16-bits of the address of the first memory
        byte to be edited.
    
          Type:    Unsigned 32-bit value, if parameter 1 is not entered
                   Unsigned 16-bit value, if parameter 1 is entered
    
          Range:   0 to 0xffff, if parameter 1 is not entered
                   0 to 0xffffffff, if parameter 1 is entered
    
                   The specified address must be properly aligned for the number of
                   bytes to be edited.  Parameter 3 specifies the number of bytes to
                   be edited.  If Parameter 3 is equal to 4, the specified address
                   must be a multiple of 4.  If Parameter 3 is equal to 2, the
                   specified address must be a multiple of 2.
    
          Default: 0
    
    1 - Memory Address Low.
    
        If entered, this parameter contains the lower 16-bits of the address of the
        first memory byte to be edited.
    
          Type:    Unsigned 16-bit value
    
          Range:   0 to 0xffff
    
                   The specified address must be properly aligned for the number of
                   bytes to be edited.  Parameter 3 specifies the number of bytes to
                   be edited.  If Parameter 3 is equal to 4, the specified address
                   must be a multiple of 4.  If Parameter 3 is equal to 2, the
                   specified address must be a multiple of 2.
    
          Default: None. If this parameter is not entered, Parameter 0 is assumed
                   to specify the entire 32-bit address of the first memory byte
                   to be edited.
    
    2 - Memory Data.
    
        If entered, this parameter contains the value with which the specified memory
        address is to be written.
    
          Type:    Unsigned 32-bit value, if parameter 3 is equal to 4
                   Unsigned 16-bit value, if parameter 3 is equal to 2
                   Unsigned 8-bit value, if parameter 3 is not entered or is equal to 1
    
          Range:   0 to 0xffffffff, if parameter 3 is equal to 4
                   0 to 0xffff, if parameter 3 is equal to 2
                   0 to 0xff, if parameter 3 was not entered or is equal to 1
    
          Default: None. If this parameter is not entered, the specified memory
                   address will be read, the value will be displayed and the
                   user will be prompted to enter a new value.  While waiting
                   for a new value to be entered, this command will monitor the
                   value of the specified memory location and display the value
                   if it changes.
    
    3 - Number of Bytes.
    
        This parameter specifies the number of memory bytes to be displayed or modified.
        The memory address specified by Parameters 0 and 1 must be a multiple of this value.
        For example, if this parameter is equal to 4, the specified address must be a
        multiple of 4 and if this parameter is equal to 2, the specified address must be
        a multiple of 2.
    
          Type:    Unsigned 8-bit value
    
          Range:   1, 2 and 4 are the allowed values
    
          Default: 1 byte for the Level 1 'U' and 'S'
                   2 bytes for the Level 1 'm'
    

    4 - not used.
    
        Previously this parameter was used to disable validation of the memory address.
        Address validation is no longer performed by this command so there is no longer
        a need for a parameter to disable it.
    
  Output Data:


    If an error occurred, the following information will be displayed.
    
          "DiagError aaaaaaaa"
    
       where
    
          aaaaaaaa is the Diagnostic Error Code
    
    If no error occurred, the memory data will be displayed as follows.
    
          "Adr cccccccc ( dddddddd ) = ee --> "          or
          "Adr cccccccc ( dddddddd ) = ffff --> "        or
          "Adr cccccccc ( dddddddd ) = gggggggg --> "
    
       where
    
          cccccccc is the byte offset from the start of the memory
    
          dddddddd is the processor address
    
          ee       is an 8-bit value written to or read from memory
    
          ffff     is a 16-bit value written to or read from memory
    
          gggggggg is a 32-bit value written to or read from memory
    
  Revision History:

    0001.0000   Initial revision.
    0011.0000   Combined the PSG Diagnostic Error Codes (PSGDEC) and the Diagnostic External
                Test Service Error Codes (DETSEC) into a single set of Diagnostic Error Codes
                (DiagError).
    0011.0001   Eliminated the Disable Memory Address Validation option (Parameter 4).
                Memory address validation has been eliminated and there is no longer a need
                to disable it.