Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как обменять данные между 2 регистрами? Помогите бедному студенту! 
V
    Опции темы
froggy82
Дата 25.9.2006, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 25.9.2006
Где: Архангельск

Репутация: нет
Всего: нет



Собственно вопрос:
Есть два регистра EAX и EBX
как обменять данные между ними не применяя команды push?
Заранее благадарю, очень важно, на носу контрольная. smile 
PM MAIL ICQ   Вверх
Sartorius
Дата 25.9.2006, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



XCHG EAX, EBX
PM MAIL ICQ   Вверх
froggy82
Дата 25.9.2006, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 25.9.2006
Где: Архангельск

Репутация: нет
Всего: нет



Цитата(Sartorius @ 25.9.2006,  17:48)
XCHG EAX, EBX

Нее в том то и дело, препод сказал использовать команды сложения и вычитания
PM MAIL ICQ   Вверх
Sartorius
Дата 25.9.2006, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Код

add ebx
sub ebx, eax
neg ebx
sub ebx

PM MAIL ICQ   Вверх
Akina
Дата 25.9.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Код

xor eax, ebx
xor ebx, eax
xor eax, ebx

МОжно вместо xor использовать sub 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Sartorius
Дата 25.9.2006, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1568
Регистрация: 18.7.2006
Где: Ivory tower

Репутация: нет
Всего: 37



Цитата(Akina @ 25.9.2006,  20:02)
Код

xor eax, ebx
xor ebx, eax
xor eax, ebx

МОжно вместо xor использовать sub

Код

;                                 [eax]                [ebx]
sub eax, ebx;             [eax - ebx]       [ebx]           
sub ebx, eax              [eax - ebx]       [2ebx - eax]
sub eax, ebx              [-3ebx]             [2ebx - eax]


че-то не получается sub-ами .... или я где - то ошибся?
PM MAIL ICQ   Вверх
Akina
Дата 25.9.2006, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



Sartorius, да, насчет sub я погорячился.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
froggy82
Дата 28.9.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 25.9.2006
Где: Архангельск

Репутация: нет
Всего: нет



А вот вопрос собственно такой пример пройдет,  используя переменную и mov?

mov i, EAX
mov EAX, EBX
mov EBX, i
PM MAIL ICQ   Вверх
PatriotRus
Дата 28.9.2006, 17:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 13.4.2006
Где: Москва

Репутация: нет
Всего: нет



froggy82, тема то пройдёт, но если надо обменяться между регистрами, зачем вообще нужна переменная?
PM MAIL ICQ   Вверх
froggy82
Дата 29.9.2006, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 25.9.2006
Где: Архангельск

Репутация: нет
Всего: нет



Цитата(PatriotRus @ 28.9.2006,  17:53)
froggy82, тема то пройдёт, но если надо обменяться между регистрами, зачем вообще нужна переменная?

По заданию нельзя использовать другие регистры а только команды mov или арифметические...
Завтра узнаю...
PM MAIL ICQ   Вверх
Akina
Дата 29.9.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 1
Всего: 454



froggy82, XOR можно? ну так используй, see above.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
PatriotRus
Дата 29.9.2006, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 13.4.2006
Где: Москва

Репутация: нет
Всего: нет



Посмотрел бы я на того, кто будет обмениваться между 2 регистрами при помощи арифметики!!!! smile  
PM MAIL ICQ   Вверх
froggy82
Дата 2.10.2006, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 25.9.2006
Где: Архангельск

Репутация: нет
Всего: нет



Цитата(PatriotRus @ 29.9.2006,  20:35)
Посмотрел бы я на того, кто будет обмениваться между 2 регистрами при помощи арифметики!!!! smile

А вот собственно и ответ:

add EBX, EAX            
sub EAX, EBX        
neg EAX        
sub EBX, EAX

использовали простейшие арифметические команды сложения, вычитания...
Спасибо за правильный путь Sartorius  smile 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm для начинающих"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm для начинающих | Следующая тема »


 




[ Время генерации скрипта: 0.0553 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.