October 10, 2012

I Remember Assembly Language, Part I

Filed under: Main — Tags: — admin @ 12:01 am

Way, way back when I got my first computer — A TRS-80 Model III — I was poor. Yep, I worked part time in a restaurant, so I could afford only the basic computer. No disk drive. No printer. No nothing. Just 16K of RAM, plus a cassette recorder on which I could save and load programs.

With nothing to do on the computer, I turned to programming. I could program while I saved up enough money to buy — in order — 32K of RAM, a 180K floppy drive, word processing software, and finally a printer.

The TRS-80 came with a how-to book that taught the BASIC programming language. That language was included in the TRS-80’s ROM. In fact, BASIC was pretty much the computer’s operating system.

When I bought the computer, for $1045, I vowed to the rep that I would write my own software. And I did! That was despite never taking a class in computer programming or not knowing anything about it.

Turns out, I enjoyed computers. I wrote code like crazy. I bought any TRS-80 programming book I could get my hands on. Eventually I exhausted the Radio Shack library and the local B. Dalton bookseller. I bought via mail order from TAB Books library every title on TRS-80 BASIC programming.

I figured I was getting pretty good at BASIC. When the time came that I could afford the first floppy drive upgrade ($700), I ventured into the world of “disk BASIC.” That was a steep learning curve for me, mostly because the examples in the documentation were stupid. Eventually I understood the difference between sequential and random-access. But I still wanted more.

There were several alternative programming languages available for the TRS-80, including all the popular flavors of the early 1980s: There was FORTRAN, Pascal, COBOL, and Assembly.

Of the lot, I was most intrigued by Assembly language. That’s because nearly all the professional-level programs available for the TRS-80 — or any computer of the day — were written in Assembly. There were two main reasons:

1. Assembly language was fast. The code programmed the processor directly; it wasn’t interpreted like BASIC and didn’t require a runtime library, like the other high-level languages.

2. Assembly programs were small. Because Assembly programmed the processor directly, the code was tight. Such a thing rarely matters today, where computers are brimming with RAM. But the TRS-80 had only 48K of memory max. The more memory you could spare by writing smaller code, the better.

The biggest downside of Assembly was the time it took to develop code. I’ll explain more on Friday.

3 Comments

  1. Its hard to believe that the original TRS-80 and Apple II only came with 4k of RAM. I think the only way you could run a high level language like BASIC on those machines is because they ran from ROM memory. Ive noticed a lot of late 70s and early 80s computers came with a choice of ROMs of installed langages.

    The picture you showed of your computer has disc slots so I dont understand why you had to use a tape recorder for memory. How bad was cassette tape for memory compared to floppy?

    Comment by BradC — October 14, 2012 @ 12:14 pm

  2. That picture above was stolen from Wikipedia. I don’t have any photos of my pre-floppy drive TRS-80. Only this one (below) that’s already on Wambooli. You can’t see the floppy drives because of the dust cover.

    I eventually bought the second floppy, which really helped; you had to keep the program diskette in the first drive, and you data diskette in the second drive. Otherwise you had to swap all the time. On the TRS-80 Model III, TRS-DOS operating system, drives were labeled :0 and :1. You could add up to 2 external drives. A 5MB hard drive was available, and I believe it cost about $10,000. We had one at the publishing house where I worked, but it had to be partitioned into smaller, logical drives.

    What a world!

    Comment by admin — October 14, 2012 @ 12:28 pm

  3. Here’s the link to the source page for the image above: http://www.wambooli.com/fun/dang/1982/index.html.

    Comment by admin — October 14, 2012 @ 12:29 pm

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.


Powered by WordPress