https://testy-online.com

Тесты-оnline: психологические тесты, любовь и секс, личность, воспитание и педагогика, красота и здоровье,
тесты для девочек, тесты по IT-дисциплинам, тесты по IT-дисциплинам с ответами.

Тест по ассемблеру (углублённый). Часть 1.
Назад     Посмотреть правильные ответы

Тест на тему: Тест по ассемблеру (углублённый). Часть 1

В тесте 22 вопроса.

1). (из 22):    Двумерный массив array в программе описан следующим образом array dw 10 dup (?), где элементы массива имеют размерность в 2 байта. Двумерный массив имеет размерность 2х5. При этом при обращении к элементу массива используются регистры esi – столбцы в матрице и ebx –строки в матрице. Чтобы записать в регистр еах нулевой элемент третьей строки матрицы необходимо выполнить команды (см. рис. 1.1):

Выберите несколько правильных ответов

а) А);

б) Б);

в) В);

г) Г);

д) Д);

е) Е);

ж) Ж);

з) З);

и) И);

2). (из 22):    Двумерный массив array в программе описан следующим образом array dw 15 dup (?), где элементы массива имеют размерность в 2 байта. Двумерный массив имеет размерность 3х5. При этом при обращении к элементу массива используются регистры esi – столбцы в матрице и ebx –строки в матрице. Чтобы записать в регистр еах второй элемент третьей строки матрицы необходимо выполнить команды (см. рис. 1.2):

Выберите несколько правильных ответов

а) А);

б) Б);

в) В);

г) Г);

д) Д);

е) Е);

ж) Ж);

з) З);

3). (из 22):    Двумерный массив array в программе описан следующим образом array dw 20 dup (?), где элементы массива имеют размерность в 2 байта. Двумерный массив имеет размерность 4х5. При этом при обращении к элементу массива используются регистры esi – столбцы в матрице и ebx –строки в матрице. Чтобы записать в регистр еах третий элемент третьей строки матрицы необходимо выполнить команды (см. рис. 1.3):

Выберите несколько правильных ответов

а) А);

б) Б);

в) В);

г) Г);

д) Д);

е) Е);

ж) Ж);

з) З);

4). (из 22):    Двумерный массив array в программе описан следующим образом array dw 16 dup (?), где элементы массива имеют размерность в 2 байта. Двумерный массив имеет размерность 4х4. При этом при обращении к элементу массива используются регистры esi – столбцы в матрице и ebx –строки в матрице. Чтобы записать в регистр еах второй элемент третьей строки матрицы необходимо выполнить команды (см. рис. 1.4):

Выберите несколько правильных ответов

а) А);

б) Б);

в) В);

г) Г);

д) Д);

е) Е);

ж) Ж);

з) З);

5). (из 22):    Двумерный массив array в программе описан следующим образом array dw 6 dup (?), где элементы массива имеют размерность в 2 байта. Двумерный массив имеет размерность 2х3. При этом при обращении к элементу массива используются регистры esi – столбцы в матрице и ebx –строки в матрице. Чтобы записать в регистр еах первый элемент второй строки матрицы необходимо выполнить команды (см. рис. 1.5):

Выберите несколько правильных ответов

а) А);

б) Б);

в) В);

г) Г);

д) Д);

е) Е);

ж) Ж);

з) З);

6). (из 22):    Двумерный массив array в программе описан следующим образом array dw 18 dup (?), где элементы массива имеют размерность в 2 байта. Двумерный массив имеет размерность 6х3. При этом при обращении к элементу массива используются регистры esi – столбцы в матрице и ebx –строки в матрице. Чтобы записать в регистр еах четвёртый элемент второй строки матрицы необходимо выполнить команды (см. рис. 1.6):

Выберите несколько правильных ответов

а) А);

б) Б);

в) В);

г) Г);

д) Д);

е) Е);

ж) Ж);

з) З);

и) И);

7). (из 22):    TASM поддерживает следующие сложные типы данных:

Выберите несколько правильных ответов

а) массивы;

б) структуры;

в) объединения;

г) записи;

д) объекты;

е) директивы;

8). (из 22):    Если описать одномерный массив следующим образом: mas dd 5 dup (0). Какой объём памяти в данном случае будет выделен под массив?

Выберите единственный правильный ответ

а) 5 байт;

б) 4 байта;

в) 10 байт;

г) 9 байт;

д) 20 байт;

е) 19 байт;

9). (из 22):    Задать двумерный массив в ассемблере можно следующим образом:

Выберите несколько правильных ответов

а) mas array [0..m,0..n];

б) mas array [1..m,1..n];

в) mas db [ebx][esi];

г) mas db 23,4,5,67,5,6,7,99,67,8,9,23,87,9,0,8;

д) mas dw 5 dup (?);

10). (из 22):    Адрес элемента (i,j) в двумерном массиве можно определить следующим образом:

Выберите единственный правильный ответ

а) (база+смещение + количество_элементов_в_строке * размер_элемента * i+j**размер элемента);

б) (смещение + количество_элементов_в_строке * размер_элемента * i+j);

в) (база + количество_элементов_в_строке+смещение * размер_элемента * i+j*размер элемента);

г) (смещение + количество_элементов_в_строке +база* размер_элемента * i+j);

д) (база + количество_элементов_в_строке * размер_элемента * i+j*размер элемента);

е) я не знаю;

11). (из 22):    Для использования структур в программе необходимо обязательно выполнить:

Выберите несколько правильных ответов

а) задать шаблон структуры;

б) определить экземпляр структуры;

в) организовать обращение к элементам структуры;

г) удалить экземпляр структуры после использования его в программе;

д) удалить шаблон структуры;

12). (из 22):    С помощью оператора type можно:

Выберите несколько правильных ответов

а) определить объём памяти, выделяемый под один элемент структуры;

б) определить объём памяти, выделяемый под массив структур;

в) организовать индексацию в массиве структур;

г) обратиться к элементу структуры в виде (адресное_выражение) type (имя_поля_структуры);

13). (из 22):    Для того, чтобы объявить транслятору о том, что в программе имеется процедура, которая используется в другом модуле необходимо использовать директивы:

Выберите единственный правильный ответ

а) enter и leave;

б) extrn и public;

в) far и near;

г) забыл(а);

14). (из 22):    Если необходимо собрать два модуля, например modul1.asm и modul2.asm в один исполняемый модуль, необходимо:

Выберите несколько правильных ответов

а) cкомпановать программу утилитой TLINK командной строкой вида tlink /v modul1.obj+ modul2.obj;

б) cкомпановать программу утилитой TLINK командной строкой вида tlink /С modul1.obj+ modul2.obj;

в) выполнить трансляцию модуля modul1.asm и получить объектный модуль modul1.obj;

г) выполнить трансляцию модуля modul2.asm и получить объектный модуль modul2.obj;

д) cкомпановать программу утилитой TLINK командной строкой вида tlink /C modul1.obj and modul2.obj;

15). (из 22):    Пролог в процедуре необходим для:

Выберите несколько правильных ответов

а) инициализации регистра bp;

б) инициализации регистра sp;

в) для доступа к переданным в процедуру аргументам через стек;

г) для того, чтобы правильно записать эпилог в конце процедуры;

16). (из 22):    Если в процедуру типа near были переданы через стек аргументы, то для доступа в процедуре к последнему переданному аргументу необходимо:

Выберите единственный правильный ответ

а) сместиться от содержимого bp на 6 байта;

б) сместиться от содержимого bp на 4 байта;

в) сместиться от содержимого bp на 8 байта;

г) сместиться от содержимого bp на 2 байта;

17). (из 22):    Команда ret n необходима для:

Выберите единственный правильный ответ

а) обращения к n-ому аргументу, который передавался через стек;

б) передачи аргументов в процедуру по их адресу;

в) очистки стека от аргументов, которые передавались в процедуру;

г) забыл(а)!

18). (из 22):    Передача параметров по имени в процедуру предполагает:

Выберите единственный правильный ответ

а) использование механизма макроопределений;

б) использование общей области памяти;

в) использование другой специальной функции-заглушки;

г) работу с прерываниями DOS и BIOS;

19). (из 22):    При передаче аргументов в процедуру через стек «параметры в стеке», «адрес возврата» и «старое значение ВР» вместе называются:

Выберите единственный правильный ответ

а) прологом;

б) эпилогом;

в) активационной записью функции;

г) макроопределением процедуры;

д) параметрами процедуры;

20). (из 22):    Задать первую локальную переменную p_l внутри процедуры можно следующим образом:

Выберите единственный правильный ответ

а) p_l equ [bp-4];

б) p_l equ [bp-6];

в) p_l equ [bp-2];

г) p_l equ [bp+2];

д) p_l equ [bp+4];

е) p_l equ [bp+6];

ж) p_l equ [bp];

21). (из 22):    Если в программе определена структура worker, которая имеет 6 полей и занимает 76 байт, то запись в программе типа sotr worker<> означает, что:

Выберите единственный правильный ответ

а) все значения полей для структуры sotr равны 0;

б) все значения полей для структуры sotr занимают 1 байт;

в) в программе определен шаблон для структуры с именем sotr;

г) все значения полей для структуры sotr заданы по умолчанию;

22). (из 22):    При работе с цепочечными командами адрес цепочки - источника должен находиться в регистрах:

Выберите единственный правильный ответ

а) ds:edi/di;

б) es:edi/di;

в) es:esi/si;

г) ds:esi/si;