User Tag List

Показано с 1 по 10 из 1664

Тема: SjASMPlus Z80 кросс ассемблер

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

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

    По умолчанию

    Можно ли в сабже провернуть следующее? (Пример из ALASM - \0 тут первый параметр макроса.)
    Если да, то как?

    MACRO GETREALFRQ
    CALL chn\0volumer ;не портит DE
    chn\0frq=$+1
    LD HL,0
    chn\0glisson=$
    CALL chn\0glisser ;не портит DE
    LD A,H ;HL=frq
    SUB E;_tmin+(_wmin*_div) ;минимальный период
    JNC $+3
    XOR A
    ADD A,E;_tmin+(_wmin*_div)
    LD (bch\0t),A ;realfrq
    SUB _tmin ;CY=0
    RRA
    SRL A
    LD C,A
    LD A,(chn\0volH)
    CP C
    JC $+4
    LD A,C
    DEC A
    SUB D;1
    ADC A,D;1
    LD (bch\0w1),A
    ;imp0=realfrq/div-imp1
    SUB C
    NEG
    LD (bch\0w0),A
    ENDM
    Последний раз редактировалось alone; 17.07.2009 в 19:07.

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

  3. #2

    Регистрация
    17.01.2005
    Адрес
    Belarus, Minsk
    Сообщений
    402
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Можно ли в сабже провернуть следующее? (Пример из ALASM - \0 тут первый параметр макроса.)
    Если да, то как?

    MACRO GETREALFRQ
    CALL chn\0volumer ;не портит DE
    chn\0frq=$+1
    LD HL,0
    chn\0glisson=$
    CALL chn\0glisser ;не портит DE
    LD A,H ;HL=frq
    SUB E;_tmin+(_wmin*_div) ;минимальный период
    JNC $+3
    XOR A
    ADD A,E;_tmin+(_wmin*_div)
    LD (bch\0t),A ;realfrq
    SUB _tmin ;CY=0
    RRA
    SRL A
    LD C,A
    LD A,(chn\0volH)
    CP C
    JC $+4
    LD A,C
    DEC A
    SUB D;1
    ADC A,D;1
    LD (bch\0w1),A
    ;imp0=realfrq/div-imp1
    SUB C
    NEG
    LD (bch\0w0),A
    ENDM
    С помощью макросов - нет. С помощью скрипта на LUA - да.
    ATW4GS / BIN2SNA / SquareMania <ТИ-3> / Ужасм+
    ATM-Turbo 512 v4.50, Commodore 64G + TAC-2, Retro-Bit Super Retro TRIO

  4. #3

    Регистрация
    19.08.2008
    Адрес
    Украина, Львов
    Сообщений
    116
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от alone Посмотреть сообщение
    Можно ли в сабже провернуть следующее? (Пример из ALASM - \0 тут первый параметр макроса.)
    Если да, то как?

    MACRO GETREALFRQ
    CALL chn\0volumer ;не портит DE
    chn\0frq=$+1
    LD HL,0
    chn\0glisson=$
    CALL chn\0glisser ;не портит DE
    LD A,H ;HL=frq
    SUB E;_tmin+(_wmin*_div) ;минимальный период
    JNC $+3
    XOR A
    ADD A,E;_tmin+(_wmin*_div)
    LD (bch\0t),A ;realfrq
    SUB _tmin ;CY=0
    RRA
    SRL A
    LD C,A
    LD A,(chn\0volH)
    CP C
    JC $+4
    LD A,C
    DEC A
    SUB D;1
    ADC A,D;1
    LD (bch\0w1),A
    ;imp0=realfrq/div-imp1
    SUB C
    NEG
    LD (bch\0w0),A
    ENDM
    можно. Если переделать в такое:
    Код:
    	macro GETREALFRQ param
    	CALL param_volumer ;не портит DE
    param_frq=$+1
    	LD HL,0
    param_glisson=$
    	CALL param_glisser ;не портит DE
    	LD A,H ;HL=frq
    	SUB E;_tmin+(_wmin*_div) ;минимальный период
    	JNC $+3
    	XOR A
    	ADD A,E;_tmin+(_wmin*_div)
    	LD (param_t),A ;realfrq
    	SUB _tmin ;CY=0
    	RRA
    	SRL A
    	LD C,A
    	LD A,(param_volH)
    	CP C
    	JC $+4
    	LD A,C
    	DEC A
    	SUB D;1
    	ADC A,D;1
    	LD (param_w1),A
    	;imp0=realfrq/div-imp1
    	SUB C
    	NEG
    	LD (param_w0),A
    	endm
    вопрос встал тут:
    http://zx.pk.ru/showpost.php?p=157080&postcount=260
    добавлено в официальную версию тут:
    http://zx.pk.ru/showpost.php?p=163066&postcount=283
    имплементация где-то между этими двумя постами.

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

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

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

Похожие темы

  1. Кросс-ассемблеры Z80 для Pc
    от Aprisobal в разделе Программирование
    Ответов: 16
    Последнее: 15.01.2011, 22:46
  2. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03
  3. Хороший ПЦшный ассемблер - залог успеха!
    от Aprisobal в разделе Программирование
    Ответов: 35
    Последнее: 08.08.2005, 15:25
  4. ZX ассемблер (и не только?) с библиотеками
    от shade в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2005, 19:43

Ваши права

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