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

User Tag List

Страница 74 из 110 ПерваяПервая ... 707172737475767778 ... ПоследняяПоследняя
Показано с 731 по 740 из 1094

Тема: ЭТЮДЫ

  1. #731
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    навскидку, можно сделать колдунства:

    Код:
    			inc	d
    ;			dec	de ;удалили
    			ld	a, c
    ...
     dec de ;вставили
    			ld	(de), a
    ;			dec	de ;удалили
    -1 байт


    Код:
    ;			ld	a, b ;удалили
    .l1			; цикл по байтам в линии
    ;			push	af ;удалили
     push bc ;вставили
    
    ;...
    
    
    ;			pop	af ;удалили...
    ;			dec	a
    ;			jr	nz, .l1
    ;			pop	bc
    ;			push	bc
    ;			ex	de, hl
    ;			ld	c, b
    ;			ld	b, a
     pop bc ;вставили...
     djnz .l1
     pop af
     push af
     ld c,a
     ex de, hl
    -3 байта


    Код:
    			rlc	(hl)
    			rra
    ;			jr	c, .s1 ;удалили...
    ;			add	hl,bc
    ;			jr	.l0
    ;.s1
    ;			add	hl,bc
     ex af,af' ;вставили...
     add hl,bc
     ex af,af'
     jr nc,.l0
    -1 байт


    если захотелось слегка ускорить внутренний цикл, то можно так:

    Код:
    			ld	a, 0x80
     rlc (hl)
     rra
    .l0			; цикл по байтам
     add hl,bc
    			rlc	(hl)
    			rra
    ;			jr	c, .s1
    ;			add	hl,bc
    ;			jr	.l0
    ;.s1
    ;			add	hl,bc
     jr nc,.l0
     add hl,bc
    +1 байт


  2. #732
    Master
    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    43
    Поблагодарили
    32 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну первым делом нужно убрать двойной add hl,bc если уж кому то интересна битва за байты, мне совсем нет, основной посыл вертеть оберон.

  3. #733
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,158
    Записей в дневнике
    39
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    24 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    если экономить байты, то можно цикл выделить в процедуру.

  4. #734
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    что-то у меня мотивация пропадает что-то кому-то писать здесь в редкое свободное время

    быстро сходу было вырезано-сэкономлено аж 5 байт тремя блоками действий.

    в курсе как вырезать еще? - доведите до ума этюды для посетителей, будет всем полезно... понты к коду не пришьешь

  5. #735
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,158
    Записей в дневнике
    39
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    24 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Известная задача - преобразовать число 0-15 в код hex:

    Код:
    ;8 bytes
    	cp 9+1
    	jr c,no7
    	add a,7
    no7:
    	add a,"0"
    
    ;8 bytes
     and     0Fh
     add     a, 90h
     daa
     adc     a, 40h
     daa
    
    ;7 bytes
     and $0F
     cp 10
     sbc a,$69
     daa
    но разница все де есть, да?
    Последний раз редактировалось Shiny; 11.05.2018 в 11:17. Причина: ачипятка

  6. #736
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    вроде было уже где-то на форуме, а так, понятно, что коротко и приятно, давно ж юзается

    http://optotech.net.br/msx/v6z80/v6z...commands/d.asm
    Код:
    ; DIS-Z80 by John Kerr, published in the SUBSET column of Personal Computer World 1987.
    ...
    HEXOP  	AND $0F
           	CP 10
           	SBC A,$69
           	DAA

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

  8. #737
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,158
    Записей в дневнике
    39
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    24 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    вроде было уже где-то на форуме, а так, понятно, что коротко и приятно, давно ж юзаетс
    дам наводку: а где тут DAA?

  9. #738
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Шынни Посмотреть сообщение
    дам наводку: а где тут DAA?
    не понятен вопрос, DAA есть и там, и там

  10. #739
    Guru Аватар для Shiny
    Регистрация
    19.01.2017
    Адрес
    г. Арзамас
    Сообщений
    2,158
    Записей в дневнике
    39
    Спасибо Благодарностей отдано 
    3
    Спасибо Благодарностей получено 
    37
    Поблагодарили
    24 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    не понятен вопрос, DAA есть и там, и там
    sapienti sat

  11. #740
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    пока видно, что 1987 год списан из больших в маленькие буквы, и там и там 7 байт, дальше пошло зафлуживание

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

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

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

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

Похожие темы

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

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

Ваши права

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