Informatics Point
Информатика и проектирование
Микропроцессорная реализация СВУ заключается в составлении программы выполнения заданной макрооперации на определённом языке программирования в системе команд имеющейся ЭВМ. В данном случае осуществлена реализация СВУ на языке Ассемблер в системе команд процессора 8086.
Программа составляется на основе разработанной микропрограммы и алгоритма работы СВУ.
Текст программы представлен в приложении.
Описание программы
Данная программа выполняет вычисление макрооперации
Z=((6A+2B)/8)vC
Числа A, B, D вводятся с клавиатуры и хранятся в двоичном коде. Далее между числами производятся арифметические и логические операции. Результат работы программы выводится в двоичном коде. При возникновении переполнения выдаётся соответствующее сообщение.
данные алгоритм граф макрооперация
Приложение
Листинг программы
title SVU segment 'code' CS:cseg, DS:cseg, SS:cseg, ES:cseg 100h
: jmp SVU db 'Введите a в двоичном коде a = ','$'
inpb db 'Введите b в двоичном коде b = ','$' db 'Введите c в двоичном коде c = ','$' db 10,13,'$'_1 db 'Вычисление z=((6a+2b)/8)\/c',10,13,'$'
ms_2 db '(6a+2d)/8=','$'_3 db '((6a+2d)/8)\/b = ','$'
ms_over_a db 'Ошибка: переполнение а',10,13,'$'_over_b db 'Ошибка: переполнение b',10,13,'$'_over_summ db 'Ошибка: переполнение суммы (6a+2b)/8',10,13,'$'
res db ? db ? db ? db ?proc ax,0600h ;устанавливаем атрибуты экранаbh,74h ;серый фон красные буквыcx,00 ;с левого верхнего углаdx,184Fh ;по правый нижний угол экрана10hah,02h ;устанавливаем курсорbh,00h ;в точку с координатами:dh,05 ;по вертикали - 5,dl,15 ;по горизонтали - 1510h
;вывод начального сообщения
ah,09h ;выводим строку ms_1dx,ms_1 ;на экран21h
linebr ;переход строки
;ввод а и вычисление 6a
bg:ia
:linebr ;переход строки
mov ah,09h ;выводим сообщение о переполнении а
lea dx,ms_over_a ;на экран21h
linebr ;переход строки
ia:ah,09h ;выводим строку inpadx,inpa ;на экран21h
input ;вводим двоичное число (результат в bl)a,bl ;сохраняем его в aax,0 ;обнуляем регистр ax
al,a ;вычисляем 6а
sal al,1 ;2aofaal,a ;2a+a
jo ofa ;при переполнении переходим на вывод сообщения об ошибкеal,1 ;(2a+a)*2ofa ;при переполнении переходим на вывод сообщения об ошибкеa,al ;сохраняем результат в а
;ввод d и вычисление 2d
ib:linebr ;переход строки
ah,09h ;выводим сообщение о переполнении
lea dx,ms_over_b ;на экран21h
linebr ;переход строки
ib:ah,09h ;выводим строку inpbdx,inpb ;на экран21h
input ;вводим двоичное число (результат в bl)b,bl ;сохраняем его в bax,0 ;обнуляем регистр ax
al,b ;вычисляем 2bal,b ;2bofb ;при переполнении переходим на вывод сообщения об ошибкеb,al ;сохраняем результат в b
;вычисление и вывод на экран (6a+2b)/8
cl,a ;помещаем 6a в регистр clbl,b ;помещаем 2b в регистр bl
add bl,cl ;6a+2b в bl
jo ofs ;при переполнении переходим на вывод сообщения об ошибкеbl,4 ;выполнение (6a+2b)/8
jmp nxt
:linebr ;переход строки
mov ah,09h ;выводим сообщение о переполнении суммы (6a+2b)/8 на экран
lea dx,ms_over_summ ;на экран21h
linebr ;переход строки
jmp bg ;переходим на повторный ввод a и b:linebr ;переход строки
ah,09h ;выводим строку ms_2dx,ms_2 ;на экран21h
output ;выводим на экран значение суммы (6a+2b)/8summ,bl ;сохраняем сумму (6a+2b)/8 в summlinebr ;переход строки
;ввод c
linebr ;переход строки
ah,09h ;выводим inpcdx,inpc ;на экран21h
input ;вводим двоичное число (результат в dl)
;логическое умножение c и (6a+2b)/8
;и вывод результата на экран
bh,summ ;перемещаем сумму в регистр bhbl,bh ;логически складываем с и (6a+2b)/8res,bl ;записываем результат в рес res
linebr ;переход строкиah,09h ;выводим строку ms_3dx,ms_3 ;на экран21h
output ;выводим на экран значение результата
linebr ;переход строки
;выход из программы
ah,07h ;ожидаем нажатия любой клавиши21h
ah,4ch ;выходим в DOS21hendp
Проектирование микропроцессорного устройства
Спроектировать
микропроцессорное устройство содержащее МП, системный контроллер, адресные
буферы, ОЗУ, ПЗУ, порт ввода/вывода, адресный дешифратор.
...
Проектирование микроконтроллера
Развитие микроэлектроники и широкое применение ее изделий в
промышленном производстве, в устройствах и системах управления самыми
разнообразными объектами и ...
Проектирование передатчика с угловой модуляцией сухопутной подвижной службы
При
расчете радиопередающего устройства необходимо отметить назначение передатчика.
Назначение
передатчика - преобразование энергии источника питания в э ...
Меню сайта
2024 © www.informaticspoint.ru