###前提・実現したいこと
最近アセンブリを始めたものです。変数に値を入れようとするとエラーが出ることがあります。
具体的な例をあげると、mov r0, #123はいけるがmov r0, #277はエラーと言うものです。webサイトで調べましたがアドレス長の関係だという記述が見られましたが、mov r0, #31488はエラーが出ませんでした。
ldrを使えば上記のエラーのものも通ることは分かりましたが、mov命令で通る数値の範囲、なぜエラーが出るのかなどを教えていただければ幸いです。
###発生している問題・エラーメッセージ
invalid constant (1e240) after fixup
###該当のソースコード
.section .text .global _start _start: mov r0, #123456 mov r7, #1 @ exitのシステムコール番号 swi #0 @ システムコールの発行
###試したこと
様々な数値を入れて調べてみたが、法則性見つからず
###補足情報(言語/FW/ツール等のバージョンなど)
アセンブリ言語
emacs使用
回答1件
あなたの回答
tips
プレビュー