Dati SEGMENT
; N1 e N2 numeri a 32 bit da sommare
N1 DD B42FA005h
N2 DD 2DD08451h
Ris DD ?
Dati ENDS
Codice SEGMENT
; punto di inizio del programma
Inizio:
; inizializzazione segmento dati (DS)
MOV AX,Dati
MOV DS,AX
; somma a 32 bit (con riporto intermendio)
; somma dei primi 16 bit (con riporto)
MOV AX,Word Ptr[N1]
MOV BX,Word Ptr[N2]
ADD AX,BX
; memorizzazione risultato (parte bassa)
MOV Word Ptr[Ris],AX
; somma dei secondi 16 bit (parte alta)
MOV AX,Word Ptr[N1 + 2]
MOV BX,Word Ptr[N2 + 2]
; (somma con carry)
ADC AX,BX
; memorizzazione del risultato (parte alta)
MOV Word Ptr[Ris + 2],AX
; esce al DOS
MOV AH,4Ch
INT 21h
Codice ENDS
END Inizio