Re: Intro to Programming w/ Machine Language

From: John Dahlman (jrdahlman2_at_netscape.net)
Date: 02/11/05


Date: 11 Feb 2005 08:38:13 -0800

This teaching method of simulating a computer reminded me of an old
educational program from years ago that actually did this. (I found
it as I'm slowly re-reading my 20-year-old BYTE collection out of
storage.)

In the March 1984 issue of BYTE was a review of "Simulated Computer II"
for the Atari 800 and Commodore 64 computers. On the screen you would
see a little terminal (complete with "hands" that typed as you typed)
for input, a little "printer" for output, the exposed CPU, and about 15
boxes with numbers in them as the "memory locations." All numbers were
in decimal, but just like a real CPU, those numbers could represent
data or CPU instructions.

Every time you stored a number into a memory location, a sparkling
"electron" would "bzzzzt!" down the wire from the terminal into the
CPU, and then to the memory, where the number would appear--a very
graphic view of a memory fetch. The simulated CPU had a very simple
instruction set. When a program was running, numbers (instructions)
would zap back and forth between memory and the CPU. (Though reviewer
said that the constant "bzzzting" sound could get to you after awhile.)

Although the reviewer thought that the instruction set was too limited
(no calling subroutines), it was fun to play with and a wonderfully
clear demonstration of what a CPU really does. There were even turtle
graphics memory mapped to three of the "bytes", so you could write
simple drawing programs with it. The review ended with, "I wish I had
this program when I was learning machine language!"

It sounds like the kind of program that everyone thinks is really neat
when it comes out, only to disappear forever soon afterwards. I've
never seen a simulation like this nowadays--certainly not simple enough
for older children. Maybe there's a ROM-dump of it somewhere on an
Atari emulation site, but if I hadn't re-read it again in BYTE I would
never have heard of it.

John Dahlman



Relevant Pages

  • Re: The variable bit cpu
    ... what changes to the instruction set would you make to address data ... Possibly little changes since the cpu can detect the size of each variable ... Assuming the CPU and the main memory are seperated the communication between ... The CPU could act upon "virtual registers". ...
    (sci.electronics.design)
  • Re: Intro to Programming w/ Machine Language
    ... This teaching method of simulating a computer reminded me of an old ... for input, a little "printer" for output, the exposed CPU, and about 15 ... Every time you stored a number into a memory location, ... Although the reviewer thought that the instruction set was too limited ...
    (alt.lang.asm)
  • Re: [opensuse] swap not available
    ... than memory. ... Drives will suffer not only from ESD and heath but also from wear, ... cpu are using still lower voltages these days. ... run the instruction set the applications would use. ...
    (SuSE)
  • Re: The variable bit cpu
    ... Surely you don't mean a bit at a time; memory ... > The CPU could act upon "virtual registers". ... There is nothing in the instruction set of any processor that I have ever ...
    (sci.electronics.design)
  • Next July 27: boot failure(hang) on x86_64 box.
    ... Freeing unused kernel memory: 1360k freed ... ACPI: PM-Timer IO Port: 0x488 ... CPU: L2 Cache: 1024K ... # AX.25 network device drivers ...
    (Linux-Kernel)