home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / assemblr / disasm / at86demo / at86.hlp next >
Text File  |  1985-11-17  |  7KB  |  125 lines

  1.      AT86 has a built-in context-sensitive help facility.  Just type "?" atì
  2. any point, and you'll see a pop up window that attempts to clarify whatever isì
  3. going on.  The current screen is automatically displayed when you type "help"ì
  4. in COMMAND MODE instead of typing "?".  This file is an ordinary ASCII fileì
  5. called AT86.HLP which should reside in the same (sub)directory AT86.COMì
  6. resides in, since then AT86 knows how to find it.  Currently this file tellsì
  7. you the meaning of a number of non-DEBUG.COM like commands.  To see more thanì
  8. the present screen, type down arrow to get one more line, or PgDn to get theì
  9. next screen.  Special commands to be typed in COMMAND MODE are:
  10.  
  11. bye        return to DOS
  12. chdir path    change directory to pathname path
  13. cls        clear screen
  14. cont        continue execution at full speed (not tracing)
  15. cpu        display info on CPU, RAM, ROM, serial, parallel, speed
  16. delete num    delete instruction at offset num
  17. dir template    list directory with template specified
  18. edit num    edit statement at offset num
  19. erase file    erase file with filename file
  20. files template    list directory with template specified
  21. insert num    insert instruction(s) starting at offset num
  22. kill file    kill (erase) file with filename file
  23. list [num]    list (display) program from start [from offset num]
  24. llist [num]    print program from start [from offset num]
  25. load file    load file with filename file.com
  26. new        delete all labels, restore initial registers values
  27. pause n        set pause interval to n/10 seconds (for demo's)
  28. quit        return to DOS
  29. run        run program from start at full speed (not trace)
  30. save file    save file with filename file.com
  31. system        return to DOS
  32. trace [num]    trace program from start [from offset num]
  33. type file    type (display) file with filename file
  34. width 4 or 8    set screen width to 40 or 80 columns
  35.  
  36.      These commands exist in similar forms in DOS or BASIC.  AT86 acceptsì
  37. relaxed syntax.  For example, on the files command, you can enclose theì
  38. filename template in double quotes or not as you choose.  The insert commandì
  39. is added since legal line numbers always correspond to addresses of currentì
  40. instructions.  On the other hand, renumbering is automatic, so BASIC'sì
  41. renumber command is superfluous.
  42.      In addition to these commands, you have, of course, the standard AT86ì
  43. commands, which can also be useful, particularly the A (assemble) and Tì
  44. (trace) commands.
  45.  
  46.  
  47.         AT86 ASSEMBLY LANGUAGE INTERPRETER
  48.  
  49.      The AT86 debug program has a built-in simple assembly-languageì
  50. interpreter facilty.  In several ways AT86 mimics the BASIC interpreter,ì
  51. except that it expects assembly language statements instead of BASICì
  52. statements.  It also differs from previous interpreters in a number of ways,ì
  53. such as having the full power of a screen debugger and using native machineì
  54. code as the intermediate interpreter language, which can lead to fasterì
  55. programs than those from compilers let alone usual interpreters.
  56.      The BASIC-like word commands coexist with the DEBUG-style single letterì
  57. commands remarkably peacefully.  Words like load, save, list, llist, run, andì
  58. delete are syntactically illegal from DEBUG's point of view, and hence can beì
  59. used unambiguously directly in AT86's COMMAND MODE.  The BASIC command "new"ì
  60. is ambiguous, since to debug it means name the file called ew, but if youì
  61. really want to name such a file you could type n ew, which is not recognizedì
  62. as new.
  63.      BASIC uses statement line numbers for branching and editing purposes, andì
  64. the AT86 instructions are automatically located in memory and can be referredì
  65. to by their hexadecimal memory offset values.  You use these offset valuesì
  66. like line numbers to insert, delete, edit, trace, and execute instructions. ì
  67. Since many instructions are longer than one byte, there are many illegal "lineì
  68. numbers" referring to the middles of instructions.  AT86 tells you if you tryì
  69. to refer to one of these illegal numbers.  To make sure that it knows what'sì
  70. an instruction without undue overhead, AT86 insists that its code area (codeì
  71. segment) contains only instructions.  It has a very fast algorithm forì
  72. scanning through a program up to the END statement that allows it to check forì
  73. legal line numbers.  This same algorithm is used to insert, delete andì
  74. overtype instructions, all of which can involve shifting the code up or downì
  75. in memory.  When you make a change in a program, AT86 "reassembles" the codeì
  76. at about 11,000 instructions a second on an ordinary PC.  Actually it doesn'tì
  77. have to completely reassemble the code; it only has to shift the code asì
  78. needed and update all relative offsets in jmp and call instructionsì
  79. appropriately.
  80.      AT86 allows the use of labels for referring to variables and jumpì
  81. addresses.  As you type in or list a program, references to undefined labelsì
  82. are stamped with a "U" to the left of the corresponding machine code.  Whenì
  83. you resolve these references by typing in a statement with a missing label,ì
  84. the references are filled in.   For example, you can type in "call alpha",ì
  85. where alpha hasn't been defined previously, and then later type in theì
  86. subroutine called alpha.  If you subsequently delete with instruction with theì
  87. label alpha, all corresponding references are stamped as Undefined, until youì
  88. redefine their target again.
  89.      AT86 accepts all instructions in the 8086/80186/80286/8087 repertoire.  Aì
  90. special pseudo op, "end" is used to specify the end of the code.  Typicallyì
  91. you don't have to use the end pseudo op, since AT86 knows where your codeì
  92. ends.  However if you want to delete the code from some point through the endì
  93. of what you've typed in, you can type end in sooner.  To start over, youì
  94. should use the word "new" instead, since that also deletes the labels you'veì
  95. typed in.
  96.  
  97.  
  98.             AT86 EDIT FACILITY
  99.  
  100.      AT86 has a line edit facility patterned after the PMATE editor that worksì
  101. both in COMMAND and ASSEMBLE MODEs.  While typing in a command or assemblyì
  102. language statement, you can use the left anf right arrow keys to move aroundì
  103. the line.  Typing ordinary characters simply inserts them at the cursorì
  104. position.  Keystrokes are identified as follows:
  105.  
  106. Home        move cursor to beginning of line
  107. End        move cursor to end of line
  108. Ctrl-O        move one word left  (Ctrl-left- arrow is an alias)
  109. Ctrl-P        move one word right (Ctrl-right-arrow is an alias)
  110. Ctrl-Q        delete word to left
  111. Ctrl-W        delete word to right
  112. Ctrl-K        delete (Kill) from cursor to end of line
  113. Del        deletes character under cursor
  114. Backspace    deletes character before cursor
  115.  
  116.      To edit a line, type
  117.  
  118. -edit line_number
  119.  
  120. in COMMAND MODE.  This switches to ASSEMBLE MODE and automatically calls upì
  121. the line with the line_number (instruction offset) specified.  Make theì
  122. changes you want and type <cr> to go onto the next line.  To quit editing,ì
  123. type Esc, which returns to COMMAND MODE
  124. 
  125.