Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Tue, 17 Feb 2004 20:42:59 -0500 (EST) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Krzysztof Duleba cc: cygwin AT cygwin DOT com Subject: Re: Assembler In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Scanned-By: MIMEDefang 2.39 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 AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT 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/