王爽汇编 实验14读取CMOS RAM时间信息

C语言:编写访问CMOS的小工具 今天用C语言写的,以前都是汇编语言。 我先贴出来C语言写的,后面陆续贴出来汇编语言的。 刚刚C语言写的只能读,没法写,老实说,我还没有把移动光标的模块搞好。 所以,没法写。 下面贴代码: 我用的编译器:TC 2.0。 #include #include #include #include int main() { int port= 0x7 阅读详情

ASSUME    CS:codesg
              data SEGMENT
              DB        "/",":"
              data ENDS
              stack SEGMENT
              DW        0,0
              stack ENDS
              codesg SEGMENT
           start:   MOV       AX,data
                       MOV       DS,AX
                       MOV       SI,0
                       MOV       AX,stack
                       MOV       SS,AX
                       MOV       SP,4
                       MOV       AX,0b800h
                       MOV       ES,AX

                       MOV       DI,12*160+30*2          ;取屏幕中间位置
             
                       MOV       BX,0
                       MOV       DL,9
                       MOV       CX,3
               NYR: PUSH      CX
                       MOV       AL,DL
                       OUT       70h,AL
                       IN        AL,71h
                       MOV       AH,AL          ;假设al中为读出的8位BCD码
                       MOV       CL,4
                       SHR       AH,CL          ;ah右移4位,便移除了个位的BCD码
                       ADD       AH,30h
                       AND       AL,00001111b   ;al保留下来的便是个位BCD码
                       ADD       AL,30h
                       MOV       ES:[DI+BX],AH
                       MOV       ES:[DI+BX+2],AL
                       MOV       AL,DS:[SI]
                       MOV       ES:[DI+BX+4],AL
                       ADD       BX,6
                       DEC       DL
                       POP       CX
                       LOOP      NYR            ;取得年月日
                     
                       MOV       BYTE PTR ES:[DI+16],0  ;去掉日后面的“/”
                      
                       ADD       BX,2           ;中间空格
                       MOV       DL,4
                       MOV       CX,3
              MFS: PUSH      CX
                       MOV       AL,DL
                       OUT       70h,AL
                       IN        AL,71h
                       MOV       AH,AL          ;假设al中为读出的8位BCD码
                       MOV       CL,4
                       SHR       AH,CL          ;ah右移4位,便移除了个位的BCD码
                       ADD       AH,30h
                       AND       AL,00001111b   ;al保留下来的便是个位BCD码
                       ADD       AL,30h
                       MOV       ES:[DI+BX],AH
                       MOV       ES:[DI+BX+2],AL
                       MOV       AL,DS:[SI+1]
                       MOV       ES:[DI+BX+4],AL
                       ADD       BX,6
                       SUB       DL,2
                       POP       CX
                       LOOP      MFS            ;取得秒分时
                  
                       MOV       BYTE PTR ES:[DI+36],0  ;去掉秒后面的“:”

                       JMP       s                  ;实时读取时间                      

                       MOV       AX,4c00h
                       INT       21h
                      
              codesg ENDS
              END       start

用汇编语言编写的读取BIOS设置CMOS信息的程序(含源代码) 自己编写的用汇编语言读取BIOS设置CMOS信息的程序(含源代码),分两个版本:动态版和静态版,能读取即时信息或随时间改变的动态信息 立即下载

相关推荐

Nordic开发者必备:SEGGER Embedded Studio免费许可证申请与配置全攻略

本文为Nordic芯片开发者提供了SEGGER Embedded Studio(SES)集成开发环境的详细配置指南。内容涵盖免费许可证的合规申请流程、项目创建、Nordic SDK集成,以及编辑器优化、构建调试配置、RTT日志输出等核心功能的高效设置,旨在帮助开发者构建深度优化的专业开发环境,显著提升嵌入式开发效率。

cheese的博客 353

汇编语言 王爽 实验14 访问CMOS RAM

汇编语言 王爽 实验14 访问CMOS RAM 编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。

qq_46871669的博客 290

PCIE配置和地址空间

来源:https://www.jianshu.com/p/574e9a2cbc4e 每个PCIe设备,有这么一段空间,Host软件可以读取它获得该设备的一些信息,也可以通过它来配置该设备,这段空间就叫做PCIe的配置空间。不同于每个设备的其它空间,PCIe设备的配置空间是协议规定好的,哪个地方放什么内容,都是有定义的。PCI或者PCI-X时代就有配置空间的概念,那时的配置空间如下: 图6.1 整个配置空间就是一系列寄存器的集合,其中Type 0是Endpoint的配置,Type 1是Brid.

qq_28643619的博客 4059

王爽《汇编语言》第十四章实验——访问CMOS RAM

1.端口的读写: (1). 读操作,从60h端口读入一个字节,指令如下: mov al, 60h (2). 写操作,往20h端口写入一个字节,指令如下: out 20h, al (3). 在 in 和 out 指令中,只能使用 ax 或 al 来存放从端口中读入的数据或要发送到端口中的数据。访问8位端口时用al,访问16位端口时用ax。 2. CMOS RAM 芯片

gaohuaid 5617

Excel插件开发实战:从零封装一个带自定义Ribbon的.xlam工具包

本文详细介绍了如何从零开发一个带自定义Ribbon的Excel插件.xlam工具包。通过VBA和XML技术,读者将学习到插件架构设计、Ribbon界面定制、模块化开发以及企业级部署策略,帮助提升Excel自动化办公效率。

weixin_42531128的博客 516

Ubuntu新手必看:3种方法快速查看和编辑JSON文件(附jq安装指南)

本文为Ubuntu新手详细介绍了三种查看和编辑JSON文件的核心方法:命令行利器jq、灵活脚本Python以及直观的图形化编辑器(如VS Code)。文章重点解析了jq的安装与核心用法,并对比了各方案的优缺点,帮助用户根据快速查询、复杂处理或直观编辑等不同场景,选择最合适的工具,从而高效处理JSON数据。

weixin_29229989的博客 416

王爽《汇编语言》课程设计二(只包含CMOS RAM操作不包含软盘操作)

遇到的瓶颈问题:如何能做到随时获取键盘中断,而不是一直等着按F1或ESC键。(int 16H的0号功能与1号功能的配合): 我们知道BIOS键盘缓冲区 15字节数据,高8位保存扫描码,低8位保存ASCII码。缓冲区为一个环形队列。int 16例程的0号功能可以从键盘缓冲区中阻塞式读取数据,获取到的数据会存放到AX中,高八位存放扫描码,低八位存放对应的ASCII码。 int 9H则可以用来向缓冲区

Apollon_krj的博客 2118

EMI硬件抑制八项工程对策:从回路面积到谐振规避

电磁干扰(EMI)是电子系统可靠性与EMC合规性的核心挑战,其本质源于高频电流回路产生的辐射与耦合效应。理解回路面积、共模/差模噪声、阻抗匹配等基础原理,是实施有效抑制的前提。技术价值体现在降低辐射发射(RE)、传导发射(CE)超标风险,提升产品一次通过率与长期稳定性。典型应用场景包括开关电源设计、高速数字接口布局、工业嵌入式设备及医疗电子等对EMC要求严苛的领域。本文聚焦可落地的硬件级对策,涵盖回路面积控制、屏蔽策略、变压器漏磁管理、双线传输与阻抗匹配等关键实践,深度融合电流回路物理模型与PCB工程实现。

weixin_35019679的博客 84

8086 汇编学习 Part 9

CPU 在执行指令过程中,可以检测到发送过来的中断信息,引发中断过程,处理外设的输入。OUT 端口号 , 数据。CPU 从端口读取数据。IN 数据 , 端口号。CPU 往端口写入数据。

AlwaysBeShine的博客 1059

ros2 humble cartographer 2D激光雷达建图

Cartographer是一个支持多平台和传感器配置的SLAM的系统。 本文主要讲述在ros2 humble系统上cartographer的安装方法,以及如何配置参数实现自己的ros2 bag包的离线建图。

weixin_43087302的博客 6939

DeerFlow 系列教程 第十四篇 | IM 渠道集成——让 DeerFlow 接入飞书、企微、Slack、Telegram

DeerFlow 系列教程 第十四篇本篇教程继续,全面剖析 DeerFlow 的 IM 渠道集成方案。我们将深入理解 Channel 抽象层设计、MessageBus 消息总线机制、ChannelManager 调度循环、四大 IM 平台(飞书、企业微信、Slack、Telegram)的适配实现,以及从 IM 消息到 Agent 响应再到 IM 回复的完整消息流转过程。

weixin_43674738的博客 415

王爽 汇编语言 第三版 实验14 访问 CMOS RAM

编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。

LiaoKaiXiong的专栏 821

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

(二十五)《汇编语言(王爽)》 | 实验 14:访问 CMOS RAM

《汇编语言(王爽)》 | 实验 14:访问 CMOS RAM

Skies_的博客 1804

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

汇编语言 实验14(王爽 第三版) 访问CMOS RAM

实验14 访问CMOS RAM 编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。 assume cs:code data segment data ends code segment s1: start: mov al,9h mov ah,0 mov cx,6 mov bx,0b800h mov es,bx mov si,160*12+...

安东尼-东方的博客 548

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

【汇编语言】by王爽 | 实验14:访问CMOS RAM

