Tatara

Part II
The assembler, Tatara

5 Running TATARA
5.1 The command line
5.2 Filenames
5.3 The options
5.4 What TATARA prints
5.5 Listings
5.6 When TATARA does not start
6 Source format
6.1 Lines
6.2 The four fields
6.3 Where a label goes
6.4 Comments
6.5 Upper and lower case
6.6 Spaces, tabs, line length and line endings
7 Names
7.1 The characters of a name
7.2 Length
7.3 Upper and lower case
7.4 Names that are hard to reach
8 Expressions
8.1 Values are 16 bits
8.2 Numbers
8.3 Characters
8.4 Names and the location counter
8.5 Operators
8.6 What kind of value
9 Instructions
9.1 The instruction set
9.2 Operands
9.3 Relative jumps
9.4 The R800 instructions
9.5 The undocumented instructions
9.6 When an operand is wrong
10 Segments and the location counter
10.1 The location counter
10.2 Code, data and absolute
10.3 ORG
10.4 Reserving space: DS
10.5 Named segments
10.6 Transient data segments
10.7 Messages
11 Data
11.1 DB: bytes
11.2 Strings
11.3 DW: words
11.4 DC: strings that mark their own end
11.5 The other names
11.6 Messages
12 Defining and sharing symbols
12.1 Three ways to give a name a value
12.2 Labels
12.3 EQU
12.4 DEFL
12.5 Sharing names between modules
12.6 END and the start address
12.7 Messages
13 Including files
13.1 INCLUDE
13.2 Where TATARA looks
13.3 The TATARA environment variable
13.4 Paths in the filename
13.5 Files that include files
13.6 Including a file twice
13.7 END in an include file
13.8 Messages
14 The include files
14.1 What the files hold
14.2 Including them
14.3 MSXDOS.INC and the system macro
14.4 BIOS.INC and SUBROM.INC
14.5 ERRORS.INC
14.6 The other files
15 Conditional assembly
15.1 IF, ELSE and ENDIF
15.2 The two passes
15.3 IFDEF and IFNDEF
15.4 IF1 and IF2
15.5 IFB, IFNB, IFIDN and IFDIF
15.6 Nesting
15.7 Messages
16 Macros
16.1 Defining and using a macro
16.2 Arguments
16.3 Joining text with &
16.4 Comments in a body
16.5 LOCAL
16.6 EXITM
16.7 Macros inside macros
16.8 Upper and lower case
16.9 Messages
17 Repeat blocks
17.1 REPT
17.2 IRP
17.3 IRPC
17.4 LOCAL, EXITM and nesting
17.5 Messages
18 The listing
18.1 A listing line
18.2 Pages
18.3 Turning the listing off and on
18.4 Macro expansions
18.5 Lines not assembled
18.6 Messages
19 The symbol table dump and the diagnostic switches
19.1 The symbol table
19.2 Reading the table
19.3 The table and the listing
19.4 Diagnostic switches
20 Error messages
20.1 What a message says
20.2 TATARA stops at the first error
20.3 The trail
20.4 Errors found on the second pass
20.5 Internal errors