User Tag List

Страница 25 из 113 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 1128

Тема: ЭТЮДЫ

  1. #241

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от drbars Посмотреть сообщение
    Но в цилке это всё таки мне кажется быстрее, при свободном регистре конечно

    SUB C
    CCF
    ADC A,C

    где С=1, 12 тактов!
    Мне нужно писать комментарий про то, что будет с моим решением, если есть один (или два) свободных регистра?! ))))))))))))))))))))
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

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

  3. #242

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

    По умолчанию

    Цитата Сообщение от introspec Посмотреть сообщение
    Мне нужно писать комментарий про то, что будет с моим решением, если есть один (или два) свободных регистра?! ))))))))))))))))))))
    не, просто когда думал... сразу под один свободный регистр предполагал.
    Два регистра у меня в цикле — роскошь.

    ---
    upd. Чёрт!! один такт!!! introspec wins!
    Последний раз редактировалось drbars; 14.03.2014 в 22:06.

  4. #243

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А то ещё можно сделать такой инкремент одной командой ld l,(hl)

  5. #244

    Регистрация
    25.03.2013
    Адрес
    г. Лондон, Великобритания
    Сообщений
    948
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    А то ещё можно сделать такой инкремент одной командой ld l,(hl)
    РЖУНИМАГУ

    ---------- Post added at 19:33 ---------- Previous post was at 19:19 ----------

    Но вообще ты жулик! Потому что сначала нужно аккумулятор в l положить!
    "introspec" читается как "интроспек". некоторые читают как "интроспец", но я никакой не спец. я спек.

  6. #245

    Регистрация
    03.01.2006
    Адрес
    Рязань
    Сообщений
    2,935
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А у меня счётчик в L, а не в аккумуляторе

  7. #246

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

    По умолчанию

    А у меня совсем нет счетчика, во дела))

  8. #247

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

    По умолчанию

    Цитата Сообщение от introspec Посмотреть сообщение
    ADD 255
    ADC 1
    А если все равно, в какую сторону считать (в обратную), то еще быстрее будет:

    ADD A,255
    SBC A,255

    т.к. можно использовать один регистр, например:

    ADD A,C
    SBC A,C

  9. #248

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    раньше не сталкивался, но пригодилась и такая процедура:

    расчет адреса экрана по координатам знакомест
    Код:
    ; Get screen address
    ; D = Y character position
    ; E = X character position
    ; Returns address in DE
    ;
    Get_Char_Address:   LD A,D
                AND %00000111
                RRA
                RRA
                RRA
                RRA
                OR E
                LD E,A
                LD A,D
                AND %00011000
                OR %01000000
                LD D,A
                RET             ; Returns screen address in DE
    оттуда

  10. #249

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

    По умолчанию

    Помогите с оптимизацией построения вертикальной линии. То, что я надумал не устраивает по скорости
    Дело в том, что на входе желательно только иметь адрес и кол-во точек, и до начала построения основного экрана строится линия примерно из 350 точек, хочется выйти на 700

    Код:
    /// вход hl,adr, b - длина, а - сколько попадает на первое знакоместо (128-1 точка, 64-2точки ... 1-8точек)
    
    line	        ld hl,16384		;начало линии
    		ld b,85
    		ld a,1 									
    ///
    		
    sc0		set 2,(hl)		;рисуем в одном знакоместе
    		inc h			;
    		rlca			;
    		jr c,sc1		;
    		djnz sc0		;
    		ret		
    sc1		ex af,af		;переходим на знакоместо ниже
    		ld a,l
    		add a,32
    		ld l,a
    		jr c,sc3
    		ld a,h
    		sub 8
    		ld h,a
    sc3		ex af,af
    		djnz sc0
    		ret
    Последний раз редактировалось GM BIT; 31.03.2014 в 11:50.

  11. #250

    Регистрация
    12.02.2014
    Адрес
    г. Арзамас
    Сообщений
    6,123
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от GM BIT Посмотреть сообщение
    sc0 set 2,(hl) ;рисуем в одном знакоместе
    inc h ;
    rlca ;
    jr c,sc1 ;
    djnz sc0 ;
    по идее не помешало бы развернуть такой цикл.

    Цитата Сообщение от GM BIT Посмотреть сообщение
    sc1 ex af,af ;переходим на знакоместо ниже
    ld a,l
    add a,32
    ld l,a
    jr c,sc3
    ld a,h
    sub 8
    если позволит, то можно попробовать de=#0820, тогда
    add a,e;add a,32 - 7 тактов против 4х
    sub d;то же самое.

    или pop hl

Страница 25 из 113 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя

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

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

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

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

Ваши права

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