Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
001.doc
Скачиваний:
1
Добавлен:
12.11.2019
Размер:
275.97 Кб
Скачать

В качестве необходимых для самостоятельного изучения разделов предлагается [4]:

ГЛАВА 8 Экранные операции I: Основные свойства

ГЛАВА 12 Арифметические операции I: Обработка двоичных данных

ГЛАВА 13 Арифметические операции II:

Обработка данных в форматах ASCII и BCD

ГЛАВА 14 Обработка таблиц

ПРИЛОЖЕНИЕ 2 [4].

ТЕМА 4. НАПИСАТЬ КАЛЬКУЛЯТОР.

В данной работе внимание уделяется разбору строки.

В рамках данной работы предполагается написание программы, которая позволяет производить арифметические действия над числами, т.е. умножения деление, сложение и вычитание. Результат должен быть выведен на экран.

Вообще говоря, данная работа является обобщающей и подразумевает использование всех предыдущих программных наработок.

Изменение хода работы по условию было рассмотрено во второй работе. Получение чисел из строки – в третьей. Ввод/вывод данных – на протяжении всех лабораторных работ. Таким образом, требуется лишь разработать алгоритм данной программы и «собрать» её из, уже имеющихся в Ваших наработках, модулей.

Литература

  1. Конспект лекцій та додатковий матеріал до даного курсу зберігається на електроннім носії та на веб-сайті ЗДУ у розділі лекційного матеріалу.

  2. Петрухин В.С., Степченков Ю.А., Филин А.В. Персональные ЭВМ на основе архитектуры Intel 80386.

  3. Нортон П., Соухэ Д. Язык ассемблера для IBM PC.

  4. Абель П. Язык ассемблера для IBM PC и программирование.

  5. Зубков С. В. Assembler для DOS, Windows и UNIX Серия: Для программистов Издательство: ДМК, 2000 г.

  6. И. И. Шагурин, Е. М. Бердышев Процессоры семейства INTEL P6. Pentium II, Pentium III, Celeron и др. Архитектура, программирование, интерфейс Издательство: Горячая Линия - Телеком, 2000 г.

  7. Ассемблер для DOS http://www.Kalashnikoff.ru/Assembler/ Ассемблер для Windows http://www.wasm.zite.ru/

  8. Майко Г.В. Ассемблер для IBM PC: - М.: "Бизнес-Информ", "Сирин" 1999 г. - 212 с.

  9. Донован Дж. Системное программирование. - М.: "Мир", 1975.

  10. Абель П. Язык Ассемблера для IBM PC и программирования /пер.с англ. - М.: Высш.шк., 1992. - 447 с.

  11. Джордейн Р. Справочник программиста персональных компьютеров IBM PC, XT и AT./пер.с англ. - М.: Финансы и статистика, 1992. - 544 с.

  12. Нортон П., Джордейн Р. Работа с жестким диском IBM PC./пер.с англ. - М.: Мир, 1992. - 560 с.

  13. Справочное руководство по IBM PC: ч.1: Методические материалы - М.: ТПП "Сфера", 1991. - 174 с.

  14. Справочное руководство по IBM PC: ч.2: Аппаратные средства ПЭВМ - М.: ТПП "Сфера", 1991. - 302 с.

  15. http://wasm.ru/

  16. Майко Г.В. Ассемблер для IBM PC: - М.: "Бизнес-Информ", "Сирин" 1999 г. - 212 с.

Дополнительная.

  1. Фролов А.В., Фролов Г.В. Аппаратное обеспечение IBM PC: ч.1. - М.: ДИАЛОГ-МИФИ, 1992. - 208 с.

  2. Фролов А.В., Фролов Г.В. Аппаратное обеспечение IBM PC: ч.2. - М.: ДИАЛОГ-МИФИ, 1992. - 234 с.

  3. Фролов А.В., Фролов Г.В. Операционная система MS DOS: кн.1,2. - М.: ДИАЛОГ-МИФИ, 1992. - 238 с.

  4. Фролов А.В., Фролов Г.В. Операционная система MS DOS: кн.3. - М.: ДИАЛОГ-МИФИ, 1992. - 224 с.

Приложение а

1.Текст программы

; Выводит на экран все ASCII-символы

.model tiny

.code

org 100h ; Начало COM-файла

start:

mov ax,0003h ;Задание видеорежима

int 10h ; вызов 10го прерывания

mov dx,0 ; DH и DL будут использоваться для хранения положения

; курсора. Начальное положение - 0,0

mov si,256 ; SI будет счетчиком цикла

mov al,0 ; Первый символ - с кодом 00h

mov ah,9 ; Номер видеофункции "вывод символа с атрибутом"

mov cx,1 ; Выводится один символ за раз

mov bl,00011111b ; атрибут символа - белый на синем

cloop:

int 10h ; Вывести символ на экран

push ax ; Сохранить текущий символ и номер функции

mov ah,2 ; Номер видеофункции 2 - изменить положение курсора

inc dl ; Увеличить текущий столбец на 1

int 10h ; Переместить курсор

mov ax,0920h ; AH = 09h,( AL = 20h ASCII-код пробела)

int 10h ; Вывести пробел

mov ah,2 ; Номер видеофункции 2

inc dl ; Увеличить столбец на 1

int 10h ; Переместить курсор

pop ax ; Восстановить номер функции в ah и текущий символ в al

inc al ; Увеличить AL на 1 - следующий символ

test al,0Fh ; Если AL не кратен 16,

jnz continue_loop ; продолжить цикл,

push ax ; иначе сохранить номер функции и текущий символ

mov ah,2 ; Номер видеофункции 2

inc dh ; Увеличить номер строки на 1

mov dl,0 ; Столбец = 0

int 10h ; Установить курсор на начало следующей строки

pop ax ; Восстановить номер видеофункции и текущий символ

continue_loop:

dec si ; Уменьшить SI на 1, если он не стал нулем - продолжить

jnz cloop ; CX используется внутри цикла, так что нельзя

; использовать команду LOOP для его организации

mov ah,0Ch ; Очистка буфера клавиатуры

mov al,1

int 21h

mov ah,08h ; Приглашение на ввод символа

int 21h

mov ax,0003h

int 10h ; Видеорежим 3 (очистка экрана и установка курсора в 0,0)

ret ; Завершение COM-файла

end start

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]