Alcune parti di codice Assembler postate per esami Universitari:

 
Stampa MACRO s
    MOV AH,09H
    LEA DX,s
    INT 21H
ENDM Stampa

 
.MODEL SMALL
.STACK 100H

 
.DATA
    DOM1 DB 'Quanti numeri vuoi inserire?','$'
    ACAPO DB 13,10,'$'
    NUM DB ?
    DOM2 DB 'Inserisci il numero ','$S'
    SOMMA DB ?
    RIS1 DB 'La somma e maggiore di 50','$'
    RIS2 DB 'La somma e minore di 50','$'
    
                                        
    
.CODE
.STARTUP
      Stampa DOM1
      Stampa ACAPO
      MOV AX,0
      MOV AH,01H
      INT 21H
      SUB AL,30H
      MOV CX,0
      MOV CL,AL
      Stampa ACAPO
      CMP CL,0
      JE FINE
      
CICLO:
      Stampa DOM2
      Stampa ACAPO
      MOV AH,01H
      INT 21H
      SUB AL,30H
      ADD SOMMA,AL
      Stampa ACAPO
LOOP CICLO
CMP SOMMA,50
JG MAGGIORE
JL MINORE

 
MAGGIORE: Stampa RIS1

 
MINORE: Stampa RIS2
FINE:
     MOV AH,4CH
     INT 21H
END

Codice Assembler

Stampa MACRO s
    MOV AH,09H
    LEA DX,s
    INT 21H
ENDM Stampa

 

 

 
.MODEL SMALL
.STACK 100H

 
.DATA
    DOM1 DB 'Quanti numeri vuoi inserire?','$'
    ACAPO DB 13,10,'$'
    NUM DB ?
    DOM2 DB 'Inserisci il numero ','$S'
    SOMMA DB ?
    CULO DB ?
    RIS1 DB 'La somma e maggiore di 50','$'
    RIS2 DB 'La somma e minore di 50','$'
                                        
    
.CODE
.STARTUP
      Stampa DOM1
      Stampa ACAPO
      MOV AH,01H
      INT 21H
      SUB AL,30H
      MOV SI,0
      Stampa ACAPO
      
CICLO:
      CMP SI,10
      JGE CONFRONTO
      Stampa DOM2
      Stampa ACAPO
      MOV AH,01H
      INT 21H
      Stampa ACAPO
      ADD SOMMA,AL
      INC SI
      JMP CICLO
CONFRONTO: CMP SOMMA,50
           JG MAGGIORE
           JL MINORE
MAGGIORE: Stampa RIS1
          MOV AH,4CH
          INT 21H
MINORE: Stampa RIS2
        MOV AH,4CH
        INT 21H
END

 

Codice Assembler per Esami Universitari

org 100h
StampaStringa MACRO s
    LEA DX,s
    MOV AH,09h
    INT 21h
ENDM
StampaCarattere MACRO c
    MOV DL,c
    MOV AH,02h
    INT 21h
ENDM

 
;leggo numero 1
StampaStringa msg
StampaStringa acapo

 
MOV AH,01H
INT 21h
SUB AL,30H ;da carattere a numero
MOV numero1, AL
StampaStringa acapo

 
;leggo numero 2
StampaStringa msg
StampaStringa acapo

 
MOV AH,01h ;in AH ora sta il numero 2
INT 21h
SUB AL,30h  ;da carattere a numero
StampaStringa acapo

 
;somma
ADD numero1, AL
ADD numero1,30h ;Somma da numero a carattere
StampaStringa msg1
StampaCarattere numero1

 
;termina programma
MOV AH,4Ch
INT 21h

 
;definisco le variabili
MAX EQU 5
msg DB "Inserisci un numero di massimo 5 cifre: $" 
msg1 DB "La somma dei due numeri e': $"
numero1 DB ?
numero2 DB ?
acapo DB 13,10,'$'

 

Esercizio