Link here

Forth v4.4 Assembler Glossary


This glossary describes the library of words used in assembly language programming within the Forth environment. Assembly mode is switched on using the CODE or >ASSM keywords, and switched off using END.CODE or >FORTH. Please consult the assembly programming manual for instruction in using the Forth assembler.

For help in understanding the notation used in the following function definitions, consult the description of stack symbols, abbreviations and naming conventions.

Software development in V4.4 Forth (and its in-line assembler) uses the Mosaic IDE Integrated Development Environment; this is the same IDE used for software development in C. While Forth programmers will not use the IDE's C compiler, the IDE provides a full-featured text editor and customized terminal for rapid code downloads and interactive debugging sessions with the 68HC11 processor on the controller board.

The following glossary entries are alphabetized in ASCII Order: >ABCDEFGHIJKLMNOPQRSTUVWXYZ

 
>ASSM

>ASSM ( -- )

Executes ASSEMBLER so that assembler mnemonics can be found in the dictionary, and enters execution mode. Normally used to compile in-line assembly code into a high level FORTH definition, or to return to assembly after using >FORTH in a CODE definition.

See also CODE, END.CODE, >FORTH
Pronunciation: "to-assembly"
Attributes: I

 
>FORTH

>FORTH ( -- )

Sets vocabulary equal to FORTH and enters compilation mode. Normally used to compile high level FORTH words into an assembly CODE definition, or to return to high level after using >ASSM to assemble in-line code.

See also >ASSM, CODE, END.CODE
Pronunciation: "to-forth"

 
ABA

ABA ( -- )

Compiles the opcode sequence for the ABA instruction into the dictionary. When later executed, this code adds the contents of accumulator A and accumulator B, and stores the result in accumulator A.
Pronunciation:"add-b-to-a"

 
ABX

ABX ( -- )

Compiles the opcode sequence for the ABX instruction into the dictionary. When later executed, this code adds the unsigned 8 bit contents of accumulator B to the contents of register X and leaves the result in X.
Pronunciation:"add-b-to-x"

 
ABY

ABY ( -- )

Compiles the opcode sequence for the ABY instruction into the dictionary. When later executed, this code adds the unsigned 8 bit contents of accumulator B to the contents of register Y and leaves the result in Y.
Pronunciation:"add-b-to-y"

 
ADCA

ADCA ( arg\mode -- )

Compiles the opcode sequence for the ADCA instruction into the dictionary. When later executed, this code adds the carry bit to the sum of the operand (specified by arg and mode) and the contents of accumulator A, and places the result in accumulator A.
Pronunciation:"add-with-carry-to-a"

 
ADCB

ADCB ( arg\mode -- )

Compiles the opcode sequence for the ADCB instruction into the dictionary. When later executed, this code adds the carry bit to the sum of the operand (specified by arg and mode) and the contents of accumulator B, and places the result in accumulator B.
Pronunciation:"add-with-carry-to-b"

 
ADDA

ADDA ( arg\mode -- )

Compiles the opcode sequence for the ADDA instruction into the dictionary. When later executed, this code adds the operand (specified by arg and mode) and the contents of accumulator A, and places the result in accumulator A.
Pronunciation:"add-a"

 
ADDB

ADDB ( arg\mode -- )

Compiles the opcode sequence for the ADDB instruction into the dictionary. When later executed, this code adds the operand (specified by arg and mode) and the contents of accumulator B, and places the result in accumulator B.
Pronunciation:"add-b"

 
ADDD

ADDD ( arg\mode -- )

Compiles the opcode sequence for the ADDD instruction into the dictionary. When later executed, this code adds the operand (specified by arg and mode) and the contents of accumulator D, and places the result in accumulator D.
Pronunciation:"add-d"

 
AGAIN,

AGAIN, ( -- )

Used within a code definition to designate the end of an assembly coded infinite loop. Use as:

  BEGIN,    <code to be iterated>  <code>

AGAIN, </code> The words between BEGIN, and AGAIN, are executed indefinitely. AGAIN, is equivalent to NEVER UNTIL,
Pronunciation:"again-comma"

 
ALWAYS

ALWAYS ( -- condition )

Within a code definition, leaves a condition flag on the data stack. Indicates an "always true" condition.

 
ANDA

ANDA ( arg\mode -- )

Compiles the opcode sequence for the ANDA instruction into the dictionary. When later executed, this code performs the logical AND of the operand (specified by arg and mode) and the contents of accumulator A, and places the result in accumulator A.
Pronunciation:"and-a"

 
ANDB

ANDB ( arg\mode -- )

Compiles the opcode sequence for the ANDB instruction into the dictionary. When later executed, this code performs the logical AND of the operand (specified by arg and mode) and the contents of accumulator B, and places the result in accumulator B.
Pronunciation:"and-b"

 
ANY.BITS.CLR

ANY.BITS.CLR ( -- condition )

