Tatara

Appendix L
Glossary

This glossary lists the words the manual defines, and some names that it uses without defining them. Each entry ends with the section where the word is introduced, and names related entries after See also.

absolute

Said of a value that is complete when TATARA assembles it, such as a number or a name defined with EQU. Section 8.6. See also relocatable, external.

absolute path

A filename that starts with a drive or with \, and so says exactly where the file is. Section 13.4. See also relative path.

absolute segment

The segment, selected with ASEG, in which every address is the one written and TANREN moves nothing. Section 10.2. See also segment.

addend

The part of a value that is already known when TATARA writes the object file. It is stored in the hole, and a fixup says what to add to it. Section F.1. See also fixup, hole.

address

The number of a memory location. A label stands for the address of the first byte its line produces. Section 2.2.

archive

A file that holds several files packed together. Tatara is distributed as one, TATARxyz.LZH. Section 3.1.

argument

A value written after the name of a macro when it is used. It takes the place of the matching parameter in the body. Section 16.1. See also parameter.

assembling

Turning each line of a source file into the bytes of its machine code. Section 2.2.

banner

The lines a tool prints first: its name and version, the copyright and the web address. Section 5.4. See also summary line.

BDOS

The entry at 0005h through which a program calls the functions of MSX-DOS. MSXDOS.INC names it. Section 14.3.

BIOS

The routines in the MAIN ROM that a program calls to use the hardware. BIOS.INC names their entries. Section 14.4. See also inter-slot call.

BLOAD

The MSX-BASIC command that loads a machine-code file. Such a file has the extension .BIN and starts with a BLOAD header. Section 26.4. See also BLOAD header.

BLOAD header

The seven bytes at the start of a file for BLOAD, which say where it is loaded and where it starts. TANREN writes one with /B. Section 26.4.

body

The lines between MACRO and ENDM, which TATARA puts in the place of each use of the macro. Section 16.1. See also macro.

build file

A batch file, BUILD.BAT, that runs the commands that build an example. Section 4.6.

character constant

One or two characters between quotation marks, used as a number: their codes. Section 8.3.

code segment

The segment, selected with CSEG, that holds a program’s instructions. Section 2.6. See also data segment, segment.

.COM file

A program file that MSX-DOS loads at 0100h and runs when its name is typed. It is what TANREN writes by default. Section 2.1. See also program file.

comment

Text for the reader, from a semicolon to the end of the line. TATARA ignores it. Section 6.4.

conditional assembly

Assembling some lines of a source and skipping others, depending on a condition TATARA works out while it reads. Chapter 15.

current directory

The directory you were in when you typed the command. Section 13.2.

data segment

The segment, selected with DSEG, that holds a program’s variables. Section 2.6. See also code segment, transient data segment.

defined

Said of a name that has a value. For TANREN, a public name is defined by the module that declares it. Section 25.1. See also referenced.

displacement

The signed number from −128 to 127 in (IX+d) or (IY+d), added to the index register. Section 9.2.

entry address

The address where a program starts to run, named on an END line. TANREN shows it as entry. Section 26.5. See also start address.

environment variable

A name that holds a piece of text, which MSX-DOS2 keeps in memory and programs can read. Appendix I describes the ones the tools use. Section 3.4.

error message

The message a tool prints when it finds a mistake, before it stops. Chapter 20. See also trail, internal error.

expansion

The lines that one use of a macro or a repeat block produces. Chapter 16. See also macro.

expression

A number, a name, or a calculation made of them, written where a number is expected. Chapter 8.

extended BIOS

The way a program asks which cartridges offer routines for a device, and finds them. Section 14.6.

external

Said of a value that depends on a name defined in another module. TANREN finishes it. Section 8.6. See also absolute, relocatable, external symbol.

external symbol

A name that a module uses but another module defines, declared with EXTRN. Section 2.3. See also public symbol.

field

One of the four parts of a line: label, operation, operand and comment. Section 6.2.

first pass

The first reading of the source, in which TATARA works out the address of every label and the value of every name. Section 15.2. See also pass, second pass.

fixup

The note in an object file that says what to add to a hole: where a segment is placed, or the value of an external name. Section F.1. See also addend, hole.

free

Said of a segment of the memory mapper that MSX-DOS2 has not given to anything else. Section G.2. See also memory mapper.

group

A set of variables in a transient data segment, started by a GROUP line. The groups of a segment share the same memory. Section 10.6. See also transient data segment.

hole

A place in the machine code whose value TATARA could not finish. The object file records what belongs there, and TANREN fills it. Section 2.3. See also fixup, relocation.

hook

Five bytes in RAM that the system calls at a fixed moment, which a program can take over. Section 14.6.

immediate value

An operand without brackets: the number itself goes into the instruction. Section 9.2.

include file

A file that another source reads with INCLUDE, as if its lines were written there. Section 13.1.

include guard

A conditional around the contents of a file, meant to make it safe to include twice. It does not work in TATARA, because a name defined on the first pass is still defined on the second. Section 13.6.

index half

IXH, IXL, IYH or IYL: the high or low byte of IX or IY, used as an 8-bit register by one of the undocumented instructions. Section 9.5. See also undocumented instructions.

internal error

A message that starts with internal -: TATARA has found a fault in itself, not in the source. Section 20.5.

inter-slot call

A call to a routine in another slot, made through CALSLT. Section 14.4. See also slot.

label

A name written at the start of a line, which stands for the address of the first byte the line produces. Section 2.2. See also symbol.

link file

A text file that holds what would otherwise be typed on TANREN’s command line. Section 4.7.

linking

