Returning a bool allows to conveniently use it as the condition of a while loop. Also remove restriction that ST cannot be double-word. While imm is only 32-bit, this value is extended into a 64-bit memory location.