|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Torino
Messaggi: 2151
|
Chi mi da una mano per un esame sull'assembler 8086???
Ciao devo fare un esame a quiz sull'assembler e 8086 in generale...vi propongo qualche quiz che magari riusciamo a risolvere assieme
ecco il primo: alcune delle istruzioni sono errate. Indicare quali gruppi di istruzioni sono errate o incoerenti con quelle dello stesso gruppo: 1) mov var1, var2 2)dato dw 7,5 ; move ax, dato 3) move table[DI], bx risp 2 2,3 1,3 nessuna di queste io ho un'idea...confrontiamo grazie mille |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
8086 l'ho fatto molto tempo fa ma se nn dico una costroneria le errata di certo è la 1) perchè nn puoi mai muovere o confrontare due aree di memoria senza passare dai registri!!
La 3) mi sembra corretta, anzi dovrebbe proprio esserlo La 2) non mi astengo, nn ricordo!! |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Torino
Messaggi: 2151
|
dunque
ti dico la 1 è sbagliata xkè nn si puo' add o sub immediato (ossia con variabili) e fin qui ci siamo....la 2 credo anche xkè dw è a 32 bit mentre ax è a 16...la 3 mi lascia perplesso....
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
La tre è un vettore che vieni aggiunto un valore da un area da un registro, visto cosi nn sembra errata!
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Torino
Messaggi: 2151
|
si
ma bisogna valutare il numero di bit....credo...
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Se si parla di assembler 8086 allora i registri al max sono a 16 bit...
Comunque la 2 è sicuramente giusta...qualunque sia la dimensione di dato... La 3 in teoria è giusta, table[DI] corrisponde comunque ad un indirizzo e lì andiamo a scrivere i nostri dati... |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Allora sono tutte giuste
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
No...la prima no perchè un trasferimento mem->mem non si può fare...
|
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: Biella
Messaggi: 1882
|
Quote:
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Torino
Messaggi: 2151
|
ma
scusate io ho letto di registri a 32 bit di cui gli ax bx ecc sono solo una parte.....helppp
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Torino
Messaggi: 2151
|
ma
scusate la 2 come fa ad essere giusta?? ax è a 16 bit e cerco di spostare dato (che è definito dw ossia a 32 bit) in ax....non è sbagliata??
|
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Re: ma
Quote:
Sei tu che hai parlato di assembler 8086...l'8086 ha registri al max di 16 bit... Se hai letto che AX è parte di EAX allora non stai facendo l'assembler dell'8086...ma quello del 80386... |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Re: ma
Quote:
E non credo ci sia modo (da A8086) per gestire EAX.
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Torino
Messaggi: 2151
|
quindi
la risp corretta è la 1-3 vero??? (3 sbagliata?)
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Secondo me la 3 è giusta...
Perchè hai scritto move invece di mov ? |
|
|
|
|
|
#16 | |
|
Member
Iscritto dal: May 2003
Città: vivo ancora sulla terra..ma per poco ancora
Messaggi: 50
|
Re: ma
Quote:
è sbagliata perché non si può spostare direttamente un dato in memoria, limitazione dell'8086 2) DATO dw 7,5 mov ax, DATO l'istruzione è corretta, la direttiva DW Codice:
la direttiva DW permette di definire strutture dati costruite da word (2 byte). 3) mov TABLE[DI], bx anche questa è corretta, questo è un modo di indirizzamento indiretto. Ciao a tutti. |
|
|
|
|
|
|
#17 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Re: ma
Codice:
la direttiva DW permette di definire strutture dati costruite da word (2 byte). |
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Torino
Messaggi: 2151
|
ciao
quindi dite che la risp corretta è nessuna di queste! vero??
|
|
|
|
|
|
#19 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Sì...
|
|
|
|
|
|
#20 |
|
Senior Member
Iscritto dal: Mar 2001
Città: Torino
Messaggi: 2151
|
nuovo quiz!!
nella definizione variabili di un progr. vi sia:
dato db 1,2,3, 5dup(15H) e che dato abbia offset 1500H. Cosa c'è nei registri al e cx dopo l'esecuzione delle seguenti istruz? mov bx,3 mov al,dato[bx] lea cx, dato[bx] risp: 3,1503 15h,15h 5,1503 nessuna di queste mi spiegate il procedimento così se cambiano i dati..... grazie! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:14.



















