私もGCC・GASで作っていますが, このような現象には出会っておりません Optionは違います -mh -mint32 -mrelax の替わりに -mh でやっております(16bits int) -mrelax が怪しい? /_/_/_ kobayasi@xxxxxxxxxxxxxxxxxxxxxxx > > > 中尾と申します。GCCを利用してアセンブルを行っているのですが、 > 動作が理解できずに困っています。 > > アドレス未解決のクロスリファレンス > 002a 5C000000 bsr in_char:16 > 002e 4700 beq .-4 > > アドレス解決時のオブジェクトダンプ > 3298: 5c 00 ff 84 5c 00 ff 84 bsr .-122 (3220) > 329c: 47 fe 47 fe beq .-2 (329c) > > アドレス未解決時にはうまくいっているように見えるのですが、 > リンク後のダンプでは beq 命令のジャンプ先がおかしくなってし > まいます。もちろんプログラムは正常に動きません。 > 環境はCygwin+GCCでバージョンは次ぎのとおりです。 > gcc 2.95.3、gas 2.11.2、ld 2.11.2 > また、アセンブル時のオプションは次ぎのとおりです。 > -mh -mint32 -mrelax > どなたかこの問題についてご存知の方がいらっしゃいましたら > ご教示いただければ幸いです。 > >