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

简介: 【任务】   编程序,访问CMOS RAM,在屏幕最左上角,动态显示当前分、秒。    【参考程序】assume cs:codecode segmentstart:mov a...

【任务】
  编程序,访问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月前
|
Unix Linux
认识Linux指令之与时间相关的指令
认识Linux指令之与时间相关的指令
认识Linux指令之与时间相关的指令
|
3月前
|
C++
当前不会命中断点还未为文档加载任何符号
当前不会命中断点还未为文档加载任何符号
17 2
|
8月前
|
存储 JavaScript
5.2 汇编语言:标志位测试指令
汇编语言是一种面向机器的低级语言,用于编写计算机程序。汇编语言与计算机机器语言非常接近,汇编语言程序可以使用符号、助记符等来代替机器语言的二进制码,但最终会被汇编器编译成计算机可执行的机器码。标志位测试指令是汇编语言中用于测试处理器标志位状态的指令。标志位是位于处理器状态寄存器中的一组特殊标志,用于指示上一个运算的结果是否为零、是否进位/借位、是否溢出等等。可以使用标志位测试指令来检查标志位的状态,并在需要时根据标志位状态进行操作。
139 0
|
存储 网络协议 C语言
【CSAPP】x86-64的机器代码和原始的C代码差别巨大,一些常在C语言中隐藏的处理器状态
【CSAPP】x86-64的机器代码和原始的C代码差别巨大,一些常在C语言中隐藏的处理器状态
56 0
西门子S7-1200的运动控制功能、系统使能指令块、错误确认指令块、回参考点或设置参考点指令块的参数含义
今天我们来介绍西门子S7-1200的运动控制功能。西门子S7-1200的运动控制指令是通过使用相关工艺数据块和CPU的专用脉冲串输出来控制轴的运动。
西门子S7-1200的运动控制功能、系统使能指令块、错误确认指令块、回参考点或设置参考点指令块的参数含义
关于 VS调试时出现“当前不会命中断点。还没有为该文将加载任何符号。” 的解决方法
关于 VS调试时出现“当前不会命中断点。还没有为该文将加载任何符号。” 的解决方法
关于 VS调试时出现“当前不会命中断点。还没有为该文将加载任何符号。” 的解决方法
|
Java
在程序里面,时间真的发生了344秒的倒流。(中)
在程序里面,时间真的发生了344秒的倒流。(中)
94 0
在程序里面,时间真的发生了344秒的倒流。(中)
|
Java 数据库
在程序里面,时间真的发生了343秒的倒流。(上)
在程序里面,时间真的发生了343秒的倒流。(上)
153 0
在程序里面,时间真的发生了343秒的倒流。(上)