Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BUSQUEDAPRIMO ADDA.L #-20,A7
- MOVEM A3/D2-D5,(A7)
- MOVE.L 28(A7),D2 *NUM ELEMENTOS
- MOVE.L 24(A7),A3 *POS DE INICIO ARRAY
- SIGUIENTE92 MOVE.L (A3)+,D3
- CMPI #1,D3
- BLE SIGUIENTE91
- MOVE.L #2,D4
- REMS D4,D4:D3
- BEQ SIGUIENTE91
- MOVE.L D3,D4
- BUCLE7 SUBI #1,D4
- CMPI #2,D4 *yA HEMOS VISTO SI ES PAR
- BEQ PRIMO
- REMS D4,D5:D3
- BNE BUCLE7
- SIGUIENTE91 SUBQ #1,D2
- BNE SIGUIENTE92
- CLR.L D3 *SI NO HAY PRIMO DEVOLVEMOS 0
- PRIMO MOVE.L D3,D0
- MOVEM (A7),A3/D2-D5
- ADDA.L #20,A7
- RTS
- FACTORIAL ADDA.L #-16,A7
- MOVEM A3/D2-D4,(A7)
- MOVE.L 24(A7),D2 *NUM ELEMENTOS
- MOVE.L 20(A7),A3 *POS DE INICIO ARRAY
- BUCLEA MOVE.L -4(A3,D2*4),D3
- BUCLEB CMPI #1,D3
- BLE CASO0 *ES 0 O 1
- BGT POSITIVO
- NEG D3
- POSITIVO CMPI #13,D3 *SI SE CALCULA PARA UN NUMERO MAYOR QUE 13 HABRA OVERFLOW
- BCC OVERFLOW
- MOVE.L D3,D4
- BUCLEC SUBQ #1,D4
- CMPI #1,D4
- BEQ SEGUIR9
- MULU D4,D3 *RESULTADO EN D3
- BRA BUCLEC
- OVERFLOW CLR.L D3
- BRA SEGUIR9
- CASO0 MOVEQ #1,D3
- SEGUIR9 MOVE.L D3,-4(A3,D2*4)
- SUBQ #1,D2
- BNE BUCLEA
- MOVEM (A7),A3/D2-D4
- ADDA.L #16,A7
- RTS
Add Comment
Please, Sign In to add comment