;Programa que almacena un numero en un lugar de memoria DATOS SEGMENT num dw(?) ;Variable donde almacenaremos el numero DATOS ENDS PILA SEGMENT STACK 'stack' db 128 dup(?) PILA ENDS CODIGO SEGMENT assume cs:codigo,ds:datos,ss:pila ppal proc far push ds ;Dirección de retorno al PSP sub ax,ax push ax mov ax,datos ;Inicialización del registro DS mov ds,ax mov ax,offset num push ax call func retf ;Retorno al PSP ppal endp func proc push bp push si mov bp,sp mov si,6[bp] mov [si],word ptr 3 ;utilizamos word ptr porque el registro es de 16 bits y el 3 solo ocuparía 8 pop bx pop bp ret 2 func endp CODIGO ENDS END PPAL