Главная страница
    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.064 c
15-1142145294
Kerk
2006-03-12 09:34
2006.04.02
Ребяты, устроим консилиум


15-1141829808
Dimedrol
2006-03-08 17:56
2006.04.02
На кухне вытяжка и 2 оголенных провода...


15-1142321117
Ламот
2006-03-14 10:25
2006.04.02
Оч-ч-чередная бредовая идея! Покритикуйте пож.! )))


2-1142609743
Fenix
2006-03-17 18:35
2006.04.02
Хранение доп информации.


15-1141988762
Petr V. Abramov
2006-03-10 14:06
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский