![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]() Код:
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
#22 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
не заденет
спасибо |
![]() |
![]() |
![]() |
#23 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
точно не заденет, если loop эквивалент
dec jnz
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
#24 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
а если быть точнее то loop эквивалент
Код:
|
![]() |
![]() |
![]() |
#25 |
equ asm
Участник клуба
Регистрация: 02.05.2009
Сообщений: 1,605
|
![]()
Нет. Как сказал airyashov, loop эквивалентен
Код:
Какой вопрос - такой ответ. Не забываем пользоваться поиском, гуглом.
Помощь в выполнении работ по ассемблеру ICQ:2725322O4 Последний раз редактировалось Goodwin98; 30.10.2009 в 16:47. |
![]() |
![]() |
![]() |
#26 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
Приветствую еще раз=), в общем я не совсем правильно делал.
допустим такой пример 1, 0, 0xffffffff 1, 0, 1 после сложения(ADC) получается такой массив 2, 1, 0 дальше начинается сдвиг элементов с учетом переполнения ОТ ПРЕДЫДУЩЕГО элемента CF = 0 a[0] >> 1 CF = 2>>1 = 1, CF = 0 a[1] >> 1 CF = 1>>1 = 0, CF = 1 a[2] >> 1 CF = 0>>1 = 0 и бит из CF переходит в старший бит, т.е получается 0x80000000 итого получается 1 0 0x80000000 подскажите нормальный алгоритм... есть небольшая идея, но реализовать пока не получилось CF будет в 1 когда младший бит числа равен 1 Надо проверять младший бит если он равен 1 CF = 1 сдвигать это число затем переходить к следующему элементу и делать ИЛИ с 0x80000000 (установка в 1 старшего бита) либо просто устанавливать CF в единицу и на следующей итерации цикла сдвигать с RCR Последний раз редактировалось NiCola999; 11.11.2009 в 15:57. |
![]() |
![]() |
![]() |
#27 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
с какой это радости так получается должно быть 0x80000000
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
#28 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
да , я ошибся 0x80000000, алгоритм подскажи
лучше всего будет проверить младший бит btr eax,0 , в CF установится его значение потом на следующей итерации сдвиг делать с помощью rcr, вот как сделать второе Последний раз редактировалось NiCola999; 11.11.2009 в 16:17. |
![]() |
![]() |
![]() |
#29 |
Форумчанин
Регистрация: 02.04.2008
Сообщений: 358
|
![]()
rcr крутит биты через CF, так что младший сразу в CF после окажется
неплохо пишу на ассемблере для 80х86
icq: 3(один)7748666 mail: airyashov(а)inbox.ru |
![]() |
![]() |
![]() |
#30 |
Не
Участник клуба
Регистрация: 29.10.2009
Сообщений: 1,456
|
![]()
вот что у меня получилось...
в esi хранится указатель на массив суммы (2 1 0) Код:
1 80000000 0 почему он считает что CF=1 на втором элементе? после сдвига двойки поулчается 1 в CF не должно ничего попасть Последний раз редактировалось NiCola999; 11.11.2009 в 16:47. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
поменять большие буквы на маленькие и маленькие на большие в си++ | Барби | Помощь студентам | 4 | 08.04.2008 01:25 |
csv-файл большие числа | nevadimka | Microsoft Office Excel | 1 | 14.03.2008 10:25 |
Большие числа | Лубышев | Помощь студентам | 6 | 27.02.2008 22:57 |
Большие комплексные числа | xoz | Общие вопросы Delphi | 0 | 24.02.2008 03:12 |