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

User Tag List

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

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

  1. #1
    Activist Аватар для AndTorp
    Регистрация
    03.03.2008
    Адрес
    Петербург
    Сообщений
    271
    Спасибо Благодарностей отдано 
    61
    Спасибо Благодарностей получено 
    20
    Поблагодарили
    14 сообщений
    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,255
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    82
    Поблагодарили
    35 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

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

  5. #4
    Guru Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    2,055
    Спасибо Благодарностей отдано 
    10
    Спасибо Благодарностей получено 
    218
    Поблагодарили
    92 сообщений
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

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

    По умолчанию

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

  7. #6
    Veteran
    Регистрация
    08.01.2007
    Адрес
    г. Красноярск
    Сообщений
    1,262
    Спасибо Благодарностей отдано 
    264
    Спасибо Благодарностей получено 
    1,404
    Поблагодарили
    277 сообщений
    Mentioned
    7 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

  8. #7
    Veteran
    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    1,979
    Спасибо Благодарностей отдано 
    69
    Спасибо Благодарностей получено 
    261
    Поблагодарили
    99 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  9. #8
    Member Аватар для Faster
    Регистрация
    22.06.2005
    Адрес
    Ульяновск
    Сообщений
    161
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    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 немного изменив алгоритм.
    Когда на твой вопрос отвечает философ, перестаешь понимать вопрос

  10. #9
    Guru Аватар для Slider
    Регистрация
    06.06.2006
    Адрес
    г. Черкассы, Украина
    Сообщений
    5,276
    Спасибо Благодарностей отдано 
    490
    Спасибо Благодарностей получено 
    1,241
    Поблагодарили
    323 сообщений
    Mentioned
    6 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!

  11. #10
    Member Аватар для Faster
    Регистрация
    22.06.2005
    Адрес
    Ульяновск
    Сообщений
    161
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    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, 12:27
  3. Использование битов 3 и 4 порта #FE
    от GriV в разделе Несортированное железо
    Ответов: 6
    Последнее: 08.02.2009, 10:00
  4. Использование mp3 на Спеке
    от Black_Cat в разделе Музыка
    Ответов: 43
    Последнее: 15.06.2008, 02:29
  5. Каких команд с IX не существует?
    от captain cobalt в разделе Программирование
    Ответов: 5
    Последнее: 21.08.2006, 19:58

Ваши права

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