Jump to content
IGNORED

How did the assembly language come to be?


bluejay

Recommended Posts

How did assembly language come into existence? Did early assemblers from the 70s and 80s have the various functions new assemblers now come with(such as defining variables, etc.) or were they simply translating each hex value into legible text and numbers?

I would imagine someone back in the day trying to program an microprocessor in hex decided to give each opcode a name to make it easier to read and write, and later wrote software to automatically translate those names into hex values, ready to be computed, which became the first assembler. Or was the assembler invented alongside the microprocessor from the start?

  • Like 1
Link to comment
Share on other sites

Assembly language as such predates microprocessors. For instance IBM released BAL for System/360 in 1964.

 

Per Wikipedia, Kathleen Booth is credited for have invented assembly language in circa 1947. The first mnemonics consisted of one letter each and were created by David Wheeler 1948. The term and concept then were used through the 1950's. The first computer /not/ programmed entirely in assembly language was the Burroughs MCP from 1961.

https://en.wikipedia.org/wiki/Assembly_language#Historical_perspective

Edited by carlsson
  • Like 2
Link to comment
Share on other sites

Assembly went well beyond just including a mnemonic for each instruction and having a variable as a label for a memory location. The PDP-8 assembler included many mnemonics for what would be library routines in normal syntax. The PDP-8 has very few instructions. The I/O mnemonics would direct I/O to the correct device without needing a dozen instructions to send data to the correct destination. That was back in 1965 and based on the PDP-5 assembler from 1963. Assembler concepts were established fairly early on. https://tangentsoft.com/pidp8i/wiki?name=A+Field+Guide+to+PDP-8+Assemblers

  • Like 2
Link to comment
Share on other sites

Wow, never guessed assembly language would be older than the microprocessors. I'm really not familiar with minicomputers or computers with TTL instead of microprocessors, so I'm not entire sure how these worked, but still, it's very interesting.

Link to comment
Share on other sites

I'm no expert, but microprocessors mostly seem to be about miniatyrization of existing tech, integrating a lot of transistors into a chip. Storage media existed much earlier of course, otherwise the advent of programmable computers would've been somewhere around 1972 which didn't explain how many popular programming languages could have been created years before.

  • Like 2
Link to comment
Share on other sites

On 1/14/2021 at 9:28 PM, bluejay said:

How did assembly language come into existence? Did early assemblers from the 70s and 80s have the various functions new assemblers now come with(such as defining variables, etc.) or were they simply translating each hex value into legible text and numbers?

I would imagine someone back in the day trying to program an microprocessor in hex decided to give each opcode a name to make it easier to read and write, and later wrote software to automatically translate those names into hex values, ready to be computed, which became the first assembler. Or was the assembler invented alongside the microprocessor from the start?

If you look at some early microprocessor based computers of the 1970s like the altair 8800, you'll see a series of switches and lights.  The switches are used to select addresses and enter data in binary, and lights show data and addressess in binary.  Teletype interfaces came later and were relatively expensive.  Programming these early microprocessor computers was done in binary, not even hex.  At the same time more expensive minicomputers had video terminals and higher level language compilers.  The earliest mainframe computers could have had access to teletype interfaces but were still programmed in binary using switches or punch cards, until assembly was developed.

Edited by mr_me
  • Like 2
Link to comment
Share on other sites

Intel had been shipping the Intellec development systems along with an assembler before any microcomputer using those chips was produced. I think all CPU designs after the mid-60s were released alongside a matching assembler. 

 

The switches weren't intended to be a primary programming interface but a bootstrap entry. Program the address of the paper tape; load the contents of the tape; jump to the start of the loaded program. Cheaper ROMs reduced the need for panel switches. 

 

Discarded teletypes were often the initial interfaces for pre-production micros which was used to produce the code that would be used to control a variation of the TV Typewriter and audio cassette deck. Colleges got rid of teletypes because it was possible to fit several glass terminals in floor space needed for each teletype. 

 

  • Like 2
Link to comment
Share on other sites

I did an internship at IBM in 1989/90, back when Big Blue was still big and mainly into HW.

 

I used the phrase "assembly language" at the lunch table one day, and they all jumped on me.  "It's not assembly language!  It's ASSEMBLER!" 

 

Sure enough, at that time, every IBM-branded manual I could find labelled it ASSEMBLER.  You wrote Assembler, and assembled into machine code with an assembler.

  • Like 2
Link to comment
Share on other sites

The intellec development system and its assembler was expensive.  Many firms in the 1970s and 80s used a larger more general purpose computer, like a pdp-11, and developed their own cross-assemblers that they could target to various microprocessors.  Microsoft developed altair basic on a mainframe.  Back in the 1940s, they didn't have any such tools to develop the first assemblers.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...