Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Вниз

AND, OR в ASMe   Найти похожие ветки 

 
Gydvin ©   (2006-03-20 06:43) [0]

Здравствуйте, как бы проще организовать подобный функционал на асме

if (([eax]=1)and([edi]=2)) or (([eax]=2)and([edi]=1)) then [eax]=10;
if (([eax]=5)and([edi]=3)) or (([eax]=3)and([edi]=5)) then [eax]=20;

а то я, я что-то вижу ТАКИЕ замуты, аж страшно, может можно проще сделать


 
balepa ©   (2006-03-20 07:06) [1]

На АСМЕ еще страшнее
насколько я знаю асм (т.е. хреновато) тока так
CMP -> JZ,JNZ,JMP и т.д и т.п.

> AND, OR

Это не сравнение


 
Gydvin ©   (2006-03-20 07:17) [2]

CMP -> JZ,JNZ,JMP и т.д и т.п.

Вот этого то я и боюсь, а мне таких IFоф нужно сделать штук 20-25

> AND, OR

Соответственно это "И" "ИЛИ"


 
balepa ©   (2006-03-20 07:38) [3]

AND, OR в асме побитовые операции они устанавливают биты а не сравнивают их


 
Gydvin ©   (2006-03-20 07:51) [4]

Да не сравниваю я ими ничего, я просто написал что я хочу получить. Это делфийские варианты. А вот

==========cut=============
============================
OR Логическое ВКЛЮЧАЮЩЕЕ ИЛИ
============================

Команда OR выполняет операцию логического (побитового)
сложения  двух  операндов.  Результат  замещает первый
операнд  (приемник);   второй  операнд  (источник)  не
изменяется.

==========cut=============
================
AND Логическое И
================

Команда AND осуществляет логическое (побитовое) умножение
первого операнда на второй.   Исходное  значение  первого
операнда  (приемника)  теряется,   замещаясь  результатом
умножения.


 
grisme ©   (2006-03-20 08:40) [5]


> Да не сравниваю я ими ничего, я просто написал что я хочу
> получить. Это делфийские варианты.

Шайтан,тебе хотели сказать, что эти дельфийские варианты совмещения условий придется делать через сравнения.)


 
Gydvin ©   (2006-03-20 08:55) [6]

Значит всетаки придется парится с "хитрым" ветвлением?


 
balepa ©   (2006-03-20 09:16) [7]

Да


 
Gydvin ©   (2006-03-20 09:30) [8]

Понятно, спасибо за ответы. Будем париться ;)))))


 
MBo ©   (2006-03-20 09:31) [9]

если в [0] реальные условия, т.е. числа простые, то можно перемножить регистры и сравнить результат с 2 и 15


 
Gydvin ©   (2006-03-20 10:31) [10]

