Changes between Version 1 and Version 2 of Ex03 サブルーチンの実装2017
- Timestamp:
- May 1, 2017 7:10:56 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ex03 サブルーチンの実装2017
v1 v2 1 トップ:http://galaxy.u-aizu.ac.jp/note/wiki/CAEX201 61 トップ:http://galaxy.u-aizu.ac.jp/note/wiki/CAEX2017 2 2 3 3 = swap手続き = 4 第4版教科書上巻p.137の「2.13 Cプログラムの包括的な例題解説」にあるswap手続き(関数)を4 教科書第5版上巻p.130の「2.13 Cプログラムの包括的な例題解説」にあるswap手続き(関数)を 5 5 本演習で利用可能な命令で実装したプログラムを示します。 6 6 教科書の該当分をよく読んで、C言語とMIPS命令との対応を理解すること。 … … 155 155 156 156 = 再帰手続き呼び出し = 157 第4版教科書上巻p.105にある階乗を計算する再帰的手続きをもとに、スタックレジスタ($sp)の使いかたを理解します。157 教科書第5版上巻p.99にある階乗を計算する再帰的手続きをもとに、スタックレジスタ($sp)の使いかたを理解します。 158 158 メインプログラムは、ラベルmainからはじまり、$a0にNをセットして手続きfactを呼び出します。 159 159 Nは要素数を指定し、結果はFNに格納します。 … … 199 199 作成するプログラムでは、main関数から、作成した関数(手続き)を呼び出し、動作を確認する部分も含めること。 200 200 201 == 16bit整数a, b, cを引数とし d = a*b + cを計算する関数: int mac(int a, int b, int c) == 202 以下のパターンについて動作確認をすること。 203 {{{ 204 (a, b, c) = (11, 21, 0) 205 (a, b, c) = (11, 21, 6) 206 (a, b, c) = (3333, 4444, 5555) 207 }}} 201 == 2のべき乗(n)を計算する関数: int power_of_two(int n) == 208 202 209 203 ファイル名は「ex03_p7a.s」としてください。 … … 213 207 214 208 ファイル名は「ex03_p7b.s」としてください。 209 210 == 以下のCプログラムで与えられる関数fibonacci == 211 {{{ 212 int fibonacci(int n) 213 { 214 switch (n) { 215 case 0: return 0; 216 case 1: return 1; 217 default: return fibonacci(n - 2) + fibonacci(n - 1); 218 } 219 } 220 }}} 221 n = 1, 2, 3, 4, 5の時、関数値はそれぞれ1, 2, 3, 5, 8となる。またfibonacci(7) = 21である。 222 223 ファイル名は「ex03_p7c.s」としてください。 224
