OS_ReadUnsigned (SWI &21) On entry R0 bits 0-7 = base in the range 2-36 (else 10 assumed) bits 8-27 reserved, should be 0 bit 28 set => read a 64-bit value to r2,r3 bit 29 set => restrict range to 0 - R2 (or if bit 28 set, R2+(R3<<32)) bit 30 set => restrict range to 0- 255 bit 31 set => check terminator is a control character or space R1 = pointer to string R2 = least significant word of maximum value if R0 bit 29 set R3 = most significant word of maximum value if R0 bits 28 and 29 both set R4 = &45444957 ("WIDE") if this API applies, otherwise see PRM 1-448 On exit R0 preserved R1 = pointer to terminator character R2 = least significant word of value R3 = most significant word of value if R0 bit 28 set on entry R4 = bitmask of R0 flags understood by current kernel (currently &F0000000) Suggestions for future flag uses: * permit "0x" (hexadecimal), "0" (octal) and "0b" or "%" (binary) prefixes * signed numbers * floating point numbers * negative bases