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

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

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

mov eax, 6
invoke printf, eax

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

25 ответов

47 просмотров

прочитайте параметры функции 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... двойных слов.

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

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

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта