It might help to know why you need to fiddle with the processor's registers directly. There are very, very few occasions where it is useful to do this in C (or any other high-level language) and you need to know how C is using the registers. If you change values in some of them (most obviously ss, ds, bp, sp) things will go very wrong.