Глупый вопрос, но запамятовал, а нагуглить не смог: как измерить количество тактов определённого куска кода в дебаггере UnrealSpeccy? В левом нижнем углу написано time delta. Что нужно сделать, чтобы там показывались такты нужного мне куска?
Глупый вопрос, но запамятовал, а нагуглить не смог: как измерить количество тактов определённого куска кода в дебаггере UnrealSpeccy? В левом нижнем углу написано time delta. Что нужно сделать, чтобы там показывались такты нужного мне куска?
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Profi v3.2 -=- Speccy2010,r2
Угу, ещё нашёл второй вариант - поставить PC в начало измеряемого куска, а курсор в конец - и нажать F4, что, в общем-то, то же самое.
Проблема возникает, когда в этом куске кода встречаются условные RET.
открываешь свой код в дебагере ZXMAK2, записываешь значение T, доводишь исполнение до нужной точки и записываешь второе значение T, вычитаешь из него первое и получаешь число тактов.
Количество тактов для иснтрукций отображается после точки с запятой рядом с самой инструкцией в окне с дизассемблированым кодом.
Кстати в unreal тайминги некоторых инструкций некорректные. Еще в unreal с таймингами прерываний была проблемка, насколько помню что-то связаное с halt'ом, но заметить это можно только при определенных условиях. Деталей уже не помню. Для пентагона такие неточности +-1 такт не так страшны, а вот на contended memory это привело бы к серьезным ошибкам.
Последний раз редактировалось ZXMAK; 10.09.2012 в 00:53.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Если процедура шибко большая и в один кадр не укладывается, то можно выставить перед замером какое-нибудь космическое число тактов в кадре, чтобы счетчик тактов не успевал сбрасываться на нуль.
zxart.ee - архив программ, графики и музыки ZX Spectrum.
в унреале достаточно перед тестируемой прогой запретить прерывания, нажать F8 на CALL в эту прогу и увидеть число тактов, сколько она сьела (и пофиг сколько там RET'ов).
что касается неправильных тактов - пруф в студию, очень интересно.
насколько помню одну из ошибок можно было поймать при выполнении HALT в одном из режимов прерываний (толи IM0 толи IM1) - после обработки прерывания счетчик тактов сбивается на 1 такт. Что касается инструкций, то это были какие-то префиксированные инструкции,помоемому FDCB, но точно не помню.
ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)