[汇编] 在屏幕中央显示时钟

很简单的一段代码。可能对于刚学习的同学有两点知识需要补充:

(1)

       mov ah,2Ch     ;ch=时,cl=分,dh=秒         用来获取系统的时间,并且分别放在注释中的寄存器中
      int 21h         ;获取时间

(2) 

  用来设置光标的位置

    setshow proc     ;设置光标位置 
    mov dh,12  ;行号12    
    mov dl,35  ;列号35  
    mov bh,0   ;分页
    mov ah,2 
    
    int 10h   
    ret
 setshow endp 

下面是完整的程序:

;时钟显示

data segment
    ; add your data here! 
    hour db 0
    minute db 0
    second db 0
    time db "00:00:00$"  
    len equ $-time
    num db 0    
    
ends

stack segment
    dw   128  dup(0)
ends

code segment
start:

    mov ax, data
    mov ds, ax
    mov es, ax  
    
 begin:
   call  setshow 
   call  get_system_time 
   jmp begin
   
 get_system_time proc 
  ;----------------------------------  获取系统时间
    mov ah,2Ch     ;ch=时,cl=分,dh=秒
    int 21h         ;获取时间
    mov hour,ch
    mov minute,cl
    mov second,dh
  ;------------------------------------ 
    mov ax,0        ;时间显示到字符串
    mov al,hour     ;商:al,余数:ah
    mov num,10
    div num
    add al,30h
    mov time[0],al
    add ah,30h
    mov time[1],ah 
    
    mov ax,0
    mov al,minute
    mov num,10
    div num
    add al,30h
    mov time[3],al
    add ah,30h
    mov time[4],ah
    
    mov ax,0
    mov al,second
    mov num,10
    div num
    add al,30h
    mov time[6],al
    add ah,30h
    mov time[7],ah
    
 ;------------------------ 输出系统时间
    lea dx, time
    mov ah, 9   
    int 21h  
    ret 
  get_system_time  endp

;-------------------------- --
 setshow proc     ;设置光标位置 
    mov dh,12  ;行号12    
    mov dl,35  ;列号35  
    mov bh,0
    mov ah,2 
    
    int 10h   
    ret
 setshow endp  
 ;------------------------- ----
 
    mov ax, 4c00h
    int 21h    
ends

end start 
         


  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值