Основные команды Ассемблер
Список вопросов теста
Вопрос 1
.code
main proc
mov rax, 22
ret
main endp
end
Варианты ответов
- mov
- div
- add
- jmp
Вопрос 2
.code
main proc
mov
rdx, 6
mov
rax, 10
add
rax, rdx
ret
main endp
end
Варианты ответов
- mov
- div
- add
- jmp
Вопрос 3
.code
main proc
xor
rax, rax
mov
ax, 22
mov
bl, 5
div bl
movzx eax, al
ret
main endp
end
Варианты ответов
- mov
- div
- add
- jmp
Вопрос 4
.code
main proc
mov
rdx, 11
jmp
m1
mov
rdx, 22
m1:
mov
rax, rdx
ret
main endp
end
Варианты ответов
- mov
- div
- add
- jmp
Вопрос 5
Выберите правильные варианты ответов
1.
Сложение
2.
Умножение
3.
Переходы
4.
Символы
Варианты ответов
- imul eax, edx, 4
- add rax, rdx
- jmp return
- char byte "D"
Вопрос 6
Выберите правильные варианты ответов
1.
Сложение
2.
Перемещение
3.
Умножение
4.
Деление
Варианты ответов
- .code main proc mov rax, 22 ret main endp end
- .code main proc mov rdx, 6 mov rax, 10 add rax, rdx ret main endp end
- .code main proc mov eax, 3 imul eax, 5 ret main endp end
- .code main proc xor rax, rax mov ax, 22 mov bl, div bl movzx eax, al ret main endp end
Вопрос 7
Правильно раставьте строки кода программы
Варианты ответов
- .code
- main proc
- mov rax, 22
- ret
- main endp
- end
Вопрос 8
Правильно раставьте строки кода программы
Варианты ответов
- .code
- main proc
- mov eax, 3
- imul eax, 5
- ret
- main endp
- end
Вопрос 9
.code
main proc
xor rax, rax
mov eax, 12
not eax
ret
main endp
end
Варианты ответов
- Логическое умножение
- Логическое сложение
- Исключающее ИЛИ
- Поразрядное отрицание
Вопрос 10
.code
main proc
mov rax, 12
and rax, 6
ret
main endp
end
Варианты ответов
- Логическое умножение
- Логическое сложение
- Исключающее ИЛИ
- Поразрядное отрицание
Вопрос 11
Выберите правильные значения
1.
add
2.
inc
3.
sub
4.
mul
Варианты ответов
- сложение
- увеличение на 1
- вычитание
- умножение
Вопрос 12
Определите, сколько ошибок в коде вычитания регистров
.cod
main pro
mv rdx, 6
mov rax 10
sab rax, rdx
ret
main endp
end
Варианты ответов
- 2
- 3
- 4
- 5
Вопрос 13
ВЫберите правилльные варианты ответов
1.
dec
2.
inc
3.
div
4.
idiv
Варианты ответов
- уменьшает число на 1
- увеличивает число на 1
- делит беззнаковые числа
- делит два числа со знаком
Вопрос 14
Ассемблер позволяет в некоторой точке программы перейти к другой части, то есть выполнить переход. Переходы могут быть условными, то есть выполняться, если только соблюдается некоторое условие, и безусловными - для них не требуется наличие какого-либо условия, определите команду безусловного перехода.
Варианты ответов
- add
- sub
- jmp
- div
Вопрос 15
Выберите правильные варианты ответов
1.
mov
eax, 0FFFFFFFFh
mov
ebx, 1
add
eax, ebx
2.
jc
carry_set
3.
mov
eax, 0
ret
4.
carry_set:
mov
eax, 1
ret
Варианты ответов
- Здесь в регистр EAX загружаем число 0FFFFFFFFh, а в регистр EBX - число 1. Затем с помощью инструкции add складываем значения EAX и EBX и результат помещаем в EAX.
- Если произошел перенос, то устанавливается флаг переноса
- Проверяем, имеет ли место перенос. И если есть переполнение, и соответственно флаг переноса установлен в 1, то выполняем переход к метке carry_set. Если флаг переноса НЕ установлен, то выполняем последующие инструкции - в регистр EAX помещаем число 0 и выходим из процедуры
- Если флаг установлен, то переходим к метке carry_set и в регистр EAX помещаем число 1 и выходим из процедуры