Assembler: |
It is assumed that the intin and ptsin fields have already been
entered in the Line-A parameter block.
; Save registers
movem.l D0-D2/A0-A2,-(A7)
; Pointer parameter block LINEA
move.l pParamblk,A0
; Address intin to A1
move.l (8,A0),A1
; Mode word to intin[0]
move.w mode_wort,(A1)
; Address ptsin to A1
move.l (12,A0),A1
; X-coordinate to ptsin[0]
move.w x,(A1)
; Y-coordinate to ptsin[1]
move.w y,(2,A1)
; Writing mode in LINEA.wrt_mode
move.w wmode,(36,A0)
; Line pattern in LINEA.patptr
move.w patptr,(44,A0)
; Number of patterns in LINEA.patmsk
move.w patmsk,(48,A0)
; Plane flag in LINEA.multifill
move.w multifill,(50,A0)
; Clip mode in LINEA.clip
move.w mode,(54,A0)
; Top left clip corner, X-coordinate in LINEA.xmn_clip
move.w cx1,(56,A0)
; Top left clip corner, Y-coordinate in LINEA.ymn_clip
move.w cy1,(58,A0)
; Bottom right clip corner, X-coordinate in LINEA.xmx_clip
move.w cx2,(60,A0)
; Bottom right clip corner, Y-coordinate in LINEA.ymx_clip
move.w cy2,(62,A0)
; Abort function to LINEA.fill_abort
move.l fill_abort,(118,A0)
; Line-A opcode
dc.w $A00F
; Restore registers
movem.l (A7)+,D0-D2/A0-A2
|