• 締切済み

GASアセンブラのテストプログラムの作り方について

現在、アセンブラのテストプログラムの作り方に困っています。 入力された値を関数palindへ渡し、結果を出力する様にしたいのですが、考え方がよく解りません。 関数を呼び出すには、       movl 引数, %eax       pushl %eax       call 渡す関数の名前       popl %eax とすると思うのですが、これだけでは結果を戻しただけだになると思います。 この後結果を出力するにはどのようにしたら良いでしょうか? 宜しくお願いしますm(_ _)m ・回文を作るアセンブラの関数(palind.s) 例えば8と入力した場合に2進数(1000)の回文(上から読んでも下から読んでも同じもの)、10000001と00011000を作ります。(abcd)→(abcddcba),(dcbaabcd) 答えは2個あるので、入力とは別の変数を持ってきて、その変数の値によってどちらかを返すようにします。 (2個の答えを出すには変数を変えて呼び出せば問題ないと思います)

みんなの回答

  • shred
  • ベストアンサー率35% (25/70)
回答No.1

確認なんですがそのプログラムはOSの上で動かすのか 実機の上で動かすのかどちらですか。 後者であればPC/AT互換機の仕様について調べなければいけません。 前者で且つ端末または擬似端末に出力するのであれば writeシステムコール(4番)を発行するだけです。

noname#190358
質問者

お礼

前者であり、そのまま出力すれば良いところまでは解ったのですが、 どうも戻り値の表示が正しくされません。 もう少し考えてみようと思います。有難う御座いました。

関連するQ&A