This is the mail archive of the
cygwin
mailing list for the Cygwin project.
RE: Assembler
- From: "Williams, Gerald S (Jerry)" <gsw at agere dot com>
- To: <cygwin at cygwin dot com>
- Date: Tue, 17 Feb 2004 15:12:05 -0500
- Subject: 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/