//Shows the Carry function.  It holds the CPU carry flag.
//U() Unassemble to make sure it is right.

U0 BigCount()
{
        U64 lo = 0, hi = 0;

        "BigCount\n";
        while (hi < 0x10)
        {
                lo += 1 << 58;
                hi += Carry;
                "%016X %016X\n", hi, lo;
        }
}

BigCount;

U0 BigShift()
{
        U64 lo = 1, hi = 0;

        "Big Shift\n";
        while (lo || hi)
        {
                hi <<= 1;
                lo <<= 1;
                hi += Carry;
                "%016X %016X\n", hi, lo;
        }
}

BigShift;

U0 Branch()
{
        U64 i = 0xFFCC3311, j;

        'Branch\n';
        for (j = 0; j < 64; j++)
        {
                i <<= 1;
                if (Carry)
                        '1';
                else
                        '0';
        }
        '\n';
}

Branch;