Size: a a a

Ассемблер

2020 May 13

RM

Ricardo Milos in Ассемблер
Делаю vim, вроде получилось
источник

RM

Ricardo Milos in Ассемблер
Но запустить не удаетсч
источник

AG

Alexander Galileev in Ассемблер
И не получится - gcc просто транслировал исходный код на Си в код на ассемблере, после чего остановился. Дальше он обычно вызывает ассемблер, чтобы тот превратил ассемблерный код в исполняемый, который можно будет запустить - но ты сказал ему этого не делать.
источник

RM

Ricardo Milos in Ассемблер
Так я написал gcc - o file name file name.s
./filename - command not found пишет
источник

AG

Alexander Galileev in Ассемблер
После флага -o какая-то мешанина. Выполни две команды:

gcc -S file.c
gcc file.c -o file


В каталоге окажется три файла: file.c, file.s, file. Последний - исполняемый.
источник

VR

Vartan RedMan in Ассемблер
Ребят привет,можно вопрос?
Я в цикле ввожу числа последовательности после каждого инпута делаю push число в стек чтобы потом вызвать функцию и с этими числами работать,но когда просто для проверки печатаю [ebp + 8] то совсем другое число выводит,это норм?
источник

VR

Vartan RedMan in Ассемблер
Думаю со стэком что-то напутал
источник

AG

Alexander Galileev in Ассемблер
Код покажи, ничего же не понятно.
источник

VR

Vartan RedMan in Ассемблер
источник

VR

Vartan RedMan in Ассемблер
Там функция чтобы нашла числа в которых к значащих нулей
источник

VR

Vartan RedMan in Ассемблер
Но я просто в начале попытался распечатать те,что делаю push чтобы убедиться что функция с ними будет работать,но не вышло
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
а зачем со стеком? можно ведь просто выделить в секции данных нужный размер для чисел и вводить туда. и обращаться к данным как к массиву. вроде так проще чем со стеком. но тут дело вкуса. в любом случае вводимые числа вводятся в память.

или количество чисел неизвестно?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
ааа, количество известно раз цикл есть
источник

VR

Vartan RedMan in Ассемблер
Просто нужно реализовать это именно в функции (такое задание дали)
источник

VR

Vartan RedMan in Ассемблер
Просто вроде push правильно делаю и по [ebp+8] должно же быть самое первое число в посл-ти,разве нет?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Vartan RedMan
Просто нужно реализовать это именно в функции (такое задание дали)
в параметр функции указатель на на массив задать
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
или выделить этот массив в локальных данных (да работа опять же со стеком в таком случае, но тут есть привязка к меткам)
источник

VR

Vartan RedMan in Ассемблер
А у меня же тут по сути массива нету
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
аа, будет еще геморней, вы ведь на насме пишете, а там вроде в поставке нет макросов для работы с процедурами
источник

VR

Vartan RedMan in Ассемблер
То есть лучше в массив записать всё?
источник