.code64 .section .boot.rodata, "a", @progbits /******* ERROR MESSAGE STRINGS *******/ kernel_identifier: .asciz " Socks kernel version " BUILD_ID " " .section .boot.text, "ax", @progbits print_kernel_identifier: /* line 1: empty padding line */ mov $kernel_identifier, %rsi mov $0xb8000, %rdi 1: movw $0x7000, (%rdi) # black text on white background. add $0x02, %rdi inc %rsi cmpb $0, (%rsi) jne 1b /* line 2: kernel identiifer */ mov $kernel_identifier, %rsi mov $0xb80A0, %rdi 2: movsb movb $0x70, (%rdi) # black text on white background inc %rdi cmpb $0, (%rsi) jne 2b /* line 3: empty padding line */ mov $kernel_identifier, %rsi mov $0xb8140, %rdi 1: movw $0x7000, (%rdi) # black text on white background. add $0x02, %rdi inc %rsi cmpb $0, (%rsi) jne 1b ret .global start_64 .type start_64, @function start_64: call print_kernel_identifier cli hlt