Delphi 变速齿轮# 让时间变快减慢
代码说明:
Delphi 变速齿轮# 让时间变快减慢,其实这个似乎是做不到的,只是模拟一下,代码及描述如下: procedure Speed(count:word); stdcall; const ExceptionUsed = $03; { 中断号也可以用其它的中断号} var IDT : array [0..5] of byte; { 保存中断描述符表} lpOldGate : dword; {存放旧向量} begin asm push ebx sidt IDT {读入中断描述符表} mov ebx, dword ptr [IDT+2]{IDT表基地址} add ebx, 8*ExceptionUsed {计算中断在中断描述符表中的位置} cli {关中断} mov dx, word ptr [ebx+6] {取6,7字节 另外4字节用于门属性和选择子 } shl edx, 16d {左移16位} mov dx, word ptr [ebx] {取1,2字节 } mov [lpOldGate], edx {保存旧的中断门} mov eax, offset @@Ring0Code {修改向量,指向Ring0级代码段} mov word ptr [ebx], ax {低16位,保存到1,2字} shr eax, 16d mov word ptr [ebx+6], ax {高16位,保存到6,7位} int ExceptionUsed {发生中断} mov ebx, dword ptr [IDT+2] {重新定位到中断描述符表中} add ebx, 8*ExceptionUsed mov edx, [lpOldGate] mov word ptr [ebx], dx
下载说明:请别用迅雷下载,失败请重下,重下不扣分!