アセンブラわかる方いますでしょうか。基礎の基礎です。

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
見習い
記事: 13
登録日時: 8年前

アセンブラわかる方いますでしょうか。基礎の基礎です。

#1

投稿記事 by 見習い » 8年前

あるレジスタに正の整数xを設定後、
「レジスタの値を2ビット左へシフトして,xを加える。」
オーバーフローや符号が変わることは考慮しなくてよい。

TEST START MAIN
X DC 1
MAIN
LD GR1,X
SLL GR1,2
ADDL GR1,X
RET
END
これでいいんでしょうか。RPUSH、RPOPなどは必要ですか?

C言語じゃないのにすみません。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: アセンブラわかる方いますでしょうか。基礎の基礎です。

#2

投稿記事 by みけCAT » 8年前

アセンブラは対象のCPUによって大きく変わりますが、対象のCPUやアセンブラは何でしょうか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

見習い
記事: 13
登録日時: 8年前

Re: アセンブラわかる方いますでしょうか。基礎の基礎です。

#3

投稿記事 by 見習い » 8年前

ええ…そうなんですか…?
特に指定はないです。アセンブラ言語で作成せよとだけ…。
CPUっていうのは、coreのようなものでしょうか。
いま使っているのはcorei5です。
アセンブラはちょっとわからないですすみません…

かずま

Re: アセンブラわかる方いますでしょうか。基礎の基礎です。

#4

投稿記事 by かずま » 8年前

情報処理試験のアセンブラ(CASL II)ですね。


白い変人

Re: アセンブラわかる方いますでしょうか。基礎の基礎です。

#6

投稿記事 by 白い変人 » 8年前

偶々、家に昔使った基本情報の参考書が有ったので、CASLⅡの仕様を見てみたのですが、「TEST START MAIN」という書き方はOKなのか疑問でした。(もしかするとOKなのかも分からないけど。)

STARTの後に来るオペランドは[実行開始番地]と定義されており、[実行開始番地]を定義する命令も必要とされているみたいだからです。

それで、質問者様は恐らくMAINをラベルとして定義したかったのかもしれませんが、言語仕様を見た所、行の種類にはラベルは省略可であっても、他に必須項目が有る様です。

つまり、MAINだけを書いてラベルとして[実行開始番地]を定義するという事は言語仕様上不可能と思われます。

それで、動作(と言っても存在しない機械らしいですけど。)するように添削しますと、

コード:

TEST	START
		LD		GR1,X
		SLL		GR1,2
		ADDL	GR1,X
		RET
X		DC		1
		END
これで、十分な気がします。

見習い
記事: 13
登録日時: 8年前

Re: アセンブラわかる方いますでしょうか。基礎の基礎です。

#7

投稿記事 by 見習い » 8年前

そうなんですね。わさわざすみません…(;_;)
助かりますありがとうございます!

返信

“C言語何でも質問掲示板” へ戻る