The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
746 B
35 lines
746 B
/* Do not use this as the basis of your own libc. |
|
* The code is probably unoptimal or wonky, as I |
|
* had no prior experience with this, but instead |
|
* just fiddled with the code until it worked. |
|
*/ |
|
|
|
#include<stdio.h> |
|
|
|
#define STDOUT 1 |
|
#define SYS_WRITE 4 |
|
|
|
int simple_print(const char *msg, const long bufsize) { |
|
int count; |
|
long total_written = 0; |
|
while(total_written < bufsize) { |
|
asm( |
|
"int $0x80\n\t" |
|
: "=a"(count) |
|
: "0"(SYS_WRITE), "b"(STDOUT), "c"(msg+total_written), "d"(bufsize-total_written) |
|
:); |
|
if(count == 0) { |
|
return 1; |
|
} |
|
total_written += count; |
|
} |
|
return 0; |
|
} |
|
|
|
int simple_strlen(const char *str) { |
|
int len = 0; |
|
while(str[len] != '\0') { |
|
len++; |
|
} |
|
return len; |
|
}
|
|
|