|
|
|
|
Strumenti |
20-07-2014, 14:23 | #1 |
Senior Member
Iscritto dal: Jan 2008
Città: Napoli
Messaggi: 1589
|
controllo di un programma assembly 68000
salve qualcuno potrebbe controllare se questi programmi sono svolti correttamente? li ho fatti personalmente ma non saprei se sono corretti oppure ci sono errori, sarei grato a chiunque possa darmi un consiglio o trovare qualche errore.
il programma è molto banale richiedere di trovare il numero 7 tra gli elementi di un vettore. nel primo caso è svolto molto semplicemente *dopo aver inserito un vettore di numeri interi, cercare il numero 7 e salvare l'indirizzo di dove si trova la variabile del registro in una variabile *area dati Codice HTML:
*area dati ORG $8000 VECTOR DC.L 1,2,3,4,53,6,7,0 *IL VETTORE DI ELEMENTI NUMBER EQU 7 *VALORE DA CERCARE RIS DC.L 0 *RISULTATO NON INIZIALIZZATO RIEMP EQU 8 *programma START MOVEA.L #VECTOR,A0 MOVE.L #RIEMP,D1 LOOP MOVE.L (A0)+,D0 CMP.L #NUMBER,D0 BNE LOOP1 LOOP1 ADD.L #-1,D1 TST D1 BNE LOOP ADDA.L #-1,A0 MOVE.L A0,RIS FINE JMP FINE END START grazie in anticipo! versione con subroutine e stack ancora non corretta come il programma sopra Codice HTML:
**dopo aver inserito un vettore di numeri interi, cercare il numero 7 *DATI VECTOR DC.W 1,2,3,4,53,6,7,0 *IL VETTORE DI ELEMENTI NUMBER EQU 7 *VALORE DA CERCARE RIS DC.L 0 *RISULTATO NON INIZIALIZZATO ORG $8000 START MOVE.L #VECTOR,A0 MOVE.L (A0)+,D0 ADDA.L #-2,SP MOVE.W D0,-(SP) *FORSE NON NECESSARIO MOVE.W #NUMBER,-(SP) JSR FOUND MOVE.W 4(SP),D2 ADD.L #6,SP MOVE.W D2,RIS *SUBROUTINE *DATI OFF1 EQU 8 *NUMBER OFF2 EQU 10 *D0=#VECTOR *NON NECESSARIO OFF3 EQU 12 *OUTPUT FOUND LINK A6,#0 MOVE.L D0,-(SP) LOOP CMP.B OFF1(A6),D0 BNE LOOP ADDA.L #-1,A0 MOVE.W D0,OFF3(A6) MOVE.L (SP)+,D0 UNLK A6 RTS END START
__________________
trattative positive con: cristianobon70, linears4, 88overclocker88, Alexxio, Axion, cage81, theking22, AXIP, revolver ocelot, regshout, y87, cusmario, Hal2001, the_crazy_biker, topolino2808, Kelone, Lord Andreas, pianopiano, maxmaina, binosoma, micanto1, Blaze90, iaiuarmando, niko0, Masami, robby85, gRo87, spinaspina88, danyheart1989, Ntropy, Alchimista1, ORONZO CANA', e tanti tanti tanti altri Ultima modifica di domax93 : 22-07-2014 alle 22:33. |
21-07-2014, 07:53 | #2 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Non puoi semplicemente provarlo e vedere se funziona?
|
21-07-2014, 10:05 | #3 |
Senior Member
Iscritto dal: Jan 2008
Città: Napoli
Messaggi: 1589
|
il programma asimtool crasha, mentre controlla correttamente gli altri programmi. proverò su un altro computer. comunque controlla solo la sintassi se è corretta, quindi comunque servirebbe un occhiata
__________________
trattative positive con: cristianobon70, linears4, 88overclocker88, Alexxio, Axion, cage81, theking22, AXIP, revolver ocelot, regshout, y87, cusmario, Hal2001, the_crazy_biker, topolino2808, Kelone, Lord Andreas, pianopiano, maxmaina, binosoma, micanto1, Blaze90, iaiuarmando, niko0, Masami, robby85, gRo87, spinaspina88, danyheart1989, Ntropy, Alchimista1, ORONZO CANA', e tanti tanti tanti altri |
21-07-2014, 10:11 | #4 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
No, c'è anche il simulatore con il debugger, vedi questo video: https://www.youtube.com/watch?v=IRJInycYhWw
|
21-07-2014, 10:31 | #5 | |
Senior Member
Iscritto dal: Jan 2008
Città: Napoli
Messaggi: 1589
|
Quote:
__________________
trattative positive con: cristianobon70, linears4, 88overclocker88, Alexxio, Axion, cage81, theking22, AXIP, revolver ocelot, regshout, y87, cusmario, Hal2001, the_crazy_biker, topolino2808, Kelone, Lord Andreas, pianopiano, maxmaina, binosoma, micanto1, Blaze90, iaiuarmando, niko0, Masami, robby85, gRo87, spinaspina88, danyheart1989, Ntropy, Alchimista1, ORONZO CANA', e tanti tanti tanti altri |
|
21-07-2014, 10:38 | #6 |
Senior Member
Iscritto dal: Jan 2014
Messaggi: 852
|
Il fatto che un programma che dovrebbe controllare la sintassi crasha la dice già lunga, poi se tale problema si verifica sempre e solo con quel particolare listato allora è la fine! Vorrei poter fare di più, ma il mio 68k è arrugginito... prova come avevi detto su un altro pc.
|
21-07-2014, 10:44 | #7 | |
Senior Member
Iscritto dal: Jan 2008
Città: Napoli
Messaggi: 1589
|
Quote:
grazie per la disponibilità
__________________
trattative positive con: cristianobon70, linears4, 88overclocker88, Alexxio, Axion, cage81, theking22, AXIP, revolver ocelot, regshout, y87, cusmario, Hal2001, the_crazy_biker, topolino2808, Kelone, Lord Andreas, pianopiano, maxmaina, binosoma, micanto1, Blaze90, iaiuarmando, niko0, Masami, robby85, gRo87, spinaspina88, danyheart1989, Ntropy, Alchimista1, ORONZO CANA', e tanti tanti tanti altri |
|
21-07-2014, 21:07 | #8 |
Senior Member
Iscritto dal: Jan 2008
Città: Napoli
Messaggi: 1589
|
trovato il motivo del crash!
(A0+), anzichè (A0)+
__________________
trattative positive con: cristianobon70, linears4, 88overclocker88, Alexxio, Axion, cage81, theking22, AXIP, revolver ocelot, regshout, y87, cusmario, Hal2001, the_crazy_biker, topolino2808, Kelone, Lord Andreas, pianopiano, maxmaina, binosoma, micanto1, Blaze90, iaiuarmando, niko0, Masami, robby85, gRo87, spinaspina88, danyheart1989, Ntropy, Alchimista1, ORONZO CANA', e tanti tanti tanti altri |
22-07-2014, 06:47 | #9 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Ci sono altri errori. Ad esempio, hai definito il vettore come elementi di word, ma poi nel codice leggi e confronti byte.
Inoltre presupponi che il numero venga sempre trovato. Se il numero non c'è, la ricerca potrebbe continuare indefinitamente, andando a leggere anche in zone di memoria inesistenti, e quindi sollevando un'eccezione. Nel secondo listato, invece, leggi il primo byte dal vettore e lo inserisci nello stack (come word). E' un'operazione inutile. Devi, invece, inserire nello stack l'indirizzo del vettore. Valgono, comunque, le stesse considerazioni di prima.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
22-07-2014, 11:11 | #10 |
Senior Member
Iscritto dal: Jan 2008
Città: Napoli
Messaggi: 1589
|
grazie mille per la risposta!!!!!!!!!! intanto non generano errori in asimtool, vedrò come va con il debugging
ho caricato una revisione della primo programma, potrebbe andare?
__________________
trattative positive con: cristianobon70, linears4, 88overclocker88, Alexxio, Axion, cage81, theking22, AXIP, revolver ocelot, regshout, y87, cusmario, Hal2001, the_crazy_biker, topolino2808, Kelone, Lord Andreas, pianopiano, maxmaina, binosoma, micanto1, Blaze90, iaiuarmando, niko0, Masami, robby85, gRo87, spinaspina88, danyheart1989, Ntropy, Alchimista1, ORONZO CANA', e tanti tanti tanti altri Ultima modifica di domax93 : 22-07-2014 alle 11:25. |
22-07-2014, 17:10 | #11 |
Senior Member
Iscritto dal: Jan 2002
Città: Germania
Messaggi: 26107
|
Purtroppo le modifiche che hai fatto non funzionano.
Prova a seguire mentalmente il flusso delle istruzioni, e vedrai che il programma si comporterà allo stesso modo, sia che trovi il numero sia se non riesce a trovarlo.
__________________
Per iniziare a programmare c'è solo Python con questo o quest'altro (più avanzato) libro @LinkedIn Non parlo in alcun modo a nome dell'azienda per la quale lavoro Ho poco tempo per frequentare il forum; eventualmente, contattatemi in PVT o nel mio sito. Fanboys |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:17.