Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Примечание. Не забывайте, что ответ 34 в памяти ЭВМ представлен в шестнадцатеричной системе. В десятичной, как и положено, получится 52.
Пример 2. Организовать ввод латинских букв таким образом: программа принимает латинскую букву и обрабатывает ее так, чтобы она всегда была заглавной.
Главная «хитрость» решения состоит в том, чтобы понять, чем отличаются заглавные буквы от строчных. Для этого из таблицы ASCII, приведенной в гл. 1, выберем наугад одну из букв и выпишем в двоичном виде коды заглавного и строчного символов. Например, для буквы R получим
R 0101 0010
R 0111 0010
Повторив аналогичные действия еще для нескольких букв, сделаем вывод, что коды заглавных и строчных букв отличаются единственным битом – пятым, если считать младший бит за нулевой. Запомним этот факт, поскольку он справедлив для любого современного компьютера.
Итак, для нашей задачи требуется сохранить все биты, кроме пятого, значит потребуется выполнить логическую операцию И с константой
1101 1111 = DF
после чего любой код «потеряет» ненужный нам бит, сохраняя все остальные.
Еще одной особенностью решения является активное использование подпрограмм из ПЗУ. Поскольку при вызове подпрограмм обязательно используется стековая память, то должен быть корректно определен указатель стека SP; программа начинает работу с установки указателя стека.
Дата публикования: 2014-10-19; Прочитано: 781 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!