diff options
| author | andromeda <andromeda@lenovo> | 2026-03-04 22:45:35 +0100 |
|---|---|---|
| committer | andromeda <andromeda@lenovo> | 2026-03-04 22:45:35 +0100 |
| commit | 094e8c288a88db8a349492085381347ccdafc391 (patch) | |
| tree | 9ee347819e3f7c3b0747c9b725e7f4c69b22d6ac /src/lib.rs | |
| parent | 1b6f76488dcc01c8e6c0efbe07751ebeea18c33b (diff) | |
use long mode, x86_64-unknown-none works now
Diffstat (limited to 'src/lib.rs')
| -rw-r--r-- | src/lib.rs | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -6,15 +6,22 @@ use core::panic::PanicInfo; #[unsafe(no_mangle)] pub extern "C" fn _start() -> ! { // 'k' - loop{unsafe {core::arch::asm!( - "out dx, al", in("al") 0x6Bu8 - )}} + print("kernel\n"); + loop {} +} + +fn print(s: &str) { + let mut bytes = s.bytes(); + while let Some(b) = bytes.next() { + unsafe {core::arch::asm!( + "out dx, al" + , in("al") b + )}; + }; } #[panic_handler] fn panic(_: &PanicInfo) -> ! { - // 'p' - loop{unsafe {core::arch::asm!( - "out dx, al", in("al") 0x70u8 - )}} + print("panicked"); + loop {} } |
