if you are writing code for a machine that actually has a 386 - ok
otherwise - best to use the extended instruction set
however, i believe they are out there, in the world of embedded controllers, etc
push eax
mov ah,[esp+2]
mov [esp+2],al
mov [esp],ah
pop eax
maybe slightly faster...
push eax
mov [esp+2],al
shr eax,8
mov [esp],ah
pop eax
it only uses the source/dest register
could make a macro so it can be done on EAX, EBX, ECX, or EDX