ASM

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 килобайта

Report Page