Главная страница
    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.043 c
15-1141625540
Knight
2006-03-06 09:12
2006.04.02
Девчонки!!! Всех с наступающим!!!


2-1142878277
Urvin
2006-03-20 21:11
2006.04.02
Определение версии ОС


1-1141126052
oleg__
2006-02-28 14:27
2006.04.02
Загрузка процессора приложением


2-1142502168
Sonnetrut
2006-03-16 12:42
2006.04.02
Привязка файла Excel


2-1142507523
integery
2006-03-16 14:12
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский