Programs from part 6: Utilities

I have mostly typed out the listings from the book as they were printed

The exceptions are that I have added REMs at the top stating the page in the book where the listings began, and adding book title and author lines.

In a few cases, where it was very clean and easy to do os, I have added lines to dump the execution and exit directly to the computer's main MENU.

All of these additions are obvious in that I have inserted my line numbers between the original 10,20,30,... line numbers. This way, if you want the exact original code, you just have to remove the single or XX5 lines.

Note: These additions have altered the original file byte sizes, but I have kept the values which the authors always put on line 10. 

The Files:

WORDCT: Determine the word count of your (.do) files

LENCTR: Find the number of bytes in your BASIC programs

CONVR: Convert from one numbering system to another.  There are a lot of these, and it is everyone's first program to make one themselves, but this is a good one, tight code does OCT,DEC and HEX.  Made mine look bad :)

PRINT: Print your BASIC programs any way you like (they used this program for the listings in the book!  They explained in the introduction that they used this to print to sheets then phographed the papers.. I do admit that their listings are easier to read than other books.

MEMSCN: Dig around in comnputer memory to see what's there. 

The following is important to MEMSCN, so I copied it from the intro:

"When you first run the program it will ask you for the memory location you want to examine, type in either a dec or hex number using a d or h  tospecify which it is.
...
At the bottom of the display are Q,D,H,X. These letter stand for Quit, Decimal display, Hex display and convert high bit.
...
The last option is useful for examining ROM. Microsoft uses a special encoding technique to cut down on the amount of space that certain data lists require.  In BASIC a list of data in a DATA statement has to be separated by commas.  This wastes one byte for each item in the list.  in machine-language you can take advantage of the fact taht the ACSII codes for the alphabet requires only seven of the eight bits available in each location.  Thus, as a programmer you can use the eight bit of each character as a sign to the program that this character marks the beginning of a new word of data, eliminating the need for a comma.  This practice, of course, makes it difficult for you to read the list, since the first chasracter of each data word is displayed as a non-alphabetic character.  You could memorize the symbols that result from adding 128 to the ASCII codes (65-91) but that takes time.  To simplify your work, the X key automatically sets the high bit of the bytes displayed to zero, letting you see the ASCII letter hidden by the high bit.  Instead of just displaying the altered letters in normal video, I used reverse display so you can still see where one word ends and another begins.

To see this at work, examine memory starting at location 80H (128D)

