2 / 2 / 1
Регистрация: 28.09.2012
Сообщений: 34
|
||||||
1 | ||||||
Сравнение двойных слов17.06.2013, 18:57. Показов 4170. Ответов 7
Метки нет (Все метки)
Здравствуйте, покажите пожалуйста пример сравнения двух двойных слов. Наверно глупый вопрос, но ни в Юрове, ни в Абеле не нашел + гугл тоже результатов не дал.
Пусть у нас есть:
0
|
17.06.2013, 18:57 | |
Ответы с готовыми решениями:
7
Изменить процедуру обработки массива двойных слов на обработку слов Сложение двойных слов Вывод двойных слов Разность двойных слов в ассемблере |
26 / 26 / 2
Регистрация: 18.08.2010
Сообщений: 186
|
||||||
17.06.2013, 23:15 | 2 | |||||
Имхо, достаточно сравнить только старшие слова: если одно больше, то и всё двойное слово больше. Если же равны - тогда сравнить нижние слова, и использовать результат этого сравнения.
Что-нибудь вроде:
2
|
2 / 2 / 1
Регистрация: 28.09.2012
Сообщений: 34
|
|
18.06.2013, 09:01 [ТС] | 3 |
спасибо
0
|
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
|
||||||
18.06.2013, 09:20 | 4 | |||||
777user777, Хотел для себя уточнить по поводу флага в данном алгоритме. Как то так повелось у меня (уж не знаю откуда) что флаги можно проверять непосредственно после команды сравнения cmp ( а так же add, sub и т.п не об этом сейчас речь) в Вашем же примере, в случае неравнества выполняется команда безусловного перехода. Вопрос в следующем: Можно ли продолжать верить флагам после двух команд jz и jmp. Т.е. на уровне железяк не совсем понятно мне сравнили мы (2) старшие половины (они допустим не равны) и через безусловный переход на метку Continue: при этом ещё не имея понятия какая из старших половин большая. т.е. мне (допустим) требуется второе сравнение для следующего ветвления? или установленные флаги так и тащатся ГАРАНТИРОВАНО через стопицот команд при условие что те сами не влияют на флаги.
Добавлено через 8 минут На Вашем примере, коменты капсом как бы укажут ход в конкретной ситуации
0
|
Ушел с форума
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
|
|
18.06.2013, 10:24 | 5 |
Полный 30h,
да, пока не появятся команды воздействующие на флаг CF (логические, арифметические) в метке Continue действует еще результат сравнения старших половин. Вообще-то, все спорные утверждения стоит проверять в дебаггере
1
|
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
|
|
18.06.2013, 10:42 | 6 |
Я не сильно представляю как дебаггер "смотрит" за процессором, но есть подозрение, что он непосредственно этот самый процессор использует. Поэтому степень достоверности его "показаний" беру под сомнение. К тому же у кого то из писателей книг по ассемблеру видел примеры как этот самый дебаггер, а может и не этот, обмануть. Там, если мне не изменяет память, какая то трабла через стек была. Вот после того примера у меня есть некоторое недоверие в плане 100% его возможностей.
0
|
608 / 406 / 8
Регистрация: 26.04.2012
Сообщений: 2,065
|
||||||
18.06.2013, 23:10 | 7 | |||||
ты про это?
0
|
Эксперт быдлокодинга
2091 / 525 / 69
Регистрация: 04.11.2010
Сообщений: 1,310
|
|
18.06.2013, 23:33 | 8 |
Этим собственно и балуюсь. Тем паче что пользую 64 бита, там для англофобов на сегодняшний день гроус аллес в полный рост с отладкой. Промежуточные результаты на каждом повороте, возвратами функций не брезгую опять же.
0
|
18.06.2013, 23:33 | |
18.06.2013, 23:33 | |
Помогаю со студенческими работами здесь
8
Сумма нечетных чисел массива двойных слов Среднее арифметическое элементов в массиве чисел (двойных слов) Умножение двух двойных слов (пример из книги Питера Абеля) [NASM] Определить размер первого участка памяти с нулевыми значениями двойных слов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |