首页
社区
课程
招聘
菜菜请教关于int13h的问题
2004-12-14 10:48 3467

菜菜请教关于int13h的问题

2004-12-14 10:48
3467
扩展int13h的寄存器约定是应该用ds:si还是ds:di指向dap怎么不同文章上说法不一致啊?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞1
打赏
分享
最新回复 (3)
雪    币: 16
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
great1234 2004-12-14 10:57
2
0
; INT 13 extended read =
-------------------------------------------------------------------------=
-------                                                                  =

                                ; Entry:AH - 42h                         =
                                                                       =20
                                ;       DL - Drive number                =
                                                                       =20
                                ;       DS:SI - Disk address packet      =
                                                                       =20
                                ; Exit: carry clear                      =
                                                                       =20
                                ;       AH - 0                           =
                                                                       =20
                                ;       carry set                        =
                                                                       =20
                                ;       AH - error code                  =
                                                                       =20
                                ; This function transfer sectors from =
the device to memory. In the event of an error,                          =
=20
                                ; the block count field of the disk =
address packet contains the number of good blocks                        =
   =20
                                ; read before the error occurred.        =
                                                                       =20
                                ;                                        =
                                                                       =20
                                ; DS:SI ->    Device address packet   =
                                                                         =
     =20
                                ; Offset      Type         Description          =
                                                                         =
=20
                                ; 0         Byte  Packet size in bytes. Shall =
be 10h.
                                ; 1         Byte  Reserved, must be 0           =
                                                                =20
                                ; 2         Byte  Number of blocks to transfer. =
This field has a maximum value of 127 (7Fh).
                                ; 3         Byte  Reserved, must be 0           =
                                                                =20
                                ; 4         2Word Address of transfer buffer. =
The is the buffer which Read/Write operations will use            =20
                                ;               to transfer the data. This is a =
32-bit address of the form Seg:Offset.=20
                                ; 8         4word Starting logical block =
address, on the target device, of the data to be transferred.          =20
                                ;               This is a 64 bit unsigned =
linear address. If the device supports LBA addressing this          =20
                                ;               value should be passed =
unmodified. If the device does not support LBA addressing              =20
                                ;               the following formula holds =
true when the address is converted to a CHS value:                =20
                                ;               LBA =3D (C1 * H0 + H1) * S0 + =
S1 - 1                                                            =20
                                ;               where:        C1 =3D Selected Cylinder =
Number                                                         =20
                                ;                         H0 =3D Number of Heads (Maximum =
Head Number + 1)                                        =20
                                ;                         H1 =3D Selected Head Number         =
                                                    =20
                                ;                         S0 =3D Maximum Sector Number        =
                                                    =20
                                ;                         S1 =3D Selected Sector Number       =
                                                    =20
雪    币: 390
活跃值: (707)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
firstrose 16 2004-12-14 11:30
3
0
INT 13 - IBM/MS INT 13 Extensions - EXTENDED WRITE
        AH = 43h
        AL = write flags
           ---v1.0,2.0---
           bit 0: verify write
           bits 7-1 reserved (0)
           ---v2.1+ ---
           00h,01h write without verify
           02h write with verify
        DL = drive number
        DS:SI -> disk address packet (see #00272)
Return: CF clear if successful
            AH = 00h
        CF set on error
            AH = error code (see #00234)
            disk address packet's block count field set to number of blocks
              successfully transferred
Note:        the BIOS returns CF set/AH=01h (invalid function) if verify is
          requested but not supported
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
747 2004-12-14 11:40
4
0
xiexie
游客
登录 | 注册 方可回帖
返回