NASM - The Netwide Assembler

NASM Forum => Using NASM => Topic started by: codeferever on September 17, 2010, 12:24:15 PM

Title: what a new compiler's orders are
Post by: codeferever on September 17, 2010, 12:24:15 PM
Hello!Today I have scaned one of my friend's book about 80c51.And a  problem comes to me that why there is a "acall myfunc" but not a "call". Well,he using KEIL,not nasm(maybe he will download one as I suggested him ;)  ).
I wonder if there are some formats and directives defined by intel and all the some between nasm,masm,as86 or keil...
How could I know what a new compiler's orders are ? ???
Title: Re: what a new compiler's orders are
Post by: Frank Kotler on September 17, 2010, 01:35:55 PM
Read the manual?

Nasm targets the 80x86 architecture - won't help your friend with his 80c51, I'm afraid. Keil won't even tell you the price for their assembler, you have to request a quote. That puts it out of my price range! :) Typing "80c51 assembler" into Google comes up with some free ones...

Sounds like an interesting chip, but Nasm won't work on it.

Best,
Frank

Title: Re: what a new compiler's orders are
Post by: codeferever on September 19, 2010, 03:05:31 AM
Thank you,Frank!
well,when I was reading bootsect.s of linux0.12,I have always found such directives as
"rep movw",
"seg fs",
"lgs si,(bx)",
"j load_setup"

I don't know if these directives can also be effective for nasm?
 Or which part of nasm manual can clarify the puzzling problems?  :)
Title: Re: what a new compiler's orders are
Post by: Keith Kanios on September 19, 2010, 04:09:06 AM
well,when I was reading bootsect.s of linux0.12,I have always found such directives as
...
I don't know if these directives can also be effective for nasm?
 Or which part of nasm manual can clarify the puzzling problems?  :)

Wrong assembler... that is AT&T syntax ala GAS (http://en.wikipedia.org/wiki/GNU_Assembler).
Title: Re: what a new compiler's orders are
Post by: Frank Kotler on September 20, 2010, 10:39:24 PM
Actually, I think it's as86 syntax - kind of a weird hybrid of Intel and AT&T. Not for Nasm, in any case!

"rep movw", -> "rep movsw"
"seg fs", -> just "fs" probably?
"lgs si,(bx)", -> "lgs si, [bx]"
"j load_setup" -> just "jmp", I would guess (maybe "jmp short"?)

Some "context" might help - we know what a bootsector "has to do", even if the syntax is unfamiliar. Got a link to the exact "bootsect.s" you're looking at? (save us looking it up...)

Best,
Frank