home *** CD-ROM | disk | FTP | other *** search
- CHAPTER 2 A86 DEMONSTRATION
-
-
- To give you a feeling for the operation of A86, I have provided
- some source files for you to assemble. You should make sure your
- current directory (or a PATH directory) is the one that contains
- this assembler package, and perform the following operations to
- see the assembler package in action:
-
-
- Assembling a Very Short Program: PAGE.COM
-
- First, let's assemble a very short program; a program that sends
- an ASCII form feed (hex 0C) to your line printer. The source for
- this program is PAGE.8; type the command TYPE PAGE.8 to see how
- simple this program is: note the lack of red tape directives
- (NAME, ASSUME, END, PUBLIC, etc.) required by other assemblers.
- Now type the command A86 PAGE.8 to assemble the file. If you are
- working on a hard disk, make sure you don't blink your eyes after
- typing the command; you'll miss the assembly, because A86 is
- FAST, FAST, FAST.
-
- You now have a file PAGE.COM, which is an executable program. If
- you now type the command PAGE with your printer turned on, and if
- your printer recognizes the form feed character, then it should
- advance to the next page. You have just created a useful tool.
- By altering the DB line in the source code that contains the form
- feed, you can create tools to output other control sequences to
- your printer.
-
-
- Demonstration of Error Reporting
-
- Now type the command ERDEMO, invoking the batch file ERDEMO.BAT.
- This will invoke an assembly of a source file PAGE.BAD (copied
- from PAGE.BL so you can run this demo again), into which I have
- deliberately placed an erroneous statement, XCHG BL,AX. Note
- that A86 tells you that it has inserted error messages into
- PAGE.BAD, and saved the original source in PAGE.OLD.
-
- Now use your favorite text editor to edit PAGE.BAD. You can use
- your editor's string search function to find a tilde symbol,
- which brackets all A86 error messages. Without altering the
- messages, change the BL to BX, and exit your editor. Now type
- the command A86 PAGE.BAD to reassemble the file. You should get
- a successful assembly. Now type the command TYPE PAGE.BAD, and
- note that A86 has removed the error messages for you. Wasn't
- that easy?
-
-
- Assembling a Longer Program with Library Files: REV.COM
-
- Let's see A86 assemble a program with four source files. Type the
- command A86 REV.8 to the console. A86 will assemble the REV.8
- file you specified, see that there are undefined symbols in the
- program, then assemble the files LINES.8, MSDOS.8, and USAGE.8,
- listed in the library file A86.LIB, which I created using the
- tool A86LIB available only to registered users.
- 2-2
-
- REV is a tool that exists in the Unix operating system. It is a
- "filter"; that is, it reads from standard input, transforms the
- input, and outputs the transformed data to standard output. The
- transformation that REV performs is to reverse all lines, so that
- they come out backwards.
-
- The usefulness of REV is in conjunction with other tools. In
- particular, suppose you have a list of words that you wanted
- sorted according to their last letters, not their first. You run
- the list through REV, to get the words spelled backwards. Then
- you run that output through SORT, to sort them that way. Finally,
- you run the output of SORT through REV again, to get the words
- spelled forwards again, but still sorted according to their
- backwards spellings.
-
- The normal usage of REV is, therefore, in conjunction with
- redirection of standard input and output; e.g. REV <infile
- >outfile. If you want to just see if REV works, type REV, the
- enter key, your first name, the enter key, your last name, the
- enter key, the F6 key, and the enter key. You'll get your first
- and last name spelled backwards.
-
-
- Using XREF on a medium-sized program: TCOLS.COM
-
- Type the command MTCOLS to execute the batch file MTCOLS.BAT.
- Observe that the file assembles the file TCOLS.8 into the program
- TCOLS.COM. Then the batch file runs the XREF program, to produce
- a cross reference listing TCOLS.XRF of the program.
-
- Type the command TCOLS. The TCOLS program you just assembled
- will execute, and notice that you have given it no parameters. It
- thus gives you a self-documenting message. Note that towards the
- end of the message is an example showing how TCOLS can be used to
- print XREF listings. You can do so now by turning your printer
- on and typing an appropriate command; e.g., TCOLS <TCOLS.XRF 4 6
- 80 66 >PRN for 4 columns, skip 6 lines between pages, which are
- 80 columns by 66 lines.
-
-
- Using EXMAC
-
- Type the command MEXP, invoking the batch file MEXP.BAT, which
- executes the command EXMAC TCOLS <TCOLS.8 >TCOLS.EXP to create a
- version of TCOLS with macros expanded. Look at the file
- TCOLS.EXP, and note that the DEFAULT macro defined there has had
- all of its calls expanded. Type the command A86 TCOLS.EXP and
- note that it assembles into TCOLS.COM just as the original file
- does.
-
- Type the command EXMAC TCOLS to enter interactive mode. The
- program pauses, waiting for you to type in lines. Type a garbage
- line, e.g. "abc", and see the line echoed back to you. Now type
- the macro call: DEFAULT FOO,7 and see the macro expanded
- interactively. Type Control-Z followed by the enter key to exit
- the EXMAC program. (On most IBM-compatible computers you can
- type F6 to get a control-Z.)
-
-