Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [Assembly 8086] quadrato di N

    Ciao raga, sto facendo un programma che dato in INPUT un numero N da tastiera, esegue il quadro dello stesso. Pero utilizzando il metodo della somma dei primi N numeri dispari. Cioe'

    N=4
    somma=somma+1+3+5+7;
    ___________
    N=5
    somma=somma+1+3+5+7+9

    ecco il mio codice e' funziona anche:
    codice:
       	 MOV    AH, 01h
       	 INT    21h
        	 AND    AL, 0Fh
       	 MOV    CL, 0b
       	 MOV    DL, 1b
       	 MOV    BL, 0b
    
    LABEL1:  ADD  BL, DL               ;RISULTATO IN BL
               
             ADD  DL, 2h 
             INC  CL
             CMP  CL, AL
             JE   FINE  
             JMP  LABEL1
             
    FINE:  
             STAMPA
    Dove STAMPA e' la mia macro che esegue la stampa.
    Il mio problema e' che il programma funziona solo con N=0 N=1 N=2 e N=3, perche' gia il quadrato di N=4 e' su due cifre.

  2. #2
    Il problema potrei risolverlo facendo la somma in BCD, pero' non so come fare il controllo se e' avvenuto il riporto sulla quarta cifra. Riconosco che potrei usare l' Auxiliary flaf (AF), ma non so la sintassi per fare il controllo su di esso.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    157
    assembler non lo uso da 2 anni, però credo ti basti utilizzare un registro più grande, prendi ad esempio AH+AL(mi pare sia AX). oppure puoi definire una variabile grande a piacere e lavorare su quella.

  4. #4
    Forse non hai capito bene il mio problema. Nei registri, mi funziona perfettamente, il problema e' la stampa

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2008
    Messaggi
    157
    stampa una cifra per volta allora ^^ a suo tempo non avevamo di questi problemi in classe, però proprio non ricordo come risolvessimo il problema della stampa

  6. #6
    eh, come faccio a stamopare una cifra alla volta, se nel registro ho il valore (per esempio 10h) che corripsonde a 16, ma per la stampa dovrei prima stamopare il valore ASCII 31 e poi 36

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Studia l'istruzione

    AAA
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    ma l'istruzione AAA mi permette di stampare cifra per cifra, o mi fa un controllo sul registro?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Ma l'hai studiata?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.