[Coco] Linville's Tech Segment on Assembly Language vs. Machine Code
Dave Philipsen
dave at davebiz.com
Mon Jul 17 04:10:00 EDT 2017
I think John's analogy to katakana and kanji was pretty good. They are
two different alphabets that can represent Japanese words. Actually,
katakana is pretty much an alphabet and kanji is a little abstracted
from that. I guess you could say that katakana is like m/l and kanji is
like assembler. But if you spend any time in Japan and want to learn
your way around you'll be glad if you get accustomed to both. In fact,
there are words that can be expressed in katakana that cannot be written
in kanji even though kanji is much more complicated.
You definitely can learn assembler and be a good programmer without m/l
but you will probably eventually learn some m/l just from your exposure
to assembler. My point is that you shouldn't dismiss it completely and
having an understanding of it will help you in the long run. When I
first started 6809 assembler back in 1980 I discovered what m/l was and
with my desire to 'take things apart' I played around with POKEs, EXECs,
DATA statements, etc. in BASIC I learned that you could do some pretty
cool stuff by using BASIC to create and run some m/l routines. By the
time we were discovering that a 32K CoCo actually had 64K and we could
make it run in 'all RAM' mode I had written a BASIC program that
actually had some m/l under the hood. I had upgraded my 4K COLOR BASIC
computer to 64K and then figured out how to get a ROM dump from my
friend's EXTENDED COLOR BASIC computer to load into mine and actually
run EXTENDED BASIC without the extra ROM chip. The guys in the local
computer club who had originally snickered at my 4K CoCo were now pretty
impressed.
By 1982 I built my own EPROM programmer from a BYTE magazine article and
was burning my own custom 2764 ROMs and plugging them into modified
sockets in the CoCo. A fluorescent germicidal bulb from the local
lighting supply store became my eraser. I played around with wire-wrap
breadboards of 6809s, 6502s, Z80s and understanding m/l will help you
get a project like that up and running too. It's not for everybody but
for some, it's essential.
Dave
On 7/16/2017 11:33 PM, Melanie and John Mark Mobley wrote:
> All,
>
> John Linville did offer for me to debate the issue on the podcast when he
> gave his last Tech Segment.
>
> I did not jump at the chance, perhaps I should have.
>
> I think John was right that you do not need to become an expert machine code
> programmer in order to learn assembly language.
>
> I recently worked with a Micro-KIM (Keyboard Input Monitor) from Briel
> Computers. Which is a KIM-1 replica/work-a-like. I was very interested in
> how the single-step function worked. I studied the schematic and the source
> code and figured it out, mostly. I found a website that would convert the
> assembly language to machine code and then I typed in the machine code. I
> also found a KIM-1 emulator that runs in a browser. The KIM-1 also has the
> ability to examine the registers. After a few days I got my fill and I have
> not picked it up since. But I enjoyed it. It was fun for a time. It is a
> good design. I know it is not for everyone, but I really like it.
>
> John Mark Mobley
>
>
>
More information about the Coco
mailing list