More the 2 NOPs not giving correct delay value

If I have no nops I get a pulse width of 130ns If I do ONE nop I get a pulse width of 200nS If I do TWO nops I get a pulse width of 265nS But when I do THREE nops I get a pulse width of 6.21uS Why the large jump from 260nS to 6.21uS? Is this a compiler thing? I also tried this format, asm("nop\n\t"); and got the same resuslts

    PINB |= _BV(PINB0);                       //Toggle D8
    asm("nop\n");                                  //ONE nop
//    asm("nop\n nop\n");                   //Two nops
//    asm("nop\n nop\n nop\n");              //THREE nops
    PINB |= _BV(PINB0);                       //Toggle D8

Did you remember to disable interrupts?

Or-equals is not the correct operator.

You hit the nail on the head. It was interrupts. Thank you!