good 发表于 2013-5-30 23:10:15

写的这个算不算时钟

;名称:time
;功能:延迟N秒返回
;参数:(bx) = 延迟的时间(s)
;返回:无
time:push ax
   
   time1:
   ;首先判断秒数是否为0,为0直接结束
   cmp bx, 0
   je ok
   
   time2:
   dec bx;每执行一次秒数减1,(bx)看成秒数,当bx为0的时候返回
   ;将秒数置0
   mov al, 0;要访问0号单元
   out 70h, al;将要读写的单元写入地址端口
   out 71h, al;将秒置0
   
   ;循环判断秒数是否增加
   time3:
   in al, 71h;取现在秒数
   cmp al, 0;因为前面设置秒数为0,现在判断是否不等于0,不等于0说明增加了
   jne time1;增加了继续判断bx
   jmp short time3;没有改变继续监视
   
   ok:
   pop ax
   ret
页: [1]
查看完整版本: 写的这个算不算时钟