1. Написать программу на стековой УМ, реализующей присваивание res:=x*(y+z) не более, чем за 6 команд. Коды команд: ВСТЕК 00 ИЗСТЕКА 10 СЛОЖЕНИЕ 01 УМНОЖЕНИЕ 03 Адреса переменных: (точно не помню, придумайте сами четырехзначные адреса перем. x,y,z,res) 2. Как ЭВМ отличает знаковое число от беззнакового? 3. MOV DH, 50 SUB DH, 156 Вычислить: DH= (знаковое) CF= OF= SF= 4. Конвейер. Операции: 1) чтение команды 2) дешифровка 3) вычисление исполнительных адресов 4) чтение операндов 5) Выполнение команды 6) Запись рез-та Каждый шаг - за 4 ед. времени. Посчитать время выполнения след. команд, если изначально конв. пуст. ADD Z,3 SUB Z,AX AND W[si],AX 5. Описать дальнюю процедуру TWO, удовлетворяющую всем стандартным соглашениям о связях, которая присваивает значение 2 далней переменной, адрес которой передается ей в качестве параметра. 6. Загрузить в двойное слово с абсолютным адресом 5BAFCh значение 5BAFCh не более, чем за 5 команд. 7. Написать макроопределение EvenDiv MACRO X, где X - WORD либо DWORD, которое выписывает команды ассемблера, эквивалентные следующему оператору Pascal: if not odd(x) then x := x div 2 8. X DB ? Что из нижеперечисленного неверно? 1. LEA AX,[BX+2] 2. CHL cl,cl 3. JMP word ptr X 4. DIV 256 5. SUB dx,x 6. JMP X[DI] 9. Напишите преимущества и недостатки счета программы при статическом связывании модулей по сравнению с динамическим. 10. Начало нек. модуля на ASM: include io.asm extrn y:word ... Написать фрагмент сегмента кода программы, в котором переменной y присваивается остаток от деления её на 17.