-= ЯЗЫК МАШИНЫ БРЭМ. =- / СЛОЖЕНИЕ // ADD reg1 reg2 reg3 // ADD reg1 reg2 В reg1 будет записан результат дествия, если указан reg3, то сложение будет между reg2 и reg3, если нет - между reg1 и reg2. / ВЫЧИТАНИЕ // SUB reg1 reg2 reg3 // SUB reg1 reg2 В reg1 будет записан результат дествия, если указан reg3, то вычитание будет между reg2 и reg3, если нет - между reg1 и reg2. / УМНОЖЕНИЕ (ПООЧЕРЕДНЫЙ ADD) // MUL reg1 reg2 reg3 // MUL reg1 reg2 В reg1 будет записан результат дествия, если указан reg3, то умножение будет между reg2 и reg3, если нет - между reg1 и reg2. / ДЕЛЕНИЕ // DIV reg1 reg2 reg3 // DIV reg1 reg2 В reg1 будет записан результат дествия, если указан reg3, то деление будет между reg2 и reg3, если нет - между reg1 и reg2. / ПСЕВДОСЛУЧАЙНЫЕ ЧИСЛА // RAND reg1 // RAND *reg1 // RAND reg1 from to Если указано обращение RAND reg1, то регистру reg1 присваивается с- лучайное значение от 0 до 1. Если указано обращение вроде RAND *reg1, то присваивается случайное значение от 0 до 1 регистру согласно значению регистра reg1. / ЗАГРУЗКА ДАННЫХ В РЕГИСТР // LOAD reg1 value // LOAD *reg1 value В первом обращении регистру reg1 при- сваевается значение value, во втором - регистру по значению регистра reg1 при- сваивается значение value. / КОПИРОВАНИЕ ДАННЫХ // STORE reg1 reg2 Сохраняет данные из регистра reg1 в регистр reg2. // ИЗМЕНЕНИЕ СТРОКИ УПРАВЛЕНИЯ / JUMP num Перемещает программу выполнения на строку num, оттуда продолжает выпол- нение обращений. // ПРОСТОЙ / NOP ??? // ЦИКЛ РЕГИСТРА И ДАННЫХ // LOOP reg1 op value ... END Доступные значения данных в ячейке op: > < == >= =< // ЦИКЛ ДАННЫХ РЕГИСТРА И // ДАННЫХ ВТОРОГО РЕГИСТРА / LOOPI reg1 op reg2 ... END Доступные значения данных в ячейке op: > < == >= =<