diff options
Diffstat (limited to 'contrib/syslinux/latest/dos/int2526.S')
-rw-r--r-- | contrib/syslinux/latest/dos/int2526.S | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/contrib/syslinux/latest/dos/int2526.S b/contrib/syslinux/latest/dos/int2526.S deleted file mode 100644 index 53e63f8..0000000 --- a/contrib/syslinux/latest/dos/int2526.S +++ /dev/null @@ -1,78 +0,0 @@ -/* ----------------------------------------------------------------------- * - * - * Copyright 1998-2008 H. Peter Anvin - All Rights Reserved - * Copyright 2009 Intel Corporation; author: H. Peter Anvin - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, Inc., 53 Temple Place Ste 330, - * Boston MA 02111-1307, USA; either version 2 of the License, or - * (at your option) any later version; incorporated herein by reference. - * - * ----------------------------------------------------------------------- */ - -/* - * int 0x25 and 0x26 direct sector access - * - * Use assembly wrapper functions for these system calls, since unlike - * int 0x21 calls they are "dirty" and can destroy unrelated registers. - * - * NOTE: these all assume the data buffer is in the data segment, i.e. - * %ds == %es == dio.bufseg. - * - * Usage: int int25_read_sector(drive, dio) - * Usage: int int26_write_sector(drive, dio) - */ - - .code16gcc - .text - - .globl int25_read_sector - .type int25_read_sector, @function -int25_read_sector: - pushl %ebp - pushl %edi - pushl %esi - pushl %ebx - - decw %ax /* AL = drive number (0 = A:) */ - movw %dx, %bx /* BX = dio structure */ - movw 6(%bx), %dx /* DX = data buffer */ - movw $-1, %cx - int $0x25 - jc 1f - xorw %ax, %ax /* Error code: 0 = no error */ -1: - popfw - movzwl %ax, %eax - popl %ebx - popl %esi - popl %edi - popl %ebp - retl - .size int25_read_sector, .-int25_read_sector - - .globl int26_write_sector - .type int26_write_sector, @function -int26_write_sector: - pushl %ebp - pushl %edi - pushl %esi - pushl %ebx - - decw %ax /* AL = drive number (0 = A:) */ - movw %dx, %bx /* BX = dio structure */ - movw 6(%bx), %dx /* DX = data buffer */ - movw $-1, %cx - int $0x26 - jc 1f - xorw %ax, %ax /* Error code: 0 = no error */ -1: - popfw - movzwl %ax, %eax - popl %ebx - popl %esi - popl %edi - popl %ebp - retl - .size int26_write_sector, .-int26_write_sector |