const std = @import("std"); const os = @import("os.zig"); const config = @import("config"); export fn _start() callconv(.c) noreturn { _ = os.syscall1(SYS_poke, 0xB16B00B5BADBABE); _ = os.syscall1(SYS_exit, 0x69696969); asm volatile ("int3"); asm volatile ( \\ mov %[number], %%rdi \\ xor %%rsi, %%rsi \\ xor %%rbx, %%rbx \\ mainloop: \\ xor %%rax, %%rax \\ delayloop: \\ inc %%rax \\ cmp $0x1000000, %%rax \\ jnz delayloop \\ inc %%rbx \\ mov %%rsp, %%rsi \\ syscall \\ jmp mainloop : : [number] "r" (config.number), ); die(); } pub inline fn die() noreturn { while (true) {} } pub const SYS_exit = 0x420; pub const SYS_poke = 0x69;