Added With 80386
Instruction | Meaning | Notes |
---|---|---|
BSF | Bit scan forward | |
BSR | Bit scan reverse | |
BT | Bit test | |
BTC | Bit test and complement | |
BTR | Bit test and reset | |
BTS | Bit test and set | |
CDQ | Convert double-word to quad-word | Sign-extends EAX into EDX, forming the quad-word EDX:EAX. Since (I)DIV uses EDX:EAX as its input, CDQ must be called after setting EAX if EDX is not manually initialized (as in 64/32 division) before (I)DIV. |
CMPSD | Compare string double-word | Compares ES: with DS: |
CWDE | Convert word to double-word | Unlike CWD, CWDE sign-extends AX to EAX instead of AX to DX:AX |
INSD | Input from port to string double-word | |
IRETx | Interrupt return; D suffix means 32-bit return, F suffix means do not generate epilogue code (i.e. LEAVE instruction) | Use IRETD rather than IRET in 32-bit situations |
JCXZ, JECXZ | Jump if register (E)CX is zero | |
LFS, LGS | Load far pointer | |
LSS | Load stack segment | |
LODSD | Load string double-word | can be prefixed with REP |
LOOPW, LOOPccW | Loop, conditional loop | Same as LOOP, LOOPcc for earlier processors |
LOOPD, LOOPccD | Loop while equal | if (cc && --ECX) goto lbl; , cc = Z(ero), E(qual), NonZero, N(on)E(qual) |
MOVSD | Move string double-word | *(dword*)ES:EDI±± = (dword*)ESI±±; (±± depends on DF) |
MOVSX | Move with sign-extension | (long)r = (signed char) r/m; and similar |
MOVZX | Move with zero-extension | (long)r = (unsigned char) r/m; and similar |
OUTSD | Output to port from string double-word | port = *(long*)ESI±±; (±± depends on DF) |
POPAD | Pop all double-word (32-bit) registers from stack | Does not pop register ESP off of stack |
POPFD | Pop data into EFLAGS register | |
PUSHAD | Push all double-word (32-bit) registers onto stack | |
PUSHFD | Push EFLAGS register onto stack | |
SCASD | Scan string data double-word | |
SETcc | Set byte to one on condition | (SETA, SETAE, SETB, SETBE, SETC, SETE, SETG, SETGE, SETL, SETLE, SETNA, SETNAE, SETNB, SETNBE, SETNC, SETNE, SETNG, SETNGE, SETNL, SETNLE, SETNO, SETNP, SETNS, SETNZ, SETO, SETP, SETPE, SETPO, SETS, SETZ) |
SHLD | Shift left double-word | |
SHRD | Shift right double-word | r1 = r1>>CL ∣ r2<<(32-CL); Instead of CL, immediate 1 can be used |
STOSD | Store string double-word | *ES:EDI±± = EAX; (±± depends on DF, ES cannot be overridden) |
Read more about this topic: X86 Instructions, X86 Integer Instructions, Added in Specific Processors
Famous quotes containing the word added:
“A Roman divorced from his wife, being highly blamed by his friends, who demanded, Was she not chaste? Was she not fair? Was she not fruitful? holding out his shoe, asked them whether it was not new and well made. Yet, added he, none of you can tell where it pinches me.”
—Plutarch (c. 46120 A.D.)