前提・実現したいこと
gcc -o tmp tmp.s
を実行して、
42を返すアセンブリのプログラムをexeファイルに変換したい
低レイヤを知りたい人のためのCコンパイラ作成入門のコンパイラ本体の作成の部分にて、Rubyでアセンブリを出力しました。
発生している問題・エラーメッセージ
アセンブルしようとすると、以下のエラーが表示されます。
tmp.s: Assembler messages: tmp.s:4: Error: ambiguous operand size for `mov'
該当のソースコード
s
1.intel_syntax noprefix 2.globl main 3main: 4 mov rax, 42 5 ret
試したこと
wsl (Ubuntu) で cc -o tmp tmp.s
やgcc -o tmp tmp.s
を実行した場合はエラーは吐きませんでした。
なお、Windowsにはcc
コマンドはありません。
WindowsとUbuntuで何か違うのかもしれませんが、よく分かりません。
補足情報(FW/ツールのバージョンなど)
OS: Windows 10
gcc version 8.2.0 (MinGW.org GCC-8.2.0-5)
(なおUbuntuの方では)
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
![guest](/img/icon/icnUserSample.jpg)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/06 08:16