User Tag List

Страница 49 из 51 ПерваяПервая ... 45464748495051 ПоследняяПоследняя
Показано с 481 по 490 из 501

Тема: Тема для всяких глупых вопросов

  1. #481

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    видимо в версии gp48k чтото поменялось с макросами
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

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

  3. #482

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    видимо в версии gp48k чтото поменялось с макросами
    Не может быть.) Только # используется для других целей.
    Код:
       1:				
       2:				print_code  macro   vcode,v1,v2
       3:				    ld      a,vcode
       4:				    rst     $10
       5:				    ld      a,v1
       6:				    rst     10h
       7:				 if  !nul &v2    
       8:				    ld      a,v2
       9:				    rst     10h
      10:				 endif    
      11:				endm
      12:				
      13:     -	0000          	 print_code 1,2,3
      13:    0+7	0000  3E01    	    ld      a,1
      13:    7+11	0002  D7      	    rst     $10
      13:   18+7	0003  3E02    	    ld      a,2
      13:   25+11	0005  D7      	    rst     10h
      13:     -	0001          	 if  !nul 3    
      13:   36+7	0006  3E03    	    ld      a,3
      13:   43+11	0008  D7      	    rst     10h
      13:				 endif    
      13:     -	0009          	endm
      14:				 ;print_code 1,2,
      15:     -	0009          	 print_code 1,2
      15:   54+7	0009  3E01    	    ld      a,1
      15:   61+11	000B  D7      	    rst     $10
      15:   72+7	000C  3E02    	    ld      a,2
      15:   79+11	000E  D7      	    rst     10h
      15:     -	0000          	 if  !nul     
      15:				 endif    
      15:     -	000F          	endm
      16:				 
      17:     -	000F          	 end
    
    
    
    Statistics:
    
         3	passes
         0	jr promotions
         0	symbols
        15	bytes
    
         2	macro calls
       133	macro bytes
         0	invented symbols

  4. #483

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот код:
    Код:
    ; zmac -i -m -h -o build/test-marg.hex -x build/test-marg.lst test-marg.asm
    
    ROM_CLS             equ     #0DAF
    ROM_OPEN_CHANNEL    equ     #1601   ; a=channel
    ROM_PRINT           equ     #203C   ; de=text, bc=length
    CHAR_AT             equ     #16
    CHAR_INK            equ     #10
    CHAR_PAPER          equ     #11
    CHAR_BRIGHT         equ     #13
    
    
    print_code  macro   vcode,v1,v2
        ld      a,vcode
        rst     #10
        ld      a,v1
        rst     #10    
    if  !nul &v2
        ld      a,v2
        rst     #10
    endif    
    endm
    
    
        org     #8000
        call    ROM_CLS
        print_code  CHAR_AT,0,0
        print_code  CHAR_PAPER,3
        print_code  CHAR_BRIGHT,1
        ld      hl,message
        call    printf
        ret
        
    message:
        db      'HELLO WORLD',#00
    
    printf:
        ld      a,(hl)
        or      a
        ret     z
        rst     #10
        inc     hl
        jr      printf
    Результат компиляции:
    Код:
    $ ./zmac -i -m -h -o build/test-marg.hex -x build/test-marg.lst test-marg.asm
    test-marg.asm:26: Syntax error
    test-marg.asm:26: Balance error
    test-marg.asm:27: Syntax error
    test-marg.asm:27: Syntax error
    test-marg.asm:27: Balance error
    test-marg.asm:28: Syntax error
    test-marg.asm:28: Syntax error
    test-marg.asm:28: Balance error
    test-marg.asm:26: Undeclared error
    test-marg.asm:27: Undeclared error
    test-marg.asm:28: Undeclared error
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  5. #484

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    какой посоветуете ассемблер z80 для командной строки, чтобы умел генерировать intel hex на выходе?
    В целях поиздеваться над мозгом, попробовал накалякать мелкую библиотечку с lua функциями для sjasmplus, генерирующую этот тип хекса, если конечно правильно разобрался в формате.

    Пользоваться -> в начало исходника вставить: include IntelHEX.asm

    макросом ihexname# имя.hex создать файл для вывода
    и макросами ihex# начало_блока,длина запихивать блоки.

    Минус - имя файла не понимает кавычек/апострофов - в этом эксперименте мне лень возиться было


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

    Не делал запись окончания файла. Проглядел и так и не понял нужна она вообще в нашем случае или нет.

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

    Добавил запись окончания файла -
    макрос без параметров ihexend#
    Вложения Вложения
    Последний раз редактировалось Dart Alver; 22.11.2024 в 01:09.

  6. #485

    Регистрация
    10.01.2010
    Адрес
    Смоленская обл.
    Сообщений
    556
    Спасибо Благодарностей отдано 
    187
    Спасибо Благодарностей получено 
    197
    Поблагодарили
    100 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного доработал, причесал (хотя может наоборот), добавил обработку кавычек, растянул запись до максимума (255 байт данных), впихнул запись нулевого расширенного адреса, добавил подобие лицензии (прям как большой ), малость багов думаю тоже добавил, хотя надеюсь что вру )) .
    Теперь думаю а нафига оно то мне было надо ? Впрочем было интересно немного в lua поковыряться.
    v0.1
    Вложения Вложения

  7. #486

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А я вот удивляюсь. ZXMAK, ну ты ж грамотный мужик, вроде бы.) Неужто сам не в состоянии поиграться с макро средствами этого zmac-а? Или нянька нужна?)

  8. #487

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    M80, вот вы угадали, я как-раз и полез добавлять, в итоге завис на пару дней, разбирая код. Поняв что это надолго, появилась идея реализовать более чистую реализацию на lex/yacc, в итоге еще день ушел и я увяз в грамматиках. По итогу новые макросы так и не добавил, а время потратил. Впрочем разобрал как zmac работает, реализация честно говоря не очень надежная. Если большой код компилить, то посыпется песок... Нужно переделывать

    Версия от gp48k еще более закрученная, вначале была мысль портировать из нее лексический анализатор в оригинальную версию, но как оказалось в ней прикручено так много костылей, что даже в лексический анализатор код сразу пишет...

    Погуглил альтернативы на lex/yacc, но ничего для Z80 не нашел, есть только обсуждения где пишут что проще код вручную разбирать. И кстати в zmac лексический анализатор вручную написан, lex не используется. Поэтому в нем много костылей и дорабатывать код сложно.

    Похожий подход был во встроенном ассемблере первого zxmak, там вообще весь код трансляции инструкции в код вручную написан был. Хотелось бы универсальный ассемблер, нормально переваривающий сложные вложенные макросы и выражения.
    Последний раз редактировалось ZXMAK; 24.11.2024 в 19:47.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  9. #488

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Когда то, лет эдак 20 назад, пытался было заменить этот М80 на что то посовременнее. Ну куда это годиться, 1981-го года выпуска, хоть и Microsoft(с), но под CP/M - прям, стыдоба какая то.) Кинулся, было, кучу разных ассемблеров перепробовал... и нифига. То валятся, то одно не нравится, то другое... Правда, исходник был не мал, 36000 строк где то. Ну и макро, типа, IRP/IRPC использовал. В общем, потыкался я и успокоился. Правда, на zmac не наткнулся.( А изделие проработало аж до 2012-го года, хотя оптимистично рассчитывал до 2000-го.)

  10. #489

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    может кто подскажет исходники z80 ассемблера с лексикой описанной в lex файле, а не вручную в коде написанной?

    Странно, что столько ассемблеров для z80 написали, но ни одного lex файла гугл не находит
    Последний раз редактировалось ZXMAK; 25.11.2024 в 23:48.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  11. #490

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    может кто подскажет, нужны примеры для тестирования синтаксического анализатора для z80 ассемблера. Интересуют разнообразные необычные варианты примеров кода, которые должны работать.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

Страница 49 из 51 ПерваяПервая ... 45464748495051 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 42
    Последнее: 05.05.2021, 17:01
  2. Общая тема для моих вопросов (ассемблер и zx spectrum)
    от moronizzz в разделе Для начинающих
    Ответов: 17
    Последнее: 23.08.2016, 18:13
  3. тема для мобильного....
    от rasmer в разделе Музыка
    Ответов: 0
    Последнее: 18.01.2008, 20:25

Метки этой темы

Ваши права

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