汇编语言 第3版 by王爽 实验14:访问CMOS RAM - 以“年/月/日 时:分:秒”的格式,显示当前的日期、时间

Amentos的博客 926

汇编语言(王爽第三版) 第14章相关内容及实验14

第14章 端口 文章目录第14章 端口章节内容概述端口的读写CMOS RAM芯片shl和shr指令CMOS RAM中存储的时间信息实验14 访问CMOS RAM 章节内容 概述 CPU将一些芯片上的寄存器当做端口,这些寄存器虽然物理上可能处于不同芯片,但都通过总线与CPU相连,CPU对他们统一编制,从而建立统一的端口地址空间。每一个端口在地址空间中都有一个地址。 本章介绍了端口的读写以及CMO...

一只小空的博客 477

王爽 汇编语言 第十四章 实验十四 访问CMOS RAM

很简单啦,就把书上给的复制几遍改一改就好了 assume cs:code code segment start: ;年份 mov al,9 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:[160*12+30*2],ah mov byte ptr es:[1

ChenyangDu的博客 1191

王爽 《汇编语言》 实验14 利用CMOS RAM 显示时间

最近汇编看的默默唧唧,平均每天的时间可能都不足一个小时吧。趁打个版本的功夫,上传上来一段昨天的代码,将CMOS RAM中的系统时间取出来,显示到显示器上其实就是 王爽 《汇编语言》 实验14相比上次传上来的 课程设计1,这个实在太小儿科了。就当是培养一个上传代码的习惯吧  ass

杂七杂八 3097

《汇编语言》王爽(第四版) 第十四章 检测点及实验14

王爽老师《汇编语言》(第四版) 第十四章 检测点及实验14 访问CMOS RAM获取当前日期和时间 的分析及代码。

Dr_Cheeze的博客 2734

王爽<汇编语言>实验14  访问CMOS RAM 解答(详细注释)

编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。 assume cs:code data segment db '00/00/00 00:00:00','$' ;定义显示的年月日,时钞分格式空间,$自动换行 db 9,8,7,4,2,0 ;定义存放时间信息空间 data ends code segment start: mov

apolloloverose的专栏 997

王爽《汇编语言》实验14——访问CMOS RAM

编程,以"年/月/日 时:分:秒"的格式,显示当前的日期、时间.

mp4spig的博客 1075

汇编语言(王爽)——实验十四 访问CMOS RAM

1、题目 2、个人代码 assume cs:code data segment ;数据段中设置标号不加冒号 time db '00/00/00 00:00:00','$' list db 9,8,7,4,2,0 data ends code segment start: mov ax,data mov ds,ax mov di,offset time mov si,offset l...

z2bns的博客 620

王爽《汇编语言》(14-16章)学习笔记

《汇编语言》王爽–学习笔记 文章目录十二、端口1. 端口基本概念2. 端口的读写3. CMOS RAM芯片4. shl和shr指令十三、外中断1. 接口芯片和端口2. 外中断信息1、可屏蔽中断3. PC机键盘的处理过程4. 编写int 9中断例程十四、指令系统总结十五、直接定值表1. 描述单元长度的标号2.在其他段中使用数据标号 十二、端口 1. 端口基本概念 前面讲过,各种存储器都和CPU的地址线,数据线,控制线相连,CPU操控它们的时候,把它们都当作内存来对待,把它们总地看做一个由若干个存储单元构成的逻

ClimberCoding 571

汇编语言(王爽)第十四章 端口&实验十四

第十四章 CPU在操控各种存储器时,都把它们当作内存来对待,把它们总地看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器我们称为内存地址空间 PC机中,除了各种存储器外,还有以下3种芯片和CPU通过总线相连 1、各种接口卡(网卡、显卡)上的接口芯片,它们控制接口卡进行工作 2、主板上的接口芯片,CPU通过它们对部分外设进行访问 3、其他芯片,用来存储相关的系统信息,或进行相关的输入输出处理 这...

冲冲冲 1286

汇编实验14:访问CMOS RAM

汇编实验14:访问CMOS RAM 任务 编程,以“年/月/日 时:分:秒”的格式,显示当前的日期,时间。 预备知识 CMOS存储当前时间的信息:年、月、日、时、分、秒。这六个信息的长度均为1个字节,并且以BCD码的形式存放(什么是BCD码?这里就不科普了,自行百度,反正我也只是略懂),存放的单元如下表所示: 秒分时日月年 0 2 4 7 8 9 ...

weixin_30481087的博客 870
上一篇: 王爽汇编 实验13编写int 7cH中断例程(1)
下一篇: 汇编学习杂记(9~13章)
TypeCool
博客等级 码龄22年 58粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值