Cross Reference: hello-i386.c
xref
: /
vbox
/
src
/
recompiler
/
tests
/
hello-i386.c
Home
History
Annotate
Line#
Navigate
Download
Search
only in
./
#
include
<
asm
/
unistd.h
>
extern
inline
volatile
void
exit
(
int
status
)
{
int
__res
;
__asm__
volatile
(
"movl %%ecx,%%ebx\n"
\
"int $0x80"
\
:
"=a"
(
__res
) :
"0"
(
__NR_exit
),
"c"
((
long
)(
status
)));
}
extern
inline
int
write
(
int
fd
,
const
char
*
buf
,
int
len
)
{
int
status
;
__asm__
volatile
(
"pushl %%ebx\n"
\
"movl %%esi,%%ebx\n"
\
"int $0x80\n"
\
"popl %%ebx\n"
\
:
"=a"
(
status
) \
:
"0"
(
__NR_write
),
"S"
((
long
)(
fd
)),
"c"
((
long
)(
buf
)),
"d"
((
long
)(
len
)));
}
void
_start
(
void
)
{
write
(
1
,
"Hello World\n"
,
12
);
exit
(0);
}