Assembler: |
movem.l D0-D2/A0-A2,-(A7) ; Register retten
move.l pParamblk,A0 ; Zeiger Parameterblock LINEA
move.l (4,A0),A1 ; contrl nach A1
move.l s_mfdb,D0 ; Adresse Source MFDB nach D0
move.w D0,(8,A1) ; Unteres Wort Source MFDB nach contrl[8]
lsr.l #8,D0 ; Oberes Wort von D0 ...
lsr.l #8,D0 ; ... auf unteres Wort schieben
move.w D0,(7,A1) ; Oberes Wort Source MFDB nach contrl[7]
move.l d_mfdb,D0 ; Adresse Ziel MFDB nach D0
move.w D0,(10,A1) ; Unteres Wort Ziel MFDB nach contrl[10]
lsr.l #8,D0 ; Oberes Wort von D0 ...
lsr.l #8,D0 ; ... auf unteres Wort schieben
move.w D0,(9,A1) ; Oberes Wort Ziel MFDB nach contrl[9]
move.l intin,(8,A0) ; contrl in LINEA.contrl
move.l (8,A0),-(A7) ; alten Wert des intin Feldes retten
move.l intin,(8,A0) ; intin in LINEA.intin
move.l (12,A0),-(A7) ; alten Wert des ptsin Feldes retten
move.l intin,(8,A0) ; ptsin in LINEA.ptsin
move.w patptr,(44,A0) ; Linienmuster in LINEA.patptr
move.w multifill,(50,A0) ; Ebenenflag in LINEA.multifill
move.w copy_tran,(116,A0) ; Kopiermodus in LINEA.copy_tran
dc.w $A00E ; Line-A Opcode
move.l pParamblk,A0 ; Zeiger Parameterblock LINEA
move.l (A7)+,(12,A0) ; alten Wert des ptsin Feldes restaurieren
move.l (A7)+,(8,A0) ; alten Wert des intin Feldes restaurieren
movem.l (A7)+,D0-D2/A0-A2 ; Register restaurieren
|