Vai al contenuto

Primario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Secondario: Sky Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Sfondo: Blank Waves Squares Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Corsi di Laurea










ROX @ Unisa - Forum degli studenti di Ingegneria utilizza i cookie. Se prosegui la navigazione accetti il loro uso.    Accetto l'uso dei cookie
-->
Foto

puntatori assembler


  • Effettua l'accesso per rispondere
Questa discussione ha avuto 6 risposta/e

#1
Luca9_1

Luca9_1

    Advanced Member

  • Utente
  • StellaStellaStella
  • 32 Messaggi:
Salve a tutti ragazzi,sto studiando l'assembler dalle slide del prof Parziale e in esercizi_aggiuntivi.zip ho trovato la funzione scambia implementata con i puntatori. Vi volevo chiedere,qualcuno sa se il prof ha trattato i puntatori a lezione? Possono uscire all'esame? Come posso gestirli? Ho fatto l'esame di linguaggio c un bel pò di tempo fa e pur rileggendo i miei appunti mi è risultato difficile comprendere come fare con l'assembler. Grazie a chi risponderà!



#2
mecca

mecca

    Advanced Member

  • Utente
  • StellaStellaStella
  • 35 Messaggi:
Non credo che verranno spiegati, ma in qualche prova d'esame ci sono.
L'utilizzo è semplice, basta spostare con una move l'indirizzo della variabile puntata in un registro, e poi usarlo proprio come un puntatore.
Comunque se hai bisogno di approfondire, sul libro, alla fine del capitolo 2, c'è un esercizio svolto in cui vengono date delle spiegazioni.

#3
Marco Bassi

Marco Bassi

    Advanced Member

  • Utente
  • StellaStellaStella
  • 575 Messaggi:
Devi dichiararli nel .data e poi caricarne l'indirizzo in una variabile. al passaggio alla funzione passi poi questo.

#4
Luca9_1

Luca9_1

    Advanced Member

  • Utente
  • StellaStellaStella
  • 32 Messaggi:
Grazie ad entrambi per il suggerimento. Marco,potresti gentilmente postarmi un esempio? Forse ho capito cosa intendi,ma magari vedendo un esempio comprendo meglio. E se dovessi gestire un vettore con un puntatore come dovrei fare? Chiedo scusa per le mie domande,forse stupide,ma ho proprio bisogno di capire,grazie

#5
Marco Bassi

Marco Bassi

    Advanced Member

  • Utente
  • StellaStellaStella
  • 575 Messaggi:
.data
a:.word 0
poi ci vanno le solite cose tipo "global main" e altre che adesso non ricordo
esistono anche altre keyword oltre la "word" tipo c'è la "space" che alloca un numero di byte che vai a mettere successivamente, oppure c'è la asciiz che serve pper le stringhe
con la linea di sopra ho creato una variabile da 32 bit in memoria e l'ho azzerata, forse la sintassi non è proprio perfetta
la (dollaro)s0, a
qui prendo l'indirizzo di a e me lo metto in s0
adesso quindi in s0 ho il puntatore alla cella di memoria dove comincia la mia word
se devi passare ad una funzione l'indirizzo di a devi passare alla funzione s0, se devi usare il valore destro di a, devi caricartelo con una lw dalla memoria

#6
Luca9_1

Luca9_1

    Advanced Member

  • Utente
  • StellaStellaStella
  • 32 Messaggi:
Ciao,scusami il ritardo nella risposta ma sono stato impegnato per lavoro e non ho avuto modo di connettermi. Grazie mille,chiarissimo e gentilissimo!

#7
Marco Bassi

Marco Bassi

    Advanced Member

  • Utente
  • StellaStellaStella
  • 575 Messaggi:
Di nulla, per altri dubbi chiedi pure.




Leggono questa discussione 0 utenti

0 utenti, 0 ospiti, 0 utenti anonimi