CHAPTER 16 A86 RESERVED SYMBOLS $ Current assembly pointer .287 Directive .LIST Listing control .NOLIST Listing control .RADIX Directive ? Uninitialized memory slot A4 Address override prefix A2 Address override prefix AAA ASCII adjust addition AAD ASCII adjust division AAM ASCII adjust multiply AAS ASCII adjust subtract ABS EXTRN specifier ADC Add with carry ADD Instruction ADD4S NEC Instruction AH Byte register AL Byte register AND Instruction/operator ARPL 286 Prot Instruction ASSUME Ignored, compatibility AT SEGMENT specifier AX Word register B Byte memory specifier BH Byte register BIT Bit-mask operator BL Byte register BOUND Instruction BP Word register BSF Bit Scan Forward BSR Bit Scan Reverse BSWAP Byte Swap BT Bit Test BTC Bit Test Complement BTR Bit Test Reset BTS Bit Test Set BX Word register BY Bytes-combine operator BYTE Byte memory specifier CALL Instruction CALL80 NEC Instruction CBW Convert byte to word CDQ Convert Double to Quad CH Byte register CL Byte register CLC Clear carry CLD Clear direction CLI Clear interrupt CLRBIT NEC Instruction CLTS 286 Prot Instruction 16-2 CMC Complement carry CMP Compare CMP4S NEC Instruction CMPS Compare string CMPSB Compare string byte CMPSD Compare string dword CMPSW Compare string word CMPX8 Compare Xchg 8 bytes CMPXCHG Compare and Exchange CODE Segment name COMMENT Directive COMMON SEGMENT specifier CPUID Identify CPU CRn Control registers 0234 CS Segment register CWD Convert word to dword CWDE CWD into EAX CX Word register D Dword specifier DAA Decimal adjust add DAS Decimal adjust sub DATA Segment name DB Define bytes DD Define dwords DEC Decrement DEF Defined operator DH Byte register DI Word register DIV Divide DL Byte register DQ Define Qwords DRn Debug registers 0--7 DS Segment register DT Define Twords DUP Duplicate operator DW Define words DWORD Memory specifier DX Word register EAX Doubleword register EBP Doubleword register EBX Doubleword register ECX Doubleword register EDI Doubleword register EDX Doubleword register ELSE Conditional term ELSEIF Conditional term 16-3 END Start specifier ENDIF Conditional term ENDM Ignored, future use ENDP End of procedure ENDS End of segment ENTER Instruction EQ Equals operator EQU Equate directive ES Segment register ESI Doubleword register ESP Doubleword register EVEN Coerce to even address EXTRN Declare type of a symbol F Far specifier F2XM1 87 Instruction F4X4 IIT-2C87 Instruction FABS 87 Instruction FADD 87 Instruction FADDP 87 Instruction FAR Far specifier FBANK IIT-2C87 Instruction FBLD 87 Instruction FBSTP 87 Instruction FCHS 87 Instruction FCLEX 87 Instruction FCOM 87 Instruction FCOMP 87 Instruction FCOMPP 87 Instruction FCOS 387 Instruction FDECSTP 87 Instruction FDISI 87 Instruction FDIV 87 Instruction FDIVP 87 Instruction FDIVR 87 Instruction FDIVRP 87 Instruction FENI 87 Instruction FFREE 87 Instruction FIADD 87 Instruction FICOM 87 Instruction FICOMP 87 Instruction FIDIV 87 Instruction FIDIVR 87 Instruction FILD 87 Instruction FIMUL 87 Instruction FINCSTP 87 Instruction FINIT 87 Instruction FIST 87 Instruction FISTP 87 Instruction FISUB 87 Instruction FISUBR 87 Instruction 16-4 FLD 87 Instruction FLD1 87 Instruction FLDCW 87 Instruction FLDENV 87 Instruction FLDL2E 87 Instruction FLDL2T 87 Instruction FLDLG2 87 Instruction FLDLN2 87 Instruction FLDPI 87 Instruction FLDZ 87 Instruction FMUL 87 Instruction FMULP 87 Instruction FNCLEX 87 Instruction FNDISI 87 Instruction FNENI 87 Instruction FNINIT 87 Instruction FNOP 87 Instruction FNSAVE 87 Instruction FNSTCW 87 Instruction FNSTENV 87 Instruction FNSTSW 87 Instruction FPATAN 87 Instruction FPREM 87 Instruction FPREM1 387 Instruction FPTAN 87 Instruction FRNDINT 87 Instruction FRSTOR 87 Instruction FS Segment register FSAVE 87 Instruction FSCALE 87 Instruction FSETPM 87 Instruction FSIN 387 Instruction FSINCOS 387 Instruction FSQRT 87 Instruction FST 87 Instruction FSTCW 87 Instruction FSTENV 87 Instruction FSTP 87 Instruction FSTSW 87 Instruction FSUB 87 Instruction FSUBP 87 Instruction FSUBR 87 Instruction FSUBRP 87 Instruction FTST 87 Instruction 16-5 FUCOM 387 Instruction FUCOMP 387 Instruction FUCOMPP 387 Instruction FWAIT 87 Instruction FXAM 87 Instruction FXCH 87 Instruction FXTRACT 87 Instruction FYL2X 87 Instruction FYL2XP1 87 Instruction GE Greater/equal operator GROUP Group of segments GS Segment register GT Greater than operator HIGH High byte of word op HLT Halt IDIV Integer divide IF Skip/conditional term IMUL Integer multiply IN Input from port INC Increment INCLUDE Include another file INS Input string INSB Input string byte INSD Input string doubleword INSW Input string word INT Interrupt INTO Interrupt on overflow INVD Invalidate data cache INVLPG Invalidate TLB entry IRET Interrupt return IRETD Interrupt return 32-bit JA Jump on above JAE Jump above equal JB Jump on below JBE Jump below equal JC Jump on carry JCXZ Jump on CX zero JE Jump on equal JECXZ Jump on ECX zero JG Jump on greater JGE Jump greater equal JL Jump on less JLE Jump less equal JMP Jump unconditional JNA Jump not above JNAE Jump not above equal JNB Jump not below JNBE Jump not below equal JNC Jump not carry 16-6 JNE Jump not equal JNG Jump not greater JNGE Jump not greater equ JNL Jump not less JNLE Jump not less equal JNO Jump not overflow JNP Jump not parity JNS Jump not sign JNZ Jump not zero JO Jump overflow JP Jump parity JPE Jump parity even JPO Jump parity odd JS Jump on sign JZ Jump on zero L2E Real constant L2T Real constant LABEL Declaration LAHF Load AH flags LAR 286 Prot Instruction LDS Load into DS LE Less equal operator LEA Load eff address LEAVE Instruction LES Load into ES LFS Load into FS LG2 Real constant LGDT 286 Prot Instruction LGS Load into GS LIDT 286 Prot Instruction LLDT 286 Prot Instruction LMSW 286 Prot Instruction LN2 Real constant LOCK Instruction LODBITS NEC Instruction LODS Load string LODSB Load string byte LODSD Load string doubleword LODSW Load string word LONG Operator LOOP Instruction LOOPE Loop on equal LOOPNE Loop not equal LOOPNZ Loop not zero LOOPZ Loop on zero LOW Operator 16-7 LSL 286 Prot Instruction LSS Load into SS LT Less than operator LTR 286 Prot Instruction MACRO Directive MAIN Program strating label MEMORY Segment specifier MOD Operator MOV Instruction MOVS Move string MOVSB Move string byte MOVSD Move string doubleword MOVSW Move string word MOVSX Move sign extended MOVZX Move zero extended MUL Multiply NAME .OBJ module name NE Not equals operator NEAR Operator NEG Instruction NIL No code instruction NOP No operation NOT Instruction/operator NOTBIT NEC Instruction O2 Operand override prefix O4 Operand override prefix OFFSET Operator OR Instruction/operator ORG Directive OUT Output to port OUTS Output string OUTSB Output string byte OUTSD Output string doubleword OUTSW Output string word PAGE Listing page control PARA Segment specifier PI Real Constant POP Instruction POPA Pop all POPAD Pop all doublewords POPF Pop flags POPFD Pop doubleword flags PROC Procedure Directive PTR Ignored, compatibility PUBLIC Specify public symbols PUSH Instruction PUSHA Push all PUSHAD Push all doublewords PUSHF Push flags PUSHFD Push doubleword flags Q Qword specifier QWORD Memory specifier 16-8 RADIX Directive RCL Rotate carry left RCR Rotate carry right RDMSR Read model specific reg RDTSC Read time stamp counter REF Referenced operator REP Repeat prefix REPC NEC Instruction REPE Repeat while equal REPNC NEC Instruction REPNE Repeat not equal REPNZ Repeat while zero REPT Ignored, future use REPZ Repeat non zero RET Return RETF Far Return ROL Rotate left ROL4 NEC Instruction ROR Rotate right ROR4 NEC Instruction RSM Resume from sys mgmt. SAHF Store AH to flags SAL Shift arith left SAR Shift arith right SBB Subtract with borrow SCAS Scan string SCASB Scan string byte SCASD Scan string doubleword SCASW Scan string word SEG Operator SEGMENT Directive SETcond Set condition (see J, all but eCXZ) SETBIT NEC Instruction SGDT 286 Prot Instruction SHL Instruction/operator SHLD Shift left double SHORT Operator SHR Instruction/operator SHRD Shift right double SI Word register SIDT 286 Prot Instruction SLDT 286 Prot Instruction SMSW 286 Prot Instruction SP Word register SS Segment register 16-9 ST EQU 0 for compatibility STACK Segment specifier STC Set carry STD Set direction STI Set interrupts STOBITS NEC Instruction STOS Store string STOSB Store string byte STOSD Store string doubleword STOSW Store string word STR 286 Prot Instruction STRUC Structure directive SUB Instruction SUB4S NEC Instruction SUBTTL Listing subtitle T Tbyte specifier TBYTE Memory specifier TEST Instruction TESTBIT NEC Instruction THIS This-location specifier TITLE Listing title TRn Test registers 6--7 TYPE Operator VERR 286 Prot Instruction VERW 286 Prot Instruction W Word specifier WAIT Instruction WBINVD Write back, invalidate WORD Word specifier WRMSR Write model specific reg XADD Exchange and add XCHG Instruction XLAT Translate byte XLATB Translate byte XOR Instruction/operator