С Новым годом! Форум программистов, компьютерный форум, киберфорум
Assembler: Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
349 / 204 / 52
Регистрация: 18.10.2017
Сообщений: 2,077
1

Извлечь аргумент из стека

20.10.2022, 08:50. Показов 1047. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Я на ассемблере не писал уже более 20 лет, а когда писал, это была 32-х разрядная DOS от Windows.
Сейчас мне требуется в Linux в функции через EBP/ESP извлечь из стека 1-й аргумент, это будет указатель.
Просьба привести пример команды.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.10.2022, 08:50
Ответы с готовыми решениями:

Дан указатель Р1 на вершину стека. Извлечь из стека все элементы и вывести значение
Здравствуйте, как можно написать эту программу , не используя функцию стека, а через массивы. Если...

Извлечь из стека первый(верхний) элемент и вывести его значение и адрес новой вершины стека
Дан указатель P1 на вершину непустого стека. Извлечь из стека первый (верхний) элемент и вывести...

Дан указатель P1 на вершину непустого стека. Извлечь из стека первый (верхний) элемент и вывести его значение
Дан указатель P1 на вершину непустого стека. Извлечь из стека первый (верхний) элемент и вывести...

Извлечь из стека первый (верхний) элемент и вывести его значение D, а также адрес P2 новой вершины стека
Дано указатель P1 на вершину непустого стека. Извлечь из стека первый (верхний) элемент и вывести...

2
Модератор
2129 / 998 / 170
Регистрация: 23.07.2018
Сообщений: 3,346
Записей в блоге: 3
21.10.2022, 09:27 2
Bash
1
gcc -c -O3 -g -m32 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 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
Добавлено через 3 минуты
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
Добавлено через 7 минут
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.10.2022, 10:15
Помогаю со студенческими работами здесь

Дан указатель P1 на вершину стека (если стек пуст, то P1 = nil). Извлечь из стека все элементы и вывести их значения
Динамические структуры данных Все числа, используемые в заданиях на динамические структуры...

Извлечь из стека первые девять элементов
Дан указатель P1 на вершину стека, содержащего не менее десяти элементов. Извлечь из стека первые...

Извлечь даные из списка (стека) по приоритету
Есть список в котором содержаться разные операторы(+,-,*,/) как извлечь операторы из списка по...

Извлечь из стека все элементы и вывести их значения
Дан указатель P1 на вершину стека (если стек пуст, то P1 = null). Извлечь из стека все элементы и...

Извлечь из стека первые девять элементов и вывести их значения
Дан указатель P1 на вершину стека, содержащего не менее десяти элементов. Извлечь из стека первые...

Извлечь из стека первые девять элементов и вывести их значения
Дан указатель P1 на вершину стека, содержащего не менее десяти элементов. Извлечь из стека первые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru