Перевод символа в верхний регистр для русского алфавита




function UpCaseRus(ch: Char): Char;
asm
  CMP   AL,'a'
  JB    @@exit
  CMP   AL,'z'
  JA    @@Rus
  SUB   AL,'a' - 'A'
  RET
@@Rus:
  CMP   AL,'я'
  JA    @@Exit
  CMP   AL,'а'
  JB    @@yo
  SUB   AL,'я' - 'Я'
  RET
@@yo:
  CMP   AL,'¸'
  JNE   @@exit
  MOV   AL,'¨'
@@exit:
end;


function LoCaseRus( ch : Char ) : Char;
{Перевод символа в нижний регистр для русского алфавита}
asm
  CMP          AL,'A'
  JB              @@exit
  CMP          AL,'Z'
  JA              @@Rus
  ADD          AL,'a' - 'A'
  RET
@@Rus:
  CMP          AL,'Я'
  JA              @@Exit
  CMP          AL,'А'
  JB              @@yo
  ADD          AL,'я' - 'Я'
  RET
@@yo:
  CMP          AL,'¨'
  JNE            @@exit
  MOV          AL,'¸'
@@exit:
end;