home *** CD-ROM | disk | FTP | other *** search
- *********************************************************************
- Source code from the book:
-
- Mastering
- Turbo Assembler
-
- by Tom Swan
- (Hayden,1989)
-
- ***********************************************************************
-
-
- 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
- PUSHPOP.asm - PUSH/POP demo
- ADDSUB.asm - ADD/SUB/INC/DEC demo
- MULDIV.asm - MUL/DIV/IMUL/IDIV demo
- ANDORXOR.asm - AND/OR/XOR 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.
- ***********************************************************************
-