1. Assembler / Говнокод #23387

    0

    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
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    tms часть коррелятора
    
    
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
               movl          XAR6     ,#str_korel     ;
               movl          XAR7     ,#str_f1_faz    ;
               mov            AH      ,@@dlin_mass    ;
               dec            AH                      ;
               movb           AL      ,#0             ;
               movl          XAR1     ,ACC            ;
               movz           AR2     ,AH             ;
               mov     @@max_num      ,AL             ;
               mov   @@start_num      ,AR1            ;
               subb          XAR2     ,#1             ;
               mpy           ACC      ,@@index_f      ,#max_f__faz*dln_f__faz
               add           ACC      ,@@start_base   ;
               addl          XAR7     ,ACC            ;
               movb          XAR3     ,#0             ;
               movz           AR0     ,*+XAR6[AR1%++] ;
               mov             T      ,@@temp_R       ;
               movl            P      ,*+XAR7[AR0]    ;pl=alp ph=R
               mpyu          ACC      ,T     ,PH      ;R0
               mov    @@factor_R      ,AH             ;
    loopi_0:   movz           AR0     ,*+XAR6[AR1%++] ;
               mov             T      ,#0             ;
               movl          ACC      ,*+XAR7[AR0]    ;
               sub            AL      ,PL             ;alpa<0
               cmp            AL      ,@@factor_alp   ;
               movb            T      ,#1            ,LO
               sub            AH      ,PH             ;
               abs           ACC                      ;
               cmp            AH      ,@@factor_R     ;
               movb            T      ,#0            ,HI
               mov            AL      ,T              ;
               add     @@max_num      ,AL             ;
               banz       loopi_0     ,AR2--          ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
               movz           AR2     ,@@dlin_mass    ;
               subb          XAR2     ,#3             ;
    zabul:     movz           AR0     ,*+XAR6[AR1%++] ;
               push           AR3:AR2                 ;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
               mov     @@start_n      ,AR1            ;
               movz           AR0     ,*+XAR6[AR1%++] ;
               mov             T      ,@@temp_R       ;
               movl            P      ,*+XAR7[AR0]    ;
               mpyu          ACC      ,T     ,PH      ;
               mov    @@factor_R      ,AH             ;
               movb       @@max_n     ,#0           ,UNC
    loopi_1:   movz           AR0     ,*+XAR6[AR1%++] ;
               mov             T      ,#0             ;
               movl          ACC      ,*+XAR7[AR0]    ;
               sub            AL      ,PL             ;alpa<0
               cmp            AL      ,@@factor_alp   ;
               movb            T      ,#1            ,LO
               sub            AH      ,PH             ;
               abs           ACC                      ;
               cmp            AH      ,@@factor_R     ;
               movb            T      ,#0            ,HI
               mov             AL     ,T              ;
               add       @@max_n      ,AL
               banz       loopi_1     ,AR2--
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    loopi_2:   movz           AR0     ,*+XAR6[AR1%++] ;
               mov             T      ,#0             ;
               movl          ACC      ,*+XAR7[AR0]    ;
               sub            AL      ,PL             ;alpa<0
               cmp            AL      ,@@factor_alp   ;
               movb            T      ,#1            ,LO
               sub            AH      ,PH             ;
               abs           ACC                      ;
               cmp            AH      ,@@factor_R     ;
               movb            T      ,#0            ,HI
               mov            AL      ,T              ;
               add       @@max_n      ,AL             ;
               banz       loopi_2     ,AR3--          ;
               pop            AR3:AR2                 ;

    Запостил: maxxx, 06 Октября 2017

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

    • "Вореции" какие-то.
      Ответить
    • "Loopi" звучит почти как имя какого-то индуса-кодера.
      Ответить
      • # loopi

        Sloopy сделал кривой редизайн для кривой Vii Engine (украинская наработка для кривых соц. сетей)
        Ответить
        • > https://viiengine.ru/
          > PHP 5.0+ (Рекомендуемая версия PHP 5.3 и выше)
          > Минимальный размер оперативной памяти 2 Мб
          Пятый пыхпых со всем сопутствующим говном правда способен поместиться в 2 МБ ОЗУ?
          Ответить
          • # PHP 5.3 и выше
            # PHP 5.0+

            Прикол в том, что оно не запускается под 5.4, потому что иногда используется mysql, иногда mysqli. А функция mysql (или mysqli), используемая для фильтрации $_GET параметров начинает возвращать мусор.

            Прикол в том, что оно не запускается под 5.2, потому что использует кучу фич 5.3.
            Ответить
            • >>Скачать социальную сеть сегодня за 4999

              Сука, кккое же отличное наибалово.
              Миллионы хомячков сейчас купят это гумно думая что станут цукенбергами или дуровыми.

              Я бы троллинга ради вообще опенсурснул бы движой пейсбука образца 2004 года и смотрел бы как люди будут пытаться стать миллиардерами


              >>- это многопользовательская социальная платформа аналог Фейсбук, ВКонтакте и Одноклассники

              Ну да, в принципе тоже самое же. Аналог, тащемто.

              >>Использование продвинутой технологии AJAX сократит как трафик вашего сервера,

              Ого, так неожиданно в 2017году! Ajax! В-нем ли кроется секрет фейсбука?
              Благодаря нему-ли фейсбук умеет обслужить 1 лярд людей?

              >>е, движок на шаг вперед опережает своих ближайших конкурентов.
              Всмысле фейсбука и ВК?

              >>движок способен с легкостью работать с высокопосещаемыми проектами,
              Так вот ты какой -- хайлоад!

              Snakeoil, блядь
              Ответить
              • > опенсурснул бы движой пейсбука образца 2004 года

                Нельзя. Вдруг в современном Пейсбуке остались дыры с 2004 года?
                Ответить
                • Секьюрити сру обскьюрити?
                  Ответить
                  • Вспомнил интересный случай. Когда корпорация Микрософт выкупила пакет Sysinternals у Русиновича, она убрала из публичного доступа исходники, объясняя это тем, что исходники Sysinternals помогут хакерам найти дыры в Windows.

                    Вдруг у Пейсбука такая же проблема?
                    Ответить
                    • SysInternals (вроде он назывался WinInternal тогда) купили же вместе с Руссиновичем;)

                      Я не очень вкурсе, но Дуров же как-то спиздил кусок сырцов FB?
                      Или он только вёрстку и идею попёр?
                      Ответить
                      • Не в курсе. У меня такое ощущение, что только идею. Кажется, даже вёрстка изначально была разной.

                        К слову: на момент открытия Фейсбука уже существовали Classmates (лет 10 как), Linkedin, Facebox (переименованный позже в Netlog, сейчас уже не действующий) и, что уже совсем неожиданно, «В кругу друзей».

                        И да, у поставщиков электронной почты (Yahoo, Google, Яндекс, mail.ru, Рамблер) уже было некое подобие соцсетей.

                        Так что теперь уже трудно угадать, кто у кого попёр идею.

                        P.S. Были ещё Geocities и всякие Живые журналы, но они были предназначены для «умников», а не для «чайников».
                        Ответить
                        • myspace еще был

                          у мейлру не было тогда социалки. Её социалка (моймир) появилась позже.
                          Зато на мейлру были чаты;)
                          Ответить
                          • С мейлру я ошибся. Действительно, foto.mail.ru, video.mail.ru, blogs.mail.ru, из которых потом собрали Мой Мир, открылись после Фейсбука.
                            Ответить
    • что-то я блядь не припомню такой мнепоники в x86 -- mpyu
      хуйня какая-то это, а не мнемоника
      Ответить
      • Это код для эмбеддопердоликов и контроллерщиков. Проходи мимо.
        Ответить
    • Это что за покемон платформа?
      Ответить
      • Техасские бензопилы инструменты.

        https://en.wikipedia.org/wiki/Texas_Instruments_TMS320
        Ответить
      • У него ещё и гарвардская архитектура (хотя и модифицированная)...
        Ответить
        • Вай нот, если чип одну и ту же прогу годами крутит. Меньше вероятность, что данные затрут код и т.п.
          Ответить
          • А как же самомодицифируемый код делать?
            Ответить
            • К счастью, у TMS320 не оригинальная гарвардская архитектура, а модифицированная. У него есть инструкции для чтения и модификации кода. Т. е. JMP в данные сделать нельзя, случайно затереть код данными нельзя, но можно целенаправленно модифицировать код.
              Ответить
              • Ну ваще говоря Гарвардская архитектура подразумевает отдельный space для кода и данных (в отличие от фоннеймана).

                То-есть в x86 у тебя есть memory и I/O, а в гарварде у тебя есть еще и code.

                Вероятно она подразумевает еще и физически разные шины, но в современных процах всем похуй (у памяти и I/O и так разные шины в x86 потому что контроллер памяти прямо на кристале CPU).

                Да и код обычно нельзя модить если у страницы (или сегмента) стоит запрет на модификацию (а у кода так и есть).

                Бля, надо менять ник. Нихуя никто не поверит что я сёма. Если верите что я сёма, пидорахи, то хрюкните!
                Ответить
                • Хрю! Играть, так играть!

                  Интересные тенденции:

                  1. На x86 появилась защита: сначала запрет записи и/или чтения страниц памяти, потом атрибут non-executable, что заставило программистов разделять код и данные. Это усложнило написание самомодифицирующегося кода, хотя и оставило лазейку.

                  2. На tms появились инструкции pread/pwrite для обмена между пространствами. Это наоборот, открыло лазейку для создания самомодифицирующегося кода.

                  Архитектуры с изначально противоположными подходами немножко сблизились.
                  Ответить
                  • Интересно вот, а гарвардская архитектура где-то выжила, помимо контроллеров, которые код прямо с флешки исполняют? Для остальных применений статичное разделение памяти выглядит жутко неудобным.
                    Ответить
                  • >>На x86 появилась защита: сначала запрет записи и/или чтения страниц памяти,
                    Сначала появилась защита на уровне сегмента. В 286-м:)
                    Ответить
            • PREAD loc16,*XAR7 Read From Program Memory

              Load the data memory−location pointed to by the “loc16” addressing mode with the 16-bit content of the program−memory location pointed to by ”*XAR7”.

              PWRITE *XAR7,loc16 Write to Program Memory

              Load the program−memory location pointed to by the ”*XAR7” with the content of the
              location pointed to by the “loc16” addressing mode.

              Эта пара инструкций копирует данные из одного пространства в другое.
              Ответить
            • У техасской бензопилы есть инструкции для умножения операндов, расположенных в пространстве кода.

              IMACL P,loc32,*XAR7/++ Signed 32 X 32-Bit Multiply and Accumulate (Lower Half)
              QMACL P,loc32,*XAR7/++ Signed 32 X 32-bit Multiply and Accumulate (Upper Half)
              MAC P,loc16,0:pma Multiply and Accumulate
              MAC P ,loc16,*XAR7/++ Multiply and Accumulate

              Результат помещается в регистр, так что затереть этой инструкцией ничего нельзя. Она используется для умножения аккумулятора на константу, размещённую в пространстве данных.

              Итого: для модификации кода нужно явно использовать инструкцию PWRITE.
              Ответить
              • Кстати, MAC — интересная инструкция:
                https://en.wikipedia.org/wiki/Multiply%E2%80%93accumulate_operation

                С помощью неё HACTEHbKA может написать программу, которая из непонятных числовых констант будет собирать фразу «bormand my love».
                Ответить
            • cmpb AH ,#15 ;
              movb AH ,#15,HI ;
              or AH ,#0xFFB0 ;
              mov *(#0:code0) ,AH ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
              mov AH ,PH
              mov @@sdvig ,AH
              mov PH ,AL ;PH=amp4
              sb diks ,UNC ;
              ………………………
              diks: movl ACC ,P
              nop
              nop
              nop
              code0: asr AL ,#16 ;!!!!!!!!!!!!!!!!1
              code2: movl @@coorX ,ACC
              Ответить
              • Кажется, понял. Т. е. ещё mov может обращаться к пространству кода, если у неё указать ссылку на метку (Immediate Addressing Mode).
                Ответить
                • код может исполняться в RAM (там wait=0)
                  , но конвеер 8 комманд ..
                  Ответить
    • Заебали свои орхитектуры обсуждать, орхитекторы блядь! Я в этом нихуя не понимаю!!!1!
      Ответить

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