DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Арифметичні операції мікропроцесора Intel 8086 (80286)

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

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

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

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Архітектура комп'ютерів

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ "ЛЬВІВСЬКА ПОЛІТЕХНІКА" Кафедра САПР ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 8 На тему: «Арифметичні операції мікропроцесора Intel 8086 (80286)». З дисципліни : «Архітектура комп’ютерів» Тема роботи: Арифметичні операції мікропроцесора Intel 8086 (80286). Мета роботи: Вивчити основні арифметичні операції мікропроцесора Intel 8086 (80286). ТЕОРЕТИЧНІ ВІДОМОСТІ ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ЛАБОРАТОРНЕ ЗАВДАННЯ: Виконати арифметичні операції над числами:  Дані вводити з клавіатури. Результат вивести на екран в десятковій системі. Передбачити захист від неправильного введення значень. ХІД РОБОТИ: Для реалізації поставленого завдання була розроблена наступна програма: .model tiny .code ;початок коду програми org 100h start: mov ah,9 mov dx,offset mes1 ;виводимо перше повідомлення і int 21h ;очікуємо введення 1 числа CALL VVID ;виклик підпрограми введення і mov n1,ax ;перетворення числа з ASCII в ;двійкову систему числення mov ah,9 ;повторюємо для 2 числа mov dx,offset mes2 int 21h CALL VVID mov n2,ax mov ah,9 ;повторюємо для 3 числа mov dx,offset mes3 int 21h CALL VVID mov n3,ax mov ah,9 mov dx,offset mes4 ;виводимо повідомлення int 21h mov ax,n1 add ax,n2 ;Перше число додаємо до другого mov r1,ax call vuvid ;викликаємо підпрограму переведення ;результату в ASCII формат і ;виведення його на екран mov ah,9 mov dx,offset mes5 int 21h xor dx,dx mov ax,r1 div n3 ;результат ділимо на третє число mov r2,ax mov ost,dx call vuvid ;перетворюємо в ASCII формат і ;виводимо на екран результат ділення mov ah,9 mov dx,offset mes6 int 21h mov ax,ost call vuvid ;виводимо на екран остачу від ділення call readkey RET ;підпрограма введення числа і перетворення його в двійкову систему VVID: MOV AH,0Ah MOV DX,OFFSET LBUFER INT 21h mov cx,0 mov tmp,cx XOR CX,CX XOR DX,DX MOV Cl,mbufer mov bx,1 CUKL: mov di,cx XOR AX,AX MOV al,byte ptr bufer[di-1] cmp al,30h jb error cmp al,39h ja error sub al,30h MUL bx ADD tmp,ax MOV AX,bx MUL m MOV bx,AX loop cukl mov ax,tmp RET ERROR: mov ah,9 mov dx,offset emes int 21h JMP vvid ;підпрограма перетворення числа в ASCII формат і ;виведення його на екран VUVID: XOR CX,CX XOR DX,DX mov bx,ax mov cx,4 mov ax,1000 mov d,ax mov ax,bx CUKL2: div d push ax add ax,30h mov dl,al mov ah,02h int 21h pop ax mul d sub bx,ax mov ax,d div m mov d,ax mov ax,bx loop CUKL2 RET ;підпрограма очікування натиснення будь-якої клавіші READKEY: mov ah,9 mov dx,offset mes7 int 21h mov ah,8 int 21h ret ;дані які використовувались програмою ;повідомлення які видає програма mes1 db "Введiть 1 число:",0Dh,0ah,24h mes2 db 0Dh,0ah,"Введiть 2 число:",0Dh,0ah,24h mes3 db 0Dh,0ah,"Введiть 3 число:",0Dh,0ah,24h mes4 db 0Dh,0ah,0Dh,0ah,"Результат додавання:",0Dh,0ah,24h mes5 db 0Dh,0ah,"Результат дiлення:",0Dh,0ah,24h mes6 db 0Dh,0ah,"Остача вiд дiлення:",0Dh,0ah,24h mes7 db 0Dh,0ah,0Dh,0ah,"Натиснiть будь-яку клавiшу...",24h emes db "Помилка! Попробуйте щераз:",0Dh,0ah,24h ;буфер для даних lbufer db 5 mbufer db ? bufer db 5 DUP (0) M db 10 ;множник D dw 0 ;дільник tmp dw 0 ;змінна для тимчасового зберігання N1 dw ? ;перше число N2 dw ? ;друге число N3 dw ? ;третє число R1 dw ? ;результат додавання R2 dw ? ;результат ділення ost dw ? ;остача від ділення end start ВИСНОВОК: Під час виконання лабораторної роботи я вивчив основні арифметичні операції мікропроцесора Intel 8086 (80286). Мною була написана програма, яка виконує додавання двох чисел і ділить результат на третє число. Числа вводимо з клавіатури, а результат виводиться на екран в десятковій системі. Крім цього в програмі передбачено захист від неправильного введення значень.
Антиботан аватар за замовчуванням

28.01.2013 14:34

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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