Oppure

Loading
23/05/10 9:32
enlallaca
ciao a tutti! come si fa inserire in un vettore 20 numeri gia predisposti(cioè intendo che l'utente NON li deve inserire)? io poi devo analizzarli per byte.... mi servono i primi 4 bit per il segno e gli altri 4 bit per il numero (range di valorei da 0 a 15 e -1 a -15)
ma se io metto nelle variabili questo (sempre se è giusto:P):
vett db -11,1,5,2,-6,12,14,3,2,-1,-2,-6,9,-14,5
poi come faccio analizzare la parte dei 4 bit del segno e i 4 bit con il numero??
serve una procedura con passaggi per lo stack?
non datemi direttamente la soluzione ma solo dritte....
aaa
23/05/10 10:25
Non ho mica capito la domanda ... Perchè parli di 4 bit per il segno?

I valori in un byte sono espressi in complemento a 2 su 8 bit (di cui solo il bit 7 può essere interpretato come il segno).
Ultima modifica effettuata da 23/05/10 10:26
23/05/10 10:53
enlallaca
Postato originariamente da nessuno:

Non ho mica capito la domanda ... Perchè parli di 4 bit per il segno?

I valori in un byte sono espressi in complemento a 2 su 8 bit (di cui solo il bit 7 può essere interpretato come il segno).


allora il mio prof è proprio idiota! tempo fa mi aveva interrogato avevo risposto come hai detto te e lui mi ha mandato al posto perche dice che il byte è "organizzato" cosi:
SSSSNNNN
S sta per segno e N per numero

ma non ha senso! basta un bit per un segno! vabbè comunque...
allora se tipo io devo trovare dal vettore quanti numeri sono negativi basta che faccio un confronto tipo cmp valore,0 ??
aaa
23/05/10 11:53
Postato originariamente da enlallaca:
... il byte è "organizzato" cosi:
SSSSNNNN
S sta per segno e N per numero


Bisogna conoscere il contesto del discorso, ma mi sembra una cosa evidentemente sbagliata ...

allora se tipo io devo trovare dal vettore quanti numeri sono negativi basta che faccio un confronto tipo cmp valore,0 ??


Sì ... oppure controlli il valore del bit 7
23/05/10 12:08
enlallaca
[quote
Sì ... oppure controlli il valore del bit 7


e come si fa analizzare il singolo bit?
aaa
23/05/10 12:14
Con una istruzione

TEST

oppure con una

AND

utilizzando una maschera adeguata a secondo del bit da testare.

In realtà le due istruzioni sono molto simili. La TEST è come una AND che non conserva il risultato ma influenza solamente i flag.

Per il tuo caso, dato che devi testare il bit di segno, se l'ultima operazione influenza il bit apposito tra i flag, allora ti bastano le istruzioni

JS

oppure

JNS

23/05/10 12:53
enlallaca
funziona....ho appena provato! grazie....
aaa
23/05/10 13:06
enlallaca
Postato originariamente da nessuno:

Con una istruzione

TEST

oppure con una

AND

utilizzando una maschera adeguata a secondo del bit da testare.

In realtà le due istruzioni sono molto simili. La TEST è come una AND che non conserva il risultato ma influenza solamente i flag.

Per il tuo caso, dato che devi testare il bit di segno, se l'ultima operazione influenza il bit apposito tra i flag, allora ti bastano le istruzioni

JS

oppure

JNS


no....mi ridico...funziona solo se nel vettore metto 3 elementi e solo se il primo è positivo il seocndo anche e il terzo negativo
avro sbaglaita qualche controllo....
aaa