This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Assembler


On Tue, 17 Feb 2004, Krzysztof Duleba wrote:

> Williams, Gerald S (Jerry) wrote:
>
> >> What about Linux syscalls? Will Cygwin emulation layer match
> >> it?
>
> > I just Googled "int 0x80". So THAT'S what you're
> > trying to do. :-)
>
> :-)
>
> > No, I think your experiment shows that Cygwin is
> > not emulating Linux syscalls at that level.
>
> Really?
>
> > Nor would I have expected it to.
>
> Why not? c code, translated to asm with -c -S on linux box, can be later
> compiled and linked with Cygwin's gcc and works fine. As you see, I have a
> good reason to believe that nasm's int 0x80 will work too. So maybe I should
> simply look for a nasm -> gcc's assembler translator?
>
>
> > On the other hand, you can get at DOS functions,
> > at least if you build your executable correctly.
> > For example, the following:
> >
> > ; hello.asm
> > [ORG 0x100]
> >
> > section .text
> > global  _start
> >
> > _start: mov     ah,9
> >         mov     dx, hello
> >         int     0x21
> >
> >         mov     ax,0x4c00
> >         int     0x21
> >
> > section .data
> > hello   db      'Hello, World', 13, 10, '$'
>
> That was an easy example. But what if I want to fork? :-)

Most of the C code on Linux doesn't use int 0x80.  It normally invokes
user-level functions that invoke system calls.  Why not go the same route
with Cygwin?  In one of the previous messages in this thread, there was an
example of calling printf from assembly.  You should be able to make calls
to the Cygwin emulation layer the same way.
HTH,
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha@cs.nyu.edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor@watson.ibm.com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski, Ph.D.
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

"I have since come to realize that being between your mentor and his route
to the bathroom is a major career booster."  -- Patrick Naughton

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]