News:

MASM32 SDK Description, downloads and other helpful links
MASM32.com New Forum Link
masmforum WebSite

masm32

Started by jellin, April 11, 2008, 10:56:20 AM

Previous topic - Next topic

jellin

I am teaching assembly language in DOS for several years. I want to transfer my students to masm32 but I do not have documentation for this.
1. Is there any manual about explicit explanation of the win32 instructions/functions?
2. Is there a way to run under masm32 BIOS or DOS interrupt calls?
3. Is there a way to debug programs?
4. Is there a simulator/emulator (like emu8086 in DOS) for masm32?

Ossa

Hi,

1. Yes, there is a Win32 Help file for all the Windows API functions here. For the instructions, they are pretty similar with a few additions (MMX/SSE). You can find links to info about them at the location above.
2. No. This is because of the way Windows works: only the device drivers have access to hardware directly, so there is no need for normal applications to interface with them directly. You use the Windows API instead.
3. Yes, the most popular free debugger is Olly.
4. I don't really get what you mean... after all, it runs natively - what is there to emulate?

Ossa
Website (very old): ossa.the-wot.co.uk

hutch--

jellin,

Welcome on board. The masm32 project is reasonably well geared for what you want to teach as it comes with its own runtime library and support macro system so that you can actually teach assembler programming rather than try and get students to write a basic runtime library which is generally beyond their capacity. This method has a much higher success rate than dumping a task as complex as writing conversions, display routines

It has a very simple console mode set of techniques that make a running template easy to get going so that the student can start with learning instructions, how they work, what the limitations are with operands etc ...

While the project is much wider than the level of work appropriate for students, it does address the things that often turn interested people away, number conversions, screen display, text procedures and many other capacities with its library and macro system.

GUI programming is still a complex area in win32 and this is where the Windows API functions are a bit daunting for newcomers.

Ossa is correct in that win32 excludes direct low level access but this is the price of students learning modern protected mode programming instead of the limitations of 16 bit DOS programming. In 32 bit you have linear addressing FLAT memory model with a nominal address space of 4 gigabytes so the student if free from ancient segment:offset based addressing. There is also a far wider and less restricted range of instructions available on 486 and later hardware and the general experience in 32 bit assembler is a lot better than the restriction of 15 to 20 year old DOS assembler.

Give us a yell if we can help you.
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

jellin

Thank you very much for your help. I am already work on your suggestions.

John