トップページ > プログラム > 2015年04月30日 > 0+PJlfoo

書き込み順位&時間帯一覧

14 位/169 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000303



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
アセンブラ初心者スレッド

書き込みレス一覧

アセンブラ初心者スレッド
697 :デフォルトの名無しさん[]:2015/04/30(木) 22:48:02.55 ID:0+PJlfoo
GASアセンブリについて質問です。 ubuntu14.10をインストールして現在標準でついてるgccを使ってアセンブリを勉強しています。
サンプルのプログラムを入力したのですが、エラーの原因が分かりません
サンプルコード
.set EXIT, 1
.set READ, 3
.set WRITE, 4
.data
PROMPT: .string "input string >> "
.bss
var: .skip 16, 0x00
.text
.global main
main:
pushl $PROMPT
call print
call scan
pushl $var
call print
call exit
print:
movl 4(%esp) ,%ecx
movl $1, %ebx # 標準出力へ
movl $1, %edx # 1文字出力

続く
アセンブラ初心者スレッド
698 :デフォルトの名無しさん[]:2015/04/30(木) 22:50:24.85 ID:0+PJlfoo
続き

write:
cmpb $0x00, (%ecx) # null文字かどうか
je write_end
movl $WRITE, %eax # write
int $0x80
incl %ecx # 次の文字
jmp write
write_end:
ret
scan:
movl $READ, %eax # readシステムコール
xorl %ebx, %ebx # 標準入力から
movl $var, %ecx # バッファを指定
movl $16, %edx # 16バイト読み込み
int $0x80
ret
exit:
movl $EXIT, %eax # exit
movl $0, %ebx # 終了コード0
int $0x80
アセンブラ初心者スレッド
699 :デフォルトの名無しさん[]:2015/04/30(木) 22:50:58.40 ID:0+PJlfoo
続き

すると、
invalid instruction suffix for `push'
という、アセンブラのエラーが出ます。
これはアセンブラ側に問題があるのでしょうか?
プログラムの問題?ハード側?
解らないヽ(´o`;
色々試してみましたが、pushlの「l」のことを指しているのかとも思いましたが、解決策が見つかりません。
<スペック>
PC:レグザPC Windows7(64bit)
USBHDD:ubuntu14.10
CPU:インテル Core i7 2670QM
メモリ:8GB

どうかよろしくお願いします。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。