2008-09-18 32 views
7

Tôi đã làm việc trên một hệ điều hành đồ chơi và đã sử dụng grub làm bộ tải khởi động. Gần đây khi cố gắng sử dụng VGA tôi thấy rằng tôi không thể sử dụng phần cứng ngắt. Điều này tôi tìm thấy là bởi vì tôi đã bị ném vào chế độ bảo vệ bằng grub.Grub và vào Chế độ thực (lập trình ngôn ngữ lắp ráp cấp thấp)

Có ai biết cách quay lại chế độ thực mà không phải loại bỏ grub không?

+0

bản sao có thể có của [Cách sử dụng các cuộc gọi BIOS/VESA thực từ GRUB?] (Http://stackoverflow.com/questions/30747574/how-to-use-real-mode-bios-vesa-calls-from -grub) – peterh

Trả lời

1

Nếu bạn đang sử dụng GRUB làm trình tải khởi động, bạn có thể sử dụng intcall (như được chỉ định trong COMBOOT API) để gọi hàm BIOS int 0x10 trong trường hợp của bạn để truy cập VESA VBE.

Nhưng điều này sẽ không giúp ích gì nếu bạn cần truy cập thanh ghi phần cứng VGA.

1

bạn có nghĩa là writeport (giá trị, $ 3c9)?

>mov 03c9,AH 
>out value,AL 

hoặc tương tự trong INTEL asm (NASM)

3c9 3c8 IIRC là thanh ghi VGA.