Re: Помогите с циклическими сдвигами
От: Socrat Россия  
Дата: 20.10.03 09:11
Оценка:
Здравствуйте, artgonch, Вы писали:

A>Есть такой код:


A>
A>PROC IsBitsEqual NEAR
A>     mov [Result],0

A>     rcl ax,1
A>     jc @@AX_CARRY
     
A>     rcl dx,1

A>     jc @@EXIT
A>     mov [Result],1
A>     jmp @@EXIT
     
A>@@AX_CARRY:
A>     rcl dx,1
A>     jnc @@EXIT
A>     mov [Result],1
A>@@EXIT:
A>     ret
A>ENDP IsBitsEqual

A>

A>Но при сдвигах во флаг переноса всегда записывается нуль, хотя я подбирал такие числа в DX и в AX, что так есть скраю и в центре единицы. В чем я неправ?

Насколько я понял, здесь сравниваются старшие биты двух слов. (Я бы сделал через исключающее или, после чего сравнил с нулем.)
Нельзя ли поподробней, какие данные были на входе, и что получалось в результате?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.