Advertisement

在DOS环境中显示右上角的系统时间

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
本文介绍了如何在DOS环境下编写或使用一个简单的批处理脚本,以实现在屏幕右上角持续更新并显示当前系统时间的功能。 CODE SEGMENT ASSUME CS:CODE START: JMP NEXT BUFF DW 0 BUFF1 DW 2 DUP(0) MAIN: PUSHF CALL DWORD PTR CS:BUFF1 PUSH AX PUSH BX PUSH CX PUSH DX XOR BH,BH MOV AH,3 INT 10H ;读光标位置 MOV CS:BUFF,DX MOV AH,2 XOR BH,BH MOV DX,47H INT 10H ;置光标位置 MOV AH,2 INT 1AH ;读系统时间 PUSH DX PUSH CX POP BX PUSH BX CALL SHOW1 CALL SHOW2 POP BX XCHG BH,BL CALL SHOW1 CALL SHOW2 POP BX CALL SHOW1 MOV DX,CS:BUFF MOV AH,2 XOR BH,BH INT 10H ;置光标位置 POP DX POP CX POP BX POP AX IRET ;中断返回 ;以下为将系统时间转化为对应的ASCLL码显示的程序 SHOW1 PROC NEAR PUSH BX MOV CL,4 MOV AL,BH SHR AL,CL ADD AL,30H ;转换为ASCLL码 CALL SHOW CALL XJB POP BX MOV AL,BH AND AL,0FH ADD AL,30H CALL SHOW CALL XJB RET SHOW1 ENDP ;以下为显示: 符号的程序 SHOW2 PROC NEAR MOV AL,: CALL SHOW CALL XJB RET SHOW2 ENDP ;以下是对光标的处理的程序 XJB PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,3 MOV BH,0 INT 10H ;读光标位置 INC DL MOV AH,2 INT 10H ;置光标位置 POP DX POP CX POP BX POP AX RET XJB ENDP ;以下是将AL里的内容显示的程序 SHOW PROC NEAR PUSH AX PUSH BX PUSH CX MOV AH,09H MOV BX,2FH MOV CX,1 INT 10H ;在光标位置显示字及其属性 POP CX POP BX POP AX RET SHOW ENDP ;以下为取中断,保存中断,设置新的这段类型的程序 NEXT: PUSH CS POP DS MOV AX,351CH ;取中断向量 INT 21H MOV BUFF1,BX ;保存偏移地址 MOV BX,ES ;保存段地址 MOV BUFF1+2,BX MOV DX,OFFSET MAIN MOV AL,1CH ; 中断类型放日AL MOV AH,25H ; 设置中断向量的功能调用 INT 21H ;改变中断向量 LEA DX,NEXT SUB DX,OFFSET START MOV CL,4 SHR DX,CL ADD DX,11H MOV AX,3100H INT 21H CODE ENDS END START

全部评论 (0)

