[an error occurred while processing this directive]
|
Да... Вопросов куча.
НЕТУ флагов (кроме SAT в CSR). И нигде они не расположены. В качестве "флагов" выступают те 5 регистров общего назначения. Устанавливать и сбрасывать их можно любыми командами и любыми модулями. Это-же просто регистр. Хоть загрузив из памяти, хоть какой арифметической операцией, хоть командой CMPxx "сравнить и записать результат сравнения (0 или 1) в регистр". Переноса тоже нет. Это пришлось бы в каждом юните по пачке флагов держать. Переполнения отрабатываются в зависимости от выполненной команды - например ADD ничего ни делает, а SADD ограничивает. SHL ничего не делает, а SSHL ограничивает. Если хоть в одном юните произошло ограничение - то установится флаг SAT в CSR, сбросить его можно только командой MVC.
Для плавучки есть регистры со всякими флагами FADCR FAUCR и FMCR - описаны в разделе "CPU data paths and control" раздел TMSxxxx Control register file.
E-mail: info@telesys.ru