[an error occurred while processing this directive]
Ответ: Спасибо за ответ, но вопрос был в другом.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Bill 30 января 2003 г. 13:23
В ответ на: Для Bill. Я ответил на ваш вопрос на предыдущей странице.(-) отправлено misyachniy 30 января 2003 г. 11:34

Изначально вопрос был о том, как сравнить два числа со знаком в процессоре X51. Дело в том, что данный процессор не имеет аппаратной поддержки обработки чисел со знаком. В нем нельзя выполнить операцию сравнения и условного прехода, как это сделано в AVR
cp r16, r17
brlt lab1

или в 386-ом
cmp al, bl
jlt lab1

У 51-го отсутствуют и флажки и соответствующие команды условного перехода по этим флажкам. Поэтому для корректного выполнения сравнения двух чисел со знаком у него потребуется выполнить несколько команд, вместо одной. Любой компилятор делает это корректно, и если делать то же самое на asm, то вряд ли можно написать проще.
А что касается RISC или CISC, то на мой взляд это здесь ни причем.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru