Professional Documents
Culture Documents
Лаб5 Петренко
Лаб5 Петренко
Архітектура комп’ютера
Лабораторна робота №5
ФОРМУВАННЯ СИСТЕМИ КОМАНД
ПРОЦЕСОРА, РОЗРОБКА ПРОГРАМ І
МІКРОПРОГРАМ ОБРОБКИ ІНФОРМАЦІЇ В
ЕОМ
Виконала:
Студентка групи ІО-01
Петренко О.С.
Перевірив Верба О. А.
Київ
2022 р.
ЛАБОРАТОРНА РОБОТА №5
ФОРМУВАННЯ СИСТЕМИ КОМАНД ПРОЦЕСОРА, РОЗРОБКА
ПРОГРАМ І МІКРОПРОГРАМ ОБРОБКИ ІНФОРМАЦІЇ В ЕОМ
Завдання
012010 = 11110002
a7 = 1, a6 = 1, a5 = 1, a4 = 1, a3 = 0, a2 = 0, a1 = 0
№ Код Операція
Виконати операції Адреси
операції за
а5 а3 а1 1 00 0 1 X −Y а7 а6 а5 портів ЗП
кодом № з
табл. 7.1 РС РД
5 01 0 1 X Y
1 0 0 1,5,6 1 1 1 72H 74H
6 01 1 0 X &Y
Виконання роботи
Архітектура та алгоритм обчислення
Структура ОП Структура ЗП
00000H 0000H
0001H
Результат
0002H …
000АH
000СН
…
… Програма обчислення
0014H
0016H
FFFFFH FFFFH
Програма обчислень
\dani
dw 0001h:05h \Y
dw 0002h:72h
dw 0005h:0h \F1
dw 0006h:0h \F2
dw 0007h:0h \F3
dw 0020h: 000Ah
\programa
dw 000Ah:0001000000000010% \testing
dw 000Bh:0000000000100000% \zjump
dw 000Ch:0010000000000010% \inputx
dw 000Dh:0100000000000001% \readzOP
dw 000Eh:1000110000110001% \xminusy
dw 000Fh:0011100000000101% \zapusOP
dw 0010h:1010110000110001% \xnotxory
dw 0011h:0011100000000110% \zapusOP
dw 0012h:1011010000110001% \notxandy
dw 0013h:0011100000000111% \zapusOP
dw 0014h:0100110000000000% \end
\mikroprograma
ORG 0h{cjp nz,zjump;}
ORG 1h{cjp nz,xminusy;}
ORG 2h{cjp nz,testing;}
ORG 3h{cjp nz,res;}
ORG 4h{cjp nz,inputx;}
ORG 5h{cjp nz,xnotxory;}
ORG 6h{cjp nz,notxandy;}
ORG 7h{cjp nz,zapusOP;}
ORG 8h{cjp nz,readzOP;}
ORG 9h{cjp nz,end;}
\pochatkova adresa
res{and r7,r7,z;}
{or r7, r7, 000Ah;}
\zchituvannya komand
begin{ewh;oey;xor nil,r7,r7;}
{ewl;oey;or nil,r7,z;}
{cjp rdm,cp;r;or r14,bus_d,z;}
\perevirka
{and nil,r14,0400h;load rm,flags;}
{cjp not rm_z,next;}
testing
{or nil,r15,z;oey;ewl;}
{i;cjp rdd,cp;or r15,bus_d,z;}
{or nil,r15,z;load rn,flags;}
{cjp nz,formadd;}
zjump
{cjp not rn_z,no_j;}
{or r7,r15,z;}
{cjp nz,begin;}
no_j{cjp nz,formadd;}
inputx
{add r15,r15,2,z;}
{or nil,r15,z;ewl;oey;}
{i;cjp rdd,cp;or r1,bus_d,z;}
{cjp nz,formadd;}
readzOP
{or r2,r2,r15;}
{cjp nz,formadd;}
xminusy
{and rb,rb,z;}
{or rb,rb,r2;}
{sub rb,ra,rb,nz;}
{cjp nz,formadd;}
zapusOP
{xor nil,r14,Z;oey;ewl;}
{cjp rdm,CP;W;or nil,Z,r3;oey;}
{cjp nz,formadd;}
xnotxory
{and rb,rb,z;}
{or rb,rb,r2;}
{nxor rb,rb,ra;}
{cjp nz,formadd;}
notxandy
{and rb,rb,z;}
{or rb,rb,r2;}
{sub r5,z,ra,z;}
{and rb,rb,r5;}
{cjp nz,formadd;}
formadd
{add r7,r7,1,z;}
{cjp nz,begin;}
end
{}
Результат виконання
X = DA16 Y = 516
F1 = DA16 – 516 = D516
F2 = DA16 ̅̅̅
⊕ 516 = FF2016
̅̅̅̅16 & 516 = 516
F3 = DA
Висновкок
У ході лабораторної роботи було розроблено мікропрограму для
обрахунку значення функції з використанням двоадресних команд. Було
закріплено знання у розробці алгоритмів, програм і мікропрограм функцій, а
також вдосконалено навички у роботі з прямою регістровою адресацією.
Відповіді на питання
ACCEPT RDM_DELAY : 3