Задачи к экзамену с ответами (1110708)
Текст из файла
Вариант 1 (199? год)
1. Указать значение регистра AL после выполнения следующих команд :
MOV AL, 131
ADD AL, 50
JL M1
MOV AL, 1
JMP M2
M1: MOV AL, 0
M2:
Al:=1
2. Имеется описание массива Y [0..55] из чисел без знака :
Y DB 56 DUP(?)
и пусть в регистре ИЧ находится некоторое число k (0<= k <= 45).
выпишите команды (не более 4), реализующие переход по метке M
при выполнении условия
Y[k + 10] < k + Y[10]
3. Вычеркните неправильные адресные выражения :
X[0], SI + 2, X[DI] + 4, [BX] + X + [BP], X[CX],
[X + 2] + [BP + SI], [BX],
где X имя переменной X DW ?
4. Выпишите команды (без строковых команд и индексов повторения),
выполняющие то же действие, что и
REP MOVSB.
5. В стеке записано не менее 10 слов, причем десятое (сверху) из
них - это адрес (смещение) некоторого байта из сегмента памяти,
на начало которого указывает регистр ES. Выпишите команды,
которые записывают 0 в этот байт и при этом сохраняют значения
всех регистров и не используют переменные.
6. Выписать таблицу общих имен (ТОБЩ) и таблицу перемещаемых адресов
(ТПА), которые построит ассемблер при трансляции следующего
модуля :
PUBLIC X, Y
Q SEGMENT
X DW 2 DUP(Q)
Y DW Z, Q
Z DB ?
Q ENDS
END
7. Укажите ошибку, которую зафиксирует ассемблер при трансляции :
C SEGMENT
ASSUME CS:C
X DW 1
BE: MOV AX, Y
ADD AX, X
Y DW 2
C ENDS
как ее можно исправить ?
8. В арифметических командах ЭВМ (УМ-С) не указывается ни одного
адреса. Как в этих командах определяются операнды.
Вариант 2 (199? год)
1. Сравните одноадресную (УМ - 1) и стековую (УМ - С) ЭВМ по следующим
критериям : удобство программирования, быстродействие и размер
памяти, занимаемой эквивалентными программами.
2. Выпишите значение регистра AL (HEX), и флаги CF, OF, ZF и SF после
выполнения следующих команд :
MOV AL, 20
ADD AL, 120
3. Имеется описание массива X[0..99] :
X DB 100 DUP(?)
и пусть в регистре DI находится некоторое число i (0<=i<=99). Выпишите
команды (не более 4), реализующие присваивание
x[24] := x[i] + i
4. При следующих значениях регистров
DS = 2222h, ES = 3333h, SS = 4444h, CS = 5555h, SI = 0F00Fh
определите абсолютный адрес первого операнда команды
SUB [SI + 3030h], AH
5. Вычеркните неправильные адресные выражения :
4[BH], [DI + Y + 2], 6[Y], Y[DI][SI], [SI] + Y[BX], [BP] + [DI],
BX[SI]
6. Выпишите команды (с командой CMPSB, но без префиксов повторения),
выполняющие то же действие, что и
REPE CMPSB
7. В стеке записано не менее 2х слов. Выпишите команды, которые меняют
местами два верхних слова стека и при этом сохраняют значения всех
регистров и не используют переменные.
8. Предположим, вашей программе приходится несколько раз проверять,
принадлежат ли значения символьных переменных каким либо диапазонам
символов (например : X - цифра?, Y - малая лат. буква?). Как вы
Опишете это повторяющееся действие - как макрос или как процедуру?
9. Выпишите макрорасширение для макрокоманды M1 2 при следующем описании
макроса M1 :
M1 MACRO K
JMP W&K
IF K + 1 EQ 3
X DB '&K + 1'
ELSE
W2 MOV BX, K&K
ENDIF
Вариант 3 (199? год)
1. Указать значение регистра AL после выполнения следующих команд:
MOV AL, 131
SUB AL, 50
JGE M1
MOV AL, 10
JMP M2
M1: MOV AL, 20
M2:
2. Имеется описание массива X[-10..10]:
X DW 21 dup (?)
и пусть в регистре DI находится некоторое число i (0<=i<=10).
Выпишите команды (не более четырех), реализующие присваивание
x[i]:=x[0]+i. Можно изменять значение любых регистров.
3. Вычеркните неправильные адресные выражения
4[BH] [DI+Y+2] 6[Y] Y[DI][SI] [SI]+Y[BX] [BP]+[DI] BX[SI]
где Y - имя переменной Y DW ...
4. Выписать таблицу общих имен (ТОБЩ) и таблицу вхождений внешних
имен (ТВНЕШ), которые построит ассемблер при трансляции следующего
модуля:
EXTRN P: FAR
PUBLIC A,C
S SEGMENT
A DB 100H DUP(?)
B DW P
C DW B, SEG P
S ENDS
END
5. В стеке записано не менее двух слов. Выпишите команды, которые
удаляют из стека второе (сверху) слово, и при этом сохраняют
значения всех регистров (кроме SP) и не используют переменные.
6. Укажите ошибку, которую зафиксирует ассемблер при трансляции:
C SEGMENT
ASSUME CS:C
X DW 1
BEG: MOV AX, Y
ADD AX, X
Y DW 2
C ENDS
Как ее можно исправить?
7. Выпишите команды (без строковых команд и без префиксов
повторения), выполняющие то же действие, что и пара команд
REP MOVSB,
при DF = 0.
8. В арифметических командах стековой ЭВМ (УМ - С) не указывается
ни одного адреса. Как в этих командах определяются
операнды.
Вариант 4 (199? год)
1. Пусть в ЭВМ имеется кэш-память, размер которой - 16 блоков по
16 машинных слов в каждом и в которой используется алгоритм
прямого размещения блоков (содержимое ячеек с шестнадцатеричными
адресами xyzw0, xyzw1, ... xyzwF размещается в блоке с номером w).
Пусть на чтение одного слова из кэш-памяти в центральный процессор
тратится 1 единица времени, а на чтение одного блока из оперативной
памяти в кэш-память - 10 единиц. Считая, что в начале кэш-память
была свободной, определить, сколько времени потребуется на чтение
данных, когда в программе последовательно нужны данные из ячеек со
следующими 16-ричными адресами:
5F045, B082A, 67049, B0870, B0821, 5F046, B0820, 5F04E
2. Считая, что перед выполнением команды PUSH 8[BX+DI] регистры имели
следующие значения:
DS=1234h, SS=0F900h, SP=7052h, BX=9999h, DI=6666h
Указать в 16-ричном виде абсолютные адреса ячеек "откуда" и "куда"
переписывает данная команда слово.
3. Из указанных команд вычеркнуть те, что записаны с ошибкой
PUSH CS MOV ES, DS ADD [SI], 5
LEA AX,[BX] XCHG [SI],[SI+3] MUL 10
4. Ответить на следующе 2 вопроса: на каком проходе и как именно
ассемблер выявляет ошибку "повторное описание имени" (одно
и то же имя описано дважды) ?
5. Выписать таблицу общих имен (ТОБЩ) и таблицу перемещаемых адресов
(ТПА), которые построит ассемблер при трансляции следующего
модуля :
PUBLIC X, Y
Q SEGMENT
X DW 2 DUP(Q)
Y DW Z, Q
Z DB ?
Q ENDS
END
6. Выписать команды (с командой CMPSB, но без префиксов повторения),
выполняющие то же действие, что и пара команд
REPE CMPSB.
Можно использовать регистр AL в качестве вспомогательного.
7. При следующих значения регистров
DS = 2222h ES = 3333h CS = 5555h SI = 0F00Fh
Определить абсолютный (20 - разрядный) адрес 1-го операнда команды
SUB [SI+3030h], AH
Указать формулу вычисления этого адреса.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.