还没有任何评论哟~
客服
客服
  • DOS
    优质
    本文介绍了如何在DOS环境下编写或使用一个简单的批处理脚本,以实现在屏幕右上角持续更新并显示当前系统时间的功能。 CODE SEGMENT ASSUME CS:CODE START: JMP NEXT BUFF DW 0 BUFF1 DW 2 DUP(0) MAIN: PUSHF CALL DWORD PTR CS:BUFF1 PUSH AX PUSH BX PUSH CX PUSH DX XOR BH,BH MOV AH,3 INT 10H ;读光标位置 MOV CS:BUFF,DX MOV AH,2 XOR BH,BH MOV DX,47H INT 10H ;置光标位置 MOV AH,2 INT 1AH ;读系统时间 PUSH DX PUSH CX POP BX PUSH BX CALL SHOW1 CALL SHOW2 POP BX XCHG BH,BL CALL SHOW1 CALL SHOW2 POP BX CALL SHOW1 MOV DX,CS:BUFF MOV AH,2 XOR BH,BH INT 10H ;置光标位置 POP DX POP CX POP BX POP AX IRET ;中断返回 ;以下为将系统时间转化为对应的ASCLL码显示的程序 SHOW1 PROC NEAR PUSH BX MOV CL,4 MOV AL,BH SHR AL,CL ADD AL,30H ;转换为ASCLL码 CALL SHOW CALL XJB POP BX MOV AL,BH AND AL,0FH ADD AL,30H CALL SHOW CALL XJB RET SHOW1 ENDP ;以下为显示: 符号的程序 SHOW2 PROC NEAR MOV AL,: CALL SHOW CALL XJB RET SHOW2 ENDP ;以下是对光标的处理的程序 XJB PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,3 MOV BH,0 INT 10H ;读光标位置 INC DL MOV AH,2 INT 10H ;置光标位置 POP DX POP CX POP BX POP AX RET XJB ENDP ;以下是将AL里的内容显示的程序 SHOW PROC NEAR PUSH AX PUSH BX PUSH CX MOV AH,09H MOV BX,2FH MOV CX,1 INT 10H ;在光标位置显示字及其属性 POP CX POP BX POP AX RET SHOW ENDP ;以下为取中断,保存中断,设置新的这段类型的程序 NEXT: PUSH CS POP DS MOV AX,351CH ;取中断向量 INT 21H MOV BUFF1,BX ;保存偏移地址 MOV BX,ES ;保存段地址 MOV BUFF1+2,BX MOV DX,OFFSET MAIN MOV AL,1CH ; 中断类型放日AL MOV AH,25H ; 设置中断向量的功能调用 INT 21H ;改变中断向量 LEA DX,NEXT SUB DX,OFFSET START MOV CL,4 SHR DX,CL ADD DX,11H MOV AX,3100H INT 21H CODE ENDS END START
  • 屏幕日期和
    优质
    本教程将指导用户如何在电脑屏幕上设置并显示右上角的系统日期和时间,方便快捷。 用汇编语言编写一个程序,该程序能够将系统日期和时间显示在屏幕的右上角。
  • 屏幕汇编方法
    优质
    本文介绍了如何通过汇编语言编程,在计算机屏幕上右上角实时显示当前系统时间的具体实现方法和技术细节。 汇编语言可以在屏幕右上角显示系统时间,并且可以运行。
  • Windows 10和隐藏秒数
    优质
    本教程详细介绍了如何在Windows 10操作系统中设置显示或隐藏右下角时间栏中的秒数,帮助用户自定义系统界面。 如何在Windows 10右下角的时间显示设置中启用或禁用秒的显示。
  • 使用timer函数实现GUI例-实.rar
    优质
    本资源提供了一个利用Python中的`tkinter`库和`time`模块实现的示例代码,用于在图形用户界面(GUI)中定时更新并显示当前系统时间。通过简单的函数调用和循环机制,可以持续刷新时钟界面,适合初学者学习如何结合使用计时器功能与GUI编程。 对于想要应用timer函数的朋友们来说,这个小程序可能会对你有所帮助。如果你是MATLAB方面的高手,可以直接跳过这段内容了,哈哈。
  • UCDOSWindows 98和DOS汉字.zip
    优质
    本资源包含UCDOS在Windows 98及DOS环境下的汉字处理系统,提供中英文帮助文档与安装文件,便于用户在不同操作系统下高效输入和管理汉字。 UCDOS98特别袖珍版在仅有700K大小的情况下,具备以下“五星级”功能: - 经过时间考验的直接写屏汉字显示支持; - 简单易用、广受欢迎的智能拼音输入法; - 实用性强且经久不衰的WPS文字处理软件; - 专属提供的超小型魔术汉字文本编译器,为用户解决了长期以来的需求问题; - 和Windows 95/98系统兼容性极佳,并能在MS-DOS窗口下流畅运行。 特别值得一提的是后两项功能是原UCDOS开发商尚未提供过的。经过测试表明,UCDOS98特别袖珍版具有很强的环境适应能力,在各种盘符、单机和网络环境下都能稳定可靠地运行。 这款软件的所有这些宝贵特性正是许多用户所追求的目标。
  • Linux下使用Oracle SqlPlus下左乱码问题及解决方案
    优质
    本文介绍了在Linux系统中使用Oracle SqlPlus时遇到的上下左右键操作出现乱码问题,并提供了有效的解决方法。 在Linux环境下使用Oracle数据库的SqlPlus工具进行交互式操作时,可能会遇到一个问题:当尝试通过上下左右方向键浏览历史命令时,屏幕上会出现乱码显示问题,这严重影响了用户体验。为解决这个问题,可以利用rlwrap(readline wrapper)这一小型实用程序来实现类似Windows下SqlPlus的历史命令回调功能。 rlwrap使用GNU Readline库增强命令行应用的交互性,并支持在命令历史中使用方向键浏览和重复以前使用的命令。以下是具体步骤: 1. 首先,你需要下载rlwrap及其依赖库readline。这两个文件通常可以从官方网站或其他第三方镜像站点获取。 2. 安装readline库:解压`readline-6.3.tar.gz`后进入目录,并依次运行`.configure`、`make`和`make install`命令来编译安装。 3. 接着,你需要安装rlwrap。同样地,在解压缩了rlwrap的源代码包之后(例如是 rlwrap-0.30.tar.gz),在执行 `.configure` 命令时可能会提示需要GNU Readline库相关开发文件。这时可以尝试使用 `yum install readline*` 来解决依赖问题,如果此方法无效,则需手动从可靠的rpm包源下载并安装。 4. 安装完成后,请确保所有必要的依赖项都已成功安装,并再次运行 `.configure`, `make`, 和 `make install` 命令来完成rlwrap的安装过程。 5. 为了方便使用,你需要在Oracle用户的`.bash_profile`文件中设置别名。添加如下一行: ``` alias sqlplus=rlwrap sqlplus ``` 这样,在终端输入`sqlplus`时,会自动启动带有历史命令浏览功能的SqlPlus工具。 6. 最后,保存并退出 `.bash_profile` 文件,并通过运行 `source ~/.bash_profile` 命令使修改生效。现在你应该可以在SqlPlus中正常使用方向键而不会出现乱码问题了。 按照以上步骤操作之后,你就可以解决Linux环境下Oracle SqlPlus的命令行历史浏览乱码显示的问题,从而提高工作效率。保持系统更新和正确配置是避免这类问题的关键所在。如果遇到其他技术难题,则可以查阅相关文档或寻求社区帮助以获取解决方案。
  • Win7快速桌面工具
    优质
    本工具是一款专为Windows 7设计的小软件,能够便捷地安装于电脑右下角任务栏附近,提供一键快速显示桌面功能,操作简便快捷。 无需再寻找显示桌面按钮的具体位置。该程序模拟了Windows 7系统中屏幕右下角快速显示桌面的工具,您只需将鼠标移动到屏幕右下角并单击即可,这样就无需转移视线就能轻松显示桌面,非常方便。
  • Qt
    优质
    本项目实现了一个使用Qt框架开发的应用程序,能够实时获取并显示系统当前时间。通过简洁高效的界面设计,用户可以轻松查看时间动态变化情况。 Qt 实时显示系统时间的方法是通过定时器更新界面中的时间显示。首先,在头文件中声明一个QTimer对象,并在构造函数初始化它。然后连接信号timeout()到槽函数,用于刷新当前的时间并将其转换为字符串形式展示出来。 具体实现步骤如下: 1. 在.h文件定义成员变量: ```cpp private: QTimer *timer; ``` 2. 在.cpp文件的构造函数中创建定时器对象,并设置合适的超时时间(例如500毫秒)进行更新。 3. 连接timeout()信号到槽函数,该槽函数负责获取当前系统时间并将其格式化为字符串显示在UI上。 4. 刷新界面中的时间标签: ```cpp void YourClassName::updateTime() { QTime time = QTime::currentTime(); QString text = time.toString(hh:mm:ss); ui->timeLabel->setText(text); } ``` 这样一个简单的Qt程序就可以实时地显示系统当前的时间了。