Структура асемблерних програм, арифметичні операції, програмування виводу інформації на екран ЕОМ, організація підпрограм та операцій переходів процесора Intel 8086(80286)

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Системи автоматизованого проектуваня

Інформація про роботу

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Архітектура комп'ютерів
Група:
КН

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет Львівська політехніка Кафедра САПР  Звіт До лабораторної роботи №8 З курсу “Архітектура комп’ютерів” На тему: «Структура асемблерних програм, арифметичні операції, програмування виводу інформації на екран ЕОМ, організація підпрограм та операцій переходів процесора Intel 8086(80286)». Виконав: Студент групи КН-31 Львів – 2007 Тема роботи: Структура асемблерних програм, арифметичні операції, програмування виводу інформації на екран ЕОМ, організація підпрограм та операцій переходів процесора Intel 8086(80286). Мета роботи: Вивчити структуру асемблерних програм у EXE, COM- форматах та засоби для їх асемблювання, лінкування та відлагодження; арифметичні операції; програмування виводу інформації на екран ЕОМ, організація підпрограм та операцій переходів процесора Intel 8086(80286), набути практичних навиків складання та налагоджування програм для даного мікропроцесора. Теоретичні відомості ___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ Лабораторне завдання: Виконати арифметичні операції над заданими числами: (115*269+7114/55)/31. Числа ввести з клавіатури в ASCI форматі, результат вивести на екран в десятковій системі. Передбачити захист від неправильного вводу даних. Хід роботи Для реалізації поставленого завдання мною була розроблена наступна програма: LAB8.ASM .model tiny .code org 100h start: mov ah,9 mov dx,offset message int 21h call perevid mov ax,dane mov oper1,ax call perevid mov ax,dane mov oper2,ax call perevid mov ax,dane mov oper3,ax call perevid mov ax,dane mov oper4,ax call perevid mov ax,oper1 mov bx,oper2 ;xor dx,dx mul bx ;cmp dl,0 ;jne pom1 mov resm,ax call vuvid mov ax,oper3 mov bx,oper4 xor dx,dx div bx mov resd,ax call vuvid mov ax,resm mov bx,resd add ax,bx mov resdod,ax call vuvid mov ax,resdod mov bx,dane xor dx,dx div bx mov res1,ax call vuvid mov ax,04c00h int 21h perevid: mov dx,offset buffer mov ah,0Ah int 21h xor cx,cx mov dane,cx mov cl,byte ptr [blenght] cmp cl,0 je pom mov di,-1 mov bx,1 cukl: mov di,cx xor ax,ax mov al,byte ptr bcontents[di-1] sub ax,30h cmp al,9 ja pom mul bx add dane,ax mov ax,bx mul m mov bx,ax loop cukl mov ah,9 mov dx,offset message1 int 21h ret vuvid: mov bx,ax xor si,si mov cx,5 mov ax,10000 mov word ptr [m1],ax perevidasci: mov ax,bx xor dx,dx div word ptr m1 push ax add ax,30h mov byte ptr res[si],al sub al,30h inc si pop ax mul m1 sub bx,ax mov ax,m1 xor dx,dx div word ptr m mov word ptr [m1],ax loop perevidasci mov ax,0A0Dh mov word ptr res[si],ax inc si inc si mov al,24h mov byte ptr res[si],al mov dx,offset res mov ax,0900h int 21h ret pom: mov dx,offset message2 mov ax,0900h int 21h jmp perevid ret ;pom1: ;mov dx,offset message2 ;mov ax,0900h ;int 21h ;jmp start ;ret message db "Vvedit pershe dane:",0Dh,0Ah,'$' message1 db 0Dh,0Ah,'$' message2 db "Vvedit korektno dani:",0Dh,0Ah,'$' res db 8 dup (" ") m dw 10 m1 dw 0 dane2 dw ? dane dw 0 oper1 dw ? oper2 dw ? oper3 dw ? oper4 dw ? resm dw ? resd dw ? resdod dw ? res1 dw ? buffer db 5 blenght db ? bcontents: end start Після набору тексту програми в текстовому редакторі її було збережено у файл LAB8.ASM. Після цього асембльована та злінкована за допомогою файлу compile8, в якому було прописано наступні команди: tasm /zi lab8.asm tlink /v /t lab8.obj lab8.com pause Після того як програма завантажилась мною було введено відповідні дані та перевірено правельність виконання, і роботу захисту від не правильного вводу даних.  Для покрокового відлагодження було використано пакетний файл MS-DOS – dug В якому прописано наступна команда: td.exe lab8.com  Висновок: Під час виконання лабораторної роботи мною було засвоєно матеріал по темі: “Структура асемблерних програм, арифметичні операції, програмування виводу інформації на екран ЕОМ, організація підпрограм та операцій переходів процесора Intel 8086(80286)”. Я отримав практичні навички складання і налагодження програм виконання для даного мікропроцесора.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!