Особенности команд для чисел с фиксированной запятой
По функциональному признаку все команды ЦСП можно разделить на 6 групп: пересылки данных, загрузки и хранения, арифметические, логические, команды перехода и сервисные команды. Мнемоники и описание этих команд для чисел с фиксированной запятой приведены в приложении, поэтому здесь достаточно обратить внимание лишь на особенности (если они есть) их применения.
1. Команды пересылки данных MVК и MVКН применяются для ввода исходных 16-разрядных данных (полуслов). Для ввода 32-разрядного числа (слова) следует использовать обе эти команды, причем в строго определенной последовательности. Сначала командой MVК ввести младшее полуслово, а затем командой MVКН – старшее полуслово, указав в поле операндов все слово.
2. Команды загрузки (LD) и хранения (ST) применяются для загрузки данных из внутренней памяти в РОН и наоборот, соответственно. Последняя буква в мнемонике команд указывает объем данных, участвующих в обмене: W – слово, H – полуслово и В – байт. В двух последних случаях и использовании команды LD старшие разряды регистра-приемника заполняются знаком (старшим разрядом полуслова или байта).
Поле операндов этих команд состоит из двух частей – адресной части и регистра-приемника или регистра-источника данных. Адресная часть поля операндов обозначается символом «*» и в командах LD начинает это поле, а в командах ST завершает его.
Команды загрузки/хранения поддерживают базирование и индексацию. Индексация указывается одним знаком операции содержимого регистра адреса и смещения, а базирование – двумя повторяющимися (дублем) знаками. Базирование сочетается с постдекрементом/предек-рементом и постинкрементом/преинкрементом. В случае предекремента или преинкремента дубль знака указывается перед именем регистра адреса, а в случае постдекремента или постинкремента – после имени регистра адреса.
3. Арифметические команды.
Результат вычисления абсолютной величины числа (команда ABS) представляется в дополнительном коде.
При выполнении команд умножения знаковые операнды перемножаются в прямом коде, а результат представляется в дополнительном коде.
4. Логические команды.
Если в команде сравнения используется 40-разрядный операнд, то в операции участвует только число, хранящееся в четном регистре пары.
При арифметическом сдвиге влево и логическом сдвиге освободившиеся разряды регистра-приемника заполняются нулями, а при арифметическом сдвиге вправо – знаком сдвигаемого числа.
5. Команда перехода может выполняться по метке (рис. 55) или по содержимому регистра. В любом случае в слотах задержки можно размещать другие команды. Поскольку команда требует на выполнение 5 слотов задержки, переход реализуется только в шестом такте. При этом во втором случае содержимое регистра переписывается в счетчик команд, определяя тем самым строку программы, на которую будет произведён переход. Последней командной строкой пакета выборки рис. 55 будет 3 (7) строка.
6. Выполнение сервисных команд вполне понятно из их описания.
Дата добавления: 2020-10-25; просмотров: 396;