[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Linux&Dos assmebler



At 04:53 PM 3/6/99 -0500, Alexander Gutfraind wrote:
>Hello fellows!

Hello Alexander !

>I was thinking about learning assembler

Me too ...

>but there is a problem.

Probably many problems - you just haven't discovered them yet :)

>I heard about DOS interrupts, which I guess work only in
>DOS.

Correct

>Which I guess means that if I buy a book about x86
>assembler,
>and it speak a lot about that interrupt things,
>I have a fair chance it wouldn't work in Linux, is that
>right?

Yes - the Linux interrupts are completely different to MS-DOS.  Pls refer
to the archives for further discussion particularly referring to int 10h
(video bios calls).  I asked these questions very recently.

You may not need interrupt driven routines.  Check out the list of system
calls that are available.  The Kernel Hackers guide is a good place to start.

Also check out the libraries that are available - for example I am trying
to work with svgalib/vgagl for graphics routines.

You may also want to learn more about in-line assembler which gives you
access to the high level constructs of the language of your choice and
assembler routines for time critical code - this also may eliminate the
need for interrupt calls.

>Maybe in that case, there are "Linux x86 assembler" books?
>

I've looked but was unable to find one - essentially assembler language is
the same regardless of the OS but the permissions change.  Linux does not
allow a user to access memory space outside of the allocated user space
whereas MS-DOS allows you to access anything at any time.  So, if you are
trying to code an example written for MS-DOS that uses absolute memory
addresses this may not work but AFAIK examples using relative addressing
should work fine.

>Another question: How assembler works in the secure Linux
>environment?

That depends specifically upon your requirements.  Most assembler will
translate directly and correctly (be sure you know the difference between
AT&T syntax and Intel syntax though - depending on which compiler you use)
but see the comments above.

I have found that I/O functions are the biggest difficulty because you have
such limitations placed on you by Linux.  Once again, I can only suggest
that you refer to system calls, system libraries and learning in-line
assembler for these requirements

>Linux checks that calls are not a threat to the system?
>

Yes 

>TIA! :)

HTH :)

You should read the Assembler How-To if you haven't already and pls check
the archives as there was comprehensive discussion as mentioned above.
There are many web sites which give some instruction on assembler also.

If you are unable to find these feel free to write to me privately and I
will give you my list that I found mostly useful.

Ivan.

>
>Attachment Converted: "c:\eudora\attach\vcard2.vcf"
>


Reply to: