ARMにはret命令が無い・・・、ってかコールしてもスタックに戻り番地が積まれない。戻り番地はレジスタに保持され、戻る時はpcレジスタに直接入れて復帰する。コールをネストする場合は自分で戻り番地を保持しとかないといけない(確かに命令はブランチなので間違ってはいないんだけど・・・)。さすがRISCである、i386までしか知らない世代には驚きだw MC68000系ではすらすらコードが書ける程理解しやすいアーキテクチャだったが、ARMでは無理wwwww 最適化のこともあって素直にコンパイラ使えということなんだろうが、残念ながらkernelにはアセンブラコードがある・・・orz
2006/7/7 金曜日
コメントはまだありません »
No comments yet.
RSS feed for comments on this post.