Bueno en assembler como en otros manejan los siguinetes tipos de datos:
Byte 8bits
word 16bits
dword 32bits
y demas, entoces si son numeros pueden ser enteros flotantes etc, supongo que trabajas con enteros y si son numeros de 4 digitos una word bastara entoces los principales problemas estaran en la division(divides un numero grande entre uno pequeño) y en la multiplicacion(entre 2 numeros grandes), bien entoces empecemos por lo facil suma y resta
(¿el usuatio debe ingresar los numeros? para el ingrso de numeros existen muchos programitas en anteriores "mensajes", no recuedo si hay para numeros de 4 digitos)
no sera tan dificil:
;;;****************
;;;;;SUMA
mov ax,num1
add ax,num2;; listo
;;RESTA
mov ax,num1
sub ax,num2;; listo
;(para mostrar numaros tambien ya ;habia ;programas hechos en este foro;[hay uno que muestra todo el ;numero que esta en AX])
int 20h ;fin
num1 dw 0
num2 dw 0
;;*****************
para no complicarse en la division y multiplicacion(aunque con 4 digitos, par al multiplicasion sera suficiente el resultado en DX:AX) con numeros conbinados que molesten.
;;**************************
;;;Multiplicacion:
mov ax,num1
mov bx,num2
mul bx
;;resultado en DX:AX
;;Division
mov ax,num1
mov bx,num2
xor dx,dx
div bx
;;resultado en AX
;;residuo en DX
;;*************************
y eso seria basicamente y resumidamente.