これで十分か。

rol命令
rol eax

eax = (eax << 1) | ((eax >> 31) & 1);

ror命令
ror eax

eax = ((eax >> 1) & 0x7FFFFFFF) | (eax << 31);

sal命令、shl命令
sal eax

eax <<= 1;

sar命令、shr命令
sar eax

eax = (eax >> 1) & 0x7FFFFFFF | (eax & 0x7FFFFFFF);

shr eax

eax = (eax >> 1) & 0x7FFFFFFF;

C の >> は int の場合は sar で、unsigned の場合は shr で実装されてることもあるが、
それは C の規約で規定されている訳ではない。
というわけで、こうややこしく書いたけど、もしそう実装されていればそれぞれ以下のようにしたのでよい。

eax >>= 1; /* eax は signed int */
eax >>= 1; /* eax は unsigned int */