Author Topic: Register use conventions  (Read 3314 times)


  • Guest
Register use conventions
« on: October 27, 2012, 10:46:23 pm »
I have just started experimenting with POASM subroutines called from Pelle C.  Since I have a Win7 64-bit computer, in-lining is not allowed, but I found it surprisingly easy to get started with a separate *.asm source file.  I now have a question for the experts:

1) Pelle's explanation of the 'fastcall' convention does not cover use of registers other than rcx,rdx,r8,r9 & rax.  I suspect that he follows Microsoft's Visual C++ rules, which state that the above 5 registers plus r10 & r11 are 'volatile' while all others should be preserved, i.e. PUSHed and POPped.  Is this correct?

Offline frankie

  • Global Moderator
  • Member
  • *****
  • Posts: 1774
Re: Register use conventions
« Reply #1 on: October 28, 2012, 12:04:50 am »
Yes, the main aim of PellesC is the compatibility with M$ standards.
The whole suite is specialized for WIN OS's, no ports for anything else.