On Fri, Jul 16, 2004 at 12:32:24AM +0400,
 breath probably wrote:

> Normal:
> When you boot from the floppy you get something like black screen and
> computer hangs up (but not reboots)
> 
> Abnormal:
> When you boot from the floppy you get a screen splash and then back to
> reboot POST procedure.

Heh. The only thing I can think of right now is an interrupt not masked
by the cli you issued. You could try inserting a `mov ss, something'
just before the jump. This will prevent any processor from doing any
interrupts, as the immediately next instruction should be `mov sp,
something' (it was documented somewhere). Like

>       mov     eax, cr0
>       or      al, 0x1         ; cr0 |= PE

        mov     dx, 0x8

>       mov     cr0, eax

        mov     ss, dx

>       jmp     0x10: protected

<snip>

> .gdt0 dw      0x0000, 0x0000, 0x0000, 0x0000
> .data dw      0xFFFF, 0x0000, 0x9200, 0x00CF
> .code dw      0xFFFF, 0x0000, 0x9800, 0x00CF
> .gdtr dw      $ - .gdt0 - 1

And why `-1'?

>       dd      .gdt0

You could also try adding CPUID's between all instructions for
synchronization, in case it's that kind of issue.

> Here goes the code. PLEASE, even if you're not interested in this
> 'puzzle':( MAKE AND TEST IT ON YOUR COMPUTER. EMAIL ME RESULTS AND
> COMPUTER MODEL.

As soon as I have access to the 'puter with nasm, maybe.

P.S. Does booting DOS, and running a DOS-extended program succeed or
fail?

-- 
DoubleF
New York is real.  The rest is done with mirrors.

Attachment: pgpl4lyIP4UZt.pgp
Description: PGP signature

Reply via email to