Есть один нюанс. Дело в том, что в оригинале используются без знаковые условные переходы типа blos, bhis. А у тебя переходы по условия со знаком (LT, GT). Нужно заменить LT и GT на LEU и GEU соответственно. И еще одно, в оригинале сравнение слов, у тебя - сравнение байт.
CMP R2,#VAL1+2 ;TEST IF TOO MANY CHARACTERS | cp.b w2,#val1+2
Но это, видимо, просто описка.