[fpc-pascal] fpc-2.1.4.x86_64-win64.exe: Problem with int64 ? or	Problem with Large Decimal values in asm ?
    Skybuck Flying 
    skybuck2000 at hotmail.com
       
    Thu Jul 26 11:19:23 CEST 2007
    
    
  
Hello,
This is my first attempt at writing AT&T asm code and also 64 bit asm code:
The output is supposed to be 2^64 - 1 but it displays 2^32-1.
Did I program a bug ?
Or is the compiler bugged ?
Maybe writeln bugged ?
What's wrong ?
// *** Begin of Code ***
program HelloWorld;
{$mode delphi}
var
 test : int64;
begin
 writeln('Hello Free Pascal World !');
 asm
  mov $10, %eax
  mov %eax, test  // no size warnings, kinda nice ;) or could it hide bugs 
in the future ?
 end;
 writeln('Test: ', test );
 asm
  mov $100, %eax
  mov %eax, test
 end;
 writeln('Test: ', test );
 // $7FFFFFFFFFFFFFFF not recognized.
 // bug: only lower bits moved ?
 // $100 is this hexadecimal 100 or decimal 100 ?
 // the test above shows 100.. I guess 100 decimal then...
 // somewhere below is a bug: 4294967295
 // maybe move instruction is only 32 bits ?
 // maybe rax is only 32 bits.. but isn't it 64 bits ?
 asm
  mov $9223372036854775807, %rax
  mov %rax, test
 end;
 writeln('Test: ', test );
 readln;
end.
// *** End of Code ***
Bye,
  Skybuck. 
    
    
More information about the fpc-pascal
mailing list