上一篇的逐点比较法显然是无法画一条有倾角的直线的。因为X轴和Y轴永远都不同步,也就是像打台球一样,你打一个,我打一个,如果我进了球,我再接着打一个。
也就是说,如果直线为45度,也是没有办法画出来的,只能是锯齿形状。
如何实现X和Y同时动?也就是说,如果要画一条45度的线,X和Y同时动不就行了么?
比如起点为0,0,终点为5,5,如果采用逐点比较法,则需要运动10次,如果两轴同时运动,则5步就可以实现了。实现的途径如下:
初始值为0,0,然后下一步,我们每个坐标增加5,则结果为5,5,这样会溢出,也就是说,溢出来出发运动一步。溢出以后清零,下一步再加5,又溢出,继续同时运动一步。一共5步就可以实现了。
等等,当然可以设置寄存器的溢出值为5,这样的寄存器使用3位就行了,但是如果要移动到(3,7)的坐标呢?显然,我们用的寄存器则可以选用溢出值为7.
这样的话,我们要用的寄存器其实