Главная / Ассемблер в Linux для программистов на C / /**************************************** 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:

/**************************************** 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 *******************************/ Какие утверждения про приведённую выше программу верны?

вопрос

Правильный ответ:

в подпрограмму sub параметры передаются через стек
все параметры длиной 4 байта
подпрограмма sub принимает 3 параметра
инструкция ret в подпрограмме sub возвращает вершину стека в исходное положение
подпрогамма sub возвращает 0
для резервирования места под локальные переменные значение регистра %esp уменьшается на размер переменных
Сложность вопроса
94
Сложность курса: Ассемблер в Linux для программистов на C
50
Оценить вопрос
Очень сложно
Сложно
Средне
Легко
Очень легко
Комментарии:
Аноним
Гранд мерси за помощь по intuit.
25 май 2020
Аноним
Я помощник профессора! Срочно удалите ответы на интуит. Я буду жаловаться!
13 июн 2019
Аноним
Какой студент ищет вот эти вопросы inuit? Это же очень простые ответы
02 мар 2017
Оставить комментарий
Другие ответы на вопросы из темы программирование интуит.