{D7+Win98,不能用于2000}
单位mainnit;
界面
用途
Windows,Messages,Sysutils,变体,类,图形,控件,表单,表单,
对话,stdctrls;
类型
tform1 = class(tform)
Button 1:Tbutton;
Button2:tbutton;
Button3:Tbutton;
过程button1Click(发件人:tobject);
过程button2Click(发件人:tobject);
过程button3Click(发件人:tobject);
私人的
{私人声明}
民众
{公开声明}
结尾;
var
form1:tform1;
执行
{$ r *.dfm}
过程速度(count:word); stdcall;
const
异常= $ 03;
var
IDT:字节的数组[0..5];
lpoldgate:dword;
开始
ASM
sidt idt
MOV EBX,DWORD PTR [IDT+2]
添加EBX,8*例外
CLI
mov dx,单词ptr [ebx+6]
SHL EDX,16d
mov dx,word ptr [ebx]
mov [lpoldgate],edx
mov eax,offset @@ ring0code
mov word ptr [ebx],斧头
Shr Eax,16d
mov Word ptr [EBX+6],斧头
int例外
MOV EBX,DWORD PTR [IDT+2]
添加EBX,8*例外
MOV EDX,[lpoldgate]
mov Word Ptr [EBX],DX
Shr Edx,16d
mov Word Ptr [EBX+6],DX
JMP @@退出
@@ ring0code:
MOV AL,34美元
$ 43,al
MOV AX,计数
$ 40,Al
Mov Al,啊
$ 40,Al
IRETD
@@出口:
结尾;
结尾;
过程tform1.button1Click(发件人:tobject);
开始
速度($ 6000); //慢
结尾;
过程tform1.button2Click(发件人:tobject);
开始
速度($ 1044);
结尾;
过程tform1.button3click(发件人:tobject);
开始
速度($ 500);
结尾;
结尾。