Ecco il codice per fare un esempio. 
Cioè vorrei scrivere tutto ciò con delle subroutine ed usare il comando invoke. 
;inserimento di 2 numeri e somma di questi.
.MODEL SMALL
.STACK 100H
.DATA
[b][/b]     NUM1 DB ?
     NUM2 DB ?
     DOM1 DB "Inserire primo numero:",13,10,"$"
     DOM2 DB "Inserire secondo numero:",13,10,"$"
     RIS1  DB "La somma dei due numeri inseriti è:",13,10,"$"
     SOMMA DB ?
.CODE
.STARTUP
     MOV AX,@DATA                                   
     MOV DS,AX                                      
     
     ;VISUALIZZO DOM1
     MOV AH,09H
     MOV DX,OFFSET DOM1
     INT 21H
     
     ;ACQUISISCO NUM1
     MOV AH,01H                             
     INT 21H
     MOV NUM1,AL                                   
     
     ;VISUALIZZO DOM2
     MOV AH,09H
     MOV DX,OFFSET DOM2
     INT 21H
     
     ;ACQUISISCO NUM2
     MOV AH,01H
     INT 21H
     MOV NUM2,AL
     
     
     ;operazione DI SOMMA
     MOV AL,NUM1
     
     ADD AL,NUM2                                  
     MOV SOMMA,AL                                 
     
     ;VISUALIZZO RIS1(STRINGA) 
     MOV AH,09H
     MOV DX,OFFSET RIS1
     INT 21H
     
     SUB SOMMA,30H                               
     
     ;VISUALIZZAZIONE RISULTATO DELLA SOMMA 
     MOV AH,02H                                   
     MOV DL,SOMMA                                 
     INT 21H
     
     MOV AH,4CH                                  
     INT 21H
     
END