メッセージング方針は正しいか?2

CR3レジスタの切替コストを計測するコードを書いてみた。(自信ないので突っ込み募集)
ぜひいろんなCPUでの結果を知りたいのでもしご協力いただけるならば
結果をまとめたページ(http://mona.sourceforge.jp/dynamic/pukiwiki/pukiwiki/pukiwiki.php?%B5%C4%CF%C0%2F%A5%E1%A5%C3%A5%BB%A1%BC%A5%B8%2FCR3%C0%DA%C2%D8%A5%B3%A5%B9%A5%C8)
で、FDイメージをダウンロードして試していただきたい。

    /* ループとCR3切替のコスト比較 */

    disableInterrupt();

    g_page_manager->setPageDirectory(cr31);
    g_page_manager->setPageDirectory(cr32);

    dword l1, l2, h1, h2;
    dword total = 0;
    int count   = 0;

    g_console->printf("CR3 TEST ********************************************\n");

    for (int i = 0; i < TEST_NUM; i++)
    {

        rdtsc(&l1, &h1);

        g_page_manager->setPageDirectory(cr31);

        rdtsc(&l2, &h2);

        g_page_manager->setPageDirectory(cr32);

        if (h1 != h2) continue;

        total += (l2 - l1);
        count++;
    }

    g_console->printf("cr3 average=%d\n", total / count);

    total = 0;
    count = 0;

    for (int i = 0; i < TEST_NUM; i++)
    {

        rdtsc(&l1, &h1);

        for (int j = 0; j < 10000; j++)
        {
            j++;
            j--;
        }

        rdtsc(&l2, &h2);

        if (h1 != h2) continue;

        total += (l2 - l1);
        count++;
    }

    g_console->printf("loop average=%d\n", total / count);

    g_page_manager->setPageDirectory(cr32);
    enableInterrupt();