BIOS and Interupts - Windows

void_ptr 2009-03-17 04:00:17
不知windows xp中的内存中:
BIOS中断程序放在哪里,中断门描述符?如何枚举,用枚举GDT么?
如何与dos下的中断对应,或说与某个中断号对应起来?
...全文
159 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zeroins 2009-03-20
  • 打赏
  • 举报
回复
c0: 805420c0 nt!KiUnexpectedInterrupt144
c1: 806e6ac0
c2: 805420d4 nt!KiUnexpectedInterrupt146
c3: 805420de nt!KiUnexpectedInterrupt147
c4: 805420e8 nt!KiUnexpectedInterrupt148
c5: 805420f2 nt!KiUnexpectedInterrupt149
c6: 805420fc nt!KiUnexpectedInterrupt150
c7: 80542106 nt!KiUnexpectedInterrupt151
c8: 80542110 nt!KiUnexpectedInterrupt152
c9: 8054211a nt!KiUnexpectedInterrupt153
ca: 80542124 nt!KiUnexpectedInterrupt154
cb: 8054212e nt!KiUnexpectedInterrupt155
cc: 80542138 nt!KiUnexpectedInterrupt156
cd: 80542142 nt!KiUnexpectedInterrupt157
ce: 8054214c nt!KiUnexpectedInterrupt158
cf: 80542156 nt!KiUnexpectedInterrupt159
d0: 80542160 nt!KiUnexpectedInterrupt160
d1: 806e5e54
d2: 80542174 nt!KiUnexpectedInterrupt162
d3: 8054217e nt!KiUnexpectedInterrupt163
d4: 80542188 nt!KiUnexpectedInterrupt164
d5: 80542192 nt!KiUnexpectedInterrupt165
d6: 8054219c nt!KiUnexpectedInterrupt166
d7: 805421a6 nt!KiUnexpectedInterrupt167
d8: 805421b0 nt!KiUnexpectedInterrupt168
d9: 805421ba nt!KiUnexpectedInterrupt169
da: 805421c4 nt!KiUnexpectedInterrupt170
db: 805421ce nt!KiUnexpectedInterrupt171
dc: 805421d8 nt!KiUnexpectedInterrupt172
dd: 805421e2 nt!KiUnexpectedInterrupt173
de: 805421ec nt!KiUnexpectedInterrupt174
df: 805421f6 nt!KiUnexpectedInterrupt175
e0: 80542200 nt!KiUnexpectedInterrupt176
e1: 806e7048
e2: 80542214 nt!KiUnexpectedInterrupt178
e3: 806e6dac
e4: 80542228 nt!KiUnexpectedInterrupt180
e5: 80542232 nt!KiUnexpectedInterrupt181
e6: 8054223c nt!KiUnexpectedInterrupt182
e7: 80542246 nt!KiUnexpectedInterrupt183
e8: 80542250 nt!KiUnexpectedInterrupt184
e9: 8054225a nt!KiUnexpectedInterrupt185
ea: 80542264 nt!KiUnexpectedInterrupt186
eb: 8054226e nt!KiUnexpectedInterrupt187
ec: 80542278 nt!KiUnexpectedInterrupt188
ed: 80542282 nt!KiUnexpectedInterrupt189
ee: 80542289 nt!KiUnexpectedInterrupt190
ef: 80542290 nt!KiUnexpectedInterrupt191
f0: 80542297 nt!KiUnexpectedInterrupt192
f1: 8054229e nt!KiUnexpectedInterrupt193
f2: 805422a5 nt!KiUnexpectedInterrupt194
f3: 805422ac nt!KiUnexpectedInterrupt195
f4: 805422b3 nt!KiUnexpectedInterrupt196
f5: 805422ba nt!KiUnexpectedInterrupt197
f6: 805422c1 nt!KiUnexpectedInterrupt198
f7: 805422c8 nt!KiUnexpectedInterrupt199
f8: 805422cf nt!KiUnexpectedInterrupt200
f9: 805422d6 nt!KiUnexpectedInterrupt201
fa: 805422dd nt!KiUnexpectedInterrupt202
fb: 805422e4 nt!KiUnexpectedInterrupt203
fc: 805422eb nt!KiUnexpectedInterrupt204
fd: 806e75a8
fe: 806e7748
ff: 80542300 nt!KiUnexpectedInterrupt207

