;Programa que calcule la suma de los numeros de un array y lo almacene DATOS SEGMENT tabla db 1,2,3,4 num dw 0 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 tabla push ax mov ax,offset num push ax call sumar retf ppal endp sumar proc push bp push si push di push ax push bx push cx push dx mov bp,sp mov si,18[bp] mov di,16[bp] xor bx,bx xor ax,ax xor cx,cx mov al,[si][bx] mov cl,al inc bx bucle:xor ax,ax mov al,[si][bx] add cl,al inc bx cmp bx,4 jne bucle mov [di],cx pop dx pop cx pop bx pop ax pop di pop si pop bp ret 4 sumar endp CODIGO ENDS END PPAL