48894 (Розробка структурної схеми процесорного елемента та мікропрограми керування для реалізації команди SBR Rm, B), страница 3
Описание файла
Документ из архива "Розробка структурної схеми процесорного елемента та мікропрограми керування для реалізації команди SBR Rm, B", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48894"
Текст 3 страницы из документа "48894"
IRcop_out_mc EQU p0.1
Y_in EQU p0.2
Y_out EQU p0.3
Z_in EQU p0.4
Z_out EQU p0.5
CLK EQU p0.6
PC_inc EQU p0.7
IR EQU p2
ALUe0 EQU p4.0
ALUe1 EQU p4.1
ALUe2 EQU p4.2
ALUe3 EQU p4.3
ALUm EQU p4.4
IRoff_in EQU p4.5
IRoff_out EQU p4.6
prog.asm
INCLUDE 80512.mc
INCLUDE consts.inc
Start:
fetch:
; ВИБІРКА КОМАНДИ
;...
; вибірка команди
;...
deshifr:
; ДЕШИФРАЦІЯ КОДУ КОМАНДИ
; Розпізнавання команди і перехід на відповідний код її виконання
MOV A, IR
ANL A, 11111100b ; залишаємо в А лише код операції, без номера регістру
my_cmd:
CJNE A, 00000100b, other_cmd
JMP SBR_Rm_B
other_cmd:
; ...
; ...
; ...
unknown_code:
JMP fetch
; ----------------------------------------------------------
; ВИКОНАННЯ КОМАНДИ
SBR_Rm_B:
; IRoff_out , Yin
SETB IRoff_out ; Пересилка бітової маски IRoff - > Y
SETB Y_in ;
SETB CLK ; Сигнал синхронізації
CLR CLK
CLR IRoff_out
CLR Y_in
; Rm_out , Yout , OR, Zin
; вибір потрібного регістру для пересилки в Y
MOV A, IR
ANL A, 00000011b ; залишаємо в А лише сам номер регістра
regR0out:
CJNE A, 00000000b, regR1out
SETB R0_out
JMP end_case1
regR1out:
CJNE A, 00000001b, regR2out
SETB R1_out
JMP end_case1
regR2out:
CJNE A, 00000010b, regR3out
SETB R2_out
JMP end_case1
regR3out:
SETB R3_out
end_case1:
SETB R1_out
SETB Y_out
SETB ALUe0 ; Код операції OR - 0001b
CLR ALUe1 ;
CLR ALUe2 ;
CLR ALUe3 ;
SETB Z_in ; результат - > Z
SETB CLK ; Сигнал синхронізації
CLR CLK
CLR R0_out ; закриваємо всі регістри
CLR R1_out ;
CLR R2_out ;
CLR R3_out ;
CLR Y_out
CLR ALUe0
CLR Z_in
; Z out , Rm_in , End
SETB Z_out ; пересилка результату в регістр R1
; вибір потрібного регістру для пересилки: Z - > Rm
regR0in:
CJNE A, 00000000b, regR1in ; в А - лише номер потрібного регістра
SETB R0_in
JMP end_case2
regR1in:
CJNE A, 00000001b, regR2in
SETB R1_in
JMP end_case2
regR2in:
CJNE A, 00000010b, regR3in
SETB R2_in
JMP end_case2
regR3in:
SETB R3_in
end_case2:
SETB CLK ; Сигнал синхронізації
CLR CLK
CLR Z_out
CLR R0_in ; закриваємо всі регістри
CLR R1_in ;
CLR R2_in ;
CLR R3_in ;
JMP fetch ; вибираєм наступну команду