Важная информация

User Tag List

Показано с 1 по 10 из 32

Тема: Квадратный корень на i8080

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Member
    Регистрация
    02.07.2010
    Адрес
    Запорожье
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Квадратный корень на i8080

    Итерации по Ньютону. Может, кому пригодится

    Код:
    ;-----------------------------------------------------------------------
    ;   HL = SQRT(HL)
    ;-----------------------------------------------------------------------
    sqrt:
    ;-----------------------------------------------------------------------
        mov  a,h
        ana  l
        inr  a
        jz   .FFFF
    ;-----------------------------------------------------------------------
        xchg
    .loop:
        mov  b,h
        mov  c,l
        push d
        push b
        lxi  h,0
        call gg_d32a
        pop  h
        push h
        dad  d
        mov  a,h
        rar
        mov  h,a
        mov  a,l
        rar
        mov  l,a
    ;-----------------------------------------------------------------------
        pop  b
        pop  d
        mov  a,b
        cmp  h
        jnz  .loop
        mov  a,l
        cmp  c
        jnz  .loop
    ;-----------------------------------------------------------------------
        ret 
    ;-----------------------------------------------------------------------
    .FFFF:
        mov h,a
        ret      
    ;-----------------------------------------------------------------------
    Использует подпрограмму деления Д32А из книжки Гуртовцева и Гудыменко

    Скрытый текст


    Код:
    ;-----------------------------------------------------------------------
    ;   HLDE / BC = DE (HL)
    ;   CY=0 -> result overflow
    ;-----------------------------------------------------------------------
    proc gg_d32a ; Д32А
    ;-----------------------------------------------------------------------
        mov  a,l
        sub  c
        mov  a,h
        sbb  b
        rnc
        call negb
        xra  a
    .loop:
        dad  h
        rar
        xchg
        dad  h
        xchg
        jnc  .m1
        inx  h
    .m1:
        push h
        dad  b
        jnc  .m2
        ral
    .m3:
        inx  d
        inx  sp
        inx  sp
        adi  16
        jnc  .loop
    ;    stc
        ret
    .m2:
        ral
        jc   .m3
        pop  h
        adi  16
        jnc  .loop
    ;    stc
        ret 
    ;-----------------------------------------------------------------------
    endp    
    ;-----------------------------------------------------------------------
    proc negb
        mov  a,b
        cma
        mov  b,a
        mov  a,c
        cma
        mov  c,a
        inx  b
        ret
    endp    
    ;-----------------------------------------------------------------------
    [свернуть]

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. PMI-80 - одноплатник на i8080
    от rw6hrm в разделе Разное
    Ответов: 72
    Последнее: 02.09.2022, 12:27
  2. Совместимость Z80 и i8080 (580ВМ80)
    от Dmitry Dubrovenko в разделе Для начинающих
    Ответов: 50
    Последнее: 08.05.2016, 09:54
  3. Код эмуляции i8080 на С
    от medvdv в разделе Эмуляторы отечественных компьютеров
    Ответов: 15
    Последнее: 27.03.2015, 03:43
  4. Квадратный корень
    от Destr в разделе Программирование
    Ответов: 29
    Последнее: 25.03.2012, 11:14
  5. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 11:43

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •