<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wiki.nox-rhea.org/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>Nox-Rhea WiKi - back2root:ibm-pc-ms-dos:instr</title>
        <description></description>
        <link>https://wiki.nox-rhea.org/</link>
        <lastBuildDate>Mon, 27 Apr 2026 10:04:56 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>https://wiki.nox-rhea.org/_media/wiki/dokuwiki.svg</url>
            <title>Nox-Rhea WiKi</title>
            <link>https://wiki.nox-rhea.org/</link>
        </image>
        <item>
            <title>aaa</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/aaa?rev=1677883987&amp;do=diff</link>
            <description>AAA

AAA - Ascii Adjust for Addition

Changes contents of AL to valid unpacked decimal. 

The high order nibble is zeroed.

Usage:


	AAA 		;


Modifies flags:

CF AF 

(OF PF SF ZF SF undetermined)

286+ only  386+ only
                Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>aad</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/aad?rev=1677883987&amp;do=diff</link>
            <description>AAD

AAD - Ascii Adjust for Division

Descr.

Usage:


	AAD		;


Modifies flags:

SF ZF PF

(AF,CF,OF undefined)

286+ only  386+ only
                Clocks                         Size                   Operands      808x      286    386    486    Bytes</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>aam</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/aam?rev=1677883987&amp;do=diff</link>
            <description>AAM

AAM - Ascii Adjust for Multiplication

Used after multiplication of two unpacked decimal numbers, this instruction adjusts an unpacked decimal number.

The high order nibble of each byte must be zeroed before using this instruction.

This instruction is also known to have an undocumented behavior.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>aas</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/aas?rev=1677883987&amp;do=diff</link>
            <description>AAS

AAS - Ascii Adjust for Subtraction

Corrects result of a previous unpacked decimal subtraction in AL.

High order nibble is zeroed.

Usage:


	AAS		;


Modifies flags:

AF CF
                Clocks                         Size                   Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>adc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/adc?rev=1677883987&amp;do=diff</link>
            <description>ADC

ADC - Add With Carry

Sums two binary operands placing the result in the destination.

If CF is set, a 1 is added to the destination.

Usage:


	ADC	Dest,Src	


Modifies flags:

AF CF OF SF PF ZF

286+ only  386+ only
                          Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>add</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/add?rev=1677883987&amp;do=diff</link>
            <description>ADD

ADD - Arithmetic Addition

Adds “src” to “dest” and replacing the original contents of “dest”. Both operands are binary.

Usage:


	ADD	Dest,Src	


Modifies flags:

AF CF OF SF PF ZF

286+ only  386+ only
                Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>and</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/and?rev=1677883987&amp;do=diff</link>
            <description>AND

AND - Logical And

Performs a logical AND of the two operands replacing the destination with the result.

Usage:


	AND	dest,src


Modifies flags:

CF PF AF ZF SF OF 

AF undefined
                Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>arpl</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/arpl?rev=1677883987&amp;do=diff</link>
            <description>ARPL (286+ protected mode)

ARPL - Adjusted Requested Privilege Level of Selector

Compares the RPL bits of “dest” against “src”.
If the RPL bits of “dest” are less than “src”, the destination RPL bits are set	equal to the source RPL bits and the Zero Flag is set.
Otherwise the Zero Flag is cleared.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>bound</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/bound?rev=1677883987&amp;do=diff</link>
            <description>BOUND - (80188+)

BOUND - Array Index Bound Check

Array index in source register is checked against upper and lower bounds in memory source.
The first word located at “limit” is the lower boundary and the word at “limit+2” is the upper array bound.
Interrupt 5 occurs if the source value is less than or higher than the source.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>bsf</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/bsf?rev=1677883987&amp;do=diff</link>
            <description>BSF - (386+ only)

BSF - Bit Scan Forward (386+ only)

Scans source operand for first bit set.  Sets ZF if a bit is found set and loads the destination with an index to first set bit. Clears ZF is no bits are found set. BSF scans forward across bit pattern (0-n) while BSR scans in reverse (n-0).</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>bsr</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/bsr?rev=1677883987&amp;do=diff</link>
            <description>BSR - (386+ only)

BSR - Bit Scan Reverse (386+ only)

Scans source operand for first bit set. Sets ZF if a bit is found set and loads the destination with an index to first set bit. Clears ZF is no bits are found set. BSF scans forward across bit pattern (0-n) while BSR scans in reverse (n-0).</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>bswap</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/bswap?rev=1677883987&amp;do=diff</link>
            <description>BSWAP - (486+ only)

BSWAP - Byte Swap (486+ only)

Changes the byte order of a 32 bit register from big endian to little endian or vice versa. Result left in destination register is undefined if the operand is a 16 bit register.

Usage:


	BSWAP	reg32	;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>bt</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/bt?rev=1677883987&amp;do=diff</link>
            <description>BT - (386+ only)

BT - Bit Test

The destination bit indexed by the source value is copied into the Carry Flag.

Usage:


	BT	dest,src	;


Modifies flags:

CF 
                 Clocks                         Size        Operands       808x      286</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>btc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/btc?rev=1677883987&amp;do=diff</link>
            <description>BTC - (386+ only)

BTC - Bit Test with Compliment

The destination bit indexed by the source value is copied into the Carry Flag after being complimented (inverted).

Usage:


	BTC	dest,src	;


Modifies flags:

CF 
                 Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>btr</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/btr?rev=1677883987&amp;do=diff</link>
            <description>BTR - (386+ only)

BTR - Bit Test with Reset

The destination bit indexed by the source value is copied into the Carry Flag and then cleared in the destination.

Usage:


	BTR	dest,src	;


Modifies flags:

CF 
                 Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>bts</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/bts?rev=1677883987&amp;do=diff</link>
            <description>BTS - (386+ only)

BTS - Bit Test and Set

The destination bit indexed by the source value is copied into the Carry Flag and then set in the destination.

Usage:


	BTS	dest,src	;


Modifies flags:

CF 
                 Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>call</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/call?rev=1677883987&amp;do=diff</link>
            <description>CALL

CALL - Procedure Call

Pushes Instruction Pointer (and Code Segment for far calls) onto stack and loads Instruction Pointer with the address of proc-name. 

Code continues with execution at CS:IP.

Usage:


	CALL	destination	;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>cbw</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/cbw?rev=1677883987&amp;do=diff</link>
            <description>CBW

CBW - Convert Byte to Word

Converts byte in AL to word Value in AX by extending sign of AL	throughout register AH.

Usage:


	CBW		;


Modifies flags:

none
                Clocks                         Size                   Operands      808x</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>cdq</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/cdq?rev=1677883987&amp;do=diff</link>
            <description>CDQ - (386+ only)

CDQ - Convert Double to Quad

Converts signed DWORD in EAX to a signed quad word in EDX:EAX by extending the high order bit of EAX throughout EDX

Usage:


	CDQ		;


Modifies flags:

none
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>clts</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/clts?rev=1677883987&amp;do=diff</link>
            <description>CLTS - (286+ privileged)

CLTS - Clear Task Switched Flag

Clears the Task Switched Flag in the Machine Status Register.
This is a privileged operation and is generally used only by operating system code.

Usage:


	INSTR		;


Modifies flags:

none</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>clx-stx</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/clx-stx?rev=1677883987&amp;do=diff</link>
            <description>CLx / STx

