; NASM MBR boot loader [bits 16] ; Rejestry 16-bitowy [org 0x7c00] ; BIOS ładuje pamięć do adresów 0x07c0:0000 jmp 0x0000:initialize_bios ; Resetowanie segmentu kodu do 0x0000 z długim skokiem initialize_bios: xor ax, ax mov ds, ax ; Resetowanie segmentów danych do wartości 0x0000 mov es, ax mov [bootdrive], dl call ask2 ; Wykonuje wywołanie procedury (funkcji) halt: hlt jmp halt ask2: ; Procedura ;======================================= ;Wynik operacji zapisujemy w rejestrze al ;======================================= mov dl, 00 ; Kolumna mov dh, 05 ; Wiersz mov bh, 0 ; Wyświetlana strona mov ah, 02h ; Zapis znaku na standardowe wyjście int 10h ; Przerwanie karty graficznej mov ah, 09h ; Przerwanie karty graficznej mov bl, 0x02 ; Kolor znaku int 10h ; Zapis znaku na standardowe wyjście jmp parking_course parking_course: mov dl, 0 ; Kolumna mov dh, 0 ; Wiersz mov bh, 0 ; Wyświetlana strona mov ah, 02h ; Zapis znaku na standardowe wyjście int 10h ; Przerwanie karty graficznej ret data: bootdrive db 0x00 times 510 - ($ - $$) db 0 dw 0xaa55