汇编程序:显示时间(分秒)

【任务】
  编程序,访问CMOS RAM,在屏幕最左上角,动态显示当前分、秒。
  
【参考程序】

assume cs:code
code segment
start:mov al,2  ;分
      out 70h,al
      in al,71h
      mov ah,al
      mov cl,4
      shr ah,cl
      and al,00001111b
      add ah,30h
      add al,30h
      mov bx,0b800h
      mov es,bx
      mov byte ptr es:[0],ah
      mov byte ptr es:[1],01001111b
      mov byte ptr es:[2],al
      mov byte ptr es:[3],01001111b

      mov byte ptr es:[4],':'
      mov byte ptr es:[5],01001111b

      mov al,0    ;秒
      out 70h,al
      in al,71h
      mov ah,al
      mov cl,4
      shr ah,cl
      and al,00001111b
      add ah,30h
      add al,30h
      mov bx,0b800h
      mov es,bx
      mov byte ptr es:[6],ah
      mov byte ptr es:[7],01001111b
      mov byte ptr es:[8],al
      mov byte ptr es:[9],01001111b
      jmp start
      mov ax,4c00h
      int 21h

code ends
end start

【说明】
  上述程序在功能、性能方面存在诸多不足,你可以以此为起点进行改造,做出更实用的程序。例如:
  
- 功能上的扩充:显示年月日,显示成汉字!
- 性能上,不要独立占CPU,想退出时能退出。
- 机制上,允许中断处理转做其他处理,用中断显示,而不是直接写显存……

上一篇:《妥协的完美主义:优秀产品经理的实践指南(卷二)》一2.3 团队内部组织管理


下一篇:对libpq中运用 select()函数的理解