2 Direct unchecked memory access
5 /* $Id: memdirect.h,v 2.2 1994/06/24 10:48:13 ceriel Exp $ */
7 /* The set of macros is neither systematic nor exhaustive; its contents
8 were suggested by expediency rather than by completeness.
11 /* Loading from memory */
13 #define p_in_stack(a) i2p((psize == 2) \
14 ? (btol(stack_loc(a)) | (btol(stack_loc(a+1))<<8)) \
15 : (btol(stack_loc(a)) | (btol(stack_loc(a+1))<<8) | \
16 (btol(stack_loc(a+2))<<16) | \
17 (btol(stack_loc(a+3))<<24)))
19 #define p_in_data(a) i2p((psize == 2) \
20 ? (btol(data_loc(a)) | (btol(data_loc(a+1))<<8)) \
21 : (btol(data_loc(a)) | (btol(data_loc(a+1))<<8) | \
22 (btol(data_loc(a+2))<<16) | \
23 (btol(data_loc(a+3))<<24)))
25 #define p_in_text(a) i2p((psize == 2) \
26 ? (btol(text_loc(a)) | (btol(text_loc(a+1))<<8)) \
27 : (btol(text_loc(a)) | (btol(text_loc(a+1))<<8) | \
28 (btol(text_loc(a+2))<<16) | \
29 (btol(text_loc(a+3))<<24)))
31 #define p_in_FRA(a) i2p((psize == 2) \
32 ? (btol(FRA[a]) | (btol(FRA[a+1])<<8)) \
33 : (btol(FRA[a]) | (btol(FRA[a+1])<<8) | \
34 (btol(FRA[a+2])<<16) | \
35 (btol(FRA[a+3])<<24)))
37 #define w_in_stack(a) ((wsize == 2) \
38 ? (btol(stack_loc(a)) | (btos(stack_loc(a+1))<<8)) \
39 : (btol(stack_loc(a)) | (btol(stack_loc(a+1))<<8) | \
40 (btol(stack_loc(a+2))<<16) | \
41 (btos(stack_loc(a+3))<<24)))
43 #define w_in_data(a) ((wsize == 2) \
44 ? (btol(data_loc(a)) | (btos(data_loc(a+1))<<8)) \
45 : (btol(data_loc(a)) | (btol(data_loc(a+1))<<8) | \
46 (btol(data_loc(a+2))<<16) | \
47 (btos(data_loc(a+3))<<24)))
49 #define w_in_FRA(a) ((wsize == 2) \
50 ? (btol(FRA[a]) | (btos(FRA[a+1])<<8)) \
51 : (btol(FRA[a]) | (btol(FRA[a+1])<<8) | \
52 (btol(FRA[a+2])<<16) | \
53 (btos(FRA[a+3])<<24)))
55 #define LIN_in_stack(a) ((LINSIZE == 2) \
56 ? (btol(stack_loc(a)) | (btol(stack_loc(a+1))<<8)) \
57 : (btol(stack_loc(a)) | (btol(stack_loc(a+1))<<8) | \
58 (btol(stack_loc(a+2))<<16) | \
59 (btol(stack_loc(a+3))<<24)))