; ***************************** Module Header ******************************\ ; ; Module Name: assembler.hil ; ; Definitons of the Netlabs EPM Distribution Project ; for the syntax highlighting of the EPM mode "ASSEMBLER" ; ; Among others these definitions implement the definitions of ; the respective epmkwds definitions file of the EPMBBS distributiuon. ; ; Copyright (c) Netlabs EPM Distribution Project 2002 ; ; $Id$ ; ; =========================================================================== ; ; This file is part of the Netlabs EPM Distribution package and is free ; software. You can redistribute it and/or modify it under the terms of the ; GNU General Public License as published by the Free Software ; Foundation, in version 2 as it comes in the "COPYING" file of the ; Netlabs EPM Distribution. This library is distributed in the hope that it ; will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty ; of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ; General Public License for more details. ; ; **************************************************************************/ [COMMENT] ; Start End Escape StartPos ; string string character ; [LITERAL] ; Start End Escape color ; string string character symbol " " \ ' ' \ CHAR [OPERATOR] { } , ? : $ @ % < > * ; Keywords copied from LPEX: LPEXASM.DAT, (C) Copyright IBM Corporation 1989. [PROCEDURE] PROC ENDP PROCEDURE BEGINPROC ENDPROC [MACRO] MACRO ENDM CALL INCLUDE [KEYWORD] ; The following are assembler directives, keywords etc.: ASSUME BYTE COMMENT CREF DB DBIT DD DP DQ DT DW ELSE END ENDIF ENDS EQU EVEN EXITM EXTRN FAR GROUP IF IF1 IF2 IFB IFDEF IFDIF IFE IFIDN IFNB IFNDEF IRP IRPC LABEL LALL LFCOND LIST LOCAL MSFLOAT NAME NEAR OFFSET ORG OUT PAGE PTR PUBLIC PURGE RADIX RECORD REPT SALL SEGMENT SFCOND SHORT STACK STRUC SUBTTL TFCOND TITLE WORD XALL XCREF XLIST ; More keywords: RETN EXIT [MNEMONIC286] ; This is the mnemonic table. ; The mnemonics apply to the 80286 and 8086: AAA AAD AAM AAS ADC ADD AND ARPL BOUND CBW CLC CLD CLI CLTS CMC CMP CMPS CMPSB CMPSW CWD DAA DAS DEC DIV ENTER HLT IDIV IMUL IN INC INS INSB INSW INT INT0 IRET JA JAE JB JBE JC JCXZ JE JG JGE JL JLE JMP JNA JNAE JNB JNBE JNC JNE JNG JNGE JNL JNO JNP JNS JNZ JZ LAHF LAR LDS LEA LEAVE LES LFS LGDT LGS LIDT LLDT LMSW LOCK LODS LODSB LODSW LOOP LSL LSS LTR MOV MOVS MOVSB MOVSW MOVSX MOVZX MUL NEG NOP NOT OR OUTS OUTSB OUTSW POP POPA POPF PUSH PUSHA PUSHF RCL RCR REP REPZ REPE REPNE REPNZ RET ROL ROR SAHF SAL SAR SBB SCAS SCASB SCASW SGDT SHL SHR SIDT SLDT SMSW STC STD STI STOS STOSB STOSW STR SUB TEST VERR VERW WAIT XCHG XLAT XOR [REGISTER] ; Next the list of registers. Note that the flags also ; appear in this list, since they are part of the registers: AF AH AL AX BH BL BP BX CF CH CL CR0 CR1 CR2 CR3 CS CX DF DH DI DL DR0 DR1 DR2 DR3 DR4 DR5 DR6 DR7 DS DX EAX EBP EBX ECX EDI EDX EFLAGS EIP EM ES ESI ESP ET FS GDTR GS IDTR IOPL LDTR MP NT OF PE PF RF SF SI SP SS TF TR TR6 TR7 TS VM ZF [MNEMONIC386] ; The following are 80386 specific mnemonics: BSF BSR BT BTC BTR BTS IBTS SETA SETAE SETB SETBE SETE SETG SETGE SETL SETLE SETNA SETNAE SETNB SETNBE SETNE SETNG SETNGE SETNL SETNLE SETNO SETNP SETNS SETNZ SETO SETP SETPE SETPO SETS SETZ SHLD SHRD XBTS ; MOV CR_ ; MOV DR_ ; MOV TR_ CR_ DR_ TR_ [MNEMONIC87] ; The following are 80x87 mnemonics: F2XM1 FABS FADD FADDP FBLD FBSTP FCHS FCLEX FCOM FCOMP FCOMPP FCOS FDECSTP FDISI FDIV FDIVP FDIVR FDIVRP FENI FFREE FIADD FICOM FICOMP FIDIV FIDIVR FILD FIMUL FINCSTP FINIT FIST FISTP FISUB FISUBR FLD FLD1 FLDCW FLDENV FLDL2E FLDL2T FLDLG2 FLDLN2 FLDPI FLDZ FMUL FMULP FNCLEX FNDISI FNENI FNINIT FNOP FNSAVE FNSTCW FNSTENV FNSTSW FPATAN FPREM FPTAN FRNDINT FRSTOR FSAVE FSCALE FSETPM FSIN FSINCOS FSQRT FST FSTCW FSTENV FSTP FSTSW FSUB FSUBP FSUBR FSUBRP FTST FWAIT FXAM FXCH FXTRACT FYL2X FYL2XP1