Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Работа с большими числами   Найти похожие ветки 

 
dubolom ©   (2006-03-28 20:48) [0]

Имеется задача: создать калькулятор для работы с большими числами (целыми). Предполагаемое решение: числа хранить в массивах байтов. Один байт - одна цифра. Реализация сложения таких чисел:

asm
mov cx,len; //len - разрядность числа
lea di,a;  //a,b - числа
lea si,b;
les bx,c; //c:=@a;
cc: mov al,es:[di];
adc dl,es:[si];
aaa;
mov es:[di],al;
inc di;
inc si;
loop cc;
adc es:[di],0;
end;
Но на строке mov al,es:[di] возникает исключение Access Violation, хотя адреса загружаются правильно. Почему оно возникает и как его обойти? Если нельзя, то существует ли решение этой задачи чисто на Delphi (без эмуляции вышеупомянутых ассемблерных команд)?


 
Pavia ©   (2006-03-28 23:00) [1]

Ты программируешь в 32 разрадном режиме. Поэтому тебе нужно заменить.
DI на EDI
SI на ESI
и др. А также лучше работать не с Byte, а с DWord.
И конечно это можно реализовать без используя ассемблерные вставок.


 
Rial   (2006-03-29 01:23) [2]

Вот здесь можно найти кое-что для твоих целей (+-*/ для целых чисел любой длины):
http://www.rial578.narod.ru/bigzahlen.pas


 
dubolom ©   (2006-03-29 06:13) [3]

Спасибо за ответы.



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.033 c
4-1138718557
Denin
2006-01-31 17:42
2006.04.16
Не могу переместить пользователя из одной группы в другую.


2-1143995705
Bruce
2006-04-02 20:35
2006.04.16
PChar утечка памяти


15-1143188080
Ламот
2006-03-24 11:14
2006.04.16
Прошу высказаться по поводу фрилансерства в целом и по поводу


15-1143092930
Der Nechk@ssoff
2006-03-23 08:48
2006.04.16
Привет Новосибирцам!


15-1143274248
zeff
2006-03-25 11:10
2006.04.16
как лучше сохранять иконку без потери в цвете