349 / 204 / 52
Регистрация: 18.10.2017
Сообщений: 2,077
|
|
1 | |
Извлечь аргумент из стека20.10.2022, 08:50. Показов 1047. Ответов 2
Метки нет (Все метки)
Здравствуйте!
Я на ассемблере не писал уже более 20 лет, а когда писал, это была 32-х разрядная DOS от Windows. Сейчас мне требуется в Linux в функции через EBP/ESP извлечь из стека 1-й аргумент, это будет указатель. Просьба привести пример команды.
0
|
20.10.2022, 08:50 | |
Ответы с готовыми решениями:
2
Дан указатель Р1 на вершину стека. Извлечь из стека все элементы и вывести значение Извлечь из стека первый(верхний) элемент и вывести его значение и адрес новой вершины стека Дан указатель P1 на вершину непустого стека. Извлечь из стека первый (верхний) элемент и вывести его значение Извлечь из стека первый (верхний) элемент и вывести его значение D, а также адрес P2 новой вершины стека |
Модератор
|
||||||
21.10.2022, 09:27 | 2 | |||||
Код
7 sum: 1:ptr.c **** int sum ( int *a, int b ) { 2:ptr.c **** return *a + b; 15 0000 8B442404 movl 4(%esp), %eax 16 0004 8B00 movl (%eax), %eax 17 0006 03442408 addl 8(%esp), %eax 3:ptr.c **** } 19 000a C3 ret x64: gcc -c -O3 -g ptr.c -Wa,-adhln | fgrep ' .' -v Код
7 sum: 1:ptr.c **** int sum ( int *a, int b ) { 2:ptr.c **** return *a + b; 15 0000 8B07 movl (%rdi), %eax 16 0002 01F0 addl %esi, %eax 3:ptr.c **** } 18 0004 C3 ret UEFI ( и Windows x64 ): gcc -c -O3 -g -mabi=ms ptr.c -Wa,-adhln | fgrep ' .' -v Код
7 sum: 1:ptr.c **** int sum ( int *a, int b ) { 2:ptr.c **** return *a + b; 15 0000 8B01 movl (%rcx), %eax 16 0002 01D0 addl %edx, %eax 3:ptr.c **** } 18 0004 C3 ret
0
|
349 / 204 / 52
Регистрация: 18.10.2017
Сообщений: 2,077
|
|
21.10.2022, 10:15 [ТС] | 3 |
politoto, благодарю за полный ответ.
0
|
21.10.2022, 10:15 | |
21.10.2022, 10:15 | |
Помогаю со студенческими работами здесь
3
Дан указатель P1 на вершину стека (если стек пуст, то P1 = nil). Извлечь из стека все элементы и вывести их значения Извлечь из стека первые девять элементов Извлечь даные из списка (стека) по приоритету Извлечь из стека все элементы и вывести их значения Извлечь из стека первые девять элементов и вывести их значения Извлечь из стека первые девять элементов и вывести их значения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |