Re: LinuxDos assmebler

1999-03-08 Thread Richard Lyon

 I was thinking about learning assembler, but there is a
 problem.
 I heard about DOS interrupts, which I guess work only in
 DOS.
 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?
 Maybe in that case, there are Linux x86 assembler books?
 
 Another question: How assembler works in the secure Linux
 environment?
 Linux checks that calls are not a threat to the system?
 

Funny how this question has come up again. You might like to check the list 
archive for the previous discussion.

To start this you will need to learn:

X86 assembler - Get a good general purpose book without too many references to 
any operating system.

GAS The GNU assembler. It comes with it's own documentation.

Writing assembler in LINUX. See the Assembly-HOWTO that comes with all linux 
distros (ie look in /usr/doc/HOWTO).

The simplest way to test a few assembler instructions is to use the assembler 
in-line capabilities of gcc . Forget anything you learnt about DOS software 
interrupts.

There nothing wrong with staying with DOS until you feel confident with 
assembler. At least it is simple. Linux is good as a host platform if you want 
to write assembler for what is known as a embedded target.

Regards 


Re: LinuxDos assmebler

1999-03-08 Thread ivan
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
ATT 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



Re: LinuxDos assmebler

1999-03-07 Thread mike shupp
On Sat, 6 Mar 1999, Alexander Gutfraind wrote:
 Hello fellows!
 I was thinking about learning assembler, but there is a
 problem.
 I heard about DOS interrupts, which I guess work only in
 DOS.
 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?
 Maybe in that case, there are Linux x86 assembler books?

An assembler is supplied as part of the GNU C compiler (gcc and
g77, the fortran compiler, both provide output which is assembled
by it, rather than going directly from source code to machine 
language).  You might also look at NASM, version 0.97, which is
part of the distribution.

--
   [EMAIL PROTECTED] 
   Mike Shupp
   California State University, Northridge
   Graduate Student, Dept. of Anthropology
   http://www.csun.edu/~ms44278/index.htm



Re: LinuxDos assmebler

1999-03-07 Thread Ed Cogburn
mike shupp wrote:
 
 On Sat, 6 Mar 1999, Alexander Gutfraind wrote:
  Hello fellows!
  I was thinking about learning assembler, but there is a problem.
  I heard about DOS interrupts, which I guess work only in DOS.
  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?
  Maybe in that case, there are Linux x86 assembler books?
 
 An assembler is supplied as part of the GNU C compiler (gcc and
 g77, the fortran compiler, both provide output which is assembled
 by it, rather than going directly from source code to machine
 language).  You might also look at NASM, version 0.97, which is
 part of the distribution.


If coming from the DOS/Win world, *definitely* look at NASM. 
When you've got it installed, read the docs in '/usr/doc/nasm/'.


-- 
Ed C.


LinuxDos assmebler

1999-03-06 Thread Alexander Gutfraind
Hello fellows!
I was thinking about learning assembler, but there is a
problem.
I heard about DOS interrupts, which I guess work only in
DOS.
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?
Maybe in that case, there are Linux x86 assembler books?

Another question: How assembler works in the secure Linux
environment?
Linux checks that calls are not a threat to the system?

TIA! :)
begin:  vcard
fn: Alexander Gutfraind
n:  Gutfraind;Alexander
org: www.tht.net/~gutfrnd/
email;internet: [EMAIL PROTECTED]
note:   I have nothing to say, and I'm saying it.
x-mozilla-cpt:  ;0
x-mozilla-html: FALSE
version:2.1
end:vcard