当前位置:首页 > 我的杂物 > 正文内容

不知所云的乱弹技术笔记记录。

Peirre4年前 (2022-03-05)我的杂物506

2.jpg

电脑的主板有总线架构,所以每个主板不尽相同。 其中有个Power Management 总线管理各个总线,有个PM Register寄存器很重要。 而且在一般的英文版的计算机硬件白皮书写得很隐晦,并有所保留。 这个寄存器只有几个值可用,如 50h,54h,58h,5ch等。 现在说说ROM BIOS分配地址的计算公式: 如BIOS芯片模块在设备总线14h,功能支线为3h,可以对BIOS芯片设置读写保护。 

格式为
    段名      字位       描述 
基地址    31:11     ROM基地址 21位基地址 字位10:0 访问为0,在这之前是2k对齐 
长度      10:2      9字位(0-511)定义为1k-512k,包含1k。 
读保护     1        置位,读内存返回FFh 
写保护     0        置位,写内存没效

例子:
32K的LPC ROM 保护开始基地址为FFF80000。 
基地址位    31:11           1111 1111 1111 1000 0000 0 b 
长度 32K 字位 10:2            0 0001 1111 b = 1Fh = 32d 
读保护位 1               1 
写保护位 0               1 
 寄存器 50h 的总线地址为: 1111 1111 1111 1000 0000 0000 0111 1111b
                       =  FFF8007Fh 
注意:1. 寄存器50-5Fh 能在硬件复位后写1次,挂起写入没效果。
   2. 设置和升级LPC ROM 区 的读和写程序单元 双校验读保护会使程序中断。

PCI BIOS中断程序开发例子:

I/O 端口为 c00h和 c01h 索引/数据格式

图表:

3.jpeg

汇编机器语言例子:

mov dx,0c00h ;写IO端口C00

mov al,01h      ;索引PCI 硬件中断 INTB# 线

out dx,al          ;设置索引到 INTB#

mov dx,0c01h ;写入中断数10(0Ah)

mov al,0ah

out dx,al         ;连接IRQB#(INTB#) 到中断 10


PM_REG 数值表:


分享给朋友:

相关文章

2020上半年在家里玩的游戏介绍。

2020上半年在家里玩的游戏介绍。

一大早晨起来休息了一下,现在是冠状病毒肺炎时期。在家休息出不了门,一大早玩游戏快打旋风,发现了一个广告牌,是非典的广告语。第二个游戏介绍最早的魂斗罗卡带256K日文版这个游戏的游戏名称叫Gryzor(...

可以对齐表格的一些字体。

可以对齐表格的一些字体。

AR PL UKai CN BookAR PL UKai HK BookAR PL UKai TW BookAR PL UMing CN LightAR PL UMing HK LightAR PL...

来个游戏的玩法吧。

来个游戏的玩法吧。

早期的DOS游戏复杂度大一点的,比如说大航海时代2。又好玩又免费,如果加上一个地球仪就很有意思了。这个游戏有很多数值,地图数据和世界地图一样,不过细节上不一样。玩这个游戏可以学到很多地理知识。乐趣也很...

有幸找到IP分析源码。

有幸找到IP分析源码。

这两天翻硬盘资料,找到windows 2000关于网络IP的一份源码。看见网络上只有CSDN处有一份,于是贴了出来,含源码分析。inet_addr函数_misterliwei的专栏-CSDN博客_in...

CPUID这个汇编指令到底有什么用。先谈谈01子功能。

CPUID这个汇编指令到底有什么用。先谈谈01子功能。

最近在翻览intel公司的CPU开发白皮书,对CPUID这个指令做了一下了解。CPUID这个指令就像一个功能函数一样,只要CPU的寄存器EAX有数据,它会在执行CPUID指令后返回到EAX,EBX,E...

关于BOCHS轻量PC模拟器配置和辅助工具。

关于BOCHS轻量PC模拟器配置和辅助工具。

BOCHS是一个轻量级小型系统模拟器。它可以用来开发引导模块,测试系统。BOCHS一开始上手不容易配置。简单的配置megs: 32 romimage: file=$BXSHARE...