Архитектура компьютера
Введение Теоретическая часть 1 Архитектура компьютера Лабораторный практикум 1 Создание программы на языке ассемблера 2 Применение функций DOS и BIOS 3 Линейные алгоритмы 4 Десятичная арифметика 5 Команды передачи управления 6 Циклы с условием 7 Циклы со счетчиком 8 Работа с массивами 9 Цепочечные команды Приложения 1 Таблица кодов символов ASCII 2 Функции DOS и BIOS Гостевая книга Лабораторная работа №3
Линейные алгоритмы
Вопросы для повторения:
- Какие алгоритмы называются линейными?
- Какие действия обычно выполняются на линейных участках алгоритмов?
- Что такое программа-отладчик? Назовите примеры таких программ.
- Для чего необходимо кодирование информации? Приведите примеры кодирования информации, которые вы применяете.
- Что называется ASCII-кодами?
Линейными называются такие алгоритмы, в которых все действия выполняются поочередно, друг за другом.
На линейных участках алгоритмов обычно выполняются манипуляции данными, вычисление выражений, перекодировка информации.
Команда пересылки данных:
mov
<приемник>, <источник>команда
mov
– команда пересылки данных, результатом ее исполнения является копирование данных из операнда <источник> в операнд <приемник>.
mov ah, 09;
записать в регистр ah число 09
mov cl, ah;
скопировать байт из регистра ah в ch
mov bx, cx;
скопировать слово из регистра cx в регистр bx
mov ch, 0fh
mov ch, bl
Вопрос: чему будет равно содержимое регистра ch после выполнения данного участка программы?
Простейшие арифметические команды:
КомандаОписание add
<слагаемое 1>, <слагаемое 2>Записать в операнд <слагаемое 1> значение суммы обоих операндов; inc
<операнд >Увеличить <операнд > на единицу; sub
<операнд 1>, <операнд 2 >Записать в операнд <операнд 1> значение разности операндов; dec
<операнд >Уменьшить <операнд> на единицу. mul
<сомножитель 2>Умножает <сомножитель1> на <сомножитель2>
если <сомн2> - байт, то <сомн1> - регистр al (результат - слово в ax);
если <сомн2> - слово, то <сомн1> - регистр ax (результат - двойное слово в dx:ax);div
<делитель>Делит <делимое> на <делитель>
если <делитель> - байт, то <делимое> - регистр ax (результат - частное в al, остаток в ah);
если <делитель> - слово, то <делимое> - регистр овая пара dx:ax (результат - частное в ax, остаток в dx);Отладчик Turbo Debugger
Отладчик Turbo Debugger ( TD) – оконная среда отладки программ, позволяет производить отладку программ, написанных на языках Pascal, C, assembler.
TD позволяет определить:
- место логической ошибки (семантической);
- причину логической ошибки.
Для использования TD необходимо выполнить следующие действия:
tasm /zi *.asm ;откомпилировать с добавлением отладочной информации
tlink / v *. obj ;скомпоновать с добавлением отладочной информации
td *. exeФайл с исходным кодом программы должен находиться в директории отладчика.
Задания для выполнения
- Вывести на экран сумму двух введенных с клавиатуры цифр (значение вводить так, чтобы сумма была меньше 10); (10 баллов).
- Изучите работу отладчика TD на примере задачи из первого задания.
Необходимо изучить:
a). Систему меню программы TD.
b). Выполнение программы в четырех режимах
- режим безусловного выполнения;
- выполнение по шагам;
- до текущего положения курсора;
- с установкой точек прерывания.
c). Систему вспомогательных окон
- CPU;
- Dump.
Задания для самостоятельного выполнения
- С клавиатуры вводятся два символа. Вывести их в обратном порядке (Например: '1gg1', 'assa', '-==-'); (5 баллов);
- Имеется два числа (цифры) a и b. Вычислить y = 2a - b + 1; (8 баллов);
- Вывести на экран сумму двух любых введенных с клавиатуры цифр (сумма может быть больше 10) (12 баллов);
© Истомин А.С. ЗабГГПУХостинг от uCoz