Rev | Line | |
---|
[2511] | 1 | /* $Id: asmutils.h,v 1.4 2000-01-24 18:18:59 bird Exp $
|
---|
[847] | 2 | *
|
---|
| 3 | * Assembly utilities.
|
---|
| 4 | *
|
---|
| 5 | * Copyright (c) 1998-1999 knut st. osmundsen
|
---|
| 6 | *
|
---|
[1678] | 7 | * Project Odin Software License can be found in LICENSE.TXT
|
---|
| 8 | *
|
---|
[847] | 9 | */
|
---|
| 10 | #ifndef _asmutils_h_
|
---|
| 11 | #define _asmutils_h_
|
---|
| 12 |
|
---|
| 13 | #ifdef __cplusplus
|
---|
| 14 | extern "C" {
|
---|
| 15 | #endif
|
---|
| 16 |
|
---|
| 17 | extern unsigned short _System GetCS(void);
|
---|
| 18 | extern unsigned short _System GetDS(void);
|
---|
| 19 | extern unsigned short _System GetES(void);
|
---|
| 20 | extern unsigned short _System GetFS(void);
|
---|
| 21 | extern unsigned short _System GetGS(void);
|
---|
| 22 | extern unsigned short _System GetSS(void);
|
---|
| 23 |
|
---|
| 24 | extern void _System DisableInterrupts(void); /* uniprocessor only */
|
---|
| 25 | extern void _System EnableInterrupts(void); /* uniprocessor only */
|
---|
| 26 |
|
---|
[2511] | 27 | #if 0
|
---|
| 28 | //extern void _System Int3(void);
|
---|
| 29 | extern int _System Int3(void);
|
---|
| 30 | #else
|
---|
[21916] | 31 | #ifdef __GNUC__
|
---|
| 32 | #define _Inline static inline
|
---|
| 33 | #define __interrupt(n) ({ __asm__ __volatile__ ("int" #n "\n\tnop"); })
|
---|
| 34 | #else
|
---|
[2511] | 35 | #include <builtin.h>
|
---|
[21916] | 36 | #endif
|
---|
[2511] | 37 | #define Int3() __interrupt(3)
|
---|
| 38 | #endif
|
---|
[847] | 39 |
|
---|
| 40 | //Negative offsets don't work yet?
|
---|
| 41 | extern void __stdcall memmov(void *p, signed int off, unsigned int len);
|
---|
| 42 |
|
---|
| 43 | #ifdef __cplusplus
|
---|
| 44 | }
|
---|
| 45 | #endif
|
---|
| 46 | #endif
|
---|
| 47 |
|
---|
Note:
See
TracBrowser
for help on using the repository browser.