• 検索結果がありません。

z 提出の締め切りは、次回の演習の終了時までとする

N/A
N/A
Protected

Academic year: 2021

シェア " z 提出の締め切りは、次回の演習の終了時までとする"

Copied!
1
0
0

読み込み中.... (全文を見る)

全文

(1)

演習提出について

z 演習課題の提出は、電子メールにて、

  [email protected] あてに提出すること。

z 提出の締め切りは、次回の演習の終了時までとする。

z 電子メールで送る場合は、なるべくcoinsの計算機で行うこと。

課題プログラムの作成について

まず、x86アーキテクチャのマシン(orchid-calc?)にsshでログインしてください。[tips参照]

特に指定のない場合には、以下のようにして、課題のアセンブラプログラムを作成する。

z 作成するプログラムのファイル名は、.sで終わるものにする。例えば、test.sなど。以降、ファ イル名をtest.sとして説明する。

z プログラムの始まりはmainとする。

z プログラムの最後で、call stopとして終わること。stopは、各レジスタの内容をプリントアウ トしてプログラムを終了するルーチンで、/home1/prof/msato/kikaigo/libkikaigo.aにあ る。

z すなわち、test.sは、以下のようになる。

.text .align 4 .globl main

main: /* ここからプログラムを書く */

...

call stop # これでプログラム終了

注意:データの宣言等は、この前でもよい。

z アセンブル(コンパイル)は、ccコマンドで行う。

① まず、/home1/prof/msato/kikaigo/libkikaigo.aを自分のディレクトリにコピーする。

② ccコマンドでアセンブル、リンク

% cc test.s libkikaigo.a

③ できた実行ファイルを実行する

% a.out

④ ここで、レジスタの内容をプリントアウトして終了することを確認

/home1/prof/msato/kikaigo/sample.s は、eax に1、ebx を2にセットして、加算した結果を ecxにセットして終了するプログラムです。これを実行して、プリントアウトの結果をみてください。

課題1

1、eax, ebx, ecx, edxのそれぞれのレジスタに1,2,3,4の値をセットし、それらをesiに加算し て、終了(call stop)するプログラムを書きなさい。プリントアウトされるレジスタの内容を見て、

esiに10がセットされていることを確認すること。

2、講義の最後で説明したループのコードを参考にして、1から10までの値の加算をして、その結果 をebxにセットして終わるプログラムを書きなさい。プリントアウトされるレジスタの内容をみて、

55がセットされていることを確認すること。

参照

関連したドキュメント

  C言語は実行するためにコンパイラを必要とする言語   人間が理解可能なプログラム(ソースコード)を計算機 が理解可能なコードに変換する コンパイル プログラムの記述

上記プログラムの2つのforループ 部分をOpenMPで並列化する reduction

  最適化とは、効率のよい目的プログラムを生成することである。

には、チームとしての成長は、一定の上昇線を描くことはないということである。つまり一時的

冒頭のコメント、 6 行目の空白や、 printf()

上記のアドレスにアクセスすると、初回には「ユーザ名」と「パスワード」が聞かれます。正し く、入力して

 

従来の研究において、政策終了の概念について明確な定義付けが行なわれていることは実は