関数名が指定されている場合は、必ずその名前を用いる事。例えば、maxof2関数であれば必ずmaxof2というラベルを用いる事。
特に注釈がない場合、レポートにはアセンブリのコードだけを含め、kadai4.sなどとする事。
2つの整数を受けとり、大きいほうを返す関数maxof2をアセンブリで実装せよ。
int maxof2(int x, int y);
x > y, x < y, x = y の全てのパターンについてあらかじめ動作を確認しておく事。
締切: 12/12 23:59
2つの整数ポインタ x, y を受け取り、 *x > *y のときだけその中身を交換する関数swap_gtをアセンブリで実装せよ。
void swap_gt(int *x, int *y);
*x > *y, *x < *y, *x = *y の全てのパターンについてあらかじめ動作を確認しておく事。また、*x や *yが負の時も動作を確認しておくこと。
締切: 12/12 23:59
自然数nが与えられた時、 n の階乗を繰り返しによって求める関数 factをアセンブリで実装せよ。(注: 0は自然数とみなすこと。0の階乗は1である。)
締切: 12/12 23:59
C標準ライブラリのstrcmpと同じ動作をする関数であるmystrcmpをアセンブリで実装せよ。下記の実行例をすべて満たす事を確認しておく事。
実行例 (注:3つ目の例は、scanfで読み込むのではなく直接コード中に書く事を想定している。)
mystrcmp("app", "apple") < 0
mystrcmp("pine", "apple") > 0
mystrcmp("foo\0bar", "foo") == 0
締切: 12/12 23:59