Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .MODEL SMALL
- .STACK 100h
- .DATA
- NUM1 DB ?
- NUM2 DB ?
- DOM1 DB 'Inserire il primo numero: $' ;numeri 13,10 per andare a capo $ è il tappo della stringha
- DOM2 DB '',13,10,' Inserire il secondo numero: $' ;numeri 13,10 per andare a capo $ è il tappo della stringha
- SUCCMSG DB '',13,10,'Il risultato della operazione e:',13,10,'$'
- SYSTOP DB '',13,10,' Premere un tasto qualunque ',13,10,'$' ;numeri 13,10 per andare a capo $ è il tappo della stringha
- GREATMSG DB '',13,10,'Il primo numero e piu grande del secondo',13,10,'$'
- MINORMSG DB '',13,10,'Il primo numero e piu piccolo del secondo',13,10,'$'
- DISTACCO DB '',13,10,'--------------------------------------------',13,10,'$'
- RIS DB ?
- CAMB DB ?
- .CODE
- GRAPH PROC NEAR
- MOV AH,09H ;codice che mostra il contenuto di DX
- MOV DX,OFFSET DISTACCO ;prende l'offset della frase
- INT 21H ;esegue il codice
- RET
- GRAPH ENDP
- .STARTUP
- MOV AX,@DATA ;sposto l'indero .DATA in AX
- MOV DS,AX ;Poi spoto tutto in DS, Utilizzo queste due istruzioni dato che il computer è l'imitato
- MOV AX,0000
- MOV AH,09H ;tutte le istruzioni input output AH,CODICE ISTRUZIONE 09H è il codice che permette di visualizzare una variabile stringa in DX
- MOV DX,OFFSET DOM1 ;offset indirizzo metto l'indirizzo di NOM1 dentro DX cosi prendendo la stringa (prendedndo l'indirezzo della stringa)
- INT 21H ;per visualizzare la stringa DOM1
- ;INSERISCO IL PRIMO NUMERO
- MOV AH,01H ;codice che pernette di inserire un numero in AL
- INT 21H ;esegui
- MOV NUM1,AL ;
- MOV AH,09H ;
- MOV DX,OFFSET DOM2 ;
- INT 21H ;per visualizzare la stringa
- ;INSERISCO IL SECONDO NUMERO
- MOV AH,01H ;codice che pernette di inserire in AL
- INT 21H ;esegui
- MOV NUM2,AL ;
- CALL GRAPH
- ;PROGRAMMA
- MOV AL,NUM1
- MOV AH,09H ;codice che mostra il contenuto di DX
- ;COMPARO I DUE NUMERI
- ;ESEGUE UNA SCELTA
- CMP NUM2,AL
- JG SENNO
- MOV DX,OFFSET GREATMSG ;prende l'offset della frase
- JMP CYCLEND
- SENNO:
- MOV DX,OFFSET MINORMSG ;prende l'offset della frase
- CYCLEND:
- INT 21H ;esegue il codice
- CALL GRAPH
- LEA DX,SUCCMSG ;prende l'offset della frase e lo inseisce in dx
- INT 21H ;esegue il codice
- ADD AL,NUM2
- SUB AL,30h ;Corregge il risultato (i numeri inseriti saranno 3X+3X se non modificati)
- MOV RIS,AL ;COPIO IL RISULTATO IN RIS
- MOV AH,02H ;MOSTRA CONTUNTO DL
- MOV DL,RIS
- INT 21H
- MOV AH,09H ;mostra il contenuto di DX
- MOV DX,OFFSET SYSTOP ;messaggio fine programma
- INT 21H ;esegue il codice
- MOV AH,01H ;codice che pernette di inserire in AL
- INT 21H ;esegui
- MOV NUM2,AL ;
- ;RESTITUISCO IL CONTROLLO ALLA MACCHINA
- MOV AH,4CH
- INT 21H
- END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement