arm _exit, _write, _syscall

This commit is contained in:
Jan (janneke) Nieuwenhuizen 2022-05-01 00:46:08 +02:00 committed by Jan Nieuwenhuizen
parent 2e097282bb
commit 94426fc9de
3 changed files with 25 additions and 25 deletions

View File

@ -23,6 +23,6 @@ void
_exit ()
{
asm ("SYS_exit mov____$i8,%r7");
asm ("!-4 ldr____%r0,(%fp,+#$i8)");
asm ("!20 ldr____%r0,(%fp,+#$i8)");
asm ("swi____$0");
}

View File

@ -23,8 +23,8 @@ void
_write ()
{
asm ("SYS_write mov____$i8,%r7");
asm ("!-4 ldr____%r0,(%fp,+#$i8)");
asm ("!-8 ldr____%r1,(%fp,+#$i8)");
asm ("!-12 ldr____%r2,(%fp,+#$i8)");
asm ("!20 ldr____%r0,(%fp,+#$i8)");
asm ("!16 ldr____%r1,(%fp,+#$i8)");
asm ("!12 ldr____%r2,(%fp,+#$i8)");
asm ("swi____$0");
}

View File

@ -26,45 +26,45 @@ int errno;
int
__sys_call (int sys_call)
{
asm ("!-4 ldr____%r7,(%fp,+#$i8)");
asm ("!20 ldr____%r7,(%fp,+#$i8)");
asm ("swi____$0");
}
int
__sys_call1 (int sys_call, int one)
{
asm ("!-4 ldr____%r7,(%fp,+#$i8)");
asm ("!-8 ldr____%r0,(%fp,+#$i8)");
asm ("!20 ldr____%r7,(%fp,+#$i8)");
asm ("!16 ldr____%r0,(%fp,+#$i8)");
asm ("swi____$0");
}
int
__sys_call2 (int sys_call, int one, int two)
{
asm ("!-4 ldr____%r7,(%fp,+#$i8)");
asm ("!-8 ldr____%r0,(%fp,+#$i8)");
asm ("!-12 ldr____%r1,(%fp,+#$i8)");
asm ("!20 ldr____%r7,(%fp,+#$i8)");
asm ("!16 ldr____%r0,(%fp,+#$i8)");
asm ("!12 ldr____%r1,(%fp,+#$i8)");
asm ("swi____$0");
}
int
__sys_call3 (int sys_call, int one, int two, int three)
{
asm ("!-4 ldr____%r7,(%fp,+#$i8)");
asm ("!-8 ldr____%r0,(%fp,+#$i8)");
asm ("!-12 ldr____%r1,(%fp,+#$i8)");
asm ("!-16 ldr____%r2,(%fp,+#$i8)");
asm ("!20 ldr____%r7,(%fp,+#$i8)");
asm ("!16 ldr____%r0,(%fp,+#$i8)");
asm ("!12 ldr____%r1,(%fp,+#$i8)");
asm ("!8 ldr____%r2,(%fp,+#$i8)");
asm ("swi____$0");
}
int
__sys_call4 (int sys_call, int one, int two, int three, int four)
{
asm ("!-4 ldr____%r7,(%fp,+#$i8)");
asm ("!-8 ldr____%r0,(%fp,+#$i8)");
asm ("!-12 ldr____%r1,(%fp,+#$i8)");
asm ("!-16 ldr____%r2,(%fp,+#$i8)");
asm ("!-20 ldr____%r3,(%fp,+#$i8)");
asm ("!20 ldr____%r7,(%fp,+#$i8)");
asm ("!16 ldr____%r0,(%fp,+#$i8)");
asm ("!12 ldr____%r1,(%fp,+#$i8)");
asm ("!8 ldr____%r2,(%fp,+#$i8)");
asm ("!4 ldr____%r3,(%fp,+#$i8)");
asm ("swi____$0");
}
@ -72,12 +72,12 @@ int
__sys_call6 (int sys_call, int one, int two, int three, int four, int five, int six)
{
asm ("!-4 ldr____%r7,(%fp,+#$i8)");
asm ("!-12 ldr____%r0,(%fp,+#$i8)");
asm ("!-16 ldr____%r1,(%fp,+#$i8)");
asm ("!-20 ldr____%r2,(%fp,+#$i8)");
asm ("!-24 ldr____%r3,(%fp,+#$i8)");
asm ("!-28 ldr____%r4,(%fp,+#$i8)");
asm ("!-32 ldr____%r5,(%fp,+#$i8)");
asm ("!20 ldr____%r0,(%fp,+#$i8)");
asm ("!16 ldr____%r1,(%fp,+#$i8)");
asm ("!12 ldr____%r2,(%fp,+#$i8)");
asm ("!8 ldr____%r3,(%fp,+#$i8)");
asm ("!4 ldr____%r4,(%fp,+#$i8)");
asm ("!0 ldr____%r5,(%fp,+#$i8)");
asm ("swi____$0");
}