如果一个操作系统启动后不准备再回到实模式,由BIOS准备的实模式下的中断向量表不会再有用了,现代操作系统也不会使用BIOS的中断服务来访问硬件,比如硬盘,操作系统有自己的驱动通过Port直接与HDC对话。
Zeroins 2009-03-20
  • 打赏
  • 举报
回复
根据《Linux内核完全剖析》书中的源码和说明,Linux会在合适的时候自己建立IDT表,并将BIOS在内存中建立的中断向量表覆盖掉,其空间另作它用。
Windows XP也是这样,下面是我在Windows XP SP3上使用WinDBG得到的IDT:
Dumping IDT:

00: 805431b0 nt!KiTrap00
01: 8054332c nt!KiTrap01
02: Task Selector = 0x0058
03: 80543740 nt!KiTrap03
04: 805438c0 nt!KiTrap04
05: 80543a20 nt!KiTrap05
06: 80543b94 nt!KiTrap06
07: 8054420c nt!KiTrap07
08: Task Selector = 0x0050
09: 80544610 nt!KiTrap09
0a: 80544730 nt!KiTrap0A
0b: 80544870 nt!KiTrap0B
0c: 80544ad0 nt!KiTrap0C
0d: 80544dbc nt!KiTrap0D
0e: 805454b8 nt!KiTrap0E
0f: 805457f0 nt!KiTrap0F
10: 80545910 nt!KiTrap10
11: 80545a4c nt!KiTrap11
12: Task Selector = 0x00A0
13: 80545bb4 nt!KiTrap13
14: 805457f0 nt!KiTrap0F
15: 805457f0 nt!KiTrap0F
16: 805457f0 nt!KiTrap0F
17: 805457f0 nt!KiTrap0F
18: 805457f0 nt!KiTrap0F
19: 805457f0 nt!KiTrap0F
1a: 805457f0 nt!KiTrap0F
1b: 805457f0 nt!KiTrap0F
1c: 805457f0 nt!KiTrap0F
1d: 805457f0 nt!KiTrap0F
1e: 805457f0 nt!KiTrap0F
1f: 806e710c
20: 00000000
21: 00000000
22: 00000000
23: 00000000
24: 00000000
25: 00000000
26: 00000000
27: 00000000
28: 00000000
29: 00000000
2a: 805429de nt!KiGetTickCount
2b: 80542ae0 nt!KiCallbackReturn
2c: 80542c90 nt!KiSetLowWaitHighThread
2d: 8054361c nt!KiDebugService
2e: 80542461 nt!KiSystemService
2f: 805457f0 nt!KiTrap0F
30: 80541b20 nt!KiUnexpectedInterrupt0
31: 80541b2a nt!KiUnexpectedInterrupt1
32: 80541b34 nt!KiUnexpectedInterrupt2
33: 80541b3e nt!KiUnexpectedInterrupt3
34: 80541b48 nt!KiUnexpectedInterrupt4
35: 80541b52 nt!KiUnexpectedInterrupt5
36: 80541b5c nt!KiUnexpectedInterrupt6
37: 806e6864
38: 80541b70 nt!KiUnexpectedInterrupt8
39: 80541b7a nt!KiUnexpectedInterrupt9
3a: 80541b84 nt!KiUnexpectedInterrupt10
3b: 80541b8e nt!KiUnexpectedInterrupt11
3c: 80541b98 nt!KiUnexpectedInterrupt12
3d: 806e7e2c
3e: 80541bac nt!KiUnexpectedInterrupt14
3f: 80541bb6 nt!KiUnexpectedInterrupt15
40: 80541bc0 nt!KiUnexpectedInterrupt16
41: 806e7c88
42: 80541bd4 nt!KiUnexpectedInterrupt18
43: 80541bde nt!KiUnexpectedInterrupt19
44: 80541be8 nt!KiUnexpectedInterrupt20
45: 80541bf2 nt!KiUnexpectedInterrupt21
46: 80541bfc nt!KiUnexpectedInterrupt22
47: 80541c06 nt!KiUnexpectedInterrupt23
48: 80541c10 nt!KiUnexpectedInterrupt24
49: 80541c1a nt!KiUnexpectedInterrupt25
4a: 80541c24 nt!KiUnexpectedInterrupt26
4b: 80541c2e nt!KiUnexpectedInterrupt27
4c: 80541c38 nt!KiUnexpectedInterrupt28
4d: 80541c42 nt!KiUnexpectedInterrupt29
4e: 80541c4c nt!KiUnexpectedInterrupt30
4f: 80541c56 nt!KiUnexpectedInterrupt31
50: 806e693c
51: 80541c6a nt!KiUnexpectedInterrupt33
52: 80541c74 nt!KiUnexpectedInterrupt34
53: 80541c7e nt!KiUnexpectedInterrupt35
54: 80541c88 nt!KiUnexpectedInterrupt36
55: 80541c92 nt!KiUnexpectedInterrupt37
56: 80541c9c nt!KiUnexpectedInterrupt38
57: 80541ca6 nt!KiUnexpectedInterrupt39
58: 80541cb0 nt!KiUnexpectedInterrupt40
59: 80541cba nt!KiUnexpectedInterrupt41
5a: 80541cc4 nt!KiUnexpectedInterrupt42
5b: 80541cce nt!KiUnexpectedInterrupt43
5c: 80541cd8 nt!KiUnexpectedInterrupt44
5d: 80541ce2 nt!KiUnexpectedInterrupt45
5e: 80541cec nt!KiUnexpectedInterrupt46
5f: 80541cf6 nt!KiUnexpectedInterrupt47
60: 80541d00 nt!KiUnexpectedInterrupt48
61: 80541d0a nt!KiUnexpectedInterrupt49
62: 80541d14 nt!KiUnexpectedInterrupt50
63: 8a601044 ba8ae2f0 (KINTERRUPT 8a601008)
8a6a3bf8 (KINTERRUPT 8a5b0008)
8a6a3bf8 (KINTERRUPT 8a5adbb0)
8a6a3bf8 (KINTERRUPT 8a5aa918)
8a6a3bf8 (KINTERRUPT 8a5ef918)
89667bf8 (KINTERRUPT 89125bb0)
64: 80541d28 nt!KiUnexpectedInterrupt52
65: 80541d32 nt!KiUnexpectedInterrupt53
66: 80541d3c nt!KiUnexpectedInterrupt54
67: 80541d46 nt!KiUnexpectedInterrupt55
68: 80541d50 nt!KiUnexpectedInterrupt56
69: 80541d5a nt!KiUnexpectedInterrupt57
6a: 80541d64 nt!KiUnexpectedInterrupt58
6b: 80541d6e nt!KiUnexpectedInterrupt59
6c: 80541d78 nt!KiUnexpectedInterrupt60
6d: 80541d82 nt!KiUnexpectedInterrupt61
6e: 80541d8c nt!KiUnexpectedInterrupt62
6f: 80541d96 nt!KiUnexpectedInterrupt63
70: 80541da0 nt!KiUnexpectedInterrupt64
71: 80541daa nt!KiUnexpectedInterrupt65
72: 80541db4 nt!KiUnexpectedInterrupt66
73: 8979ca6c ba533e10 (KINTERRUPT 8979ca30)
74: 80541dc8 nt!KiUnexpectedInterrupt68
75: 80541dd2 nt!KiUnexpectedInterrupt69
76: 80541ddc nt!KiUnexpectedInterrupt70
77: 80541de6 nt!KiUnexpectedInterrupt71
78: 80541df0 nt!KiUnexpectedInterrupt72
79: 80541dfa nt!KiUnexpectedInterrupt73
7a: 80541e04 nt!KiUnexpectedInterrupt74
7b: 80541e0e nt!KiUnexpectedInterrupt75
7c: 80541e18 nt!KiUnexpectedInterrupt76
7d: 80541e22 nt!KiUnexpectedInterrupt77
7e: 80541e2c nt!KiUnexpectedInterrupt78
7f: 80541e36 nt!KiUnexpectedInterrupt79
80: 80541e40 nt!KiUnexpectedInterrupt80
81: 80541e4a nt!KiUnexpectedInterrupt81
82: 80541e54 nt!KiUnexpectedInterrupt82
83: 8a5a5bec 8a6a6bf8 (KINTERRUPT 8a5a5bb0)
b9e23cb8 (KINTERRUPT 897ac618)
89667bf8 (KINTERRUPT 89857bb0)
84: 89131bec 89667bf8 (KINTERRUPT 89131bb0)
89667bf8 (KINTERRUPT 8911d858)
85: 80541e72 nt!KiUnexpectedInterrupt85
86: 80541e7c nt!KiUnexpectedInterrupt86
87: 80541e86 nt!KiUnexpectedInterrupt87
88: 80541e90 nt!KiUnexpectedInterrupt88
89: 80541e9a nt!KiUnexpectedInterrupt89
8a: 80541ea4 nt!KiUnexpectedInterrupt90
8b: 80541eae nt!KiUnexpectedInterrupt91
8c: 80541eb8 nt!KiUnexpectedInterrupt92
8d: 80541ec2 nt!KiUnexpectedInterrupt93
8e: 80541ecc nt!KiUnexpectedInterrupt94
8f: 80541ed6 nt!KiUnexpectedInterrupt95
90: 80541ee0 nt!KiUnexpectedInterrupt96
91: 80541eea nt!KiUnexpectedInterrupt97
92: 891307e4 ba9889c0 (KINTERRUPT 891307a8)
93: 896ab74c ba998495 (KINTERRUPT 896ab710)
94: 8969f044 b9dd8dfc (KINTERRUPT 8969f008)
95: 80541f12 nt!KiUnexpectedInterrupt101
96: 80541f1c nt!KiUnexpectedInterrupt102
97: 80541f26 nt!KiUnexpectedInterrupt103
98: 80541f30 nt!KiUnexpectedInterrupt104
99: 80541f3a nt!KiUnexpectedInterrupt105
9a: 80541f44 nt!KiUnexpectedInterrupt106
9b: 80541f4e nt!KiUnexpectedInterrupt107
9c: 80541f58 nt!KiUnexpectedInterrupt108
9d: 80541f62 nt!KiUnexpectedInterrupt109
9e: 80541f6c nt!KiUnexpectedInterrupt110
9f: 80541f76 nt!KiUnexpectedInterrupt111
a0: 80541f80 nt!KiUnexpectedInterrupt112
a1: 80541f8a nt!KiUnexpectedInterrupt113
a2: 80541f94 nt!KiUnexpectedInterrupt114
a3: 89764044 ba99fc90 (KINTERRUPT 89764008)
a4: 89783bec 89667bf8 (KINTERRUPT 89783bb0)
89667bf8 (KINTERRUPT 8979f008)
89667bf8 (KINTERRUPT 896febb0)
a5: 80541fb2 nt!KiUnexpectedInterrupt117
a6: 80541fbc nt!KiUnexpectedInterrupt118
a7: 80541fc6 nt!KiUnexpectedInterrupt119
a8: 80541fd0 nt!KiUnexpectedInterrupt120
a9: 80541fda nt!KiUnexpectedInterrupt121
aa: 80541fe4 nt!KiUnexpectedInterrupt122
ab: 80541fee nt!KiUnexpectedInterrupt123
ac: 80541ff8 nt!KiUnexpectedInterrupt124
ad: 80542002 nt!KiUnexpectedInterrupt125
ae: 8054200c nt!KiUnexpectedInterrupt126
af: 80542016 nt!KiUnexpectedInterrupt127
b0: 80542020 nt!KiUnexpectedInterrupt128
b1: 8a6cf2dc ba66e31e (KINTERRUPT 8a6cf2a0)
8a6a6bf8 (KINTERRUPT 8977c170)
8a6a6bf8 (KINTERRUPT 89794400)
b2: 80542034 nt!KiUnexpectedInterrupt130
b3: 8054203e nt!KiUnexpectedInterrupt131
b4: 896fcaac 89667bf8 (KINTERRUPT 896fca70)
b5: 80542052 nt!KiUnexpectedInterrupt133
b6: 8054205c nt!KiUnexpectedInterrupt134
b7: 80542066 nt!KiUnexpectedInterrupt135
b8: 80542070 nt!KiUnexpectedInterrupt136
b9: 8054207a nt!KiUnexpectedInterrupt137
ba: 80542084 nt!KiUnexpectedInterrupt138
bb: 8054208e nt!KiUnexpectedInterrupt139
bc: 80542098 nt!KiUnexpectedInterrupt140
bd: 805420a2 nt!KiUnexpectedInterrupt141
be: 805420ac nt!KiUnexpectedInterrupt142
bf: 805420b6 nt!KiUnexpectedInterrupt143
mngzilin 2009-03-20
  • 打赏
  • 举报
