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

User Tag List

Страница 6 из 110 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя
Показано с 51 по 60 из 1094

Тема: ЭТЮДЫ

  1. #51
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Dimasty Посмотреть сообщение
    вроде не очень уж и медленная
    Это не важно, просто нужна была таблица координат точек на окружности от 0 до 360
    Последний раз редактировалось GM BIT; 06.08.2011 в 08:39.

  2. #52
    goblinish
    Гость

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Это не важно, просто нужна была таблица координат точек на окружности от 0 до 360
    т.е. подходит?

    интересно было бы глянуть на твою процедуру.

  3. #53
    Activist Аватар для AndTorp
    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    272
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подскажите, пожалуста, вот такое можно организовать без использования перехода (JR $+):
    Код:
         ld   de, число1
         ld   hl, число2
         or   a
         sbc hl,de
         jr    nc,m1
         ld   de, число2
    m1
    Т.е. Если DE>HL, то DE=HL.

  4. #54
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,563
    Спасибо Благодарностей отдано 
    1,224
    Спасибо Благодарностей получено 
    1,766
    Поблагодарили
    685 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от AndTorp Посмотреть сообщение
    Подскажите, пожалуста, вот такое можно организовать без использования перехода (JR $+):
    Код:
         ld   de, число1
         ld   hl, число2
         or   a
         sbc hl,de
         jr    nc,m1
         ld   de, число2
    m1
    Т.е. Если DE>HL, то DE=HL.
    Будет проще, если ты скажешь зачем без перехода, и где это используется.

  5. #55
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код HTML:
    1: Можно оформить в виде подпрограммы. Тогда вызов CALL m1, и:
    m1   ld   de, число1
         ld   hl, число2
         or   a
         sbc hl,de
         ret nc
         ld   de, число2
         ret
    
    2: Или юзать самоизменяющийся код.
         ld   de, число1
         ld   hl, число2
         or   a
         sbc hl,de
         sbc a,a
         and #EB; (#EB = ex de,hl)
         ld (m1),a
         ld   hl, число2
    m1   nop
    
    3: Или такой изврат (вообще без привязки к адресу, но зато с предварительно рассчитанной разностью чисел 1 и 2)
         ld   de, число1
         ld   hl, число2
         or   a
         sbc hl,de
         sbc hl,hl
         ld a,l
         and МЛАДШИЙ разряд выражения (число2-число1)
         ld l,a
         ld a,h
         and СТАРШИЙ разряд выражения (число2-число1)
         ld h,a
         add hl,de
         ex de,hl
    Это только идеи на вскидку, вполне может я где-то и лажанулся, сильно не бить
    Последний раз редактировалось Destr; 06.09.2011 в 02:10.

  6. #56
    Activist Аватар для AndTorp
    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    272
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    15 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Будет проще, если ты скажешь зачем без перехода, и где это используется.
    Используется для ограничения некоторого параметра (числа 1 и 2 могут быть некратными 256). Без перехода потому, что интересна сама возможность написания такого без ветвления (в общем что-то типа алгоритмической головоломки).


    Цитата Сообщение от Destr Посмотреть сообщение
    Код:
    1: Можно оформить в виде подпрограммы. Тогда вызов CALL m1, и:
    m1   ld   de, число1
         ld   hl, число2
         or   a
         sbc hl,de
         ret nc
         ld   de, число2
         ret
    Спасибо. Там как раз подпрограмма. Если ничего не придумаю, буду делать как-то так.

  7. #57
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AndTorp Посмотреть сообщение
    Спасибо. Там как раз подпрограмма. Если ничего не придумаю, буду делать как-то так.
    Ну раз подпрограмма то наверное так и получится:
    На входе HL=число1, DE=число2

    or a
    sbc hl,de
    ret nc
    add hl,de
    ex de,hl
    ret
    Последний раз редактировалось Destr; 07.09.2011 в 03:26.

  8. #58
    Guru Аватар для AAA
    Регистрация
    06.04.2005
    Адрес
    Земля, Москва, Марьино
    Сообщений
    21,509
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    16 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если кто то из этюдников скодит красивый эффект, киньте мне его в почту для демы.

  9. #59
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,563
    Спасибо Благодарностей отдано 
    1,224
    Спасибо Благодарностей получено 
    1,766
    Поблагодарили
    685 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Ну раз подпрограмма то наверное так и получится:
    На входе HL=число1, DE=число2

    or a
    sbc hl,de
    ret nc
    adc hl,de
    ex de,hl
    ret
    Зачем adc hl,de?

  10. #60
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Titus Посмотреть сообщение
    Зачем adc hl,de?
    Ну чтоб напрямую число2 в DE не загружать, а восстановить его в HL и потом в DE запихать (ex de,hl)

Страница 6 из 110 ПерваяПервая ... 2345678910 ... ПоследняяПоследняя

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

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

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

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

Ваши права

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