Назад | Начало урока | Вперед
Содержание

Глава 5

Октябрь
9:15 26.10.2008

1. Написать программу, которая сохраняет в памяти информацию о нажатых клавишах - ее скан-код и ее номер. (Задача решена: Вариации на тему Калашникова/Вар_гл_07/Prog09).

Программа в цикле ожидает нажатия клавиши, все нажатия (10 нажатий) запоминает в массиве типа dw.

В этой программе по новому объявлен массив:

mas_w label word
rept 10

dw 0000h
endm

Теперь зарезервировано в памяти место для 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. Теперь отсюда, из этого массива можно будет брать данные для использования их в программе, которая "управляет другой программой". Впрочем данные из этого массива можно перенести например в одну из видеостраниц. Чтобы их не затерла какая-нибудь другая программа.


Назад | Начало урока | Вверх | Вперед
Содержание

Hosted by uCoz