]> git.lizzy.rs Git - loadnothing.git/commitdiff
Hello Stage2
authorHimbeerserverDE <himbeerserverde@gmail.com>
Sun, 11 Sep 2022 18:01:28 +0000 (20:01 +0200)
committerHimbeerserverDE <himbeerserverde@gmail.com>
Sun, 11 Sep 2022 18:01:28 +0000 (20:01 +0200)
stage2/src/main.rs

index 43f9387fc9360fe7a9b8b7680c4d231defa2a8c0..dcab9938129155ba5003ce45bacafe22bdc504fd 100644 (file)
@@ -3,6 +3,8 @@
 
 use core::panic::PanicInfo;
 
+static HELLO: &[u8] = b"Hello Stage2!";
+
 #[panic_handler]
 fn panic(_info: &PanicInfo) -> ! {
     loop {}
@@ -10,5 +12,14 @@ fn panic(_info: &PanicInfo) -> ! {
 
 #[no_mangle]
 pub extern "C" fn _start() -> ! {
+    let vga_buffer = 0xb8000 as *mut u8;
+
+    for (i, &byte) in HELLO.iter().enumerate() {
+        unsafe {
+            *vga_buffer.offset(i as isize * 2) = byte;
+            *vga_buffer.offset(i as isize * 2 + 1) = 0x07;
+        }
+    }
+
     loop {}
 }