Size: a a a

Ассемблер

2021 August 21

D

Den in Ассемблер
вообще вот сейчас проверил в  fasme такие конструкции как:
push dword[eax]
pop dword [eax]
прекрасно работают, единственный момент ты в этом случае должен указать компилятору размер данных dword word byte и тд. чтобы он понимал сколько брать и сколько класть потому, что когда ты просто делаешь pop eax скажем, ты как бы задаешь размер данных названием регистра а когда дело касается других источников, приемников, то там нужно уже размер данных указать вручную. А так логика push/pop соблюдена в фасме получается единообразно с mov
источник

A

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

E

Entusiast in Ассемблер
А где тут изменение адреса
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
это вместо
pop metka

я не знаю как ты там хотел попом адрес изменить
источник

E

Entusiast in Ассемблер
Не я
Вопрос был про
pop metka

И разве
call metka
metka:

Не положит адрес metka в стэк, а не наоборот - не очистит стэк от этого адреса, и не положит его в операнд?
источник

A

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

E

Entusiast in Ассемблер
Так это же не ответ.
Нужно положить в адрес - значение из стэка))
Изменить адрес:
pop metka

Вот я и говорю, что это невозможно.
А насчёт положить адрес метки:

mov dword[data], metka
Или
mov eax, metka
источник

A

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

E

Entusiast in Ассемблер
Ничего не путаю
источник

ФА

Фея Актива in Ассемблер
Кайф. Учить nasm ассемблер когда ноута нет рядом.
источник

A

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

ФА

Фея Актива in Ассемблер
Dcoder апк если кому интересно
источник

ФА

Фея Актива in Ассемблер
Компилит
источник

E

Entusiast in Ассемблер
Не ну сравнил, конечно. В жизни-то можно "изменить"))
А я тебе говорю, что это невозможно. Невозможно сделать:
pop eax

И ты мне говоришь, что невозможно. Ну так не понимаю, что я путаю?
источник

A

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

A

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

E

Entusiast in Ассемблер
Человек пишет:

"
Как понять пример:
pop temp ; То есть изменить АДРЕС метки на ЗНАЧЕНИЕ ИЗ СТЭКА

Разве не так должно быть?
pop [temp]
"

Я и говорю, что первое вообще невозможно, если это метка, а не какой-то дефайн компилятора на регистр процессора
Ну или это какой-то синтаксис арабский -> pop temp == pop [temp]
источник

ФА

Фея Актива in Ассемблер
Да это чисто когда ноут не рядом.
источник

ФА

Фея Актива in Ассемблер
Искал специально для этого.
источник

A

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