plunkerでjor1k その4


概要

plunkerでjor1kやってみた。
九九をインラインアセンブラでやってみた。

サンプルコード

#include <stdio.h>

int kakeru(int a, int b)
{
    int result;
    asm ("l.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 main.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                                                   

以上。