当前位置: 代码迷 >> 汇编语言 >> 关于罗云彬的题解时钟程序
  详细解决方案

关于罗云彬的题解时钟程序

热度:315   发布时间:2016-05-02 04:49:22.0
关于罗云彬的例题时钟程序
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
; 按照 _dwDegreeInc 的步进角度,画 _dwRadius 为半径的小圆点
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
_DrawDot proc _hDC,_dwDegreeInc,_dwRadius
local @dwNowDegree,@dwR
local @dwX,@dwY

mov @dwNowDegree,0
mov eax,dwRadius
sub eax,10
mov @dwR,eax
.while @dwNowDegree <= 360
finit

      全文就这一处出现_dwDegreeInc ..这是什么意思..有什么具体的意义吗。。

------解决方案--------------------
看 _ShowTime 子程里的这两句,应该明白吧
	invoke	_DrawDot,_hDC,360/12,3	;画12个大圆点
invoke _DrawDot,_hDC,360/60,1 ;画60个小圆点

------解决方案--------------------
我也刚学到这里,这是定义函数的一种方法,_hDC和_dwDegreeInc还有_dwRadius就是函数的三个参数。就像C语言里定义函数后的零时变量一样,用到这个函数直接替换就行了。起这个名字容易记一些!可以看看第三章末匈牙利命名法!
_DrawDot    proc    _hDC,_dwDegreeInc,_dwRadius
        local    @dwNowDegree,@dwR
        local    @dwX,@dwY
 
        mov    @dwNowDegree,0
        mov    eax,dwRadius
        sub    eax,10
        mov    @dwR,eax
        .while    @dwNowDegree <=    360
            finit
;********************************************************************
  相关解决方案