我從example創建軟盤引導映像,它應該:兩個字節的操作系統沒有我想要的
- 禁用所有interrups
- 重啓
但是,一旦我開始它與bochs,它消耗100%的CPU,直到我殺了它。
這裏是軟盤圖像:
$ hd floppy.img 00000000 fa f4 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| 00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 000001f0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa |..............U.| 00000200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00168000
分解的圖象:
$ objdump -b binary -D floppy.img -m i386 floppy.img: file format binary Disassembly of section .data: 00000000 : 0: fa cli 1: f4 hlt ... 1fe: 55 push %ebp 1ff: aa stos %al,%es:(%edi)
Bochs output(引擎收錄)。
bochsrc.txt:
romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xe0000 vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest floppya: 1_44=floppy.img, status=inserted boot: a log: OSDev.log mouse: enabled=0 megs: 32 display_library: sdl
我運行Bochs的是這樣的:
但是,一旦我與Bochs的開始,它佔用100%的CPU,直到我殺了它。
$ bochs -f bochsrc.txt
Bochs的版本:2.4.6-4,在Ubuntu 12.04 i686的運行。
我在做什麼錯?
會是什麼重新啓動後怎麼辦?重新啓動? –
'hlt'不重新啓動。這不是它的目的。它暫停處理器,直到中斷到達,因爲你已經禁止中斷...... –
@ ChrisJester-Young那麼爲什麼模擬器消耗100%的CPU? –