state.h 993 B

1234567891011121314151617181920212223242526272829
  1. /****************************************************************************
  2. * dcc project header
  3. * (C) Cristina Cifuentes, Mike van Emmerik
  4. ****************************************************************************/
  5. /* STATE TABLE */
  6. #include <cstring>
  7. struct STATE
  8. {
  9. dword IP; /* Offset into Image */
  10. int16 r[INDEXBASE]; /* Value of segs and AX */
  11. byte f[INDEXBASE]; /* True if r[.] has a value */
  12. struct
  13. { /* For case stmt indexed reg */
  14. byte regi; /* Last conditional jump */
  15. int16 immed; /* Contents of the previous register */
  16. } JCond;
  17. void setState(word reg, int16 value);
  18. public:
  19. void checkStartup();
  20. STATE() : IP(0)
  21. {
  22. JCond.immed=0;
  23. memset(r,0,sizeof(int16)*INDEXBASE);
  24. memset(f,0,sizeof(byte)*INDEXBASE);
  25. }
  26. };