Делаю по спецификации. Помогите пожалуйста с примерами. Или подскажите, что не так делаю. Вот исходник. Код (Text): org 100000h ; 1 Mb use32 ; ---------------------------------------------------------------------------- ; byte 0 of file kernel.sys ; ---------------------------------------------------------------------------- kernel_entry: jmp kernel_start ; ---------------------------------------------------------------------------- ; multiboot header ; ---------------------------------------------------------------------------- align 4 multiboot_magic equ 0x1BADB002 multiboot_flags equ 0x00010003 multiboot_checksum equ -(multiboot_magic + multiboot_flags) multiboot_header dd multiboot_magic ; magic dd multiboot_flags ; flags dd multiboot_checksum ; checksum dd multiboot_header ; header_addr dd $$ ; load_addr dd kernel_end ; load_end_addr dd kernel_end + 2000h ; bss_end_addr dd kernel_start ; entry_addr dd 1 ; text mode dd 80 ; 80x25 dd 25 dd 0 ; ---------------------------------------------------------------------------- ; kernel start point ; ---------------------------------------------------------------------------- kernel_start: nop mov esi, kernel_msg_greeting mov edi, 0B800h + (80 * 2 * 10) ; line 10 mov ecx, kernel_msg_greeting_end - kernel_msg_greeting cld rep movsb kernel_end_loop: jmp kernel_end_loop kernel_msg_greeting db 'Hello from My OS kernel' kernel_msg_greeting_end db 0 kernel_end db 0 Пробовал с multiboot_load_end_addr =0 и с multiboot_bss_end_addr=0, в этом случае по спецификации должен грузиться весь файл, bss сегмента нет. GRUB в любом случае выдает такое сообщение: [Multiboot-kludge, loadaddr=0x100000, text-and-data=0x61, bss=0x2000, entry=0x100034] и не хочет передавать управление
А мож передает? mov edi, 0B800h + (80 * 2 * 10) ; line 10 Попробуй поменять на: mov edi, 0B8000h + (80 * 2 * 10) ; line 10 А как menu.lst выглядит?
Тормоз я Перепутал адрес экрана. И точно передает. Так что все норм, спасибо за наводку. menu.lst такое: Код (Text): default 0 timeout 30 title MS-DOS root (hd0,0) chainloader +1 title MyOS root (hd0,0) kernel /kernel/bin/kernel.sys