[Prev] [Next] [Up] [Main] [New] [Search] [Home]
Front page

TRS-80 Assembly Language Programming

William Barden, Jr.

first edition, third print In English
LCCN: 79-63607 (Library of Congress)
Radio Shack Cat. No. 62-2006
Publisher: Radio Shack

Table of Contents
Section I. General Concepts 
Chapter 1: TRS-80 and Z-80 Architecture11
Functional Blocks
What Are All These Ones and Zeros
CPU, Memory, and I/O
The Z-80: A Chip Off the Old Block
Chapter 2: Z-80 Instructions24
The Z-80 Family Tree
How Long Is an Instruction
Wait a Microsecond
Instruction Groups
Data Movement
Arithmetic, Logical, and Compare
Decision Making and Jumps
Stack Operations
Shifting and Bit Operations
I/O Operations
A Program of a Thousand Instructions Begin With the First Bit
Chapter 3: Z-80 Addressing41
Why Not One Addressing Mode
Implied Addressing: No Addressing at All
Immediate Addressing
Register Addressing
Register Indirect
Direct Addressing
Relative Addressing
A Special Type of Call
Indexed Addressing
Bit Addressing
Conclusions and Confusion
Chapter 4: Assembly Language Programming58
Machine-Language Coding
TRS-80 Editor/Assembler
Editing New Programs
Assembler Formats
More Pseudo-Ops
A Mark II Version of the Store "1" Program
Further Editing and Assembling
Chapter 5: T-BUG and Debugging75
Loading and Using T-BUG
T-BUG Commands
T-BUG Tape Formats
Standard Format in Following Chapters
Section II. Programming Methods 
Chapter 6: Moving Data in Bytes, Words, and Blocks87
Byte and Word Moves
Filling or Padding
An Unsophisticated Block Move
An Elegant Block Move
FILL Subroutine
MOVE Subroutine
Subroutine Format
Stack Operation
Chapter 7: Arithmetic and Compare Operations108
Number Formats: Absolutely and Positevily
Signed Numbers
Adding and Substracting 8-Bit Numbers
Adding and Substracting 16-Bit Numbers
A Precision Instrument
Decimal Arithmetric
Compare Operations
Chapter 8: Logical Operations, Bit Operations, and Shifts131
ANDs, ORs, and Exclusive ORs
Bit Instructions
Shiftless Computers
Some Shifting Is Very Logical
Arithmentic Shifts
Software Multiply and Divide
Input and Output Conversions
Chapter 9: Strings and Tables151
Assembler-Generated Strings
Generalized String Output
String Input
Block Compares
Table Searches
Unordered Tables
Ordered Tables
Chapter 10: I/O Operations167
Memory Versus I/O
Keyboard Decoding
Display Programming
Mysteries of the Cassette Revealed
Read-World Interfacing
Discrete Inputs
Chapter 11: Common Subroutine189
FILL Subroutine
MOVE Subroutine
MULADD Subroutine
MULSUB Subroutine
COMPARE Subroutine
MUL16 Subroutine
DIV16 Subroutine
HEXCV Subroutine
SEARCH Subroutine
SET, RESET and TEST Subroutines
Section III. Appendices 
Appendix I: Z-80 Instruction Set205
Appendix II: Z-80 Operation Code Listings209

[Prev] [Next] [Up] [Main] [New] [Search] [Home]
This page has been created by Sami Rautiainen.
Read the small print. Last updated Jun 26, 2004