Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
I corsi di Ingegneria
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Nicola Mazzocca » 21.Ulteriori aspetti ed esempi di programmazione Assembler. Uso delle subroutine


Esempi ed esercizi

Confronto tra vettori con subroutine

  • Il programma verifica se due vettori sono uguali, chiamando un sottoprogramma (subroutine) che a sua volta effettua il confronto vero e proprio.
  • Il sottoprogramma riceve come parametri gli indirizzi dei due vettori ed il numero di elementi e fornisce in uscita l’esito del confronto.
  • Il passaggio dei parametri di ingresso e uscita avviene tramite registri.
  • Perché ciò sia possibile, è necessario stabilire una convenzione tra programma chiamante e sottoprogramma chiamato riguardante l’uso dei registri usati per scambiare dati di ingresso e di uscita.

Esempi ed esercizi

Subroutine e passaggio tramite stack

  • Il programma verifica se due vettori sono uguali, chiamando una subroutine.
  • Il sottoprogramma riceve come parametri gli indirizzi dei due vettori ed il numero di elementi e fornisce in uscita l’esito del confronto.
  • Il passaggio dei parametri di ingresso e usicita avviene tramite stack
  • Perché ciò sia possibile, è necessario stabilire una convenzione tra programma chiamante e sottoprogramma chiamato riguardante l’uso dello stack per scambiare dati di ingresso e di uscita.

Esempi ed esercizi

Passaggio tramite stack ed uso della LINK

  • Il programma verifica se due vettori sono uguali, chiamando una subroutine. Il passaggio dei parametri avviene tramite stack.
  • A scopo illustrativo, si richiede che il sottoprogramma faccia uso di una variabile locale, allocata nello stack, durante la sua esecuzione.
  • La gestione dell’area locale avviene tramite Frame Pointer ed uso delle istruzioni LINK / UNLK.

Esempi ed esercizi

Conteggio del numero di bit pari a 1

  • Questo programma conta il numero di bit contenuti all’interno di un byte.
  • Per farlo, utilizza l’istruzione BTST (bit test) che serve per controllare se l’i-esimo bit di una parola è 1 o 0.

Esempi ed esercizi

Conteggio del numero di bit pari a 1

  • Questo programma conta il numero di bit contenuti all’interno di un byte.
  • Per farlo, usa l’istruzione di shift logico a destra (LSR) sul byte.

Esempi ed esercizi

Conteggio del numero di bit pari a 1

  • Questo programma conta il numero di bit contenuti all’interno di un byte.
  • Per farlo, maschera otto volte il byte da testare, isolando di volta in volta il bit da testare: la “mascheratura” può essere effettuata ponendo in AND la parola di cui testare il bit con una parola fatta di tutti 0 tranne un 1 posto nella posizione da controllare.

Prossima lezione

Protezione ed interruzioni

  • Problematiche di base
  • Esempi con riferimento al caso del processore 68000
  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion