Перейти к содержанию

Возможно ли?


ReWanet

Рекомендуемые сообщения

Вот не могу понять насчет одной темы. Возможно ли в CE провести вычитание? Вот допустим есть [esi+00000014] = 200  и [esi+000090E8] = 3000. Первое координата игрока на игровом поле второе точка указателя. Возможно из 3000 вычитать 200? В CE не долго в основном сам разбираюсь без чтения макулатуры.

Ссылка на комментарий
Поделиться на другие сайты

6 часов назад, what228 сказал:

Возможно из 3000 вычитать 200?

mov eax, [esi+000090E8] 
sub eax,  [esi+00000014]

 

Изменено пользователем Xipho
Убрал бесполезное
Ссылка на комментарий
Поделиться на другие сайты

Только что, Xipho сказал:

Подчистил тему. Впредь, ребята, давайте жить дружно, мы тут одним делом занимаемся. 

Можно уточнить? Вот у меня имеется флоатовские значение ( для них fsub вроде ). Вычитаю а получается ужас а не значение.

Ссылка на комментарий
Поделиться на другие сайты

Только что, what228 сказал:

Можно уточнить? Вот у меня имеется флоатовские значение ( для них fsub вроде ). Вычитаю а получается ужас а не значение.

Приведи игровые инструкции поможем.

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

Можно. Оператор fsub работает со стеком FPU. Почитай про него подробнее. А пока - подскажу. Чтобы вычесть, тебе нужно исходное значение из адреса загрузить в стек, затем сделать вычитание, и затем вернуть в нужный адрес. Типа того: (адреса недействительные взял из примера выше)

fld dword ptr [esi+000090E8]
fsub dword ptr [esi+00000014]
fstp dword ptr [esi+000090E8]

Как-то так.

Ссылка на комментарий
Поделиться на другие сайты

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... Вот что невнимательность делает!

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.