Skip to content

hzhdlrp/virtual-cpu-proj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Набор команд виртуального CPU

Команда Семантика команды
1 BEGIN Перевод процессора в режим исполнения команд.
2 END Остановка выполнения команд.
3 PUSH value Добавление на вершину стека числа value.
4 POP Удаление числа из вершины стека.
5 PUSHR reg Чтение регистра reg и добавление его на вершину стека.
6 POPR reg Удаление числа из вершины стека и его запись в регистр reg.
7 ADD Сложение двух верхних значений на вершине стека с сохранением результата.
8 SUB Вычитание двух верхних значений на вершине стека с сохранением результата.
9 MUL Умножение двух верхних значений на вершине стека с сохранением результата.
10 DIV Деление двух верхних значений на вершине стека с сохранением результата.
11 OUT Удаление числа из вершины стека с выводом в консоль.
12 IN Считывание из консоли числа с сохранением на вершине стека.
13 JMP _label Безусловный переход на метку label.
14 JEQ _label Условный переход на метку label, если верхние два числа на стеке равны.
15 JNE _label Условный переход на метку label, если верхние два числа на стеке не равны.
16 JA _label Условный переход на метку label, если верхнее число на стеке больше следующего за ним.
17 JAE _label Условный переход на метку label, если верхнее число на стеке больше или равно следующему за ним.
18 JB _label Условный переход на метку label, если верхнее число на стеке меньше следующего за ним.
19 JBE _label Условный переход на метку label, если верхнее число на стеке меньше или равно следующему за ним.
20 CALL _label Вызов функции, тело которой располагается по метке label.
21 RET Возврат из функции.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors