> Jonas Maebe wrote: > >> No, in eax. "movl %eax, %esi" means "move the contents of eax into esi". >> This is AT&T assembler notation, not Intel. > > ops, i worked 10 years with intel assembler style, so i mixed this. sorry. > >> No. At least one problem is that in your assembler function, you use esi >> and ebx without saving/restoring them. ebx, esi and edi are callee-saved >> registers in the new default calling convention of FPC 2.0 (register >> calling), just like in C/C++. > > Is there any docmentation about this? Must the eax register be saved, > too? I thouht > > end ['EAX', 'EBX', 'ESI']; > > Is enough and tells the compiler, that these registers are changeing. In > the current documentation i could not found information, about saving > registers.
That works only for assembler blocks inside functions. For functions itself the standard calling conventions need to be followed. For i386 these are the same as delphi. _______________________________________________ fpc-devel maillist - [email protected] http://lists.freepascal.org/mailman/listinfo/fpc-devel
