flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > Sector loading code |
Author |
|
adefeo 22 May 2005, 13:47
Wow, I haven't posted on this board in ages.
I'm having some trouble with some newly added sector loading code in my OS. It compiles fine, but when you try to load sector 2 on a floppy disk, Bochs panics with the message "00068675875p[CPU0 ] >>PANIC<< prefetch: RIP > CS.limit". Some links to the code: Kernel code: http://protonix.asmhackers.net/protonix/v2/build1/devel/NEWPRO.ASM Program on sector 2 (that i'm trying to load): http://protonix.asmhackers.net/protonix/v2/build1/devel/test.asm Bochs log: http://protonix.asmhackers.net/protonix/v2/build1/devel/log.txt Project website: http://protonix.asmhackers.net Project forum: http://protonix.asmhackers.net/board Thanks, Anthony |
|||
22 May 2005, 13:47 |
|
adefeo 23 May 2005, 21:31
OK, the sector loads fine, so it's either the jump or the code that I'm jumping to.
|
|||
23 May 2005, 21:31 |
|
bubach 24 May 2005, 08:31
Oh, I thought that it meant "rest in peace CS limit.."
|
|||
24 May 2005, 08:31 |
|
deltre 24 May 2005, 08:41
I used to use another assembler, which couldn't handle
Code: jmp far 0x2000:0x0000 Instead, you had to Code: db 0EAh dw destinationOffset, destinationSegment Thats why I brought up the "debug to see if the jmp was assembled correctly". Code looks fine to me, after a successfull read there cannot be any operation but the jmp. |
|||
24 May 2005, 08:41 |
|
smiddy 24 May 2005, 11:47
I am assuming that RIP is a part of AMD64 (for my own edification)?
I use two pushes and RETF to jump to the offending code that I've loaded from my boot sector: Code: PUSH WORD 0x0000 ; Push the Offset onto the stack PUSH WORD 0x2000 ; Push the new CS onto the stack RETF I may have these reveresed and backwards (depending on your ORG for your code to load). |
|||
24 May 2005, 11:47 |
|
deltre 24 May 2005, 12:51
Awwight what version of bochs do you use? I've searched for your error message a bit, found a changelog for bochs 2.1 that says:
Quote: - these S.F. bugs were closed |
|||
24 May 2005, 12:51 |
|
smiddy 24 May 2005, 14:21
deltre:
It looks like 2.2 Pre 3: Code: 00000000000i[ ] Bochs x86 Emulator 2.2.pre3 |
|||
24 May 2005, 14:21 |
|
adefeo 24 May 2005, 20:09
Thanks. I'll try those things when I get home.
|
|||
24 May 2005, 20:09 |
|
adefeo 24 May 2005, 21:26
None of the alternate "jumping" methods worked. Any ideas?
|
|||
24 May 2005, 21:26 |
|
adefeo 11 Jun 2005, 12:59
Well, I've finally gotten everything sorted out. Turns out that iwas just a problem with the int 0x13 options. So, the OS was loading the sectors and jumping OK, just to the wrong sector.
Anyway, it's all fixed now, and I released version 512DevOS 0.02 (formerly Protonix and BS/OS) with sector loading support at 12:07AM EDT this morning. Don't ask why I did a midnight release; I just figured out the problem (with help from Benjamin David Lunt) that late. So grab a copy at http://512dev.us.tt Be sure to join our forums, no new members/activity in a while... I like to code assembler by moonlight. lol j/k |
|||
11 Jun 2005, 12:59 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.