SchemeStation VM instruction numbers and argument types

SchemeStation VM instruction numbers and argument types


Document formatted by vherva at Fri Apr 24 11:23:56 1998 on the host schemestation. This document is produced by the SchemeStation project during the Tik-76.115 course.

1 Introduction

Each SchemeStation VM instruction has a unique number (0-255) for the binary representation of the instructions.

2 Assigned numbers

Assigned SchemeStation VM instruction numbers
NOP  
HALT  
JUMP REG  
JUMP_IMMEDIATE LABEL  
BRANCH REG REG  
BRANCH_IMMEDIATE REG LABEL  
PUSH REG REG  
POP REG REG  
SET_EXCEPTION_HANDLER REG  
ENABLE_EXCEPTIONS  
10 DISABLE_EXCEPTIONS  
11 SEND_MESSAGE REG REG  
12 GET_MESSAGE REG  
13 PUT_MESSAGE REG  
14 CREATE_PROCEDURE REG REG REG  
15 GET_PROCEDURE_ENV REG REG  
16 GET_PROCEDURE_ADDRESS REG REG  
17 IS_OF_BOOLEAN REG REG  
18 IS_OF_INTEGER REG REG  
19 IS_OF_FLOAT REG REG  
20 IS_OF_PAIR REG REG  
21 IS_OF_PAIR_TAGGED REG REG REG  
22 IS_OF_VECTOR REG REG  
23 IS_OF_VECTOR_TAGGED REG REG REG  
24 IS_OF_PRIVATE_BIT_STRING REG REG  
25 IS_OF_PRIVATE_BIT_STRING_TAGGED REG REG REG  
26 IS_OF_SHARED_BIT_STRING REG REG  
27 IS_OF_SHARED_BIT_STRING_TAGGED REG REG REG  
28 IS_OF_PROCEDURE REG REG  
29 IS_OF_ACTOR_ADDRESS REG REG  
30 IS_OF_BYTE_CODE REG REG  
31 MOVE REG REG  
32 LOAD REG LITERAL  
33 LOAD_NULL REG  
34 INT_ADD REG REG REG  
35 INT_SUB REG REG REG  
36 INT_MUL REG REG REG  
37 INT_DIV REG REG REG  
38 INT_MOD REG REG REG  
39 INT_REM REG REG REG  
40 FLOAT_ADD REG REG REG  
41 FLOAT_SUB REG REG REG  
42 FLOAT_MUL REG REG REG  
43 FLOAT_DIV REG REG REG  
44 FLOAT_MOD REG REG REG  
45 FLOAT_REM REG REG REG  
46 FLOAT_LOG REG REG  
47 FLOAT_LOG10 REG REG  
48 FLOAT_EXP REG REG  
49 FLOAT_SQRT REG REG  
50 SHR REG REG REG  
51 SHL REG REG REG  
52 AND REG REG REG  
53 OR REG REG REG  
54 XOR REG REG REG  
55 NEG REG REG  
56 ROR REG REG REG  
57 ROL REG REG REG  
58 LAND REG REG REG  
59 LOR REG REG REG  
60 NOT REG REG  
61 BOOLEAN_NOT REG REG  
62 INT_TO_FLOAT REG REG  
63 FLOAT_TO_INT REG REG  
64 INT_TO_BIT_STRING REG REG REG  
65 BIT_STRING_TO_INT REG REG REG  
66 EQ REG REG REG  
67 INT_CMP REG REG REG  
68 FLOAT_CMP REG REG REG  
69 INT_GE REG REG REG  
70 FLOAT_GE REG REG REG  
71 GET_SUBSTRING REG REG REG REG  
72 SET_SUBSTRING REG REG REG  
73 ALLOC_PAIR REG  
74 ALLOC_PAIR_TAGGED REG REG  
75 ALLOC_VECTOR REG REG  
76 ALLOC_VECTOR_TAGGED REG REG REG  
77 ALLOC_SHARED_BIT_STRING REG REG  
78 ALLOC_SHARED_BIT_STRING_TAGGED REG REG REG  
79 ALLOC_PRIVATE_BIT_STRING REG REG  
80 ALLOC_PRIVATE_BIT_STRING_TAGGED REG REG REG  
81 PAIR_SET_CAR REG REG  
82 PAIR_SET_CDR REG REG  
83 PAIR_GET_CAR REG REG  
84 PAIR_GET_CDR REG REG  
85 VECTOR_SET REG REG REG  
86 VECTOR_GET REG REG REG  
87 VECTOR_SET_INDEX REG REG LITERAL  
88 VECTOR_GET_INDEX REG REG LITERAL  
89 VECTOR_LEN REG REG  
90 BIT_STRING_LEN REG REG  
91 COPY_PAIR REG REG  
92 COPY_VECTOR REG REG  
93 COPY_BIT_STRING REG REG  
94 CONS REG REG REG  
95 SAVE REG REG  
96 RESTORE REG REG  
97 ALLOC_INTEGER REG  
98 ALLOC_FLOAT REG  
99 ALLOC_BOOLEAN REG  
100 INTEGER_SET REG REG  
101 FLOAT_SET REG REG  
102 BOOLEAN_SET REG REG  
103 INTEGER_GET REG REG  
104 FLOAT_GET REG REG  
105 BOOLEAN_GET REG REG  
106 PAIR_GET_CAR_OR_BLOCK REG REG  
107 ALLOC_VECTOR_IMMEDIATE REG LITERAL  
108 CREATE_PROCEDURE_IMMEDIATE REG REG LABEL  
109 SAVE_IMMEDIATE REG LITERAL  
110 RESTORE_IMMEDIATE REG LITERAL  
111 BIT_STRING_CMP REG REG REG  
112 BIT_STRING_GE REG REG REG  
113 TAG_CMP REG REG LITERAL  
114 IMM_EXTEND [special] 


© SchemeStation project 1997-1998 [Back to the document index]