Thread overview
Inline assembly registers
Aug 10, 2013
Temtaime
Aug 10, 2013
bearophile
Aug 10, 2013
Temtaime
Aug 10, 2013
bearophile
Aug 10, 2013
Temtaime
August 10, 2013
Hello for all!

Which registers in IASM i must preserve?
http://dlang.org/iasm.html says nothing.

Regards.
August 10, 2013
Temtaime:

> Which registers in IASM i must preserve?
> http://dlang.org/iasm.html says nothing.

D is a system language, and registers are there to be used. What do you want to keep safe?

Take a look at the docs page about the D ABI.

Bye,
bearophile
August 10, 2013
I'm writing some ASM code in my function.

Does it mean that DMD saves "his" registers before my asm code and restores after? So i can use all registers without interaction with code that DMD backend produces?
August 10, 2013
Temtaime:

> I'm writing some ASM code in my function.
>
> Does it mean that DMD saves "his" registers before my asm code and restores after? So i can use all registers without interaction with code that DMD backend produces?

dmd saves some registers before the asm code, and then restores them after your asm. If you don't want that behavour then you have to use the "naked" attribute.

For details of what registers can be used take a look at the docs. And also take a look at the disassembly of your function that contains an empty asm statement, to see exactly what's saved.

Bye,
bearophile
August 10, 2013
Now it's clear.
Thanks very much!