Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Сложение длинных чисел в ассемблерной вставке - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ По разбиению программы на файлы http://www.cyberforum.ru/cpp-beginners/thread594201.html
Хочу написать программу, так что бы отдельные функции был и записаны в различные файлы, как это реализовать? и что делать с глобальными переменными(собираюсь сделать динамический линейный список...
C++ Microsoft Visual studio господа вот хотел спросить бесплатная не демо версия visual studio свободно оаспростроняется , быть может какого нибудь лохматого года там 2000 или ещё какая нибудь. http://www.cyberforum.ru/cpp-beginners/thread594173.html
C++ конвертирование из строки в дату C++
Доброго времени суток форумчане, интересует вопрос, как преобразовать из строки во время. То есть как можно преобразовать "02.06.2012" в количество секунд с 1970 вроде. Просьба писать по теме...
C++ Дан символьный файл f. Добавить в его конец символы e,n,d (если это необходимо, использовать дополнительный файл g ).
всем привет помогите плиз я в си не силен)) пришлите код программы вот задача: Дан символьный файл f. Добавить в его конец символы e,n,d (если это необходимо, использовать дополнительный файл g ).
C++ Найти такую точку, сумма расстояний от которой до остальных минимальна http://www.cyberforum.ru/cpp-beginners/thread594097.html
Добрый всем день. Помогите мне решить данное задание , я плохо разбираюсь в этом языке программирования ,т.к. мягко говоря ,наш преподаватель - не компетентен. 1.найти такую точку заданного на...
C++ Двунаправленный динамический список задача :вводится предложение,оканчивающееся точкой. Требуется удалить второе вхождение элемента, который вводится с клавиатуры: #include <cstdlib> #include <iostream> using namespace std;... подробнее

Показать сообщение отдельно
Shandr_71
13 / 13 / 1
Регистрация: 05.12.2011
Сообщений: 84

Сложение длинных чисел в ассемблерной вставке - C++

02.06.2012, 15:51. Просмотров 704. Ответов 2
Метки (Все метки)

У меня есть класс:
C++
1
2
3
4
5
class Big_int
{
    UINT64* num;  //массив разрядов числа
    size_t s, cap;   //число элементов, максимальное число элементов
//....
Функция сложения (написана не до конца):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void add(const Big_int* bn)        
    {
        _asm
        {
                mov rcx, QWORD PTR [bn];
                mov rdx, rcx;
                mov rcx, [rcx+8];
                mov rbx, QWORD PTR this;
                mov rbx, QWORD PTR [rbx];
                clc;
            lo: mov rax, [rdx];
                adc [rbx], rax;
                add ebx, 8;
                add edx, 8;
                dec rcx;
                jnz lo;
        }  
    }
В rbx и rdx у меня храняться итераторы массивов num и bn->num соответственно. Ошибка в том, что эти регистры получают неправильный адрес. В чем косяк?
P.S. Intel C++ Composer XE 2011 в Visual Studio 2010.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru