scanner.h 999 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /* Scanner functions
  2. * (C) Cristina Cifuentes, Jeff Ledermann
  3. */
  4. #define LH(p) ((int)((byte *)(p))[0] + ((int)((byte *)(p))[1] << 8))
  5. static void rm(Int i);
  6. static void modrm(Int i);
  7. static void segrm(Int i);
  8. static void data1(Int i);
  9. static void data2(Int i);
  10. static void regop(Int i);
  11. static void segop(Int i);
  12. static void strop(Int i);
  13. static void escop(Int i);
  14. static void axImp(Int i);
  15. static void alImp(Int i);
  16. static void axSrcIm(Int i);
  17. static void memImp(Int i);
  18. static void memReg0(Int i);
  19. static void memOnly(Int i);
  20. static void dispM(Int i);
  21. static void dispS(Int i);
  22. static void dispN(Int i);
  23. static void dispF(Int i);
  24. static void prefix(Int i);
  25. static void immed(Int i);
  26. static void shift(Int i);
  27. static void arith(Int i);
  28. static void trans(Int i);
  29. static void const1(Int i);
  30. static void const3(Int i);
  31. static void none1(Int i);
  32. static void none2(Int i);
  33. static void checkInt(Int i);
  34. /* Extracts reg bits from middle of mod-reg-rm byte */
  35. #define REG(x) ((byte)(x & 0x38) >> 3)