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-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.