Browse Prior Art Database

Method for Supporting Multiple Hardware Platforms with One Assembler

IP.com Disclosure Number: IPCOM000114695D
Original Publication Date: 1995-Jan-01
Included in the Prior Art Database: 2005-Mar-29
Document File: 2 page(s) / 96K

Publishing Venue

IBM

Related People

Chibib, A: AUTHOR [+4]

Abstract

Disclosed is a method to enable one to assemble a source program for multiple target platforms. It addresses a requirement of a common assembler that will support multiple hardware architectures and implementation platforms such as POWER and PowerPC* architectures; RIOS/1, RIOS/2, or 601 platform. The multiple target environment scopes can be nested in one sorurce program.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Method for Supporting Multiple Hardware Platforms with One Assembler

      Disclosed is a method to enable one to assemble a source
program for multiple target platforms.  It addresses a requirement of
a common assembler that will support multiple hardware architectures
and implementation platforms such as POWER and PowerPC*
architectures;
RIOS/1, RIOS/2, or 601 platform.  The multiple target environment
scopes
can be nested in one sorurce program.

      Assemblers are usually targeted for a specific CPU processor.
POWER and PowerPC architectures have various implementation
platforms, which share a very large percentage of common instructions
with an insignificant set of unique instructions.  It is not an
effective strategy to build an individual assembler for each
architecture or platform.  In addition, in a distributed environment,
it is a requirement to assemble source programs in a location other
than where the object code executes.  A common assembler is desired
to do assembling for such architectures or implementation platforms
regardless of the host machine on which the assembler runs.

      The assembler is often used by applications that require one
source program to run on multiple platforms.  Therefore saving and
restoring the current target platform is a key requirement when such
a common assembler is introduced.

      The AIX V4.1 Assembler will support the POWER and PowerPC
architectures and their implementation platforms.  The assembly
instruction table will carry all the instructions of them so that a
source program can be assembled for any of the architectures or
platforms.

      An assembly option flag '-m' is added to indicate the intended
target environment, i.e., a specific architecture or platform.  It is
also called assembly mode.  The Assembler will report errors if a
source program contains instructions that are not implemented in the
intended target environment.  In addition, a pseudo op ".machine" is
added.  It serves the same purpose as the '-m' option flag except it
has a higher priority than the '-m' flag.  The ".machine" pseudo op
can also appear in a source program more than once.  The later
".machine" instruction will overwrite the previous one.

      If a source program defines several target environment scopes
which are nested instead of separated, the current assembly mode can
be saved by using the key word "push" as the argument to the
".machine" pseudo-op.  The saved assembly mode can be restored later
by using t...