Mail Archives: djgpp/1999/02/01/20:50:27
> I hate arguing with the experts, but I don't think...
OK, here it is from the horse's mouth (the gcc/libc sources). Let me
know if I missed any.
ax,cx,dx,sp,st0-7,sw,cw - can be used without saving
bx,si,di,bp - must be preserved
cs,ds,es,ss - must be preserved
ip - you don't much choice about this one
fs - reserved for application use; neither gcc nor libc use this
gs - used by libc, but need not be preserved if you change it
eflags - gcc doesn't treat this as a register, so you need not save
it. In fact, gcc emits "cld" whenever it inlines a block move.
gdtr,ldtr,idtr,tr,cr*,dr*,tr* - not used by gcc or libc
- Raw text -