The offset condition was not fully inverted in its transition to assert.
(The same checks for other architectures were all done correctly.)
function register:long (name:string) {
assert(registers_valid(), "cannot access CPU registers in this context")
offset = _reg_offsets[name]
- assert(offset != 0 && (name in _reg_offsets), "Unknown register: " . name)
+ assert(offset != 0 || (name in _reg_offsets), "Unknown register: " . name)
return _stp_get_register_by_offset(offset)
}