Oppure

Loading
25/05/09 18:20
theprogrammer
I valori da passare per base ed esponente sono tutti e due da 16 bit ? Oppure ?
aaa
25/05/09 18:22
umberto1211
yes a 16 bit entrambi...
aaa
25/05/09 18:26
theprogrammer
E scusa ... tu cosa hai (tentato) di scrivere ?
aaa
25/05/09 18:28
umberto1211
Postato originariamente da theprogrammer:

E scusa ... tu cosa hai (tentato) di scrivere ?



al dire il vero ancora nulla...xke non riesco a capire la gestione dello stack alla base...xo questa è una sub che mi serve a scuola...in pratica è un lavoro in piu assegnato dal prof...
aaa
25/05/09 18:29
manvb.net
Bè intanto IP (Istruction Pointer) non centra niente con lo stack!
Poi:
Per una push:

mov [SP], AX ;AX può essere anche un altro registro
sub SP, 2 ;16bit=2byte


Per una pop:

mov AX, [SP]
add SP, 2


@theprogrammer: Grazie, sopra ho corretto mi ero dimenticato di ip.:-|
Ultima modifica effettuata da manvb.net 25/05/09 18:34
aaa
25/05/09 18:30
umberto1211
Postato originariamente da manvb.net:

Bè intanto IP (Istruction Pointer) non centra niente con lo stack!
Poi:
Per una push:

mov [SP], AX ;AX può essere anche un altro registro
sub SP, 2 ;16bit=2byte


Per una pop:

mov AX, [SP]
add SP, 2



e con cosa lavora quindi lo stack? ha bisogno di due puntatori giusto ?

ma l istruzione
mov [SP], AX passa il valore a 16 bit di Ax nella zona dello stack puntata da sp ?
Ultima modifica effettuata da umberto1211 25/05/09 18:31
aaa
25/05/09 18:33
manvb.net
Lo stack ha bisogno della coppia SS:SP.
Io posso lavorare solo su SP perchè SS è sottointeso(dal processore: lo stacksegment è sempre lo stesso)

mov [SP], AX
Fa proprio quello che hai detto tu
Poi però devi decrementare SP.
Ultima modifica effettuata da manvb.net 25/05/09 18:36
aaa
25/05/09 18:37
umberto1211
se non ti annoio..puoi scrivermi tu una sub? che prende in ingresso i parametri presi dallo stack sia base che esponente e ritorna al programma principale i valori tramite registri ?
Ultima modifica effettuata da umberto1211 25/05/09 18:38
aaa