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