News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

First Assembler

Started by ozzy_85, April 24, 2006, 04:21:59 AM

Previous topic - Next topic

ozzy_85

In which language was the first assembler codede... it is possible to write an assembler in assembly language... how???

Vortex

It was probably coded in machine code.

zcoder

ozzy_85,
I don't really know the answer to that.
But I first wrote one for the Z80 by writing it on paper in assembly then hunting
up the OP codes and poking them into a E-Prom.

So I know it can be done in HEX after you yourself have done the converting
by hand. The problems with this is you make a misstake you have to stop and
erase the E-Prom and start over, so you don't want to do something like this
late at night.


Zcoder....
Back in 1979, My computer ran so fine.
And there was no such thing,
As a Microsoft Crashed Machine.
http://zcoder.110mb.com
http://www.dietzel.com/partner/idevaffiliate.php?id=345_6  Free Domain Names

ozzy_85


Wistrik

The first one I played with was written in BASIC. It was slow, of course, but got the job done. Later I moved on to an assembler written in assembly, which was much more compact and much, much faster.

asmfan

Huh... interesting question:) it's like - what was the first chicken or egg... But i know (read it in Flambeaux's Tech Help!) that old CPUs had BASIC interpreter in them... true? dont know...
Russia is a weird place

MichaelW

Yes, the IBM PC had a BASIC interpreter, produced by Microsoft AFAIK, stored in four 8K ROMs, with the BIOS in a fifth 8K ROM.

According to this Nathaniel Rochester wrote the first assembler in 1954 for the IBM 701. And according to this he had the ability to "prepare programs and test these programs on paper", and wrote the first assembler at home, apparently on paper. But this still does not answer the question of what language, because there is no indication of how he did any of this. Did he work directly in machine code, or was he using some sort of manual symbolic assembler?

eschew obfuscation

MaynardG_Krebs

I've read of something called microcode which is used by chip manufacturers and is kept as a proprietary secret. I was just wondering what it is and where it fits in the scheme of things? Somewhere between machine code and opcodes maybe?

ozzy_85

hi MayanardG,

a microinstruction does not lie between a machine instruction and an opcode... microinstructions are at a lower lever than machine instructions, as a matter of fact all machine instructions can be mapped to one or more microinstructions ie., a machince instruction implements a microinstruction just as a high level language implements machine instructions.

and i don't think a programmer has direct access to microinstructions... 

writing an assembler in microcode may not be possible...

regards.

zcoder

Anyone with a mind, knows the true answer to this is question.
and it has to be that it was first hand coded as bytes or hex
onto some form of media.

this is like evalution, man may have came from cells that formed him the hard way.
but after he was made, sex made it easier to produce him there after.
the question then is how did these cells know to make a male amd female???


Zcoder....
Back in 1979, My computer ran so fine.
And there was no such thing,
As a Microsoft Crashed Machine.
http://zcoder.110mb.com
http://www.dietzel.com/partner/idevaffiliate.php?id=345_6  Free Domain Names

tenkey

Quote from: asmfan on April 24, 2006, 07:13:03 PM
Huh... interesting question:) it's like - what was the first chicken or egg... But i know (read it in Flambeaux's Tech Help!) that old CPUs had BASIC interpreter in them... true? dont know...

Not true for the "ancient" computers.

BASIC was created in 1963 at Dartmouth College, according to Wikipedia. There's a link to a PDF version of Dartmouth's original manual in the article.

But a number of commercial computers were created during the 1950s.
A programming language is low level when its programs require attention to the irrelevant.
Alan Perlis, Epigram #8

hutch--

There is something missing in the responses, the first assembler was coded in HARDWARE and this means that the first processing capacity contained something like an instruction set. You are going back to the 1940s to people like Von Neuman and similar. Computers of the 50s were powered by radio valves (vacuum tubes). By the early 60s you had core memory storage and recordable media on both magnetic tape and early rotating hard disks. Microprocessors came about somewhere in the 70s with transistor technology when enough transistors could be built on the same silicon wafer. Earlier transistors were based on germanium, lower resistence but higher leakage.

