1. Для стековой машины реализовать присваивание res:=a+b*c, используя не более 6 команд. Адреса ячеек: res: 0300, a:0302, b:0304, c:0306. Коды операций: ВСТЕК 00, СЛОЖЕНИЕ 01, УМНОЖЕНИЕ 04, ИЗСТЕКА 10. 2. Как в ЭВМ определяется, что хранится в ячейке - команда или данное? 3. Выполнение команды в ЦП разбито на этапы, выполняющиеся параллельно: Чтение команды Дешифровка кода операции Вычисление исполнительного адреса Чтение операндов Выполнение операции Запись результата На выполнение кажого этапа тратится 3 единицы времени. За сколько единиц времени будут выолнены следующие команды: mov bx,A sub di,B[bx] add ax,B[bx] 4. Выпишите значение регистра Bl (как знакового байта) и флагов CF, OF и SF после выполнения команд: mov bl,120 add bl,110 5. Напишите фрагмент программы, реализующий пересылку в двойное слово по адресу 6CABDh значения 6CABDh, используя не более 5 команд. 6. Реализуйте дальнюю процедуру ADD5, которая получает через стек параметр - абсолютный адрес двойного слова, значение которого процедура должна увеличить на 5. Процедура должна соблюдать стандартные соглашения о связях. 7.Напишите макроопределение с заголовком OddDouble Macro X, которая получает как фактический параметр имя переменной - байта или двойного слова (беззнакового), и реализует следующий паскалевский оператор: if odd(x) then x:=x*2; /позже Пильщиков сказал, что правильность входного параметра проверять не нужно/ 8. X DW ? Вычеркните неверные операторы: mul 300 mov Ax,[X,Si] JMP Ax and X,'X' sub X,SP mov dword ptr x,1234h 9.Напишите, какие преимущества и недостатки есть у динамической схемы загрузки модульной програмы перед статической схемой. 10. Начало некоторого модуля: include io.asm extrn X:word ............ Выпишите фрагмент сегмента кода этого модуля, который присваивает переменной Х ее значение, деленное на 19.