Siano dati due byte agli indirizzi di memoria A e B. Si valuti il numero di bit omologhi uguali di A e B e si ponga tale numero alla locazione di memoria RES, Questa versione utilizza l'istruzione assembly EOR.
Salve a tutti questo è il mio problema l'ho già risolto con un programma non modulare e volevo provare ad esercitarmi con uno modulare ma mi da degli errori questo è il mio programma consigli?
Mi da questi problemi:
ERROR in line 23: Displacement out of range
ERROR in line 24: Displacement out of range
2 errors detected
No warnings generated
cioè le linee:
00008808 302E 8000 23 MOVE A(A6),D0
ERROR: Displacement out of range
0000880C 322E 8001 24 MOVE B(A6),D1
ERROR: Displacement out of range
Salve a tutti questo è il mio problema l'ho già risolto con un programma non modulare e volevo provare ad esercitarmi con uno modulare ma mi da degli errori questo è il mio programma consigli?
Codice:
ORG $8000
A DC.B %11001010
B DC.B %11101101
RIS DS.B 1
ORG $8400
MAIN ADDA #-2,SP
MOVE #A,-(SP)
MOVE #B,-(SP)
JSR BITCOUNT
ADDA #4,SP
MOVE (SP)+,RIS
JMP $8008
ORG $8800
OLD_FP EQU 0
RET_ADDR EQU 4
A_OFF EQU 8
B_OFF EQU 12
RIS_OFF EQU 16
BITCOUNT LINK A6,#0
MOVEM.L D0-D3,-(SP)
MOVE A(A6),D0
MOVE B(A6),D1
EOR D0,D1
MOVE.B #7,D2
CLR D3
LOOP BTST D2,D1
BNE DEC
ADDQ #1,D3
DEC DBRA D2,LOOP
MOVE.B D3,RIS_OFF(A6)
MOVEM.L (SP)+,D0-D2
UNLK A6
RTS
END MAIN
Mi da questi problemi:
ERROR in line 23: Displacement out of range
ERROR in line 24: Displacement out of range
2 errors detected
No warnings generated
cioè le linee:
00008808 302E 8000 23 MOVE A(A6),D0
ERROR: Displacement out of range
0000880C 322E 8001 24 MOVE B(A6),D1
ERROR: Displacement out of range