diff options
Diffstat (limited to 'usr.bin/doscmd/instbsdi.c')
-rw-r--r-- | usr.bin/doscmd/instbsdi.c | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/usr.bin/doscmd/instbsdi.c b/usr.bin/doscmd/instbsdi.c new file mode 100644 index 0000000..bfad58b --- /dev/null +++ b/usr.bin/doscmd/instbsdi.c @@ -0,0 +1,55 @@ +/* + * Copyright (c) 1992, 1993, 1996 + * Berkeley Software Design, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Berkeley Software + * Design, Inc. + * + * THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL Berkeley Software Design, Inc. BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * BSDI instbsdi.c,v 2.2 1996/04/08 19:32:39 bostic Exp + */ + +#include <dos.h> +#include <string.h> + +main(int ac, char **av) +{ + union REGS in, out, tmp; + struct SREGS seg, stmp; + + memset(&out, 0, sizeof(out)); + out.h.ah = 0x52; + int86x(0x21, &out, &tmp, &stmp); + + seg.es = stmp.es; + in.x.di = tmp.x.bx; + + out.x.ax = 0x5D06; + int86x(0x21, &out, &tmp, &stmp); + + seg.ds = stmp.ds; + in.x.si = tmp.x.si; + + int86x(0xff, &in, &out, &seg); +} |