absolute address: the numerical number identifying an address.
accumulator: the main register within the microprocessor and the only one equipped for arithmetic
ACR: abbreviation for Auxiliary Control Register. One of the VIA registers.
active high: any input which requires a logic I to turn it on.
active low: any input which requires a logic 0 to turn it on.
address bus: the 16 lines from the microprocessor which activate the selected memory location or device.
address: a number which is associated with a particular memory location. This number can be in decimal or hexadecimal.
and gate: a gate which delivers a logic I out only if all inputs are logic 1.
anding: using a mask to ensure selected bits become or remain 0.
assembler mnemonics: a three-letter group uniquely defining an op code.
assembler: a program which converts a program written in assembly code to the equivalent machine code.
base address: the operand address of an indexed instruction.
base: the number of different characters used in a counting system. Decimal is base 10, binary is base 2 and hex is base 16.
bit: one of the two possible states of a binary counting system, 1 or 0.
block diagram: a simplified diagram of an electrical system using interconnected labelled boxes.
Boolean algebra: an algebraic notation, introduced by George Boole, for manipulating two-state logic.
bubble sort: sorting an array by pairs at a time until all data is in order.
bus: a collection of wires having some common purpose such as data bus, address bus and control bus.
byte: a group of 8 bits.
Centronics: trademark for a standardised parallel interface for printers.
chip: accepted slang for an integrated circuit.
compiler: system software which translates a program written in high level language into a machine code equivalent. The entire program is translated before it is run.
conditional assembly: when parts or all of the assembled code can vary depending on test conditions.
Darlington: a two-transistor configuration used to multiply the current gain.
data bus: the 8 lines from the microprocessor which carry the data to and from memory or external devices.
DDRB: abbreviation for Data Direction Register B. One of the VIA registers.
decimal: the normal counting system using the ten characters 0,1,...9.
decoder: a logic device with many possible outputs, only one of which can be activated at a time. This depends on the logic pattern applied to the 'select' inputs
direct addressing: the operand is a two-byte address as distinct from zero page addressing which is a single byte address. Also called absolute addressing.
disassembler: a program which will display a machine code program in assembly language. The opposite process to assembly.
effective address: the sum of the base and relative address.
exclusive or gate: a gate which delivers a logic I only if the inputs are at different logic states.
exclusive oring: using a mask to ensure that selected bits assume the opposite state.
firmware: programs already in ROM.
flag: a single bit used to indicate whether something has happened or not (see program status register).
handshaking: a term used to describe the method of synchronising an external device to the computer.
hardware: all the bits and pieces of a computer such as the chips, circuit board, keys, etc. That which you can see, feel and break
hex: see hexadecimal.
hexadecimal: a counting system using sixteen characters 0, 1,...9,A,B,C,D,E,F
high byte: the most significant half of a two-byte number.
high-level language: a language written in the form of statements, each statement being equivalent to many machine code instructions. BASIC is a high level language.
IER: abbreviation for Interrupt Enable Register. One of the VIA registers[FR: abbreviation for Interrupt Flag Register. One of the VIA registers.
immediate addressing: the operand is the data itself rather than an address.
implicit address: see implied address.
implied address: an address which is inherent in the op-code, therefore requiring no following operand.
index register: either the X or Y register when used to modify an address.
indexed address: an address which has been formed by the addition of an index register's contents.
indexed indirect addressing: the indirect address is the sum of the operand and contents of Y.
indirect addressing: the operand refers to an address in page zero which is the address of the wanted data.
indirect indexed addressing: the indirect address is modified by the addition of Y.
instruction register: a register within the microprocessor holding the opcode during instruction decoding.
integer: a whole number without a fraction.
integrated circuit: a chip containing a number of interconnected circuits.
interpreter: system software which translates and executes each high level language statement separately. BASIC is normally interpreted although compiler versions exist.
IRB: abbreviation for Input Register B. One of the VIA registers.
latch: a buffer register which retains old data until new data is enabled.
logic gates: electrical circuits which behave as switches. The input conditions determine whether the switch is 'open' or 'closed'.
low byte: the least significant half of a two-byte number.
low-level language: a series of codes rather than a language, each line resulting in one order to the microprocessor.
lsb: the least significant bit in the byte (the right-most bit).
LSI: large scale integration. Normally taken to mean in the order of tens of thousands of circuits on a single chip. The 6502 microprocessor is LSI.
machine code: strictly, this term should be used for instructions written in binary; now used loosely to include hex coding and assembly language.
macro: a routine assembled in line each time it is called.
mask: a bit pattern used in conjunction with either AND, EOR or ORA to act on selected bits within a byte.
merge sort: similar to bubble sort but faster due to progressive halving of the array before sorting into pairs.
microprocessor: the integrated circuit which is the central processor or 'brain' of the computer. The BBC machine uses the 6502 species.
microprogram: a program inside the microprocessor which informs it how to carry out each machine code instruction.
mnemonics: code groups chosen so we can memorise them easily.
MOB: abbreviation for Moving OBject. Any screen object which is destined to be moved,
msb: the most significant bit in the byte (the leftmost bit).
msi: medium scale integration. Normally taken to mean up to a few hundred circuits on a single chip.
nibble: a group of 4 bits.
nybble: see nibble.
object code: the translated version of the source code.
one's complement: a number formed by changing the state of all bits in a register.
op-code: abbreviation for operational code. It is that part of a machine code instruction which tells the computer what kind of action is required.
operand: that part of a machine code instruction which gives the data or where to find the data.
operating system: the software already in ROM which is designed to help you use the computer.
or gate: a gate which delivers a logic out if any one or more inputs are logic 1.
ORB: abbreviation for Output Register B. One of the VIA registers.
oring: using a mask to ensure selected bits become or remain 1.
OSBYTE: keyword for Operating System Byte. Allows machine code calls to the operating system.
OSRDCH: keyword for Operating System Read Character. A subroutine for reading a character from selected input systems.
OSWORD: keyword for Operating System W ord. Similar to OSBYTE but allows more parameters to be passed.
OSWRCH: keyword for Operating System Write Character. Passes character to selected output system.
page one address: any address within the range 256 to 511 decimal or 0100 to 01FF hex
PC: see program counter.
PCR: abbreviation for Peripheral Control Register. One of the VIA registers.
PIA: abbreviation for the 6820 Peripheral Interface Adaptor.
pixel: a small picture element.
program counter: the only 16-bit register in the 6502. Contains the address of the next instruction byte.
program status register: a register containing flag bits which indicate if overflow, carries, etc. have been caused by the previous instruction.
PSR: see program status register.
read: to examine the existing data in a register or memory location, usually by means of LDA, LDX or LDY.
relative address: the contents of the index register.
resident assembler: an assembler which is already in ROM when you purchase the machine.
resident subroutines: those in ROM which you can use, providing you know their starting address.
ROM: abbreviation for Read Only Memory. Information stored is permanent even when the power supply is off.
rotate: similar to shift but any bit pushed out from the carry is reinserted at the other end.
rpn: abbreviation for 'reverse Polish notation', which is concerned with the order in which numeric variables are processed by a machine.
RS423: a standardised interface which passes data serially along a single line.
scrolling: movement of the screen vertically or horizontally in order to bring fresh data into view.
shift: to move the bit pattern, one place to the left or right.
signed binary: the binary system which uses the msb as a sign bit.
silicon chip: most chips are fabricated from a silicon base although some of the super-fast modern varieties may be using a mixture of gallium and arsenic.
software: general term for all programs.
source code: the program in its high level form.
sprite: a screen object destined to be moved, together with accompanying coordinate data. Similar to MOB.
SR: abbreviation for Shift Register.
ssi: small scale integration. Normally taken to mean a few circuits, often simple logic gates, on a single chip.
subroutine: a program segment which will normally have general-purpose use and which can be used in other programs.
supply rail: a wire, feeding several components with a specific voltage.
symbolic address: an arbitrarily chosen name used in place of the numerical address. It is only recognised if it has been previously assigned to this number .
tristate: logic devices which can be either in the HIGH, LOW or open circuit state. When in the open circuit state, the output of the device is transparent to a common bus line.
TTL: abbreviation for Transistor Transistor Logic, a family of compatible logic chips operating on 5 volts. First launched by Texas Instruments but soon second-sourced by other manufacturers.
two-pass assembly: passing the source code twice through the assembler. Essential if branches are to forward addresses.
two's complement: a number formed by adding I to the one's complement. Used for negative number representation.
unsigned integer: a binary number without using the msb as a sign bit
user port: one of the output sockets which can be used to control your own special devices.
user subroutines: subroutines which you can make for yourself.
vector: a word in memory containing the address of an operating system routine.
VIA: abbreviation for the 6522 Versatile Interface Adaptor chip.
volatile memory: one which loses all data when power is interrupted.
write: to piace new data into a register or memory location, usually by means of STA,STX or STY. The old data is overwritten by the new.
X register: a general-purpose register which can be used in indexed addressing.
Y regisier: similar to X register.
zero page address: any address within the range 0 to 255 decimal or 00 to FF hex.