$*$ Die Autoren bedanken sich f"ur diese Version bei $*$ Irina Gaidouk und Christoph Flossmann, Fachhochschule M"unchen PREFIX :Bresi xs IS $0 ys IS $1 xe IS $2 ye IS $3 D IS $4 $D = 2 * dy - dx = DD - dx$ DD IS $5 $DD = 2 * dy$ DDD IS $6 $DDD = 2 * (dy - dx) = 2 * dyx$ dyx IS $7 $dyx = dy - dx$ dx IS $9 dy IS $10 inc IS $11 flag IS $12 ABSdx IS $13 Betrag von $dx$ ABSdy IS $14 Betrag von $dy$ RA IS $19 tau IS $20 test IS $21 xp IS $22 yp IS $23 :Bresi GET RA,:rJ SET flag,0 SUB dx,xe,xs SUB dy,ye,ys SET ABSdx,dx SET ABSdy,dy BP dx,1F Betragsbildung $dx$ NEG ABSdx,ABSdx 1H BP dy,2F Betragsbildung $dy$ NEG ABSdy,ABSdy 2H CMP test,ABSdx,ABSdy BP test,Fallx Fally SET xp,xe Startpunkt ist im $x$-Wert $>$ Endpunkt SET xe,ye SET ye,xp SET yp,ys SET ys,xs SET xs,yp $x$ und $y$ vertauscht SET xp,dx SET dx,dy SET dy,xp $dx$ und $dy$ vertauschen SET flag,1 Fallx BNN dx,3F SET xp,xe SET xe,xs SET xs,xp xs und xe vertauschen SET yp,ye SET ye,ys SET ys,yp ys und ye vertauscht NEG dx,dx Vorzeichen dx positiv NEG dy,dy Vorzeichen dy positiv 3H SET xp,xs SET yp,ys SET inc,1 BNN dy,posinc neginc NEG inc,inc NEG dy,dy posinc ADD DD,dy,dy SUB D,DD,dx SUB dyx,dy,dx ADD DDD,dyx,dyx Loop CMP test,xe,xp BN test,End BZ flag,1F SET tau,xp SET xp,yp SET yp,tau 1H PUSHJ test,:Point BZ flag,1F SET tau,xp SET xp,yp SET yp,tau 1H ADD xp,xp,1 CMP test,D,0 BN test,2F ADD yp,yp,inc ADD D,D,DDD JMP Loop 2H ADD D,D,DD JMP Loop End PUT :rJ,RA POP 0,0