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:
“I know that whatever God does endures forever; nothing can be added to it, nor anything taken from it; God has done this, so that all should stand in awe before him.”
—Bible: Hebrew, Ecclesiastes 3:14.