La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Strutture di Controllo

Presentazioni simili


Presentazione sul tema: "Strutture di Controllo"— Transcript della presentazione:

1 Strutture di Controllo
Permettono di alterare la naturale sequenza delle istruzioni Condizionali Permettono la selezione fra due alternative diverse A contatore Cicli A controllo in testa Permettono la ripetizione di un gruppo di istruzioni A controllo in coda Salti Salti incondizionati Strutture elementari utilizzate da linguaggi non strutturati per realizzare le altre due strutture Salti condizionati

2 Salti Non sono più utilizzati nei moderni linguaggi di programmazione. Tuttavia la traduzione delle strutture complesse viene risolta per mezzo di queste istruzioni. Salti incondizionati Sono istruzioni che permettono di modificare la sequenza naturale del programma indipendentemente dal risultato di operazioni precedenti. Salti condizionati Sono istruzioni che permettono di modificare la sequenza naturale del programma in funzione del risultato di operazioni precedenti.

3 Salti incondizionati In assembler queste istruzioni si presentano nella forma: JMP <etichetta> Dove <etichetta> è un nome simbolico assegnato alla istruzione cui bisogna cedere il controllo. L’effetto di questa istruzione è quello di assegnare al registro IP l’indirizzo dell’istruzione contrassegnata da <etichetta> Es 1: MOV AX,pippo JMP oltre MOV BX,felix ADD AX,BX Oltre: MOV CX,20 Es 2: MOV AX,pippo Oltre: MOV BX,felix ADD AX,BX JMP oltre MOV CX,20

4 Salti condizionati In assembler queste istruzioni si presentano nella forma: Jxx <etichetta> Dove <etichetta> è un nome simbolico assegnato alla istruzione cui bisogna cedere il controllo. “xx” sono una o due lettere che indicano la condizione che deve verificarsi affinché avvenga il salto. Es.: JNZ nozero Effettua un salto all’etichetta nozero se l’operazione precedente ha dato un risultato diverso da 0. Questa istruzione può essere utilizzata sia da sola, che in combinazione con l’istruzione CMP (Compare): CMP op1,op2 JNE diversi Salta a diversi se op1 e op2 non sono uguali

5 Salti condizionati Es 1: Es 2: MOV AX,num CMP sesso,”M” MOV CH,pippo
MOV BH,felix SUB CH,BH JZ oltre DIV CH Oltre: MOV CX,20 Es 2: CMP sesso,”M” JNE donna MOV milit,”S” JMP oltre Donna: MOV milit,”N” Oltre: MOV BX,felix ADD AX,BX MOV CX,20

6 Strutture Condizionali
PASCAL IF <condizione> then <istruzioniF1> else <istruzioni F2> V F <condizione> ASSEMBLY ; blocco di selezione J <condizione> Allora ; blocco altrimenti <istruzioni F2> JMP Finesel Allora: ; blocco allora <istruzioni F1> Finesel: ; prosecuzione programma F1 F2 (Es)

7 Cicli a Contatore c = n c = c-1 c = 0 PASCAL FOR c = 1 TO n DO BEGIN
<istruzioni F1> END c = n ASSEMBLY ; blocco di iterazione MOV CX, n Ciclo: <istruzioni F1> LOOP Ciclo ; prosecuzione programma F1 c = c-1 F c = 0 (Es) V

8 Cicli a Controllo in testa
PASCAL WHILE <condizione> DO BEGIN <istruzioni F1> END <istruzioni F2> F Cond. V ASSEMBLY ; blocco di iterazione Ciclo: CMP <condizione> JNE FineCiclo <istruzioni F1> JMP Ciclo FineCiclo: ; prosecuzione programma <istruzioni F2> F1 F2 (Es)


Scaricare ppt "Strutture di Controllo"

Presentazioni simili


Annunci Google