Winget ile MSYS Kurulumu CMD üzerinde
winget install --id=MSYS2.MSYS2 -e
NASM bu adresten indirilir kurulur
MSYS açılır ve QEMU kurulur
pacman -S mingw-w64-ucrt-x86_64-qemu
Hello World Kodunun not defterine yapıştırıp *boot.asm*
olarak kaydedilir
org 0x7C00 ; BIOS loads our programm at this address
bits 16 ; We're working at 16-bit mode here
start:
cli ; Disable the interrupts
mov si, msg ; SI now points to our message
mov ah, 0x0E ; Indicate BIOS we're going to print chars
.loop lodsb ; Loads SI into AL and increments SI [next char]
or al, al ; Checks if the end of the string
jz halt ; Jump to halt if the end
int 0x10 ; Otherwise, call interrupt for printing the char
jmp .loop ; Next iteration of the loop
halt: hlt ; CPU command to halt the execution
msg: db "Hello, World!", 0 ; Our actual message to print
;; Magic numbers
times 510 - ($ - $$) db 0
dw 0xAA55
CMD açılır ve nasm ile kod derle
nasm boot.asm -f bin -o boot.bin
Derlenmiş bootable dosyayı QEMU ile boot etmek
qemu-system-x86_64 -fda boot.bin
boot.bin dosyasını ISO dosyasına çevirmek için bu adresten Magic ISO yazılımını indiriyoruz.
ISO dosyamız hazır. Bu dosyayı ister Virtualbox ile deneyin isterseniz de USB ile Rufus boot edin.
Magic ISO yazılımını kurduktan sonra sırasıyla File>Bootable CD/DVD Image
From bootable Image file klasör seçeneklerinden oluşturduğumuz boot.bin dosyasını seçiyoruz.
OK butonuna bastıktan sonra üst menüdeki kaydet butonu ile boot.iso olarak kaydediyoruz.
https://blog.ghaiklor.com/2017/10/21/how-to-implement-your-own-hello-world-boot-loader/
Kaynak 2 Video