XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
adic3x

offline
Опыт: 108,439
Активность:
не особо заметен интерпритатор тут
это код, который обрабатывает интерпритатор
как бы к священному х86 это отношения не имеет
Старый 12.10.2009, 00:19
ScorpioT1000
Работаем
online
Опыт: отключен
я и говорю про что...
Старый 12.10.2009, 01:53
adic3x

offline
Опыт: 108,439
Активность:
кстате, вы будете смеяться, но с -1 тоже самое)

Код:
function ISignBJ takes integer a returns integer
    if (a >= 0) then
        return 1
    else
        return -1
    endif
endfunction


086F8D88 ISignBJ+0000 00 01 04 08  000005f2    CREATE_LOCAL_FROM_STACK a [1] {integer (4)}
086F8D90 ISignBJ+0008 00 04 e9 0e  000005f2    MOV_VAR_REG a => #e9 {integer (4)}
086F8D98 ISignBJ+0010 00 00 e9 13  00000000    PUSH #e9
086F8DA0 ISignBJ+0018 00 04 ea 0c  00000000    MOV_VAL_REG 0 => #ea {integer (4)}
086F8DA8 ISignBJ+0020 00 00 eb 14  00000000    POP #eb
086F8DB0 ISignBJ+0028 ea eb eb 1d  00000000    #eb = (#eb >= #ea)
086F8DB8 ISignBJ+0030 00 00 eb 2a  00000011    IF NOT(#eb) THEN JUMP ISignBJ+0x0060
086F8DC0 ISignBJ+0038 00 04 ec 0c  00000001    MOV_VAL_REG 1 => #ec {integer (4)}
086F8DC8 ISignBJ+0040 00 ec 00 0d  00000000    MOV_REG_REG #ec => #00
086F8DD0 ISignBJ+0048 00 00 00 27  00000000    RETURN
086F8DD8 ISignBJ+0050 00 00 00 2b  00000012    JUMP ISignBJ+0x0088
086F8DE0 ISignBJ+0058 00 00 00 28  00000011    STUB_LOOP region
    086F8DE8 ISignBJ+0060 00 04 ed 0c  00000001    MOV_VAL_REG 1 => #ed {integer (4)}
    086F8DF0 ISignBJ+0068 00 00 ed 25  00000000    #ed = -#ed
    086F8DF8 ISignBJ+0070 00 ed 00 0d  00000000    MOV_REG_REG #ed => #00
    086F8E00 ISignBJ+0078 00 00 00 27  00000000    RETURN
086F8E08 ISignBJ+0080 00 00 00 28  00000012    STUB_LOOP rect
086F8E10 ISignBJ+0088 00 00 00 27  00000000    RETURN
086F8E18 ISignBJ+0090 00 00 00 04  00000000    STUB_FUNC_END


т.е. 0xffffffff рулит
Старый 26.01.2010, 10:31
DioD

offline
Опыт: 45,134
Активность:
это настолько незначительно что можно проигнорировать.
Старый 26.01.2010, 10:39
adic3x

offline
Опыт: 108,439
Активность:
игнорировать можно много чего, с одной стороны, с другой стороны это настолько "примитовно" что это должен оптимизить любой даже очень тупой обработчик
Старый 26.01.2010, 10:40
reALien

offline
Опыт: 29,211
Активность:
Хмм... Я вам поражаюсь, я вот никогда не воспринимал Jass, как язык програмирования серьезно, а вы такие мелочи находите. Наверное, без таких людей мои жалкие попытки писать Jass-код загнулись бы.
Об этом я не знал, но из аккуратности писал 2.0, значит я таки обманул систему=)
Старый 26.01.2010, 12:34
9thNerZul
forum/warcraft3
offline
Опыт: 4,869
Активность:
Никогда не писал точку, после числа, только в случае если оно дробное, тепреь буду, спасибо)
Старый 27.01.2010, 10:45
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 01:48.