Ciao a tutti, volevo chiedere una cosa sul linguaggio Assemly x8086, io ho due vettori:
Dati SEGMENT 'DATA'
W_NUM DW ?, ?, ?, ?, ?
W_NUM BW ?, ?, ?, ?, ?
Dati ENDS
devo passare in rassegna il primo vettore di numeri a due byte con segno, controllare se l'elemento è contenibile in un byte e nel caso scriverlo nel secondo vettore, altrimenti scrivere 0. Il mio dubbio è su come fare a controllare che l'elemento sia compreso tra -127 e 128 e nel caso come scrivere 0. Pensavo di fare un CMP ma non ne sono sicuro. Grazie
Se può essere più d'aiuto posto il testo per intero:
"Sia dato il vettore di numeri a due byte con segno W_NUM di N elementi, con N una costante intera di due byte. Si scriva una procedura di istruzioni assembler che scandisca W_NUM e esegua il cast a byte dei numeri di W_NUM scrivendo i valori in un secondo vettore di byte B_NUM; prima di eseguire il cast e la scrittura su B_NUM, si verifichi se il numero abbia effettivamente un valore che può essere contenuto in un byte, in caso contrario al posto del byte corrispondente si scriva il valore ZERO. Ovviamente la riduzione a byte deve essere fatta tenendo conto del segno del numero. Al termine si esca dalla procedura"