ASM
· В состав блока исполнения входят: 1) арифметическо-логическое устройство 2) устройство управления 3) десять регистров 4) ОЗУ 5)периферийные устройства?
1,2,3
· Минимальная единица информации, соответствующая двоичному разряду?
Бит
· Двухбайтовое поле образует шестнадцатиразрядное ?
Слово
· Какие команды из ниже перечисленных регистров влияют на содержимое регистра sp?
все
· Каково основное назначение регистра ax?
аккумулятор
· Каково основное назначение регистра bx?
базовый регистр
· Каково основное назначение регистра dx?
регистр данных
· Каково основное назначение регистра cx?
регистр -счётчик
· Какие из ниже перечисленных регистров являются индексными?
si di
· Какие из ниже перечисленных являются сегментными регистрами ?
cs ds
· Регистр флагов делиться на флаги?
состояния, системные, управления
· Чему равен флаг четности в регистре флагов, если результат равен 4DF ?
0
· Какое направление будут иметь команда циклического переноса, если флаг DF равен 0?
прямое
· Какой флаг в регистре флагов отвечает за пошаговое выполнение программы ?
TF
· Какой флаг установится при нулевом результате?
Zf
· Какой размер имеет один сегмент в реальном режиме работы микропроцессора ?
64 Кбайта
· Какому шестнадцатеричному числу соответствует двоичное число 10 0100 1011 0100 1001b ?
24b49h
· Этот пример является
mov AX, 0B800h; сегментный адрес
mov ES, AX; видеобуфера в ES
mov BX, 2000; смещение к середине экрана
mov byte ptr ES: [BX]; символ на экран (какая адресация)?
- косвенной адресации через регистр
· Этот пример является
inc CH; плюс 1 к содержимому CH
push DS; DS сохраняется в стеке
xchg BX, BP; BX и BP обмениваются содержимым
mov ES, AX; содержимое AX пересылается в ES (какая адресация)?
- регистр адресации
· Этот пример является
mov AH, 40h
mov AL, ‘*’
int 21h
limit = 528
mov CX, limit (какая адресация)?
- непосредственной адресации
· Функция дополнительного сегмента ES?
дополняет сегмент данных DS, так, что данные можно сдвигать между двумя отдельными частями памяти
· Отрицательные числа записываются в?
дополнительном коде
· Дополнительный код используется для представления?
отрицательных чисел
· Дополнительный код есть результат … шагов преобразования?
2
· На первом шаге получения двоичного дополнения производится?
инверсия двоичного числа
· На втором шаге получения двоичного дополнения производится?
добавление двоичной 1
· На третьем шаге получения двоичного дополнения производится?
ничего не производится
· Определить дополнительный код для числа(-3) ?
0FDh
· Определить двоичное дополнение числа (-11) ?
0F5h
· Определить дополнительный код числа (-17) ?
0EFh
· Определить дополнительный код числа (-22) ?
0EAh
2 ГЛАВА
· Для чего в ассемблере используется директива ends?
Для обозначения конца структуры или сегмента
· Для чего в языке ассемблер применяется директива dw?
Для того, чтобы резервировать одно машинное слово
· С помощью какой директивы программа осуществляет привязку сегмента к сегментному регистру?
Assume
· Для чего используются псевдооператоры = и equ?
Предназначены для присвоения некоторому выражению символического имени или идентификатора.
· Какой атрибут выравнивания сегмента не выполняет выравнивание?
Byte
· Какая директива применяется для того, чтобы указать компилятору конец процедуры?
Endp
· Наивысший приоритет имеют следующие операции?
LENGTH, SIZE, WIDTH, MASK, (), [], <>
· Структуру центрального процессора Intel 8086 можно разделить на два логических блока?
блок исполнения и блок интерфейса шин
· Директива DB ?
определение байтов
· Директива DW?
определение слов
· Директива DD?
определение двойных слов
· Директива DQ?
определение квадрослов
· Директива DT?
определение 10 байтов
· Выполняя директиву INCLUDE?
ассемблер весь текст, хранящийся в указанном файле, подставит в программу вместо этой директивы
· Для указанной директивы выписать две эквивалентные ей директивы, в первой из которых начальное значение переменной записано в виде десятичного числа со знаком, а во второй - без знака.
A DB 0Ah?
A db -246, A db 10
· Для указанной директивы выписать две эквивалентные ей директивы, в первой из которых начальное значение переменной записано в виде десятичного числа со знаком, а во второй - без знака.
B DB 0A5h?
B db -91, B db 165
· Для указанной директивы выписать две эквивалентные ей директивы, в первой из которых начальное значение переменной записано в виде десятичного числа со знаком, а во второй - без знака.
V DB 7Fh?
V db -129, V db 127
· Для указанной директивы выписать две эквивалентные ей директивы, в первой из которых начальное значение переменной записано в виде десятичного числа со знаком, а во второй - без знака.
G DB 80h?
G db -128, G db 128
· Для указанной директивы выписать две эквивалентные ей директивы, в первой из которых начальное значение переменной записано в виде десятичного числа со знаком, а во второй - без знака.
D DB 101b?
D db -251, D db 5
· Для указанной директивы выписать две эквивалентные ей директивы, в первой из которых начальное значение переменной записано в виде десятичного числа со знаком, а во второй - без знака.
E DW 0FFFEh?
E dw -2, E dw 65534
· Для указанной директивы выписать две эквивалентные ей директивы, в первой из которых начальное значение переменной записано в виде десятичного числа со знаком, а во второй - без знака.
J DW 7Fh?
J dw -65409, J dw 127
· Для указанной директивы выписать две эквивалентные ей директивы, в первой из которых начальное значение переменной записано в виде десятичного числа со знаком, а во второй - без знака.
Z DW 80h?
Z dw -65408, Z dw 128
· Записать более простым способом директиву C DB '5'+1?
C db 54
· Указать значения байтов с адресами: A+1, B+2, A+4 и B-1?
1,5,4,2
· Описать переменную-слово X, начальным значением которой является адрес этой же переменной?
X dw $
· Описать байтовый массив PRIM из 7 элементов, начальными значениями которых являются первые семь простых чисел (2, 3, 5 и т.д.)?
PRIM db 2,3,5,7,11,13,17
· Описать массив X из 85 элементов-слов со следующими начальными значениями первые 40 элементов имеют значение 10, следующие 20 элементов - значение '*', остальные - без начального значения?
X db 40 dup(10), 20 dup(‘*’), 25 dup(?)
· Описать байтовую матрицу M размера 30x50, в каждой строке которой первые 47 элементов имеют значение -1, а последние три - значение 'q'?
- M db 30 dup(47 dup(-1), 3 dup(‘q’))
S DB 'ABCD'
W DW 10 DUP(0)
Указать значения выражений TYPE S и TYPE W?
- 1, 2
K EQU 90
X DB K+10 DUP((K+9)/3 DUP(0))
Сколько всего байтов занимает массив X?
- 330
· Воспользоваться подходящей директивой EQU и предложить более короткий вариант записи директивы
S DB "abcdefhg=abcdef+k"?
1) m EQU “abcdef” 2) S db m,”hg=”,m,”+k”
· Указать начальные значения элементов массивов X и Y: A=10 B=A C EQU A, D EQU +A X DB A, B, C, D A=2*A Y DB A, B, C, D?
X db 10, 10, 10, 10 Y db 20, 10, 20, 10
3 ГЛАВА
· Какая команда увеличивает значение операнда на 1?
inc
· Какая команда уменьшает значение операнда на 1?
dec
· Выберите команду сложения?
add
· Выберите команду вычитания?
sub
· Какой результат будет иметь применение команды neg ax?
Приведёт к изменению знака регистра ax
· Сколько операндов имеет команда add?
2
· Сколько операндов имеет команда sub ?
2
· Какое назначение имеет команда xchg op1,op2?
обмен значениями первого и второго операнда
· В чём различие между командами add и adc?
Команда Adc при сложении учитывает флаг переноса
· Какая из ниже перечисленных команд является командой вычитания с учётом заёма?
Sbb
· Какая из ниже перечисленных команд является командой вычитания без учёта заёма?
Sub
· Сколько операндов имеет команда dec?
1
· Сколько операндов имеет команда sbb?
2
· Какая из ниже перечисленных команд является командой изменения знака?
Neg
· Сколько операндов имеет команда neg?
1
· В приведенном коде программы даны A dw 3, B dw 4
mov ax, A
add ax,B
mov A,ax
результат ?
A=7 B=4
· В приведенном коде программы даны
A dw 4, B dw 3
mov ax,A
sub ax,B
mov A,ax
результат ?
A=1 B=3
· Определить значения флагов SF, CF, OF после выполнения следующих команд:
mov AL, -56
add AL, 160 ?
SF=0, CF=1, OF=1
A DB 3 DUP(0)
· Рассматривая эту переменную как массив A[1..3] присвоить A[1]:=1, A[2]:=2, A[3]:=3?
1. mov byte ptr A,1
mov byte ptr A+1,2
mov byte ptr A+2,3
· Q DD 0
Переменной Q присвоить значение 75535. (Вспомогательные переменные не использовать.)?
1. mov word ptr Q,270Fh
mov word ptr Q+1,1h
· X DB 1
Требуется записать в регистр CL значение переменной X, увеличенное на 2. Определить, какой из следующих фрагментов правильно решает эту задачу?
1. MOV CL,X
ADD CL,2
· Пусть в регистре BH находится код какой-то большой латинской буквы и требуется записать в этот регистр код одноименной малой латинской буквы. Определить, какой из следующих фрагментов правильно решает эту задачу?
1. SUB BH,'A'
ADD BH,'a'
· Указать значения регистра BH (в виде десятичного числа со знаком) и флагов OF и SF после выполнения следующей пары команд:
MOV BH,80
ADD BH,40 ?
120, 0, 0
· Указать значения регистра BH (в виде десятичного числа со знаком) и флагов OF и SF после выполнения следующей пары команд
MOV BH,80
ADD BH,50 ?
-126, 1, 1
· Указать значения регистра BH (в виде десятичного числа со знаком) и флагов OF и SF после выполнения следующей пары команд
MOV BH,-80
ADD BH,-50 ?
130, 1, 0
· Найдите правильное решение
mov AL, 5
mov BL, 3
mul BL ?
AX=000Fh;
· Для умножения со знаком применяют команду ?
imul
· Команда «imul» используется для ?
умножение со знаком
· Для деления без знака применяют команду?
div
· Команда «div» используется для?
деление без знака
· Если делитель в байт, то частное находится в:?
al
· Если делитель размером в байт, то остаток находится в ?
ah
· Если делитель размером в два байта, то частное находится в ?
ax
· Если делитель размером в два байта, то остаток находится в?
dx
· Если делитель размеров в байт, то частное размером в ?
байт
· Если делитель размером в байт, то остаток размером в?
байт
· Если делитель размером в два байта, то частное размером в?
два байта
· Если делитель размером в два байта, то остаток размером в ?
два байта
· Если делитель размером в четыре байта, то частное размером в ?
четыре байта
· Если делитель размером четыре байта ,то остаток размером в?
четыре байт
· Команда «add» используется для?
сложения без учета флагов
· Для сложения с учетом флагов применяется команда?
adc
· Команда “adc” используется для?
сложения с учетом флагов
4 ГЛАВА
· Какая из ниже перечисленных команд является командой перехода по переносу?
Jc
· Какая из ниже перечисленных команд является командой перехода по нулевому значению?
Jz
· Какая из ниже перечисленных команд является командой перехода, если значение больше нуля ?
Ja
· Какая из ниже перечисленных команд является командой перехода по ненулевому значению?
Jnz
· Какая команда является командой безусловного перехода ?
Jmp
· Какой регистр определяет количество проходов цикла с использованием команды loop?
Cx
· Какой из вариантов ответа соответствует формату команды cmp?
Cmp операнд_1, операнд_2
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1=операнд_2 ?
Je
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1<>операнд_2 ?
Jne
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1<операнд_2 (операнды со знаком)?
Jl
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1>операнд_2 (операнды со знаком)?
Jg
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1<=операнд_2 (операнды со знаком)?
Jle
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1>=операнд_2 (операнды со знаком)?
Jge
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1<операнд_2 (операнды без знака)?
Jb
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1>операнд_2 (операнды без знака)?
Ja
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1<=операнд_2 (операнды без знака)?
Jbe
· Какая из команд условного перехода произведёт переход после применения команды cmp операнд_1,операнд_2, если операнд_1>=операнд_2 (операнды без знака)?
Jae
· Какой из операторов отношения является истинным если выражение 1 равно выражению 2 ?
eq
· Какой из операторов отношения является истинным если выражение 1 неравно выражению 2 ?
ne
· Какой из операторов отношения является истинным если выражение 1 меньше выражения 2 ?
lt
верных ответов нет
· Какой из операторов отношения является истинным если выражение 1 больше выражения 2 ?
gt
· Какой из операторов отношения является истинным если выражение 1 больше или равно выражению 2 ?
ge
· Какой из операторов отношения является истинным если выражение 1 меньше или равно выражению 2 ?
le
верных ответов нет
· Какая команда является командой перехода по переполнению?
Jo
· Jcc это?
команды условных переходов;
· Сколько разновидностей имеет безусловный переход JMP?
пять (переход: прямой короткий, прямой ближний, прямой дальний, косвенный ближний, косвенный дальний);
· LOOP это?
циклическое выполнение, пока содержимое СХ не равно нулю;
· LOOPE / LOOPZ это?
циклическое выполнение, пока равно / циклическое выполнение, пока нуль;
· Команда LOOPNE / LOOPNZ это?
циклическое выполнение, пока не равно/ циклическое выполнение, пока не нуль;
· X – число со знаком размером в слово. Определить, какой из следующих фрагментов правильно реализует оператор if X>80 then X:=X-1 else X:=X+1?
1. CMP X,80
JLE M
DEC X
JMP L
M: INC X
L:
· Пусть X и Y - знаковые байтовые переменные, а L - метка. Реализовать следующие условные переходы: if (X>2) or (Y<10) then goto L ?
1. CMP X,2
JG L
CMP Y,10
JL L
JMP M
L:
M:
· Пусть X и Y - знаковые байтовые переменные, а L - метка. Реализовать следующие условные переходы: if (X>2) and (Y<10) then goto L?
1. CMP X,2
JNG M
CMP Y,10
JNL M
JMP L
…
L:
M:
5 ГЛАВА
· К чему приведет выполнение команды LEA DX,MEM1 ?
в DX адрес ячейки памяти MEM1
· Какая директива используется для того, чтобы объявить что следующие далее данные являются структурой?
Struc
· Этот пример является
mov AX, 0B800h; сегментный адрес
mov ES, AX; видеобуфера в ES
mov BX, 2000; смещение к середине экрана
mov byte ptr ES: [BX]; символ на экран?
- косвенной адресации через регистр
· LEA это?
загрузка исполнительного адреса;
· В приведенном коде программы дан массив A db 1,2,3,4,5
mov cx,5
lea si, A
m1: add al, [si]
inc si
loop m1 ; al равен?
- 15
· X DW 0,1,2 Пусть X обозначает ячейку памяти с адресом 100.
Указать числовые значения регистров AX и BX после выполнения следующих команд:
MOV AX,X
LEA BX,X?
- 0, 100
· X DW 0,1,2 Пусть X обозначает ячейку памяти с адресом 100.
Указать числовые значения регистров AX и BX после выполнения следующих команд:
MOV AX,X+2
LEA BX,X+2?
- 2, 102
· Описан массив X[0..49]. Пусть в регистре BX находится адрес некоторого элемента массива X (т.е. X+i, где i - число от 0 до 49). Требуется в этом же регистре получить индекс (i) этого элемента. Определить, какая из следующих групп команд правильно решает эту задачу?
LEA AX,X
SUB BX,AX
· Описать байтовый массив PRIM из 7 элементов, начальными значениями которых являются первые семь простых чисел (2, 3, 5 и т.д.)?
PRIM db 2,3,5,7,11,13,17
· Описать массив X из 85 элементов-слов со следующими начальными значениями первые 40 элементов имеют значение 10, следующие 20 элементов - значение '*', остальные - без начального значения?
X db 40 dup(10), 20 dup(‘*’), 25 dup(?)
· Описать байтовую матрицу M размера 30x50, в каждой строке которой первые 47 элементов имеют значение -1, а последние три - значение 'q'?
M db 30 dup(47 dup(-1), 3 dup(‘q’))
· S DB 'ABCD'
W DW 10 DUP(0)
Указать значения выражений TYPE S и TYPE W?
1, 2
K EQU 90
X DB K+10 DUP((K+9)/3 DUP(0))
· Сколько всего байтов занимает массив X?
330
· Воспользоваться подходящей директивой EQU и предложить более короткий вариант записи директивы S DB "abcdefhg=abcdef+k"?
1) m EQU “abcdef” 2) S db m,”hg=”,m,”+k”
· Указать начальные значения элементов массивов X и Y: A=10 B=A C EQU A, D EQU +A X DB A, B, C, D A=2*A Y DB A, B, C, D?
1. X db 10, 10, 10, 10
Y db 20, 10, 20, 10
· A DB 3 DUP(0)
Рассматривая эту переменную как массив A[1..3] присвоить A[1]:=1, A[2]:=2, A[3]:=3?
1. mov byte ptr A,1
mov byte ptr A+1,2
mov byte ptr A+2,3
6 ГЛАВА
· Команда xor ax,ax (ax=0fffh )приводит к?
очистке регистра ax
· Команда not ax (ax=0fffh )приводит к?
установки ax=0f000h
· Какой из вариантов соответствует выделению из регистра AX бита с номером 3 ?
And ax,8
· Какой из вариантов соответствует обнулению младшей тетрады регистра al?
And al,0f0h
· Какой из вариантов соответствует обнулению старшей тетрады регистра al ?
And al,0fh
· Какой из вариантов соответствует установке бита №1 в регистре al ?
Or al,2
· Какой из вариантов соответствует сбросу бита №1 в регистре al ?
And al,ofdh
· Какая из ниже перечисленных команд является командой логического линейного сдвига влево?
Shl
· Какая из ниже перечисленных команд является командой логического линейного сдвига вправо?
Shr
· Какая из ниже перечисленных команд является командой арифметического сдвига влево?
Sal
· Какая из ниже перечисленных команд является командой арифметического сдвига вправо?
Sar
· Какая из ниже перечисленных команд является командой циклического сдвига влево?
Rol
· Какая из ниже перечисленных команд является командой циклического сдвига вправо?
Ror
· Какая из ниже перечисленных команд является командой циклического сдвига влево через перенос?
Rcl
· Какая из ниже перечисленных команд является командой циклического сдвига вправо через перенос?
Rcr
· Какой логический оператор даёт значение истина , если значение ложно и значение ложь, если выражение истинно?
Not
· Какой логический оператор даёт значение истина , если выражение 1 и 2 истинны?
And
· Какой логический оператор даёт значение истина , если выражение 1 или 2 истинно?
- Or
· Какой логический оператор даёт значение истина , если выражение 1=(not выражение 2)?
- Xor
· Указать значения регистра AL и флага ZF после выполнения следующей пары команд:
MOV AL,1010b
NOT AL?
- 245, 0
· Указать значения регистра AL и флага ZF после выполнения следующей пары команд:
MOV AL,0
NOT AL?
- 255, 0
· Указать значения регистра AL и флага ZF после выполнения следующей пары команд:
MOV AL,1101b
AND AL,0111b?
- 5, 0
· Указать значения регистра AL и флага ZF после выполнения следующей пары команд:
MOV AL,100b
AND AL,011b?
- 0, 1
· Указать значения регистра AL и флага ZF после выполнения следующей пары команд:
MOV AL,100b
TEST AL,011b?
- 4, 1
· Указать значения регистра AL и флага ZF после выполнения следующей пары команд:
MOV AL,0F0h
OR AL,0Fh?
- 255, 0
· Указать значения регистра AL и флага ZF после выполнения следующей пары команд:
MOV AL,0
XOR AL,0FFh?
- 255, 0
· Указать значения регистра AL и флага ZF после выполнения следующей пары команд:
MOV AL,101b
XOR AL,AL?
- 0, 1
· Указать значения регистра AL и флага CF после выполнения следующей группы команд:
MOV AL,101b
SHL AL,1?
- 10, 0
· Указать значения регистра AL и флага CF после выполнения следующей группы команд:
MOV AL,1100b
MOV CL,5
SHL AL,CL?
- 128, 1
· Указать значения регистра AL и флага CF после выполнения следующей группы команд:
MOV AL,110b
SHR AL,1?
- 3, 0
· Указать значения регистра AL и флага CF после выполнения следующей группы команд:
MOV AL,110b
MOV CL,3
SHR AL,CL?
- 0, 1
· Указать значения регистра AL и флага CF после выполнения следующей группы команд:
MOV AL,0F0h
ROL AL,1?
- E1h, 1
· Указать значения регистра AL и флага CF после выполнения следующей группы команд:
MOV AL,101b
MOV CL,2
ROR AL,CL?
- 41h, 0
· Указать значения регистра AL и флага CF после выполнения следующей группы команд:
MOV AX,1122h
SHR AH,1
RCL AL,1?
- 845h, 0
· Указать значения регистра AL и флага CF после выполнения следующей группы команд:
MOV AX,1122h
SHR AH,1
RCR AL,1?
- 91h, 0
7 ГЛАВА
· Какие команды из ниже перечисленных регистров влияют на содержимое регистра sp?
все
· Какой атрибут комбинирования сегментов указывает что данный сегмент является сегментом стека?
Stack
· Какая команда является командой извлечения из стека значений всех регистров общего назначения?
Popa
· Какая команда является командой сохранения в стеке значений всех регистров общего назначения?
Pusha
· Какая из ниже перечисленных команд является командой сохранения регистра флагов в стеке?
Pushf
· Какая из ниже перечисленных команд является командой извлечения значения регистра флагов из стека?
Popf
· Регистр флагов загружается из стека командой?
popf;
· Пусть, в стеке записано не менее трех слов, требуется переслать в регистр АХ копию третьего сверху элемента стека?
1. MOV BP,SP
MOV АХ,[ВР+4]
· Очистка стека от N слов?
ADD SP,2*N
· Запись слова в стек?
PUSH
· Чтение слова из стека?
POP
· При выполнении команды PUSH, регистр SP?
уменьшается на 2
· При выполнении команды POP, регистр SP?
увеличивается на 2
· Элемент стека имеет размер?
2 байта
· Максимальный размер сегмента стека?
64 килобайта