Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- * Somma gli elementi dell'array a partire dal quinto elemento (quinto elemento incluso),
- * di tutti gli elementi dell'array se e solo se questi sono dispari maggiori di 19.
- * Al termine ordina l'array in senso decrescente con il bubble sort.
- ORG $8000
- SUM LEA ARR,A0
- CLR.W RES
- MOVE.B #LEN-1,D2
- LOOP1 MOVE.W 8(A0,D0),D3
- CMP #19,D3
- BLT SKIP1
- BTST #0,D3
- BEQ SKIP1
- ADD.W D3,D1
- SKIP1 ADD.W #2,D0
- DBRA D2,LOOP1
- MOVE.W D1,RES
- RTS
- SORT LEA ARR,A0
- CLR.W D3
- CLR.W D2
- MOVE.B #LEN-1,D2
- LOOP2 MOVE.W (A0),D0
- MOVE.W 2(A0),D1
- CMP.W D0,D1
- BLT SKIP2
- MOVE.W D0,2(A0)
- MOVE.W D1,(A0)
- MOVE.W #1,D3
- SKIP2 ADD.W #2,A0
- DBRA D2,LOOP2
- TST D3
- BNE SORT
- RTS
- START: MOVEM.L A0/D0-D3,-(SP)
- JSR SUM
- MOVEM.L (SP)+,A0/D0-D3
- MOVEM.L A0/D0-D3,-(SP)
- JSR SORT
- MOVEM.L (SP)+,A0/D0-D3
- SIMHALT
- ORG $8400
- ARR DC.W -5,-3,-2,-100,10,5,3,8,20,25,1000,-50,30,90,77
- LEN EQU 14
- RES DS.W 1
- END START
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement