Я думаю, что Мердад имеет общее представление о том, что пытается достичь;
Только несколько замечаний -
переход к .notlowercase после " inc ecx " позволит сэкономить несколько циклов, вероятно, промах -
последний inc ecx Я думаю, должен быть inc ebx
Небольшой поворот в верхнем / нижнем тесте, учитывая, что это только буквенно-цифровые символы, после метки .notdigit строчный тест можно заменить на
.notdigit:
and dl, 0x20
jz .notlowercase
inc ebx
.notlowercase:
только мои 2 цента -:)