Главная /
Ассемблер в Linux для программистов на C /
/**************************************** start of sample1.s *******************************/ .data .text .globl main main: 1 pushl $0x10 %eax 2 popl %ebx 3 pushl %eax 4 popl %ebx 5 pushl %eax 6 popw %ax $10 7 popw %bx /***********************************
/**************************************** start of sample1.s *******************************/
.data
.text
.globl main
main:
1 pushl $0x10 %eax
2 popl %ebx
3 pushl %eax
4 popl %ebx
5 pushl %eax
6 popw %ax $10
7 popw %bx
/**************************************** end of sample1.s *******************************/
Команды из каких строк приведённого ассемберного кода приведут к ошибкам при компиляции?
вопрос
Правильный ответ:
6,7
2,6
1,6
3,4
1,6,7
Сложность вопроса
84
Сложность курса: Ассемблер в Linux для программистов на C
50
Оценить вопрос
Комментарии:
Аноним
Если бы не эти решения - я бы не осилил c этими тестами intuit.
15 мар 2018
Аноним
Зачёт всё. Бегу отмечать отмечать 4 за тест интуит
06 окт 2017
Аноним
Спасибо за решебник по интуиту.
06 июн 2017
Другие ответы на вопросы из темы программирование интуит.
- # Каким образом число 0x05020107 будет располагаться в памяти в случае little-endian порядка байт?
- # /**************************************** 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 0x00000033 .text .global main main: 1 movl $2, %eax 2 addl $2, %eax 3 incl %eax 4 incl %eax 5 decl %eax 6 decl %eax /**************************************** end of sample1.s *******************************/ В результате каких операций в регистр eax будет занесено значение 0x4?
- # /**************************************** start of sample1.s *******************************/ .data some_var: .long 0x00000012 .text .global main main: movl $12, %eax cmpl $15, %eax 1 je the_end cmpl $15, %eax 2 jg the_end cmpl $15, %eax 3 jle the_end cmpl $15, %eax 4 jmp the_end the_end: xor %eax, %eax # return 0; /**************************************** end of sample1.s *******************************/ В результате выполнения которой команды перехода будет выполнен переход на метку the_end при выполнении вышеприведённой программы?
- # /**************************************** start of sample1.s *******************************/ .data printf_format: . string "%s\n " str_in: .string "abc123()!@!777 " .set str_in_length, .-str_in .bss str_out: .space str_in_length .text .globl main main: pushl %ebp movl %esp, %ebp movl $str_in, %esi movl $str_out, %edi movl $str_in_length - 1, %ecx 1b: lodsb incb %al stosb loop 1b movsb popl %ebp ret /**************************************** end of sample1.s *******************************/ Какие утверждения про приведённую выше программу верны?