Nick Verdi

+18
с 2021
0 подписчиков
27 подписок

В Минске яндекс такси все другие такси выдавливает...

Нет, до тех пор, пока сверло не станет красным от короткого замыкания... 

1

Понабирают всяких рукожопов, а потом перебиты кабели. Мы как-то тоже тянули сеть. Напарник пьяный был, перебил силовой кабель, обесточил квартиру. Мы не сбежали, все восстановили и жильца не футболили. Но после я решил, что мне в одиночку хоть и труднее, но спокойнее. Я натягал километры кабелей, насверлил миллионы отверстий, набрался опыта, знаю точно, где можно попасть на кабель и без прибора, но без детектора скрытой проводки на монтаже делать нечего. Даже если его не выдают. 

Часто так и делалось, например, для очистки экрана в графическом режиме, в $fb клали lo-byte, а в $fc - hi-byte адреса $2000:
Ldx # 00
Lda # $20
Stx $fb
Sta $fc
И далее чистка экрана
Bb: Txa
Aa: Sta ($fb), x
Dex
Bne aa
Inc $fc
Lda $fc
Cmp #$40
Bne bb
Rts
Как то так... 

Более чем знаю. И помню до сих пор всю систему команд 56 штук и все 13 методов адресации. Идой можно влезть в exe-шник и вставить свой код, не поломав ничего? До появления у нас ibm-совместимых я свой самопалкой ломал игрушки без проблем, делал бессмертие, выдирал музыку и вставлял ее в свои игрушки. Как музыку выдернуть из чужой программы в 1989 году? Найти массивы байт, которые - частоты для регистров SID, зная, что регистры SID начинаются с адреса 54272 (в десятичном), по этим ключикам найти где обращения к регистрам... И по цепочке найти весь кусок кода, который воспроизводит трехканальную музыку. В 64 килобайтах это сделать более чем просто.
На своей самопалке я комфортно и непринуждённо программироаал на Ассемблере. Используя ИДУ врядли можно легко написать свою программу с нуля. А на моей можно было. 
И что не так с 00ff - ffff? Что я там не знаю? По пдресу $1 есть бит, который отключает пзу и тогда можно использовать все 64 килобайта минус память для текстоаого экрана 1 килобайт и знакогенератора. Или графического экрана 8 килобайт... А по адресам 00 - ff - много всякой системной шняги. Это нулевая страница. 
По тому же $1 есть бит, который управляет динамиком магнитофона, который юзали для чтения данных с лент. 
Я на Commodore 64 в свое время писал проги и игрушки на Ассемблере. И все это отлично работало. Я знаю и помню ещё, как работает, звук, графика на этом компе. Так что я не фантазер... Но есть люди, которые скорее всего никогда не программировали на C64, но они уверены, что "знают" все лучше тех, кто программировал. 
Я за свои слова ответил. Теперь ваш ответ по поводу "пассажа 00ff - ffff" жду, если есть, что сказать... 

2

А кто-нибудь из них знает, что такое ООП? Что такое раннее и поздее связывание? Паттерны проектирования, структуры данных? И вообще, смогут ли они обойти дерево в ширину? Они ж АЙТИШНИКИ!??? 

Это прога для 8-битного процессора MOS Technology. Я был тогда молод, энергии много. И очень сильно хотелось программировать на Ассемблере. Но это был Минск, еще практически ни у кого не было дома компов, а у меня уже появился Commodore 64 без дисктвода, на кассетах. И я реально не знал, где найти для него транслятор с языка Ассемблер в Минске. В итоге сам и написал типа дизассемблера и монитора-отладчика, в котором можно было программировать на Ассемблере. И добавил туда нечто типа разметки памяти - области, где код, где данные. (это не Intel, не контроллер. Процессор не различал области с кодом и данными.) Добавил переменные, метки. Добавил возможность вставлять команды ассембера в программу, чтобы не ломались команды переходов. И в итоге вышел инструмент, с помощью которого я взламывал чужие проги, игркшки, добавлял своё в чужой код. После чего все отлично работало и не ломалось. Я давно хотел узнать, чем заканчивается одна из игрушек той эпохи Zombi. Пройти ее было нереально. Всего 5 жизней давалось. В итоге нашел место, где счетчик жизней декрементится и забил его командой NOP. Дошёл до конца и спас принцессу. 
Потом, используя свой инструмент, написал таки и свой Ассемблер, где уже программы транслировались. Но так как памяти всего 64 килобайта, я стал искать способ сэкономить память, чтобы в памяти и текст проги был и скомпиленный исполняймый код. Извернулся. Начал жестко паковать текст, например так: первый байт мог хранить в себе кучу признаков и от них зависела интерпретация следующих байт. Трехбуквенные мнемоники в байт прятал - их всего 56 штук, можно закодировать каждую в байте......... В общем, исходный код, который хранил команды Ассемблера, метки занимал мало места. Я успел сделать текстовый редактор для такого кода, музыкальный, графический редактор., генератор кроссвордов, Тетрис... Все это на своей самоделке... Чтобы добавить еще 20 килобайт, вырубил ПЗУ, в котором был знакогенератор, бэйсик, система ввода/вывода и сделал свою операционную систему. Ибо иначе никак. Вырубается ПЗУ и ничего нет! Когда сделал свою операционку, Ассемблер, можно было целиком почти занимать всю память компа от 00ff до ffff своим кодом и данными....... В общем, многому в итоге научился, много всякого сделал, но это никому не нужно было. Если б я раньше чутка родился и сделал бы тоже самое, возможно это бы пригодилось другим владельцам таких же компов... Но я не успел. Пришла эра IBM и я переехал на IBM. И уже не пришлось изобретать велосипед, на IBM уже все было... 

8

Супер! Я тоже начинал с детства программировать... В 14 лет я сделал прогу, которая оказалась лучше, чем SoftIce IDA...

5

Ну вот, благодарю. Теперь, наконец, я знаю, ЧТО И КАК ОТВЕТИТЬ за зарплату! 

2

Все просто. Надо читать толковые книги и программировать. Если что-то непонятно, читать еще раз. Писать код надо с полным пониманием для чего так делается. Java совсем не сложный ЯП. И C++ просто...