Главная страница
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.5 MB
Время: 0.033 c
15-1142168818
DillerXX
2006-03-12 16:06
2006.04.02
Подскажите такую программу


3-1139407786
Wolferio
2006-02-08 17:09
2006.04.02
Коректировка полей и их значения


11-1123414583
EVILDeath
2005-08-07 15:36
2006.04.02
Опять proxies =(


15-1142105723
guest888
2006-03-11 22:35
2006.04.02
фрактальное сжатие изображений


2-1142764393
KLAUS
2006-03-19 13:33
2006.04.02
Криптование!