checkequal 'Z', command_trislat_z
checkequal 'T', command_trislat_t
+ ; these checkatleast ranges have to be in descending
+ ; order because of the way that checkatleast works
+
+ checkatleast 'f'+1, command_ifnot_letterhexdigit
+ checkatleast 'a', command_letterhexdigit
+command_ifnot_letterhexdigit
+
checkatleast 'E'+1, command_ifnot_portaddr
checkatleast 'A', command_portaddr
command_ifnot_portaddr
- checkatleast 'f'+1, command_wrong
- checkatleast 'a', command_letterhexdigit
- checkatleast '9'+1, command_wrong
+ checkatleast '9'+1, command_ifnot_digit
checkatleast '0', command_digit
+command_ifnot_digit
+
command_wrong
mov_lw '?'
rcall serial_write_char