The MASM Forum

General => The Soap Box => Topic started by: gordon on February 11, 2019, 06:48:16 PM

Title: New Member
Post by: gordon on February 11, 2019, 06:48:16 PM
Hello all.  As per requirements I am posting to say hello to everyone and to indicate that I am not a bot.
Title: Re: New Member
Post by: hutch-- on February 11, 2019, 07:01:58 PM
Thanks, hope you find the place useful.
Title: Re: New Member
Post by: jj2007 on February 11, 2019, 07:36:24 PM
Hi Gordon,

Welcome to the forum :icon14:

Is there a specific reason why you want to do 16-bit DOS programming? Just curious... most of us have 64-bit machines, so we need either a VM or Toshiya's DOS player (http://masm32.com/board/index.php?topic=7467.0) to run 16-bit stuff.
Title: Re: New Member
Post by: gordon on February 11, 2019, 11:15:02 PM
Is there a specific reason why you want to do 16-bit DOS programming? Just curious... most of us have 64-bit machines, so we need either a VM or Toshiya's DOS player (http://masm32.com/board/index.php?topic=7467.0) to run 16-bit stuff.

I too have a 64-bit machine and am running DOSBox and PCem.  The reason I am doing 16-bit programming is because there are no good books--that I know of--that teach x86-64 assembler from the ground-up. 
Title: Re: New Member
Post by: hutch-- on February 12, 2019, 01:31:48 AM
Have a look here. http://masm32.com/board/index.php?topic=3868.0

Putting effort in 16 bit real mode code is a waste of your efforts and then to migrate to 32 or 64 bit means completely re-learning the architecture and additional instruction sets.
Title: Re: New Member
Post by: jj2007 on February 12, 2019, 02:11:35 AM
I agree completely with Hutch, 16-bit is a waste of time. Some argue that 64-bit is the present and the future, but 32-bit is easier, will stay with us for another 20 years at least, and all the nice new SIMD instructions can be used in both 32 and 64-bit code. Which also means there is normally no speed difference between 32 and 64-bit exes.
Title: Re: New Member
Post by: guga on February 12, 2019, 02:52:06 AM
Agree with both. :t :t

Personally, i think that 64-bit killing to learn/use (That´s why i still didn´t ported RosAsm to 64bits yet). 32-buts is still the best for the general usage and as JJ´s said, easier to learn and code.
Title: Re: New Member
Post by: i Z ! on February 12, 2019, 02:57:19 AM
  The reason I am doing 16-bit programming is because there are no good books--that I know of--that teach x86-64 assembler from the ground-up.

Hi Gordon,

In my opinion, if you want to really learn from ground up, you should, as I did,  start with examining the ZX Spectrum Z80 assembly language. Maybe I still have that book, it's written in Slovenian. It introduced the processor's registers and their use in a very simple language. I might at some point write a tutorial for beginners, from what I learned from that book.

But you shouldn't spend much time on memory addressing in earlier architectures, as it is simplified in x64.

General purpose registers:
Z80 (8bit): A, B, C and D
16-bit : AX, BX, CX and DX
32-bit: EAX, EBX, …
Title: Re: New Member
Post by: daydreamer on February 17, 2019, 07:48:10 AM
Welcome Gordon
I like Randy Hyde's AoA assembly book
also start qeditor and help menu has all kinds of help masm help files
masm32 package also have ichzelion tutorials included for windows 32bit assembly programming that I recommend you
@iZ!
so you could make a TIcalculator fly circles around us :greenclp:
because it has a faster Z80(15mhz,the newest eZ80 50mhz isnt compatible) than zxspectrum and about 500kb+memory