Carry Flag

CLC - Clear Carry Flag

Clears the Carry Flag.

Usage:


	CLC


Modifies flags:

CF
               Clocks                         Size     Operands    808x       286    386    486    Bytes    none        2          2      2</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>clx</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/clx?rev=1677883987&amp;do=diff</link>
            <description>CLx</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>cmc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/cmc?rev=1677883987&amp;do=diff</link>
            <description>CMC

CMC - Complement Carry Flag

Toggles (inverts) the Carry Flag

Usage:


	CMC		;


Modifies flags:

CF
              Clocks                         Size        Operands    808x      286    386    486    Bytes      none         2         2      2</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>cmp</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/cmp?rev=1677883987&amp;do=diff</link>
            <description>CMP - CMPS - CMPSB - CMPSD - CMPSW - CMPSCHG

CMP - Compare

Subtracts source from destination and updates the flags but does not save result. Flags can subsequently be checked for conditions.

Usage:


	CMP	dest,src


Modifies flags:

CF PF AF ZF SF OF</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>cwd</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/cwd?rev=1677883987&amp;do=diff</link>
            <description>CWD

CWD - Convert Word to Doubleword

Extends sign of word in register AX throughout register DX forming a doubleword quantity in DX:AX.

Usage:


	CWD		;


Modifies flags:

none
              Clocks                         Size        Operands    808x</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>cwde</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/cwde?rev=1677883987&amp;do=diff</link>
            <description>CWDE - (386+ only)

CWDE - Convert Word to Extended Doubleword

Converts a signed word in AX to a signed doubleword in EAX by extending the sign bit of AX throughout EAX.

Usage:


	CWDE		;


Modifies flags:

none
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>daa</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/daa?rev=1677883987&amp;do=diff</link>
            <description>DAA

DAA - Decimal Adjust for Addition

Corrects result (in AL) of a previous BCD addition operation.

Contents of AL are changed to a pair of packed decimal digits.

Usage:


	DAA		;


Modifies flags:

AF CF PF SF ZF (OF undefined)
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>das</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/das?rev=1677883987&amp;do=diff</link>
            <description>DAS

DAS - Decimal Adjust for Subtraction

Corrects result (in AL) of a previous BCD subtraction operation.

Contents of AL are changed to a pair of packed decimal digits.

Usage:


	DAS		;


Modifies flags:

AF CF PF SF ZF (OF undefined)</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>dec</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/dec?rev=1677883987&amp;do=diff</link>
            <description>DEC

DEC - Decrement

Unsigned binary subtraction of one from the destination.

Usage:


	DEC	dest	;


Modifies flags:

AF OF PF SF ZF
              Clocks                         Size        Operands    808x      286    386    486    Bytes      reg8</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>div</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/div?rev=1677883987&amp;do=diff</link>
            <description>DIV

DIV - Divide

Unsigned binary division of accumulator by source.
If the source divisor is a byte value then AX is divided by “src” and the quotient is placed in AL and the remainder in AH.
If source operand is a word value, then DX:AX is divided by</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>enter</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/enter?rev=1677883987&amp;do=diff</link>
            <description>ENTER - (80188+)

ENTER - Make Stack Frame

Modifies stack for entry to procedure for high level language.

Operand “locals” specifies the amount of storage to be allocated on the stack.

“Level” specifies the nesting level of the routine.

Paired with the</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>esc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/esc?rev=1677883987&amp;do=diff</link>
            <description>ESC

ESC - Escape

Provides access to the data bus for other resident processors.

The CPU treats it as a NOP but places memory operand on bus.

Usage:


	ESC	immed,src	;


Modifies flags:

none
              Clocks                          Size        Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>hlt</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/hlt?rev=1677883987&amp;do=diff</link>
            <description>HLT

HLT - Halt CPU

Halts CPU until RESET line is activated, NMI or maskable interrupt received.

The CPU becomes dormant but retains the current CS:IP for later restart.

Usage:


	HLT		;


Modifies flags:

none
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>idiv</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/idiv?rev=1677883987&amp;do=diff</link>
            <description>IDIV

IDIV - Signed Integer Division

Signed binary division of accumulator by source.

	*  If source is a byte value, AX is divided by “src” and the quotient is stored in AL and the remainder in AH.
	*  If source is a word value, DX:AX is	divided by</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>imul</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/imul?rev=1677883987&amp;do=diff</link>
            <description>IMUL

IMUL - Signed Multiply

Signed multiplication of accumulator by “src” with result placed in the accumulator.

	*  If the source operand is a byte value, it is multiplied by AL and the result stored in AX.
	*  If the source operand is a word value it is multiplied by AX and the result is stored in DX:AX.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>in</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/in?rev=1677884159&amp;do=diff</link>
            <description>IN

IN - Input Byte or Word From Port

A byte, word or dword is read from “port” and placed in AL, AX or EAX respectively.
If the port number is in the range of 0-255 it can be specified as an immediate, otherwise the port number must be specified in DX.  
Valid port ranges on the PC are 0-1024,	though values through 65535 may be specified and recognized by third party vendors and PS/2&#039;s.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>inc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/inc?rev=1677883987&amp;do=diff</link>
            <description>INC

INC - Increment

dds one to destination unsigned binary operand.

Usage:


	INC	dest	;


Modifies flags:

AF OF PF SF ZF
              Clocks                         Size                    Operands    808x      286    386    486    Bytes</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:53:07 +0000</pubDate>
        </item>
        <item>
            <title>ins</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/ins?rev=1677244596&amp;do=diff</link>
            <description>INS - INSB - INSW - INSD

INS - Input String from Port (80186+)

Loads data from port to the destination ES:(E)DI (even if a destination operand is supplied). (E)DI is adjusted by the size of the operand and increased if the Direction Flag is cleared and decreased if the Direction Flag is set.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>int</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/int?rev=1677884159&amp;do=diff</link>
            <description>INT

INT - Interrupt

Initiates a software interrupt by pushing the flags, clearing the Trap and Interrupt Flags, pushing CS followed by IP and loading CS:IP with the value found in the interrupt vector table.

Execution then begins at the location addressed by the new CS:IP</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>into</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/into?rev=1677884159&amp;do=diff</link>
            <description>INTO

INTO - Interrupt on Overflow

If the Overflow Flag is set this instruction generates an INT 4	which causes the code addressed by 0000:0010 to be executed.

Usage:


	INTO		;


Modifies flags:

TF IF
                                          Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>iret</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/iret?rev=1677884159&amp;do=diff</link>
            <description>IRET

IRET/IRETD - Interrupt Return

Returns control to point of interruption by popping IP, CS and then the Flags from the stack and continues execution at this location.

CPU exception interrupts will return to the instruction that cause the exception because the CS:IP placed on the stack during the interrupt is the address of the offending instruction.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>ja-jnbe</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/ja-jnbe?rev=1677245466&amp;do=diff</link>
            <description>JA-JNBE

JA/JNBE - Jump Above / Jump Not Below or Equal

Causes execution to branch to “label” if the Carry Flag and Zero Flag are both set. 

	*  Uses unsigned comparison.

Usage:


	JA	destination	;
	JNBE	destination	;

              Jump ?    Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:31:06 +0000</pubDate>
        </item>
        <item>
            <title>jae-jnb</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jae-jnb?rev=1677863219&amp;do=diff</link>
            <description>JAE-JNB

