tomoyuki-nakabayashi / Rustemu86

Apache License 2.0
5 stars 0 forks source link

callq/retqを実装する #16

Closed tomoyuki-nakabayashi closed 6 years ago

tomoyuki-nakabayashi commented 6 years ago

スタックの操作が必要になる。 後、RIPとスタック操作を同時にやると汚いので、マイクロOP化して、複数のWriteBackで実装するぞ。

tomoyuki-nakabayashi commented 6 years ago
00000005  E806000000        call qword 0x10
...
00000053  C3                ret
tomoyuki-nakabayashi commented 6 years ago

えーと、jmpと同時にスタックに次のripを積めば良い、んだよね。

tomoyuki-nakabayashi commented 6 years ago

callは良い。 retは、スタック(メモリ)からipにジャンプ先を入れないとダメなのか…。

レジスタを経由しようかとも思ったが、とりあえずは、直接ipに入れればいいや。