Quote:
Originariamente inviato da dengel_1
Ho cercato di tradurre in codice quello che mi hai detto..ora ci vorrebbe un tuo aiuto nel collegare tutto quanto 
|
Guarda ... è abbastanza semplice. Nel tuo codice hai usato BX che punta inizialmente al primo byte del buffer e CX come contatore (la parte bassa la prendi dal secondo byte del buffer).
Nell'EDIT ho detto che si può usare l'indirizzamento [BX+SI]. In effetti non mi è venuto in mente subito ma consentirebbe di eliminare alcune istruzioni.
In sostanza usi SI per puntare al buffer e il contatore dei caratteri lo metti in BX. Cambia poco dal tuo, solo i registri.
Poi però se SI lo lasci che punta al secondo byte (quello della lunghezza restituita), facendo [BX+SI] prendi il carattere dall'ultimo fino al primo.
Ad ogni ciclo verifichi
prima che BX sia uguale a zero e se lo è esci dal ciclo. Altrimenti prendi il carattere con [BX+SI], lo stampi e quindi decrementi BX e ripeti il ciclo.