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 :
sicuramente avrò usato istruzioni e metodi non eleganti ma sono all' inizissimo e anche per eventuali soluzioni non usate macro o altra roba complessacodice: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
grazie

Rispondi quotando