% Progetto ALU
%
% Programma elaborato da
%
% Giovanni DI CECCA & Virginia BELLINO
% 50 / 887 408 / 466
%
% http://www.dicecca.net
% Interfaccia utente della ALU
function [y,flags]=alu(a,b,op_code,c_flag)
% Memorizza il segno degli operandi a et b
sa=a(1);
sb=b(1);
% Carica il decoder e passa i dati dell' OP_CODE
[c_arith,ncmp,sel_out]=decoder(op_code);
% Carica l'unit logica aritmetica
[and_,or_,xor_]=logic_unit(a,b);
% Carica l'unit aritmetica
[y,c_out]=arith_unit(a,b,c_arith,c_flag);
% Memorizza il risultato del MUX 4_1
y=muxn4_1(y,and_,or_,xor_,sel_out);
% Associa alla variabile m_out il valore del muxn4_1 per poi passarlo alle flags
m_out=y;
% Carica la Flag Unit
[flags]=flag_unit(c_out,sa,sb,m_out,ncmp,sel_out);