Язык программирования Форт


Американский стандартный код для обмена информацией (ASCII) - часть 2


Например, в MMSFORTH с ЭВМ TRS-80 и IBM PC они используются для графических и специальных символов. Первые 31 код называются управляющими кодами. Хотя их назначение стандартизовано для передачи данных, но в микрокомпьютерах они применяются для разных целей, т.е. стандарт нарушается. Тем не менее некоторые из них все же стандартизованы, как, например, 8 -- код возврата на позицию влево, 13 -- возврат каретки, 10 -- перевод строки.

Управляющие коды посылаются с клавиатуры путем нажатия клавиши "Control" (управление, иногда обозначается "Ctrl") и одновременно какой-то литерной клавиши, например для возврата влево на позицию -- это Ctrl-H. Если на клавиатуре нет клавиши "Ctrl", то в вашей версии Форта должна быть предусмотрена какая-либо другая клавиша, которая действует как "Ctrl", например в MMSFORTH с ранними моделями ЭВМ TRS-80 использовалась клавиша "Clear" (очистка). Вам нужно посмотреть по своей документации, какие управляющие коды используются в вашей версии форта и какую клавишу нужно использовать, если у вас нет клавиши "Ctrl". Чтобы узнать как в вашей версии Форта используются коды ASCII, воспользуйтесь двумя словами EMIT и KEY.

Введите

65 EMIT

и на экране должно появиться

A ok.

Слово EMIT берет число с вершины стека и посылает его ASCII-эквивалент на экран. Испытайте со словом EMIT другие числа, сравнивая получаемые результаты с таблицей в , чтобы получше прочувствовать, как ваше оборудование обращается с кодами ASCII. Некоторые особые символы, такие как тильда "~", "стрелка вверх" (^), квадратные скобки ([]) на различных компьютерах могут выглядеть по-разному, и то, что печатает ваш принтер, также может отличаться от того, что выводится на экране. (Предупреждение: использование чисел меньше 32 может привести к неожиданным результатам, так как это управляющие коды.)

Если слово EMIT позволяет вывести символы ASCII, соответствующие числу, находящемуся в стеке, то слово KEY позволяет выдать в стек код символа ASCII, вводимого с клавиатуры.Введите слово

KEY

Ничего заметного при этом не случится, даже сообщение "ok" не появится. Теперь нажмите клавишу "В", а потом . ; после этого вы увидите, что в стек было положено число 66. Слово KEY приказало Форту приостановить то, что он делал, и подождать, когда будет нажата какая-либо клавиша, тогда код, соответствующий символу клавиши, кладется в стек. Когда вы нажали клавишу "В", вы поместили значение кода ASCII в стек и увидели этот код, когда ввели . (точку). Что вы увидите, если введете с клавиатуры

KEY EMIT

Попробуйте после этого нажать какую-либо клавишу. Можете ли вы объяснить результат ? Если у вас нет компьютера под рукой, то вот, что вы должны увидеть, если, скажем, нажмете Z после :

Z ok

Полезно уметь делать преобразования кодов ASCII, например, для представления вместо букв нижнего регистра букв верхнего регистра и наоборот. Посмотрим, как это делается в упражнениях.




- Начало -  - Назад -  - Вперед -