User Tag List

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

Тема: ЭТЮДЫ

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

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

    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,821
    Спасибо Благодарностей отдано 
    273
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    95 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Шынни Посмотреть сообщение
    непонятно(
    Всё просто - вместо того чтоб делать CP D или SUB D - юзается не прямой делитель, а с обратным знаком.
    Классический алгоритм (без NEG):
    Код:
    	DUP 8
    		RLA
    		SUB D
    		JP NC,1F
    		ADD A,D
    1		RL H
    	EDUP
    Даст правильный ответ, но в инверсном виде, т.е. после всего надо ещё делать LD A,H:CPL:LD H,A (почему так - лучше разобратся как происходит двоичное деление)
    А если делитель инвертировать - то заменой SUB/ADD/JP - можно добится что флаг С сразу будет выставлятся "наоборот".
    На понимание этого и эксперименты я потратил пару дней (в свободные минуты на работе)
    Вообще изначально код из статьи был этот:
    Код:
    1.1 Пример_простейшей_процедуры_деления:
    
    НА ВХОДЕ : C = Делимое, В = Делитель
    НА ВЫХОДЕ: L = результат, A = остаток
    
      ;L=C/B:
    DIVIS   XOR A ;обнуление  текущего  остатка 
    DIVIS2  LD L,#01 ;счетчик (сдвиг 8 раз) 
    D1 RL C ;чтение текущего разряда 
     RLA ;накопитель разрядов 
     CP B ;какой результат текущего разряда 
     JR C,ZER ;переход,если текущий разряд=0 
     SUB B ;тек.разряд=1,снятие с накопителя 
     SLI L ;занесение разряда=1 
     JR NC,D1 ;переход,если счетчик не переполнился 
     RET ;выход 
     ZER SLA L ;занесение разряда=0  
     JR NC,D1 ;переход,если счетчик не переполнился 
     RET ;выход
    Последний раз редактировалось Destr; 09.02.2018 в 10:28.

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

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

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

Похожие темы

  1. Этюды: как бы написать поизящнее.
    от AndTorp в разделе Программирование
    Ответов: 5
    Последнее: 17.03.2008, 00:43
  2. Ответов: 0
    Последнее: 18.08.2006, 22:40
  3. Этюды: печать шрифтом 5x5...
    от breeze в разделе Программирование
    Ответов: 12
    Последнее: 27.03.2005, 05:21

Метки этой темы

Ваши права

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