ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
729127 Топик полностью
Ксения (18.01.2017 02:01, просмотров: 52) ответил Крок на Согласен. Но тогда не надо называть этот язык "ассемблером", с чего собственно базар и начался.
Только что прошлась отладчиком - там только лишний jmp на входе. Т.е. сперва CALL (это раз), затем JMP в Kernel32.dll (это два), далее там выполняется код функции и на RET (это три) возвращается назад. По нынешнему времени процессоры Intel выполняют каждую из этих трех инструкций за один такт, т.е. 3 такта теряются на вызове любой из функций API. Что касается FPU87, то вы скромно умолчали :) о том, что 80 разрядов имеет не только результат, но и к этому же типу приводятся операнды! Например, умножение float32*float32 сведется к тому, что каждый из float32 будет приведен в типу TBYTE (float80) и в этом виде они будут перемножены. Тогда как вас (или кого-то рядом с вами) возмутило до глубины души, что для получения 32-битного результата умножения двух int16 их требуется привести к типу int32. Тогда как тут ситуация один к одному.