- 1
IT Оффтоп #20
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
IT Оффтоп #20
#1: http://govnokod.ru/18142 https://govnokod.xyz/_18142
#2: http://govnokod.ru/18378 https://govnokod.xyz/_18378
#3: http://govnokod.ru/19667 https://govnokod.xyz/_19667
#4: http://govnokod.ru/21160 https://govnokod.xyz/_21160
#5: http://govnokod.ru/21772 https://govnokod.xyz/_21772
#6: http://govnokod.ru/24063 (потёр пидор сракер) https://govnokod.xyz/_24063
#7: http://govnokod.ru/24538 https://govnokod.xyz/_24538
#8: http://govnokod.ru/24815 (потёр пидор сракер) https://govnokod.xyz/_24815
#9: http://govnokod.ru/24867 https://govnokod.xyz/_24867
#10: http://govnokod.ru/25328 https://govnokod.xyz/_25328
#11: https://govnokod.xyz/_25436 http://govnokod.ru/25436 (потёр пидор сракер)
#12: https://govnokod.xyz/_25471
#13: https://govnokod.xyz/_25590 (потёр пидор сракер)
#14: https://govnokod.xyz/_25684
#15: https://govnokod.xyz/_25694
#16: https://govnokod.xyz/_25725
#17: https://govnokod.xyz/_25731
#18: https://govnokod.xyz/_25762
#19: https://govnokod.xyz/_25767
У «длинного» режима «x86-64»/«amd64» нет подрежима «V86». Переключаться между «длинным» и «коротким» невыгодно, проще использовать эмулятор. Но у официальной NTVDM своего эмулятора нет.
Есть неофициальный проект «NTVDMx64», собранный из «Windows Research Kernel» и из утёкших исходников «Windows NT 4.0»:
http://www.columbia.edu/~em36/ntvdmx64.html
Ну это совсем изврат... Я просто думал про вынос wow64 чтобы место не занимало.
Всякая мелочь от 64 бит ничего не выигрывает.
Не может. Все новые фишки только в настоящем long mode.
В каком-то говнокоде я узнал, что однобайтовые инструкции INC/DEC из 64-битной страницы недоступны как раз именно потому, что эти опкоды приспособили под новые префиксы, которых не было в 16/32-битных инструкциях.
64-битное immediate можно использовать только с одной инструкцией, проверь (MOV, кажется). Все остальные 64-битные инструкции сделали с 32-битным immediate, мы уже в каком-то говнокоде это обсуждали. Чтобы положить в стек 64-битное число на 64-битном процессоре в длинном режиме, нужно запушить одну 32-битную половинку, а потом запушить вторую 32-битную половинку.
Нельзя половинки пушить в лонг моде, емнип. И вообще там с выравниванием стека всё жёстко.
http://govnokod.ru/25449#comment464350
Значит, выравнивание на два байта.
Четыре пуша по 16-битов помогли собрать 64-битное число.
Вот с двумя пушами по 32 бита у меня почему-то ничего не получилось. Я уже забыл, почему. Может быть, потому что я кодил в ASCII-кодах, а в них собрать такую инструкцию не получилось. Или префикс какой-то забыл, ведь я тогда собирал не ассемблером, а вручную.
Вот в 64 они действительно длинные, длинные-предлинные, аж 8 знаков.
Там почти во все инструкции только 32 бита адресов или данных вшивается. Так что код не так сильно дуется. В отличие от указателей в данных.
В длинном режиме такое представление потребует 9 байтов на символ.
Какой хуйнёй иногда приходилось страдать в институте)
http://govnokod.ru/25449#comment464350
http://govnokod.xyz/_25449/#comment-442648
Аналогичная фигня была в WOW, чтобы 16-битная DLL могла вызывать 32-битные функции NT, или в Win32s, чтобы 32-битная DLL могла вызывать 16-битную функцию Windows 3.x. В Windows 95/98/Me, кстати, шлюзы были в оба направления.
Понял. К этой странице прибито два селектора из таблицы дескрипторов: в строчке с селектором 0x33 указано, что у данного сегмента дефолтные инструкции 64-битные, а в строчке с селектором 0x32 указано, что у данного сегмента дефолтные инструкции 32-битные, а база и лимит у обоих записей одинаковые.
По аналогии можно в LDT/GDT создать запись и с 16-битными инструкциями по дефолту и указать ту же базу и тот же лимит...
Какой скилл )))
>>> The L bit means the CPU should be in 64-bit mode when this segment descriptor is being used
Да вообще всё просто.
(https://www.sciencedirect.com/topics/computer-science/segment-descriptor)
Paul February 23, 2013 at 11:55:
1) as noted above, the working directory in 64-bit ‘space’ is different. This can be fixed by calling SetCurrentDirectory in the 64-bit kernel32.dll
2) CreateProcess will fail after loading 64-it kernel32.dll. This can be fixed by calling the 64-bit CreateProcess instead.
3) which I haven’t solved… when you call the 64-bit kernel32.dll DllMain with PROCESS_ATTACH it disposes of the current console, and creates a new one. Subsequently all console output (printf etc) from 32-bit space will fail. At some point during BaseDllInitialize there is a call to CsrClientConnectToServer which nukes the existing console.
Какой багор )))
Какой хардкор )))
Да ещё и натуралы, поди.
Кстати, в Германии было движение Сопротивления и «Рот-фронт», так что не все немцы — фашисты!
Ага, и специально для этого запустили фейковый сайт конференции, на который выше дали ссылку?
Может быть, это фотка из начала 1990-х?
КТМ-8, по-моему, полный хлам даже не ушатанный.
Почему технику 1970-х сейчас ремонтируют, а технику 1990-х выбрасывают?
Просто те же Татры ездят в городах, где на ОТ ещё тратят какие-то деньги, а КТМы катаются в захолустье, в котором от рембазы остались только могилы спившихся слесарей
08 августа 2013 года начаты работы по восстановлению технической возможности организации движения по конечной станции «Малая Даниловка» («Монтажник»).
14 августа 2013 года открыто движение и оборот вагонов маршрута 20 по конечной станции «Малая Даниловка», в связи с прекращением движения трамваев по проспекту Победы на период строительства станции метро на перекрестке проспектов Победы и Людвига Свободы.
2013—2014 годы: организован ввод в эксплуатацию трамвайных вагонов Т3А, поставленных из Риги.
июнь 2015: начата капитальная реконструкция путей на проспекте Московский на участке от Корсиковского путепровода до улицы Морозова в рамках переустройства и обновления проспекта Московский. Готовится восстановление пассажирского движения трамваев на этом участке, впервые с 1999 года.
август 2015: готовится восстановление движения трамваев с 18 августа по проспекту Победы, приостановленное в 2013 году на период сооружения станции метро на перекрестке проспектов Людвига Свободы и Победы. Движение восстановлено 21 августа.
В общем, в 2013-м году начали восстанавливать кое-что из того, что задепрекейтили в предыдущие годы.
Не знаю, там вместо них не то DNS, не то М-Видео открывается... Ситилинк с Юлмартом есть... Меня больше тенденция пугает: Киберри всё, МедиаМаркт всё, теперь вот Кей. Не знаю, это так и должно быть в капиталистическом мире, или что-то мы неправильно делаем?
Нужно писа́ть юзерскрипт, который будет ловить эту всплывающую хуйню и удалять.
https://habr.com/ru/news/t/465053/
https://habr.com/ru/post/465029/
https://osdn.net/projects/android-x86/scm/git/vendor-intel-houdini/
Т. е. на «Андроиде», запущенном на x86, можно запускать программы и для x86, и для ARM.
https://github.com/Keith-S-Thompson/dhrystone
Без оптимизации:
• собранный для x86: 1,6 мегадристонов.
• собранный для ARMv7 (thumb), запущенный из-под гудини: 1,7 мегадристонов.
С ключом -O2:
• собранный для x86: 2,8 мегадристонов.
• собранный для ARMv7 (thumb), запущенный из-под гудини: 2,0 мегадристонов.
Таким образом, эмулятор сосёт только для оптимизированных программ, причём несильно. У него JIT что ли?
А вот и скрипт для интеграции:
Он в binfmt добавляет сигнатуру для эльфов, предназначенных для ARM.
Ты можешь сделать так, чтобы «Windows» смогла запустить посредством интерпретатора/эмулятора чужой экзешник (для другого процессора или для другой версии системы)?
Поддержка экзешников для Interix (она же posixss) глубоко интегрирована в систему.
Поддержку экзешников для CLR когда-то реализовали костылём: экзешник звал функцию _CorExeMain из mscoree.dll, а она уже исполняла остальную часть, которая хранится как данные.
Интересный прецедент был во времена Windows 3.x, когда формат PE вообще не поддерживался: пакет Win32s с целью поддержки нового формата PE устанавливал драйвер, который перехватывал исключение, срабатывающее, когда при попытке создания процесса не найдена сигнатура NE. В принципе, таким перехватом можно было реализовать обработку и других чужих экзешников.
Это я спутал с COFF и PE. Там 686, 586, 486 отличались от 386 вторым байтом, аналогично было и для других линеек процессоров.
x86, шланг: 1240695
Эмуляция ARMv7, шланг: 826446
x86, -O2, шланг: 2557545
Эмуляция ARMv7, -O2, шланг: 2066116
x86, gcc: 1655629
Эмуляция ARMv7, gcc: 1118568
Эмуляция ARMv7, gcc, thumb: 1004016
x86, -O2, gcc: 2558854
Эмуляция ARMv7, -O2, gcc: 1694915
Эмуляция ARMv7, -O2, gcc, thumb: 1779359
Итого: мумуляция замедляет выполнение теста всего в полтора раза.
«Houdini» на лету дизассемблирует бинарник и собирает его под x86?
Русня, яжпердоле где помощь. Или вы не знаете что такое арматура и вам слишком дорога? Русня соснула? Хрюкните
Арматурные наушники это в гугле твой ответ на вопрос.
Если тут обсуждают о создание бесконечно-рааширяющийсЯ вселеной и живой жизни с помощью пхп возможно. То и о каких-то сраных наушниках я думаю есть мастера.
Дохуя. Но тебе же помощь русни - не считается за помощью, хотя сам с завидной регулярностью просишь тут, у свинособак твоих любимых.
"Не знаю. Я лишь спросил."
Забавная память у тебя:
http://govnokod.ru/25767#comment497442
> Сколько стоит самый дешевый смартфон/планшет
купил китайское говно и пошел на 4pda за инструкциями от мамкиных специалистов и
> я щас закирпичил себе планшет со своими файлами.
при том что до этого по той же схеме:
> закирпичил себе нас по их мануалу
русня соснула
http://www.rom.by/
–— Мы разве ему не поможем?
Мастер:
—– Чем мы ему поможем? Сядем рядом и будем плакать, приговаривая: «Русня! Прыщебляди!»
https://www.youtube.com/watch?v=NuX4g7i1pZ0
P.S. У них там цыплята вместе с курами пасутся.
http://lol24.ee/public/pics/159/159724_0.jpg
Несколько лет назад некий архитектор из Германии Фабиан Брусинг создал такой гениальный монумент с шипами “Плати и сиди”. По идее художника, или кто он там, на скамейках могут сидеть только успешные жители планеты. А успешные — это те, кто готов заплатить, чтобы сидеть.
Всего пол-евро и ты можешь посидеть в парке на лавочке!
http://www.fabianbrunsing.de/
https://cs5.pikabu.ru/images/big_size_comm/2015-11_6/1448771697117266887.png
Забавно, увлекалась железнодорожным транспортом. Видать очень головокружительно.
Забавно, но администрация ВК удалила заглавный пост с прощанием.
Забавно, но некоторые её аккаунты в других соц-сетях продали и теперь от её имени пишут.
Забавно, но её мать держит у себя в телефоне фотографии её раздетого трупа.
Забавно.
И Ио! Как мы были милы!
Горящее пламя Может ослабить ее пытки в аду/
«Нет мира, - говорит Господь, - для нечестивых».
У нас не будет покоя, пока они не будут очищены
«Нет мира, - говорит Бог мой, - нечестивым».
У нас не будет покоя, пока они все не сгорят
https://ruxpert.ru/Мифы_о_России
Мне кажется, он всю эту туфту наизусть выучил.
Обратите внимание на картинку.
Смешно, но тот же "клеарасил" может быть и для прыщей, и от.
Какой багор )))
Постель молодых родителей
Ня!
Faint вчера в 11:16: «… и никто не делает симулятор маневровой жд работы (диспетчера), а ведь там самый интерес — успеть освободить путь под прибывающий поезд, организовать безостановочную работу маневровых локомотивов, собрать из нескольких прибывших поездов один на отправку, да даже работа сортировочной горки чего стоит!
А так конечно здорово везти поезд с одного пункта на другой, но драйва не хватает :)»
Cobolorum вчера в 13:01: «ShortLine 2.0 не подойдет?»
Прикинь, они «Shortline» вспомнили!
http://jbss.de/
Кстати, мне фраза «proof already sent» почему-то показалась смешной. «Говнокод» деформировал моё восприятие.
Чорнявая дiвчина
В саду ягоди рвала.
Маруся раз, два, три, калина,
Чорнявая дiвчина
В саду ягоди рвала.
https://youtube.com/watch?v=K5XeqmfaJKk
Где же ты, где?
Волны ласкают усталые скалы.
Марджанджа, Марджанджа,
Где же ты, где?
Только блики на воде.
AÏ FÜ ÏLÏ
Ï DÏË ÏLÏ
Ï DÏË
print(string.byte("Ï").." "..string.byte("Ї")); --195 208
Когда-то эти точки пытались использовать и в английском, например, в слове coöperation. Потом стали тупо отбивать приставку дефисом.
Ещё много-много раз...
Мне кажется, нужно пойти дальше: переименовать Новый Афон в Северный Афон.
куууик?
не уходи
я буду пиздеть с тобой про лоулевел хуиту и кишки операционок
кууик