Главная /
Программирование /
Ассемблер в Linux для программистов на C
Ассемблер в Linux для программистов на C - ответы на тесты Интуит
Правильные ответы выделены зелёным цветом.
Все ответы: Вводный курс по языку ассемблер знакомит с начальными понятиями, синтаксисом, методами адресации и командами.
Все ответы: Вводный курс по языку ассемблер знакомит с начальными понятиями, синтаксисом, методами адресации и командами.
Смотрите также:
Основными элементами архитектуры IA-32 являются:
(1) регистры
(2) стек
(3) видеопамять
(4) память
(5) кеш диска
Что происходит при выталкивании элемента из стека?
(1) содержимое памяти по адресу, который записан в %esp, записывается в регистр
(2) значение %esp уменьшается на размер элемента в байтах
(3) новый элемент записывается по адресу, на который указывает %esp
(4) значение адреса в %esp увеличивается на размер элемента в байтах
Какие из указанных строк являются корректными операндами команды?
(1) movl
(2) %hello_str
(3) %ecx
(4) $10
(5) ни одно из вышеперечисленных
Операндами команды процессора могут быть:
(1) регистр
(2) конкретное значение
(3) имя секции программы
(4) ни одно из вышеперечисленных
(1) абсолютная
(2) непосредственная
(3) косвенная
(4) регистровая
(5) относительная
(1) 1
(2) 2
(3) 3
(4) 4
(5) 5
(1) 0x00000052
(2) 0x00000001
(3) 0x00000072
(4) 0x00000073
(5) 0x00000071
(1) 1
(2) 2
(3) 3
(4) 4
(5) 5
(6) 7
(1) 1
(2) 2
(3) 3
(4) 4
(1) в подпрограмму sub параметры передаются через стек
(2) все параметры длиной 4 байта
(3) подпрограмма sub принимает 3 параметра
(4) инструкция ret в подпрограмме sub возвращает вершину стека в исходное положение
(5) подпрогамма sub возвращает 0
(6) для резервирования места под локальные переменные значение регистра %esp уменьшается на размер переменных
На что необходимо обратить внимание при работе с структурами?
(1) размер структуры зависит как от порядка элементов структуры, так и от их размера
(2) вся структура должна быть выровнена так, как выровнен её элемент с наибольшим выравниванием
(3) каждый элемент структуры следует сразу за последним байтом предыдущего элемента
(4) из описания структуры в manula pages легко можно посчитать её размер и смещения отдельных элементов
Для выполнения следующей инструкции текущей подпрограммы в отладчике gdb используется команда:
(1) step
(2) next
(3) print
(4) break
(5) info
(6) list
Какое утверждения про архитектуру IA-32 верно?
(1) используются регистры размером 16, 32 и 64 бита
(2) поддерживается всеми процессорами Intel, имя которых заканчивается на 86
(3) служит для запуска только 32-битных приложений
(4) данные из некоторых регистров можно считывать по 8,16 и 32 бита
На какой наименьший размер памяти может указать указатель на память?
(1) бит
(2) байт
(3) 16 бит
(4) 32 бита
(5) 64 бита
Какая директива обязательно размещается перед командами?
(1) .data
(2) .code
(3) .text
(4) .long
(5) .type
(6) .space
Метки в ассембере используются для:
(1) адресации данных
(2) адресации блоков кода
(3) связывание
(4) ни одно из вышеперечисленных
(1) абсолютная
(2) непосредственная
(3) косвенная
(4) регистровая
(5) относительная
(1) movl $0x48, %eax
(2) leal $0x32, %eax
(3) leal some_var, %eax
(4) leal $other_var + 4, %eax
(5) leal some_var, $ecx
(1) 1
(2) 2
(3) 3
(4) 4
(5) 5
(1) 1
(2) 2
(3) 3
(4) 4
(5) 5
(1) уменьшает значение регистра eax на 1
(2) увеличивает значение регистра eсx на 1
(3) если %ecx = 0, передать управление следующей за loop команде
(4) если %ecx не равно 0, передать управление на метку sum
(5) если %eax больше 0, передать управление на метку sum
Какие утверждения про системные вызовы ошибочны?
(1) количество параметров системного вызова не ограничено
(2) системный вызов выполняется через прерывание 0x80 и номер системного вызова помещается в регистр %eax
(3) в разных версиях ядра порядок аргументов у некоторых системных вызовов может отличаться
(4) при системном вызове параметры передаются через стек
(5) количество параметров системного вызова передаётся через регистр %edx
(1) программа размещает адрес входного массива данных в регистре esp
(2) программа в цикле напрямую копирует данные из памяти, начиная с адреса str_in в память, начиная с адреса str_out
(3) инструкция stosb берёт данные по адресу из регистра edi и сохраняет в регистр al
(4) инструкция lodsb берёт данные по адресу из регистра esi и сохраняет в регистр al
(5) операторы stos и lods изменяют значения регистров, которые они используют для хранения адресов
Для получения информации о текущей или заданной строке кода в отладчике gdb используется команда:
(1) step
(2) next
(3) print
(4) break
(5) info
(6) list
Регистры процессора служат для:
(1) кеширования данных оперативной памяти
(2) хранения результатов промежуточных вычислений
(3) хранения информации, управляющей работой процессора
(4) передачи данных между ядрами процессора
(5) кеширования данных, хранящихся на диске
Каким образом число 0x05020107 будет располагаться в памяти в случае little-endian порядка байт?
(1) 0x05 0x02 0x01 0x07
(2) 0x07 0x01 0x02 0x05
(3) 0x02 0x05 0x07 0x01
(4) 0x01 0x07 0x05 0x02
В какой из приведённых ниже строк содержится метка
(1) .string "Hello, world!\n"
(2) movl $42, %eax
(3) hello_str:
(4) .section .rodata
(5) .space
Для объявления неинициализированных данных служит директива:
(1) .set
(2) .data
(3) .space
(4) .section .rodata
(1) 1
(2) 2
(3) 3
(4) 4
(1) 6,7
(2) 2,6
(3) 1,6
(4) 3,4
(5) 1,6,7
(1) 1
(2) 2
(3) 3
(4) 4
(5) 5
(6) 7
(1) 1
(2) 2
(3) 3
(4) 4
(5) 5
(6) 6
(1) 1
(2) 2
(3) 3
(4) 4
(5) 5
Какой самый популярный способ передачи параметров в подпрограмму?
(1) при помощи регистров
(2) при помощи общей области памяти
(3) при помощи стека
(4) все указанные способы равноценны и их использование определяется настройками компилятора
Использование каких инструкций связано с использованием инструкций lods и stos?
(1) movs или cmps или cmps
(2) ret
(3) push
(4) leos
(5) loop или rep
Для установки точки останова в отладчике gdb используется команда:
(1) step
(2) next
(3) print
(4) break
(5) info
(6) list
Каким образом число 0x05020107 будет располагаться в памяти в случае big-endian порядка байт?
(1) 0x05 0x02 0x01 0x07
(2) 0x07 0x01 0x02 0x05
(3) 0x02 0x05 0x07 0x01
(4) 0x01 0x07 0x05 0x02
(1) 1
(2) 2
(3) 3
(4) 4
(5) 5
Для вывода на экран выражений в отладчике gdb используется команда:
(1) step
(2) next
(3) print
(4) break
(5) info
(6) list