Allora innanzitutto ciao a tutti...
Mi chiamo Andrea sono di pistoia faccio l' ITIS specializzazione informatica e sono in terza

Mi è stato assegnato il seguente esercizio:

dato un numero o la somma di due numeri decimali convertire in binario ottale ed esadecimale...
fin qui tutto bene, ho fatto l'input e l'eventuale somma e torna, la conversione binaria ed esadecimale tornano, ma quella ottale mi crea problemi dal numero 128 in su ( mi da come risultato sempre 1 ) ( il numero max da convertire è 198 )... il metodo che h ousato è quello delle divisioni progressive :

codice:
conv_ott:
mov cont, 1   
mov pot, 8    
confronto1:    
sub ax, ax    
sub bx, bx   
mov bl, cont    
mov al, ns31    
div pot    
mov ns31, al    
mov v[bx], ah   
inc cont    
cmp al, 0    
jne confronto1     
dec cont    
lea dx, acapo    
mov ah, 9    
int 21h    
lea dx, otta    
mov ah, 9    
int 21h 
    
stampa1:    
sub bx, bx   
mov bl, cont    
mov dl, v[bx]    
add dl, 30h    
mov ah, 2    
int 21h    
dec cont    
cmp cont, 0    
jne stampa1
sicuramente avrò usato istruzioni e metodi non eleganti ma sono all' inizissimo e anche per eventuali soluzioni non usate macro o altra roba complessa

grazie