0
我觉得这是一件相对容易的事,但我不知道该怎么做。对于我的任务,你不能使用结构化控制命令(If - Then - Else - Endif; If - Then - Endif)。所以我必须使用分支。下面是我一直在使用来检查字符范围(A0包含我检查字符串结尾的地址,D0是字符串的长度)检查一个字符串是否是M68k中的字母数字
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
由于小写和大写字母是什么高于这个范围,他们会导致错误。我能做些什么来解决这个问题吗?我是不是应该有毛的代码,并且有类似
CMP.B #$3A,D1
BEQ err_range
30和7A之间的13个左右的非字母字符的一串语句。