|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 37
|
[Assembler] Problema con i puntatori..
Ciao a tutti. Sto facendo un programmino assembly, e mi manca poco alla conclusione. Tuttavia non capisco bene dove sbaglio con i puntatori. Mi spiego meglio.
Io ho memorizzato una stringa di parole qui: SUB_STR1 DB MAX_LUNGH_STR DUP(?) Ho memorizzato la lunghezza di questa stringa qui: LUNGH_SSTR1 DB ? E memorizzo una lettera che mi serve per poi fare un controllo dopo qui: LETTERA_PREC DB ? Quello che mi interessa è prendere da SUB_STR1, che contiene ad esempio la stringa ‘abc’, la lettera ‘b’ e memorizzarla in LETTERA_PREC. Io ho fatto uno cosa di questo tipo: SUB [LUNGH_SSTR1],1 PUSH AX PUSH DX MOV DX,[LUNGH_SSTR1] SUB DX,1 MOV SI,DX MOV AX,SUB_STR1[SI] MOV [LETTERA_PREC],AX POP DX POP AX Ma non funziona; il compilatore dice ‘Operand types do not match’ alle righe delle istruzioni: 'MOV DX,[LUNGH_SSTR1]' 'MOV AX,SUB_STR1[SI]' 'MOV [LETTERA_PREC],AX' Grazie a tutti coloro che prenderanno in considerazione il mio problema. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Quindi: MOV DH,0 MOV DL,[LUNGH_SSTR1] poi: MOV AL,SUB_STR1[SI] poi: MOV [LETTERA_PREC],AL
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Oct 2005
Messaggi: 37
|
Ok ho risolto.. In effetti avevo commesso un errore stupido.. Grazie della collaborazione. Ti auguro buona serata.
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 23:55.



















