User Tag List

Страница 25 из 70 ПерваяПервая ... 212223242526272829 ... ПоследняяПоследняя
Показано с 241 по 250 из 699

Тема: SjASMPlus от z00m

  1. #241

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

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    вот такайя строка
    Код:
    cad82   defb    'Input machine\'s name', 0
    компилицца во всех приличных версиях sjasmplus без ошибок. Кроме этой ветки.
    Что теперь не так в этой версии и что делать? (с)
    v1.11.0 change, the docs claimed the apostrophe strings are not parsed for escape chars, so I fixed the assembler.. and added the double apostrophe as extra escape sequence: http://z00m128.github.io/sjasmplus/d...html#s_numeric (a bit down, Example 4.1)

    Sorry for the inconvenience. (in the distant future, in v2.x version - if it ever happens - I plan to align the assembler even more with C++, bringing back the backslash escaping of single apostrophe, but I'm not planning to modify this further for v1.x versions)

    But in this case you can just use double quotes (this should be compatible with all different variants of sjasmplus):
    Код:
    cad82   defb    "Input machine's name", 0

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

    zebest(15.03.2020)

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

  3. #242

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

    По умолчанию

    Ped7g, кстати
    в вашей версии sjasm-а не получается сохранить лог командной строки

    не таким образом
    sjasmplus.exe code.asm >log.txt & type log.txt

    не таким
    sjasmplus.exe code.asm >log.txt

    не таким
    sjasmplus.exe code.asm >>log.txt

    в итоге log.txt
    0 байт


    в других ветках sjasm-а это работает
    Последний раз редактировалось NEO SPECTRUMAN; 19.03.2020 в 20:42.

  4. #243

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

    По умолчанию

    it's modified to follow common compilers, output is STDOUT (you can assemble with machine code going to STDOUT), and errors/info is going to STDERR.

    So to redirect the errors into log file use "sjasmplus file.asm 2> log.txt" (at least in linux/bash, not sure if this works in windows and in which shell, google how to capture STDERR in your shell, if the "2>" doesn't work).

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

    NEO SPECTRUMAN(19.03.2020)

  5. #244

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

    По умолчанию

    вроде работает

    и в таком виде тоже
    2> log.txt & type log.txt (чтобы одновременно видеть и выводит результат в log.txt)


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

    тем временем я дописал новую версию
    своего набора макросов для компилияции chip8 кода в sjasm-е
    удалось реализовать практически все команды
    (раньше были только 8080 подобные команды)

    https://zx-pk.ru/threads/27501-chip8...=1#post1052202
    Последний раз редактировалось NEO SPECTRUMAN; 19.03.2020 в 20:42.

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

    Ped7g(20.03.2020)

  6. #245

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

    По умолчанию

    по моему такая конструкция не работает
    Код:
    aaa = "ABCD"
       defb aaa ; = defb "D"

    хотя ожидается что будет так
    Код:
          defb aaa ; = defb "A","B","C","D"

    просмотрел инструкцию
    ничего подходящего не нашел

  7. #246

    Регистрация
    21.08.2009
    Адрес
    Cyprus
    Сообщений
    236
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Код:
    define aaa "ABCD"

    Эти 2 пользователя(ей) поблагодарили mastermind за это полезное сообщение:

    NEO SPECTRUMAN(05.04.2020), Ped7g(06.04.2020)

  8. #247

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

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    Код:
    define aaa "ABCD"
    а я будто такое уже не пробовал
    ошибок сыпется куча

    хотя щас еще попробую


    сделать строку на lua в моем случае не получиться

  9. #248

    Регистрация
    21.08.2009
    Адрес
    Cyprus
    Сообщений
    236
    Спасибо Благодарностей отдано 
    91
    Спасибо Благодарностей получено 
    24
    Поблагодарили
    20 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    а я будто такое уже не пробовал
    Так в чем проблема?
    .lst:
    Код:
    1   0000               define aaa "ABCD"
    2   0000 41 42 43 44   defb aaa
    3   0004

  10. #249

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

    По умолчанию

    Цитата Сообщение от mastermind Посмотреть сообщение
    Так в чем проблема?
    .lst:
    ХЗ непонятно
    именно на выбранное имя не работало о_О
    хотя оно НИГДЕ не используется и было выделено только для строки

    добавил _1 сзади и получилось о_О

    щас буду копать

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

    Глючит такая конструкция

    Код:
    	define aaa "ABC DE"
    
    label_aaa
    
    	defb aaa

    Код:
    bug.asm(11): error: Invalid labelname: label_"ABC
    bug.asm(11): error: Unrecognized instruction: DE"
    11    0000              label_"ABC DE"
    12    0000
    13    0000 41 42 43 20  	defb "ABC DE"
    13    0004 44 45
    но в упор не могу искуственно повторить
    чтоб "ABC DE" компилировалось как "E"


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

  11. #250

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

    По умолчанию

    The `aaa = "abcd"` line defines new symbol (label), i.e. 32 bit integer. The assembler will use the value when it does parse any expression using "aaa" symbol.

    the `DEFINE aaa "abcd"` works more like C preprocessor, it will replace almost all aaa in source with "abcd" *before* the line is parsed by assembler.

    Now because sjasmplus is what it is, it's a bit more tricky... the "define" `aaa` is replaced only as stand-alone word, or when it is part of longer word separated by underscores, so:
    `my_other_aaa_label: db 1234` will become `my_other_"abcd"_label: db 1234` and the assembling will fail.
    `myaaa: db 1` will be not replaced.

    So if you are using DEFINE, make sure you use really distinct name, which can't collide by accident with anything else, you can also prepend it with "_" underscore to prevent inside-word substitutions.

    It usually helps to check listing file to see how the line was substituted (I think it's sometimes visible in listing).

    ----
    In your new code example you can avoid partial substitution like this:

    Код:
        define _aaa "ABC DE"
    label__aaa
    	defb _aaa
    or use different name for label/define, or don't use "_" in label (`label!aaa defb aaa`)
    Последний раз редактировалось Ped7g; 06.04.2020 в 00:20.

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

    NEO SPECTRUMAN(06.04.2020)

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

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

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

Эту тему просматривают: 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

Ваши права

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