Page 2 of 2

Re: x_64 registers

Posted: Thu Jun 16, 2011 2:51 pm
by Denis
Trond wrote:
DarkDragon wrote:
Denis wrote:DarkDragon, why did you say that. It's related for x_86 in the PB help file. It's a possibility to code in asm with PB, so PB rules have to be known.
That are assembler rules, not PB rules:
http://flatassembler.net/docs.php?article=manual#2.1.19
No, in pure assembly you can use registers are you please. This information tells us which registers PB expect NOT to change and which PB expect to change. We can't know what PB expects unless it says in the manual.
I agreed with you Trond.

Documentation Intel for info (pdf files) :

http://www.intel.com/products/processor/manuals/

Re: x_64 registers

Posted: Thu Jun 16, 2011 6:33 pm
by Helle
Gentlemen, if PB make his own rules, this is the end of 64-bit PB-inline assembler! I have e.g. problems with the return value of float/double-values of procedures. PB gives this value in ST0; the rest of the world in in xmm0. Sh...
Helle

Re: x_64 registers

Posted: Fri Jun 17, 2011 12:28 pm
by remi_meier
Oh nice... So that means I will not be able to use
my .SO in other programs (on Linux), not that
this was ever really possible without problems...

It's actually allowed to return (complex) long double
values in ST0, but that is not the case here... Why
doesn't Fred add a simple MOV to xmm0? Or finally
use SSE instead of x87? Oh well.

Cheers
Remi

Re: x_64 registers

Posted: Fri Jun 17, 2011 5:40 pm
by Thorium
Actualy there are more volatile registers: http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx
However this are windows rules, this does not need to be the same on every OS.