junkなpage #0000

(1) 配列(?)を使ったプログラム例

#include "osecpu_ask.h"

// osecpu049に書き忘れたので自分で書く(すみません!).
#define my_malloc(_p, typ, len)  R38=typ; R39=len;  DB(0x32,_p&0x3f,0x38,0x39)
#define T_UINT1     0x0d

#define L_putDec    LOCAL(0)
LOCALLABELS(1);

#define putDec(i)   R30=i; CALL(L_putDec)

    // main
    for (;0;) {
        int32s i:R00, j:R02;
        my_malloc(P01, T_UINT1, 1000);
        R01 = 0;
        for (i = 2; i != 1000; i++) {
            PADD(P02, T_UINT1, P01, R00); // i
            SMEM(R01, T_UINT1, P02); DB(0);
        }
        R01 = 1;
        for (i = 2; i != 1000; i++) {
            j = i * 2;
            for (;;) {
                if (j >= 1000) break;
                PADD(P02, T_UINT1, P01, R02); // j
                SMEM(R01, T_UINT1, P02); DB(0);
                j += i;
            }
        }
        for (i = 2; i != 1000; i++) {
            PADD(P02, T_UINT1, P01, R00); // i
            LMEM(R01, T_UINT1, P02); DB(0);
            if (R01 == 0) {
	         putDec(i);
                junkApi_putConstString(' ');
            }
        }
    }
    jnukApi_exit(0);
beginFunc(L_putDec);
    for (;0;) {
        int32s i:R00, flag:R01, j:R02, ii:R03;
        i = R30;
        flag = 0;
        if (i < 0) {
            junkApi_putConstString('-');
            i *= -1;
        }
        for (j = 1000000000; j >= 10; j /= 10) {
            ii = i / j;
            i %= j;
            if (!(flag == 0 & ii == 0)) {
                flag = 1;
                junkApi_putchar(ii + '0');
            }
        }
        junkApi_putchar(i + '0');
    }
endFunc();

こめんと欄


コメントお名前NameLink

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS