あるレジスタに正の整数xを設定後、
「レジスタの値を2ビット左へシフトして,xを加える。」
オーバーフローや符号が変わることは考慮しなくてよい。
TEST START MAIN
X DC 1
MAIN
LD GR1,X
SLL GR1,2
ADDL GR1,X
RET
END
これでいいんでしょうか。RPUSH、RPOPなどは必要ですか?
C言語じゃないのにすみません。
アセンブラわかる方いますでしょうか。基礎の基礎です。
Re: アセンブラわかる方いますでしょうか。基礎の基礎です。
アセンブラは対象のCPUによって大きく変わりますが、対象のCPUやアセンブラは何でしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)
Re: アセンブラわかる方いますでしょうか。基礎の基礎です。
ええ…そうなんですか…?
特に指定はないです。アセンブラ言語で作成せよとだけ…。
CPUっていうのは、coreのようなものでしょうか。
いま使っているのはcorei5です。
アセンブラはちょっとわからないですすみません…
特に指定はないです。アセンブラ言語で作成せよとだけ…。
CPUっていうのは、coreのようなものでしょうか。
いま使っているのはcorei5です。
アセンブラはちょっとわからないですすみません…
Re: アセンブラわかる方いますでしょうか。基礎の基礎です。
偶々、家に昔使った基本情報の参考書が有ったので、CASLⅡの仕様を見てみたのですが、「TEST START MAIN」という書き方はOKなのか疑問でした。(もしかするとOKなのかも分からないけど。)
STARTの後に来るオペランドは[実行開始番地]と定義されており、[実行開始番地]を定義する命令も必要とされているみたいだからです。
それで、質問者様は恐らくMAINをラベルとして定義したかったのかもしれませんが、言語仕様を見た所、行の種類にはラベルは省略可であっても、他に必須項目が有る様です。
つまり、MAINだけを書いてラベルとして[実行開始番地]を定義するという事は言語仕様上不可能と思われます。
それで、動作(と言っても存在しない機械らしいですけど。)するように添削しますと、
これで、十分な気がします。
STARTの後に来るオペランドは[実行開始番地]と定義されており、[実行開始番地]を定義する命令も必要とされているみたいだからです。
それで、質問者様は恐らくMAINをラベルとして定義したかったのかもしれませんが、言語仕様を見た所、行の種類にはラベルは省略可であっても、他に必須項目が有る様です。
つまり、MAINだけを書いてラベルとして[実行開始番地]を定義するという事は言語仕様上不可能と思われます。
それで、動作(と言っても存在しない機械らしいですけど。)するように添削しますと、
これで、十分な気がします。