;Programa que cuente el numero de elementos de un array DATOS SEGMENT tabla db 1,2,3,4,8 num db (?) 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 contar retf ppal endp contar proc push bp push di push bx push si push ax mov bp,sp mov si,14[bp]; dir. tabla mov di,12[bp]; dir. número xor bx,bx bucle:mov ax,[si][bx]; Recojo el primer elemento inc bx; contendrá el número de elementos del array cmp ax,8 jne bucle mov [di],bl; Coloco en num el numero de elts pop dx pop si pop bx pop cx pop ax pop bp ret 4 contar endp CODIGO ENDS END PPAL