JAE/JNB - Jump Above or Equal / Jump on Not Below

Causes execution to branch to “label” if the Carry Flag is set. 

	*  Functionally similar to JNC
	*  Uses unsigned comparison.

Usage:


	JAE	destination	;
	JNB	destination	;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:06:59 +0000</pubDate>
        </item>
        <item>
            <title>jb-jnae</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jb-jnae?rev=1677245744&amp;do=diff</link>
            <description>JB-JNAE

JB/JNAE - Jump Below / Jump Not Above or Equal

Causes execution to branch to “label” if the Carry Flag is set. 

	*  Functionally similar to JC
	*  Uses unsigned comparison.

Usage:


	JB	destination	;
	JNAE	destination	;

              Jump ?</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:35:44 +0000</pubDate>
        </item>
        <item>
            <title>jbe-jna</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jbe-jna?rev=1677863917&amp;do=diff</link>
            <description>JBE-JNA

JBE/JNA - Jump Below or Equal / Jump Not Above

Causes execution to branch to “label” if the Carry Flag or the Zero Flag is set. 

	*  unsigned comparison

Usage:


	JBE	destination	;
	JNA	destination	;

              Jump ?    Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:18:37 +0000</pubDate>
        </item>
        <item>
            <title>jc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jc?rev=1677245731&amp;do=diff</link>
            <description>JC

JC - Jump on Carry

Causes execution to branch to “label” if the Carry Flag is set. 

	*  Functionally similar to JB and JNAE
	*  Uses unsigned comparison.

Usage:


	JBE	destination	;
	JNA	destination	;

              Jump ?    Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:35:31 +0000</pubDate>
        </item>
        <item>
            <title>jcxz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jcxz?rev=1677863179&amp;do=diff</link>
            <description>JCXZ-JECXZ

JCXZ/JECXZ - Jump if Register (E)CX is Zero

Causes execution to branch to “label” if register CX is zero. 

	*  Uses unsigned comparaison.

Usage:


	JCXZ	destination	;
	JECXZ	destination	; 386+ only

              Jump ?    Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:06:19 +0000</pubDate>
        </item>
        <item>
            <title>je-jz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/je-jz?rev=1677864996&amp;do=diff</link>
            <description>JE-JZ

JE/JZ - Jump Equal / Jump Zero

Causes execution to branch to “label” if the Zero Flag is set.

	*  unsigned comparison

Usage:


	JE	destination	;
	JZ	destination	;

              Jump ?    Clocks                         Size     Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:36:36 +0000</pubDate>
        </item>
        <item>
            <title>jg-jnle</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jg-jnle?rev=1677245858&amp;do=diff</link>
            <description>JG-JNLE

JG/JNLE - Jump Greater / Jump Not Less or Equal

Causes execution to branch to “label” if the Zerro Flag is Clear or the Sign Flag equal OverFlow Flag.

	*  Uses Signed comparison.

Usage:


	JG	destination	;
	JNLE	destination	;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:37:38 +0000</pubDate>
        </item>
        <item>
            <title>jge-jnl</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jge-jnl?rev=1677863830&amp;do=diff</link>
            <description>JGE/JNL

JGE/JNL - Jump Greater or Equal / Jump Not Less

Causes execution to branch to “label” if the Sign Flag equals the Overflow Flag.

	*  Signed comparison.

Usage:


	JGE	destination	;
	JNL	destination	;

              Jump ?    Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:17:10 +0000</pubDate>
        </item>
        <item>
            <title>jl-jnge</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jl-jnge?rev=1677863971&amp;do=diff</link>
            <description>JL/JNGE

JL/JNGE - Jump Less / Jump Not Greater or Equal

Causes execution to branch to “label” if the Sign Flag is not equal to Overflow Flag.

	*  unsigned comparison

Usage:


	JL	destination	;
	JNGE	destination	;

              Jump ?    Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:19:31 +0000</pubDate>
        </item>
        <item>
            <title>jle-jng</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jle-jng?rev=1677864326&amp;do=diff</link>
            <description>JLE/JNG

JLE/JNG - Jump Less or Equal / Jump Not Greater

Causes execution to branch to “label” if the Zero Flag is set or the Sign Flag is not equal to the Overflow Flag. 

	*  signed comparison

Usage:


	JLE	destination	;
	JNG	destination	;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:25:26 +0000</pubDate>
        </item>
        <item>
            <title>jmp</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jmp?rev=1677244596&amp;do=diff</link>
            <description>JMP

JMP - Unconditional Jump

Unconditionally transfers control to “label”. Jumps by default are within -32768 to 32767 bytes from the instruction following  the jump. NEAR and SHORT jumps cause the IP to be updated while FAR  jumps cause CS and IP to be updated.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>jnc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jnc?rev=1677863388&amp;do=diff</link>
            <description>JNC

JNC - Jump If Not Carry

Causes execution to branch to “label” if the Carry Flag is set. 

	*  Functionally similar to JAE &amp; JNB
	*  unsigned comparison

Usage:


	JNC	destination	;

              Jump ?    Clocks                         Size     Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:09:48 +0000</pubDate>
        </item>
        <item>
            <title>jne-jnz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jne-jnz?rev=1677865035&amp;do=diff</link>
            <description>JNE-JNZ

JNE/JNZ - Jump Not Equal / Jump Not Zero

Causes execution to branch to “label” if the Zero Flag is clear.

	*  unsigned comparison

Usage:


	JNE	destination	;
	JNZ	destination	;

              Jump ?    Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:37:15 +0000</pubDate>
        </item>
        <item>
            <title>jno</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jno?rev=1677865245&amp;do=diff</link>
            <description>JNO

JNO - Jump Not Overflow

Causes execution to branch to “label” if the Overflow Flag is clear.

	*  signed comparison

Usage:


	JNO	destination	;

              Jump ?    Clocks                         Size     Operands              808x</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:40:45 +0000</pubDate>
        </item>
        <item>
            <title>jnp-jpo</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jnp-jpo?rev=1677865541&amp;do=diff</link>
            <description>JNP-JPO

JNP-JPO - Jump Not Parity / Jump Parity Odd

Causes execution to branch to “label” if the Parity Flag is clear.

	*  unsigned comparison

Usage:


	JNP	destination	;
	JPO	destination	;

              Jump ?    Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:45:41 +0000</pubDate>
        </item>
        <item>
            <title>jns</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jns?rev=1677865781&amp;do=diff</link>
            <description>JNS

JNS - Jump Not Signed

Causes execution to branch to “label” if the Sign Flag is clear.

	*  signed comparison

Usage:


	JNS	destination	;

              Jump ?    Clocks                         Size     Operands              808x      286</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:49:41 +0000</pubDate>
        </item>
        <item>
            <title>jo</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jo?rev=1677865865&amp;do=diff</link>
            <description>JO

JO - Jump On Overflow

Causes execution to branch to “label” if the Overflow Flag is set.

	*  signed comparison

Usage:


	JO	destination	;

              Jump ?    Clocks                         Size     Operands              808x      286</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:51:05 +0000</pubDate>
        </item>
        <item>
            <title>jp-jpe</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/jp-jpe?rev=1677866138&amp;do=diff</link>
            <description>JP-JPE

JP/JPE - Jump on Parity / Jump on Parity Even

Causes execution to branch to “label” if the Parity Flag is set.

	*  unsigned comparison

Usage:


	JP	destination	;
	JPE	destination	;

              Jump ?    Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:55:38 +0000</pubDate>
        </item>
        <item>
            <title>js</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/js?rev=1677866212&amp;do=diff</link>
            <description>JS

JS - Jump Signed

Causes execution to branch to “label” if the Sign Flag is set.

	*  signed comparison

Usage:


	JS	destination	;

              Jump ?    Clocks                         Size     Operands              808x      286    386    486</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 17:56:52 +0000</pubDate>
        </item>
        <item>
            <title>lahf</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lahf?rev=1677884159&amp;do=diff</link>
            <description>LAHF

LAHF - Load Register AH From Flags

Copies bits 0-7 of the flags register into AH.	This includes flags AF, CF, PF, SF and ZF other bits are undefined.

Usage:


	LAHF		;


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lar</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lar?rev=1677884159&amp;do=diff</link>
            <description>LAR

LAR - Load Access Rights (286+ protected)

The high byte of the of the destination register is overwritten by the value of the access rights byte and the low order byte is zeroed depending on the selection in the source operand. 

The Zero Flag is set if the load operation is successful.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lds</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lds?rev=1677244596&amp;do=diff</link>
            <description>LDS

LDS - Load Pointer Using DS

Loads 32-bit pointer from memory source to destination register	and DS. The offset is placed in the destination register and the segment is placed in DS. To use this instruction the word at the lower memory address must contain the offset and the word at the higher address must contain the segment. This simplifies the loading of far pointers from the stack and the interrupt vector table.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>lea</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lea?rev=1677884159&amp;do=diff</link>
            <description>LEA

LEA - Load Effective Address

Transfers offset address of “src” to the destination register.

Usage:


	INSTR	Dest,Src	;


Modifies flags:

none
                Clocks                         Size                   Operands      808x      286</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>leave</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/leave?rev=1677884159&amp;do=diff</link>
            <description>LEAVE - (80188+)

LEAVE - Restore Stack for Procedure Exit

Releases the local variables created by the previous ENTER instruction by restoring SP and BP to their condition before the procedure stack frame was initialized.

Usage:


	LEAVE		;


Modifies flags:</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>les</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/les?rev=1677244596&amp;do=diff</link>
            <description>LES

LES - Load Pointer Using ES

Loads 32-bit pointer from memory source to destination register	and ES. The offset is placed in the destination register and the segment is placed in ES. To use this instruction the word at the lower memory address must contain the offset and the word at the higher address must contain the segment. This simplifies the loading of far pointers from the stack and the interrupt vector table.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>lfs</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lfs?rev=1677866745&amp;do=diff</link>
            <description>LFS - (386+)

LFS - Load Pointer Using FS (386+ only)

Loads 32-bit pointer from memory source to destination register and FS.

The offset is placed in the destination register and the segment is placed in FS.

To use this instruction the word at the lower memory address must contain the offset and the word at the higher address must contain the segment.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 18:05:45 +0000</pubDate>
        </item>
        <item>
            <title>lgdt</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lgdt?rev=1677884159&amp;do=diff</link>
            <description>LGDT (286+ privileged)

LGDT - Load Global Descriptor Table (286+ privileged)

Loads a value from an operand into the Global Descriptor Table (GDT) register.

Usage:


	LGDT	src	;


Modifies flags:

none
                Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lgs</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lgs?rev=1677884159&amp;do=diff</link>
            <description>LGS (386+)

LGS - Load Pointer Using GS (386+ only)

Loads 32-bit pointer from memory source to destination register	and GS.

The offset is placed in the destination register and the segment is placed in GS.

To use this instruction the word at the	lower memory address must contain the offset and the word at the higher address must contain the segment.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lidt</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lidt?rev=1677884159&amp;do=diff</link>
            <description>LIDT (286+ privileged)

LIDT - Load Interrupt Descriptor Table (286+ privileged)

Loads a value from an operand into the Interrupt Descriptor Table (IDT) register.

Usage:


	LIDT	src	;


Modifies flags:

none
                Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lldt</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lldt?rev=1677884159&amp;do=diff</link>
            <description>LLDT (286+ privileged)

LLDT - Load Local Descriptor Table (286+ privileged)

Loads a value from an operand into the Local Descriptor Table Register (LDTR).

Usage:


	LLDT	src	;


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lmsw</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lmsw?rev=1677884159&amp;do=diff</link>
            <description>LMSW (286+ privileged)

LMSW - Load Machine Status Word (286+ privileged)

Loads the Machine Status Word (MSW) from data found at “src”

Usage:


	LLDT	src	;


Modifies flags:

none
              Clocks                         Size        Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lock</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lock?rev=1677884159&amp;do=diff</link>
            <description>LOCK

LOCK - Lock Bus

This instruction is a prefix that causes the CPU assert bus lock signal during the execution of the next instruction.

Used to	avoid two processors from updating the same data location.

The 286 always asserts lock during an XCHG with memory operands.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lods</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lods?rev=1677244596&amp;do=diff</link>
            <description>LODS - LODSB - LODSW - LODSD

LODS - Load String (Byte, Word or Double)

Transfers string element addressed by DS:SI (even if an operand is supplied) to the accumulator. SI is incremented based on the size of the operand or based on the instruction used. If the Direction Flag is set SI is  decremented, if the Direction Flag is clear SI is incremented.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>loop</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/loop?rev=1677884159&amp;do=diff</link>
            <description>LOOP

LOOP - Decrement CX and Loop if CX Not Zero

Decrements CX by 1 and transfers control to “label” if CX is not Zero.

The “label” operand must be within -128 or 127 bytes of the instruction following the loop instruction

Usage:


	LOOP	label	;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>loope-loopz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/loope-loopz?rev=1677884159&amp;do=diff</link>
            <description>LOOPE-LOOPZ

LOOPE/LOOPZ - Loop While Equal / Loop While Zero

Decrements CX by 1 (without modifying the flags) and transfers control to “label” if CX != 0 and the Zero Flag is set.

The “label” operand must be within -128 or 127 bytes of the instruction	following the loop instruction.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>loopne-loopnz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/loopne-loopnz?rev=1677884159&amp;do=diff</link>
            <description>LOOPNE-LOOPNZ

LOOPNE/LOOPNZ - Loop While Not Equal / Loop While Not Zero

Decrements CX by 1 (without modifying the flags) and transfers control to “label” if CX != 0 and the Zero Flag is clear.

The “label” operand must be within -128 or 127 bytes of the instruction following the loop instruction.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>lsl</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lsl?rev=1677883748&amp;do=diff</link>
            <description>LSL (286+ protected)

LSL - Load Segment Limit (286+ protected)

Loads the segment limit of a selector into the destination register if the selector is valid and visible at the current privilege level.

If loading is successful the Zero Flag is set, otherwise it is cleared.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:49:08 +0000</pubDate>
        </item>
        <item>
            <title>lss</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/lss?rev=1677884350&amp;do=diff</link>
            <description>LSS (386+ only)

LSS - Load Pointer Using SS (386+ only)

Loads 32-bit pointer from memory source to destination register	and SS.

The offset is placed in the destination register and the segment is placed in SS.

