Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.02;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
2-1142839231
Naganov
2006-03-20 10:20
2006.04.02
Про ComboBox


15-1141762238
parovoZZ
2006-03-07 23:10
2006.04.02
Подсчитать кол-во строк на MySQL.


15-1141938598
Ломброзо
2006-03-10 00:09
2006.04.02
Нездоровая тенденция


2-1142837401
Федя
2006-03-20 09:50
2006.04.02
Дата и время на оси Х в Сhart ?


15-1142107165
Джо
2006-03-11 22:59
2006.04.02
Убить MxArrays





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский