<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<p><h1><u><FONT SIZE="7"><FONT FACE="Arial Black,Impact">Cenni teorici</A></FONT></u></h1></p>
<title>Cenni teorici</title>
<link rel="stylesheet" type="text/css" href="button.css">
</head>
<body>
<div class="corpo">
<ul class="menu">
<li class="primo"><FONT SIZE="3"><a href="..//RDL n.2/index.html">Home</a></FONT></li>
<li><FONT SIZE="3">Relazione
<ul class="sub-menu">
<li><FONT SIZE="3"><a href="..//RDL n.2/obiettivi.html">Obiettivi</a></FONT></li>
<li><FONT SIZE="3"><a href="..//RDL n.2/cenniteorici.html">Cenni Teorici</a></FONT></li>
<li><FONT SIZE="3"><a href="..//RDL n.2/procedimento.html">Procedimento</a></FONT></li>
<li class="ultimo-sub"><FONT SIZE="3"><a href="..//RDL n.2/disegnieschemi.html">Disegni e schemi</a></FONT></li>
</ul>
</FONT></li>
<li><FONT SIZE="3">Strumenti
<ul class="sub-menu">
<li><FONT SIZE="3"><a href="..//RDL n.2/strumentihw.html">Hardware</a></FONT></li>
<li class="ultimo-sub"><FONT SIZE="3"><a href="..//RDL n.2/strumentisw.html">Software</a></FONT></li>
</FONT></ul>
</li>
<li class="ultimo"><FONT SIZE="3"><a href="..//RDL n.2/divisionelavoro.html">Divisione lavoro</a></FONT></li>
</ul>
</div>
<br> </br>
<br> </br>
<br><u> <FONT SIZE="6"><FONT FACE="Berlin Sans FB,Arial,Helvetica">Linguaggio Assembly</u><br>
<br>
Il programma in questione e' stato scritto utilizzando il linguaggio assembly.
Questo e' un linguaggio di basso livello e,tra i vari linguaggi di programmazione,quello più vicino al linguaggio macchina.
Permette al programmatore di ignorare il formato in cifre binarie,utilizzando istruzioni.
</br>
<br> </br>
<br><u>Sintassi istruzione</u></br>
<br> La corretta sintassi di un istruzione e' la seguente:</br>
<br> *codice operativo* *destinazione* , *sorgente* </br>
<br><center> esempio: <b>MOV AX,BX</b> (muovi in AX il contenuto di BX) </center></br>
<br> </br>
<br><u>Gruppi funzionali</u></br>
<br>Le istruzioni si possono distinguere le istruzioni in diversi gruppi funzionali:<br>
<UL>
<li> Logico(and,or,not)</li>
<li> Aritmetico(add,div,sub,mul,adc,sbb,inc,dec...)</li>
<li> Spostamento /assegnazione(mov,push,pop...)</li>
<li> Rotazione/traslazione(sal,sar,shr,shl,rol,ror...)</li>
<li>Confronto(tst,cmp) </li>
<li>Salto(jmp,call,ret,loop...) </li>
<li> Lettura/scrittura(in,out)</li>
<li>Attesa(nop,wait...) </li>
</UL>
<br> </br>
<br><u>Le direttive</u></br>
<br> Oltre alle istruzioni,nel linguaggio assembly troviamo le direttive.
Queste sono riconoscibili perché sono precedute da un punto.
</br>
<br><center><b>.SMALL</b> (questa direttiva indica il modello di memoria che si utilizzera' nel programma,appunto il modello small) </center></br>
<br> Le direttive consentono di determinare specifici parametri e determinano che tipo di modello di memoria si utilizzera' nel programma. </br>
<br> </br>
<br><u>Sviluppo di un programma in assembly</u></br>
<br>
Per scrivere un programma assembly va seguito questo modello:
</br>
</FONT>
</body>
</head>
</html>