ReWanet Опубликовано 8 марта, 2017 Поделиться Опубликовано 8 марта, 2017 Вот не могу понять насчет одной темы. Возможно ли в CE провести вычитание? Вот допустим есть [esi+00000014] = 200 и [esi+000090E8] = 3000. Первое координата игрока на игровом поле второе точка указателя. Возможно из 3000 вычитать 200? В CE не долго в основном сам разбираюсь без чтения макулатуры. Ссылка на комментарий Поделиться на другие сайты Поделиться
2zolo2 Опубликовано 8 марта, 2017 Поделиться Опубликовано 8 марта, 2017 (изменено) 6 часов назад, what228 сказал: Возможно из 3000 вычитать 200? mov eax, [esi+000090E8] sub eax, [esi+00000014] Изменено 8 марта, 2017 пользователем Xipho Убрал бесполезное Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 марта, 2017 Поделиться Опубликовано 8 марта, 2017 Подчистил тему. Впредь, ребята, давайте жить дружно, мы тут одним делом занимаемся. Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 8 марта, 2017 Автор Поделиться Опубликовано 8 марта, 2017 Только что, Xipho сказал: Подчистил тему. Впредь, ребята, давайте жить дружно, мы тут одним делом занимаемся. Можно уточнить? Вот у меня имеется флоатовские значение ( для них fsub вроде ). Вычитаю а получается ужас а не значение. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 марта, 2017 Поделиться Опубликовано 8 марта, 2017 Только что, what228 сказал: Можно уточнить? Вот у меня имеется флоатовские значение ( для них fsub вроде ). Вычитаю а получается ужас а не значение. Приведи игровые инструкции поможем. 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 марта, 2017 Поделиться Опубликовано 8 марта, 2017 Можно. Оператор fsub работает со стеком FPU. Почитай про него подробнее. А пока - подскажу. Чтобы вычесть, тебе нужно исходное значение из адреса загрузить в стек, затем сделать вычитание, и затем вернуть в нужный адрес. Типа того: (адреса недействительные взял из примера выше) fld dword ptr [esi+000090E8] fsub dword ptr [esi+00000014] fstp dword ptr [esi+000090E8] Как-то так. Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 марта, 2017 Поделиться Опубликовано 8 марта, 2017 ЗЫ: или навскидку, из той информации. которая есть в топике: fld [esi+000090E8] fsub [esi+00000014] fstp [esi+000090E8] 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Garik66 Опубликовано 8 марта, 2017 Поделиться Опубликовано 8 марта, 2017 2 минуты назад, Xipho сказал: Как-то так. Однако......................... - одновременно 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Xipho Опубликовано 8 марта, 2017 Поделиться Опубликовано 8 марта, 2017 1 минуту назад, Garik66 сказал: Однако......................... - одновременно Угумс ))) Ссылка на комментарий Поделиться на другие сайты Поделиться
ReWanet Опубликовано 8 марта, 2017 Автор Поделиться Опубликовано 8 марта, 2017 12 минуты назад, Garik66 сказал: Приведи игровые инструкции поможем. 9 минут назад, Xipho сказал: Можно. Оператор fsub работает со стеком FPU. Почитай про него подробнее. А пока - подскажу. Чтобы вычесть, тебе нужно исходное значение из адреса загрузить в стек, затем сделать вычитание, и затем вернуть в нужный адрес. Типа того: (адреса недействительные взял из примера выше) fld dword ptr [esi+000090E8] fsub dword ptr [esi+00000014] fstp dword ptr [esi+000090E8] Как-то так. 9 минут назад, Garik66 сказал: ЗЫ: или навскидку, из той информации. которая есть в топике: fld [esi+000090E8] fsub [esi+00000014] fstp [esi+000090E8] Спасибо за помощь. Оказывается я дурак не те регистры поставил вместо esi везде стоял ecx... Вот что невнимательность делает! Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения