Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>When you use the <code>int86</code> function call, that is a C runtime library call which sets up the registers and issues a DOS <code>int</code>errupt function. Both methods are really the same with one exception, when you use inline assembler, the code is actually embedded into the object code when compiled and linked.</p> <p>Inline assembly would be considered faster since you do not have the overhead involved in calling the C runtime library to invoke the DOS interrupt for you. The onus is on you to ensure there is enough stack space when using inline assembly, whereas the C Runtime library takes care of allocating stack space when setting up the registers prior to invoking the <code>int86</code> function.</p> <p>The <code>int86</code> is a way to make it easier to invoke DOS interrupts. This was extremely popular among the old Borland Turbo C suite of compilers and on Microsoft, I am talking about old compilers before Win 3.1 came out.</p> <p>Speaking of the interrupt 0x10, which is responsible for the video output, if I remember correctly, at the time, some BIOS's destroyed the <code>bp</code> register and the workaround was to do this:</p> <pre><code>__asm{ push bp; } /* set up the registers */ int86(0x10, &amp;regs, &amp;regs); __asm{ pop bp; } </code></pre> <p>You can find out the extensive BIOS functions on Ralph Brown's Interrupt List <a href="http://www.ctyme.com/rbrown.htm" rel="nofollow noreferrer">here</a>. Also HelpPC v2.1 may help also, found <a href="http://stanislavs.org/helppc/" rel="nofollow noreferrer">here</a>.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload