NASM - The Netwide Assembler

NASM Forum => Other Discussion => Topic started by: debs3759 on April 23, 2018, 12:15:54 AM

Title: Hi all
Post by: debs3759 on April 23, 2018, 12:15:54 AM
Some of you old timers will have noticed I haven't been around for about 18 months, due to ill health.

I will be rewriting dwCPUID from the ground up. I have new code to differentiate between Intel 808x with copyright '78 and '81, as well as 808x chips using Harris microcode. The rewrite will probably take me well into the summer. The DOS code will detect CPUs from 808x up to the latest 32-bit CPUs. I will not be including x64 CPUs in the DOS code, as I highly doubt anyone will want to run a DOS app on such a modern CPU.

I will then be reading up on the basics of Windows coding (never been a Linux user). Once I know how to create a fixed sized window with labels and fixed text boxes, I will produce a Windows version for all CPUs that support the CPUID instruction. I currently only plan a Win32 version, and hope to be compatible with all 32 bit Windows versions, from Win32S up to now. If it works in Win64, that will be a bonus, but I don't plan on a native 64-bit version yet.

Can anyone recommend any resources that will teach me the besics of producing Win32 apps in nasm, and full details of the Win32 API (a site detailing what routines are available in what version of Windows would be nice, but separate resources I can use to collate that info and produce retro Win32 code that runs just as well in Win 10 will be as good - I love data mining :) )? I prefer not to use 3rd party libraries (including nasmx) until I know what I am doing.

I know CPU-Z does everything I plan for my Win32 code, but I want to use code I know to help me break into Windows programming, then see if I can come up with something original :)
Title: Re: Hi all
Post by: stressful on April 23, 2018, 08:28:53 AM
Hi debs

I think Iczelion's tutorials would be a fine start to learn basic windows programming. You would jump right into making simple Windows. It's in MASM syntax but dependant on 3rd party SDK. But there's a 32-bit versions of the tutorial translated to FASM syntax which would be easier to translate to NASM. Look it up at this thread Some links are broken but there's one link still good. Can't find which one. Good luck.

Title: Re: Hi all
Post by: debs3759 on April 24, 2018, 12:46:20 AM
Thanks. Translating MASM code to NASM is reasonable straightforward, so that tutorial shouldn't be too hard to follow.
Title: Re: Hi all
Post by: William Fisher on March 18, 2019, 07:43:13 AM
Yeah, that's a really decent tutorial! I learned a lot from it.