User Tag List

Страница 26 из 30 ПерваяПервая ... 222324252627282930 ПоследняяПоследняя
Показано с 251 по 260 из 298

Тема: Библиотека нужных процедур для написания демо

  1. #251

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,867
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    311
    Поблагодарили
    235 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Помогите!!!!

    Имеем
    В HL - адрес в экране
    Нужно перейти на 3 знакоместа вниз и на 2 вправо

    Вот в атрибутах легко:
    LD DE,98
    ADD HL,DE

    А в экранных адресах не могу

    ---------- Post added at 09:23 ---------- Previous post was at 09:20 ----------

    Через треть не получается!
    Можно конечно перевести в атрибуты
    сделать:
    LD DE,98
    ADD HL,DE
    и обратно в экран
    Код:
      ld a,l
      add a,98
      ld l,a
      jr nc,l0
      ld a,h 
      add a,8
      ld h,a
    l0
    С уважением,
    Jerri / Red Triangle.

  2. #252

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

    По умолчанию

    Ещё вопрос, что-то я ассемблер вообще забыл, запарился с условиями

    в HL адрес в экране
    увеличиваю его командами:
    INC L
    INC L
    Как мне правую границу проверить? если вышла за предел экрана вернуть на начало строки
    Вообщем смысл: если L>правой границы то L=L-32

  3. #253

    Регистрация
    06.05.2006
    Адрес
    Ливны, Орловская обл
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    >если L>правой границы то L=L-32
    AND 00011111b ?

  4. #254

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Ещё вопрос, что-то я ассемблер вообще забыл, запарился с условиями

    в HL адрес в экране
    увеличиваю его командами:
    INC L
    INC L
    Как мне правую границу проверить? если вышла за предел экрана вернуть на начало строки
    Вообщем смысл: если L>правой границы то L=L-32
    Завивисит от задачи.
    Иначе в общем случае получится слишком топорно, типа:
    LD A,L
    AND C
    CP C (в C - 0x1F)
    JR Z, ...
    INC L

  5. #255

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

    По умолчанию

    Цитата Сообщение от NovaStorm Посмотреть сообщение
    >если L>правой границы то L=L-32
    AND 00011111b ?
    Это подходит для первой строки
    А если это вторая строка? и L=32 до 64?

    ---------- Post added at 15:49 ---------- Previous post was at 15:48 ----------

    Цитата Сообщение от Titus Посмотреть сообщение
    Завивисит от задачи.
    Иначе в общем случае получится слишком топорно, типа:
    LD A,L
    AND C
    CP C (в C - 0x1F)
    JR Z, ...
    INC L
    Не понимаю
    Последний раз редактировалось GM BIT; 18.12.2012 в 16:52.

  6. #256

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    Не понимаю
    LD A,L - a = L
    AND C - a = a AND 0x1F (оставляем только младшую часть 0..31)
    CP C (в C - 0x1F) (сравниваем, если младшая часть байта равна 31)
    JR Z, ... (то переходим туда, где можно отмотать к началу строки)
    INC L (иначе прибавляем L на единицу)

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

  8. #257

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

    По умолчанию

    забыл сказать: значения L у меня четные, и увеличиваются на 2

  9. #258

    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    14,403
    Спасибо Благодарностей отдано 
    1,703
    Спасибо Благодарностей получено 
    2,223
    Поблагодарили
    875 сообщений
    Mentioned
    69 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    забыл сказать: значения L у меня четные, и увеличиваются на 2
    Лучше привести смысловую часть алгоритма)

  10. #259

    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    2,081
    Спасибо Благодарностей отдано 
    88
    Спасибо Благодарностей получено 
    480
    Поблагодарили
    145 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я вот с оптимизацией условия мучаюсь

    Вот например:
    (H = 0) AND (L = 0) ТОГДА <переход> — это понятно

    Код:
    LD A,H
    OR L
    JP Z,переход
    А вот так:
    (H = 0) OR (L = 0) ТОГДА <переход>

    Код:
    	LD A,L
    	OR A
    	JP Z,переход
    	LD A,H
    	OR A
    	JP Z,переход
    А с одним переходом как?

  11. #260

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

    По умолчанию

    Допустим
    Код:
    coor   ld hl,16384
             inc l
             inc l
             ld a,l
             and 31
             ld l,a
             ld (coor+1),hl
             ld (hl),255
             jr coor
    Это только в верхней строке

    Вот так нужно, только для любой строки

Страница 26 из 30 ПерваяПервая ... 222324252627282930 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Графическая библиотека
    от alone в разделе Программирование
    Ответов: 81
    Последнее: 31.01.2016, 20:37
  2. Что нужно для написания игр ?
    от zx-kit в разделе Игры
    Ответов: 316
    Последнее: 25.02.2014, 22:25
  3. библиотека на форум
    от sevol в разделе Форум
    Ответов: 4
    Последнее: 26.06.2010, 09:06
  4. простой скрипт для написания хелпов
    от jim в разделе Программирование
    Ответов: 2
    Последнее: 09.04.2007, 14:33
  5. Ответов: 3
    Последнее: 08.02.2007, 19:38

Ваши права

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