tac0S
Template Affectional Command Operating System
Main Page
Classes
Files
File List
File Members
code
bin
int.h
1
2
/*
3
Copyright (c) 1992-1993 The Regents of the University of California.
4
All rights reserved. See copyright.h for copyright notice and limitation
5
of liability and disclaimer of warranty provisions.
6
*/
7
8
#include "copyright.h"
9
10
11
#define MEMSIZE (1<<24)
12
#define memoffset 0x10000000
13
14
/* centralized memory-access primitives */
15
#define amark(x) x
16
#define imark(x) x
17
18
#define ifetch(addr) (*(int *)(int) (&(mem-memoffset)[imark(addr)]))
19
#define fetch(addr) (*(int *)(int) (&(mem-memoffset)[amark(addr)]))
20
#define sfetch(addr) (*(short *)(int) (&(mem-memoffset)[amark(addr)]))
21
#define usfetch(addr) (*(unsigned short *)(int)(&(mem-memoffset)[amark(addr)]))
22
#define cfetch(addr) (*(char *)(int) (&(mem-memoffset)[amark(addr)]))
23
#define ucfetch(addr) (*(unsigned char *)(int)(&(mem-memoffset)[amark(addr)]))
24
25
#define store(addr, i) \
26
((*(int *)(int) (&(mem-memoffset)[amark(addr)]) = (i)))
27
#define sstore(addr, i) \
28
((*(short *)(int) (&(mem-memoffset)[amark(addr)]) = (i)))
29
#define cstore(addr, i) \
30
(((mem-memoffset)[amark(addr)] = (i)))
31
Generated by
1.8.11