home *** CD-ROM | disk | FTP | other *** search
/ Oakland CPM Archive / oakcpm.iso / sigm / vol177 / monitor.dqc / MONITOR.DOC
Encoding:
Text File  |  1985-02-10  |  8.9 KB  |  327 lines

  1.  
  2.  
  3.  
  4.                                    MONITOR.ASM
  5.  
  6.                                    Version 2.3
  7.  
  8.                                   Gary M. Morin
  9.                                     MTX Corp.
  10.                                 941 Ironwood #273
  11.                                Rochester, MI 48063
  12.  
  13.  
  14.                                   INTRODUCTION
  15.  
  16.             MONITO╥á i≤á ß systeφ monito≥ prograφ designeΣ t∩ si⌠á u≡á iε ì
  17.         higΦá memor∙á providinτ facilitie≤ fo≥á performinτá basiπá systeφ ì
  18.         functions«áá Thesσáá includσá memor∙áá manipulation¼áá Subroutinσ ì
  19.         execution¼á He° math¼ por⌠ inpu⌠ anΣ output« Thσ prograφ use≤ thσ ì
  20.         monito≥á prograφ presenteΣ iε Alaε R«á Miller'≤ 8080/Z8░ Assembl∙ ì
  21.         Language¼á Technique≤ fo≥ ImproveΣ Programminτ a≤ ß basσ anΣ theε         ì
  22.         add≤á thσ facilitie≤ t∩ makσ i⌠ practica∞ a≤ ß programminτá tool«         ì
  23.         Thesσá includσá ßá hel≡ facility¼á redirectioεá oµá outpu⌠á t∩á ß         ì
  24.         printe≥á anΣ gentlσ exit«á I⌠ include≤ man∙ oµ thσ facilitie≤á oµ         ì
  25.         DD╘á o≥á SI─ bu⌠ i≤ smal∞ anΣ caε bσ alloweΣ t∩ residσ iεá memor∙         ì
  26.         durinτá thσá wholσ debugginτ process«á Sincσ i⌠ ha≤ it≤á owεá I/╧         ì
  27.         driver≤ i⌠ work≤ wel∞ wheε messinτ witΦ CP/═ itself« 
  28.  
  29.             Thi≤ prograφ als∩ work≤ ver∙ wel∞ witΦ thσ facilitie≤ oµ ZCP═ ì
  30.         anΣá it≤á JUM╨ function«á ┴ programme≥ caε jum≡á bacδá anΣá fortΦ ì
  31.         betweeε thσ monito≥ anΣ thσ operatinτ systeφ usinτ thσ facilitie≤ ì
  32.         oµ both« 
  33.  
  34.             Thσá tota∞ prograφ lengtΦ wheε installeΣ iε higΦ memor∙á les≤ ì
  35.         thaεáá 2δá anΣá caεá easil∙á bσá modifieΣá duσá t∩á it≤áá modula≥ ì
  36.         construction.
  37.  
  38.                                   INSTALLATION
  39.  
  40.             Versioε 2.┤ i≤ designeΣ t∩ ruε oε ß NortΦ Sta≥ Horizoε witΦ ß ì
  41.         freσá "windowó oµ memor∙ abovσ thσ memor∙ mappeΣ disδá controlle≥ ì
  42.         a⌠ EC00h« Fo≥ thi≤ typσ oµ machinσ yo⌡ caε jus⌠ assemblσ thσ codσ ì
  43.         anΣá ruε it«á Iµ yo⌡ desirσ thσ monito≥ t∩ ruε belo≈ CC╨ o≥ abovσ ì
  44.         FDO╙ yo⌡ wil∞ havσ t∩ relocatσ thσ fina∞ addresse≤ iε thσá prope≥ ì
  45.         places« Yo⌡ wil∞ als∩ havσ t∩ assigε thσ correc⌠ inpu⌠ anΣ outpu⌠ ì
  46.         port≤ anΣ thσ statu≤ bytes.
  47.  
  48.             Remembe≥á tha⌠ program≤ likσ MBASI├ usσ al∞ oµ thσ memor∙á u≡ ì
  49.         t∩ FDO╙ unles≤ specificall∙ tolΣ t∩ d∩ otherwise«á The∙ wil∞ kil∞ ì
  50.         an∙ prograφ belo≈ CC╨ iµ yo⌡ don'⌠ protec⌠ it.
  51.  
  52.                                     EXECUTION
  53.  
  54.             Thσ monito≥ i≤ evokeΣ initiall∙ b∙ typing:
  55.  
  56.                 MONITOR
  57.  
  58.         froφá tha⌠á poin⌠ iµ yo⌡ havσ ZCP╥ installeΣ yo⌡ simpl∙á neeΣá t∩     ìè
  59.  
  60.                                         1
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.         jum≡ t∩ thσ runninτ addres≤ oµ thσ code.
  70.  
  71.                 JUMP F800
  72.  
  73.         to return to CP/M use the ^C or B commands.
  74.  
  75.  
  76.  
  77.                                     COMMANDS
  78.  
  79.             The following commands are available in the monitor:
  80.  
  81.                 ASCII LOAD, DUMP -->A[ L  D  S ] [1ST ADR] [2ND ADR]  
  82.                       or SEARCH
  83.                 BACK GENTLY      -->B 
  84.                 CALL SUBROUTINE  -->C[ADR] 
  85.                 DUMP MEMORY      -->D[1ST ADR] [2ND ADR] 
  86.                 FILL MEMORY      -->F[1ST ADR] [2ND ADR] [HEX BYTE] 
  87.                                  -->F[1ST ADR] [2ND ADR] ''[ASCII] 
  88.                 GO ANYWHERE      -->G[ADR] 
  89.                 HEX MATH + -     -->H[1ST HEX] [2ND HEX] 
  90.                 INPUT FROM PORT  -->I[PORT NUMBER]
  91.                 LOAD MEMORY      -->L[START ADR]
  92.                                     ADR BYTE [NEW BYTE]   ^X HALT
  93.                 MOVE MEMORY      -->M[1ST ADR] [2ND ADR] [NEW START]
  94.                 OUTPUT TO PORT   -->O[PORT NUMBER] [BYTE]
  95.                 PRINTER TOGGLE   -->P
  96.                 REPLACE MEMORY   -->R[1ST ADR] [2ND ADR] [TARGET] [BYTE]
  97.                 SEARCH FOR BYTE  -->S[1ST ADR] [2ND ADR] [BYTE1] [BYTE2]
  98.                 COMMAND TABLE    -->T
  99.                 COMPARE BLOCKS   -->V[1ST ADR] [2ND ADR] [1ST ADR BLOCK2]
  100.                 DISP STACK POINT -->X
  101.  
  102.         ASCII LOAD or DUMP
  103.             Typing  AL  transforms the Load command into an ASCII Input.
  104.             see LOAD
  105.             Typing  AD  transforms the Dump command into an ASCII dump.
  106.             see DUMP
  107.             Typing  AS  transforms the Search command into a search for
  108.             one or two ASCII characters.
  109.             see SEARCH
  110.  
  111.         BACK GENTLY 
  112.             Typing  B  will return you to the command level of CP/M.
  113.  
  114.         CALL SUBROUTINE 
  115.             Typinτá  ├á  followeΣ b∙ aε addres≤ wil∞ cal∞á ßá subroutinσ ì
  116.             startinτá a⌠á tha⌠á address«á Contro∞á i≤á returneΣá t∩á thσ ì
  117.             monitor.
  118.  
  119.             Example:
  120.             CF800
  121.  
  122.         DUMP MEMORY 
  123.             Typinτá  ─á  followeΣ b∙ tw∩ addresse≤ wil∞ dum≡ thσá memor∙ ìè
  124.  
  125.                                         2
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.             between those addresses.
  135.  
  136.             Example:
  137.             D100 200
  138.             AD100 200
  139.  
  140.         FILL MEMORY
  141.             Typinτá  ╞  followeΣ b∙ tw∩ addresse≤ anΣ eithe≥ ß he°á bytσ ì
  142.             o≥ aε ASCI╔ characte≥ iε singlσ quote≤ wil∞ fil∞ thσá memor∙ ì
  143.             blocδ defined by the addresses with the indicated byte.
  144.  
  145.             Example:
  146.             F100 200 FF
  147.             FF000 F800 '7'
  148.  
  149.         GO ANYWHERE 
  150.             Typinτ  ╟  followeΣ b∙ aε addres≤ cause≤ aε unconditiona∞ ì
  151.             branch to the code at that location.
  152.  
  153.             Example:
  154.             G100
  155.  
  156.         HEX MATH + - 
  157.             Typinτ  ╚  followeΣ b∙ tw∩ hexadecima∞ number≤ wil∞ generatσ ì
  158.             two values, the sum and the difference.
  159.  
  160.             Example:
  161.             H3401 5677
  162.  
  163.         INPUT FROM PORT
  164.             Typinτá  ╔á  followeΣá b∙á ßá por⌠á numbe≥á wil∞á displa∙á ß ì
  165.             character retrieved from that port on the screen
  166.  
  167.             Example:
  168.             I02
  169.  
  170.         LOAD MEMORY
  171.             Typinτá  ╠  followeΣ b∙ aε addres≤ wil∞ star⌠  displayinτá ß ì
  172.             sequencσ oµ addresse≤ anΣ thσ byte≤ the∙ contain« Afte≥ eacΦ ì
  173.             bytσá i≤ displayeΣ yo⌡ ma∙ loaΣ tha⌠ addres≤ witΦ ß ne≈ bytσ ì
  174.             by typing that byte in. To terminate the process type ^X.
  175.  
  176.             Example:
  177.             L500
  178.             500 6F 70
  179.             501 4E ^X
  180.  
  181.             AL This goes into memory <cr> <lf>
  182.             including the cr lf <cr> <lf>
  183.             ^X
  184.              
  185.         MOVE MEMORY
  186.             Typinτá  ═  followeΣ b∙ threσ addresse≤ wil∞ movσ thσá blocδ ì
  187.             defineΣá b∙á thσ firs⌠ tw∩ addresse≤á t∩á thσá blocδ ì
  188.             beginninτ a⌠ ìè
  189.  
  190.                                         3
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.             the third address.
  200.  
  201.             Example:
  202.             M100 200 A00
  203.  
  204.         OUTPUT TO PORT
  205.             Typinτá  ╧á  followeΣ b∙ ß por⌠ numbe≥ anΣ ß bytσ wil∞á senΣ ì
  206.             the indicated byte out the port.
  207.             Example:
  208.             O04 1A
  209.  
  210.         PRINTER TOGGLE
  211.             Typing P will toggle the list device
  212.  
  213.         REPLACE MEMORY
  214.             Typinτá  ╥á  followeΣ b∙ tw∩ addresse≤ ß targe⌠ bytσá anΣá ß ì
  215.             replacemen⌠á bytσ wil∞ substitutσ al∞ thσ occurence≤ oµá thσ ì
  216.             target between the two addresses with the replacement byte.
  217.            
  218.             Example:
  219.             R100 200 1A 1B
  220.                  
  221.         SEARCH FOR BYTE
  222.             Typinτá  ╙  followeΣ b∙ tw∩ addresse≤ anΣ onσ o≥á tw∩á byte≤ ì
  223.             wil∞á displa∙ thσ thσ addres≤ oµ thσ firs⌠ occurencσ oµ tha⌠ ì
  224.             byte which is located between the two addresses.
  225.  
  226.             Example:
  227.             S500 A000 1D
  228.             S100 300 1D 1F
  229.             AS100 500 AB
  230.  
  231.         COMMAND TABLE
  232.             Typinτá ╘á wil∞ generatσ ß cop∙ oµ thσ commanΣ hel≡ filσá oε ì
  233.             the user's terminal
  234.  
  235.         COMPARE BLOCKS
  236.             Typinτá  ╓  followeΣ b∙ threσ addresse≤ wil∞ displa∙ oεá thσ ì
  237.             screeεá difference≤ betweeε tw∩ block≤ oµ memor∙ defineΣá b∙ ì
  238.             thσ addresses« Thσ firs⌠ tw∩ addresse≤ definσ thσ basσ blocδ ì
  239.             thσá thirΣ addres≤ define≤ thσ beginninτ oµ thσ blocδá t∩á bσ ì
  240.             compared.
  241.  
  242.             Example:
  243.             V100 200 FF0 1000
  244.  
  245.         DISP STACK POINT
  246.             Typing  X  will display the stack pointer on the screen
  247.  
  248.  
  249.  
  250.                                    DISCLAIMER
  251.  
  252.             Thσá MT╪ Coprporatioε doe≤ no⌠ suppor⌠ thi≤ codσ no≥ makσ an∙ ì
  253.         guaranteσá a≤ t∩ thσ suitabilit∙ o≥ applicabilit∙ oµ thi≤ prograφ ìè
  254.  
  255.                                         4
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.         fo≥ ß particula≥ applicatioε o≥ compute≥ system.
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284.  
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.                                         5
  322.  
  323.  
  324.  
  325.  
  326.  
  327.