User Tag List

Страница 37 из 70 ПерваяПервая ... 333435363738394041 ... ПоследняяПоследняя
Показано с 361 по 370 из 699

Тема: SjASMPlus от z00m

  1. #361

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    все равно метки получаются плохо различимыми
    yes, doesn't look well.

    I would maybe try to use the CN ahead of instruction, and real labels on separate line ahead:
    Код:
    frq = $+1
    CN=CN+10 :   ld de,$0123
    BTW, the "=" (alias "DEFL") is more like variable, and allows redefinition of the value. If things like `frq` are used for self-modify code, I would suggest to use EQU instead, which creates "constant" (attempt to redefine it second time in source will emit error about different value assigned).

    With a bonus of the EQU maybe creating different visual feel in this case too:
    Код:
    frq EQU $+1
    CN=CN+10 :   ld de,$0123
    Or maybe use macro? But that will explode the listing file, but if you are not planning to use listing very often for this area of code, it may help with the source (you can disable listing for particular part of source, if you are using listing to check other areas).

    Код:
    countT  MACRO   cycles?
    CN=CN+(cycles?)
            ENDM
    
    CN=0
            ld      a,b         : countT 4
            and     $70         : countT 7
    frq=$+1 ld      de,$1234    : countT 10
            IF CN < 26
                .((26-CN+3)/4) nop
                countT (26-CN+3)&-4
            ENDIF

    Этот пользователь поблагодарил Ped7g за это полезное сообщение:

    NEO SPECTRUMAN(24.08.2020)

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

  3. #362

    Регистрация
    10.04.2005
    Адрес
    Сибирь
    Сообщений
    1,202
    Спасибо Благодарностей отдано 
    270
    Спасибо Благодарностей получено 
    396
    Поблагодарили
    171 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Grand's - сайт об электронно-вычислительной технике (зеркало)

  4. #363

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ped7g Посмотреть сообщение
    But that will explode the listing file
    а он и так у меня обычно не читаемый и весит мегабайтов 7

    например листинг NSID_Emu весит 15MB
    туда давно бесполезно заглядывать...


    - - - Добавлено - - -

    Цитата Сообщение от Ped7g Посмотреть сообщение
    Or maybe use macro?
    интересно
    возможно оно даже будет работать с adp

    а на каком pass-е уже будет результат?
    так как полученные цифры еще будут передаваться lua для расчета таблиц

    - - - Добавлено - - -

    Цитата Сообщение от Ped7g Посмотреть сообщение
    you can disable listing for particular part of source, if you are using listing to check other areas).
    а как это делать?

    - - - Добавлено - - -

    ну и на верно только мои исходники компилируются столько времени в sjasm
    Последний раз редактировалось NEO SPECTRUMAN; 24.08.2020 в 04:48.

  5. #364

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а на каком pass-е уже будет результат?
    так как полученные цифры еще будут передаваться lua для расчета таблиц
    Macros are like "includes", expanded upon instance in every pass (becoming part of source). Notice how inside my example macro "CN=CN+(cycles?)" -> the argument is in parentheses - that's because the macro arguments are substituted in C-preprocessor way, substituting the strings, doing the value evaluation as last step after all substitutions, so without parentheses the usage `countT (26-CN+3)&-4` does expand to `CN=CN+(26-CN+3)&-4` which will evaluate to different result as `CN=CN+((26-CN+3)&-4)`! So it's similar landmine field like C #defines ...

    But the value of symbol CN is updated in every pass, just as if you would do the CN=CN+4 at beginning of line (but it happens after instruction, because macro is expanded after instruction).

    ---------------

    listing disabling:
    http://z00m128.github.io/sjasmplus/d...on.html#po_opt
    Код:
        OPT push listoff    ; preserve current state of listing, and switch listing off
          ; some code without listing (only marked by "# listing disabled" and "# listing enabled" lines in listing)
          ...
        OPT pop              ; restore the listing to original state
    (the disabling/enabling of listing is announced in the listing file, so this shortens listing for blocks of code, for single line this will explode listing even more)

    the OPT state can be push/pop-ed, so you can even nest these in includes/etc... if the top level has listing enabled, and it will go through multiple nested blocks having this switch off, then the first will switch listing off, nested ones will make no visible change, and the final last `opt pop` will restore listing back to "on".

    Similarly if you are doing sjasmplus library to be included as source code, and you want customize the syntax, but you don't want to affect project which is including your source, you can do `OPT push reset --syntax=aBf` to have your source going by these rules, then `OPT pop` at end of your library to restore the syntax of original project...

    Sorry for spamming you with this info you didn't ask for, but I'm kinda proud of the OPT design... :P
    Последний раз редактировалось Ped7g; 24.08.2020 в 10:52.

  6. #365

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    так намного лучше

    Этот пользователь поблагодарил NEO SPECTRUMAN за это полезное сообщение:

    Ped7g(24.08.2020)

  7. #366

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Ped7g Посмотреть сообщение
    da, mozno. Tolko 8-bit ja dumaju?
    Да, 8 бит хорошо.

    Цитата Сообщение от Ped7g Посмотреть сообщение
    (my Russian is too limited to make full sentence ... heh, sorry)
    Your Russian is quite well written for the novice!
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  8. #367

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Bedazzle Посмотреть сообщение
    for the novice!
    может потому что Ped7g из Чехии
    что как бы тоже exUSSR

  9. #368

    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,966
    Спасибо Благодарностей отдано 
    1,074
    Спасибо Благодарностей получено 
    1,168
    Поблагодарили
    911 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А еще язык славянский.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  10. #369

    Регистрация
    22.05.2011
    Адрес
    г. Дзержинск, Украина
    Сообщений
    6,829
    Спасибо Благодарностей отдано 
    483
    Спасибо Благодарностей получено 
    663
    Поблагодарили
    513 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ped7g, а сейчас как то можно организовать синонимы для макросов?

    есть куча макросов которые для сохранения совместимости переименовать нельзя
    ну и делать копию тоже нельзя


    по смыслу должно работать так
    Код:
    	macro aabb123 || blahblahblah_aa_bb_123_NOW111 aaa 
    	defb aaa
    	...
    	100500 lines of code
    	...
    	endm
    или так
    Код:
    	macro aabb123 || blahblahblah_aa_bb_123_NOW111 aaa 
    	defb aaa
    	...
    	100500 lines of code
    	...
    	endm
    
    	macro blahblahblah_aa_bb_123_NOW111 aaa 
    	aabb123 aaa
    	endm
    с результатом
    Код:
    	aabb123 1
    
    	blahblahblah_aa_bb_123_NOW111 2
    
    	defb 1
    	...
    	100500 lines of code
    	...
    	defb 2
    	...
    	100500 lines of code
    	...
    при этом на всех PASS-ах
    синонимы должны вести себя так же как и оригинальный макрос

    define-ом наверно будет опасно пользоваться для такого
    хотя надо будет попробовать
    Последний раз редактировалось NEO SPECTRUMAN; 17.09.2020 в 10:35.

  11. #370

    Регистрация
    10.05.2019
    Адрес
    Prague, Czech Republic
    Сообщений
    229
    Спасибо Благодарностей отдано 
    51
    Спасибо Благодарностей получено 
    103
    Поблагодарили
    77 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    So you want the same macro, but with the two different names?

    The second way should work quite ok?
    Код:
    	macro aabb123 aaa ; "main" version 
    	defb aaa
    	...
    	100500 lines of code
    	...
    	endm
    
    	macro blahblahblah_aa_bb_123_NOW111 aaa ; "alias" version 
    	aabb123 aaa ; call the "main" version of macro
    	endm
    
    	; usage
    	aabb123 1
    	blahblahblah_aa_bb_123_NOW111 2
    Is this broken for you?

    DEFINE is of course another option, but that works best with distinct names, like `DEFINE blahblahblah_aa_bb_123_NOW111 aabb123` .. seems unlikely you will have collision with such long string like "blahblahblah_aa_bb_123_NOW111" (although may happen, if you have "blahblahblah_aa_bb_123_NOW111_2" -> "aabb123_2" will be substituted.

Страница 37 из 70 ПерваяПервая ... 333435363738394041 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. SjASMPlus Z80 кросс ассемблер
    от Aprisobal в разделе Программирование
    Ответов: 1663
    Последнее: 19.06.2021, 01:36
  2. Исходники TR-DOS для SjASMPlus
    от Keeper в разделе Программирование
    Ответов: 20
    Последнее: 11.02.2011, 11:57
  3. Запуск STS из .sna, сгенерированного sjasmplus.
    от siril в разделе Программирование
    Ответов: 7
    Последнее: 11.10.2010, 21:33
  4. Breakpoints в связке Sjasmplus+UnrealSpeccy
    от Kurles в разделе Программирование
    Ответов: 19
    Последнее: 26.01.2009, 12:36
  5. Disturbed COverMAnia ( music disk with z00m music collection)
    от kyv в разделе Музыка
    Ответов: 10
    Последнее: 27.03.2008, 10:01

Ваши права

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