Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- r EQU 2 ;number of rows
- c EQU 2 ;number of columns
- ORG $1000
- START: MOVEA.L #A,A0
- MOVEA.L #B,A1
- MOVEA.L #D,A2
- MOVE.W #r,D3 ;used for rows
- CLR.W D0 ;offset for A
- CLR.W D1 ;offset for B
- CLR.W D2 ;offset for D
- CLR.W D5 ;calculating the sum
- CLR.W D6 ;calculaing the multiplication
- CLR.W D7 ;used for number of repeats
- L2 MOVE.W #c,D4 ;used for columns mainly for first matrix
- L1 CLR.W D5
- MOVE.W (A0,D0.W),D5
- MULU (A1,D1.W),D5
- ADD.W D5,D6
- ADD.W #1,D0
- ADD.W #c,D1 ;we are moving down a column and thus are adding column to the offset in B
- SUB.W #1,D4
- BNE L1
- MOVE.W D6,(A2,D2.W)
- ADD.W #1,D2 ;increment counter for C
- ADD.W #1,D7 ;increment repeat
- CMP.W #c,D7 ;number of repeats should be equal to column number
- BNE RE
- CLR.W D7 ;clear repeats because we are moving on to a new row
- CLR.W D1 ;set offset for B to 0
- SUB.W #1,D3 ;find out through how many rows we went through
- BNE L2
- STOP #$2700
- RE SUB.W #c,D0 ;got at the beginning of a row in A
- MOVE.W D7,D1
- CLR.W D6
- BSR L2
- * Put program code here
- SIMHALT ; halt simulator
- * Put variables and constants here
- A DC.W 1,2,0,1
- B DC.W 1,0,2,1
- D DS.W 4
- END START ; last line of source
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement