Size: a a a

Ассемблер

2021 April 13

3I

33 Ivan in Ассемблер
Значит поместится 4 символа
источник

A

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

AM

Alexander Morozov in Ассемблер
Нет же там стека:
   mov eax,03 ; Read
  mov ebx,0 ; С консоли
  mov ecx,buff ; Адрес места, куда читать
  mov edx,4096 ; Сколько читать
  int 0x80
источник

A

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

А

Абдурасул Абдувахобо... in Ассемблер
Здесь кто-то понимает с++ ?
источник

A

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

3I

33 Ivan in Ассемблер
Я имелл ввиду длинну участка стека в который мы записываем результат
источник

А

Абдурасул Абдувахобо... in Ассемблер
Ок, сорян
источник

3I

33 Ivan in Ассемблер
И ссылку на него
источник

A

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

3I

33 Ivan in Ассемблер
Допустим здесь это buff
источник

3I

33 Ivan in Ассемблер
Я не исключаю что мои суждения не верны
источник

A

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

A

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

AM

Alexander Morozov in Ассемблер
В том коде, что я писал выше buff находится не в стеке, а просто в выделенной для него (буфера) памяти в сегменте данных. Место для него зарезервировано отдельно директивой db размер dup (?).
источник

3I

33 Ivan in Ассемблер
Но ведь перед выполнением программа выделяет участок памяти и отдает кусочки этой памяти под переменные метки итд, разве их нельзя назвать кусочками стека?
источник

AM

Alexander Morozov in Ассемблер
Нет, это просто зарезервированная память для сегмента данных.
источник

3I

33 Ivan in Ассемблер
А что такое стек тогда?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
в ассемблере это участок памяти управляемый хардварным (с помощью инструкций и регистрами самого cpu) путем. на с/спп и остальных ЯВУ есть методв создания программного стека и механизмов его управления (положить/забрать, сдвинуть указатель верхушки)
источник

A

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