To use this instruction the word at the	lower memory address must contain the offset and the word at the higher address must contain the segment.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:59:10 +0000</pubDate>
        </item>
        <item>
            <title>ltr</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/ltr?rev=1677884490&amp;do=diff</link>
            <description>LTR (286+ privileged)

LTR - Load Task Register (286+ privileged)

Loads the current task register with the value specified in “src”.

Usage:


	LSL	Dest,Src	;


Modifies flags:

none
              Clocks                         Size        Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:01:30 +0000</pubDate>
        </item>
        <item>
            <title>mov</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/mov?rev=1677244596&amp;do=diff</link>
            <description>MOV

MOV - Move Byte, Word or DWord

Copies byte, word or dword from the source operand to the destination operand. If the destination is SS interrupts are disabled except on early buggy 808x CPUs. Some CPUs disable interrupts if the destination is any of the segment registers.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>movs</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/movs?rev=1677244596&amp;do=diff</link>
            <description>MOVS - MOVSB - MOVSW - MOVSD

MOVS - Move String (Byte, Word or DWord)

Copies data from addressed by DS:SI (even if operands are given) to the location ES:DI destination and updates SI and DI based on the size of the operand or instruction used. SI and DI are incremented when the Direction Flag is cleared and decremented when the Direction Flag is Set. Use with</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>movsx</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/movsx?rev=1677884681&amp;do=diff</link>
            <description>MOVSX (386+ only)

MOVSX - Move with Sign Extend (386+ only)

Copies the value of the source operand to the destination register with the sign extended.

Usage:


	MOVSX	dest,src	;


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:04:41 +0000</pubDate>
        </item>
        <item>
            <title>movzx</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/movzx?rev=1677884738&amp;do=diff</link>
            <description>MOVZX (386+ only)

MOVZX - Move with Zero Extend (386+ only)

Copies the value of the source operand to the destination register with the zeroes extended.

Usage:


	MOVZX	dest,src	;


Modifies flags:

none
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:05:38 +0000</pubDate>
        </item>
        <item>
            <title>mul</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/mul?rev=1677244596&amp;do=diff</link>
            <description>MUL

MUL - unsigned Multiply

Unsigned multiply of the accumulator by the source.  

	*  If “src” is a byte value, then AL is used as the other multiplicand and the result is placed in AX.
	*  If “src” is a word value, then AX is multiplied by</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>neg</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/neg?rev=1677884814&amp;do=diff</link>
            <description>NEG

NEG - Two&#039;s Complement Negation

Subtracts the destination from 0 and saves the 2s complement of	“dest” back into “dest”.

Usage:


	NEG	dest


Modifies flags:

AF CF OF PF SF ZF
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:06:54 +0000</pubDate>
        </item>
        <item>
            <title>nop</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/nop?rev=1677244596&amp;do=diff</link>
            <description>NOP

NOP - No Operation

This is a do nothing instruction. It results in occupation of both space and time and is most useful for patching code segments.

Usage:


	NOP


Modifies flags:

None
                Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>not</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/not?rev=1677354679&amp;do=diff</link>
            <description>NOT

NOT - Logical Not

Inverts the bits of the “dest” operand forming the 1s complement, also called “ One&#039;s Compliment Negation”.

Usage:


	NOT	dest


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 25 Feb 2023 19:51:19 +0000</pubDate>
        </item>
        <item>
            <title>or</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/or?rev=1677354616&amp;do=diff</link>
            <description>OR

OR - Logical Or

Logical inclusive OR of the two operands returning the result in the destination. Any bit set in either operand will be set in the destination.

Usage:


	OR	dest,src


Modifies flags:

CF PF AF ZF SF OF 

AF undefined</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 25 Feb 2023 19:50:16 +0000</pubDate>
        </item>
        <item>
            <title>out</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/out?rev=1677884159&amp;do=diff</link>
            <description>OUT

OUT - Output Data to Port

Transfers byte in AL,word in AX or dword in EAX to the specified hardware port address.
If the port number is in the range of 0-255 it can be specified as an immediate.
If greater than 255 then the port number must be specified in DX.
Since the PC only decodes 10 bits of the port address, values over 1023 can only be decoded by third party vendor equipment and also map to the port range 0-1023.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 22:55:59 +0000</pubDate>
        </item>
        <item>
            <title>outs</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/outs?rev=1677244596&amp;do=diff</link>
            <description>OUTS - OUTSB - OUTSW - OUTSD

INS - Output String from Port (80186+)

Transfers a byte, word or doubleword from “src” to the hardware port specified in DX. 

For instructions with no operands the “src” is located at DS:SI and SI is incremented or decremented by the size of the operand or the size dictated by the instruction format.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>pop</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/pop?rev=1677885200&amp;do=diff</link>
            <description>POP

POP - Pop Word off Stack

Transfers word at the current stack top (SS:SP) to the destination then increments SP by two to point to the new stack top.  CS is not a valid destination.

Usage:


	POP	dest


Modifies flags:

none
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:13:20 +0000</pubDate>
        </item>
        <item>
            <title>popa-popad</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/popa-popad?rev=1677885330&amp;do=diff</link>
            <description>POPA - POPAD (80188+ only)

POPA/POPAD - Pop All Registers onto Stack (80188+ only)

Pops the top 8 words off the stack into the 8 general purpose 16/32 bit registers.

Registers are popped in the following order: (E)DI, (E)SI, (E)BP, (E)SP, (E)DX, (E)CX and (E)AX.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:15:30 +0000</pubDate>
        </item>
        <item>
            <title>popf</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/popf?rev=1677884899&amp;do=diff</link>
            <description>POPF

POPF/POPD - Pop Flags off Stack

Pops word/doubleword from stack into the Flags Register and then increments SP by 2 (for POPF) or 4 (for POPFD).

Usage:


	POPF
	POPFD	; (386+ only)


Modifies flags:

CF PF AF ZF SF TF IF DF OF IOPL NT RF VM</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:08:19 +0000</pubDate>
        </item>
        <item>
            <title>push</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/push?rev=1677885537&amp;do=diff</link>
            <description>PUSH

PUSH - Push Word onto Stack

Decrements SP by the size of the operand (two or four, byte values are sign extended) and transfers one word from source to the stack top (SS:SP).

Usage:


	PUSH	src
	PUSH	immed	; (80188+ only)


Modifies flags:

none</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:18:57 +0000</pubDate>
        </item>
        <item>
            <title>pusha-pushad</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/pusha-pushad?rev=1769971592&amp;do=diff</link>
            <description>PUSHA - PUSHAD (80188+ only)

PUSHA/PUSHAD - Push All Registers onto Stack (80188+ only)

Pushes all general purpose registers onto the stack in the following order: 

	*  (E)AX
	*  (E)CX 
	*  (E)DX 
	*  (E)BX 
	*  (E)SP (see notes) 
	*  (E)BP 
	*  (E)SI</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 01 Feb 2026 18:46:32 +0000</pubDate>
        </item>
        <item>
            <title>pushf</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/pushf?rev=1677884947&amp;do=diff</link>
            <description>PUSHF

PUSHF/PUSHFD - Push Flags onto Stack

Transfers the Flags Register onto the stack.  PUSHF saves a 16 bit value while PUSHFD saves a 32 bit value.

