写入影子内存?

我想写F000:0000〜FFFF:0000在实模式(DOS)。
但是,这个区域写保护。

我试图找到CPU与北桥芯片的数据表。
但是,我找不到影子RAM的写入方法。

我的系统configuraion:
M / B:华硕P5B(965P芯片组)
CPU:英特尔奔腾4系列

BIOS:AMI



--------------解决方案-------------

F000:0000〜FFFF:0000是一个内存范围指向HMA,在80286以后的所有处理器,您可以阅读更多的在这里。

要使用它,而HIMEM.SYS,你应该做以下几点:

您可以直接控制8042键盘控制器。 使用命令D1。 写输出端口:写入端口60h的下一个字节被放置在8042输出端口。

.286
mov al,0d1h ;send command to 8042
out 64h,al
reloop: in al,64h ;check that port 60h is available
or al,02h
jnz reloop
mov al,11100011b ;keep keyboard working and gate a20
out 60h,al
push -1 ;set es=ffffh
pop es
push 00h
pop ds ;set ds=0000h
mov di,10h ;check if it worked, compare
xor si,si ;ffff:0010h to 0000:0000 for 16 bytes
mov cx,di ;set cx to 10h
cld
rep cmpsb ;compare it
je failed
[...] ;worked, copy virus to ffff:xxxx
failed: jmp short failed ;do whatever

分类:记忆 时间:2012-07-11 人气:0
本文关键词: 内存,DOS
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.176 (s). 9 q(s)