Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- TASM 2.x / MASM 6.x Assembly Language - <b>int 26h (38) absolute disk write</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 26h (38)             Absolute Disk Write

    Writes one or more sectors on a specified logical disk.

       On entry:      AL         Drive number (0=A, 1=B)
                      CX         Number of sectors to write
                      DX         Starting sector number
                      DS:DX      Address of sectors to write

       Returns:       AX         Error code (if CF is set; see below)
                      Flags   DOS leaves the flags on the stack

   For DOS 4.+ >32MB disk access:

        On entry:      AL         Drive number (0=A, 1=B,...)
                       CX         0FFFFH . indicates extended format
                       DS:BX      Address of Control Packet (see below)

                       Control Packet:
                       DD       SECTOR  ;Logical sector number (0 origin)
                       DW       COUNT   ;Number of sectors to write
                       DD       BUFFER  ;DS:Offset of data buffer

        Returns:       AX        Error code (if CF is set; see INT 25h)
                       Flags     DOS leaves the flags on the stack

  --------------------------------------------------------------------------

    This interrupt reads one or more sectors from a disk drive, and is
    comparable to the service provided by the ROM BIOS in Interrupt 13h.

    See the descrition on INT 25h for the full details.

    For extended disks under DOS 4+, you pass the address of a Control
    Packet in DS:BX. This extended support is offered because DOS 4+ can
    support disks with media larger than 32MB.

    The control packet is made up of the following fields:

                       Control Packet:
                       DD       SECTOR  ;Logical sector number (0 origin)
                       DW       COUNT   ;Number of sectors to write
                       DD       BUFFER  ;DS:Offset of data buffer

    You pass a doubleword logical sector number, followed by a one-word count
    of sectors to write, and then the doubleword address of the data buffer.
    If you use conventional parameters and try to access media greater than
    32MB, the error returned in AX is 0207H.

    Before you use INTs 25h or 26h, DOS 4+ must know how a disk or diskette
    is formatted. With hard disks, this is not a problem, but if you are
    using a diskette, you should call INT 21h, function 47h (Get Current
    Directory) before using INTs 25h or 26h.

See Also: INT 25h INT 13h, 03h

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson