![]() |
Pages (2): [1] 2 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Architettura degli elaboratori e delle reti (http://www.dsy.it/forum/forumdisplay.php?forumid=210)
-- [architettura]comando jal (http://www.dsy.it/forum/showthread.php?threadid=12077)
[architettura]comando jal
ciao ragazzi!
spero che voi mi possiate aiutare!!
allora il mio problema è questo:
io so che il comando jal è composto da 32 bit come tutti del resto, ma c'è una cosa che non riesco a capire!!
nel bit field 25-0 ci va il target!ma..il target è l indirizzo dell istruzione a cui salta o cosa??
per esempio...
[0x0040003c] 0x0c100017 jal 0x0040005c [Foglia] ; 31: jal Foglia
il codice in esadecimale di jal è 0x0c100017
quindi in binario diventa:
0000-1100-0001-0000-0000-0000-0001-0111
i primi sei bit (da sinistra) sono per l opcode(0x3) mentre i restanti sono x il target!
ma questo 00-0001-0000-0000-0000-0001-0111
che cosa vuol dire?
non corrisponde a nessun indirizzo del text segment o data segment!
chi mi puo' aiutare??
grazie mille a chi mi sa dare una risposta!!
__________________
"ki ha scritto queste stronzate!!??" disse il cieco toccando una grattugia!
I bit [25-0] sono l'indirizzo in memoria a cui viene esteso il segno per 2 posizioni e a cui viene impostato il Program Counter già aumentato di 4 (o 1 parola). Questà è la teoria..
Nel caso pratico devi fare un estensione del segno di 00-0001-0000-0000-0000-0001-0111 (quindi 0000-0001-0000-0000-0000-0001-0111).. che però non cambia l'indirizzo...
per caso 32 bit dopo c'è qualcosa? (32 bit-> 4 parole (1 parola -> 8 bit)). Magari è già pensato aumentato di 4 parole... Anche se non dovrebbe perchè dovrebbe essere una cosa hardware, non del compilatore...
sicuro che 0x0c100017 sia il codice della jal ?
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
Originally posted by mark
sicuro che 0x0c100017 sia il codice della jal ?
si esatto è il codice dell istruzione!
mentre quello alla sua sinistra è l indirizzo nel text segment!
cmq si nel bit field 25-0 ci va il target, l indirizzo dell istruzione a cui salta!
e questo bit field corrisponde a
00-0001-0000-0000-0000-0001-0111
che non corrisponde all indirizzo a cui dovrebbe saltare..o meglio..non riesco a tirarlo fuori da questi bit....
__________________
"ki ha scritto queste stronzate!!??" disse il cieco toccando una grattugia!
Re: [architettura]comando jal
concordo, ho verificato ![]()
suo ---> 00001100000100000000000000010111
mio ---> 00001100000100000000000000001001
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
cmq quello che mi compare nel mips assembler è
[0x0040003c] 0x0c100017 jal 0x0040005c [Foglia] ; 31: jal Foglia
dove Foglia è l etichetta del blocco di istruzioni a cui salta!
Foglia:
add $t0,$a0,$a1 # $a0 + $a1
add $t1,$a2,$a3 # $a2 + $a3
sub $t2,$t0,$t1 # ($a0 + $a1) - ($a2 + $a3)
che comincia a partire dall indirizzo 0x0040005c
io non ci sto capendo + nulla...il target mi sa che si riferisce a qualcos altro..e non all indirizzo a cui salta..oppure fa qualke calcolo prima di mettere l indirizzo nel campo target!BOH!
__________________
"ki ha scritto queste stronzate!!??" disse il cieco toccando una grattugia!
Re: Re: [architettura]comando jal
Originally posted by mark
concordo, ho verificato
suo ---> 00001100000100000000000000010111
mio ---> 00001100000100000000000000001001
mi sa che devi sommare l'offset o BASE = 0x00400000 dal quale parte lo SPIM
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
scusami mark...ma ke hai fatto?
__________________
"ki ha scritto queste stronzate!!??" disse il cieco toccando una grattugia!
mark..no...
il text segment parte da 0x00400000..
e poi nei bit
00-0001-0000-0000-0000-0001-0111
se volessi portarlo in base 10 mi vien fuori un 2^20=1048576
più 16+4+2+1=1048599....BOH!!!
__________________
"ki ha scritto queste stronzate!!??" disse il cieco toccando una grattugia!
ho corretto, andavo a memoria
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
come si fa a allegare un file?cosi magari se volete ve lo studiate!;P
e mi trovate la soluzione!!![]()
__________________
"ki ha scritto queste stronzate!!??" disse il cieco toccando una grattugia!
c'e' un elenco dei capitoli da studiare per il compito di archi?
se quello è il copia e incolla della seconda colonna del programma SPIM mi viene il dubbio che l'indirizzo si riferisca a quello fisico del PC e non a quello virtuale dello SPIM
__________________
Non ti perdere di coraggio se ti tocca lavorare molto e raccogliere poco.....
| All times are GMT. The time now is 11:06. | Pages (2): [1] 2 » Show all 19 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.