Найти тему
Junior Coder

Ассемблер 16 бит. Копирование одного экрана на другой.

Предлагаю попробовать написать небольшую программу на ассемблере, все, что она делает, это копирует нулевой экран на первый и по нажатию клавиши "F1" меняет текущий экран, по нажатию на "ESC" выходит из программы. Немного, конечно, но зато у вас появится понимание того как работает ассемблер и аппаратура компьютера. 

Компилятор FASM, для эмуляции можно воспользоваться DosBOX.

-2

макросы сильно упрощают жизнь программиста

-3

stosw передает два байта по адресу es:di из регистра ax затем увеличивает значение di на 2

-4

управляющие клавиши типа F1, F2 считываются в два приема: сначала передается 0, затем скан-код самой клавиши, 59 в случае F1

-5

эта подпрограмма выводит линию по адресу указанному в DI

-6

побайтно считываем значения с нулевого экрана и записываем их на первый

-7

здесь, думаю, все понятно из комментариев

-8

после компиляции и запуска понажимайте F1, будет казаться, что это один и тот же экран, только меняется строка в центре, но на самом деле это два разных экрана в памяти компьютера.

#программа на ассемблере