1. C++ / Говнокод #22769

    −14

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    #include "string.hpp"
    #include "execute.hpp"
    
    #include <iostream>
    
    using code = decltype(
        "push ebx "
        "pop eax "
        "exit"_s);
    constexpr auto ret_val = cai::execute_code<code>;
    
    int main()
    {
        std::cout << std::hex << ret_val;
        return 0;
    }

    cai::execute_code will parse, tokenize, execute code and return value from eax register. Startup ebx value is 0xbada55. Above program will push ebx to stack and pop from stack to eax. So eax will eventually contain 0xbada55.

    https://github.com/stryku/ctai compile time assembly interpreter

    Запостил: j123123, 10 Апреля 2017

    Комментарии (25) RSS

    • #ебанутымнетпокоя
      #метушня
      #плюсодебилы
      #то_ли_дело_гомоиконность
      Ответить
      • кому то было просто сильно скучно. я пишу тетрисы на досуге - другие интертрепаторы асма...
        Ответить
        • На FPGA надеюсь?
          Ответить
          • показать все, что скрытоНа паскале
            Ответить
          • > На FPGA надеюсь?

            я не электрик - я software developer.
            Ответить
            • Разработка прошивки для FPGA (на языке программирования VHDL или Verilog) это как раз работа для software developer.
              Ответить
              • ага. попробуй раскажи это электрикам которые этим занимаются.

                и для игрушек нужен дисплей и хорошие кнопки. если LCD это уже почти норма - то хорошие кнопки это просто редкость для девелопмент бордов.
                Ответить
                • причем тут "электрики", простите?
                  Ответить
                  • Ну может быть электрики подрубят такую плисину куда-нибудь в многоэтажный дом, и будут на ней играть в тетрис, зажигая и гася свет в квартирах, используя это как дисплей
                    Ответить
                  • ну это же они железо паяют.

                    они мне тут неделю доказывали с пеной у рта что во флеше нельзя один байт перезаписать. патамушта не еепром. "дискуссия" длилась долго, и к концу было уже не смешно. электирики - что с них взять, кроме канифоли.
                    Ответить
                    • Электрики занимаюся всякой херней вроде проводки, ЛЭП, обслуживанием трансформаторных подстанций и прочим говном. Плисинами они не занимаются
                      Ответить
                    • показать все, что скрыто> во флеше нельзя один байт перезаписать
                      Дык нельзя же в общем случае, разве что нулей досыпать. Ибо основная идея флеш-памяти заключается в страничном стирании.
                      Ответить
                      • пол часа понадобилось что бы чудака успокоить и ему объяснить что просто страничка вычитывается, эрейзится, патчится и пишется назад. но до сих пор не уверен что дошло.
                        Ответить
                        • показать все, что скрыто> вычитывается, эрейзится, патчится и пишется назад
                          Ага, а теперь сводим задачу о записи нескольких байт к задаче о записи одного байта и сжигаем флеш в 42 раза быстрее ;)
                          Ответить
                          • ну что ж ты тут поделаешь. не у всех памяти/мозгов хватает что бы логгинг/этц присабачить.
                            Ответить
                    • причем тут пайка компонент на плату и разработка FPGA?
                      почитай хоть в википедии расшифровку
                      Ответить
                      • ... как мало надо было что бы электрики сами себя запалили. ;)
                        Ответить
                        • лол, ну я этим занимался на 3-4 курсе, практически недавно было, больше десятка лет назад

                          как и базами данных, параллельными вычислениями или криптографией, ну или даже симуляцией, теорией управления и разработкой документации по ГОСТ и прочей разносторонней поебенью

                          ты так говоришь, будто это что-то постыдное
                          тебя обидел электрик? сказал, что твоя цепь настолько полная, что не проходит в двери макдональдса?
                          Ответить
                • показать все, что скрыто> хорошие кнопки
                  Ну геймпад подключи. Или собери тетрис в корпусе от... тетриса.
                  Ответить
                  • я когда то этим хотел занятся - но руки не дошли. дев киты были тогда дорогими - и мне как софтварщику с железом возится просто лень. и возится надо было больше чем сейчас.
                    Ответить
    • прикольно. А это круче чем libjit?
      Ответить
      • В "этом" вообще никакого JITа нет, это тупо интерпретатор
        Ответить

    Добавить комментарий