home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / programming / asm_programming / a02.doc < prev    next >
Text File  |  1994-01-17  |  5KB  |  104 lines

  1. CHAPTER 2   A86 DEMONSTRATION
  2.  
  3.  
  4. To give you a feeling for the operation of A86, I have provided
  5. some source files for you to assemble.  You should make sure your
  6. current directory (or a PATH directory) is the one that contains
  7. this assembler package, and perform the following operations to
  8. see the assembler package in action:
  9.  
  10.  
  11. Assembling a Very Short Program: PAGE.COM
  12.  
  13. First, let's assemble a very short program; a program that sends
  14. an ASCII form feed (hex 0C) to your line printer.  The source for
  15. this program is PAGE.8; type the command TYPE PAGE.8 to see how
  16. simple this program is: note the lack of red tape directives
  17. (NAME, ASSUME, END, PUBLIC, etc.) required by other assemblers.
  18. Now type the command A86 PAGE.8 to assemble the file.  If you are
  19. working on a hard disk, make sure you don't blink your eyes after
  20. typing the command; you'll miss the assembly, because A86 is
  21. FAST.
  22.  
  23. You now have a file PAGE.COM, which is an executable program.  If
  24. you now type the command PAGE with your printer turned on, and if
  25. your printer recognizes the form feed character, then it should
  26. advance to the next page.  You have just created a useful tool.
  27. By altering the DB line in the source code that contains the form
  28. feed, you can create tools to output other control sequences to
  29. your printer.
  30.  
  31.  
  32. Demonstration of Error Reporting
  33.  
  34. Now type the command ERDEMO, invoking the batch file ERDEMO.BAT.
  35. This will invoke an assembly of a source file PAGE.BAD (copied
  36. from PAGE.BL so you can run this demo again), into which I have
  37. deliberately placed an erroneous statement, XCHG BL,AX.  Note
  38. that A86 tells you that it has inserted error messages into
  39. PAGE.BAD, and saved the original source in PAGE.OLD.
  40.  
  41. Now use your favorite text editor to edit PAGE.BAD.  You can use
  42. your editor's string search function to find a tilde symbol,
  43. which brackets all A86 error messages.  Without altering the
  44. messages, change the BL to BX, and exit your editor.  Now type
  45. the command A86 PAGE.BAD to reassemble the file.  You should get
  46. a successful assembly.  Now type the command TYPE PAGE.BAD, and
  47. note that A86 has removed the error messages for you.  Wasn't
  48. that easy?
  49.  
  50.  
  51. Assembling a Longer Program with Library Files: REV.COM
  52.  
  53. Let's see A86 assemble a program with four source files. Type the
  54. command A86 REV.8 to the console.  A86 will assemble the REV.8
  55. file you specified, see that there are undefined symbols in the
  56. program, then assemble the files LINES.8, MSDOS.8, and USAGE.8,
  57. listed in the library file A86.LIB, which I created using the
  58. tool A86LIB available only to registered users.
  59.                                                               2-2
  60.  
  61. REV is a tool that exists in the Unix operating system.  It is a
  62. "filter"; that is, it reads from standard input, transforms the
  63. input, and outputs the transformed data to standard output.  The
  64. transformation that REV performs is to reverse all lines, so that
  65. they come out backwards.
  66.  
  67. The usefulness of REV is in conjunction with other tools. In
  68. particular, suppose you have a list of words that you wanted
  69. sorted according to their last letters, not their first.  You run
  70. the list through REV, to get the words spelled backwards.  Then
  71. you run that output through SORT, to sort them that way. Finally,
  72. you run the output of SORT through REV again, to get the words
  73. spelled forwards again, but still sorted according to their
  74. backwards spellings.
  75.  
  76. The normal usage of REV is, therefore, in conjunction with
  77. redirection of standard input and output; e.g. REV <infile
  78. >outfile.  If you want to just see if REV works, type REV, the
  79. enter key, your first name, the enter key, your last name, the
  80. enter key, the F6 key, and the enter key.  You'll get your first
  81. and last name spelled backwards.
  82.  
  83.  
  84. Assembling a medium-sized program: TCOLS.COM
  85.  
  86. Type the command MTCOLS to execute the batch file MTCOLS.BAT.
  87. Observe that the file assembles the file TCOLS.8 into the program
  88. TCOLS.COM.  This assembly uses the +L and +X switches to produce
  89. a listing file TCOLS.LST and a cross-reference file TCOLS.XRF.
  90.  
  91. Type the command TCOLS.  The TCOLS program you just assembled
  92. will execute, and notice that you have given it no parameters. It
  93. thus gives you a self-documenting message.  Note that towards the
  94. end of the message is an example showing how TCOLS can be used to
  95. print .XRF listings.  You can do so now by turning your printer
  96. on and typing an appropriate command; e.g., TCOLS <TCOLS.XRF 4 6
  97. 80 66 >PRN for 4 columns, skip 6 lines between pages, which are
  98. 80 columns by 66 lines.
  99.  
  100. If you examine the file TCOLS.LST with your favorite text editor,
  101. you'll find a complete listing of the program, including the
  102. expansion of the DEFAULT macro defined within the program.
  103.  
  104.