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

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 19 из 19

Тема: Компилятор C для MCS-48 ?

  1. #11
    Guru Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Тема слегка сдвинулась в пользу трансляторов\компиляторов потому выложу такую довольно древнюю сцылу - http://www.avhohlov.narod.ru/

    Для ленивых напишу в кратце что там:
    Автор довольно давно возился с идеей "самопальный транслятор без умных книжек" и результатом многолетних экспериментов стал язык программирования склепанный на коленке (context) а также разные версии его компилятора. Сразу скажу что это НЕ какой-то там заброшенный недострой студента первого курса, автор довольно далеко продвинулся (вплоть до публикации статьи в печатном журнале), причем это было уже довольно давно, считаю тему "самопального компилятора" довольно неплохо раскрытой на этом сайте.

    И еще одно примечание: тема компиляторов жестко СВЯЗАННА с темами моделей памяти и "linkers and loaders (https://g.co/kgs/2gtdYT)". Связанна то да, но про которую НИГДЕ НИЧЕГО похожего на сайт выше никто не создал и не написал. Такое впечатление что <0.0001% программистов на этой планете эта тема когда-либо интересовала. Кроме того когда хочешь научиться использовать уже ГОТОВЫЕ решения которые скажем создают запускаемые модули с оверлеями под разные системы (rt11, rsx11m, rsx11m+, 2.11bsd, msdos-exe, win16-exe) в самих описаниях к link-овщикам царит хаос покрытый мраком. Никогда не видел ни одного человека который разобрался с этим делом досконально. Подозреваю что самой совершенной схемой обладает rsx11m+.

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

    Oleg N. Cher (20.02.2024)

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

    По умолчанию

    Какой еще С????? о_О
    у этой шняги мизер памяти
    туда моргатель светодиодом написанный на С не поместится
    пишите молча на асме

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

    Цитата Сообщение от Tronix Посмотреть сообщение
    приставка - Magnavox Odyssey²
    а еще какие нибудь компьютеры\приставки на этом есть?

  4. #13
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    туда моргатель светодиодом написанный на С не поместится
    Да моргатель поместиться без вопросов. Там заморочка что стек маловат, и что основной памяти фактически 32 байт. Но в принципе, в концепцию без-функционного програмного языка укладывается (пишется все в мейне). 32 байт на самом деле не так то и мало. Смотря что делать. Часы например - избыточно памяти. Ну и никто не воспрещает внешнюю поставить с защелками ИР22 и банками, хоть метр, хоть два.

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

    Ваще, всем *****кодерам типа меня, настоятельно рекомендую это: Let's Build a Compiler, by Jack Crenshaw 1988 год мать иго таг. Это основы. Я из этой статьи реально почерпнул много нового. Если бы я пилил компилятор с нуля, я бы наступил на овер 9000 граблей, о которых говорит автор. На любом языке современном.

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

    По умолчанию

    Цитата Сообщение от Tronix Посмотреть сообщение
    32 байт на самом деле не так то и мало
    это МАЛО
    поэтому ТОЛЬКО АСМ!!!

  6. #15
    Master
    Регистрация
    24.05.2005
    Адрес
    г. Запорожье, Украина
    Сообщений
    992
    Спасибо Благодарностей отдано 
    571
    Спасибо Благодарностей получено 
    364
    Поблагодарили
    239 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Попробуйте HDL какой-нибудь ) - после него вам асм будет бейсиком казаться ))

  7. #16
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от NEO SPECTRUMAN Посмотреть сообщение
    это МАЛО
    поэтому ТОЛЬКО АСМ!!!
    Да почему мало то? Нормально вполне. Смотря какие задачи ставятся. Например, сделать какой-нибудь AT2XT, PS/2-COM mouse переходник - избыточно памяти. Часы/термометр nixie - избыточно памяти. Какие применения? Если нужно больше памяти - ставиться просто на BUS срама на 64 кб и всех делов. Ну да, дополнительный копус, но с другой стороны - кто из мелконогих пиков/атмелов/стм8 щаз может 64кб рама из коробки? Даже больше скажу, не все стм32 могут.

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

    Цитата Сообщение от shurik-ua Посмотреть сообщение
    Попробуйте HDL какой-нибудь ) - после него вам асм будет бейсиком казаться ))
    Причем здесь HDL? Это немного не в ту степь ваще. Разница только в том, что нужно понимать что работает стейт машина - поэтому для каждого сигнала в один момент времени нужна программа обработки этого сигнала, которая, внезапно, линейна. Просто сигналов много, и программ обработки много. Ничего вырвемозгного по сравнению с обычным линейным програмингом, особенно если есть какой-либо мультитаск, начиная от таймера дос, заканчивая FreeRTOS. И там и там и там программа выполняется _последовательно_, просто в случае с HDL - выполняется множество функций одновременно.
    Последний раз редактировалось Tronix; 04.05.2017 в 20:34.

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

  9. #17
    Member
    Регистрация
    02.07.2010
    Адрес
    Запорожье
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    можно сделать железячную отладочную машинку: записывать программу в озу, потом подменять ею пзу.
    есть железячный отладчик-пошаговик ла3+тм2, который стопорит по АЛЕ: часто знания того, где сейчас гуляет процессор уже достаточно для просветления. можно и схему сравнения для полного адреса сделать для стопора: монстр, зато можно отловить попадание по конкретному адресу!
    для 51 я себе сделал такой картонвиль кормится через "пять проводков", но по своему протоколу. несмотря на ИДЕ в вайне под линуксом из-под несудоюзера после небольшого колдовства удобство приемлимое: ктрл+энтер,энтер,пароль, кнопка на картонвиле - и наблюдаем результат дойдут руки: оформлю и поделюсь конечно, 48 не 51, но тем не менее...

    У меня ЛПТ, поэтому пока не заморачивался, а в принципе, можно сымитировать какой-нибудь проц, чтобы заливать в озу программу через любой стандартный ISP программатор, главное, чтобы проц успевал программно читать и выполнять команды
    --------------
    насчет мощности - 48 и 51 легко расширяются 100 лет назад разобрал два вроде АОН-а на ВЕ39 вроде как с автоответчиком (в работе не видел): длинный вакуумный индикатор, 27128, 537РУ10 и две линейки РУ7 (наверное, для записи сообщения) - т.е., ресурсы впечатляющие и задача непростая
    Последний раз редактировалось shoorick; 04.05.2017 в 22:18. Причина: отстал от дискуссии

  10. #18
    Veteran Аватар для Tronix
    Регистрация
    16.09.2010
    Адрес
    г. Москва
    Сообщений
    1,933
    Спасибо Благодарностей отдано 
    78
    Спасибо Благодарностей получено 
    231
    Поблагодарили
    115 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хе-хе, вот например программка

    PHP код:
    Var
        
    x,byte;
    Begin
        x 
    := 1;
        
    := 2;
        
    := y;
    End
    Генерируется в тонну *****кода:

    Код:
    ;;    MSC-48 PASCAL
    ;;    Tronix (c) 2017
    
          .org 0		; reset vector
          dis   i
          jmp   MAIN
    
          .org 3		; external interrupt vector--trap
          retr
    
          .org 7		; timer interrupt vector
          retr
    MAIN:
          mov   a,1			; load const
          mov   r0,_X		; store variable
          mov   @r0,a
          mov   a,2			; load const
          mov   r0,_Y		; store variable
          mov   @r0,a
          mov   r0,_X		; load variable
          mov   a,@r0
          mov   r2,a		; push to stack
          mov   r0,_Y		; load variable
          mov   a,@r0
          mov   r1,a		; save V0->V1, get V0 from stack
          mov   a,r2
          add   a,r1		; make addiction
          mov   r0,_X		; store variable
          mov   @r0,a
    _PEND:
          jmp  _PEND		; end program
    ; ***** Library Code ***** 
    ; ***** Library Ends *****
    ; Variable Area
    .equ	_Y	32
    .equ	_X	33
    ; String constants

  11. #19
    Member
    Регистрация
    02.07.2010
    Адрес
    Запорожье
    Сообщений
    65
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    надо оптимизировать

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Компилятор С и ASM для Z80 на C#
    от ZXMAK в разделе Софт
    Ответов: 28
    Последнее: 18.11.2014, 16:31
  2. МикроСтеплер. Компилятор ЯП СТЕПЛЕР для i8080
    от Kakos_nonos в разделе Программирование
    Ответов: 8
    Последнее: 31.05.2013, 16:34
  3. Нужен компилятор си, простой в использовании
    от Kakos_nonos в разделе Программирование
    Ответов: 14
    Последнее: 01.04.2012, 15:42
  4. Компилятор FM музыки ?
    от AAA в разделе Программирование
    Ответов: 0
    Последнее: 09.09.2010, 11:01
  5. кросс компилятор С для Z80
    от vitasam в разделе Программирование
    Ответов: 24
    Последнее: 04.03.2007, 18:03

Ваши права

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