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


Krzysztof Duleba 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. Nor
would I have expected it to.

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, '$'

can be converted into a .COM file and run via:

 nasm -o hello.com hello.asm
 chmod +x hello.com # to avoid "Permission denied"
 ./hello.com

> Is there a way I could force Cygwin's ld to work the way 
> Linux ld used to?

I don't know about that, but you can specify the
entry point explicitly:

  ld -e _start hello.o

-Jerry

--
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]