Dati   SEGMENT          ; area dati
   N1       DW  56d
   N2       DW  35d
   Compl    DW  ?  
   Ris      DW  ?
   RisCompl DW  ?   
Dati   ENDS     

Codice SEGMENT

Inizio:  
     MOV AX,Dati  ; setta il segmento DS all'area dati
     MOV DS,AX

     MOV BX,N2   
     MOV Compl,BX ; trasferisce N2
     NOT Compl    ; effettua complemento a due di N2 (lo trasforma in negativo)
     INC Compl
     MOV AX,Compl    
     ADD AX,N1       ; effettua addizione del numero complementato (negativo)
     MOV RisCompl,AX
         
     MOV AX,N1    
     SUB AX,N2   ; effettua la sottrazione dei due numeri (analogo a prima)
     MOV Ris,AX
     
     MOV AH,4Ch    ; ritorna al DOS...
     INT 21h
    
Codice ENDS

END Inizio