Image Map Image Map
Page 2 of 2 FirstFirst 12
Results 11 to 18 of 18

Thread: Seeking orientation for x86 assembly on PC

  1. #11
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    31,775
    Blog Entries
    20

    Default

    There are really two issues here: (1) Learning the ISA and (2) learning a particular assembler. They're not the same.

    If you're looking to learn how the ISA works, I'd start with DEBUG. Run short sections of code and see what happens.
    If you're looking to learn a particular assembler and know the ISA well, then take your pick.

    In bygone days, you'd start with the hardware manuals and learn the machine code representation and what it does first. Assembly came later.

  2. #12
    Join Date
    Dec 2017
    Location
    Fort Mill, SC
    Posts
    19

    Default

    I'm a Turbo Assembler fan as well, runs great natively on old hardware, and Ideal mode is much better than MASM syntax.

  3. #13
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    5,942
    Blog Entries
    1

    Default

    Quote Originally Posted by chris_nh View Post
    I do want to have a development path for working directly on the 8088 hardware.
    For quick fiddling around directly on the hardware, A86 is hard to beat. It's a very fast assembler that assembles directly to .COM files. For debugging, you can use D86 that comes with it, although I prefer something graphical like Insight 1.24.

    For serious assembler development on the hardware, you can go with MASM + Codeview (although I don't recall if MASM 6, which is the only version worth using, runs on 808x) or you can go with TASM + Turbo Debugger which I personally prefer. TASM 3.2 or lower is safe to run on 808x (TASM 4 also works on 8088 but some of the tools it comes with like TLINK don't).

    As for books and resources to start learning, I can only suggest trying several until you find one that clicks for you. Some of the more unconventional suggestions: Look for KETMAX35.ZIP for the "Ketman Maximizer" which is a horrible name for a very cool interactive tutorial (run DEMO.EXE) for learning assembler from the very ground up. I also found Tom Swan's Mastering Turbo Assembler to be very helpful for anyone writing full programs in TASM's Ideal Mode.
    Offering a bounty for:
    - The software "Overhead Express" (doesn't have to be original, can be a copy)
    - A working Sanyo MBC-775, Olivetti M24, or Logabax 1600
    - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

  4. #14
    Join Date
    Jan 2007
    Location
    Pacific Northwest, USA
    Posts
    31,775
    Blog Entries
    20

    Default

    No, you won't run MASM 6 on a 808x--it has a fair amount of 32-bit code and there are actually two incarnations of it--one that was packaged with a DOS extender and one that runs in Win32 mode natively. I think that the latest version of 6 (with all of the various added instructions occurs in the Win32 or WIn64 embodiments only. You may be able to run MASM 4 or 5 on an 8086, however--I haven't tried.

    MASM 6.x is a very complex product that has capabilities to match. It's perhaps overkill if all you're talking about is 8086 programming. If you're digging into AVX512, well, A86 isn't going to do it for you.

  5. #15
    Join Date
    Aug 2006
    Location
    Chicagoland, Illinois, USA
    Posts
    5,942
    Blog Entries
    1

    Default

    Thanks for the confirmation. I've never tried MASM on 808x hardware, but if I did, it would be to check out Codeview. Having a decent visual symbolic debugger is very important to me -- I've been very spoiled by Turbo Debugger allowing me view both original source and actual assembled binary code in the View->CPU view.
    Offering a bounty for:
    - The software "Overhead Express" (doesn't have to be original, can be a copy)
    - A working Sanyo MBC-775, Olivetti M24, or Logabax 1600
    - Music Construction Set, IBM Music Feature edition (has red sticker on front stating IBM Music Feature)

  6. #16

    Default

    MASM 5.1 works well on 8088/86. I like it because it supports the older feels-like-programming-a-mainframe syntax as well as the simplified model syntax.

    Also, as the OP is coming from higher level languages, I often use the "generate ASM code" flag from the MSC 5.1 compiler. It helps me quickly get back in to 8088 assembly coding mode, as well as creating the boilerplate for interfacing ASM code to C code.

  7. #17
    Join Date
    Aug 2017
    Location
    New York, Rome, London
    Posts
    80

    Default

    +1 on Borland Turbo Assembler - my favourite

  8. #18

    Default

    I'm pretty sure MASM 6.0 (and 6.00B) will run on a 8086 or 286 but it needs good deal of free conventional memory. MASM 6.00B is the last version that was a true DOS executable. MASM 6.1 is the first version of MASM which required a 386 since it was built using the Phar Lap DOSXNT DOS extender.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •