1. A method of controlling asynchronous updates to a register, the method comprising: processing a software read instruction for a bit within the register, the software read instruction a read portion of a read-modify-write instruction; storing the value of the bit read by the software read instruction in a last read field; receiving a software write request to the bit, the software write request a write portion of the read-modify-write instruction; comparing a current value of the bit to the last read field; and preventing processing of the software write request if the current value of the bit is not equal to the last read field.