flat assembler
Message board for the users of flat assembler.
  
       
      Index
      > Compiler Internals > JECXZ in 16-bit code | 
  
| Author | 
  | 
              
| 
                  
                   CandyMan 14 Sep 2011, 16:36 
                  attemp of the assembly of the code:
 
                  
                org 0xFFC00000 use16 jcxz $ error: invalid value  | 
              |||
                  
  | 
              
| 
                  
                   LocoDelAssembly 14 Sep 2011, 17:53 
                  This is happening with all jump instructions actually. In fasm 1.64 this code works. 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   Tomasz Grysztar 14 Sep 2011, 19:20 
                  It is no longer assembled thanks to corrections made in 1.65.20 release. With "use16" jump defaults to 16-bit (which truncates target address to IP), and so it would jump to "0xFFC00000 and 0FFFFh", which is not the same as $, so fasm refuses to generate such code. You can jump to $=0xFFC00000 with 32-bit jump:
 
                  
                Code: jcxz dword $ And if you really wish to jump to "0xFFC00000 and 0FFFFh", then tell fasm that: Code: jcxz $ and 0FFFFh     | 
              |||
                  
  | 
              
< Last Thread | Next Thread >  | 
    
Forum Rules: 
  | 
    
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.