I'm a begginer for win32asm,I have a question that is what is the difference between 16-bit program and 32-bit program,how to differentiate them.

help me, please

Thanks a lot
Posted on 2002-05-14 23:22:14 by me2001
16 bit:
-Runs in Dos only
-Uses interupts (ex: int 21h)

32 bit:
-Runs under windows
-Uses the windows api
-What the forum usually answers questions on

Those are the real important differences at least on the surface

Posted on 2002-05-14 23:27:06 by Sliver
Also, a 32 bit program usually uses 32 bit registers and data. You can mix 16 and 32 bit code, but you should avoid this as much as possible. If you use a 16 bit instruction in a 32 bit program, it forces the use of a prefix, which slows down the program, and can cause other processor stalls. It may seem strange to use 32 bits for "small" data items, and it can make the program slightly larger, but it does yield the best performance.

Posted on 2002-05-15 00:32:22 by S/390

You don't have to grovel to anyone in this forum, we are a friendly forum that tries to help 32 bit windows programmers where we can so if you have a question you want to ask, just ask it and if anyone can make sense of it, they will have a go at it.


Posted on 2002-05-15 03:54:37 by hutch--
I'm very glad to meet you, I think we'll be friend.

Thanks for your help
Posted on 2002-05-15 18:42:49 by me2001

16-bit programs run in real-mode only (e.g. MS DOS environment)
32-bit programs run in protected-mode only (e.g. MS Windows environment)

> Click here < to learn more about this stuff.

aweX <-

P.S. to the professionals: Yes, yes, i know about V86-mode but I don't want to make it too complicated for a beginner.
Posted on 2002-05-15 19:50:30 by aweX
It seems we have already forgotten about the venerable Windows 3.0 and 3.1 -- 16-bit protected mode. For an ASM programmer, this was pretty ugly because you were always using far pointers (loading segment registers with selectors is a performance hit).

OK, so I'm complicating things a bit.
Posted on 2002-05-16 23:41:21 by tenkey