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

User Tag List

Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: Использование команд RLD и RRD

  1. #1
    Member
    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    194
    Благодарностей: 110
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Использование команд RLD и RRD

    Потихоньку осваиваю ассемблер. Просматриваю коды программ. Не могу найти примеры использования команд циклического переноса - RLD и RRD.
    Для каких целей их можно использовать?

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

  3. #2
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,057
    Благодарностей: 1437
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AndTorp Посмотреть сообщение
    Для каких целей их можно использовать?
    Для фаллометрических. Типа "а я знаю, как работают эти команды!"

  4. #3
    Master Аватар для GM BIT
    Регистрация
    27.11.2008
    Адрес
    Красноярск
    Сообщений
    747
    Благодарностей: 230
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AndTorp Посмотреть сообщение
    Для каких целей их можно использовать?
    RLD (HL) можно использовать для бегущих строчек со скоростью в 4 пиксела. А RLD в чистом виде 100% постом выше

  5. Этот пользователь поблагодарил GM BIT за это полезное сообщение:
    AndTorp (10.08.2009)

  6. #4
    CraZZZy CodEr Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    1,602
    Благодарностей: 777
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я вот сегодня пакер с использованием полубайтов сделал - в память они пихаются как раз через RLD.
    Все любят гипножабу

  7. Эти 3 пользователя(ей) поблагодарили SAM style за это полезное сообщение:
    AndTorp (10.08.2009), Aprisobal (11.06.2010), Vitamin (10.08.2009)

  8. #5
    Member
    Регистрация
    31.03.2005
    Адрес
    г. Рыльск
    Сообщений
    54
    Благодарностей: 4
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Эти команды используются для работы с двоично-десятичной арифметикой в упакованном формате. В этом виде байт содержит 2 десятичные цифры. Так вот, эти команды позволяют работать с цифрами отдельно. Это по прямому назначению. По прикладному - организация сдвига на 4 бита в битовом массиве.
    Вино пить - земля валяться, вода пить - орёл летать.

  9. Этот пользователь поблагодарил Paul_ls за это полезное сообщение:
    AndTorp (11.08.2009)

  10. #6
    Master
    Регистрация
    08.01.2007
    Адрес
    Красноярск
    Сообщений
    779
    Благодарностей: 2096
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Процедура печати 64-х символов в строке, с использованием RLD

    FONT EQU #6000;АДРЕС ШРИФТА НА 64 СИМВОЛА В СТРОКЕ

    ORG #8000

    LD HL,#4000;АДРЕС ЭКРАНА
    LD DE,TEXT;АДРЕС ТЕКСТА
    START LD A,(DE)
    INC DE
    OR A
    RET Z
    LD C,A
    LD A,(DE)
    INC DE
    PUSH AF
    PUSH HL
    PUSH DE
    LD E,A
    LD B,FONT/256
    LD D,B
    LD A,(BC)
    LD (HL),A
    LD A,(DE)
    RLD
    INC H
    INC D
    INC B
    LD A,B
    CP FONT/256+8
    JR NZ,$-11
    POP DE
    POP HL
    POP AF
    INC L
    OR A
    JR NZ,START
    RET

  11. Этот пользователь поблагодарил tiboh за это полезное сообщение:
    AndTorp (11.08.2009)

  12. #7
    Veteran Аватар для drbars
    Регистрация
    02.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,632
    Благодарностей: 699
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tiboh Посмотреть сообщение
    Процедура печати 64-х символов в строке, с использованием RLD
    имхо, только как пример хороша. по скорости не очень оптимально.

  13. #8
    Member Аватар для Faster
    Регистрация
    22.06.2005
    Адрес
    Ульяновск
    Сообщений
    161
    Благодарностей: 48
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Thumbs up

    Цитата Сообщение от AndTorp Посмотреть сообщение
    Потихоньку осваиваю ассемблер. Просматриваю коды программ. Не могу найти примеры использования команд циклического переноса - RLD и RRD.
    Для каких целей их можно использовать?
    Вставлю и я свои пять копеек. Вот быстрая и короткая процедура вычисления следующего трека (перепрыгивание на заданное количество секторов в диапазоне 0-240) с использованием RLD:

    Код:
    IN:	LD	DE,текущий_трек/сектор
    	LD	A,количество_перепрыгиваемых_секторов
    
    OUT:	DE = новые_трек/сектор
    
    	LD	HL,BUF
            ADD     A,E
    	LD	(HL),A
            AND     #F
            LD      E,A
    	RLD
    	ADD	A,D
            LD      D,A
            RET 
    
    BUF     DB	0
    По аналогии можно использовать RRD немного изменив алгоритм.
    Когда на твой вопрос отвечает философ, перестаешь понимать вопрос

  14. #9
    Guru Аватар для Slider
    Регистрация
    06.06.2006
    Адрес
    Украина, Черкассы
    Сообщений
    4,382
    Благодарностей: 3937
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Для фаллометрических


    ---------- Post added at 22:57 ---------- Previous post was at 22:53 ----------

    Цитата Сообщение от Faster Посмотреть сообщение
    Вот быстрая и короткая процедура
    Ну не в курсе, твоя, мож, и быстрая, но стандартная, имхо, короче. И диапазон пошире
    ld de,nnnn
    ld b,n
    m1 inc e
    ld a,e
    cp 16
    jr c,m2
    inc d
    ld e,0
    m2 djnz m1
    ret
    Ave ZX!
    -------------------------------------
    http://zxaaa.untergrund.net/intslider.html

  15. #10
    Member Аватар для Faster
    Регистрация
    22.06.2005
    Адрес
    Ульяновск
    Сообщений
    161
    Благодарностей: 48
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну не в курсе, твоя, мож, и быстрая, но стандартная, имхо, короче. И диапазон пошире
    Короче на 1 байт... Я ее писал для собственных нужд, меня вполне устраивает данный диапазон, к тому же я ее здесь привел чисто как пример использования RLD/RRD. п.с. Если уж речь зашла о ширине диапазона, то у меня в запасе есть процедура работающая с диапазоном в 65520 секторов..
    Когда на твой вопрос отвечает философ, перестаешь понимать вопрос

Страница 1 из 2 12 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Полный перечень команд ВГ93
    от spensor в разделе Программирование
    Ответов: 18
    Последнее: 23.03.2013, 16:09
  2. Использование музыки
    от GM BIT в разделе Музыка
    Ответов: 23
    Последнее: 21.06.2009, 11:27
  3. Ответов: 6
    Последнее: 08.02.2009, 11:00
  4. Использование mp3 на Спеке
    от Black_Cat в разделе Музыка
    Ответов: 43
    Последнее: 15.06.2008, 01:29
  5. Каких команд с IX не существует?
    от captain cobalt в разделе Программирование
    Ответов: 5
    Последнее: 21.08.2006, 18:58

Ваши права

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