возведение в квадрат и извлечение корня

Тема в разделе "WASM.BEGINNERS", создана пользователем odalex, 13 янв 2008.

  1. odalex

    odalex New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2007
    Сообщения:
    8
    алгоритм возведения в квадрат и на его основе извлечение корня

    1^2 = 1;
    2^2 = 1 + 3;
    3^2 = 1 + 3 + 5;
    4^2 = 1 + 3 + 5 + 7;
    5^2 = 1 + 3 + 5 + 7 + 9;

    моя реализация

    Код (Text):
    1. .model small
    2. .stack 100h
    3. .data
    4. result dd 0
    5. divres dd 0
    6. .code
    7. mov ax, @data
    8. mov ds, ax
    9. ; возводим в квадрат 65535
    10. mov cx, 65535
    11. powloop:
    12. mov ax, cx
    13. add ax, cx
    14. sub ax, 1
    15. add result, ax
    16. loop powloop
    17. ; берем корень
    18. mov cx, result
    19. dloop:
    20. mov ax, cx
    21. div 2
    22. add al, 1
    23. add divres, al
    24. loop dloop
    25. END
    ошибки компилятора

    помогите запустить в работу плиз
     
  2. halyavin

    halyavin New Member

    Публикаций:
    0
    Регистрация:
    13 май 2005
    Сообщения:
    252
    Адрес:
    Russia
    Вы объявили result как dword, а добавляете к нему 16-битный регистр ax. Если вам нужен 16-битный результат, то объявите его как word. Если вы хотите добавить к его младшим 16 битам ax пишите
    Код (Text):
    1. add word ptr result,ax