MBo ©   (20.03.06 09:31) [9]
не пойдет((((, вот что получается

10 = 1 X 10
10 = 10 X 1
10 = 2 X 5
10 = 5 X 2

104 = 13 X 8
104 = 8 X 13
108 = 12 X 9
108 = 9 X 12
11 = 1 X 11
11 = 11 X 1
110 = 10 X 11
110 = 11 X 10
112 = 14 X 8
112 = 8 X 14
117 = 13 X 9
117 = 9 X 13
12 = 1 X 12
12 = 12 X 1
12 = 2 X 6
12 = 3 X 4
12 = 4 X 3
12 = 6 X 2

120 = 10 X 12
120 = 12 X 10
126 = 14 X 9
126 = 9 X 14
13 = 1 X 13
13 = 13 X 1
130 = 10 X 13
130 = 13 X 10
132 = 11 X 12
132 = 12 X 11
14 = 1 X 14
14 = 14 X 1
14 = 2 X 7
14 = 7 X 2

140 = 10 X 14
140 = 14 X 10
143 = 11 X 13
143 = 13 X 11
15 = 3 X 5
15 = 5 X 3
154 = 11 X 14
154 = 14 X 11
156 = 12 X 13
156 = 13 X 12
16 = 2 X 8
16 = 8 X 2
168 = 12 X 14
168 = 14 X 12
18 = 2 X 9
18 = 3 X 6
18 = 6 X 3
18 = 9 X 2

182 = 13 X 14
182 = 14 X 13
2 = 1 X 2
2 = 2 X 1
20 = 10 X 2
20 = 2 X 10
20 = 4 X 5
20 = 5 X 4

21 = 3 X 7
21 = 7 X 3
22 = 11 X 2
22 = 2 X 11
24 = 12 X 2
24 = 2 X 12
24 = 3 X 8
24 = 4 X 6
24 = 6 X 4
24 = 8 X 3

26 = 13 X 2
26 = 2 X 13
27 = 3 X 9
27 = 9 X 3
28 = 14 X 2
28 = 2 X 14
28 = 4 X 7
28 = 7 X 4

3 = 1 X 3
3 = 3 X 1
30 = 10 X 3
30 = 3 X 10
30 = 5 X 6
30 = 6 X 5

32 = 4 X 8
32 = 8 X 4
33 = 11 X 3
33 = 3 X 11
35 = 5 X 7
35 = 7 X 5
36 = 12 X 3
36 = 3 X 12
36 = 4 X 9
36 = 9 X 4

и т.д, мне же надо для каждой пары получить уникальное число


 
Gydvin ©   (2006-03-20 10:32) [11]

MBo ©   (20.03.06 09:31) [9]
не пойдет((((, у меня ряд чисел от 1 до 14 , вот что получается

10 = 1 X 10
10 = 10 X 1
10 = 2 X 5
10 = 5 X 2

104 = 13 X 8
104 = 8 X 13
108 = 12 X 9
108 = 9 X 12
11 = 1 X 11
11 = 11 X 1
110 = 10 X 11
110 = 11 X 10
112 = 14 X 8
112 = 8 X 14
117 = 13 X 9
117 = 9 X 13
12 = 1 X 12
12 = 12 X 1
12 = 2 X 6
12 = 3 X 4
12 = 4 X 3
12 = 6 X 2

120 = 10 X 12
120 = 12 X 10
126 = 14 X 9
126 = 9 X 14
13 = 1 X 13
13 = 13 X 1
130 = 10 X 13
130 = 13 X 10
132 = 11 X 12
132 = 12 X 11
14 = 1 X 14
14 = 14 X 1
14 = 2 X 7
14 = 7 X 2

140 = 10 X 14
140 = 14 X 10
143 = 11 X 13
143 = 13 X 11
15 = 3 X 5
15 = 5 X 3
154 = 11 X 14
154 = 14 X 11
156 = 12 X 13
156 = 13 X 12
16 = 2 X 8
16 = 8 X 2
168 = 12 X 14
168 = 14 X 12
18 = 2 X 9
18 = 3 X 6
18 = 6 X 3
18 = 9 X 2

182 = 13 X 14
182 = 14 X 13
2 = 1 X 2
2 = 2 X 1
20 = 10 X 2
20 = 2 X 10
20 = 4 X 5
20 = 5 X 4

21 = 3 X 7
21 = 7 X 3
22 = 11 X 2
22 = 2 X 11
24 = 12 X 2
24 = 2 X 12
24 = 3 X 8
24 = 4 X 6
24 = 6 X 4
24 = 8 X 3

26 = 13 X 2
26 = 2 X 13
27 = 3 X 9
27 = 9 X 3
28 = 14 X 2
28 = 2 X 14
28 = 4 X 7
28 = 7 X 4

3 = 1 X 3
3 = 3 X 1
30 = 10 X 3
30 = 3 X 10
30 = 5 X 6
30 = 6 X 5

32 = 4 X 8
32 = 8 X 4
33 = 11 X 3
33 = 3 X 11
35 = 5 X 7
35 = 7 X 5
36 = 12 X 3
36 = 3 X 12
36 = 4 X 9
36 = 9 X 4

и т.д, мне же надо для каждой пары получить уникальное число


 
Gydvin ©   (2006-03-20 10:37) [12]

Gydvin ©   (20.03.06 10:31) [10]
Ну надо же отправилась


 
wal ©   (2006-03-20 10:57) [13]


> не пойдет((((, у меня ряд чисел от 1 до 14 , вот что получается
Ну тогда полностью задачу давай.


 
Gydvin ©   (2006-03-20 11:07) [14]

Спасибо MBo ©, разрулил с твоей помощью :))))) . Я исключил те варианты,  которые в моей проге просто не могут быть, а цифры
3, 4, 5, 6, 7 поменял на 31, 41, 51, 61, 71 и все получилось, еще раз пасиб километр работы скостил



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.04.02;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.065 c
2-1142760476
DUDAS
2006-03-19 12:27
2006.04.02
TreeView с CheckBoxами


2-1142416011
KyRo
2006-03-15 12:46
2006.04.02
Функция задержки


6-1134724621
Puk
2005-12-16 12:17
2006.04.02
Передать данные POST-методом в окно IE


1-1141226867
tzarizm
2006-03-01 18:27
2006.04.02
Прием MMS с GSM-терминала или с любого сотового телефона


15-1141820647
постигаю
2006-03-08 15:24
2006.04.02
нужно сохранить





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский