mercredi 16 décembre 2015

If statement never executes

I have this simulator located in the file main.c. Using the assembler located in asm.c, I can generate a program image that should be an infinite loop:

stoa 0xFF
jin 0x0

However, when I examine the simulator under a debugger, it passes over the if-statement completely; the test is never executed and the code goes straight to break;. The if-statement in question:

        case '\x80':
            if (acc >= 128){
                lIByte = arg;
                rIByte = arg + 1;
                jumped = 1;
            }
            break;

Maybe this is an optimization issue?

Aucun commentaire:

Enregistrer un commentaire