Help with code
Posted: Mon Nov 11, 2002 12:29 pm
[attachment deleted by admin]
Code: Select all
00016466214p[CPU ] >>PANIC<< prefetch: EIP > CS.limit
00016466214i[SYS ] Last time is 1037040133
00016466214i[CPU ] real mode
00016466214i[CPU ] CS.d_b = 16 bit
00016466214i[CPU ] SS.d_b = 16 bit
00016466214i[CPU ] | EAX=00180e00 EBX=00000000 ECX=000b0001 EDX=00000000
00016466214i[CPU ] | ESP=00001fff EBP=00000000 ESI=00007ce5 EDI=0000ffe4
00016466214i[CPU ] | IOPL=0 NV UP EI PL ZR NA PE NC
00016466214i[CPU ] | SEG selector base limit G D
00016466214i[CPU ] | SEG sltr(index|ti|rpl) base limit G D
00016466214i[CPU ] | DS:0000( 0000| 0| 0) 00000000 0000ffff 0 0
00016466214i[CPU ] | ES:9000( 0000| 0| 0) 00090000 0000ffff 0 0
00016466214i[CPU ] | FS:0000( 0000| 0| 0) 00000000 0000ffff 0 0
00016466214i[CPU ] | GS:0000( 0000| 0| 0) 00000000 0000ffff 0 0
00016466214i[CPU ] | SS:0000( 0000| 0| 0) 00000000 0000ffff 0 0
00016466214i[CPU ] | CS:0000( 0000| 0| 0) 00000000 0000ffff 0 0
00016466214i[CPU ] | EIP=00010000 (0000ffff)
Code: Select all
MOV ESI, 0xB8000
MOV WORD [DS:ESI], 0x0421
JMP $
Code: Select all
mov ax,0x9000
mov es,ax
mov sp,0xffff
Code: Select all
mov ax,0x9000
mov ss,ax
mov sp,0xffff
Code: Select all
VGA BIOS - Version 2.40
Copyright (C) 1990-2000 Elpin Systems, Inc.
All rights reserved.
Licensed for use with bochs, courtesy of MandrakeSoft.
For information on this or other VGA development products, contact
Elpin Systems at: (800) 723-9038 or www.elpin.com
Bochs BIOS, $Revision: 1.42.2.1 $ $Date: 2002/05/15 13:41:03 $
Booting from Floppy...
Booting from FLOPPY!
Code: Select all
00000212158i[CPU ] BxError: instruction with op1=0xff
00000212158i[CPU ] nnn was 7
00000212158i[CPU ] WARNING: Encountered an unknown instruction (signalling illegal instruction):
00000212159i[CPU ] BxError: instruction with op1=0xff
00000212159i[CPU ] nnn was 7
00000212159i[CPU ] WARNING: Encountered an unknown instruction (signalling illegal instruction):
00000212160i[CPU ] BxError: instruction with op1=0xff
That means that you try to do an illegal instructionbeyondsociety wrote: IIt repeats this same line of code for about 100-200 lines more. If you need to see the code, then just ask.Code: Select all
00000212158i[CPU ] BxError: instruction with op1=0xff 00000212158i[CPU ] nnn was 7 00000212158i[CPU ] WARNING: Encountered an unknown instruction (signalling illegal instruction): 00000212159i[CPU ] BxError: instruction with op1=0xff 00000212159i[CPU ] nnn was 7 00000212159i[CPU ] WARNING: Encountered an unknown instruction (signalling illegal instruction): 00000212160i[CPU ] BxError: instruction with op1=0xff
In my experience, the best way to work is to use Bochs as the basic test platform, and then when it seems to work, test it out on a live machine. The main advantage of Bochs is that it can shorten the turn around time when testing, allowing you to get a close approximation of running code quickly; a typical Bochs run will be over faster than even a quick machine can reboot, usually. Because it cannot exactly simulate the exact behavior of a real machine, code will generally fail on Bochs more often than on a real machine; it is rare for something to work under Bochs but fail on the actual hardware.Tim Robinson wrote: Bochs works, but it isn't perfect. If it runs on a PC it will probably run under Bochs, but if you do all your development under Bochs, then try it on a PC, you will be disappointed.