Usage:


	PUSHF
	PUSHFD	; (386+ only)


Modifies flags:

None
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:09:07 +0000</pubDate>
        </item>
        <item>
            <title>rcl</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/rcl?rev=1677925886&amp;do=diff</link>
            <description>RCL

RCL - Rotate Through Carry Left

Rotates the bits in the destination to the left “count” times with all data pushed out the left side re-entering on the right.

The Carry Flag holds the last bit rotated out.

Usage:


	RCL	dest,count


Modifies flags:</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:31:26 +0000</pubDate>
        </item>
        <item>
            <title>rct</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/rct?rev=1677886031&amp;do=diff</link>
            <description>RCR

RCR - Rotate Through Carry Right

Rotates the bits in the destination to the left “count” times with all data pushed out the right side re-entering on the left.

The Carry Flag holds the last bit rotated out.

Usage:


	RCR	dest,count


Modifies flags:</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 23:27:11 +0000</pubDate>
        </item>
        <item>
            <title>rep</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/rep?rev=1677244596&amp;do=diff</link>
            <description>REP

REP - Repeat String Operation

Repeats execution of string instructions while CX != 0. After each string operation, CX is decremented and the Zero Flag is tested. 

Usage:


	REP MOVSB


The combination of a repeat prefix and a segment override on CPU&#039;s before the 386 may result in errors if an interrupt occurs before CX=0. The following code shows code that is susceptible to this and how to avoid it:</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>repe-repz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/repe-repz?rev=1677244596&amp;do=diff</link>
            <description>REPE-REPZ

REPE/REPZ - Repeat Equal / Repeat Zero

Repeats execution of string instructions while CX != 0 and the Zero Flag is set. CX is decremented and the Zero Flag tested after each string operation. The combination of a repeat prefix and a segment override on processors other than the 386 may result in errors if an interrupt occurs before CX=0.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>repne-repnz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/repne-repnz?rev=1677244596&amp;do=diff</link>
            <description>REPNE-REPNZ

REPNE/REPNZ - Repeat Not Equal / Repeat Not Zero

Repeats execution of string instructions while CX != 0 and the Zero Flag is clear. CX is decremented and the Zero Flag tested after each string operation. The combination of a repeat prefix and a segment override on processors other than the 386 may result in errors if an interrupt occurs before CX=0.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 24 Feb 2023 13:16:36 +0000</pubDate>
        </item>
        <item>
            <title>ret</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/ret?rev=1677925675&amp;do=diff</link>
            <description>RET-RETF-RETN

RET/RETF - Return From Procedure

Transfers control from a procedure back to the instruction address saved on the stack.

“n bytes” is an optional number of bytes to release.

Far returns pop the IP followed by the CS, while near returns pop only the IP register.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:27:55 +0000</pubDate>
        </item>
        <item>
            <title>rol</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/rol?rev=1677925904&amp;do=diff</link>
            <description>ROL

ROL - Rotate Left

Rotates the bits in the destination to the left “count” times with all data pushed out the left side re-entering on the right.  

The Carry Flag will contain the value of the last bit rotated out.

Usage:


	ROL	dest,count</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:31:44 +0000</pubDate>
        </item>
        <item>
            <title>ror</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/ror?rev=1677925864&amp;do=diff</link>
            <description>ROR

ROR - Rotate Right

Rotates the bits in the destination to the right “count” times with all data pushed out the right side re-entering on the left.

The Carry Flag will contain the value of the last bit rotated out.

Usage:


	ROR	dest,count</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:31:04 +0000</pubDate>
        </item>
        <item>
            <title>sahf</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sahf?rev=1677925984&amp;do=diff</link>
            <description>SAHF

SAHF - Store AH Register into Flags

Transfers bits 0-7 of AH into the Flags Register.

This includes AF, CF, PF, SF and ZF.

Usage:


	SAHF		;


Modifies flags:

AF CF PF SF ZF
              Clocks                         Size        Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:33:04 +0000</pubDate>
        </item>
        <item>
            <title>sal</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sal?rev=1731420067&amp;do=diff</link>
            <description>SAL

SAL - Shift Arithmetic Left

Shifts the destination left by “count” bits with zeroes shifted	in on right.

The Carry Flag contains the last bit shifted out.

Usage:


	SAL	dest,count
	SHL	dest,count


Modifies flags:

CF OF PF SF ZF (AF undefined)</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 12 Nov 2024 14:01:07 +0000</pubDate>
        </item>
        <item>
            <title>sar</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sar?rev=1677926259&amp;do=diff</link>
            <description>SAR

SAR - Shift Arithmetic Right

Shifts the destination right by “count” bits with the current sign bit replicated in the leftmost bit.

The Carry Flag contains the last bit shifted out.

Usage:


	SAR	dest,count


Modifies flags:

CF OF PF SF ZF (AF undefined)</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:37:39 +0000</pubDate>
        </item>
        <item>
            <title>sbb</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sbb?rev=1677926389&amp;do=diff</link>
            <description>SBB

SBB - Subtract with Borrow

Subtracts the source from the destination, and subtracts 1 extra if the Carry Flag is set.

Results are returned in “dest”.

Usage:


	SBB	Dest,Src	


Modifies flags:

AF CF OF SF PF ZF

286+ only  386+ only</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:39:49 +0000</pubDate>
        </item>
        <item>
            <title>scas</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/scas?rev=1677926770&amp;do=diff</link>
            <description>SCAS

SCAS - Scan String (Byte, Word or Doubleword)

Compares value at ES:DI (even if operand is specified) from the	accumulator and sets the flags similar to a subtraction.  

DI is incremented/decremented based on the instruction format (or operand size) and the state of the Direction Flag.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:46:10 +0000</pubDate>
        </item>
        <item>
            <title>see-footer</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/see-footer?rev=1709498717&amp;do=diff</link>
            <description>*  see Instructions list, Instruction Timing, 8086 Architecture, CPU</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 03 Mar 2024 20:45:17 +0000</pubDate>
        </item>
        <item>
            <title>setb-setnea</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setb-setnea?rev=1677927137&amp;do=diff</link>
            <description>SETB/SETNAE (386+ only)

SETB/SETNAE - Set if Below / Set if Not Above or Equal (unsigned, 386+ only)

Sets the byte in the operand to 1 if the Carry Flag is set otherwise sets the operand to 0.

Usage:


	SETB	dest
	SETNAE	dest	


Modifies flags:

none</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:52:17 +0000</pubDate>
        </item>
        <item>
            <title>setbe-setna</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setbe-setna?rev=1677927265&amp;do=diff</link>
            <description>SETBE/SETNA (386+ only)

SETBE/SETNA - Set if Below or Equal / Set if Not Above (unsigned, 386+ only)

Sets the byte in the operand to 1 if the Carry Flag or the Zero	Flag is set, otherwise sets the operand to 0.

Usage:


	SETBE	dest
	SETNA	dest</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:54:25 +0000</pubDate>
        </item>
        <item>
            <title>setc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setc?rev=1677927399&amp;do=diff</link>
            <description>SETC (386+ only)

SETC - Set if Carry (386+ only)

Sets the byte in the operand to 1 if the Carry Flag is set, otherwise sets the operand to 0.

Usage:


	SETC	dest


Modifies flags:

