old-www/HOWTO/Assembly-HOWTO/dos.html

193 lines
3.1 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML
><HEAD
><TITLE
>DOS and Windows</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="Linux Assembly HOWTO"
HREF="index.html"><LINK
REL="UP"
TITLE="Calling conventions"
HREF="conventions.html"><LINK
REL="PREVIOUS"
TITLE="Linux"
HREF="linux.html"><LINK
REL="NEXT"
TITLE="Your own OS"
HREF="ownos.html"></HEAD
><BODY
CLASS="section"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>Linux Assembly HOWTO</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="linux.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 5. Calling conventions</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="ownos.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="section"
><H1
CLASS="section"
><A
NAME="AEN806"
></A
>5.2. DOS and Windows</H1
><P
>&#13;Most DOS extenders come with some interface to DOS services. Read their docs
about that, but often, they just simulate <TT
CLASS="function"
>int 0x21</TT
> and
such, so you do "as if" you are in real mode (I doubt they have more than stubs
and extend things to work with 32-bit operands; they most likely will just
reflect the interrupt into the real-mode or vm86 handler).
</P
><P
>&#13;Docs about DPMI (and much more) can be found on
http://en.wikipedia.org/wiki/DOS_Protected_Mode_Interface).
</P
><P
>&#13;DJGPP comes with its own (limited) <SPAN
CLASS="application"
>glibc</SPAN
>
derivative/subset/replacement, too.
</P
><P
>&#13;It is possible to cross-compile from Linux to DOS, see the
<TT
CLASS="filename"
>devel/msdos/</TT
> directory of your local FTP mirror for
metalab.unc.edu; Also see the MOSS DOS-extender from the
Flux project
from the university of Utah.
</P
><P
>&#13;Other documents and FAQs are more DOS-centered; we do not recommend DOS
development.
</P
><DIV
CLASS="formalpara"
><P
><B
>Windows and Co. </B
>
This document is not about Windows programming, you can find lots of documents
about it everywhere... The thing you should know is that there is the
cygwin32.dll library,
for GNU programs to run on Win32 platform; thus, you can use GCC, GAS,
all the GNU tools, and many other Unix applications.
</P
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="linux.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="index.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="ownos.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Linux</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="conventions.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Your own OS</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>