User Tag List

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

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

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

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

    По умолчанию

    32-bit
    Код:
    ;=======================================================================
    ;   BC = SQRT(DEHL)
    ;-----------------------------------------------------------------------
    sqrt32:
    ;-----------------------------------------------------------------------
        mvi  a,30 + 2
        push psw  ; s+2
        lxi  b, 0 ; y
        push d    ; xh
        push h    ; xl
    ;-----------------------------------------------------------------------
    .loop:
        pop  h
        pop  d
        pop  psw
        sui  2  ; a=s
        rm
    ;-----------------------------------------------------------------------
        push psw
        push d
        push h
        mov  l,c
        mov  h,b
        dad  h
        mov  c,l
        mov  b,h ; BC=y=2*y
    ;-----------------------------------------------------------------------
        lxi  d,0
        dad  h
        inx  h   ; DEHL=b=2*y+1
    ;-----------------------------------------------------------------------
        inr  a
    .shift:
        dcr  a
        jz   .skip
        xchg
        dad  h
        jc   .loop
        xchg
        dad  h
        jnc  .shift
        inx  d
        jmp  .shift    
    .skip:        ; DEHL << A=s
    ;-----------------------------------------------------------------------
        push d
        push h
        lxi  h,4
        dad  sp
        xchg    ; DE --> X
        lxi  h,0
        dad  sp ; HL --> B
    ;-----------------------------------------------------------------------
        ldax d
        sub  m
        mov  m,a
        inx  h
        inx  d
        ldax d
        sbb  m
        mov  m,a
        inx  h
        inx  d
        ldax d
        sbb  m
        mov  m,a
        inx  h
        inx  d
        ldax d
        sbb  m
        mov  m,a
    ;-----------------------------------------------------------------------
        pop  h
        pop  d
        jc   .loop
    ;-----------------------------------------------------------------------
        xthl
        pop  h
        xchg
        xthl
        push d
        inx  b
        jmp  .loop    
    ;=======================================================================
    можно и посмотреть: SQRT32.rks.7z
    Последний раз редактировалось shoorick; 04.08.2016 в 17:51. Причина: DEHL != CONST

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

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

Эту тему просматривают: 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

Ваши права

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