Dec 102017
Mastering TASM book source code.
File TASMSWAN.ZIP from The Programmer’s Corner in
Category Assembly Language
Mastering TASM book source code.
File Name File Size Zip Size Zip Type
$README.DOC 6374 2753 deflated
ADDHEX.ASM 811 395 deflated
ADDSUB.ASM 431 268 deflated
ANDORXOR.ASM 444 278 deflated
ASYNCH.ASM 6586 1594 deflated
BCD.ASM 4807 834 deflated
BINASC.ASM 8401 1725 deflated
BOUND286.ASM 971 478 deflated
BOXCHAR.ASM 806 456 deflated
CAPSLOCK.ASM 625 346 deflated
CFILL.ASM 622 296 deflated
CFILLSTR.C 671 322 deflated
CFLAGS.C 558 297 deflated
CHARS.ASM 2179 829 deflated
COLDBOOT.ASM 394 251 deflated
COMSHELL.ASM 400 274 deflated
CONVERT.ASM 1888 695 deflated
COPYSTR.ASM 636 295 deflated
COPYSTR.C 465 215 deflated
CSHELL.ASM 974 380 deflated
DISKERR.ASM 2341 983 deflated
DIV286.ASM 1524 681 deflated
DIVFAULT.ASM 561 342 deflated
DOSMACS.ASM 11755 1928 deflated
DOTOTAL.ASM 424 244 deflated
DR.ASM 2208 824 deflated
ECHOSTR.ASM 631 362 deflated
EQUIP.ASM 2292 880 deflated
EXESHELL.ASM 438 295 deflated
FF.ASM 364 235 deflated
FILLSTR.ASM 552 284 deflated
FILLSTR.PAS 255 188 deflated
FILTER.ASM 3396 967 deflated
HARDSHEL.ASM 510 294 deflated
KEYBOARD.ASM 1252 442 deflated
KEYS.ASM 965 506 deflated
KOPY.ASM 3394 1176 deflated
MAIN.ASM 344 240 deflated
MODULE.ASM 313 180 deflated
MOV.ASM 370 250 deflated
MULDIV.ASM 552 302 deflated
PARAMS.ASM 3221 1013 deflated
PASDEMO.ASM 1847 706 deflated
PASDEMO.PAS 890 480 deflated
PASSHELL.ASM 892 311 deflated
PR132.ASM 402 276 deflated
PUSHPOP.ASM 384 237 deflated
SCREEN.ASM 7698 1649 deflated
SHIFT.ASM 431 246 deflated
SHOWPARM.ASM 888 436 deflated
SINGLE.ASM 2623 909 deflated
SLOWMO.ASM 1746 736 deflated
STR.ASM 1084 401 deflated
STR.PAS 1239 510 deflated
STRINGS.ASM 8019 1683 deflated
STRIO.ASM 2514 850 deflated
STRUC.ASM 744 426 deflated
SUBDEMO.ASM 819 362 deflated
TABLE.ASM 485 249 deflated
TALLY.C 404 226 deflated
TPCREAD.ME 199 165 deflated
TRM.ASM 2036 836 deflated
UPDOWN.C 1334 463 deflated
VERSION.ASM 430 285 deflated

Download File TASMSWAN.ZIP Here

Contents of the $README.DOC file

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.

 December 10, 2017  Add comments

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>