Re: which book to start with...?



santosh wrote:
naunetr wrote:

hi group!

just dl'ed Dr. Paul Carter's tutorial (http://drpaulcarter.com/pcasm/)
and also PGU from (http://savannah.nongnu.org/projects/pgubook/). i
also borrowed "Assembly langauge step-by-step" by Jeff Dunteman from
library. so which one does the group experts reccomend to start with?

It depends on your objectives.

my os is linux and i dont have windows.

Both Paul Carter's and Jonathan Bartlett's books are applicable to
Linux, indeed the latter is specifically for Linux.

yes. i decided to go with PGU.

is it necessary to start with dos as many books say?

Again, depends. Start with DOS if any of the following is important for
you:

1. Want to learn the DOS API.
2. Want to call BIOS routines.
3. Want to learn the peculiarities of 16 bit x86 architecture.
4. Want to program in a "unrestricted" environment that allows
access to all the features of the CPU and hardware.

actually i just want to know how the instructions are given to the cpu. i dont really mind about the system but right now im stuck with Ubuntu. i dont have a spare disk for DOS or similar. so i installed DosEmu. works ok right now.

As Herbert is wont to point out often, the above four are not assembler
programming per se, but they are often the objective for many people to
learn assembler.

im forced to do java and .net for my studies but i dont like them because you call endless method after method. it feels more like scripting than programing. in school long agao i also learnt BASIC but i've forgotten everything about that. if i dont like something i forget it :) so i started with c and assembly as everyone says they are necessary to really understand programing.


If you simply want to focus on x86 assembler programming and you are not
interested in 16 bit legacy details, nor in using "privileged"
instructions, or in "talking" to hardware directly, then Linux should
be perfectly fine for you. As Betov says, 32 bit assembler is even
simpler in some regards than the 16 bit variant.

ok.


then i'll have to use DosEmu+FreeDOS.

Or FreeDOS or MS DOS or Windows under a Virtual Machine. IIRC VMWare is
freely available for Linux.

ok. can anyone tell me a link to a VMware image for FreeDOS?


is that okay?

I suppose so. DOSEmu and FreeDOS should be sufficient for starting with.
But certain things like changing to protected mode etc. cannot be done
inside DOSEmu. You'll need "real" DOS for that.

im rather slow in everything, so i dont think i'll be doing system stuff soon.


or can i go with linux?

Yes. This is what I'll recommend. In any case, when you are ready for
advanced, system level programming, you can always learn DOS, BIOS and
x86 system instructions, when needed.

will i miss something important if i dont start in dos?

Depends on what's important to you?

also which is reccomanded..nasm or gas?

I use NASM and will recommend it. But GAS is the canonical assembler
under UNIX and, sooner or later, you may want to learn it's syntax too.
Also note that Jonathan Bartlett's book deals only with GAS, so if you
go with that book, you'll have to learn GAS.

In any case, once you learn the basics of assembler programming, it
trivial to learn the syntax of another assembler. It like learning
British English and then learning the differences with American English
or Australian English etc.

thanks a lot for all answers.

No problem. All considered, I recommend you to go with either Linux +
NASM + Paul Carter's book or Linux + GAS + Jonathan Bartlett's book.

ok, i decided to start with PGU.


Unless you _want_ to, it may not be the best choice to start with DOS.

There are also other assembler out there, but since mention of some of
them is quite controversial in this group, I'll let the braver souls do
that.

:-)

Best of Luck.


thanks a lot for everone for all the detailed answers. :)
.



Relevant Pages

  • Re: HLA Stdlib v2.2 is now available.
    ... Its a generalization of the whole asm community based on the results of a single man. ... You dont get it. ... Because it is an assembler, and a very good one, showing the way for other spesific assemblers. ... As they both are needed for doing programming, I see no reason to seperate them. ...
    (alt.lang.asm)
  • Re: which book to start with...?
    ... Linux, indeed the latter is specifically for Linux. ... dos as many books say? ... As Herbert is wont to point out often, the above four are not assembler ... If you simply want to focus on x86 assembler programming and you are not ...
    (alt.lang.asm)
  • comp.lang.asm.x86 - Frequently Asked Questions - general 3
    ... x86 Assembly Language FAQ - General Part 3 of 3 ... Benjamin David Lunt's DOS assembly page ... Eric Isaacson's A86 Assembler and D86 Debugger Page ... Quantasm's x86 and Pentium Programming Tips and Info ...
    (comp.lang.asm.x86)
  • Re: x86-64 assembly problems
    ... 16-bit assembly under DOS on their 32-bit machine. ... bit assembly programming? ... And every moment spent learning DOS is ... Learning the DOS API necessary to write simple assembler ...
    (alt.lang.asm)
  • Re: x86-64 assembly problems
    ... addressing modes) assembly programing has nothing to do with DOS. ... We're not expecting students to write GUI apps in an assembly class. ... that teach assembly programming with DOS do segmentation. ... Learning the DOS API necessary to write simple assembler ...
    (alt.lang.asm)

Quantcast