Looking at the webpage for the CDC version, I noticed the comment about SB0 B0 vs. NO and
the "lore" about the divide unit. That issue is reported in Thornton's
book. It wouldn't surprise me if it were a real issue on the "preproduction
serial number 3" system where that code was first created.
It clearly was fixed soon after, though. In the 6600 block diagrams manual where the flow
of the execution machinery is documented in detail, it's quite clear that NO does not
do any functional unit reservations (but SB0 does). So at least starting with serial
number 8, and possibly on earlier machines after suitable FCOs were applied, NO is indeed
the preferred pass instruction. On the other hand, 30 bit pass has by convention been
done with SB0 B0+0, suggesting it's faster to do that than to do two NO instructions.
I guess that's right in the absence of increment unit conflicts: 3 minor cycles for
the SB0 vs. 4 for the pair of NO instructions.
paul