Re: две школьные задачки по информатике

"Sergey V. Spiridonov" <[email protected]> Sun, 18 Apr 2004 21:58:07 +0200
Newsgroups gmane.org.it-ru.germany.general
Message-ID <[email protected]>
Anatoli Klassen wrote:

> Sergey V. Spiridonov wrote:

>> Ну почему, не совсем лишена, могу представить как минимум одну ситуацию
>> где она может быть полезна - процессор без кэша с достаточно медленным
>> обращением к памяти, все регистры заняты полезными значениями и нужно
>> обменять значениями два регистра.
> 
> 
> А вот как раз и нет.
> Не скажу за все процесоры, возможно где-то есть совсем урезанные, но 
> если взять нормальный x86, то в нем MOV перемещает данные между 
> регистрами напрямую.

Ну и что?

> Т.е. стандартно (если данные в BX и CX):
> MOV AX,BX
> MOV BX,CX
> MOV CX,AX

А теперь представь, что у тебе нужно поменять AX и BX местами, при
этом все остальные регистры - заняты, то есть там какие-то важные
переменные. Делать обмен через память или стэк - медленно, а с xor -
в самый раз.

> Если ты будешь использовать XOR тебе все равно понадобится AX.

?? Разве я не могу сделать xor с BX? Я конечно давно x86 не
программировал, но если мне не изменяет мой склероз, xor-ить
там можно почти все комбинации регистров. Но это не так важно.
-- 
Best regards, Sergey Spiridonov