Size: a a a

Ассемблер

2020 July 29

A

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

AN

Alex Naraito in Ассемблер
У меня с этой либой всё норм вроде
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Alex Naraito
У меня с этой либой всё норм вроде
я в линухе не бум-бум. сказать не могу, гугл мне  не помог
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
Alex Naraito
Это мой код, библиотека на си, которую я подключаю называется dllfasm . so (предупреждение: это всё чисто тест ) Её код тоже могу скинуть, но там лишь один include и одна функция под именем hello321, которая выводит сообщение, но чтобы всё работало нужно, чтобы библиотека находилась в /usr/lib64, а мне надо чтобы туда ничего не закидывать, а программа, чтобы брала либу из папки с бинарём, так можно сделать?
мож надо через запятую в neded (и/или в interpreter) указывать библитеки, а в импорте их через запятую прописывать
источник

RG

R G in Ассемблер
можете объяснить пожалуйста, почему параметры кладутся куда-то мимо стека? здесь получается параметры не на вершине будут, почему так?
источник

A

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

RS

Rusty Shackleford in Ассемблер
R G
можете объяснить пожалуйста, почему параметры кладутся куда-то мимо стека? здесь получается параметры не на вершине будут, почему так?
почему мимо, в стек кладутся
источник

A

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

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
0-3 - первые четыре параметры , 4-11 остальные
источник

RG

R G in Ассемблер
R G
можете объяснить пожалуйста, почему параметры кладутся куда-то мимо стека? здесь получается параметры не на вершине будут, почему так?
так после вызова на вершине стека не будет аргументов, потому что их положили насиная с rsp+8*4
источник

RS

Rusty Shackleford in Ассемблер
Rusty Shackleford
почему мимо, в стек кладутся
стек кладутся, просто как раз то о чем мы выше говорили, они кладутся не push'ами а используя смещение от вершины стека, делается это для ускорения работы программы, там же у Аблязова чуть выше написано - mov работает быстрее push потому, что push помимо записи в память изменяте каждый раз rsp
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
12-4 = 8, что указывается для выделения недостающего размера (8*8)
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
R G
так после вызова на вершине стека не будет аргументов, потому что их положили насиная с rsp+8*4
с этого адреса кладется 5й аргумент и далее по порядку
источник

RG

R G in Ассемблер
Aiwan ╭∩╮ (òÓ,) ╭∩╮
с этого адреса кладется 5й аргумент и далее по порядку
а на вершине стека тогда что будет? Пусто ? Т.к первый аргумент в регистре
источник

RS

Rusty Shackleford in Ассемблер
R G
а на вершине стека тогда что будет? Пусто ? Т.к первый аргумент в регистре
там будет резерв для теневой копии как раз
источник

RG

R G in Ассемблер
Rusty Shackleford
стек кладутся, просто как раз то о чем мы выше говорили, они кладутся не push'ами а используя смещение от вершины стека, делается это для ускорения работы программы, там же у Аблязова чуть выше написано - mov работает быстрее push потому, что push помимо записи в память изменяте каждый раз rsp
да, я читал про этот способ, и понимаю что он быстрее и тд. Просто насчет расположения аргументов не понял чет
источник

RG

R G in Ассемблер
Rusty Shackleford
там будет резерв для теневой копии как раз
ааа так теневое пространство на верхушке?
источник

RS

Rusty Shackleford in Ассемблер
R G
ааа так теневое пространство на верхушке?
вроде так
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮... in Ассемблер
R G
а на вершине стека тогда что будет? Пусто ? Т.к первый аргумент в регистре
теневая область выделялась 1 раз в начале листинга для всех функций, для использования функций с большим чем 4 параметрами, перед вызовом CreaterWindowEx выделили недостающее метсто для 5-12 параметров, а это составляет 8*8
источник

RS

Rusty Shackleford in Ассемблер
R G
ааа так теневое пространство на верхушке?
источник