169 похожих чатов

Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на

консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написано, спустя некоторое время сама закрывается, несмотря на invoke getch и invoke ExitProcess,0 в конце метки.)

mov eax, 6
invoke printf, eax

Собственно, а в чём дело ?

25 ответов

51 просмотр

прочитайте параметры функции printf, и какое она имеет соглашение о вызовах

НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
Можно ссылку на ресурс ?

Просто... Я буквально день назад решил учить ассемблер и пока из моих источников информации пара страниц под строкой поиска гугла.

Alexey
Зачем , так тоже можно и я так делал

mov dword ptr esp, msg_2 mov dword ptr esp, msg_1 push frmt call ptr printf add esp,4*3я вообще так писал

Alexey
mov dword ptr esp, msg_2 mov ...

не, лучше так mov ebp,esp mov esp,p jmp printf q: mov esp,ebp ... p dd q,frmt,msg_1,msg_2

НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
Чёт ничего не поменялось

А обязательно регистр использовать, не пойдет метка там?

Alexey
А обязательно регистр использовать, не пойдет метк...

Я экспериментирую, пытаюсь понять, чё можно, а чё нет

The Bird of Hermes
Тут что-то странное творится

Он хотел скоротать push, проложив сразу формат стека с аргументами, но забыл, что у функции есть локальные переменные.

int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
точно, исправил

А теперь ты не скоротал push, а даже сделал намного хуже. Теперь код бесполезный.

int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
не, лучше так mov ebp,esp mov esp,p jmp printf q: ...

Ты хочешь при каждом вызове функции самому создавать ей ещё и кадр стека? Зачем? Не говоря уже о том, что не каждой функции он нужен

int 💳 𝙖𝙞𝙧 𝙗𝙞𝙜 𝙗𝙤𝙗 🔫 check bio / spam block / AFK / nohello.com / GMT+3
зато производительность на высоте

В пределах Hello World - возможно, но никто не будет качать твой бинарник весом 2 гигабайта, потому что ты не умеешь узнавать размер локальных переменных внутри функции, и решил просто выделить под каждый такой формат статический стек по 66666... двойных слов.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта