Size: a a a

Ассемблер

2021 September 09

М

Миша́НЯ♿️ in Ассемблер
Так каков правильный ответ?
источник

ST

Saenro T in Ассемблер
Ты про это?

infinity:
   call @F
   sub rsp, 8
   jmp @F
@@: ret
источник

A

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

A

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

E

Entusiast in Ассемблер
Будет возвращаться на sub esp, 4 / sub rsp, 8
Тут используется call, что не соответствует задаче
источник

E

Entusiast in Ассемблер
call+ret  - в стеке ничего не останется
Останется
источник

A

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

push     @f
jmp   adrproc
@@:
источник

A

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

E

Entusiast in Ассемблер
Но это всё равно неправильно
Возвращаться будет не на следующую инструкцию, а на одну и ту же
источник

A

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

d

disba1ancer in Ассемблер
или если это gas:
push 0f
jmp adrproc
0:
источник

A

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

E

Entusiast in Ассемблер
Там всё для извращенцев
источник

d

disba1ancer in Ассемблер
это специальные метки, работают как @@, только их можно использовать более одной
источник

A

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

E

Entusiast in Ассемблер
Он намекает, что в FASM нельзя сделать:
1f
0f
1b
0b
2b
2f
И т.д
Но на самом деле можно
источник

A

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

и

искрим in Ассемблер
Много лет уже как совершенно разные яп
источник

d

disba1ancer in Ассемблер
ну в фасме у тебя есть @f и @b они ходят только к ближайшей, в гасе у тебя может быть несколько разных меток
источник

E

Entusiast in Ассемблер
Он думает, если ЯП из одной технологии, тогда их можно писать как один язык - C/C++/C#, Python, Javascript
Тоже, конечно, странно вообще звучит
источник