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
 
 
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