Comments 19
Спасибо, любопытно.

Интересно, что заставляет людей помнить в совершенстве язык ассемблера для ПК, выпущенного в 82 году? Или где-то в промышленности эти процессоры еще используются?

У меня в детстве был Спектрум, и я писал код на нем, но что-то ностальгии никакой не испытываю, как и желания написать что-нибудь еще раз.

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

А я вот сижу вторую неделю за эмулятором спектрума, просто интересно, смогу сделать, что нибудь интересное или нет :)
Просто приятно поиграться тёплыми ламповыми байтами и битами, заменять умножение сдвигом, использовать флаг переноса для зеркалирования битов в байте, писать напрямую в видеопамять, использовать недокументированные команды, операции со стеком для обмена регистрами и изменения точки выхода из подпрограммы…
На чём это сейчас можно сделать?
Когда-то давно, написал процедуру для ZX-Spectrum'а, выводящую символ в любую точку экрана. Кто под него прогал, помнит маразматическую адресацию видеопамяти. Так вот с использованием недокументированных инструкций и прочего изврата, процедура с 200 байт урезалась до нескольких десятков. Точно не помню. Была общая тетрадка, в которой ручкой был написан код, и сумма байтов по каждой версии процедуры. Потом тетрадка потерялась в водовороте времени. Эта процедура позволяла написать собственный загрузчик, который в процессе загрузки программы писал предложения и выводил динамические спрайты на экран.
Такие дела.
А сейчас смотрю я на STM32, говнокод, КУБ и прочее, и плачу кровавыми слезами…
В теплые ламповые времена программисты были бородатыми и ходили в белых халатах. И тебовался качественный код. А сейчас — RAD — этим все сказано. Взял человека с улицы, дал ему КУБ и он мышкой насчелкал шедевр. А поцчему переполняется стек или не хватает памяти? одно решение — берем процессор дороже и все ок… Может, так и надо.
А поцчему переполняется стек или не хватает памяти? одно решение — берем процессор дороже и все ок… Может, так и надо.
Это «жизнь внутри пузыря»: пока можно купить больше памяти/быстрый чип/etc (а через 2-3 — он уже будет стоить как сегодняшний low-end) никто особо и не будет задумываться.

А дальше… всё зависит от пресловутой сингулярности: если она случится — то и мы и все «щёлкатели мышью» окажемся не нужны. А если нет — вот тогда и придётся-таки воевать за эффективность.

А пока есть возможность впарить покупателям любое дерьмо, выпускающее 99.999% всех ресурсов «в свисток»… его и будут впаривать.
Если для работы под Семеркой не хватает 4 ГБ памяти — берите 5 ГБ:)
А может на 3 ГБ даже выйдет установить не самую старую версию Десятки. А в виде процессора Вы конечно берите Core i7 7740X, хватит Вам частоты?
Необязательно «помнить». Вы удивитесь, но сейчас хватает людей, обладающих, например, навыком проявки фотоплёнки, но не заставших времена её расцвета. При достаточно большом желании можно найти даже современного кузнеца, специализирующегося на изготовлении доспехов (или ещё что-нибудь подобное). Людям это интересно, это удовольствие для их души.
Прочитал статью, вспомнились былые времена. Но одновременно с этим возникло понимание того, насколько сейчас «грязно» пишут. Ради интереса спросил как-то разработчика:
— А ты после выполнения запросов и расчетов что делаешь с памятью?
— Ничего.
— Но это же неправильно, может возникнуть ситуация что памяти не хватит и программа вылетит…
— Напишу в требованиях более высокие характеристики, было 4Гб ОЗУ станет 8Гб…

После такого диалога осталось только горестно вздохнуть и махнуть рукой…
Мне тоже раньше хотелось махнуть рукой.
Теперь хочется вдарить.
А раньше писали BOOT для спека в 256 байт.
Когда-то давно на ноуте с XP использовал гибернацию и каждый раз перед уходом в гибернацию оперативки тратилось все больше. Оперативки был 1 ГБ, если что.
Трюк 2. Самомодифицирующийся код


Сразу вспоминаются игры для программируемого калькулятора типа Б3-34 (МК-61).
Им тоже не помню чтобы удалось. Там были всякие неправильные режимы, ломающие программный код, но так чтобы целенаправленно — такого не помню.
Про «Агат» ни слова, хотя тоже 6502. выполняем код с адреса 2000: 9d 00 c7 e8 4c 00 20, и радуемся сбою снхронизации дисплея.
На 6502 много чего, в своё время, делали. А Агат к C64 отношения не имеет, это клон Apple ][, если не ошибаюсь…
На хабре много про них, Агаты писали Их было 2, Агат-7 и Агат-9, вышериведенный код очень быстро переключает графические и текстовые страницы. На 7 потери синхры не было. На 9 монитор начинал шипеть :)
Only those users with full accounts are able to leave comments. Log in, please.