#概要
x64で、インラインアセンブラやってみた。
九九やってみた。
#結果
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)
{
__asm__ volatile ("imul %2, %0;"
: "=r" (a)
: "0" (a), "r" (b)
: );
return a;
}
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");
}
}
#成果物
以上。