У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


MSDOS. Передуючі нулі числа не виводяться.

; Параметром підпрограми є зміщення змінної в ВХ.

print: finit ; Очищення стеку 80387

КП.КС-05.00.00.000 ПЗ | Арк.

26

Зм. | Лист | № докум | Підпис | Дата

fild word ptr [bx] ; Читання змінної в 80387

fbstp tbyte ptr conv ; Запис двійково-десяткового числа

mov ah,2 ; Функція виводу на екран

test byte ptr conv+9,80h ; Перевірка знаку числа

jz plus_p ; Обхід, якщо плюс

mov dl,'-' ; Вивід від'ємного

int 21h ; знаку числа

plus_p: cmp dword ptr conv,0 ; Перевірка число на нуль

jnz show ; Вивід ненульового числа

mov dl,'0' ; Вивід нуля

int 21h

jmp end_p ; Перехід в кінець підпрограми

show: mov cl,16 ; Число зсувів числа для аналізу

xor al,al ; Прапорець ненульової тетради = 0

mov ebx,dword ptr conv ; Збереження числа в регістрі

d_out: mov edx,ebx ; Копіювання числа

shr edx,cl ; Зсув для аналізу тетради

and dl,0Fh ; Очищення зайвих біт

test al,1 ; Перевірка прапорця

jnz skip_c ; Пропуск, якщо AL[0]=1

test dl,dl ; Перевірка на нуль

jz zero_n ; Нульова тетрада

skip_c: or dl,30h ; Приведення до ASCII символу

int 21h ; Вивід тетради

mov al,1 ; Знайдена ненулова тетрада

zero_n: sub cl,4 ; Продовження виводу,

jns d_out ; доки CX не дорівнює -4

end_p: mov dl,0Ah ; Перехід в наступний рядок

int 21h ; після виводу змінної

ret ; Вихід з підпрограми

КП.КС-05.00.00.000 ПЗ | Арк.

27

Зм. | Лист | № докум | Підпис | Дата

ВИСНОВКИ

В даному проекті розроблений компілятор, який дозволяє створювати лінійні програми обчислення простих математичних виразів на основі алгоритму трансляції Рутисхаузера. Програма транслює вирази з додаванням, відніманням, множенням і діленням знакових 16-розрядних змінних та літералів. Окрім цього реалізовані функції вводу з клавіатури та виводу змінних на екран. Результатом роботи компілятора є *.exe файл.

КП.КС-05.00.00.000 ПЗ | Арк.

28

Зм. | Арк. | № докум | Підпис | Дата

ПЕРЕЛІК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

Іщеряков С. М. ОСНОВИ МОВИ АСЕМБЛЕР: конспект лекцій з курсів “Системне програмування”, “Системне програмування та операційні системи. – Івано-Франківськ: Факел, 2004. – 52 с.

Григорьев В. Л. Программирование однокристальных микропроцессоров. – М.: Энергоатомиздат, 1987. – 288 с.

Зубков С.В. Assembler для DOS, Windows и UNIX – 3-е изд., стер. – М.: ДМК Пресс; СПб.: Питер, 2004. – 608с.

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

Фролов А.В., Фролов Г.В. MS-DOS для программиста. – М.: ДИАЛОГ-МИФИ, 1995. – 256с.

Системное программное обеспечение. Учебник для вузов/ А.Ю. Молчанов. - СПб: Питер, 2003. – 396 с.

Костельцев А.В. Построение интерпретаторов и компиляторов. – СПб: Наука и техника, 2001. – 224 с.

Велихов А.В. Макроассемблер: Создание и отладка программ. – М.: Майор, 2001. – 192 с. – (Мой компьютер). 1. Компаниец Р.И., Маньков Е.В., Филатов Н.Е. Системное програмирование. Основы построения трансляторов. - С-П: Корона принт, 2000.

Харт, Джонсон. Системное программирование в среде Win32. 2-е изд. Пер.с англ. – М.: Издательский дом „Вильямс”, 2001. – 464 с.: ил.

Гук М. Дисковая подсистема ПК. - СПб.: Питер, 2001. – 336с.: ил.

Юров В.Assembler. Специальный справочник. – СПб.: Питер, 2001. – 496 с.: ил.

Пирогов В.Ю. Assembler. Учебный курс. - М.: Нолидж, 2001.

А.В.Фролов, Г.В.Фролов. Апаратное обеспечение ПК, том 2. – М.: Диалог-МИФИ, 1998. – 272 с.

КП.КС-05.00.00.000 ПЗ | Арк.

29

Зм. | Арк. | № докум | Підпис | Дата


Сторінки: 1 2 3 4