none
              Clocks                         Size        Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:56:39 +0000</pubDate>
        </item>
        <item>
            <title>sete-setz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sete-setz?rev=1677927462&amp;do=diff</link>
            <description>SETE-SETZ (386+ only)

SETE/SETZ - Set if Equal / Set if Zero (386+ only)

Sets the byte in the operand to 1 if the Zero Flag is set, otherwise sets the operand to 0.

Usage:


	SETE	dest
	SETZ	dest


Modifies flags:

none
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:57:42 +0000</pubDate>
        </item>
        <item>
            <title>setea-setnb</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setea-setnb?rev=1677927156&amp;do=diff</link>
            <description>SETAE/SETNB (386+ only)

SETAE/SETNB - Set if Above or Equal / Set if Not Below (unsigned, 386+ only)

Sets the byte in the operand to 1 if the Carry Flag is clear otherwise sets the operand to 0.

Usage:


	SETAE	dest
	SETNB	dest	


Modifies flags:</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 10:52:36 +0000</pubDate>
        </item>
        <item>
            <title>setg-setnle</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setg-setnle?rev=1677927655&amp;do=diff</link>
            <description>SETG/SETNLE (386+ only)

SETG/SETNLE - Set if Greater / Set if Not Less or Equal (signed, 386+ only)

Sets the byte in the operand to 1 if the Zero Flag is clear or the Sign Flag equals to the Overflow Flag, otherwise sets the operand to 0.

Usage:


	SETG	dest
	SETNLE	dest</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:00:55 +0000</pubDate>
        </item>
        <item>
            <title>setge-setnl</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setge-setnl?rev=1677927732&amp;do=diff</link>
            <description>SETGE/SETNL (386+ only)

SETGE/SETNL - Set if Greater or Equal / Set if Not Less (signed, 386+ only)

Sets the byte in the operand to 1 if the Sign Flag equals the Overflow Flag, otherwise sets the operand to 0.

Usage:


	SETGE	dest
	SETNL	dest	


Modifies flags:</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:02:12 +0000</pubDate>
        </item>
        <item>
            <title>setl-setnge</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setl-setnge?rev=1677927868&amp;do=diff</link>
            <description>SETL/SETNGE (386+ only)

SETL/SETNGE - Set if Less / Set if Not Greater or Equal (signed, 386+ only)

Sets the byte in the operand to 1 if the Sign Flag is not equal	to the Overflow Flag, otherwise sets the operand to 0.

Usage:


	SETL	dest
	SETNGE	dest</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:04:28 +0000</pubDate>
        </item>
        <item>
            <title>setle-setng</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setle-setng?rev=1677928151&amp;do=diff</link>
            <description>SETLE/SETNG (386+ only)

SETLE/SETNG - Set if Less or Equal / Set if Not greater or Equal (signed, 386+ only)

Sets the byte in the operand to 1 if the Zero Flag is set or the Sign Flag is not equal to the Overflow Flag,  otherwise sets the operand to 0.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:09:11 +0000</pubDate>
        </item>
        <item>
            <title>setnc</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setnc?rev=1677928266&amp;do=diff</link>
            <description>SETNC (386+ only)

SETNC - Set if Not Carry (386+ only)

Sets the byte in the operand to 1 if the Carry Flag is clear, otherwise sets the operand to 0.

Usage:


	SETNC	dest


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:11:06 +0000</pubDate>
        </item>
        <item>
            <title>setne-setnz</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setne-setnz?rev=1677928378&amp;do=diff</link>
            <description>SETNE-SETNZ (386+ only)

SETNE/SETNZ - Set if Not Equal / Set if Not Zero (386+ only)

Sets the byte in the operand to 1 if the Zero Flag is clear, otherwise sets the operand to 0.

Usage:


	SETNE	dest
	SETNZ	dest


Modifies flags:

none</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:12:58 +0000</pubDate>
        </item>
        <item>
            <title>setno</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setno?rev=1677929045&amp;do=diff</link>
            <description>SETNO (386+ only)

SETNO - Set if Not Overflow (386+ only)

Sets the byte in the operand to 1 if the Overflow Flag is clear, otherwise sets the operand to 0.

Usage:


	SETNO	dest


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:24:05 +0000</pubDate>
        </item>
        <item>
            <title>setnp-setpo</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setnp-setpo?rev=1677929107&amp;do=diff</link>
            <description>SETNP-SETPO (386+ only)

SETNP/SETPO - Set if No Parity / Set if Parity Odd (386+ only)

Sets the byte in the operand to 1 if the Overflow Flag is clear, otherwise sets the operand to 0.

Usage:


	SETNP	dest
	SETPO	dest


Modifies flags:

none</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:25:07 +0000</pubDate>
        </item>
        <item>
            <title>setns</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setns?rev=1677929173&amp;do=diff</link>
            <description>SETNS (386+ only)

SETNS - Set if Not Signed (386+ only)

Sets the byte in the operand to 1 if the Sign Flag is clear, otherwise sets the operand to 0.

Usage:


	SETNS	dest


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:26:13 +0000</pubDate>
        </item>
        <item>
            <title>seto</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/seto?rev=1677929228&amp;do=diff</link>
            <description>SETO (386+ only)

SETO - Set if Overflow (386+ only)

Sets the byte in the operand to 1 if the Overflow Flag is set, otherwise sets the operand to 0.

Usage:


	SETO	dest


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:27:08 +0000</pubDate>
        </item>
        <item>
            <title>setp-setpe</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/setp-setpe?rev=1677929303&amp;do=diff</link>
            <description>SETP-SETPE (386+ only)

SETP/SETPE - Set if Parity / Set if Parity Even (386+ only)

Sets the byte in the operand to 1 if the Parity Flag is set, otherwise sets the operand to 0.

Usage:


	SETP	dest
	SETPE	dest


Modifies flags:

none
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:28:23 +0000</pubDate>
        </item>
        <item>
            <title>sets</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sets?rev=1677929342&amp;do=diff</link>
            <description>SETS (386+ only)

SETS - Set if Signed (386+ only)

Sets the byte in the operand to 1 if the Sign Flag is set, otherwise sets the operand to 0.

Usage:


	SETS	dest


Modifies flags:

none
              Clocks                         Size        Operands</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:29:02 +0000</pubDate>
        </item>
        <item>
            <title>sgdt</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sgdt?rev=1677931487&amp;do=diff</link>
            <description>SGDT (286+ privileged)

SGDT - Store Global Descriptor Table (286+ privileged)

Stores the Global Descriptor Table (GDT) Register into the specified operand.

Usage:


	SGDT	dest


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:04:47 +0000</pubDate>
        </item>
        <item>
            <title>shl</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/shl?rev=1731420097&amp;do=diff</link>
            <description>SHL

SHL - Shift Logical Left

Shifts the destination left by “count” bits with zeroes shifted	in on right.

The Carry Flag contains the last bit shifted out.

Usage:


	SAL	dest,count
	SHL	dest,count


Modifies flags:

CF OF PF SF ZF (AF undefined)</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 12 Nov 2024 14:01:37 +0000</pubDate>
        </item>
        <item>
            <title>shld-shrd</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/shld-shrd?rev=1771854534&amp;do=diff</link>
            <description>SHLD-SHRD

SHLD/SHRD - Double Precision Shift (386+ only)

