\section{MISC}
\begin{tabular}{llll}
Name & Comment & Code & Operation \\
NOP & No operation & NOP & No operation \\
LEA & Load effective address & LEA Dest,Source & Dest := address of Source \\
INT & Interrupt & INT Nr & Interrupts current program, runs spec. int-program \\
\end{tabular}

\section{JUMPS (flags remain unchanged)}
\begin{tabular}{llll}
Name & Comment & Code & Operation \\
CALL & Call subroutine & CALL Proc & \\
JMP & Jump & JMP Dest & \\
JE & Jump if Equal & JE Dest (= JZ) & \\
JZ & Jump if Zero & JZ Dest (= JE) & \\
JCXZ & Jump if CX Zero & JCXZ Dest & \\
JP & Jump if Parity (Parity Even) & JP Dest (= JPE) & \\
JPE & Jump if Parity Even & JPE Dest (= JP) & \\
RET & Return from subroutine & RET & \\
JNE & Jump if not Equal & JNE Dest (= JNZ) & \\
JNZ & Jump if not Zero & JNZ Dest (= JNE) & \\
JECXZ & Jump if ECX Zero & JECXZ Dest & \\
JNP & Jump if no Parity (Parity Odd) & JNP Dest (= JPO) & \\
JPO & Jump if Parity Odd & JPO Dest (= JNP) & \\
\end{tabular}

\section{JUMPS Unsigned (Cardinal)}
\begin{tabular}{lll}
Name & Comment & Code \\
JA & Jump if Above & JA Dest (= JNBE) \\
JAE & Jump if Above or Equal & JAE Dest (= JNB = JNC) \\
JB & Jump if Below & JB Dest (= JNAE = JC) \\
JBE & Jump if Below or Equal & JBE Dest (= JNA) \\
JNA & Jump if not Above & JNA Dest (= JBE) \\
JNAE & Jump if not Above or Equal & JNAE Dest (= JB = JC) \\
JNB & Jump if not Below & JNB Dest (= JAE = JNC) \\
JNBE & Jump if not Below or Equal & JNBE Dest (= JA) \\
JC & Jump if Carry & JC Dest \\
JNC & Jump if no Carry & JNC Dest \\
\end{tabular}

\section{JUMPS Signed (Integer)}
\begin{tabular}{lll}
Name & Comment & Code \\
JG & Jump if Greater & JG Dest (= JNLE) \\
JGE & Jump if Greater or Equal & JGE Dest (= JNL) \\
JL & Jump if Less & JL Dest (= JNGE) \\
JLE & Jump if Less or Equal & JLE Dest (= JNG) \\
JNG & Jump if not Greater & JNG Dest (= JLE) \\
JNGE & Jump if not Greater or Equal & JNGE Dest (= JL) \\
JNL & Jump if not Less & JNL Dest (= JGE) \\
JNLE & Jump if not Less or Equal & JNLE Dest (= JG) \\
JO & Jump if Overflow & JO Dest \\
JNO & Jump if no Overflow & JNO Dest \\
JS & Jump if Sign (= negative) & JS Dest \\
JNS & Jump if no Sign (= positive) & JNS Dest \\
\end{tabular}

\section{General Registers}
EAX (386) with subregisters AX, AH, AL --- Accumulator.

EDX (386) with subregisters DX, DH, DL --- Data multiplication, division, and I/O.

ECX (386) with subregisters CX, CH, CL --- Count register for loops and shifts.

EBX (386) with subregisters BX, BH, BL --- Base register for data pointers.

\section{Flags}
Flags layout: O, D, I, T, S, Z, A, P, C.

\subsection{Control Flags}
D: Direction --- string operations process down from high to low address.

I: Interrupt --- whether interrupts can occur; 1 = enabled.

T: Trap --- single step for debugging.

\subsection{Status Flags (result of operations)}
C: Carry --- result of unsigned operation is too large or below zero; 1 = carry/borrow.

O: Overflow --- result of signed operation is too large or small; 1 = overflow/underflow.

S: Sign --- sign of result; reasonable only for integer operations; 1 = negative, 0 = positive.

Z: Zero --- result of operation is zero; 1 = zero.

A: Auxiliary carry --- similar to carry but restricted to the low nibble.

P: Parity --- 1 if result has an even number of set bits.

\section{Example}
\begin{verbatim}
.DOSSEG              ; Demo program
.MODEL SMALL
.STACK 1024

Two  EQU 2           ; Const

.DATA
VarB DB ?            ; define Byte, any value
VarW DW 1010b        ; define Word, binary
VarW2 DW 257         ; define Word, decimal
VarD DD 0AFFFFh      ; define Doubleword, hex
S    DB "Hello !",0  ; define String

.CODE
main:
MOV AX,DGROUP        ; resolved by linker
MOV DS,AX            ; init datasegment reg

MOV [VarB],42        ; init VarB
MOV [VarD],-7        ; set VarD

MOV BX,OFFSET S      ; addr of "H" of "Hello !"
MOV AX,[VarW]        ; get value into accumulator
ADD AX,[VarW2]       ; add VarW2 to AX
MOV [VarW2],AX       ; store AX in VarW2

MOV AX,4C00h         ; back to system
INT 21h
END main
\end{verbatim}