Quote:
True is often -1 rather 1 in many older languages. Can you handle that case?
No, not currently. A NEG operation would be required after the SET to get -1 or 0.
It may be possible to add the capability to set the value to any value for true, and zero if false. There is some opcode room free yet.
Micro-ops are not making it through the extract stage properly. Some of the decodes are zeroed out for some reason.
Improved the way IRQ’s work, reducing the IRQ latency. Program flow changes to the IRQ routine in the extract stage when an IRQ is detected, IRQs are treated like branches. Previously the program flow did not change until the IRQ reached the commit stage. However, there is an issue of what to do if an instruction just before the IRQ disables interrupts. In that case the IRQ is treated like a branch miss. A second issue is if the kernel IRQ vector was changed. That case is also treated like a miss.
Vectoring is very simple. There are only two vectors: a hardware interrupt vector and a system call vector. Once the IRQ routine is reached software must decide how to handle the interrupt. Likely the interrupt controller would be read to determine the cause and then a jump table used.