flat assembler
Message board for the users of flat assembler.
  
       
      Index
      > Compiler Internals > Changes from 1.60 -> 1.71 | 
  
| Author | 
  | 
              
| 
                  
                   l_inc 07 Jan 2015, 20:53 
                  bubach
 
                  Quote: it seems to be the divide by 2 part it doesn't like Yes. This is soo wrong. What was actually compiled is "mov [idt_list+eax], edi". This bug has been eliminated in 1.66 and it seems to be summarized under "many other small bugs fixed". Quote: Is there somewhere I could get a summary of changes affecting syntax from 1.60 and forward? WHATSNEW.TXT _________________ Faith is a superposition of knowledge and fallacy  | 
              |||
                  
  | 
              
| 
                  
                   bubach 07 Jan 2015, 22:33 
                  you must mean "mov [idt_list+ecx], edi"? so before the bug fixes it just ignored the divide by 2? 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   revolution 08 Jan 2015, 00:16 
                  bubach wrote: you must mean "mov [idt_list+ecx], edi"? so before the bug fixes it just ignored the divide by 2?  | 
              |||
                  
  | 
              
| 
                  
                   l_inc 08 Jan 2015, 00:18 
                  bubach
 
                  No. I mean eax. My first thought was that fasm just divides the native register number (like you know: ecx/2 = eax, esi/2 = ebx, etc.) But in a couple of superficial tests it always took eax. _________________ Faith is a superposition of knowledge and fallacy  | 
              |||
                  
  | 
              
| 
                  
                   bubach 08 Jan 2015, 01:29 
                  wow.  must have been close to miraculous that my old code would run without errors in that case. probably helped that the line above was:
 
                  
                Code:           movzx   ecx, ax     | 
              |||
                  
  | 
              
| 
                  
                   bubach 08 Jan 2015, 19:55 
                  Hm, I have another strange thing going in my bootsector. It seems as it no longer assembles this
 
                  
                Code: jmp near start nop into "EB 3C 90" but instead into "E9 3C 00 90"... sigh. something changed with near jumps, or could this be a bug in the hacked OS X version of fasm?  | 
              |||
                  
  | 
              
| 
                  
                   l_inc 08 Jan 2015, 20:39 
                  bubach
 
                  The keyword near enforces a long encoding of a relative jump. The keyword short enforces a short encoding of a relative jump. If you specify neither of those the short encoding is used unless it's not possible. See the documentation for explanation of keywords. _________________ Faith is a superposition of knowledge and fallacy  | 
              |||
                  
  | 
              
| 
                  
                   bubach 08 Jan 2015, 21:08 
                  That code is untouched since like, 2003. But yeah, okey - probably another thing changed since 1.60. Thanks! 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   bubach 08 Jan 2015, 22:48 
                  Argh, I also had to deal with this issue:
 
                  
                http://board.flatassembler.net/topic.php?t=3286 No way to avoid it any longer. Well, moving the codebase down below 0x10000 to maybe 0x8000 should do it. I hope.  | 
              |||
                  
  | 
              
| 
                  
                   l_inc 08 Jan 2015, 23:20 
                  bubach
 
                  I can't see any real issues with staying above 0x10000. As for jumping into protected 32-bit mode you just do jmp fword 0x08:do_pmode . As for data shared across both modes, you just define two labels for each shared variable. There are possibilities to make neat and easy-to-use macros for that, so that there's no visual difference to your previous code. _________________ Faith is a superposition of knowledge and fallacy  | 
              |||
                  
  | 
              
< Last Thread | Next Thread >  | 
    
Forum Rules: 
  | 
    
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.