news 2026/8/27 19:31:22

HalpInitializeClock函数分析之CMOS_WRITE宏定义和CMOS_CONTROL_PORT=0x70和CMOS_DATA_PORT=0x71

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HalpInitializeClock函数分析之CMOS_WRITE宏定义和CMOS_CONTROL_PORT=0x70和CMOS_DATA_PORT=0x71

HalpInitializeClock函数分析之CMOS_WRITE宏定义和CMOS_CONTROL_PORT=0x70和CMOS_DATA_PORT=0x71

F:\srv03rtm\base\hals/halmps/i386/mpclock.asm:279:cPublicProc _HalpInitializeClock ,0
F:\srv03rtm\base\hals/halmps/i386/mpclock.asm:366: stdRET _HalpInitializeClock
F:\srv03rtm\base\hals/halmps/i386/mpclock.asm:368:stdENDP _HalpInitializeClock

第一部分:
;
; Set the interrupt rate to what is actually needed
;
stdCall _HalpAcquireCmosSpinLock ; intr disabled

mov eax, _HalpCurrentRTCRegisterA
shl ax, 8
mov al, 0AH ; Register A
CMOS_WRITE ; Initialize it
;
; Don't clobber the Daylight Savings Time bit in register B, because we
; stash the LastKnownGood "environment variable" there.
;
mov ax, 0bh
CMOS_READ
and al, 1
mov ah, al
or ah, REGISTER_B_ENABLE_PERIODIC_INTERRUPT
mov al, 0bh
CMOS_WRITE ; Initialize it
mov al,0CH ; Register C
CMOS_READ ; Read to initialize
mov al,0DH ; Register D
CMOS_READ ; Read to initialize

stdCall _HalpReleaseCmosSpinLock


第二部分:
;
; CMOS_READ
;
; Description: This macro reads a byte from the CMOS register specified
; in (AL).
;
; Parameter: (AL) = address/register to read
; Returns: (AL) = data
;

CMOS_READ MACRO
OUT CMOS_CONTROL_PORT,AL ; ADDRESS LOCATION AND DISABLE NMI
IODelay ; I/O DELAY
IN AL,CMOS_DATA_PORT ; READ IN REQUESTED CMOS DATA
IODelay ; I/O DELAY
ENDM

;
; CMOS_WRITE
;
; Description: This macro reads a byte from the CMOS register specified
; in (AL).
;
; Parameter: (AL) = address/register to read
; (AH) = data to be written
;
; Return: None
;

CMOS_WRITE MACRO
OUT CMOS_CONTROL_PORT,AL ; ADDRESS LOCATION AND DISABLE NMI
IODelay ; I/O DELAY
MOV AL,AH ; (AL) = DATA
OUT CMOS_DATA_PORT,AL ; PLACE IN REQUESTED CMOS LOCATION
IODelay ; I/O DELAY
ENDM

第三部分:
//
// CMOS related definitions and macros
//

#define CMOS_CONTROL_PORT 0x70 // cmos command port
#define CMOS_DATA_PORT 0x71 // cmos data port
#define CMOS_FLOPPY_CONFIG_BYTE 0x10

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/26 6:35:54

Linly-Talker支持语音关键词触发特定动作或动画

Linly-Talker:让数字人“听见”关键词并做出反应 在一场电商直播中,观众刚说出“讲解一下价格”,屏幕上的虚拟主播立刻指向商品区域,弹出优惠信息动画;在银行智能柜台前,客户一句“我要转账”,数…

作者头像 李华
网站建设 2026/8/28 0:32:38

Linly-Talker可用于校园迎新导览机器人开发

Linly-Talker在校园迎新导览机器人中的实践应用 想象一下,新生拖着行李走进校园,迎面而来的不是冷冰冰的指示牌,而是一位面带微笑、会眨眼会点头的“学姐”数字人,用熟悉亲切的声音说:“欢迎来到XX大学!我是…

作者头像 李华
网站建设 2026/8/26 22:06:03

【顶尖AI工程师私藏笔记】:Open-AutoGLM任务分治策略全曝光

第一章:Open-AutoGLM任务分治策略的核心理念Open-AutoGLM 是一种面向复杂自然语言任务的自动化推理框架,其核心在于通过任务分治策略将宏观问题拆解为可管理、可执行的子任务。该策略借鉴了人类解决复杂问题时的思维路径——先整体分析,再逐层…

作者头像 李华
网站建设 2026/8/27 21:46:58

Linly-Talker在汽车HMI系统中的潜在应用前景分析

Linly-Talker在汽车HMI系统中的潜在应用前景分析技术背景与核心价值 在智能座舱从“能用”向“好用”演进的今天,用户对车载交互的期待早已超越了简单的语音唤醒和指令执行。当我们在高速上疲惫时,希望有人轻声提醒休息;当孩子坐在后排问“星…

作者头像 李华
网站建设 2026/8/26 7:58:53

Linly-Talker在远程教育中的实际应用效果调研报告

Linly-Talker在远程教育中的实际应用效果调研报告 在一场偏远山区中学的在线物理课上,学生小李对着麦克风提问:“老师,为什么月亮不会掉下来?”不到两秒后,屏幕中一位神情亲切的数字人教师微微侧头,仿佛在思…

作者头像 李华
网站建设 2026/8/25 14:54:49

网络安全毕设最新题目怎么选

1 引言 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满足实际应用需求&#xff…

作者头像 李华