Hello all,
if you are going to change the behaviour of ASSEMBLER concerning continuation
etc., I would like to tell you about TAS, the TELEFUNKEN ASSEMBLER, which was
used on TELEFUNKEN Hardware in the 70ies.
TAS was completely format free. You could even put more instructions in one
line, because they could be separated by semicolon.
So you could write the following IBM example
LA R5,100
LA R6,0
LOOP DS 0H
AR R6,R5
BCT R5,LOOP
like this
LA R5,100;LA R6,0;
LOOP DS 0H;AR R6,R5;BCT R5,LOOP;
This was very fine for some compilers etc., which produced ASSEMBLER instead of
machine code. The lines also had no limit on length, if I recall it correctly.
The name fields, instructions and operands can be distinguished anyway. You
count the number of blank separated fields in one instruction. If it is two,
you have instruction and operand, three: name, instruction, operand; four:
name, instruction, operand, comment.
In TAS, there were also comments like this: -- COMMENT --
These comments could be put anywhere.
And there were literals consisting of many lines. You could for example
code something like
LA R5,(TAB DC H'3',DC CL8'OPEN',DC CL8'FETCH',DC CL8'CLOSE');
This loads the address of TAB (consisting of a length field and three
8-byte-words) in R5. And it defines TAB for use outside of this instruction.
This was possible, because the ( and the , were free for that use, which is not
the case with IBM ASSEMBLER. So, if you want to extend IBM ASSEMBLER in a
similar way, you would have to choose other symbols (for example =, but you
need a opening and a closing symbol).
Sure, if you put new features in the IBM ASSEMBLER, you will always have to
look for compatibility, so that the old sources will still assemble without
problems. But with the semicolon rule outlined above, I find this possible.
But:
- is this really useful to anybody ?
- do you want to bring new things into ASSEMBLER ? If I'm right, ASSEMBLER is
not used any more inside IBM, because even new OS releases are written in C.
So maybe nobody is interested in investing in ASSEMBLER.
Some other history on this: some day we had an error connecting old ASSEMBLER
programs with a new LE version, and the answer of the IBM representative was:
"customer should not use ASSEMBLER" :-)
And another word to the TELEFUNKEN hardware: at that time, it was almost as
powerful as the IBM 370s, but it was anyway no big success in Germany,
only about 50 machines, because the hardware was some kind of out-dated (core
memory etc.). And I guess, the machine and the operating system concepts were
too ambitioned and too complicated for that time, so nobody understood them
(only a few nerds at universities etc.). And the customers wanted standard
software, which was not available for this exotic hardware. There were
compilers for FORTRAN, ALGOL, COBOL, PL/1, PASCAL etc., but the programs
written for other hardware were not very portable at that time. So the
TELEFUNKEN computer TR 440 had no offspring, manufacturing was stopped in 1979.
(The PL/1 compiler was in fact a port of the MULTICS PL/1 compiler, the MULTICS
people sold this compiler to TELEFUNKEN in 1973. If you are interested, look at
the MULTICS pages).
Maybe this whole discussion is kind of historical. But in these days between
christmas and new year, we also should have time for such discussion.
I wish you all a happy new year with many interesting ASSEMBLER issues, have
fun.
Regards
Bernd Oppolzer
|