Главная /
Ассемблер в Linux для программистов на C /
/**************************************** start of sample1.s *******************************/ .data num: .long 0x00000072 other_var: .long 0x00000001, 0x00000002, 0x00000003 .text .globl main main: movl (num), %eax movl (other_var), %ecx leal (%eax,%eax,2
/**************************************** start of sample1.s *******************************/
.data
num:
.long 0x00000072
other_var:
.long 0x00000001, 0x00000002, 0x00000003
.text
.globl main
main:
movl (num), %eax
movl (other_var), %ecx
leal (%eax,%eax,2) ,%ecx
/**************************************** end of sample1.s *******************************/
Какие виды адресации использованы в вышеприведённом фрагменте программы?
вопрос
Правильный ответ:
абсолютная
непосредственная
косвенная
регистровая
относительная
Сложность вопроса
94
Сложность курса: Ассемблер в Linux для программистов на C
50
Оценить вопрос
Комментарии:
Аноним
Если бы не опубликованные решения - я бы сломался c этими тестами интуит.
18 мар 2017
Аноним
Очень сложные тесты
02 ноя 2016
Другие ответы на вопросы из темы программирование интуит.
- # Операндами команды процессора могут быть:
- # /**************************************** start of sample1.s *******************************/ .data num: .long 0x00000072 other_var: .long 0x00000001, 0x00000002, 0x00000003 .text .globl main main: 1 movl (num), %ebx 2 movl $0x1, %eax 3 movl (%ebx), %eax 4 movl %eax, %ecx /**************************************** end of sample1.s *******************************/ В какой из понумерованных строк, в вышеприведённом фрагменте кода используется метод адресации, обеспечивающий максимальную гибкость программы?
- # /**************************************** start of sample1.s *******************************/ .data some_var: .long 0x00000052 other_var: .long 0x00000071, 0x00000072, 0x00000073 .text .global main main: movl $(other_var+4), %ecx movl $some_var, %edx /**************************************** end of sample1.s *******************************/ Какое значение окажется в регистре ecx после выполнения вышеописанных строк кода?
- # /**************************************** start of sample1.s *******************************/ sub: pushl %ebp movl %esp, %ebp subl $8, %esp movl 8(%ebp), %eax movl 12(%ebp), %eax movl 16(%ebp), %eax movl 20(%ebp), %eax movl %ebp, %esp popl %ebp ret main: pushl $0x00000010 pushl $0x00000020 pushl $0x00000020 pushl $0x00000041 call sub addl $12, %esp /**************************************** end of sample1.s *******************************/ Какие утверждения про приведённую выше программу верны?
- # Для получения информации о текущей или заданной строке кода в отладчике gdb используется команда: