4
0
mirror of git://sourceware.org/git/newlib-cygwin.git synced 2025-01-15 19:09:58 +08:00
Jeff Johnston ee37ede1d3 2001-02-22 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/machine/setjmp-dj.h: With DJ Delorie's permission,
        changed the copyright information to allow free modification of the
        file with no reference to "copying.dj".
        * libc/include/sys/stat-dj.h: Ditto.
        * libc/machine/i386/setjmp.S: Ditto.
        * libc/sys/h8300hms/sys/file.h: Ditto.
        * libc/sys/sysmec/access.c: Ditto.
        * libc/sys/sysnecv850/access.c: Ditto.
        * libc/stdio/mktemp.c: Fixed typo for the word copyright.
        * libc/stdlib/getenv_r.c: Ditto.
        * libc/stdlib/putenv_r.c: Ditto.
        * libc/stdlib/setenv_r.c: Ditto.
        * libc/stdlib/getenv.c: Removed DJ reference since any possible
        modifications will now be in the _r version of this file.
        * libc/stdlib/putenv.c: Ditto.
        * libc/stdlib/setenv.c: Ditto.
        * libc/sys/go32/copying.dj: Removed DJ's address which is no longer
        valid.  Added a reference to DJ's web page that contains his address.
        * libc/sys/go32/*.s: Removed references to DJ's old address.
        * libc/sys/go32/*.c: Ditto.
        * libc/sys/go32/*.h: Ditto.
        * libc/sys/go32/*.S: Ditto.
        * libc/sys/go32/sys/*.h: Ditto.
2001-02-22 22:12:43 +00:00

52 lines
941 B
ArmAsm

/* This is file KBHIT.S */
/*
** Copyright (C) 1993 DJ Delorie
**
** This file is distributed under the terms listed in the document
** "copying.dj".
** A copy of "copying.dj" should accompany this file; if not, a copy
** should be available from where this file was obtained. This file
** may not be distributed without a verbatim copy of "copying.dj".
**
** This file is distributed WITHOUT ANY WARRANTY; without even the implied
** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*/
.globl _kbhit
_kbhit:
pushl %ebp
movl %esp,%ebp
pushl %ebx
pushl %esi
pushl %edi
try_again:
movl $0x41a,%eax
call dosmemsetup
movzwl %gs:(%eax),%ebx
movzwl %gs:2(%eax),%ecx
cmp %ebx,%ecx
je key_not_hit
movb $0x11,%ah
int $0x16
jz key_not_hit
cmp $0,%eax
jne key_hit
movb $0x10,%ah
int $0x16
jmp try_again
key_not_hit:
movl $0,%eax
jmp L1
key_hit:
movl $1,%eax
L1:
popl %edi
popl %esi
popl %ebx
leave
ret