Глава 5
1. Написать программу, которая сохраняет в памяти информацию о нажатых клавишах - ее скан-код и ее номер. (Задача решена: Вариации на тему Калашникова/Вар_гл_07/Prog09).
Программа в цикле ожидает нажатия клавиши, все нажатия (10 нажатий) запоминает в массиве типа dw.
В этой программе по новому объявлен массив:
mas_w label word
rept 10
Теперь зарезервировано в памяти место для 10 слов, каждая ячейка является пустой (инициирована нулями). И обращаться к массиву можно через метку на него и его адрес:
mov mas_w[si],ax ;запись в массив ax
inc si ;продвижение к следующему элементу массива
inc si ;продвижение к следующему элементу массива
Теперь запись будет происходить в массив словами, а не байтами.
Инициализация массива теперь происходит так, что записывается и скан-код клавиши и ее номер. В общем вся характеристика клавиши, в том числе и управляющие клавиши.
2. Далее надо написать программу, которая считывает из памяти в двоичный файл, чтобы сохранить данные о нажатых клавишах.
15:58 26.10.2008
Программа, которая считывает из памяти в двоичный файл, чтобы сохранить данные о нажатых клавишах написана. Она находится: Вариации на тему Калашникова/Вар_гл_09/Prog02.
Данная программа записала в файл данные из области памяти. Я воспользовался советами из книги Джордейна и изменил код предыдущей программы так, что она стала не считывать данные из файла, а записывать их из памяти компа в файл.
Программа работает следующим образом: будучи запущенной, ожидает от пользователя нажатия клавиш клавиатуры (десять нажатий), записывает в цикле скан-код и номер каждой нажатой клавиши сначала в память компа, а затем копирует из памяти компа в файл. После этого программа завершается.
Для проверки правильности записанного можно обратно записать данные из файла в память. При этом используя другой зарезервированный массив в памяти. И можно будет сравнить один массив (исходный) с другим массивом (результатом). И мы сможем убедиться в том правильно ли программа пишет в файл последовательность нажатых клавиш.
Кажется у нас есть готовая программа на эту тему.
18:01 26.10.2008
Программа, которая считывает из текстового или двоичного файла обратно в массив в памяти написана. Немного модернизировал ранее написанную программу из гл 9 Калашникова. Данная программа находится: Вариации на тему Калашникова/Вар_гл_09/Prog05.
Данные из файла записались точно в отведенный и инициированный предварительно нулями массив mas_w. Теперь отсюда, из этого массива можно будет брать данные для использования их в программе, которая "управляет другой программой". Впрочем данные из этого массива можно перенести например в одну из видеостраниц. Чтобы их не затерла какая-нибудь другая программа.
Назад |
Начало урока |
Вверх |
Вперед
Содержание