Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.01.2011, 19:07   #1
ahz4et
 
Регистрация: 15.01.2011
Сообщений: 5
По умолчанию сумма двух байтовых массивов

Задание звучит так: разработать процедуру Big3Add(var M1,M2,М3,Carry;len:word), где M1,M2,М3 - очень длинные положительные числа (байтовые массивы длинной len). Операция М1 = М2 + М3. Carry = 1 если будет переполнение, 0 - если переполнения нет

кусок кода на Паскале:
Код:
      type
      bigvalue = array [1..64] of byte;
      x,y,a,b    : bigvalue;
      Procedure Big3Add(var p1,p2,p3,p4;p5:word);external;
и процедура на ассемблере:
Код:
_text segment word public 'text' use16
assume cs:_text
 
Big3Add proc far
public Big3Add
@m1 EQU [bp+14]
@m2 EQU [bp+12]
@m3 EQU [bp+10]
@Carry EQU [bp+8]
@len EQU [bp+6]
push bp
mov bp,sp
    mov cx,@len
    xor esi, esi
    xor edi, edi
    xor ebx, ebx
@loop:
    xor eax,eax
    mov eax,dword ptr @m1[esi]
    adc eax,dword ptr @m2[edi]
    mov dword ptr @m3[ebx],eax
    add esi, 4
    add edi, 4
    add ebx, 4
    loop @loop
pop bp
ret 10
Big3Add endp
_text ends
end
вроде должно работать, но не работает. Компилируется нормально, но не суммирует почему-то.
Посоветуйте что-нибудь
ahz4et вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Слияние двух массивов в Delphi sauron99 Помощь студентам 17 03.04.2016 09:37
Сложение двух массивов. ATAMAN200 Общие вопросы C/C++ 1 21.11.2010 21:19
Сортировка двух массивов Lodyr Общие вопросы C/C++ 8 18.11.2010 19:48
Сортировка двух массивов одновременно antoha73 Общие вопросы Delphi 12 04.01.2010 23:14
Выбрать из двух массивов совпадение. *Иван* Microsoft Office Excel 7 22.11.2007 21:10