Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys/go32/int86x.s')
-rw-r--r--newlib/libc/sys/go32/int86x.s103
1 files changed, 0 insertions, 103 deletions
diff --git a/newlib/libc/sys/go32/int86x.s b/newlib/libc/sys/go32/int86x.s
deleted file mode 100644
index 7b49bcd12..000000000
--- a/newlib/libc/sys/go32/int86x.s
+++ /dev/null
@@ -1,103 +0,0 @@
- .data
-ds:
- .word 0
-es:
- .word 0
-fs:
- .word 0
-gs:
- .word 0
-
- .globl int86
-int86:
- .byte 0x2e
- push ds
- pop %ds
- .byte 0x2e
- push es
- pop %es
- .byte 0x2e
- push fs
- pop %fs
- .byte 0x2e
- push gs
- pop %gs
-
- .byte 0xcd
-int86_vec:
- .byte 0x03
- ret
-
- .text
- .globl _int86x
-_int86x:
- movl 16(%esp), %eax
-
- movw 2(%eax), %cx
- movw %cx, ds
- movw 4(%eax), %cx
- movw %cx, es
- movw 6(%eax), %cx
- movw %cx, fs
- movw 8(%eax), %cx
- movw %cx, gs
-
- jmp int86_common
-
- .globl _int86
-_int86:
- movw %ds, %ax
- movw %ax, ds
- movw %ax, es
- movw %ax, fs
- movw %ax, gs
- jmp int86_common
-
-int86_common:
- pushl %ebp
- movl %esp,%ebp
- pushl %ebx
- pushl %esi
- pushl %edi
- pushf
-
- movl 8(%ebp),%eax
- movb %al,int86_vec
-
- movl 12(%ebp),%eax
- movl 4(%eax),%ebx
- movl 8(%eax),%ecx
- movl 12(%eax),%edx
- movl 16(%eax),%esi
- movl 20(%eax),%edi
- movl (%eax),%eax
-
- push %ds
- push %es
- call int86
- pop %es
- pop %ds
-
- pushf
- pushl %eax
- movl %esp,%ebp
- addl $24,%ebp
- movl 16(%ebp),%eax
- popl (%eax)
- movl %ebx,4(%eax)
- movl %ecx,8(%eax)
- movl %edx,12(%eax)
- movl %esi,16(%eax)
- movl %edi,20(%eax)
- popl %ebx /* flags */
- movl %ebx,28(%eax)
- andl $1,%ebx
- movl %ebx,24(%eax)
- movl (%eax),%eax
-
- popf
- popl %edi
- popl %esi
- popl %ebx
- popl %ebp
- ret