Tatara

Part IV
Worked guides

28 A program in several modules
28.1 The example
28.2 The two modules
28.3 The link file
28.4 Building and running it
28.5 What TANREN did
28.6 Things to try
29 Scratch variables shared through a transient segment
29.1 The example
29.2 The source
29.3 Building it
29.4 Reading the symbol table
29.5 Reading the maps
29.6 Things to try
30 Macros and the listing modes
30.1 The example
30.2 The source
30.3 Building and running it
30.4 The three listing modes
30.5 Things to try
31 Long symbol names and case-sensitive names
31.1 The example
31.2 The source
31.3 Building it
31.4 Reading the two files
31.5 Long symbol names across modules
31.6 Macro names and /C
32 A binary for MSX-BASIC’s BLOAD
32.1 The example
32.2 The source
32.3 Building it
32.4 Running it from BASIC
32.5 Where the file can go
32.6 Things to try
33 A 16 KB ROM cartridge
33.1 The example
33.2 The source
33.3 Building it
33.4 Running it
33.5 Things to try
34 A project in several directories
34.1 The example
34.2 The sources
34.3 Building and running it
34.4 Things to try
35 Building TATARA and TANREN from their own sources
35.1 The sources
35.2 BUILD.BAT
35.3 Running it
35.4 Building the tools with themselves
A Directive reference
A.1 The directives by purpose
A.2 The directives in alphabetical order
A.3 Labels on directive lines
A.4 Other names
B Instruction summary
B.1 How to read the tables
B.2 8-bit loads
B.3 16-bit loads, PUSH and POP
B.4 Exchange, block transfer and search
B.5 8-bit arithmetic and logic
B.6 General purpose and CPU control
B.7 16-bit arithmetic
B.8 Rotate and shift
B.9 Bit set, reset and test
B.10 Jumps
B.11 Calls, returns and restarts
B.12 Input and output
B.13 The undocumented instructions
B.14 The R800 multiplications
B.15 Forms that are not accepted
C Operators and precedence
C.1 The operators
C.2 At the edges
C.3 Values
D Error messages
D.1 How a message is laid out
D.2 TATARA’s messages
D.3 TANREN’s messages
D.4 TANREN’s warnings and notes
E Limits
E.1 TATARA
E.2 TANREN
E.3 The command line
E.4 What has no fixed limit
F The .tro object file format
F.1 What an object file says
F.2 A worked example
F.3 File layout
F.4 The records
F.5 How TANREN reads an object file
G Memory
G.1 The memory map
G.2 What goes into the mapper
G.3 How much memory the tools need to build a program
G.4 When the mapper is full
H Where to get the hardware
H.1 What the tools need
H.2 The cartridges
H.3 The makers and where to buy
H.4 Availability
I Environment variables
I.1 Setting a variable
I.2 PATH
I.3 TATARA
I.4 TANREN
I.5 The rules both share
J Source compatibility with M80
J.1 What carries over
J.2 M80 directives that TATARA does not accept
J.3 Other forms
J.4 What TATARA adds
J.5 Other differences
J.6 Converting a source
K The include files
K.1 MSXDOS.INC
K.2 ERRORS.INC
K.3 BIOS.INC
K.4 WORKAREA.INC
K.5 SUBROM.INC
K.6 HOOKS.INC
K.7 PORTS.INC
K.8 ASCII.INC
K.9 EXTBIO.INC
K.10 Further reading
L Glossary
Index