Assembler: |
; Save registers
movem.l D0-D2/A0-A2,-(A7)
; Pointer parameter block LINEA
move.l pParamblk,A0
; contrl to A1
move.l (4,A0),A1
; Address source MFDB to D0
move.l s_mfdb,D0
; Lower WORD source MFDB to contrl[8]
move.w D0,(8,A1)
; Move upper WORD of D0 ...
lsr.l #8,D0
; ... onto lower WORD
lsr.l #8,D0
; Upper WORD source MFDB to contrl[7]
move.w D0,(7,A1)
; Address destination MFDB to D0
move.l d_mfdb,D0
; Lower WORD destination MFDB to contrl[10]
move.w D0,(10,A1)
; Move upper WORD of D0 ...
lsr.l #8,D0
; ... onto lower WORD
lsr.l #8,D0
; Upper WORD destination MFDB to contrl[9]
move.w D0,(9,A1)
; contrl in LINEA.contrl
move.l intin,(8,A0)
; Save old value of the intin field
move.l (8,A0),-(A7)
; intin in LINEA.intin
move.l intin,(8,A0)
; Save old value of the ptsin field
move.l (12,A0),-(A7)
; ptsin in LINEA.ptsin
move.l intin,(8,A0)
; Line pattern in LINEA.patptr
move.w patptr,(44,A0)
; Plane flag in LINEA.multifill
move.w multifill,(50,A0)
; Copy mode in LINEA.copy_tran
move.w copy_tran,(116,A0)
; Line-A opcode
dc.w $A00E
; Pointer parameter block LINEA
move.l pParamblk,A0
; Restore old value of the ptsin field
move.l (A7)+,(12,A0)
; Restore old value of the intin field
move.l (A7)+,(8,A0)
; Restore registers
movem.l (A7)+,D0-D2/A0-A2
|