Somma e prodotto 8086

di il
12 risposte

Somma e prodotto 8086

Salve,mi è stata data come consegna di creare un programma che faccia la somma e il prodotto di due numeri inseriti da tastiera.
Ho iniziato con la somma ma poi mi sono bloccato.
Qualcuno sa darmi una mano? Grazie
.MODEL SMALL        ;spazio di memoria che serve
.STACK              ;istruzioni del segmento puntato dal registro SS
.DATA               ;istruzioni del segmento dei dati puntato dal registro DS

    introa DB 10,13,"Inserisci il primo numero :",10,13,'$'
    primo DB ?
    introb DB 10,13,"Inserisci il secondo numero: ",10,13,'$'
    secondo DB ?
    introc DB " ",10,13,'$'
    o1 db ?
    o2 db ?
    mol DB 10,13,"Il loro prodotto Š: ",10,13,'$'
    som DB 10,13,"la lora somma Š: ",10,13,'$'


.CODE
     MOV ax,@data                ;sposto in ax i dati
     MOV ds,ax                   ;sposto ax in ds

     LEA dx,introa               ;prende la stringa e la visualizza
     MOV ah,09h                  ;tramite queste due istruzioni
     int 21h                     ;stampa a video una frase o un messaggio

     MOV ah,01h                  ;tramite queste due istruzioni acquisisce
     int 21h                     ;in input il carattere

     sub al,30h
     mov o1,al

     LEA dx,introb               
     MOV ah,09h                  ;tramite queste due istruzioni
     int 21h                     ;stampa a video una frase o un messaggio

     MOV ah,01h
     int 21h

     sub al,30h
     mov o2,al

     LEA dx,introc
     MOV ah,09h
     int 21h

     END    
    

12 Risposte

  • Re: Somma e prodotto 8086

    Ma di che numeri parliamo? Minimo massimo ... negativo positivi ... interi o no?
  • Re: Somma e prodotto 8086

    oregon ha scritto:


    Ma di che numeri parliamo? Minimo massimo ... negativo positivi ... interi o no?
    Cifre intere e positive da 1 a 9 (1,2,3,4,5,6,7,8,9).
    Scusami,avevo dimenticato il particolare.
  • Re: Somma e prodotto 8086

    Ma la somma non l'hai ancora fatta
  • Re: Somma e prodotto 8086

    oregon ha scritto:


    Ma la somma non l'hai ancora fatta
    Lo so, infatti ho scritto che ho iniziato e vorrei una mano.
  • Re: Somma e prodotto 8086

    Perché non usi l'istruzione per sommare?

    P.S. che c'entra il quoto?
  • Re: Somma e prodotto 8086

    oregon ha scritto:


    Perché non usi l'istruzione per sommare?

    P.S. che c'entra il quoto?
    é proprio lì il bello,non sono riuscito ad usarla.
    Per quanto riguarda il quoto,ho sbagliato perchè prima la traccia chiedeva somma e quoto,ora lo aggiusto,grazie per l'osservazione.
  • Re: Somma e prodotto 8086

    Http://www.giobe2000.it/Tutorial/Schede/07-IstruzioniCpu/ADD.asp
  • Re: Somma e prodotto 8086

    oregon ha scritto:


    Http://www.giobe2000.it/Tutorial/Schede/07-IstruzioniCpu/ADD.asp
    Non ci ho capito un granchè di quella tabella. Precisamente non ho capito come sommare il numero da tastiera.
    Se qualcuno potesse farmi un esempio con commento così forse riuscirei a comprendere qualcosina.
    Grazie
  • Re: Somma e prodotto 8086

    Che c'entra la tastiera?

    Hai scritto tu il codice mostrato? Hai inserito i dati da sommare in o1 e o2. Sono quelli che devi sommare.E devi prevedere un'area di memoria dove salvare il risultato.
  • Re: Somma e prodotto 8086

    oregon ha scritto:


    Che c'entra la tastiera?

    Hai scritto tu il codice mostrato? Hai inserito i dati da sommare in o1 e o2. Sono quelli che devi sommare.E devi prevedere un'area di memoria dove salvare il risultato.
    certo che ho scritto io il codice.
    Quindi dovrei fare add o1,o2.
    Mentre per la memoria come faccio?
  • Re: Somma e prodotto 8086

    No, non è possibile usare la ADD con due locazioni di memoria, controlla la documentazione che ti ho proposto appositamente per studiarla.

    - tra registro e registro, o tra registro e memoria, o tra memoria e registro.
    - tra registro e costante, o tra memoria e costante.
    - tra accumulatore e costante.
  • Re: Somma e prodotto 8086

    oregon ha scritto:


    No, non è possibile usare la ADD con due locazioni di memoria, controlla la documentazione che ti ho proposto appositamente per studiarla.

    - tra registro e registro, o tra registro e memoria, o tra memoria e registro.
    - tra registro e costante, o tra memoria e costante.
    - tra accumulatore e costante.
    Domani proverò a far qualcosa e ti farò sapere
Devi accedere o registrarti per scrivere nel forum
12 risposte