Компилятор не хочет генерировать относительный короткий джамп, даже когда ему явно указан постфикс short. Почему? Разные настройки оптимизации пробовал(хотя по-моему никакие оптимизации не должны влиять на ассемблерные процедуры). У меня процедура из 1.5 тыс строк кода на ассемблере, так в ней компилятор не сгенерировал ни одного короткого джампа, все с абсолютным адресом! Для меня это оч. важно, так как существенен размер кода(портирую с делфи). Я в панике. 
Вот пример:
    sub     eax,dword ptr [esp]
    add     esp,04h
    cmp     eax,0FFFh
    jbe short @not_traced  // JBE 0xABSOLUTE_ADDRESS - WHY???!!!
    popad
    popad
    retn
@not_traced:  
Есть идеи, в чем может быть дело? Использую lazarus c fpc 2.2.2.
Спасибо.
Исправляюсь: на самом деле компилятор генерит ОТНОСИТЕЛЬНЫЕ джампы, но с 32ух-битным смещением.... т.е. не jmp short а jmp near. Тем не менее, проблема остается, нужен-то jmp short с 8-и битным смещением!
			
				


