Trailing-Edge - PDP-10 Archives - BB-PBQUC-BM_1990 - help/deposit.hlp
There are no other files named deposit.hlp in the archive.
DEPOSIT command

The DEPOSIT  command  modifies  the  contents  of  a  specific  memory




     address     is an octal number or a symbol.

     data        is a symbolic or numerical expression.


     Status of Pages

          When you complete a DEPOSIT command, the system gives you  a
          message  indicating the status of the page you are trying to
          change:    "[New]"   for   previously   nonexistent   pages,
          "[Shared]" for those having Copy-on-Write status, or "?Can't
          write that page" for other pages.  (See also Hints - Setting
          the  Page-access  of  Memory  Pages,  below.)   However,  no
          message is printed for deposits made to private pages.


     Using Symbols

          For symbols that  are  defined  in  multiple  modules  of  a
          program,  you  can  be  specific  by  giving the module name
          followed by an ampersand (&) and the symbol name.

     Using DDT Instead

          Usually the DEPOSIT  command  is  unnecessary,  as  the  DDT
          program  provides  more  powerful  methods for modifying the
          contents of memory.

     Abbreviating DEPOSIT Arguments

          The contents of each memory location are represented as  two
          6-digit  octal  numbers.   By  inserting  a  pair  of commas
          between these two numbers, you  can  abbreviate  them.   For
          example,   to  deposit  000004000050  into  memory  location
          151003, use the command

               @DEPOSIT 151003 4,,50

          This is the same as

               @DEPOSIT 151003 4000050

          Note that you can also insert  commas  between  expressions.
          For example, the command

               @DEPOSIT 1 1+3,, 5+7

          deposits 000004000014 into memory location 1.   (Expressions
          are  considered to be octal unless they contain an 8 or a 9,
          in which case they are considered  to  be  decimal  and  are
          translated to octal.)

          The DEPOSIT command itself can be abbreviated by the  single
          letter D.

     Deposit Address Defaults to the One Examined, and Vice Versa

          The first argument of a  DEPOSIT  command  defaults  to  the
          address  examined by your most recent EXAMINE command.  (You
          must press the  ESCAPE  key  to  take  this  default.)   The
          argument of an EXAMINE command defaults to the address whose
          contents were modified by your most recent DEPOSIT  command.
          Therefore  you  can examine a memory location, deposit a new
          value in it, and verify your action,  while  specifying  the
          location  only  once.   If you give DEPOSIT commands without
          intervening EXAMINE commands (or vice  versa),  the  default
          address increases by 1 for each subsequent command.

     Setting the Page-access of Memory Pages

          If the system responds to a DEPOSIT command  with  an  error
          message  of the form, "?Can't write that page", give the SET
          PAGE-ACCESS COPY-ON-WRITE command for the page.   Then  give
          DEPOSIT  again.   If the system allows it, you will be given
          your own copy of the page to modify.

     Using DEPOSIT With Inferior Processes

          To  modify  memory  for  a  process  inferior  to  the   one
          immediately  below  the  TOPS-20 command processor, you must
          give the FORK command to specify this process  before  using
          DEPOSIT.   Remember that for an inferior process to run, all
          superior  processes  must  be  running   too.    INFORMATION
          PROGRAM-STATUS tells you which processes these are.

Effect on Memory

     The DEPOSIT command changes one location in memory.

Related Commands

     DDT                          for  calling  a  debugging  program,
                                  allowing more efficient modification
                                  of memory

     EXAMINE                      for displaying  the  contents  of  a
                                  specific memory location

     FORK                         for  selecting  the  process   whose
                                  memory you want to modify

     INFORMATION MEMORY-USAGE     for  displaying  a  list  of  memory
                                  pages, their contents and status

     SET PAGE-ACCESS              for making it possible to  write  to
                                  specified pages


     1.  Deposit a value in a memory location.

         @DEPOSIT 1500 21

     2.  Modify a memory location, using symbols.   Then  examine  the

         @DEPOSIT T3+1 P+2
         @EXAMINE T3+1
         T3+1/ P+2   (4/ 21)

     3.  Try to deposit a number into a page of memory that  does  not
         allow  it.   Examine  memory,  set  the page to Copy-on-Write
         status, and try again (succeeding this time).

         @DEPOSIT 716505 0
         ?Can't write that page

          216. pages, Entry vector loc 462207 len 254000

           Section 0          R, W, E, Private
         0-11          Private   R, W, E
         20            Private   R, W, E
         400-401       Private   R, W, E
         402-660       <FIELD-IMAGE>FORTRA.EXE.3   13-271   R, CW, E
         700-730       <NEXT-RELEASE>PA1050.EXE.4   1-31   R, E
         731-733       Private   R, W, E

         @DEPOSIT 716505 0
         @EXAMINE 716505
         716505/  0

     4.  Check your program status  (the  arrow  [=>]  indicates  your
         current process [fork]).  Select an inferior process, deposit
         a value into a memory location, and verify  that  memory  for
         the superior process is not changed to this.

          Used 0:00:05 in 0:10:11
          TOPS-20: 0:00:03.5
          => MACRO (1): ^C from IO wait at 775701, 0:00:00.3
               Fork 2: HALT at 472052, 0:00:00.1
         @FORK 2
         @DEPOSIT 3500 12
         @EXAMINE 3500
         3500/   12
         @FORK 1
         @EXAMINE 3500
         3500/   202200,,1136