Главная /
Ассемблер в Linux для программистов на C /
/**************************************** start of sample1.s *******************************/ .data some_var: .long 0x00000072 other_var: .long 0x00000001, 0x00000002, 0x00000003 .text .globl main main: 1 leal 0x48, %eax 2 movl $some_var, %eax 3 movl %edx
/**************************************** start of sample1.s *******************************/
.data
some_var:
.long 0x00000072
other_var:
.long 0x00000001, 0x00000002, 0x00000003
.text
.globl main
main:
1 leal 0x48, %eax
2 movl $some_var, %eax
3 movl %edx, %eax
4 movl %other_var + 4, %eax
5 movl $1, $ecx
/**************************************** end of sample1.s *******************************/
Какие инструкции приведённого ассемберного кода приведут к ошибкам при компиляции?
вопрос
Правильный ответ:
1
2
3
4
5
Сложность вопроса
52
Сложность курса: Ассемблер в Linux для программистов на C
50
Оценить вопрос
Комментарии:
Аноним
Спасибо за ответы интуит
08 мар 2019
Аноним
Экзамен сдан на 4. Спасибо vtone
07 фев 2019
Аноним
Экзамен сдал на пять. Спасибо vtone
31 янв 2019
Другие ответы на вопросы из темы программирование интуит.
- # Метки в ассембере используются для:
- # /**************************************** start of sample1.s *******************************/ .data some_var: .long 0x00000033 test_var: .long 0x00000032, 0x00000033, 0x00000034 dummy_var: .long 0x00000033, 0x00000034, 0x00000035 .text .global main main: 1 leal dummy_var, %eax 2 movl $0x00000033 %eax 3 leal 0x00000033, %eax 4 movl $dummy_var, %eax 5 movl $test_var, %eax 6 pushl $0x33 7 popl %eax /**************************************** end of sample1.s *******************************/ В результате каких операций в регистр eax будет занесено значение 0x33?
- # /**************************************** start of sample1.s *******************************/ .data printf_format: .string "%d\n " .text .globl main main: 1 movl $0, %eax 2 xorl %eax, %eax 3 subl %eax, %eax 4 testl %eax, %eax 5 orl %eax, %eax ret /**************************************** end of sample1.s *******************************/ Какие из инструкций в вышеприведённой программе обнуляют регистр eax?
- # /**************************************** 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 *******************************/ Какие утверждения про приведённую выше программу верны?
- # Использование каких инструкций связано с использованием инструкций lods и stos?