PDA

View Full Version : [IJVM Asm] problema in Assembly


Fungoh
16-05-2011, 18:28
Ciao a tutti, ho un progetto da portare a termine, è un programma da far eseguire ad un MIC-1 e dovrei scriverlo nel suo codice assembly.
In sostanza, devo realizzare un programma che dati in input due codici binari lunghi 32bit mi restituisca la distanza di Hamming.

http://it.wikipedia.org/wiki/Distanza_di_Hamming

Abbastanza semplice se non fosse per la limitatezza del suo repertorio d'istruzioni, ma più o meno sono riuscito a capire come fare:
- metto i due codici in due costanti
- faccio lo XOR
- nel codice risultante, gli "1" sono in corrispondenza delle posizioni dove nei due codici in input ci sono due simboli diversi (cioè in un codice c'è 1 e nell'altro 0) quindi mi basta contare gli 1 e quella è la distanza di Hamming

il problema è che non posso usare costanti da 32 bit il cui bit più significativo è 1 :doh: mentre i codici che ricevo in input potrebbero avere zeri ed uno ovunque... il programma altrimenti mi funzionerebbe senza alcun problema se avessi avuto codici di 31 bit, oppure codici di 32bit col MSB sempre zero

http://www.ontko.com/mic1/jas.html qui c'è una mini documentazione di IJVM...

come posso fare per risolvere il problema? avevo pensato nello spezzare i due codici e fare quindi 4 costanti, in questo modo il bit più significativo è 0 su tutti e non ci sarebbero problemi, ma forse aumento la complessità

qualche idea?
Inoltre, ho trovato che questo tipo di linguaggio è poco documentato, conoscete qualcosa in proposito? Con Google poco si trova oltre ad ontko.com
Grazie!