Within a code definition, leaves a condition flag on the data stack. Used in conjunction with a single-byte argument (which we'll designate as P) and a bit mask (designated as Q). The condition is true if any bits are clear in the result obtained by performing the logical AND operation P AND Q. This condition code is associated with the test and branch instructions BRSET and BRCLR.
Pronunciation:"any-bits-clear"

 
ANY.BITS.SET

ANY.BITS.SET ( -- condition )

Within a code definition, leaves a condition flag on the data stack. Used in conjunction with a single-byte argument (which we'll designate as P) and a bit mask (designated as Q). The condition is true if any bits are set in the result obtained by performing the logical AND operation P AND Q. This condition code is associated with the test and branch instructions BRSET and BRCLR.

 
ASL

ASL ( arg\mode -- )

Compiles the opcode sequence for the ASL instruction into the dictionary. When later executed, this code causes an arithmetic shift left of the 8-bit operand which is specified by arg and mode. The C (carry) bit in the CCR is loaded from the most significant bit of arg, and 0 is shifted into the least significant bit.
Pronunciation:"arithmetic-shift-left"

 
ASLA

ASLA ( -- )

Compiles the opcode sequence for the ASLA instruction into the dictionary. When later executed, this code causes an arithmetic shift left of the contents of accumulator A. The C (carry) bit in the CCR is loaded from the most significant bit of accumulator A, and 0 is shifted into the least significant bit.
Pronunciation:"arithmetic-shift-left-a"

 
ASLB

ASLB ( -- )

Compiles the opcode sequence for the ASLB instruction into the dictionary. When later executed, this code causes an arithmetic shift left of the contents of accumulator B. The C (carry) bit in the CCR is loaded from the most significant bit of accumulator B, and 0 is shifted into the least significant bit.
Pronunciation:"arithmetic-shift-left-b"

 
ASLD

ASLD ( -- )

Compiles the opcode sequence for the ASLD instruction into the dictionary. When later executed, this code causes an arithmetic shift left of the contents of accumulator D. The C (carry) bit in the CCR is loaded from the most significant bit of accumulator D, and 0 is shifted into the least significant bit.
Pronunciation:"arithmetic-shift-left-d"

 
ASR

ASR ( arg\mode -- )

Compiles the opcode sequence for the ASR instruction into the dictionary. When later executed, this code causes an arithmetic shift right of the operand specified by arg and mode. The C (carry) bit in the CCR is loaded from the least significant bit of arg. The most significant bit is held constant.
Pronunciation:"arithmetic-shift-right"

 
ASRA

ASRA ( -- )

Compiles the opcode sequence for the ASRA instruction into the dictionary. When later executed, this code causes an arithmetic shift right of the contents of accumulator A. The C (carry) bit in the CCR is loaded from the least significant bit of accumulator A. The most significant bit is held constant.
Pronunciation:"arithmetic-shift-right-a"

 
ASRB

ASRB ( -- )

Compiles the opcode sequence for the ASRB instruction into the dictionary. When later executed, this code causes an arithmetic shift right of the contents of accumulator B. The C (carry) bit in the CCR is loaded from the least significant bit of accumulator B. The most significant bit is held constant.
Pronunciation:"arithmetic-shift-right-b"

 
ASSEMBLER

ASSEMBLER ( -- )

Consult the main glossary.

 
BCC

BCC ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BCC instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if C in CCR is clear.
Pronunciation:"branch-if-carry-clear"

 
BCLR

BCLR ( byte1\arg\mode -- | byte1 = mask )

Compiles the opcode sequence for the BCLR instruction into the dictionary. When later executed, this code clears bits in the operand (specified by arg and mode) which are set in the mask byte1.
Pronunciation:"bit-clear"

 
BCS

BCS ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BCS instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if C in CCR is set.
Pronunciation:"branch-if-carry-set"

 
BEGIN,

BEGIN, ( -- )

Used within a code definition to designate the beginning of a looping structure. Use as:

BEGIN, . . . . condition.flag UNTIL,

or

BEGIN, . . . . condition.flag WHILE, . . . . REPEAT,

or

BEGIN, . . . . AGAIN,

The words after UNTIL, or REPEAT, are executed after the loop structure terminates. BEGIN, . . . . AGAIN, is an infinite loop.
Pronunciation:"begin-comma"

 
BEQ

BEQ ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BEQ instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if Z in CCR is set.
Pronunciation:"branch-if-equal"

 
BGE

BGE ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BGE instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if either N and V in the CCR are both set, or N and V are both clear. Typically used after a subtraction or comparison of signed numbers, causes a branch if the result is greater than or equal to 0.
Pronunciation:"branch-if-greater-than-or-equal-to"

 
BGT

BGT ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BGT instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if Z is clear, and either N and V in the CCR are both set, or N and V are both clear. Typically used after a subtraction or comparison of signed numbers, causes a branch if the result is greater than 0.
Pronunciation:"branch-if-greater-than"

 
BHI

BHI ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BHI instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if C and Z in CCR are both clear. Typically used after a subtraction or comparison of unsigned numbers, causes a branch if the result is greater than 0.
Pronunciation:"branch-if-higher"

 
BHS

BHS ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BHS instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if C in CCR is clear. Typically used after a subtraction or comparison of unsigned numbers, causes a branch if the result is greater than or equal to 0.
Pronunciation:"branch-if-higher-or-same"

 
BITA

BITA ( arg\mode -- )

Compiles the opcode sequence for the BITA instruction into the dictionary. When later executed, this code modifies the bits in the condition code register according to the result of performing a logical AND between the operand (specified by arg and mode) and accumulator A. Neither the contents of accumulator A nor the operand are affected.
Pronunciation:"bit-test-a"

 
BITB

BITB ( arg\mode -- )

Compiles the opcode sequence for the BITB instruction into the dictionary. When later executed, this code modifies the bits in the condition code register according to the result of performing a logical AND between the operand (specified by arg and mode) and accumulator B. Neither the contents of accumulator B nor the operand are affected.
Pronunciation:"bit-test-b"

 
BLE

BLE ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BLE instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if Z is set, or N is set and V is clear, or N is clear and V is set in the CCR. Typically used after a subtraction or comparison of signed numbers, causes a branch if the result is less than or equal to 0.
Pronunciation:"branch-if-less-than-or-equal-to"

 
BLO

BLO ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BCS instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if C in CCR is set. Typically used after a subtraction or comparison of unsigned numbers, causes a branch if the result is less than 0.
Pronunciation:"branch-if-lower or same"

 
BLS

BLS ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BLS instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if either C or Z in CCR is set. Typically used after a subtraction or comparison of unsigned numbers, causes a branch if the result is less than or equal to 0.
Pronunciation:"branch-if-lower-or-same"

 
BLT

BLT ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BLT instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if either N is set and V is clear in the CCR, or N is clear and V is set. Typically used after a subtraction or comparison of signed numbers, causes a branch if the result is less than 0.
Pronunciation:"branch-if-less-than"

 
BMI

BMI ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BMI instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if N in CCR is set.
Pronunciation:"branch-if-minus"

 
BNE

BNE ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BNE instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if Z in CCR is clear.
Pronunciation:"branch-if-not-equal"

 
BPL

BPL ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BPL instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if N in CCR is clear.
Pronunciation:"branch-if-plus"

 
BRA

BRA ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BRA instruction into the dictionary. When later executed, this code executes an unconditional branch to the address equal to PC + arg + 2.
Pronunciation:"branch-always"

 
BRCLR

BRCLR ( byte1\mode1\byte2\arg\mode2 -- | byte1=offset, mode1=REL, byte2 =mask )

Compiles the opcode sequence for the BRCLR instruction into the dictionary. When later executed, this code causes a branch to an address if the bits set in the mask byte2 are clear in the operand specified by arg and mode2. The address branched to is equal to

PC + 4 + byte1

when mode2 is DIR or IND,X. When mode2 is IND,Y the address branched to is

PC + 5 + byte1


Pronunciation:"branch-if-bits-clear"

 
BRN

BRN ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BRN instruction into the dictionary. When later executed, this code acts as a two byte NOP instruction.
Pronunciation:"branch-never"

 
BRSET

BRSET ( byte1\mode1\byte2\arg\mode2 -- | byte1=offset, mode1=REL, byte2=mask )

Compiles the opcode sequence for the BRSET instruction into the dictionary. When later executed, this code causes a branch to an address if the bits set in the mask byte2 are also set in the operand specified by arg and mode2. The address branched to is equal to

PC + 4 + byte1

when mode2 is DIR or IND,X. When mode2 is IND,Y the address branched to is

PC + 5 + byte1


Pronunciation:"branch-if-bits-set"

 
BSET

BSET ( byte1\arg\mode -- | byte1 = mask )

Compiles the opcode sequence for the BSET instruction into the dictionary. When later executed, this code sets bits in the operand (specified by arg and mode) which are set in the mask byte1.
Pronunciation:"bit-set"

 
BSR

BSR ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BSR instruction into the dictionary. When later executed, this code causes the PC to be incremented by 2 and pushed onto the return stack, and then branches to the address equal to PC + arg.
Pronunciation:"branch-to-subroutine"

 
BVC

BVC ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BVC instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if V in CCR is clear.
Pronunciation:"branch-if-overflow-clear"

 
BVS

BVS ( arg\mode -- | mode must be REL )

Compiles the opcode sequence for the BVS instruction into the dictionary. When later executed, this code executes a branch to the address equal to PC + arg + 2, if V in CCR is set.
Pronunciation:"branch-if-overflow-set"

 
CALL

CALL ( <name> -- )

Removes <name> from the input stream and compiles a call to <name> into the current definition, where <name> is the name of an executable FORTH or assembly coded routine. Typically used in an assembly coded definition. Consult the Assembler chapter of the Software Manual for examples of use.

 
CBA

CBA ( -- )

Compiles the opcode sequence for the CBA instruction into the dictionary. When later executed, this code modifies the bits in the condition code register according to the comparison A - B. The contents of accumulators A and B are not affected.
Pronunciation:"compare-b-to-a"

 
CC

CC ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. The condition is true when the carry flag in the condition code register is 0. Note: if you wish to use the hex number CC within an assembly definition, type it as 0CC to avoid confusion with this condition code.
Pronunciation:"carry-clear"

 
CLC

CLC ( -- )

Compiles the opcode sequence for the CLC instruction into the dictionary. When later executed, this code clears the C (carry) bit in the condition code register.
Pronunciation:"clear-carry"

 
CLI

CLI ( -- )

Compiles the opcode sequence for the CLI instruction into the dictionary. When later executed, this code clears the I (global interrupt enable) bit in the condition code register. Maskable interrupts are enabled when the I bit is clear.
Pronunciation:"clear-interrupt-mask"

 
CLR

CLR ( arg\mode -- )

Compiles the opcode sequence for the CLR instruction into the dictionary. When later executed, this code clears the contents of the operand specified by arg and mode.
Pronunciation:"clear"

 
CLRA

CLRA ( -- )

Compiles the opcode sequence for the CLRA instruction into the dictionary. When later executed, this code clears the contents of accumulator A.
Pronunciation:"clear-a"

 
CLRB

CLRB ( -- )

Compiles the opcode sequence for the CLRB instruction into the dictionary. When later executed, this code clears the contents of accumulator B.
Pronunciation:"clear-b"

 
CLV

CLV ( -- )

Compiles the opcode sequence for the CLV instruction into the dictionary. When later executed, this code clears the V bit (the 2s complement overflow bit) in the CCR.
Pronunciation:"clear-overflow-bit"

 
CMPA

CMPA ( arg\mode -- )

Compiles the opcode sequence for the CMPA instruction into the dictionary. When later executed, this code subtracts the operand specified by arg and mode from the contents of accumulator A and sets the condition code register bits accordingly. The operand and accumulator A are unaffected.
Pronunciation:"compare-a"

 
CMPB

CMPB ( arg\mode -- )

Compiles the opcode sequence for the CMPB instruction into the dictionary. When later executed, this code subtracts the operand specified by arg and mode from the contents of accumulator B and sets the condition code register bits accordingly. The operand and accumulator B are unaffected.
Pronunciation:"compare-b"

 
CODE

CODE ( <name> -- )

Begins an assembly coded definition. Removes <name> from the input stream and creates a header for <name> that cannot be found in the dictionary until END.CODE executes. Executes ASSEMBLER so that the assembler mnemonics can be found by the interpreter. The assembly mnemonics between CODE and END.CODE form the body of the definition.

See also END.CODE, >ASSM, >FORTH
Attributes: D

 
COM

COM ( arg\mode -- )

Compiles the opcode sequence for the COM instruction into the dictionary. When later executed, this code replaces the operand specified by arg and mode with its ones complement.
Pronunciation:"complement"

 
COMA

COMA ( -- )

Compiles the opcode sequence for the COMA instruction into the dictionary. When later executed, this code replaces the contents of accumulator A with its ones complement (which is formed by complementing the state of each bit).
Pronunciation:"complement-a"

 
COMB

COMB ( -- )

Compiles the opcode sequence for the COMB instruction into the dictionary. When later executed, this code replaces the contents of accumulator B with its ones complement (which is formed by complementing the state of each bit).
Pronunciation:"complement-b"

 
CPD

CPD ( arg\mode -- )

Compiles the opcode sequence for the CPD instruction into the dictionary. When later executed, this code subtracts the operand specified by arg and mode from the contents of accumulator D and sets the condition code register bits accordingly. The operand and accumulator D are unaffected.
Pronunciation:"compare-d"

 
CPX

CPX ( arg\mode -- )

Compiles the opcode sequence for the CPX instruction into the dictionary. When later executed, this code subtracts the operand specified by arg and mode from the contents of accumulator X and sets the condition code register bits accordingly. The operand and accumulator X are unaffected.
Pronunciation:"compare-x"

 
CPY

CPY ( arg\mode -- )

Compiles the opcode sequence for the CPY instruction into the dictionary. When later executed, this code subtracts the operand specified by arg and mode from the contents of accumulator Y and sets the condition code register bits accordingly. The operand and accumulator Y are unaffected.
Pronunciation:"compare-y"

 
CS

CS ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. The condition is true when the carry flag in the condition code register is 1.
Pronunciation:"carry-set"

 
DAA

DAA ( -- )

Compiles the opcode sequence for the DAA instruction into the dictionary. When later executed, this code decimal adjusts the contents of accumulator A to facilitate binary-coded-decimal calculations. For a detailed description of operation, consult the DAA entry in the Motorola HC11 manual.
Pronunciation:"decimal-adjust-a"

 
DEC

DEC ( arg\mode -- )

Compiles the opcode sequence for the DEC instruction into the dictionary. When later executed, this code subtracts one from the operand specified by arg and mode.
Pronunciation:"decrement"

 
DECA

DECA ( -- )

Compiles the opcode sequence for the DECA instruction into the dictionary. When later executed, this code subtracts one from the contents of accumulator A.
Pronunciation:"decrement-a"

 
DECB

DECB ( -- )

Compiles the opcode sequence for the DECB instruction into the dictionary. When later executed, this code subtracts one from the contents of accumulator B.
Pronunciation:"decrement-b"

 
DES

DES ( -- )

Compiles the opcode sequence for the DES instruction into the dictionary. When later executed, this code subtracts one from the contents of the S register which is the return stack pointer.
Pronunciation:"decrement-s"

 
DEX

DEX ( -- )

Compiles the opcode sequence for the DEX instruction into the dictionary. When later executed, this code subtracts one from the contents of the index register X.
Pronunciation:"decrement-x"

 
DEY

DEY ( -- )

Compiles the opcode sequence for the DEY instruction into the dictionary. When later executed, this code subtracts one from the contents of the index register Y.
Pronunciation:"decrement-y"

 
DIR

DIR ( -- mode )

Used within a code definition, leaves a constant on the stack indicating that the direct addressing mode should be used by an instruction opcode.
Pronunciation:"direct"

 
ELSE,

ELSE, ( -- )

ELSE, is used in assembly coded routines to mark the beginning of the "else portion" of a conditional structure. Use as:

condition IF,    . . . .
ELSE,    . . . .
ENDIF,  ( or THEN,)

When executed, ELSE, causes a branch instruction to be compiled into the dictionary and resolves IF,'s branch. When the compiled code is later executed, the code between ELSE, and ENDIF, is executed if the condition is not met.
Pronunciation:"else-comma"

 
END-CODE

END-CODE ( sys -- | balances CODE )

Terminates an assembly code definition which started with CODE. Executes SMUDGE so that the header created by CODE can be found in the dictionary. Checks to make sure that no extra items were left on the stack during the definition process. Stores the contents of CURRENT into CONTEXT so that ASSEMBLER is no longer the search vocabulary.
Pronunciation: "end-code"
Synonym for: END.CODE
See also CODE >ASSM >FORTH

 
END.CODE

END.CODE ( sys -- | balances CODE )

Terminates an assembly code definition which started with CODE. Executes SMUDGE so that the header created by CODE can be found in the dictionary. Checks to make sure that no extra items were left on the stack during the definition process. Stores the contents of CURRENT into CONTEXT so that ASSEMBLER is no longer the search vocabulary.

Pronunciation: "end-code"
Synonym for: END-CODE

 
ENDIF,

ENDIF, ( -- )

ENDIF, is used in assembly coded routines to mark the end of a conditional IF, structure. ENDIF, and THEN, are synonyms. Use as:

condition IF,    . . . .
ELSE,    . . . .
ENDIF,

When executed, ENDIF, resolves the branch instructions used in the conditional structure. When the code compiled by the control structure is executed, the code between IF, and ELSE, is executed if the condition is true, and then control passes to the code following ENDIF,. If the condition is false, the code between ELSE, and ENDIF, is executed, and execution continues with the code following ENDIF,. An alternate form is

condition IF, . . . . ENDIF,

When the code compiled by this control structure is executed, the code between IF, and ENDIF, is executed if the condition is true, and is not executed if the condition is false.
Pronunciation:"end-if-comma"

 
EORA

EORA ( arg\mode -- )

Compiles the opcode sequence for the EORA instruction into the dictionary. When later executed, this code performs a logical exclusive or between the contents of accumulator A and the operand specified by arg and mode. The result is stored in accumulator A.
Pronunciation:"exclusive-or-a"

 
EORB

EORB ( arg\mode -- )

Compiles the opcode sequence for the EORB instruction into the dictionary. When later executed, this code performs a logical exclusive or between the contents of accumulator B and the operand specified by arg and mode. The result is stored in accumulator B.
Pronunciation:"exclusive-or-b"

 
EQ

EQ ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P = Q. Alternate interpretation: Condition is true if the Z bit in the condition code register is set.
Pronunciation:"equal"

 
EXT

EXT ( -- mode )

Used within a code definition, leaves a constant on the stack indicating that the extended addressing mode should be used by an instruction opcode.
Pronunciation:"extended"

 
FDIV

FDIV ( -- )

Compiles the opcode sequence for the FDIV instruction into the dictionary. When later executed, this code performs an unsigned fractional divide of the 16-bit numerator in accumulator D by the 16-bit denominator in the index register X. The quotient is stored in index register X and the remainder is stored in accumulator D.
Pronunciation:"fractional-divide"

 
GE

GE ( -- condition )

Within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P ≥ Q using signed math. Alternate interpretation: Condition is true if the N and V bits in the condition code register are either both set or both clear.
Pronunciation:"greater-than-or-equal-to"

 
GT

GT ( -- condition )

Within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P > Q using signed math. Alternate interpretation: Condition is true if the Z bit is clear, and the N and V bits are either both set or both clear in the condition code register.
Pronunciation:"greater-than"

 
HI

HI ( -- condition )

Within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P > Q using unsigned math. Alternate interpretation: Condition is true if C and Z in the condition code register are zero.
Pronunciation:"higher"

 
HS

HS ( -- condition )

Within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P ≥ Q using unsigned math. Alternate interpretation: Condition is true if the C (carry) bit in the condition code register is clear.
Pronunciation:"higher-or-same"

 
IDIV

IDIV ( -- )

Compiles the opcode sequence for the IDIV instruction into the dictionary. When later executed, this code performs an unsigned integer divide of the 16-bit numerator in accumulator D by the 16-bit denominator in the index register X. The quotient is stored in index register X and the remainder is stored in accumulator D.
Pronunciation:"integer-divide"

 
IF,

IF, ( condition -- )

IF, is used in assembly coded routines to mark the start of a conditional structure. Use as:

condition IF,    . . . .
ELSE,    . . . .
ENDIF,   ( or THEN,)

or

condition IF,    . . . .
ENDIF,   ( or THEN,)

When the branch compiled by IF, is executed, the code following IF, is executed if the condition is met, otherwise control is transferred to the code following ELSE, or ENDIF,. (THEN, and ENDIF, are synonyms).
Pronunciation:"if-comma"

 
IMM

IMM ( -- mode )

Used within a code definition, leaves a constant on the stack indicating that the immediate addressing mode should be used by an instruction opcode.
Pronunciation:"immediate"

 
INC

INC ( arg\mode -- )

Compiles the opcode sequence for the INC instruction into the dictionary. When later executed, this code adds one to the operand specified by arg and mode.
Pronunciation:"increment"

 
INCA

INCA ( -- )

Compiles the opcode sequence for the INCA instruction into the dictionary. When later executed, this code adds one to the contents of accumulator A.
Pronunciation:"increment-a"

 
INCB

INCB ( -- )

Compiles the opcode sequence for the INCB instruction into the dictionary. When later executed, this code adds one to the contents of accumulator B.
Pronunciation:"increment-b"

 
IND,X

IND,X ( -- mode )

Used within a code definition, leaves a constant on the stack indicating that the index register X addressing mode should be used by an instruction opcode.
Pronunciation:"indexed-x"

 
IND,Y

IND,Y ( -- mode )

Used within a code definition, leaves a constant on the stack indicating that the index register Y addressing mode should be used by an instruction opcode.
Pronunciation:"indexed-y"

 
INH

INH ( -- )

Defined as a no-op. May be used within a code definition if desired to indicate the inherent addressing mode.
Pronunciation:"inherent"

 
INS

INS ( -- )

Compiles the opcode sequence for the INS instruction into the dictionary. When later executed, this code adds one to the S register which is the return stack pointer.
Pronunciation:"increment-s"

 
INX

INX ( -- )

Compiles the opcode sequence for the INX instruction into the dictionary. When later executed, this code adds one to index register X.
Pronunciation:"increment-x"

 
INY

INY ( -- )

Compiles the opcode sequence for the INY instruction into the dictionary. When later executed, this code adds one to index register Y.
Pronunciation:"increment-y"

 
JMP

JMP ( arg\mode -- )

Compiles the opcode sequence for the JMP instruction into the dictionary. When later executed, this code transfers control to the instruction stored at the effective address specified by arg and mode.
Pronunciation:"jump"

 
JSR

JSR ( arg\mode -- )

Compiles the opcode sequence for the JSR instruction into the dictionary. When later executed, this code increments PC properly and pushes it onto the return stack. Program control is then transferred to the effective address specified by arg and mode.
Pronunciation:"jump-to-subroutine"

 
LDAA

LDAA ( arg\mode -- )

Compiles the opcode sequence for the LDAA instruction into the dictionary. When later executed, this code loads the operand specified by arg and mode into accumulator A.
Pronunciation:"load-accumulator-a"

 
LDAB

LDAB ( arg\mode -- )

Compiles the opcode sequence for the LDAB instruction into the dictionary. When later executed, this code loads the operand specified by arg and mode into accumulator B.
Pronunciation:"load-accumulator-b"

 
LDD

LDD ( arg\mode -- )

Compiles the opcode sequence for the LDD instruction into the dictionary. When later executed, this code loads the operand specified by arg and mode into accumulator D.
Pronunciation:"load-d"

 
LDS

LDS ( arg\mode -- )

Compiles the opcode sequence for the LDS instruction into the dictionary. When later executed, this code loads the operand specified by arg and mode into the S register which is the return stack pointer.
Pronunciation:"load-s"

 
LDX

LDX ( arg\mode -- )

Compiles the opcode sequence for the LDX instruction into the dictionary. When later executed, this code loads the contents of the operand specified by arg and mode into index register X.
Pronunciation:"load-x"

 
LDY

LDY ( arg\mode -- )

Compiles the opcode sequence for the LDY instruction into the dictionary. When later executed, this code loads the contents of the operand specified by arg and mode into index register Y.
Pronunciation:"load-y"

 
LE

LE ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P ≤ Q using signed math. Alternate interpretation: Condition is true if the Z bit is set, or the N bit is set and V bit is clear, or the N bit is clear and the V bit is set in the condition code register.
Pronunciation:"less-than-or-equal-to"

 
LO

LO ( -- condition )

Used inside a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P < Q using unsigned math. Alternate interpretation: Condition is true if the C (carry) bit in the condition code register is set.
Pronunciation:"lower"

 
LS

LS ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P ≤ Q using unsigned math. Alternate interpretation: Condition is true if either C or Z in the condition code register is set.
Pronunciation:"lower-or-same"

 
LSL

LSL ( arg\mode -- )

Compiles the opcode sequence for the LSL instruction into the dictionary. When later executed, this code causes a logical shift left of the 8-bit operand which is specified by arg and mode. The C (carry) bit in the CCR is loaded from the most significant bit of arg, and 0 is shifted into the least significant bit.
Pronunciation:"logical-shift-left"

 
LSLA

LSLA ( -- )

Compiles the opcode sequence for the LSLA instruction into the dictionary. When later executed, this code causes a logical shift left of the contents of accumulator A. The C (carry) bit in the CCR is loaded from the most significant bit of accumulator A, and 0 is shifted into the least significant bit.
Pronunciation:"logical-shift-left-a"

 
LSLB

LSLB ( -- )

Compiles the opcode sequence for the LSLB instruction into the dictionary. When later executed, this code causes a logical shift left of the contents of accumulator B. The C (carry) bit in the CCR is loaded from the most significant bit of accumulator B, and 0 is shifted into the least significant bit.
Pronunciation:"logical-shift-left-b"

 
LSLD

LSLD ( -- )

Compiles the opcode sequence for the LSLD instruction into the dictionary. When later executed, this code causes a logical shift left of the contents of accumulator D. The C (carry) bit in the CCR is loaded from the most significant bit of accumulator D, and 0 is shifted into the least significant bit.
Pronunciation:"logical-shift-left-d"

 
LSR

LSR ( arg\mode -- )

Compiles the opcode sequence for the LSR instruction into the dictionary. When later executed, this code causes a logical shift right of the contents of the operand specified by arg and mode. The C (carry) bit in the CCR is loaded from the least significant bit of arg. A 0 is shifted into the most significant bit.
Pronunciation:"logical-shift-right"

 
LSRA

LSRA ( -- )

Compiles the opcode sequence for the LSRA instruction into the dictionary. When later executed, this code causes a logical shift right of the contents of accumulator A. The C (carry) bit in the CCR is loaded from the least significant bit of accumulator A. A 0 is shifted into the most significant bit.
Pronunciation:"logical-shift-right-a"

 
LSRB

LSRB ( -- )

Compiles the opcode sequence for the LSRB instruction into the dictionary. When later executed, this code causes a logical shift right of the contents of accumulator B. The C (carry) bit in the CCR is loaded from the least significant bit of accumulator B. A 0 is shifted into the most significant bit.
Pronunciation:"logical-shift-right-b"

 
LSRD

LSRD ( -- )

Compiles the opcode sequence for the LSRD instruction into the dictionary. When later executed, this code causes a logical shift right of the contents of accumulator D. The C (carry) bit in the CCR is loaded from the least significant bit of accumulator D. A 0 is shifted into the most significant bit.
Pronunciation:"logical-shift-right-d"

 
LT

LT ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P < Q using signed math. Alternate interpretation: Condition is true if the N bit is set and V bit is clear, or the N bit is clear and the V bit is set in the condition code register.
Pronunciation:"less-than"

 
MI

MI ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q = R, indicates the condition R < 0 using signed math. Alternate interpretation: Condition is true if the N bit in the condition code register is set.
Pronunciation:"minus"

 
MUL

MUL ( -- )

Compiles the opcode sequence for the MUL instruction into the dictionary. When later executed, this code multiplies the contents of accumulator A by the contents of accumulator B and stores the result in accumulator D.
Pronunciation:"multiply"

 
NE

NE ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q, indicates the condition P not equal to Q. Alternate interpretation: Condition is true if the Z bit in the condition code register is clear.
Pronunciation:"not-equal"

 
NEG

NEG ( arg\mode -- )

Compiles the opcode sequence for the NEG instruction into the dictionary. When later executed, this code replaces the contents of the operand specified by arg and mode with its twos complement which is formed by inverting the state of each bit and adding 1.
Pronunciation:"negate"

 
NEGA

NEGA ( -- )

Compiles the opcode sequence for the NEGA instruction into the dictionary. When later executed, this code replaces the contents of accumulator A with its twos complement which is formed by inverting the state of each bit and adding 1.
Pronunciation:"negate-a"

 
NEGB

NEGB ( -- )

Compiles the opcode sequence for the NEGB instruction into the dictionary. When later executed, this code replaces the contents of accumulator B with its twos complement which is formed by inverting the state of each bit and adding 1.
Pronunciation:"negate-b"

 
NEVER

NEVER ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. Indicates a "never true" condition.

 
NOP

NOP ( -- )

Compiles the opcode sequence for the NOP instruction into the dictionary. When later executed, this code does nothing.
Pronunciation:"no-op"

 
ORAA

ORAA ( arg\mode -- )

Compiles the opcode sequence for the ORAA instruction into the dictionary. When later executed, this code performs a logical OR operation between the contents of accumulator A and the contents of the operand specified by arg and mode. The result is stored in accumulator A.
Pronunciation:"or-accumulator-a"

 
ORAB

ORAB ( arg\mode -- )

Compiles the opcode sequence for the ORAB instruction into the dictionary. When later executed, this code performs a logical OR operation between the contents of accumulator B and the contents of the operand specified by arg and mode. The result is stored in accumulator B.
Pronunciation:"or-accumulator-b"

 
PL

PL ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. Used after a comparison of the form P - Q = R, indicates the condition R ≥ 0 using signed math. Alternate interpretation: Condition is true if the N bit in the condition code register is clear.
Pronunciation:"plus"

 
PSHA

PSHA ( -- )

Compiles the opcode sequence for the PSHA instruction into the dictionary. When later executed, this code stores the contents of accumulator A at the next available location on the return stack pointed to by the S register and decrements the S register.
Pronunciation:"push-a"

 
PSHB

PSHB ( -- )

Compiles the opcode sequence for the PSHB instruction into the dictionary. When later executed, this code stores the contents of accumulator B at the next available location on the return stack pointed to by the S register and decrements the S register.
Pronunciation:"push-b"

 
PSHX

PSHX ( -- )

Compiles the opcode sequence for the PSHX instruction into the dictionary. When later executed, this code stores the contents of index register X at the next available locations on the return stack pointed to by the S register and decrements the S register by 2.
Pronunciation:"push-x"

 
PSHY

PSHY ( -- )

Compiles the opcode sequence for the PSHY instruction into the dictionary. When later executed, this code stores the contents of index register Y at the next available locations on the return stack pointed to by the S register and decrements the S register by 2.
Pronunciation:"push-y"

 
PULA

PULA ( -- )

Compiles the opcode sequence for the PULA instruction into the dictionary. When later executed, this code pops the top value off the return stack (pointed to by the S register) into accumulator A and increments the S register.
Pronunciation:"pull-a"

 
PULB

PULB ( -- )

Compiles the opcode sequence for the PULB instruction into the dictionary. When later executed, this code pops the top value off the return stack (pointed to by the S register) into accumulator B and increments the S register.
Pronunciation:"pull-b"

 
PULX

PULX ( -- )

Compiles the opcode sequence for the PULX instruction into the dictionary. When later executed, this code pops the top 2 bytes off the return stack (pointed to by the S register) into index register X and increments the S register by 2.
Pronunciation:"pull-x"

 
PULY

PULY ( -- )

Compiles the opcode sequence for the PULY instruction into the dictionary. When later executed, this code pops the top 2 bytes off the return stack (pointed to by the S register) into index register Y and increments the S register by 2.
Pronunciation:"pull-y"

 
REL

REL ( -- mode )

Used within a code definition, leaves a constant on the stack indicating that the relative addressing mode should be used by an instruction opcode.
Pronunciation:"relative"

 
REPEAT,

REPEAT, ( -- )

REPEAT, is used to designate the end of an assembly coded

BEGIN,          . . . .
condition.flag WHILE,    . . . .
REPEAT,

structure.

See also BEGIN, and WHILE,
Pronunciation:"repeat-comma"

 
ROL

ROL ( arg\mode -- )

Compiles the opcode sequence for the ROL instruction into the dictionary. When later executed, this code shifts the bits in the operand specified by arg and mode left by one bit. The C (carry) bit is shifted into the least significant bit of arg, and the most significant bit in arg is shifted into C.
Pronunciation:"rotate-left"

 
ROLA

ROLA ( -- )

Compiles the opcode sequence for the ROLA instruction into the dictionary. When later executed, this code shifts the bits in accumulator A left by one bit. The C (carry) bit is shifted into the least significant bit of accumulator A, and the most significant bit in accumulator A is shifted into C.
Pronunciation:"rotate-left-a"

 
ROLB

ROLB ( -- )

Compiles the opcode sequence for the ROLB instruction into the dictionary. When later executed, this code shifts the bits in accumulator B left by one bit. The C (carry) bit is shifted into the least significant bit of accumulator B, and the most significant bit in accumulator B is shifted into C.
Pronunciation:"rotate-left-b"

 
ROR

ROR ( arg\mode -- )

Compiles the opcode sequence for the ROR instruction into the dictionary. When later executed, this code shifts the bits in the operand specified by arg and mode right by one bit. The C (carry) bit is shifted into the most significant bit of arg, and the least significant bit in arg is shifted into C.
Pronunciation:"rotate-right"

 
RORA

RORA ( -- )

Compiles the opcode sequence for the RORA instruction into the dictionary. When later executed, this code shifts the bits in accumulator A right by one bit. The C (carry) bit is shifted into the most significant bit of accumulator A, and the least significant bit in accumulator A is shifted into C.
Pronunciation:"rotate-right-a"

 
RORB

RORB ( -- )

Compiles the opcode sequence for the RORB instruction into the dictionary. When later executed, this code shifts the bits in accumulator B right by one bit. The C (carry) bit is shifted into the most significant bit of accumulator B, and the least significant bit in accumulator B is shifted into C.
Pronunciation:"rotate-right-b"

 
RTI

RTI ( -- )

Compiles the opcode sequence for the RTI instruction into the dictionary. When later executed, this code restores accumulators A and B, and registers X, Y and PC with values pulled from the stack.
Pronunciation:"return-from-interrupt"

 
RTS

RTS ( -- )

Compiles the opcode sequence for the RTS instruction into the dictionary. When later executed, this code restores the program counter with a value pulled from the stack, thereby resuming execution just after the point where the subroutine was called.
Pronunciation:"return-from-subroutine"

 
SBA

SBA ( -- )

Compiles the opcode sequence for the SBA instruction into the dictionary. When later executed, this code subtracts the contents of accumulator B from accumulator A and stores the result in accumulator A. The contents of accumulator B are not affected.
Pronunciation:"subtract-b-from-a"

 
SBCA

SBCA ( arg\mode -- )

Compiles the opcode sequence for the SBCA instruction into the dictionary. When later executed, this code subtracts the contents of the operand specified by arg and mode and the contents of C from accumulator A and stores the result in accumulator A.
Pronunciation:"subtract-with-carry-a"

 
SBCB

SBCB ( arg\mode -- )

Compiles the opcode sequence for the SBCB instruction into the dictionary. When later executed, this code subtracts the contents of the operand specified by arg and mode and the contents of C from accumulator B and stores the result in accumulator B.
Pronunciation:"subtract-with-carry-b"

 
SEC

SEC ( -- )

Compiles the opcode sequence for the SEC instruction into the dictionary. When later executed, this code sets the C (carry) bit in the condition code register.
Pronunciation:"set-carry"

 
SEI

SEI ( -- )

Compiles the opcode sequence for the SEI instruction into the dictionary. When later executed, this code sets the I (global interrupt enable) bit in the condition code register. When the I bit is set, all maskable interrupts are disabled.
Pronunciation:"set-interrupt-mask"

 
SEV

SEV ( -- )

Compiles the opcode sequence for the SEV instruction into the dictionary. When later executed, this code sets the V (2's complement overflow) bit in the condition code register.
Pronunciation:"set-overflow-bit"

 
STAA

STAA ( arg\mode -- )

Compiles the opcode sequence for the STAA instruction into the dictionary. When later executed, this code stores the contents of accumulator A into the effective address specified by arg and mode.
Pronunciation:"store-accumulator-a"

 
STAB

STAB ( arg\mode -- )

Compiles the opcode sequence for the STAB instruction into the dictionary. When later executed, this code stores the contents of accumulator B into the effective address specified by arg and mode.
Pronunciation:"store-accumulator-b"

 
STD

STD ( arg\mode -- )

Compiles the opcode sequence for the STD instruction into the dictionary. When later executed, this code stores the contents of accumulator D into the effective address specified by arg and mode.
Pronunciation:"store-d"

 
STOP

STOP ( -- )

Compiles the opcode sequence for the STOP instruction into the dictionary. When later executed, this code halts all system clocks and places the system in a minimum power consumption mode if the S bit in the CCR register is clear. If the S bit is set, STOP is disabled and acts like a NOP. Recovery is accomplished by a reset, or an active low signal on XIRQ, or a non-masked IRQ interrupt.

 
STS

STS ( arg\mode -- )

Compiles the opcode sequence for the STS instruction into the dictionary. When later executed, this code stores the contents of the S register (which is the return stack pointer) at the effective address specified by arg and mode.
Pronunciation:"store-s"

 
STX

STX ( arg\mode -- )

Compiles the opcode sequence for the STX instruction into the dictionary. When later executed, this code stores the contents of index register X at the effective address specified by arg and mode.
Pronunciation:"store-x"

 
STY

STY ( arg\mode -- )

Compiles the opcode sequence for the STY instruction into the dictionary. When later executed, this code stores the contents of index register Y at the effective address specified by arg and mode.
Pronunciation:"store-y"

 
SUBA

SUBA ( arg\mode -- )

Compiles the opcode sequence for the SUBA instruction into the dictionary. When later executed, this code subtracts the operand specified by arg and mode from the contents of accumulator A and places the result in accumulator A.
Pronunciation:"subtract-a"

 
SUBB

SUBB ( arg\mode -- )

Compiles the opcode sequence for the SUBB instruction into the dictionary. When later executed, this code subtracts the operand specified by arg and mode from the contents of accumulator B and places the result in accumulator B.
Pronunciation:"subtract-b"

 
SUBD

SUBD ( arg\mode -- )

Compiles the opcode sequence for the SUBD instruction into the dictionary. When later executed, this code subtracts the contents of the operand specified by arg and mode from the contents of accumulator D and places the result in accumulator D.
Pronunciation:"subtract-d"

 
SWI

SWI ( -- )

Compiles the opcode sequence for the SWI instruction into the dictionary. When later executed, this code invokes a software interrupt. It stores the CCR, accumulators A and B, and registers X, Y and PC on the stack. The stack pointer is decremented by 1 for each byte stored on the stack. The I bit in the CCR register is set. The PC register is then loaded with the address located at the interrupt vector for SWI, and instruction execution resumes at this location.
Pronunciation:"software interrupt"

 
TAB

TAB ( -- )

Compiles the opcode sequence for the TAB instruction into the dictionary. When later executed, this code transfers the contents of accumulator A to accumulator B.
Pronunciation:"transfer-a-to-b"

 
TAP

TAP ( -- )

Compiles the opcode sequence for the TAP instruction into the dictionary. When later executed, this code transfers the contents of accumulator A to the condition code register.
Pronunciation:"transfer-a-to-condition-code-register"

 
TBA

TBA ( -- )

Compiles the opcode sequence for the TBA instruction into the dictionary. When later executed, this code transfers the contents of accumulator B to accumulator A.
Pronunciation:"transfer-b-to-a"

 
TEST

TEST ( -- )

Compiles the opcode sequence for the TEST instruction into the dictionary. When later executed, this code causes the PC to be continuously incremented. This instruction can only be executed when the CPU is configured to operate in test mode. If executed in any mode other than test, the instruction is treated as an illegal opcode.

 
THEN,

THEN, ( -- )

THEN, is used in assembly coded routines to mark the end of a conditional IF, structure. It is a synonym for ENDIF,.

See also ENDIF,
Pronunciation:"then-comma"

 
TPA

TPA ( -- )

Compiles the opcode sequence for the TPA instruction into the dictionary. When later executed, this code transfers the contents of the condition code register into accumulator A.
Pronunciation:"transfer-condition-code-register-to-a"

 
TST

TST ( arg\mode -- )

Compiles the opcode sequence for the TST instruction into the dictionary. When later executed, this code subtracts zero from the contents of the operand specified by arg and mode and sets the condition code register's bits accordingly. The operand is unaffected by the subtraction.
Pronunciation:"test"

 
TSTA

TSTA ( -- )

Compiles the opcode sequence for the TSTA instruction into the dictionary. When later executed, this code subtracts zero from the contents of accumulator A and sets the condition code register's bits accordingly. Accumulator A is unaffected.
Pronunciation:"test-a"

 
TSTB

TSTB ( -- )

Compiles the opcode sequence for the TSTB instruction into the dictionary. When later executed, this code subtracts zero from the contents of accumulator B and sets the condition code register's bits accordingly. Accumulator B is unaffected.
Pronunciation:"test-b"

 
TSX

TSX ( -- )

Compiles the opcode sequence for the TSX instruction into the dictionary. When later executed, this code loads index register X with one plus the contents of the S register (which is the return stack pointer). After this operation the X register points to the top item on the return stack.
Pronunciation:"transfer-stack-to-x"

 
TSY

TSY ( -- )

Compiles the opcode sequence for the TSY instruction into the dictionary. When later executed, this code loads index register Y with one plus the contents of the S register (which is the return stack pointer). After this operation the Y register points to the top item on the return stack.
Pronunciation:"transfer-s-to-y"

 
TXS

TXS ( -- )

Compiles the opcode sequence for the TXS instruction into the dictionary. When later executed, this code loads the S register (which is the return stack pointer) with the contents of the index register X minus one.
Pronunciation:"transfer-x-to-s"

 
TYS

TYS ( -- )

Compiles the opcode sequence for the TYS instruction into the dictionary. When later executed, this code loads the S register (which is the return stack pointer) with the contents of the index register Y minus one.
Pronunciation:"transfer-y-to-s"

 
UNTIL,

UNTIL, ( condition -- )

UNTIL, designates the end of an assembly coded looping structure and resolves branch instructions according to the specified condition. Use as:

BEGIN,       . . . code to be executed . . .
condition UNTIL,

If the condition is true, the loop terminates and execution continues with the code following UNTIL,. If the condition is false, looping continues and execution passes to the code following BEGIN,.
Pronunciation:"until-comma"

 
VC

VC ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. The condition is true when the V (2's complement overflow) flag in the condition code register is 0.
Pronunciation:"overflow-clear"

 
VS

VS ( -- condition )

Used within a code definition, leaves a condition flag on the data stack. The condition is true when the V (2's complement overflow) flag in the condition code register is 1.
Pronunciation:"overflow-set"

 
WAI

WAI ( -- )

Compiles the opcode sequence for the WAI instruction into the dictionary. When later executed, this code saves the condition code register, accumulators A and B, and register X, Y and PC on the stack. The stack pointer is decremented for each byte stored. The CPU the enters a lower power consumption mode, while waiting for an interrupt which has not been masked. When an interrupt is recognized, the CPU sets the I bit in the CCR, and execution resumes at the address stored in the appropriate interrupt vector.
Pronunciation:"wait-for-interrupt"

 
WHILE,

WHILE, ( condition -- )

WHILE, is used in assembly coded routines to mark the beginning of a the "while true" portion of a BEGIN, . . . WHILE, . . . REPEAT, loop. Use as:

BEGIN,       . . . .
condition WHILE,   . . . .
REPEAT,

When executed, WHILE, causes a branch instruction to be compiled into the dictionary.

When the compiled code is executed:

If the condition is true, the loop continues and the code between WHILE, and REPEAT, are executed, after which control is transferred to the code following BEGIN,. If the condition is false, the loop terminates and execution continues with the code following REPEAT,.
Pronunciation:"while-comma"

 
XGDX

XGDX ( -- )

Compiles the opcode sequence for the XGDX instruction into the dictionary. When later executed, this code exchanges the contents of accumulator D with the contents of index register X.
Pronunciation:"exchange-d-and-x"

 
XGDY

XGDY ( -- )

Compiles the opcode sequence for the XGDY instruction into the dictionary. When later executed, this code exchanges the contents of accumulator D with the contents of index register Y.
Pronunciation:"exchange-d-and-y"

 
This page is about: Assembly Language Directives and Functions for Forth Programming Language and Multitasking RTOS – Documents the assembly language programming primitives and functions available within the V4.4 Forth environment.
 
 
Navigation