From the earliest working examples in the late 40s, early 50s they sequentially ran instructions and these instructions were built in hardware. It was only after the machnes got big enough to try and run more complex sequences of instructions that a level of abstraction was required which was a shift fom OCTAL notation directly into the core memory to something as high level as an assembler.

From then till now, the rest is by degree but the basic Von Neuman architecture is still there for single processors, multiple parallel processors are still currently Von Neuman machines with synchronisation hardware and other variations like common memory.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

KSS

Mr. Hutch--,
Thank You for your Article!!! :U

It was always interesting to me how the first assembler has been written.
Now I shall sleep much more better. :bg

PBrennick

Yeah, I remember the '70s.  Poking instructions into D4 EPROM Burners with a hexadecimal keypad for a keyboard and 6 LEDs for a monitor.  Not anything I would want to do again but it was fun then.  I remember once sitting on a rug in the living room programming EPROMs to be used in machinary in the Plastics field and I, without thinking, took the EPROM out of the ZIF and placed it on the rug.  I caught a tiny spark out of the corner of my eye and the EPROM instantly became a ROM. Was I ever PO'd!

I hate typos, so I edit...

Paul
The GeneSys Project is available from:
The Repository or My crappy website

Roger

Hi All,

Quote from: hutch-- on April 26, 2006, 12:56:01 AM
There is something missing in the responses,
Yes
Quote from: hutch-- on April 26, 2006, 12:56:01 AM
You are going back to the 1940s to people like Von Neuman and similar.
In the 1940 a computer was a person who computed, just as in the 1900s a typewriter was a person whe used a machine to write with. It would seem in the context of the day that an assembler was a person who assembled programmes and the first one may well have been Miss Ada Lovelace in the 1840s
Quote
From the earliest working examples in the late 40s, early 50s they sequentially ran instructions and these instructions were built in hardware.
It is not the instructions  but the mechanisms to execute the instructions that are built in hardware.
Maybe, in the 1930s and 40s fixed sequences of operations were built in or wired on patch boards but these machines were really what we would now call callculators.
By the 1950s the concept of stored programme has been realised and programming a computer has become a distinct  process seperate from designing a computer.
Quote
It was only after the machnes got big enough to try and run more complex sequences of instructions that a level of abstraction was required which was a shift fom OCTAL notation directly into the core memory to something as high level as an assembler.
The Manchester mark 1 used base 32 not octal.  AUTOCODER  was writen for it in 1952. It translated symbolic statements into  machine code which was then known as 'order code'. I don't know if it was strictly one to one so it may have been somewhat more than just an assembler but it must have been the first.


Quote from: PBrennick on April 26, 2006, 12:48:35 PM
Yeah, I remember the '70s. Poking instructions into D4 EPROM Burners with a hexadecimal keypad for a keyboard and 6 LEDs for a monitor. Not anything I would want to do again but it was fun then. I remember once sitting on a rug in the living room programming EPROMs to be used in machinary in the Plastics field and I, without thinking, took the EPROM out of the ZIF and placed it on the rug. I caught a tiny spark out of the corner of my eye and the EPROM instantly became a ROM. Was I ever PO'd!

I hate typos, so I edit...
I built a home brewed 8080 in 1973-1974 but I was lucky, I could programme the PROMs on a 4004 based Intelec MCS4 system at my place of work.
I typed in the 8080 machine code in hex which was dumped onto punched paper tape.
The first programme I wrote was an cross-unassembler. The unassembler was loaded from tape and this read the 8080 tape and printed it out ias an assembly listing so that I could check it. Then I would use the Intelec to programme the EPROM. At least it found some typos and and saved aiteration of the  24 hour development cycle (72 hours weekends).

Regards Roger