aboutsummaryrefslogtreecommitdiff
path: root/include/memory.h
blob: a36a2ffb5bba9c4781b0930b0e8d39fc08b86224 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#ifndef SALIS_MEMORY_H
#define SALIS_MEMORY_H

void  sm_init                 (sword order);
void  sm_quit                 (void);
void  sm_load                 (FILE *file);
void  sm_save                 (FILE *file);

sbool sm_isInit               (void);
sword sm_getOrder             (void);
sword sm_getSize              (void);
sword sm_getMemBlockCount     (void);
sword sm_getAllocated         (void);
sword sm_getCap               (void);

sbool sm_isOverCap            (void);
sbool sm_isValidAt            (sword addr);
sbool sm_isMemBlockStartAt    (sword addr);
sbool sm_isAllocatedAt        (sword addr);

void  sm_setMemBlockStartAt   (sword addr);
void  sm_unsetMemBlockStartAt (sword addr);
void  sm_allocateAt           (sword addr);
void  sm_freeAt               (sword addr);
sbyte sm_getInstAt            (sword addr);
void  sm_setInstAt            (sword addr, sbyte inst);
sbyte sm_getByteAt            (sword addr);
void  sm_setByteAt            (sword addr, sbyte byte);

#endif