Category : Assembly Language Source Code
Archive   : TASMSWAN.ZIP
Filename : $README.DOC

Output of file : $README.DOC contained in archive : TASMSWAN.ZIP
Source code from the book:

Turbo Assembler

by Tom Swan


PART I Programming with the Turbo Assembler

-1- Intro

-2- First steps
FF.asm - sends form feed to printer
COMSHELL.asm - shell for *.COM files
EXESHELL.asm - shell for *.EXE files
PR132.asm - selects compressed 132-character printer output

-3- A bit of binary

-4- Using Turbo Assembly language instructions
These are used with the Turbo Debugger as detailed in the book.
MOV.asm - MOV demo
SHIFT.asm - SHIFT demo
SUBDEMO.asm - Subroutine demo

-5- Simple data structures
STRINGS.asm - string procedures
STRIO.asm - string i/o procedures
ECHOSTR.asm - string read test
MAIN/MODULE.asm - simplified external example

-6- Complex data structures
STRUC.asm - structure demo for Turbo DEBUGGER
VERSION.asm - automatic program version demo
BINASC.asm - binary to ascii conversion routines
EQUIP.asm - displays PC equipment information
CONVERT.asm - converts binary/hexadecimal/decimal numbers

-7- Input and Output
FILTER.asm - filter shell
SCREEN.asm - memory mapped video screen output routines
CHARS.asm - displays character/attribute reference
KEYBOARD.asm - keyboard input routines
KEYS.asm - displays key values

-8- Macros and conditional turbo assembly
DOSMACS.asm - subset of DOS Macros for Turbo Assembler (Ideal mode)

-9- Disk file processing
DISKERR.asm - disk error handler
PARAMS.asm - parse DOS command-line parameters
SHOWPARAM.asm - display " " " "
KOPY.asm - copy input to output
DR.asm - display disk directory

-10- Interrupt handling
SLOWMO.asm - slow motion interrupt generator (to slow PC for games)
DIV286.asm - 80286/386 divide-fault ISR installer
DIVFAULT.asm - divide-fault demo
ASYNCH.asm - asychronous serial communications module
TRM.asm - terminal emulator w/control-code debugging
SINGLE.asm - single-step (trap) demo

-11- Advanced topics
A. Binary Coded Decimals (popular in business applications).
BCD.asm - bcd routines
B. Processing tables.
TABLE.asm - using tables for gaining speed
BOXCHAR.asm - uses table to map ALT keys to give
box drawing characters
C. Using Segments in programs
HARDSHEL.asm - shell for *.EXE files with Unsimplified Segments
COLDBOOT.asm - performs reboot
D. Programming the 80286
BOUND286.asm - bound test (to be used ONLY on 80286/386 systems!)

PART II Multi-Language programming

-12- Optimizing "PASCAL"
PASSHELL.asm - shell for TurboPascal *.OBJ modules
PASDEMO.asm - a crazy demo of how to pass code/data between PASCAL/TASM
PASDEMO.pas - " " " " " "
FILLSTR.asm - external pascal string filler function
FILLSTR.pas - " " "
STR.pas - string conversion
STR.asm - " "

-13- Optimizing "C"
TALLY.c - short example of in-line assembly code
UPDOWN.c - in-line assembly code function demo
CSHELL.asm - shell for Turbo C *.obj modules
CFILLSTR.c - calling assembly language functions from Turbo C demo
CFILLSTR.asm - " " "

PART III Reference

-14- 8086/88, 80286, 80386 Reference Guide

-15- Turbo Assembler Reference

Appendix 1 - Bibliography

Appendix 2 - Answers to Exercises

Also ...

NOTE: Now available on a public BBS near you is the
program ASMED.

This program is great in that it adds the Turbo Pascal/Turbo C
Interactive Environment to TASM !!!!!!!!!!!!!!!!!
(well not quite but NICE try !)

NOTE about TURBO ASSEMBLER's Ideal mode (from page 7 of book):

"Turbo Assembler is actually two assemblers in one.
Normally, Turbo Assembler processes programs written in the popular MASM syntax.
For assembling programs downloaded from bullein boards, copied from time-share
systems, or gleaned from MASM books, this is the method to use.
(ALL ASM) Examples in this book use Turbo Assembler's
IDEAL MODE, which I believe to be superior to MASM syntax-especially
for writing stand-alone assembly language programs. With IDEAL mode,
programs assemble faster and are less prone to developing bugs
that can result from MASM's many known quirks and syntactical freedoms.
(The Turbo Assembler User's Guide spells out the difference between
MASM & Ideal mode instructions.)
In addition to extra speed and the absence of Quirky behavior,
Ideal mode offers other advantages. Structures (similar to Pascal records
or C structures) can repeat member field names. Assembler directives are
easier to remember and use. Equated symbols and expressions always
have predictable values. And formats for various memory-addressing
modes must conform to generally recognized guidelines. If you don't yet
grasp the significance of some of these items, you'll have to trust my
opinion: Ideal mode is what PC programmer's have needed for years.
Don't be concerned that, by learning Ideal mode, you'll be
shut out from using thousands of lines of MASM code in the public
domain. After learning Ideal mode, you'll be able to read and
understand MASM-mode programs with Little effort. Most differences
between the two modes of programming are subtle-a spelling change here,
an operand reversal there. I regularly read & work in both syntaxes
without difficulty, but I prefer using Ideal mode for new projects."

NOTE: this book comes with a handy Reference Card that contains
all the instructions for the 8086/8088/80286/80386 processors and
it comes with numerous Exercises at the end of each chapter with
answers for the exercises in the Appendix.

  3 Responses to “Category : Assembly Language Source Code
Archive   : TASMSWAN.ZIP
Filename : $README.DOC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: