· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.ASSEMBLER —› Необходимо оптимизировать

<< . 1 . 2 . 3 .

Посл.отвђт Сообщенiе


Дата: Сен 2, 2004 14:17:05

boozook
Лучше(короче)
mov flag,eax


Дата: Сен 2, 2004 15:27:41

Ну, если flag - переменная локальная, тогда одинаково получиться... если нет, и есть свободный регистр, то короче будет обращаться к ней по указателю.


Дата: Сен 2, 2004 21:36:31 · Поправил: leo

Asterix, boozook
Чего-то я не понял, чем отличаются по размеру and, mov и dec. По крайней мере, если вначале загрузить адрес flag:
mov edx, offset  flag
cmp eax,[edx]
jb @@label
...
@@label:
dec [edx] ;==and [edx],eax == mov [edx],eax
здесь любой из 3-х приведенных вариантов будет двухбайтным


Дата: Сен 2, 2004 22:15:31 · Поправил: boozook

leo
Просто, если не загружать адреса в edx, а использовать непосредственную адресацию, тогда mov будет 5 байт(т.к. один из операндов аккумулятор), а and и dec по 6...


Дата: Сен 2, 2004 22:19:35 · Поправил: boozook

В случае с косвенной адресацией этого приемущества уже нет, т.к. используется другой опкод для mov'а.

<< . 1 . 2 . 3 .


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.056