Prev: ANSWERS
Next: Linux X demo
From: zjrm on
Brian wrote:
> After looking at Randy's link explanation, I'm not sure that the linker in
> the reference manual is the same that I'm using... the options aren't the
> same.

FWIW, here's the version number for the MASM link.exe that can be integrated into
VC++ Express

2005 is Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.

I got that by running "link /?" in a Visual Studio 2005 (Express) command prompt
window.

-irrational john
From: Betov on
zjrm <zjboyguard-newsgrpsDELETETOUSE(a)yahoo.com> �crivait
news:4662eb44$0$19456$4c368faf(a)roadrunner.com:

> In the
> Googling around I've done to date, I have yet to find an introductory
> ASM text which impresses me. Part of the reason I'm posting this is
> because perhaps it'll encourage someone to talk about what they
> consider to be a good X86 ASM text. I expect most would point towards
> Randy Hyde's works at webster.cs.ucr.edu. OK, fine. They certainly
> appear to have more passion than there is in what I've seen of
> Irvine's work. But I'm still looking around.

It is amazing, to me, that guys could believe it possible to learn
Assembly by reading a "book", whereas it is so self-evident that
the pedantic nerds who write books are not Assembly Programmers,
that Assembly Programmers would certainly never write books, and
that the books sellers and publishers have no idea about what
Assembly could ever be, as fully demonstrated by the idiot who
published the Randall Hyde's self-selling bullshits.

The Assembly Programmers can write Tutorials, but certainly not
in books form, as long as Assembly is, first and last, a practice.
Now, a Programmer, like any technician, needs references, which are
another story, and which are, as Herbert is used to say, already
available from the industry documentation. They may also need a
Help System, which is one another story, documenting the Tools
set, he is using. No room, in all of these, for blablating about
Assembly.


Betov.

< http://rosasm.org >




From: zjrm on
Brian wrote:
> The best text I've seen is Jeff Duntemann's "Assembly Step by Step for Dos
> and Linux" 2nd edition. This is REALLY good for the absolute beginner,
> however it doesn't go very far - it sets only a good foundation.

Thanks, Brian. I've seen that book around and maybe I'll take a look at it later.
For the moment though I'll probably keep nibbling away at the DOS version of Randy
Hyde's Art of ASM. (At least until the annoyance of trying to run DOS programs in
a WinXP command window wears me down ... which may happen sooner than I first
expected).

I'm not really an absolute beginner, just completely new to MASM, NASM, and the
X86 architecture. What I'm looking to get out of a text is more of an
understanding for how these tools expect to be used. Both MASM and NASM have
confused me at times by not doing what I would expect them to. For example, they
have thrown up error messages for what appear to me to be easily resolvable
forward references. Since in situations like that the assembler is essentially
always right, what I need to do is figure out how the tool expects to be used.

MASM apparently has other bizarre expectations, such as labels in a data segment
do NOT end with a colon while labels in a code segment require an ending colon.
(I'd love to hear the tale about how THAT bit of syntactic inconsistency turns out
to make perfect sense. I'm sure it does. These things always make sense for SOME
reason or they would never end up as part of the language).

I don't actually expect to ever do any extensive coding in X86 assembly language.
Just something I started looking into because I wanted to better understand what
was in my hard drive's Master Boot Record (MBR). I ended up digging deeper into it
than I had planned. Oh, well. Another opportunity for personal growth, I guess.

-irrational john
From: Frank Kotler on
zjrm wrote:

....
> Both MASM and
> NASM have confused me at times by not doing what I would expect them to.
> For example, they have thrown up error messages for what appear to me to
> be easily resolvable forward references.

Nasm is, by default, a two-pass assembler. The value of a forward
reference can be filled in on the final pass, but the *size* must be
dertermined in the first pass. Or, strictly speaking, by the
next-to-last pass. Enabling multiple passes with the "-O" switch may
help. Use a good big number "-O999" or so. This may be true of Masm, too
- the "/m" switch???

> Since in situations like that
> the assembler is essentially always right, what I need to do is figure
> out how the tool expects to be used.

Exactly! Fighting a tool's "expectations" is more likely to result in
frustration than a "win" (for you...). Unfortunately, I can't suggest a
really good reference for that. The manual is... okay. Looking at lots
of examples might help. Here's an example that Nasm won't assemble
without the "-O" switch, but will with "-O999".

Best,
Frank

section .bss
foo resb SIZE
section .text
mov eax, SIZE
SIZE equ 5

From: Betov on
zjrm <zjboyguard-newsgrpsDELETETOUSE(a)yahoo.com> �crivait
news:46648347$0$19459$4c368faf(a)roadrunner.com:

> For the moment though I'll probably keep nibbling away at the DOS
> version of Randy Hyde's Art of ASM.
>
> -irrational john


Yes, irrational.

:)

Betov.

< http://rosasm.org >



First  |  Prev  | 
Pages: 1 2
Prev: ANSWERS
Next: Linux X demo