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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    В 64 ассамблее нет pushad.
    
    Ув. авторы ассамблея, почему в Вашем говноязыке нет pushad/popad под 64? 
    Я Вам что блять, ручками должен всё сохранять/перепушивать?!

    Уёбки!

    Запостил: doomginho, 05 Августа 2024

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

    • Дело не в ассемблере. Авторы процессоров x86_64 не стали реализовывать 64-битную версию инструкции pushad (и ещё нескольких инструкций). Если она тебе нужна, ты можешь написать макрос, который разворачивает pushad в пачку инструкций.
      Ответить
      • Слишком много регистров в x64?

        Кстати, а тебе нравится говорить со Стертором?
        Ответить
        • Не нравится, но этот ответ кому-нибудь может оказаться полезным.

          К слову, у x86_64 шестнадцать регистров общего назначения вместо восьми (не так уж много) по 8 байт, итого для их сохранения нужно 128 байт.

          32-битному x86 для pushad хватало 32 байтиков.
          Ответить
          • Так это и TSS расширился?
            Ответить
            • pushad не имеет отношения к аппаратной многозадачности, эта инструкция не трогает TSS, она чисто для того, чтобы сохранить пользовательское дерьмо.

              А для переключения задач потребуется сохранять намного больше. И даже в обработчике прерывания потребуется много чего сохранять.
              Ответить
              • Так я и не про пушу. Я про то, что если у тебя регистры пожирнели, то и TSS пожирне

                или нет?

                или в x64 уже забили на попытки сделать хардварное переключение, и теперь ОС сама выбирает где прятать банку сгущенки>
                Ответить
                • Пришлось гуглить.

                  1. TSS в x64 есть.

                  2. Для переключения задач не используется. ОС сама должна прятать банку сгущёнки.

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

                    Там хранили, например, IO пермишенеы, чтобы знать, какие IO можно вызывать, а какие приводят к исключению.

                    Во времена ДО лонгмода считалось, что в теори каждая задача будет иметь свою TSS, и был хардварный мехуизм перкеключения задач (через специальные гейты).

                    Потому в TSS были места для регистров, стека, и пр, куда проц должен был всё прятать.

                    Это всё заебато работало в теории, но разумеется обосралось на практике (или программисты обосрали как часто бывает) и TSS конечно ни для чего такого не использовалось: всеми регистрами заведовала операционка, а из TSS кажется ипользовались только адреса стека (который процессор при сисколе вроде сам загружал)

                    в X64 идея хардварного переключения отправилась на Сёмину помойку, и в TSS остались только пермишены IO (вот жеж плевок-в-вечность блядь), стеки для сисколов и кажется еще стеки для прерываний, чтоб их сразу по прерыванию загружать (раньше так было нельзя автомаически делать)
                    Ответить
                    • У Сёмы теперь есть хардварный переключатель задач?
                      Ответить
      • Болтовня ничего не стоит, покажи мне код.
        Ответить
        • pushaq MACRO
             push rax
             push rcx
             push rdx
             push rbx
          
             push rbp
             mov rbp, rsp
             lea rbp, [rbp+40]
             xchg rbp, [rbp-40]
          
             push rbp
             push rsi
             push rdi
          
             push r8
             push r9
             push r10
             push r11
             push r12
             push r13
             push r14
             push r15
          pushaq ENDM


          По мотивам https://stackoverflow.com/questions/42971287/emu8086-pusha-popa/42973658#42973658
          Ответить
          • Гляжу, ты любитель поболтать со Стертором. Съезди уже к нему в Осетию, развиртуализируйся, затуси с ним лично, может соседские мальчишки прибегут..
            Ответить
            • Затусил с твой жопой, проверь.
              Сперва я бы ощупал ее, потом провел руками, словно по клавишам баяна. Раздвинул, пожамкал бы булки.

              Потом наг... нет, не нагнул, а уложил бы на тахту, для ма... нет, не массажа простаты, а анальной мастурбации. Я уже и фаллос подготовил.
              Ответить
          • pushuj    MACRO  
                push ax
                push cx
                push dx
                push bx
                push sp
                push bp
                push si
                push di
            
            ENDM
            
            and when i want to call it i write:
            
            pushuj
            
            I it good?


            Какой фольклор )))
            Ответить
    • 3аместитель пресс-секретаря ООН Фархан Хак заявил в понедельник, 5 августа, что "9 работников Агентства ООН по помощи палестинским беженцам (UNRWA) могли быть вовлечены в нападение ХАМАСа на Израиль 7 октября 2023 года, и все 9 будут уволены посмертно".


      Октярбрёнок Палкин Петя
      Захлебнулся при минете
      И посмертно, говорят,
      Исключен из октябряьт
      Ответить
      • Интересно... А в реале были такие случаи? Глупая смерть. Хотя нет, смерть не глупая; глупые были жертвы.
        Ответить
        • Хм. Индусы опять отличились... https://bigpicture.ru/indus-ispolzoval-vmesto-prezervativa-klej-i-ploho-konchil/
          Ответить
    • Общественные Стерторы Северной Осетии призвали главу республики раскрыть число погибших на войне и запретить призыв представителей коренного народа


      NyTuH поднажми, не должно остаться ни одново стертора
      Ответить
      • Стертор не аффилирован ни с властью ни с продажным сосетинским народцем.
        Ответить

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