home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Unsorted BBS Collection
/
thegreatunsorted.tar
/
thegreatunsorted
/
programming
/
asm_programming
/
a02.doc
< prev
next >
Wrap
Text File
|
1994-01-17
|
5KB
|
104 lines
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.
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.
Assembling 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. This assembly uses the +L and +X switches to produce
a listing file TCOLS.LST and a cross-reference file TCOLS.XRF.
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 .XRF 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.
If you examine the file TCOLS.LST with your favorite text editor,
you'll find a complete listing of the program, including the
expansion of the DEFAULT macro defined within the program.