Garik66 Опубликовано 14 апреля, 2017 Автор Поделиться Опубликовано 14 апреля, 2017 1 минуту назад, Xipho сказал: Если надумаешь писать с OBS, свяжись со мной в скайпе, я тебе помогу настроить ее для наилучшего качества записи видео и голоса. Вот за это заранее - БОЛЬШОЙ Маглоб!!! Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 14 апреля, 2017 Поделиться Опубликовано 14 апреля, 2017 В субботу после 13 часов по МСК у меня будет время. Можем в это время заняться настройкой. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 апреля, 2017 Автор Поделиться Опубликовано 14 апреля, 2017 Только что, Xipho сказал: В субботу после 13 часов по МСК у меня будет время. Можем в это время заняться настройкой. Не получится, к сожалению - буду на работе, приеду только в лучшем случае к 21.00. А в воскресение у тебя не будет время? Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 14 апреля, 2017 Поделиться Опубликовано 14 апреля, 2017 Только что, Garik66 сказал: Не получится, к сожалению - буду на работе, приеду только в лучшем случае к 21.00. А в воскресение у тебя не будет время? В воскресенье, надеюсь, если ничего срочного не возникнет, будет тоже время с 13.00 по МСК. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 апреля, 2017 Автор Поделиться Опубликовано 14 апреля, 2017 Только что, Xipho сказал: В воскресенье, надеюсь, если ничего срочного не возникнет, будет тоже время с 13.00 по МСК. ОК! Ссылка на комментарий Поделиться на другие сайты Поделиться
keng Опубликовано 14 апреля, 2017 Поделиться Опубликовано 14 апреля, 2017 @krocki, если вдруг интересно, то регистр ESP - это вершинка стека. А штуковины вида "MOV EAX, [ESP+4]" - это чтение аргументов функции. Попробую примерно объяснить суть. Вызываешь ты функцию: invoke Foo,1,2 Эквивалент: PUSH 2 PUSH 1 CALL [Foo] Как при этом работает PUSH? Допустим, что оба параметра у тебя - 32-битные. Стек изначально выглядит как-то так: 0000 0000 0000 Когда ты делаешь PUSH, стек сдвигается: PUSH 2 0002 0000 0000 0000 А после вызова функции через стек передается адрес возврата, вместе с параметрами: 0x1234 0001 0002 0000 0000 0000 И вот ESP при этом будет указывать на 0x1234, [ESP+4] - 1, [ESP+8] - 2, типа того. Сама по себе команда push делает вот так: PUSH arg - это: SUB ESP,4 MOV [ESP], arg Т.е. "отрезается" 4 байта на стеке и в них записывается аргумент, который на стек нужно положить. PS: Я чуток дополню. Копирование ESP в EBP нужно для того, чтобы всегда знать, где изначально лежали параметры. Процедура, которую вызывают, обращается к аргументам на стеке через EBP, в который предварительно сохраняет ESP в прологе функции. Обычно даже в асме все стараются придерживаться сишного соглашения о вызовах. 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
krocki Опубликовано 14 апреля, 2017 Поделиться Опубликовано 14 апреля, 2017 keng, Как говориться повторенье мать ученье, подобие ещё давно про это читал, но всё же интересно, держи лайку\плюсик. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 14 апреля, 2017 Автор Поделиться Опубликовано 14 апреля, 2017 krocki, скрипт потестил?. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения