Hobby Cross Assembler T_XX


Copyright (C) 2004-2013 by Anton Treuenfels


License and Terms

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Page Top


Contact Information

Snail-mail:

E-mail:

Page Top


Scope of This Document

HXA is designed to be fairly portable between various processors.

This document describes the imaginary "T_XX" family of test processors and the portions of the HXA_T variant of HXA dependent upon them.

HXA_T is the assembler used for all general test and demonstration programs.

Page Top


Related Resources

HXA

HXA_T

Page Top


Hardware and Software Requirements

HXA for Windows

HXA for MS-DOS

Page Top


Executing HXA_T

HXA_T accepts a single filename as a command-line argument:

HXA_T filename

There are no other command-line arguments, options or switches.

Page Top


Predefined Label

In addition to the __HXA__ built-in label defined by all HXA variants, HXA_T defines a variant identifier label:

Name Value
__HXA_T__ TRUE

This label may be used anywhere but is intended mainly for <hxa:IF--DEF|"IFDEF"> conditional blocks.

Page Top


T_XX Processors

The "T_XX" family is an imaginary processor series created for the purpose of testing all the components of HXA which do not depend upon any particular processor.

"T_XX" processors currently share only three attributes with real processors:

The "T_xx" family was created in 2004. Although primarily created to test HXA, this variant can also be used to assemble real processor instruction sets implemented as macro include files. Examples of these are found among the general demo programs.

Page Top


Instruction Set

None.

Page Top


CPU Descriptor

A cpu descriptor is a string with a defined format that specifies processor-specific information such as program counter width and native byte orientation. All supported processors are required to provide one in order that the remainder of HXA "understands" how to deal with them.

In the case of the "T_XX" family there is no distinction between a cpu name and a cpu descriptor . That is, a "T_XX" descriptor is its name. The descriptor is publicly exposed, as oppsed to other processors, which generally hide their descriptors.

Descriptors take the form T_ PC_Width _ Byte_Order[Byte_Size] .

Examples:
Name PC Size Multi-Octet Order "Byte" Size
T_08_L 8 bits least significant first 8 bits
T_16_L08 16 bits least significant first 8 bits
T_24_M16 24 bits most significant first 16 bits
T_32_M32 32 bits most significant first 32 bits

Page Top


ASSUME Pseudo Opcode

HXA_T simply echoes every string given to it by the "ASSUME" pseudo op.

For testing purposes HXA_T also reports an error for any string which contains the substring reject .

Page Top


Last revised: Tue Sep 17 11:22:43 2013