回复
建议你去看下《计算机安全与病毒防范》,里面讲的很详细!~
jxc25 2009-03-20
  • 打赏
  • 举报
回复
上面的是有apic的Dumping IDT
没有apic的Dumping IDT是30h+外中断线号(3*8)
dos的是(8+外中断线号(8))(70+外中断线号(8))
有硬件拦截I/O端口的技术是ba i* I/O端口号
void_ptr 2009-03-20
  • 打赏
  • 举报
回复
以上地址的代码是bios的代码还是ms的?如何"Dumping IDT:"和怎样与dos中断联系起来?
例外问下 关于 是否有软件/硬件拦截I/O端口的技术?
jxc25 2009-03-17
  • 打赏
  • 举报
回复
Dumping IDT:

37: 806b6900 hal!PicSpuriousService37
3d: 806b7c94 hal!HalpApcInterrupt
41: 806b7b08 hal!HalpDispatchInterrupt
50: 806b69d8 hal!HalpApicRebootService
62: 813d8044 atapi!IdePortInterrupt (KINTERRUPT 813d8008)
73: 813d856c SCSIPORT!ScsiPortInterrupt (KINTERRUPT 813d8530)
82: 81375cc4 atapi!IdePortInterrupt (KINTERRUPT 81375c88)
93: 813c538c i8042prt!I8042KeyboardInterruptService (KINTERRUPT 813c5350)
a3: 8138557c i8042prt!I8042MouseInterruptService (KINTERRUPT 81385540)
b1: 813ea1d4 ACPI!ACPIInterruptServiceRoutine (KINTERRUPT 813ea198)
c1: 806b6b44 hal!HalpBroadcastCallService
d1: 806b5ee4 hal!HalpClockInterrupt
e1: 806b70a0 hal!HalpIpiHandler
e3: 806b6e1c hal!HalpLocalApicErrorService
fd: 806b75cc hal!HalpProfileInterrupt
内容概要:本文围绕“新型电力系统下多分布式电源接入配电网承载力评估方法”的研究,系统性地介绍了基于Matlab的仿真建模与代码实现方案,旨在评估高比例分布式电源(如光伏、风电等)接入背景下配电网的接纳能力。研究融合了智能优化算法(如蜣螂优化、灰狼优化、遗传算法)、多目标优化、鲁棒优化及双层优化模型,结合潮流计算、稳定性分析与故障仿真,构建了完整的承载力评估体系。文档不仅提供核心算法实现,还拓展至微电网调度、储能配置、电氢耦合系统、电动汽车协同等前沿方向,强调“复现+创新”相结合的科研路径,助力研究者快速掌握高水平论文复现技巧并激发原创思路。; 适合人群:具备电力系统、自动化或相关专业背景,熟悉Matlab/Simulink仿真环境,正在从事科研或工程应用的研究生及初级科研人员(工作1-3年);; 使用场景及目标:①复现高水平期刊中关于配电网承载力的优化模型;②开展高比例可再生能源接入下的配电网规划与运行研究;③学习并应用智能优化算法解决复杂电力系统问题;④获取完整科研资源包以加速课题进展与论文撰写; 阅读建议:建议读者关注公众号“荔枝科研社”获取网盘资源,下载全套代码与模型文件,按照文档结构循序渐进学习,重点理解算法设计逻辑与仿真建模细节,结合所提供的复现案例深化对优化模型与工程应用场景的理解,提升科研效率与创新能力。

21,500

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