ureg.h 996 B

12345678910111213141516171819202122232425262728293031323334
  1. /*
  2. * This file is part of the UCB release of Plan 9. It is subject to the license
  3. * terms in the LICENSE file found in the top-level directory of this
  4. * distribution and at http://akaros.cs.berkeley.edu/files/Plan9License. No
  5. * part of the UCB release of Plan 9, including this file, may be copied,
  6. * modified, propagated, or distributed except according to the terms contained
  7. * in the LICENSE file.
  8. */
  9. struct Ureg
  10. {
  11. uint32_t di; /* general registers */
  12. uint32_t si; /* ... */
  13. uint32_t bp; /* ... */
  14. uint32_t nsp;
  15. uint32_t bx; /* ... */
  16. uint32_t dx; /* ... */
  17. uint32_t cx; /* ... */
  18. uint32_t ax; /* ... */
  19. uint32_t gs; /* data segments */
  20. uint32_t fs; /* ... */
  21. uint32_t es; /* ... */
  22. uint32_t ds; /* ... */
  23. uint32_t trap; /* trap type */
  24. uint32_t ecode; /* error code (or zero) */
  25. uint32_t pc; /* pc */
  26. uint32_t cs; /* old context */
  27. uint32_t flags; /* old flags */
  28. union {
  29. uint32_t usp;
  30. uint32_t sp;
  31. };
  32. uint32_t ss; /* old stack segment */
  33. };