The MASM Forum Archive 2004 to 2012

Miscellaneous Forums => 16 bit DOS Programming => Topic started by: PinoyProgramador on October 28, 2005, 05:38:03 PM

Title: Stupid Question
Post by: PinoyProgramador on October 28, 2005, 05:38:03 PM
Okay i wanna learn assembly. I have programmed in several High Level languages and asm is too far diffrent from them.

As a first step of learning asm im planning to create a dos App thats adds 2 digit. Now ive seen codes of it and i know its easy.
But what confused me is when i came to see in this forum about 16 bit DOS. Can i do a dos base APP in 32 bit mode too?? Whats the best to use here 16 or 32??

And whats the main difference between 16 bit mode programming in ASM with 32 bit mode?? Im a complete noob to this i have no idea what so ever. Pls reply on me  pls :dance:
Title: Re: Stupid Question
Post by: raymond on October 29, 2005, 01:59:28 AM
In a nut shell, 16-bit DOS is old technology, while 32-bit flat model assembly is the current technology.

Don't bother learning the old technology; you will most probably never have a need for it. The new technology is a lot simpler to learn.

Raymond
Title: Re: Stupid Question
Post by: PinoyProgramador on October 29, 2005, 05:25:22 AM
So i can do Hello World in console with 32 bit just like in C?
Title: Re: Stupid Question
Post by: PBrennick on October 29, 2005, 12:15:05 PM
Certainly.

P
Title: Re: Stupid Question
Post by: drhowarddrfine on October 29, 2005, 02:55:40 PM
QuoteSo i can do Hello World in console with 32 bit just like in C?
Remember, everything eventually boils down to assembly but not every thing comes from C. 
Title: Re: Stupid Question
Post by: PinoyProgramador on October 29, 2005, 06:13:03 PM
Tnks for the help guys   :U
Title: Re: Stupid Question
Post by: hutch-- on October 30, 2005, 11:29:53 PM
 :bg

32 bit code is cleaner, simpler and far better supported. Try this as simple code.


; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
    include \masm32\include\masm32rt.inc
; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

comment * -----------------------------------------------------
                        Build this  template with
                       "CONSOLE ASSEMBLE AND LINK"
        ----------------------------------------------------- *

    .code

start:
   
; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

    call main
    exit

; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

main proc

    cls
    print "Hello World",13,10

    ret

main endp

; «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««

end start
Title: Re: Stupid Question
Post by: raymond on November 22, 2005, 06:24:51 PM
Quoteare the commands different in 32 bit mode?

All depends on what you mean by "commands".

If it's mnemonics (or opcodes), there are a few more in 32-bit which were not available for the 16-bit registers. All the old mnemonics for the 8- and 16-bit registers are also available for the 32-bit registers and should not be considered as "different".

Raymond