SHLD shifts “dest” to the left “count” times and the bit positions opened are filled with the most significant bits of “src”.  

SHRD shifts “dest” to the right “count” times and the bit positions opened are filled with the least significant bits of the second operand.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 23 Feb 2026 13:48:54 +0000</pubDate>
        </item>
        <item>
            <title>shr</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/shr?rev=1677928551&amp;do=diff</link>
            <description>SHR

SHR - Shift Logical Right

Shifts the destination right by “count” bits with zeroes shifted in on the left.

The Carry Flag contains the last bit shifted out.

Usage:


	SHR	dest,count


Modifies flags:

CF OF PF SF ZF (AF undefined)</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:15:51 +0000</pubDate>
        </item>
        <item>
            <title>sidt</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sidt?rev=1677931474&amp;do=diff</link>
            <description>SIDT (286+ privileged)

SIDT - Store Interrupt Descriptor Table (286+ privileged)

Stores the Interrupt Descriptor Table (IDT) Register into the specified operand.

Usage:


	SIDT	dest


Modifies flags:

none
              Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:04:34 +0000</pubDate>
        </item>
        <item>
            <title>sldt</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sldt?rev=1677931607&amp;do=diff</link>
            <description>SLDT (286+ privileged)

SLDT - Store Local Descriptor Table (286+ privileged)

Stores the Local Descriptor Table (LDT) Register into the specified operand.

Usage:


	SLDT	dest


Modifies flags:

none
              Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:06:47 +0000</pubDate>
        </item>
        <item>
            <title>smsw</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/smsw?rev=1677931926&amp;do=diff</link>
            <description>SMSW (286+ privileged)

SMSW - Store Machine Status Word (286+ privileged)

Store Machine Status Word (MSW) into “dest”.

Usage:


	SMSW	dest	;


Modifies flags:

none
              Clocks                         Size        Operands    808x      286</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:12:06 +0000</pubDate>
        </item>
        <item>
            <title>start</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/start?rev=1677867021&amp;do=diff</link>
            <description>Instructions List


	* AAA
	* AAD
	* AAM
	* AAS
	* ADC
	* ADD
	* AND
	* ARPL (286+ protected mode)
	* BOUND - (80188+)
	* BSF - (386+ only)
	* BSR - (386+ only)
	* BSWAP - (486+ only)
	* BT - (386+ only)
	* BTC - (386+ only)
	* BTR - (386+ only)
	* BTS - (386+ only)
	* CALL
	* CBW
	* CDQ - (386+ only)
	* CLTS - (286+ privileged)
	* CLx
	* CLx / STx
	* CMC
	* CMP - CMPS - CMPSB - CMPSD - CMPSW - CMPSCHG
	* CWD
	* CWDE - (386+ only)
	* DAA
	* DAS
	* DEC
	* DIV
	* ENTER - (80188+)
	* ESC
	* HLT
	* …</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 03 Mar 2023 18:10:21 +0000</pubDate>
        </item>
        <item>
            <title>stos</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/stos?rev=1677928824&amp;do=diff</link>
            <description>STOS - STOSB - STOSW - STOSD

STOS - Store String (Byte, Word or Double)

Stores value in accumulator to location at ES:(E)DI (even if operand is given).

(E)DI is incremented/decremented based on the size of the operand (or instruction format) and the state of the Direction Flag.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:20:24 +0000</pubDate>
        </item>
        <item>
            <title>str</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/str?rev=1677931889&amp;do=diff</link>
            <description>STR (286+ privileged)

STR - Store Task Register (286+ privileged)

Stores the current Task Register to the specified operand.

Usage:


	STR	dest	;


Modifies flags:

none
              Clocks                         Size        Operands    808x</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:11:29 +0000</pubDate>
        </item>
        <item>
            <title>stx</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/stx?rev=1677354450&amp;do=diff</link>
            <description>STx</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 25 Feb 2023 19:47:30 +0000</pubDate>
        </item>
        <item>
            <title>sub</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/sub?rev=1677930094&amp;do=diff</link>
            <description>SUB

SUB - Subtract

The source is subtracted from the destination and the result is	stored in the destination.

Usage:


	SUB	Dest,Src	


Modifies flags:

AF CF OF SF PF ZF

286+ only  386+ only
                Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:41:34 +0000</pubDate>
        </item>
        <item>
            <title>test</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/test?rev=1677930417&amp;do=diff</link>
            <description>TEST

TEST - Test For Bit Pattern

Performs a logical {AND} of the two operands updating the flags	register without saving the result.

Usage:


	TEST	dest,src	;


Modifies flags:

CF OF PF SF ZF (AF undefined)
                Clocks</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 11:46:57 +0000</pubDate>
        </item>
        <item>
            <title>verr</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/verr?rev=1677932144&amp;do=diff</link>
            <description>VERR (286+ protected)

VERR - Verify Read (286+ protected)

Verifies the specified segment selector is valid and is readable at the current privilege level.

If the segment is readable, the Zero Flag is set, otherwise it is cleared.

Usage:


	VERR	src</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:15:44 +0000</pubDate>
        </item>
        <item>
            <title>verw</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/verw?rev=1717511371&amp;do=diff</link>
            <description>VERW (286+ protected)

VERW - Verify Write (286+ protected)

Verifies the specified segment selector is valid and is ratable at the current privilege level.

If the segment is writable, the Zero Flag is set, otherwise it is cleared.

Usage:


	VERW	src</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Tue, 04 Jun 2024 14:29:31 +0000</pubDate>
        </item>
        <item>
            <title>wait</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/wait?rev=1677932331&amp;do=diff</link>
            <description>WAIT-FWAIT

WAIT/FWAIT - Event Wait

CPU enters wait state until the coprocessor signals it has finished it&#039;s operation.

This instruction is used to prevent the CPU from accessing memory that may be temporarily in use by the coprocessor.

WAIT and FWAIT are identical.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:18:51 +0000</pubDate>
        </item>
        <item>
            <title>xchg</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/xchg?rev=1677932582&amp;do=diff</link>
            <description>XCHG

XCHG - Exchange

Exchanges contents of source and destination.

Usage:


	XCHG	dest,src	;


Modifies flags:

none
              Clocks                         Size                   Operands    808x      286    386    486    Bytes</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:23:02 +0000</pubDate>
        </item>
        <item>
            <title>xlat-xlatb</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/xlat-xlatb?rev=1677932818&amp;do=diff</link>
            <description>XLAT-XLATB

XLAT/XLATB - Translate

Replaces the byte in AL with byte from a user table addressed by BX. The original value of AL is the index into the translate table.

Locates a byte entry in a table in memory, using the contents of the AL register as a table index, then copies the contents of the table entry back into the AL register.</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 Mar 2023 12:26:58 +0000</pubDate>
        </item>
        <item>
            <title>xor</title>
            <link>https://wiki.nox-rhea.org/back2root/ibm-pc-ms-dos/instr/xor?rev=1677354658&amp;do=diff</link>
            <description>XOR

XOR- Exclusive Or

Performs a bitwise exclusive OR of the operands and returns the result in the destination.

Usage:


	XOR	dest,src


Modifies flags:

CF PF AF ZF SF OF 

AF undefined
                Clocks                         Size</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 25 Feb 2023 19:50:58 +0000</pubDate>
        </item>
    </channel>
</rss>
