Page 1 of 1

Possible, interactive forum activity- let's all learn asm?

Posted: Mon Feb 17, 2020 9:24 am
by Sharkey1331
Hi All,
We clearly have some smart individuals here. And, perhaps it would be fun to collaborate on a forum/group-wide project, using our PCjrs?

I've made some electronics projects- and although not as sophisticated as some other projects done by members here, I have learned circuit board design enough where I feel empowered to make anything I'd like to play with. Unfortunately, my lack of capability with assembly is holding me back.. I (like I bet a LOT of you all) learned BASIC back in the day, and that grew into an IT career. I took C and C++ in college, and have learned Java too, but I am the first to acknowledge I am not a coder. Something about assembly excites me though- the idea that one can code directly for the chip so to speak. I'd like to learn assembly.

There's an old thread I started years ago here- looking for IBM ASM, so I could use a book I bought from eBay- a COMPUTE! book entitled "Beginner's Guide to Machine Language on the IBM PC & PCjr" I've tried to read it several times, however it is so dry- it's impossible for me to get through it. Unlike some GREAT books on assembly for Commodore stuff (like Jim Butterfield's book on "Machine Language for the Commodore 64 and Other Computers") There's also the cool 6502-based online Assembly tutorial with interactive examples: https://skilldrick.github.io/easy6502/ So, I think it would be perhaps easier for one to dig into 6502 assembly. However, I'm focused on my PCjr at the moment! And also, it seems to me that 8088/8086 assembler perhaps holds more relevant in today's world- as perhaps it lends itself to x86 assembly, and that can still be used today on modern stuff?

Anyways- here's my idea: What if a group of us on this forum- either interested in learning, or teaching assembly that can be used/run on our PCjrs, used this forum to form a class, agreed on some textbook material that is either downloadable freely in electronic form, or is cheap/easy to get, and made a class of it? We could either follow the text (perhaps one chapter every two weeks or something), or some other syllabus. Perhaps we'd have projects, where tutoring or group following of examples/problems helped us all to learn? Any interest in this? I know there are some "Power Coders" here amongst us- does this thought of sharing the knowledge excite you skilled people too?

Here's a few resources I found after a quick google search:
http://www.jagregory.com/abrash-zen-of-asm/
http://faculty.etsu.edu/tarnoff/ntes215 ... sembly.htm
http://core.ecu.edu/csci/wirthj/Assembl ... g8088.html
http://www.azillionmonkeys.com/qed/asm.html

Thoughts?
Jason

Re: Possible, interactive forum activity- let's all learn as

Posted: Mon Feb 17, 2020 12:06 pm
by KenG
I have just recently tried to learn x86 assembly using Turbo Pascal. Yes the books are very dry reading and you don’t retain much that way. chuck53 wanted a fast program to show whether or not his Tandy mode was working, I took that on and managed it in a couple of days. I find that the only way to learn a programming language is to have a goal you want to accomplish. That is the way I learned BASIC, 6502 assembly, and, later, Pascal. We all learned BASIC years ago because there either wasn’t any software available to do what we wanted or it cost too much. Maybe if we had a joint project with sub tasks assigned to individuals, that would work. We would all probably have to agree on a specific assembler though.

Re: Possible, interactive forum activity- let's all learn as

Posted: Mon Feb 17, 2020 2:26 pm
by Sharkey1331
I like the sub tasks idea.. Perhaps suggested sub tasks/modules could be:
  • -Getting the programming tool chain ready
    -Basic programming, syntax, coding standards
    -Interaction with memory
    -Interaction with drives
    -Control flow, if/then, etc.
    -Sound programming
    -Graphics programming
    -Interaction with tcp/ip stack
    -Other/Tips&Tricks
And- YIKES! I'm just now seeing, I did not put this int he programming section of this forum! Sorry mods!! :oops:
I've been hugely inspired by Planet X3, and am now going to download/check out Paku Paku. Also saw something called Retro City Rampage 486.. So cool!
Jason

Re: Possible, interactive forum activity- let's all learn as

Posted: Mon Feb 17, 2020 10:38 pm
by Trixter
You could try the same advice I gave David Murray: Play around with A86, it's a good assembler for teaching yourself assembly since it runs on a PCjr and takes almost no time to assemble. However, I'd use INSIGHT 1.21 (if it runs on PCjr) instead of the debugger that comes with a86.

Re: Possible, interactive forum activity- let's all learn as

Posted: Tue Feb 25, 2020 8:09 am
by Roscoe
If you do this, I will be watching from the sidelines, and would like to "follow along." I wish I could say I would be an active participant, but with real life going on, I think that is a commitment I cannot make.

I had been thinking that it would be good to learn some assembly after Hargle posted a short snippet of asm code to overwrite a MBR. (This was in response to me using a modern Linux distro to do the same. ) After seeing the simple and period correct elegance of the asm solution, I decided that I wanted to learn more. To that end, I recently purchased a used copy of the aforementioned COMPUTE! machine language book, so it is funny to see it come up in a post around the same time.

Re: Possible, interactive forum activity- let's all learn as

Posted: Tue Feb 25, 2020 9:45 am
by Fidoman82
I am a newbie to Asembler but I am interested in learning for the PCjr. I am going to look around on Youtube for videos. I got a few things I gotta take care of first. Hoping to get into this as well in March.

Re: Possible, interactive forum activity- let's all learn as

Posted: Wed Feb 26, 2020 1:37 pm
by Trixter
Sorry for being absent, have a lot going on.

For learning assembler for the PCjr, I'd first suggest learning x86 16-bit assembly in general, and the best interactive tutorial for that I've ever found is the oddly-named "KETMAN MAXIMASTER" which you can find searching for "ketmax35.zip". It's a demo version of an interactive assembler; the tutorial it comes with is a great way to learn x86 assembler basics, and the binary and hex views of the registers make it easy to understand basic concepts.

Past that, I'd suggest reading through any assembler book that seems friendly. I'm partial to a book (name escapes me, I'll try to find it) that walks you through everything using DEBUG.COM to go through the examples. Another is Tom Swan's Mastering Turbo Assembler which is partial to Turbo Assembler's IDEAL mode, but is a great book nonetheless. Probably also couldn't hurt to read the 8086 primer, written by the architect: https://archive.org/details/The8086Primer/mode/2up

After that, you can start learning how the PCjr has quirks that require special attention. Going over the IBM PCjr technical reference is mandatory if you want to learn how to do PCjr-specific stuff like have multiple video pages or make 3-voice audio. This video might be useful: https://youtu.be/BCSaKuqPrf4

Re: Possible, interactive forum activity- let's all learn as

Posted: Thu Feb 27, 2020 6:27 am
by Hargle
I used "Peter Norton Programmer's guide to the IBM PC" quite a bit back when I was learning assembly. This book is good if you already have experience in another programming language, including BASIC or Pascal as it shows how to do the same operation in different languages so you can cross reference between something you're learning and something you are already familiar with. Kind of a programmer's Rosetta Stone.