blob: 300b7aab83e6eb1354772ced40c4db8f56031b98 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#include "syscall.h"
#include "gdt.h"
#include "libc/stdio.h"
void syscall(){
int call_number;
asm("movl %%eax, %0":"=m"(call_number));
if(call_number==1){
int msg_addr;
asm("movl %%ebx, %0":"=m"(msg_addr));
char *msg=(char*)msg_addr;
print(msg);
}
else{
print("Syscall ");
printi(call_number);
print(" unknown");
}
}
|