|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2003
Città: Rimini
Messaggi: 1846
|
[ASSEMBLY] Esercizi con codice
Devo fare degli esercizi di assembly, ce ne sono alcuni che non mi riescono perchè non ho molto chiare delle cose, ad esempio il seguente:
Mat=3642. Vetb è un vettore[100] di unsigned char. Alla fine devo dire cosa è contenuto in ris2. Codice:
LEA ESI,Vetb MOV AX,Mat ADD ESI,10 MOV ECX,32 L2: MOV [ESI+ECX*2],AX LOOP L2 ADD ESI,5 LEA EDI,Vetb SUB ESI,EDI MOV EBX,ESI MOV CX,WORD PTR Vetb[EBX] MOV Ris2,CX |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2787
|
Se sommi 10 ti sposti di 10 byte, non bit.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2003
Città: Rimini
Messaggi: 1846
|
Ho cannato l'esame al primo appello, adesso però punto al 30
Mi mancano giusto un paio di cose, una ve la chiedo qui: in memoria come vengono memorizzati i numeri negativi? Con il complemento a 2? Ad esempio se io faccio una sottrazione con segno di 3 e -8 il risultato -5 in memoria come viene memorizzato? come 011 in complemento a 2 oppure con grandezza e segno oppure ancora in eccesso? |
|
|
|
|
|
#4 | ||
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quote:
Facciamo l'esempio su 8 bit di 3 - 8. Codice:
00000011 - (3) 00001000 (8) ======== 11111011 (-5)
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
||
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2003
Città: Rimini
Messaggi: 1846
|
Si scusa intendevo 3-8 ovviamente
Ora ho capito grazie mille. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
E ricorda che quando durante un operazione ottieni un valore negativo il BIT di STATO che indica che si tratta di numeri negativi (solitamente N) viene posto a 1
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Codice:
MOV AX, 3 SUB AX, 8 JS ...... ; salta se il risultato è negativo
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:22.


















