Assembly Language Throwdown to Steve by Dave of Microsoft

  • Release Candidate 6
    We are at a “proposed final” true release candidate with nothing known remaining to be changed or fixed. For the full story, please see this page in the "Pre-Release Announcements & Feedback" forum.
  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in:

    This forum does not automatically send notices of new content. So if, for example, you would like to be notified by mail when Steve posts an update to his blog (or of any other specific activity anywhere else), you need to tell the system what to “Watch” for you. Please checkout the “Tips & Tricks” page for details about that... and other tips!

  • Announcing “BootAble” – GRC's New Boot-Testing Freeware
    Please see the BootAble page at GRC for the whole story.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

Steve should do some Assembler tutorials. I am learning to do some Assembly programming on the Mainframe and seems fairly different than PC Assembly.
Well the assembler is just a pretty sugar coating on machine language. Machine language is particular to the architecture of the machine. 6502, for example had exactly three registers (well aside from the program counter) A, X and Y. x86 has been extended a fair bit over the years, and has different modes, the real mode uses a 64k paging design that can be eliminated by later flat (protected) modes. ( ) Motorola 68K has a very regular instruction set where you can use almost any register in any use whereas other architectures have specific uses for specific registers. Then there are the RISC processors which I don't think humans really write code for... they're so unfriendly to use they pretty much require machine generation of code.
I totally agree, that should be his next project after SpinRite! I would love to see what approach Steve would take with teaching ASM. I used Assembler to code for Z80's and CPM. It seemed complicated then but looked back over the code and it seems trivial now. Loved selling customers solutions using CPM 8080 machines for a fraction of the cost of PDP-8s.
I'm sure there are plenty of Assembly Language resources. What might be harder to find is a cheat-sheet of sorts that lists optimization methods, the ways to do things more easily that Steve mentioned in response to the "throwdown."

[I've never worked for DEC.]
  • Like
Reactions: Barry Wallis
If you get nostalgic for PDP, you can always build one:

So far, I've built the PDP-11/70. Lots of fun, and you can see one running behind Leo during the SN podcast.

For that matter, I think those are PDP-8's running behind Steve, as well.

I also have one of these kits:

Unbuilt, so far.

I didn't mess with PDP's much in my youth, but really cut my teeth on 8-bit micros, the 6800, 8080, Z-80, and 6502 on Digital Group systems.

Still have the quick-reference cards for each of those micros, and did write directly in machine code and assembly on each of those platforms.
When I worked for Burroughs (Unisys now days) the B1700 small system used cassettes to load the operating system (MCP) and diagnostics. I worked there from 1975-1982 and worked on a lot of stuff that was old even then. Tape drives, disks, card readers, printers, &c many with no chips, all discrete. Mainframes with core memory (B3500) were old back then, but I learned a lot from that old stuff. Interesting to see how computers have evolved. Someone I knew was going to open a business and was interested in technology. I wanted to make him a 'business card' out of an 80 column punch card but couldn't find a key punch to make it. TIme/ technology marches on. I still have a few bits and pieces of machines from them days.