anchor.diff:     ;
   
   opera
  -   : POPAD | AAA | POPA | POPFD | CWD | LAHF | PUSHAD | PUSHF | AAS | BSWAP | PUSHFD | CBW | CWDE | XLAT | AAM | AAD | CDQ | DAA | SAHF | DAS | INTO | IRET | CLC | STC | CMC | CLD | STD | CLI | STI | MOVSB | MOVSW | MOVSD | LODS | LODSB | LODSW | LODSD | STOS | STOSB | STOSW | SOTSD | SCAS | SCASB | SCASW | SCASD | CMPS | CMPSB | CMPSW | CMPSD | INSB | INSW | INSD | OUTSB | OUTSW | OUTSD
  +   : POPAD
  +   | AAA
  +   | POPA
  +   | POPFD
  +   | CWD
  +   | LAHF
  +   | PUSHAD
  +   | PUSHF
  +   | AAS
  +   | BSWAP
  +   | PUSHFD
  +   | CBW
  +   | CWDE
  +   | XLAT
  +   | AAM
  +   | AAD
  +   | CDQ
  +   | DAA
  +   | SAHF
  +   | DAS
  +   | INTO
  +   | IRET
  +   | CLC
  +   | STC
  +   | CMC
  +   | CLD
  +   | STD
  +   | CLI
  +   | STI
  +   | MOVSB
  +   | MOVSW
  +   | MOVSD
  +   | LODS
  +   | LODSB
  +   | LODSW
  +   | LODSD
  +   | STOS
  +   | STOSB
  +   | STOSW
  +   | SOTSD
  +   | SCAS
  +   | SCASB
  +   | SCASW
  +   | SCASD
  +   | CMPS
  +   | CMPSB
  +   | CMPSW
  +   | CMPSD
  +   | INSB
  +   | INSW
  +   | INSD
  +   | OUTSB
  +   | OUTSW
  +   | OUTSD
      ;
   
   operat
  -   : ADC | ADD | SUB | CBB | XOR | OR
  +   : ADC
  +   | ADD
  +   | SUB
  +   | CBB
  +   | XOR
  +   | OR
      ;
   
   operato
  -   : JNBE | JNZ | JPO | JZ | JS | LOOPNZ | JGE | JB | JNB | JO | JP | JNO | JNL | JNAE | LOOPZ | JMP | JNP | LOOP | JL | JCXZ | JAE | JNGE | JA | LOOPNE | LOOPE | JG | JNLE | JE | JNC | JC | JNA | JBE | JLE | JPE | JNS | JECXZ | JNG
  +   : JNBE
  +   | JNZ
  +   | JPO
  +   | JZ
  +   | JS
  +   | LOOPNZ
  +   | JGE
  +   | JB
  +   | JNB
  +   | JO
  +   | JP
  +   | JNO
  +   | JNL
  +   | JNAE
  +   | LOOPZ
  +   | JMP
  +   | JNP
  +   | LOOP
  +   | JL
  +   | JCXZ
  +   | JAE
  +   | JNGE
  +   | JA
  +   | LOOPNE
  +   | LOOPE
  +   | JG
  +   | JNLE
  +   | JE
  +   | JNC
  +   | JC
  +   | JNA
  +   | JBE
  +   | JLE
  +   | JPE
  +   | JNS
  +   | JECXZ
  +   | JNG
      ;
   
   operator
  -   : MOVZX | BSF | BSR
  +   : MOVZX
  +   | BSF
  +   | BSR
      ;
   
   l
  -   : LES | LEA | LDS | INS | OUTS
  +   : LES
  +   | LEA
  +   | LDS
  +   | INS
  +   | OUTS
      ;
   
   x
  -   : XADD | CMPXCHG
  +   : XADD
  +   | CMPXCHG
      ;
   
   s
  -   : SHL | SHR | ROR | ROL | RCL | SAL | RCR | SAR
  +   : SHL
  +   | SHR
  +   | ROR
  +   | ROL
  +   | RCL
  +   | SAL
  +   | RCR
  +   | SAR
      ;
   
   sh
  -   : SHRD | SHLD
  +   : SHRD
  +   | SHLD
      ;
   
   b
  -   : BTR | BT | BTC
  +   : BTR
  +   | BT
  +   | BTC
      ;
   
   call
  
positive.code: 
  
  Identifier
     : Letter ( '_' | Letter | Digit )*
     ;
  
  
  
negative.code: 
  
  WS
     : (' ' | '\t' | '\n' | '\r') -> skip
     ;
  
  
  LINE_COMMENT
     : ';' ~ ('\n' | '\r')* '\r'? '\n' -> skip
     ;
  