Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.05.2010, 20:59   #1
Syn-McJ
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 11
По умолчанию Что лучше

Собсна, был мне задан вопрос на защиту лабораторной работы: что лучше для обнуления регистра, xor ax,ax или mov ax,0, и почему.
То, что xor лучше я и сам догадываюсь, но вот почему так и не нашёл. Если кто может, поделитесь пожалуйста информацией по этому вопросу.
Syn-McJ вне форума Ответить с цитированием
Старый 16.05.2010, 21:18   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

xor ax, ax занимает один байт и выполняется быстрее, инструкция mov ax,0 занимает три байта
rpy3uH вне форума Ответить с цитированием
Старый 16.05.2010, 21:48   #3
Syn-McJ
Пользователь
 
Регистрация: 14.05.2010
Сообщений: 11
По умолчанию

Благодарю, теперь есть от чего отталкиваться (и чем отбиваться).
Syn-McJ вне форума Ответить с цитированием
Старый 17.05.2010, 08:17   #4
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

вообще-то xor ax,ax занимает 2 байта, а не один, но выполняется все равно быстрее
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 18.05.2010, 02:27   #5
litrovith
Пользователь
 
Регистрация: 15.07.2008
Сообщений: 28
По умолчанию

db 66h,33h,0C0h ; xor ax, ax = 3
db 66h,0B8h,0h,0h ; mov ax, 0 = 4
litrovith вне форума Ответить с цитированием
Старый 18.05.2010, 09:10   #6
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

db 66h - это приставка в 32-х разрядном сегменте кода, указывающая, что операнды 16-разрядные. В 16-разрядном сегменте будет:
db 33h,0C0h ; xor ax, ax = 2
db 0B8h,0h,0h ; mov ax, 0 = 3
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прокси Что Лучше???? kasya Софт 11 03.05.2010 13:25
Медиаконверторы? Что лучше? triceratops Софт 9 04.03.2010 19:00
Что лучше? mager PHP 3 29.10.2008 15:40
Что лучше учить? Kosoy135 Свободное общение 8 30.09.2007 01:50
что же лучше??? Freedom БД в Delphi 21 06.12.2006 21:22