Guest User

Untitled

a guest
May 20th, 2018
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. BUSQUEDAPRIMO   ADDA.L #-20,A7
  2.         MOVEM A3/D2-D5,(A7)
  3.         MOVE.L 28(A7),D2 *NUM ELEMENTOS
  4.         MOVE.L 24(A7),A3 *POS DE INICIO ARRAY  
  5. SIGUIENTE92 MOVE.L (A3)+,D3
  6.         CMPI #1,D3
  7.         BLE SIGUIENTE91
  8.         MOVE.L #2,D4
  9.         REMS  D4,D4:D3
  10.         BEQ SIGUIENTE91
  11.         MOVE.L D3,D4
  12. BUCLE7      SUBI #1,D4
  13.         CMPI #2,D4 *yA HEMOS VISTO SI ES PAR
  14.         BEQ PRIMO
  15.         REMS D4,D5:D3
  16.         BNE BUCLE7
  17. SIGUIENTE91 SUBQ #1,D2
  18.         BNE SIGUIENTE92
  19.         CLR.L D3 *SI NO HAY PRIMO DEVOLVEMOS 0
  20. PRIMO       MOVE.L D3,D0
  21.         MOVEM (A7),A3/D2-D5
  22.         ADDA.L #20,A7
  23.         RTS
  24.        
  25.        
  26.        
  27.        
  28. FACTORIAL   ADDA.L #-16,A7
  29.         MOVEM A3/D2-D4,(A7)
  30.         MOVE.L 24(A7),D2 *NUM ELEMENTOS
  31.         MOVE.L 20(A7),A3 *POS DE INICIO ARRAY  
  32. BUCLEA      MOVE.L -4(A3,D2*4),D3
  33. BUCLEB      CMPI #1,D3
  34.         BLE CASO0 *ES 0 O  1
  35.         BGT POSITIVO
  36.         NEG D3 
  37. POSITIVO    CMPI #13,D3 *SI SE CALCULA PARA UN NUMERO MAYOR QUE 13 HABRA OVERFLOW
  38.         BCC OVERFLOW
  39.         MOVE.L D3,D4
  40. BUCLEC      SUBQ #1,D4
  41.         CMPI #1,D4
  42.         BEQ SEGUIR9
  43.         MULU D4,D3 *RESULTADO EN D3
  44.         BRA BUCLEC
  45. OVERFLOW    CLR.L D3
  46.         BRA SEGUIR9
  47. CASO0       MOVEQ #1,D3    
  48. SEGUIR9     MOVE.L D3,-4(A3,D2*4)
  49.         SUBQ #1,D2
  50.         BNE BUCLEA
  51.         MOVEM (A7),A3/D2-D4
  52.         ADDA.L #16,A7
  53.         RTS
Add Comment
Please, Sign In to add comment