今、RETFを使って、CS、EIP、SS、ESPを同時に切り替えようとしている。それで、試しに下のコードを実行してみるとbochsがCSがおかしいと言い出す。それで、そのCSの値を見てみると0x38。しかし、0x38なんて値は入れていない。下のコードのEBXには0x3bがECXには0x33が入ってることは確認済である。スタックに入れる順番を間違えたとしても、変な値か0x3bのはずであるが、どこにもでてきてない0x38だとbochsは言っている。一体何なんだろう?
PUSH EBX ;SS PUSH EDX ;ESP PUSH ECX ;CS PUSH EAX ;EIP RETF