Tasm

Only available on StudyMode
  • Topic: Assembly language, Compiler, Source code
  • Pages : 44 (10524 words )
  • Download(s) : 361
  • Published : November 21, 2011
Open Document
Text Preview
TASM Transputer Assembler User Guide

TASM Version 91.1
5/15/91

Copyright 1986-1991 by Logical Systems

Contents

1 Introduction
Overview
System Requirements
2 Usage

Examples
Option Information
Option Descriptions
3 TASM Assembly Language Syntax & Semantics TASM Assembly Language Introduction TASM Pseudo-Opcodes Sample TASM Program
Assembly Language Listing Format
Assembly Language & Macros
Operational Statistics
Using the Preprocessor with TASM
Notes on Using the Preprocessor
4 Appendix A: Error Messages
Types of Error Messages
Error Message Descriptions
5 Appendix B: Transputer Instruction Set
Direct Functions
Indirect Functions
6 Appendix C: TASM Internals
Source Code Organization and Compiling
Transputer Toolset TASM Transputer Assembler

Introduction

Overview

TASM is a relocating assembler for INMOS Transputers. It supports standard INMOS mnemonics and allows splitting a program into separate pieces which are combined at linkage time. TASM is designed to be used in two ways:

1. As a post-pass to the TCX "C" compiler. The compiler generates an assembly language output file and TASM is used to turn it into relocatable format. The advantage of this scheme is the fact that the compiler can allow in-line assembly language without having to also have a redundant assembler built in.

2. As a stand-alone tool for doing assembly language programming on the Transputer. In this role it is often combined with the preprocessor from the "C" compiler (PP), which allows multi-line recursive macros, conditional assembly, include files, etc. TASM has been designed to be used with PP and can parse information PP provides to generate an assembly listing of source code which may have originated in many different files and been subsequently combined by PP.

The architecture of the Transputer requires that some of the code generation be delayed until the linker/locater stage to insure minimum length prefix strings are generated for all instructions. TASM supports this by determining which instructions can be "finished" and which cannot at assembly time. TASM finishes those which can be and provides information to the linker (TLNK), about the others.

TASM uses a multiple pass algorithm to determine which instructions can be "finished" and what the corresponding minimum length instruction prefix strings should be. The algorithm used doesn't guarantee minimum length prefixes in all cases (generating a minimum length program is a theoretically "hard" problem), but does a pretty fair job in a moderate amount of time.

System Requirements

TASM requires approximately 256K of program memory space to run. It should run in any environment which supports other major system development tools (compilers, etc). TASM does use a fair bit of disk space with temporary, output, and listing files. As an estimate, you should have disk space available that is twice the size of the input file for the temporary files, and space equal to the size of the input file for the output file (both types of files will be used at the same time when TASM is generating the output file). If you wish to generate a listing file you should have additional space available equal to twice the input file size. Note that a fair amount of I/O is done to the temporary files and they should be located on the fastest mass storage device available (see Usage section below for more information on how to specify this).

2
TASM Transputer Assembler Transputer Toolset

Usage

The general form of the TASM command line is:

tasm <input_filename> [<temp_directory>] [-[options]*]*

The basic idea is to specify the required input filename (complete with filename extension if...
tracking img