8.MIPSで書かれたコードの読み方ある程度命令を紹介したので、実際に下のようなMIPSで書かれたコードの読み方について簡単にですが説明したいと思います。処理される命令の順番MIPSなどのアセンブリ言語では、原則上にある命令から1行ずつ順番に実行されます。Pythonなどの高級言語と一緒ですね。アセンブリ言語における4つの欄MIPSなどのアセンブリ言語では、ラベル欄、命令欄、オペランド欄、コメント欄の4つの欄でプログラムが構成されています。先程のプログラムを4つの欄にわけると、下のようになります。ラベル欄(ふせん)行ごとの操作内容に好きな名前をつけることができます。付箋みたいなものです。いう名前がつけられています。名前をつけることで、(次回紹介する)分岐命令で「操作内容に付けた名前」を用いて分岐先を設定できるようになりますす。3つの条件を満たす必要があります。処理の内容を書く欄です。and、即値を用いた演算、分岐など様々な命令があります。処理の対象(オペランド)を書く欄です。命令によってオペランドの数が異なります。MIPSでは最大で3つのオペランドを指定され、順番に第1オペランド、第2オペランド、第3オペランドと呼びます。オペランドは、レジスタ以外にも定数を指定したり、メモリの番地を指定することができます。このようなオペランドの指定の方法のことをアドレシングモードと呼びます。(アドレシングモードについては次回の記事で説明します。コメント欄メモなどを書く欄です。(CやJavaのコメントと同じです)コメント欄の内容は無視されるので、日本語などを書いてメモしてもOKです。以降はコメントとなります。9.さいごに今回はMIPSの命令の前編について説明していきました。アドレシングモードなどを説明しているのでもしよければご覧ください!www.momoyama-usagi.com*1:コーティング規約で使うレジスタが決められています。16進数を使い、実際に機械語のコードになるときは2進数で格納されます。*3:符号なし整数では負の数を使うことができない一方、符号ビットも値を入れるのに使えるため、符号あり(通常バージョン)整数に比べて2倍の値を表現することができます。*4:掛け算は計算結果が大きくなることを想定して64ビットまで計算できるようになっています。*5:割り算は計算結果が大きくならないので32ビットしか想定されていませんが、商とあまりをわけて格納することで2つのレジスタをうまく使っています。*6:上位ビットを0にするため、「上位ビットのマスク」と呼ぶこともあります。上位30ビットのマスク*7:負の数の切り捨てには注意してください。場合、-7ではなく-8となります。(元の数より小さい数の中で最も大きい整数になると思ってください。システムオートマトンPrologCLOSEサイト内検索を行います。はてなブログPro数学と情報が得意な大学生です。累計:リアルタイム現在の閲覧者数:。