commit feddb27588a719b441d4dbf4a1e051c4ebda7486 Author: Lucas Date: Sun Feb 16 12:38:50 2025 +0000 first commit diff --git a/print.c b/print.c new file mode 100644 index 0000000..f2f9b88 --- /dev/null +++ b/print.c @@ -0,0 +1,45 @@ +long print(const void *buf, long count) { + asm volatile ( + "syscall" + : + : "a"(1), "D"(1), "S"(buf), "d"(count) // RDI, RSI, RDX are used in x86-64 for write args + : "rcx", "r11", "memory" + ); + return 0; +} + +void exit(int e) { + asm volatile( + "syscall" + : + : "a"(60), "D"(e) + : + ); + for(;;); +} + + +int main() { +//void _start() { + char *msg = "Hello World!\n"; + print(msg, 13); + return 69; +} +void __libc_start_main() {exit(main());} + +/* +#if defined(__x86_64__) + printf("Compiled for x86_64 architecture\n"); + #elif defined(__i386__) + printf("Compiled for x86 architecture\n"); + #elif defined(__arm__) + printf("Compiled for ARM architecture\n"); + #elif defined(__aarch64__) + printf("Compiled for ARM64 architecture\n"); + #elif defined(__mips__) + printf("Compiled for ARM architecture\n"); + #else + printf("Unknown architecture\n"); + #endif +*/ +