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

User Tag List

Страница 3 из 14 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 140

Тема: Помогите новичку с ассемблером!

  1. #21
    Member Аватар для Ares
    Регистрация
    04.01.2011
    Адрес
    Москва
    Сообщений
    88
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vitamin, не совсем
    ZX Evolution REV.B
    ZX SPECTRUM 48k

  2. #22
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ares Посмотреть сообщение
    Vitamin, не совсем
    В начале программы пишешь код. Весь- инициализацию и основной цикл.
    Потом объявляешь все данные- текст, картинку.

  3. #23
    Member Аватар для Ares
    Регистрация
    04.01.2011
    Адрес
    Москва
    Сообщений
    88
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vitamin,так ? :
    ORG 60000
    LD A,6 ;подготовка экрана
    LD (23693),A
    XOR A
    CALL 8859
    CALL 3435
    LD A,2
    CALL 5633
    LD HL,TEXT ;адрес текстовой строки
    MAIN1 LD DE,PR_AT ;позиционирование курсора, черный
    LD BC,5 ; (совпадающий с фоном) цвет символов
    CALL 8252
    LD A,(HL) ;чтение очередного символа строки
    AND A
    JR Z,MAIN3 ;если 0, закончить вывод
    RST 16
    INC HL
    PUSH HL
    ; Восьмикратное (по ширине символов в пикселях) скроллирование строки влево
    LD B,8
    MAIN2 PUSH BC
    LD A,21
    CALL SCRLIN
    CALL PAUSE ;задержка для получения более
    ; плавного смещения строки
    POP BC
    DJNZ MAIN2
    POP HL
    JR MAIN1
    ; Скроллинг, пока вся строка не исчезнет за левым краем экрана (0 = 265 раз)
    MAIN3 LD B,0
    MAIN4 PUSH BC
    LD A,21
    CALL SCRLIN
    CALL PAUSE
    POP BC
    DJNZ MAIN4
    RET
    PAUSE LD BC,1
    JP 7997
    SCRLIN CALL 3742 ;получаем ее адрес в HL
    ; Так как строка должна бежать слева направо, то раньше нужно сдвигать
    ; последние байты, поэтому определяем адрес конца строки
    LD A,L
    OR 31
    LD L,A
    LD C,8 ;высота строки 8 пикселей
    SCRL1 LD B,32 ;длина строки 32 байта
    AND A ;очистка флага CY
    PUSH HL ;сохраняем адрес
    SCRL2 RL (HL) ;последовательно сдвигаем все байты
    DEC HL
    DJNZ SCRL2
    POP HL ;восстанавливаем адрес
    INC H ;переходим к следующему ряду пикселей
    DEC C ;повторяем
    JR NZ,SCRL1
    RET
    R_AT DEFB 22,21,31,16,0
    TEXT DEFM "Examine yourself how you know the assembler!"
    DEFB 0
    org 24576
    ld hl,picture
    ld de,16384
    ld bc,6912
    ldir
    ret
    picture:
    incbin "BIO-UFO"
    ZX Evolution REV.B
    ZX SPECTRUM 48k

  4. #24
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ares Посмотреть сообщение
    Vitamin,так ? :
    Контрольный вопрос: что делает директива ORG?

  5. #25
    Member Аватар для Ares
    Регистрация
    04.01.2011
    Адрес
    Москва
    Сообщений
    88
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vitamin, Она устанавливает начало адресов файла
    ZX Evolution REV.B
    ZX SPECTRUM 48k

  6. #26
    Guru Аватар для newart
    Регистрация
    19.01.2005
    Адрес
    Санкт-Петербург
    Сообщений
    11,441
    Спасибо Благодарностей отдано 
    192
    Спасибо Благодарностей получено 
    145
    Поблагодарили
    61 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ares,

    R_AT DEFB 22,21,31,16,0
    TEXT DEFM "Examine yourself how you know the assembler!"
    DEFB 0
    org 24576
    ld hl,picture
    ld de,16384
    ld bc,6912
    ldir
    ret
    picture:
    incbin "BIO-UFO"
    Замени на


    ld hl,picture
    ld de,16384
    ld bc,6912
    ldir
    ret

    R_AT DEFB 22,21,31,16,0
    TEXT DEFM "Examine yourself how you know the assembler!"
    DEFB 0

    picture:
    incbin "BIO-UFO"
    А ORG 60000 в начале замени 24576

  7. #27
    Member Аватар для Ares
    Регистрация
    04.01.2011
    Адрес
    Москва
    Сообщений
    88
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    newart,Спасибо !!!

    ---------- Post added at 18:02 ---------- Previous post was at 17:56 ----------

    Цитата Сообщение от newart Посмотреть сообщение
    Ares,



    Замени на



    А ORG 60000 в начале замени 24576
    Что то не получилось .Надо что бы картинка была и бежала строка

    ---------- Post added at 18:04 ---------- Previous post was at 18:02 ----------

    newart,Так ?:
    ORG 24576
    LD A,6 ;подготовка экрана
    LD (23693),A
    XOR A
    CALL 8859
    CALL 3435
    LD A,2
    CALL 5633
    LD HL,TEXT ;адрес текстовой строки
    MAIN1 LD DE,PR_AT ;позиционирование курсора, черный
    LD BC,5 ; (совпадающий с фоном) цвет символов
    CALL 8252
    LD A,(HL) ;чтение очередного символа строки
    AND A
    JR Z,MAIN3 ;если 0, закончить вывод
    RST 16
    INC HL
    PUSH HL
    ; Восьмикратное (по ширине символов в пикселях) скроллирование строки влево
    LD B,8
    MAIN2 PUSH BC
    LD A,21
    CALL SCRLIN
    CALL PAUSE ;задержка для получения более
    ; плавного смещения строки
    POP BC
    DJNZ MAIN2
    POP HL
    JR MAIN1
    ; Скроллинг, пока вся строка не исчезнет за левым краем экрана (0 = 265 раз)
    MAIN3 LD B,0
    MAIN4 PUSH BC
    LD A,21
    CALL SCRLIN
    CALL PAUSE
    POP BC
    DJNZ MAIN4
    RET
    PAUSE LD BC,1
    JP 7997
    SCRLIN CALL 3742 ;получаем ее адрес в HL
    ; Так как строка должна бежать слева направо, то раньше нужно сдвигать
    ; последние байты, поэтому определяем адрес конца строки
    LD A,L
    OR 31
    LD L,A
    LD C,8 ;высота строки 8 пикселей
    SCRL1 LD B,32 ;длина строки 32 байта
    AND A ;очистка флага CY
    PUSH HL ;сохраняем адрес
    SCRL2 RL (HL) ;последовательно сдвигаем все байты
    DEC HL
    DJNZ SCRL2
    POP HL ;восстанавливаем адрес
    INC H ;переходим к следующему ряду пикселей
    DEC C ;повторяем
    JR NZ,SCRL1
    RET
    d hl,picture
    ld de,16384
    ld bc,6912
    ldir
    ret
    R_AT DEFB 22,21,31,16,0
    TEXT DEFM "Examine yourself how you know the assembler!"
    DEFB 0
    picture:
    incbin "BIO-UFO"
    ZX Evolution REV.B
    ZX SPECTRUM 48k

  8. #28
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ares, представь себя процессором и сам попытайся выполнить свою программу

  9. #29
    Veteran Аватар для AER
    Регистрация
    18.11.2009
    Адрес
    пгт.Малиновка
    Сообщений
    1,355
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    1
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    13 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    алгоритм типа-

    org xxxxxx

    выводим картинку ldir-oм в адресс экрана

    программа бегущей строки

    конец проги ret

    картинка
    .incbin pic
    текст
    defb ......

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

    По умолчанию

    Цитата Сообщение от Ares Посмотреть сообщение
    R_AT DEFB 22,21,31,16,0
    Наверное должно быть PR_AT DEFB 22,21,31,16,0
    Цитата Сообщение от Ares Посмотреть сообщение
    d hl,picture
    Наверное должно быть OUT_P LD HL,picture
    а вначале CALL OUT_P

    ---------- Post added at 03:44 ---------- Previous post was at 03:43 ----------

    Цитата Сообщение от Ares Посмотреть сообщение
    ld hl,picture
    ld de,16384
    ld bc,6912
    ldir
    ret
    Либо без CALL, если вставить вывод рисунки в начало программы убрав RET. Вообщем AER все правильно объяснил
    Вложения Вложения
    Последний раз редактировалось GM BIT; 03.05.2012 в 04:55.

Страница 3 из 14 ПерваяПервая 1234567 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Помогите новичку
    от Миша в разделе Разный софт
    Ответов: 54
    Последнее: 23.06.2011, 09:08
  2. Помогите разобраться с ассемблером
    от casperzx в разделе Программирование
    Ответов: 7
    Последнее: 07.09.2010, 22:27
  3. CP/M помогите новичку!
    от scooby-do в разделе Оси
    Ответов: 13
    Последнее: 12.05.2007, 19:41
  4. Помогите новичку.
    от tmp_online в разделе Программирование
    Ответов: 6
    Последнее: 03.03.2007, 11:36
  5. Помогите новичку!!!
    от Mister в разделе Несортированное железо
    Ответов: 19
    Последнее: 23.01.2007, 04:14

Ваши права

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