home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / share / Dos / VARIOS / lente / BAK / MATRIZ.ASM < prev    next >
Encoding:
Assembly Source File  |  1996-05-14  |  1.3 KB  |  63 lines

  1. .MODEL SMALL,PASCAL
  2. .STACK 100h
  3. .DATA
  4.         R_circulo DB 50
  5.         Dist_plano DB 10
  6.         R_esfera DB ?
  7. .CODE
  8. ;###############################################
  9. ; Raiz devuelve en AX el valor de la raiz entera
  10. ;###############################################
  11. Raiz PROC NEAR USES cx bx , Operando : WORD 
  12.         ;pop bx
  13.         mov bx, Operando
  14.         xor cx,cx
  15. @bucle:
  16.         inc cl
  17.         mov ax,cx
  18.         mul cl
  19.         cmp ax,bx
  20.         jle @bucle
  21.         dec cl
  22.         xor ax,ax
  23.         mov al,cl
  24.         ret
  25. Raiz ENDP
  26. ;################################################
  27. ; Dar_Cateto devuelve en ax el valor del cateto
  28. ; opuesto segĂșn el Teorema de Pitagoras
  29. ;################################################
  30. Dar_Cateto PROC NEAR USES bx ,Base:BYTE, Cateto: BYTE
  31.         mov al, Base
  32.         mul al
  33.         push ax
  34.         mov al, Cateto
  35.         mul al
  36.         pop bx
  37.         add ax,bx
  38.         push ax
  39.         call Raiz
  40.         ret
  41. Dar_Cateto ENDP
  42. ;##################################################
  43. Codigo PROC
  44.         mov ax, @DATA
  45.         mov ds, ax
  46.  
  47.         xor ax,ax
  48.         mov al, Dist_plano
  49.         push ax
  50.         mov al, R_circulo
  51.         push ax
  52.  
  53.         call Dar_Cateto
  54.  
  55.         mov bx,ax
  56.         mov ax, 4C00h
  57.         int 21h
  58. Codigo ENDP
  59.         END Codigo
  60.  
  61.  
  62.         
  63.