I feel like this is something that is relatively easy to do, but I have no idea what to do. For my assignment you cant use the structured control commands (If - Then - Else - Endif; If - Then - Endif). So I have to use branches. Below is what I've been using to check bounds on characters (A0 contains the address of the end of the string I'm checking, and D0 is the length of the string)
str_chk MOVE.B -(A0),D1 ; get current character from memory
CMP.B #$30,D1 ; check if character is less than ASCII '0'
BLO err_range
CMP.B #$39,D1 ; check if character is greater than ASCII '9'
BHI err_range
SUBQ #1,D0
BNE str_chk
since lowercase and uppercase letters are above this range they will result in an error. Is there something that I can do to get around this? Should I just have gross code and have a bunch of statements like
CMP.B #$3A,D1
BEQ err_range
for the 13 or so non-letter characters between 30 and 7A.