登录
首页 » Delphi源码 » Delphi 读写物理扇区——实模式

Delphi 读写物理扇区——实模式

于 2022-01-24 发布 文件大小:566.66 kB
0 187
下载积分: 2 下载次数: 1

代码说明:

Delphi 读写物理扇区——实模式, asm //以下汇编代码中,只有第一参数、第二参数、pFunc的值是需要改变的,其余都是固定的写法    pushad    push ebp //#2,保存ebp    sub esp,$2c //#1,预留2c字节的栈空间    push Int13Reg16 //第一参数,如果没有参数,则不用push    //第二参数,如果没有参数,则不用push    mov edx, pFunc //函数地址    mov ebp,esp //    add ebp,$2c //ebp校正,是作者分析QT_Thunk时发现的    call QT_Thunk    add esp,$2c //#1,释放上面预留的2c字节的栈空间    pop ebp //#2,恢复ebp    mov byte ptr @result,al    popad    end;

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 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   
    2023-02-13 04:55:03下载
    积分:1
  • delphi开发的谷歌翻译工具内含源码
    delphi开发的谷歌翻译工具,使用该工具可以不用打开浏览器,然后输入谷歌翻译地址才能进行翻译工作, 而这个工具可以快速打开并直接在文本框中输入你要翻译的文本内容即可翻译了。 同时,你拿到此源码还可以进行二次开发,以满足你更多需要和想象。
    2022-01-25 22:56:02下载
    积分:1
  • Delphi 从剪贴板中读取图片
    Delphi 从剪贴板中读取图片,Windows剪帖板相信大家都知道吧,这个程序可查看剪贴板中的图像,将图片另保存,可看作是一个查看剪贴板中图片的一个例子。   implementation   {$R *.dfm}   procedure TForm1.BitBtn1Click(Sender: TObject);   begin    Clipboard().Assign(Image1.Picture.Bitmap);   end;   procedure TForm1.BitBtn2Click(Sender: TObject);   begin    if Clipboard().HasFormat(CF_BITMAP) then    Image2.Picture.Bitmap.Assign(Clipboard());   end;   procedure TForm1.BitBtn3Click(Sender: TObject);   begin    Image2.picture := nil;   end;   end.
    2022-06-13 13:08:12下载
    积分:1
  • Delphi 邮件短信发送自动通知系统
    Delphi 邮件短信自动通知系统,并且支持邮件发送、邮件帐户管理、类似于微软Windows中的Outlook邮件客户端的功能,可添加邮箱帐户自动收集,并在有新邮件时提示用户登录查看。本程序可发送适合到用户手机来通知邮件情况,部分功能需要依赖于硬件支持。   程序可最小化到windows托盘处显示图标,通过定义好的右键菜单来调出主窗口,虽然是一个发邮件的小程序,但是暗含的Delphi技巧有很多哦,欢迎下载源码研究学习。   1.实现邮件检测功能:   (1)注册账号,注意正确添写POP3服务器,用户名,密码。   2.实现发送短信功能:   (1)在注册账号时要添写正确的手机号码,并选中发送到手机的复选框。   (2)跟据自己购买的GSM模块说明书设置串口参数,一般是“19200,n,8,1”。   (3)添写当地短信中心号码,前面的86可加可不加,如果没有写,系统在按“确定”后会自动加上。   (4)注意:如果短信中含有中文字符,则一定要设成Pdu模式,否则短信可能发送失败。
    2023-07-27 17:40:06下载
    积分:1
  • Delphi 演示如何播放GIF动画
    Delphi 演示如何播放GIF动画,其实就是在窗口中显示GIF图像,这是一种连续显示类似于动画效果的图像格式,在窗体上只要可以正常显示这种文件,就能实现播放功能,如示例截图所示的效果。
    2023-05-10 00:50:04下载
    积分:1
  • Delphi7 获取文件的修改时间
    Delphi7 获取文件的修改时间,这是一个文件操作实例源代码,获取到文件被修改的时间,代码简单,适合Delphi新手学习参考。
    2022-03-25 03:51:22下载
    积分:1
  • 用Delphi生成图片水平交错的动态显示效果
    用Delphi生成图片水平交错的动态显示效果,是一个简单的图片动态显示效果,显示图片的时候,以水平左右交错的方式显示,可用于电子相册中,用于多张图片切换时的过渡动画效果。   本程序有个缺点:只支持BMP的图片,对JPG支持不好,其它格式也不行哦。
    2022-03-23 01:50:52下载
    积分:1
  • Delphi+Interbase-Code-汽配进销存源码-源代码全-使用手册-钻石精品
    (R)-Delphi+Interbase-Code-龙邦汽配进销存源码-源代码全-使用手册-钻石精品
    2022-03-16 11:47:13下载
    积分:1
  • 形象的电子表-Delphi程序
    Delphi编写制作一款形象的电子表(钟表)效果,模拟时钟,界面方面做成了圆形,看不见窗口的边框,像是透明的窗口,各个指针会走动,关于各个指针的移动及计算方法,有兴趣可参考:   vh := Hour/12.0*2*Pi;   vm := Min/60.0*2*Pi;   vs := Sec/60.0*2*Pi;   with Canvas do   begin    Pen.Width:=4;    Pen.Color := clBlack;    MoveTo(60,60);    LineTo(60+Round(25*Sin(vh)),60-Round(25*Cos(vh)));    Pen.Width:=2;    Pen.Color := clBlack;    MoveTo(60,60);    LineTo(60+Round(45*Sin(vm)),60-Round(45*Cos(vm)));    Pen.Width:=1;    Pen.Color := clRed;    MoveTo(60,60);    LineTo(60+Round(55*Sin(vs)),60-Round(55*Cos(vs)));   end;   窗体方面:这个圆盘窗口要是能移动就好了,不支持右键菜单,也不能关闭,关闭窗口需要按键盘上的ALT+F4。
    2022-01-27 12:29:32下载
    积分:1
  • Delphi 使用Canvas美化ListBox列表项
    Delphi 使用Canvas美化列表项,当用户鼠标单击ListBox列表项时,该列表项高亮显示,改变背景色,文字居中对齐,如图所示。   主要是使用了Delphi中的Canvas.FrameRect对其进行美化,具体代码有兴趣可参考:   Canvas.FrameRect(Clientrect);   if odSelected in State then   begin    Canvas.Brush.Color:=clRed;    Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,8,15);    setBkMode(Canvas.Handle,TRANSPARENT );    Canvas.TextOut((Rect.right-Rect.Left) div 2,Rect.Top,Items.Strings[Index]);   end   else   begin    Canvas.Brush.Color:=clSkyBlue;    Canvas.RoundRect(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom,15,15);    Canvas.TextRect(Rect,Rect.Left,Rect.Top,Items.Strings[Index]);   end;
    2022-06-01 23:33:23下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载