Joining object files into a program file: placing the modules, filling the holes and writing the result. Section 2.4. See also relocation.

listing

A printout of the source as TATARA assembled it, with the bytes of each line, divided into pages. Section 5.5. See also page heading.

location counter

The count of the bytes assembled so far in a segment. A label takes its value, and $ reads it. Section 10.1.

M80

MACRO-80, Microsoft’s assembler, whose source format TATARA follows. On MSX it came in ASCII’s MSX-DOS2 TOOLS. Appendix J.

machine code

The bytes that the Z80 reads and runs. Section 2.2.

macro

A name for a group of lines. Each use of the name is replaced by the lines. Chapter 16. See also body, expansion.

mapper segment

One 16 KB part of the memory mapper. The Z80 sees one in each page. Section G.1. See also memory mapper, page.

memory mapper

RAM divided into segments of 16 KB, of which the Z80 sees four at a time. The tools keep their tables there. Section G.1. See also mapper segment.

mnemonic

The name people give to an opcode, such as LD or DJNZ. Section 9.4. See also opcode.

module

The code of one source file, as it is in its object file. Section 2.3.

MSX-DOS1

The first MSX-DOS. The tools do not run under it. Section 1.4. See also MSX-DOS2.

MSX-DOS2

The version of MSX-DOS with subdirectories, environment variables and the memory mapper routines, which the tools need. Section 1.4. See also Nextor.

name

A label, a value defined with EQU or DEFL, a macro or a segment. Chapter 7. See also symbol.

named segment

A code or data segment selected by a name after CSEG or DSEG. Section 10.5. See also segment.

Nextor

A system that runs the programs written for MSX-DOS2, and so runs the tools. Section H.1. See also MSX-DOS2.

object file

The file TATARA writes from a source file, with the extension .TRO: machine code with holes, and a note for each hole. Section 2.1. See also module.

opcode

The first byte or two of an instruction, which say which instruction it is. Section 9.4. See also mnemonic.

operand

What the operation works on, such as de,msg: the third field of a line. Section 6.2.

operation

The instruction, directive or macro of a line: its second field. Section 6.2.

page

One quarter of the Z80’s 64 KB: 0000h, 4000h, 8000h or C000h up. Section G.1. See also mapper segment.

page heading

The lines at the top of each page of a listing: the title, the version, the date, the page number and the subtitle. Section 18.2.

parameter

A name in the body of a macro that each use replaces with an argument. Section 16.1. See also argument.

pass

One reading of the source. TATARA reads it twice. Section 15.2. See also first pass, second pass.

precedence

The order in which the operators of an expression are worked out. Section 8.5.

program file

The finished program that TANREN writes, such as a .COM file. Section 2.1.

public symbol

A name that a module defines and makes available to other modules, declared with PUBLIC. Section 2.3. See also external symbol.

R800

The processor of the MSX turbo R, which runs the Z80’s instructions and a few of its own. Section 9.4.

record

One part of an object file: a type byte, a length, and the contents. Section F.1.

referenced

Said of an external name that a module uses. Every referenced name must be defined by some module. Section 25.1. See also defined.

register code

The number of a register in the bytes of an instruction, from 0 for B to 7 for A. Section B.1.

relative jump

A JR or DJNZ, which holds the distance to its target rather than its address. Section 9.3.

relative path

A filename that does not start with a drive or with \, and is looked for in several places. Section 13.4. See also absolute path.

relocatable

Said of an address that depends on where its segment is placed, which TANREN finishes. Section 2.3. See also absolute, external.

relocation

Filling the holes of the machine code, once the addresses are known. Section 2.4. See also hole.

repeat block

A group of lines that TATARA repeats where it stands, with REPT, IRP or IRPC. Chapter 17.

second pass

The second reading of the source, in which every value is known and TATARA writes the object file and the listing. Section 15.2. See also first pass, pass.

segment

A part of a program that TANREN places as a whole: the code segment, the data segment, a named segment or the absolute segment. Section 2.6. See also code segment, data segment.

slot

One of the places in the MSX where ROM, RAM or a cartridge can be. Each page of the Z80’s 64 KB is set to one slot. Section 14.4. See also inter-slot call.

source file

A text file in assembly language, normally with the extension .AS, that TATARA reads. Section 2.1.

start address

The address named by the operand of END, where the program begins to run. Section 12.6. See also entry address.

statement

A line that holds an instruction, a directive or the name of a macro. Section 6.1.

string

Text between quotation marks, stored as one byte for each character. Section 11.2.

summary line

The last line a tool prints, which says where the source ended or what was written. Section 5.4. See also banner.

symbol

A name that stands for a number. Section 2.2. See also label, name.

symbol table

The list of every name a source defined, with its value. /S prints it. Chapter 19.

trail

The lines after an error message that show the include files, macros and repeat blocks that led to the line. Chapter 20. See also error message.

transient data segment

A named data segment whose groups of variables share the same memory. Section 10.6. See also group.

.TRO file

An object file, as TATARA writes it and TANREN reads it. Appendix F describes the format. Section 2.1. See also object file.

undocumented instructions

Z80 instructions that Zilog never published but that every Z80 runs. TATARA accepts SLL, the index halves, IN F,(C) and OUT (C),0. Section 9.1. See also index half.

usage screen

The summary of the command line that a tool prints with /?. Section 5.4.

variable symbol

A name defined with DEFL, whose value can change. Section 12.4.

word

Two bytes, low byte first, as the Z80 stores every 16-bit value. Section 11.3.

work area

The part of RAM from 0F323h up where the system keeps its variables. Section 14.6. See also hook.