Aiuto esercizio assembly MIPS

di il
5 risposte

Aiuto esercizio assembly MIPS

Ciao a tutti ragazzi, ho tantissimi problemi con questo esercizio:

Un sistema basato sul microprocessore MIPS R2000 (clock pari a 250 MHz) è incaricato della trasmissione seriale asincrona di una serie di caratteri ASCII memorizzati in un banco dell’area dati del sistema che funge da buffer di trasmissione. In particolare, il programma di cui si richiede la scrittura deve permettere di effettuare la trasmissione seriale asincrona mediante la linea 15 della cella di memoria INOUT. Detta linea deve essere mantenuta al livello logico alto quando non ci sono dati da trasmettere, mentre, quando un dato deve essere trasmesso, deve essere portata al livello logico basso per un tempo pari al tempo concesso per la trasmissione di un bit. Successivamente devono essere trasmessi in sequenza i singoli bit (dal più significativo al meno significativo), ciascuno con la durata riservata ai bit. Al termine della trasmissione del carattere ASCII, dovrà essere spedita la parità del messaggio (pari o dispari) e lo stop equivalente ad un livello logico alto per un tempo pari a 1 o 1.5 o 2 tempi di bit. Dopo aver trasmesso il bit di stop, potrà aver luogo la trasmissione del prossimo carattere.
La linea 7 della cella di memoria a 16 bit INOUT fornisce l’informazione relativa alla velocità di trasferimento:
0 = 9600 bit/s (104 µs per bit)
1 = 19200 bit/s (52 µs per bit).
La linea 3 della cella INOUT fornisce l’informazione relativa alla parità:
0 = parità pari;
1 = parità dispari.
Le linee 0 e 1 della cella INOUT forniscono l’informazione relativa alla durata da associare al bit di stop:
00 = 1 tempo
01 = 1.5 tempi
10 o 11 = 2 tempi.
Il programma da scrivere dovrà prelevare 32 caratteri ASCII memorizzati nella zona di memoria adibita a buffer di trasmissione e dovrà poi trasferirli serialmente.
Alle celle di memoria sopra menzionate si assegnino indirizzi arbitrari che cadano, però, nell’area dei dati dell’architettura MIPS.
NON USARE SYSCALL, UN CARATTERE ASCII = 8 BIT.


In particolare non capisco se devo dare io un indirizzo al buffer (e se si, come si fa?) e come inviare i caratteri ascii alla linea 15.
Riuscite a darmi una mano?

Grazie in anticipo

5 Risposte

  • Re: Aiuto esercizio assembly MIPS

    Ciao
    il libro di testo che usi che cosa ti dice sull' assegnazione del buffer?
  • Re: Aiuto esercizio assembly MIPS

    In realtà il libro che usiamo centra gran poco con l'assembly, è più un manuale sulla struttura hardware di un computer.

    Il professore però ci ha detto di scegliere arbitrariamente l'indirizzo per il buffer.

    (Accetto anche consigli su libri di testo da acquistare che parlano nello specifico del MIPS, con degli esercizi svolti o spiegati che magari riesco a risolvere molti dei miei dubbi)
  • Re: Aiuto esercizio assembly MIPS

    Siccome io i manuali li leggo solamente in inglese ti consiglio
    Computer Organization & Design (the hardware / software interface)
    autore david A.Patterson & jhon L. Hennessy
    casa editrice Morgan Kaufman.

    Mips Assembly Language Programming
    autore rober l. britton
    casa editrice Pearson Education (US)

    come esercizi svolti puoi vedere questi link

    didattica.uniroma2.it/assets/uploads/corsi/.../Lezione12-EserciziEsameAssembler.pdf
  • Re: Aiuto esercizio assembly MIPS

    Grazie mille era proprio quello che cercavo!!
  • Re: Aiuto esercizio assembly MIPS

    Computer Organization c'è anche in italiano (Struttura e progetto del calcolatori), ma dal punto di vista applicativo non c'è granché riguardo l'I/O.
Devi accedere o registrarti per scrivere nel forum
5 risposte