Вариант 1, 2007 г. 1) Выписать фрагмент программы (не более 7 команд) для УМ-1, реализующий присваивание А:=А*А+В*В (А - 0200, В - 0204, 00 - запись в сумматор, 10 - чтение из сумматора, 01 - сложение, 03 - умножение). 2) Что будет напечатано в результате выполнения команд: mov ax, -936 cwd mov bx, 3 idiv bx outword ax 3) Вычеркнуть неверные команды ( X db ?, W dw ?): mov ax, x-w add es, w mov [bx]+2, 7 xchg bx, [bx] sbb ax, 'X' shl dx, 5 4) В программе под сегмент стека отведено 500 байтов. Выписать фрагмент программы на Асемблере, который копирует находящиеся сейчас в стеке чётные числа-слова (word) в область памяти, начинающуюся с абсолютного адреса 7ABCDh. Считать, что эта область не пересекается ни со стеком, ни с этим фрагментом. Можно менять значения всех регистров, кроме SS и SP. 5) Указать значения al (в виде знакового десятичного числа), флагов CF, OF и SF после выполнения команд: mov al, -56 add al, 170 6) Описать на Ассемблере близкую процедуру, заголовок которой на Паскале имеет вид procedure Assgn( var X:integer; n:integer ); Процедура реализует присваивание x:=n. Параметры передаются через стек. Процедура должна выполнять стандартные соглашения о связях. Привести пример вызова этой процедуры для выполнения присваивания cnt:=zero (cnt имеет тип word, zero описано через директиву equ). 7) Привести макроопределение с заголовком JGT macro v, L (v - список переменных , L - метка). Если значения всех переменных-слов из списка положительны (как знаковые числа) или таких переменных в списке нет, надо перейти на метку L. Выписать макрорасширение для макрокоманды JGT , Con (a - байт, y, z - слова, w - двойное слово). 8) Программа на Ассемблере состоит из двух модулей. В кодовом сегменте головного модуля описана общедоступная (public) переменная X (word). Выписать второй модуль, который должен содержать процедуру с именем PechX, при вызове которой напечатается значение X как знаковое и как беззнаковое число. 9) В программе на Ассемблере есть предложения: extrn x:abs и mov ax, x. Какая служебная программа подставляет конкретное значение на место операнда X в команде mov ax, x ? 10) Дать определения следующих понятий для УМ-3: а) адрес ячейки; б) машинное слово; в) код операции.