plunkerでjor1k その6
概要
plunkerでjor1kやってみた。
risc-vで九九をインラインアセンブラでやってみた。
サンプルコード
#include <stdio.h>
int kakeru(int a, int b)
{
int result;
asm ("mul %0,%1,%2"
: "=r" (result)
: "r" (a), "r" (b));
return result;
}
int main(void)
{
int i,
j;
printf (" ");
for (i = 1; i < 10; i++)
{
printf ("%2d ", i);
}
printf ("\n");
for (j = 1; j < 10; j++)
{
printf ("%2d ", j);
for (i = 1; i < 10; i++)
{
printf ("%2d ", kakeru(i, j));
}
printf ("\n");
}
}
結果
~ $ gcc test.c
~ $ ./a.out
1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 21 24 27
4 4 8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
8 8 16 24 32 40 48 56 64 72
9 9 18 27 36 45 54 63 72 81
成果物
#include <stdio.h>
int kakeru(int a, int b)
{
int result;
asm ("mul %0,%1,%2"
: "=r" (result)
: "r" (a), "r" (b));
return result;
}
int main(void)
{
int i,
j;
printf (" ");
for (i = 1; i < 10; i++)
{
printf ("%2d ", i);
}
printf ("\n");
for (j = 1; j < 10; j++)
{
printf ("%2d ", j);
for (i = 1; i < 10; i++)
{
printf ("%2d ", kakeru(i, j));
}
printf ("\n");
}
}
~ $ gcc test.c
~ $ ./a.out
1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 21 24 27
4 4 8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
8 8 16 24 32 40 48 56 64 72
9 9 18 27 36 45 54 63 72 81
成果物
以上。
Author And Source
この問題について(plunkerでjor1k その6), 我々は、より多くの情報をここで見つけました https://qiita.com/ohisama@github/items/28f2519dcfc79cc5875d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .