Ноги нуля на пробеле растут отсюда:
Это подпрограмма ввода буфера команды. Видно, что если не введён с символ (00H-1FH) или символы от звёздочки и выше (2AH-7FH), то к введённому символу прибавляется 10H. Таким образом, 20H-29H превращаются в 30H-39H, т.е. цифры. Но если приглядеться, то эти символы находятся на цифровых клавишах и это простейшая защита от дурака - ввести спецсимволы не получится. Казалось бы, замени 20H в коде на 21H и всё, но не так просто. Клавиша 0 под шифтом даёт как раз символ пробела. Вот так вот.
![]()






Ответить с цитированием