This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
VVM Assembler.
Описание.
Параметром утилите подается текстовый файл с ассемблерными инструкциями для VVM.
Код разивается на блоки:
-Один константный блок
-Переменное количество процедурных блоков с кодом.
Блоки могут идти в любом порядке, но они не должны быть вложенными или пересекающимися.
Каждая инструкция или информация о блоке должна начинаться с новой строки.
Константный блок начинается с препроцессорной инструкции .data и заканчивается .endd
Внутри константного строки располагаются так:
signature "string"
Пример:
.data
str1 "Hello World!"
str2 "Second String!"
.endd
Процедурные блоки начинаются с препроцессорной инструкции
.proc name [num_of_locals] [num_of_args]
и заканчиваются на .endp
Пример:
.proc main
DLOAD1
DPRINT
STOP
.endp
Стартовая процедура носит имя main .
Реализована поддержка меток. Метка должна находится на отдельной строке и выглядит так
name:
Пример:
.data
src2 "Done"
.endd
.proc main
ILOAD0
ILOAD -3
again:
CALL inc
IFICMPNE again
SLOAD src2
SPRINT
STOP
.endp
.proc inc
ILOAD1
IADD
RETURN
.endp