Вход
Быстрая регистрация
Если вы у нас впервые: О проекте FAQ
0

Кому нравится программировать на Ассемблере?

SeaMan75 [11.9K] 6 лет назад
2

Мне нравилось в детстве программировать в кодах PDP-11 (у меня был УКНЦ). Прямо из пультового терминала восьмиричными цифрами -- коды в голове -- помнить надо штук 20 опкодов. Самый сложный проект -- интерпретатор самопридуманного языка. Что-то наподобие известного на этой архитектуре "Фокала" (с такими же однобуквенными ключевыми словами), только я еще больше упростил себе задачу, сделав математические выражения в обратном польском виде, плюс еще можно было назначать подпрограммы на свободные буквы. Еще пытался там поддержку двухпроцессорности сделать -- чтобы если в следующей строке нет в качестве аргументов результата предыдущей, передать ее обработку второму процессору. Но как-то это временами странно работало.

SeaMan75 [11.9K]
Во как! Почти тоже самое, как и у меня :). В детстве кодил для Commodore 64. Очень хотелось все делать на ассемблере, так как проги бы тогда летали по скорости. Но в те времена даже намека на интернет не было, а в Минске - я просто плохо искал - транслятора ассемблера так и не нашел. В Москве программеров с таким же компом была тогда лавина, а в Минске как-то не так все было с этим. 1988-1989 годы... Все делал на Бэйсике - вставлял в программу машинные коды, потом циклом их загонял в память с определенного адреса и запускал на выполнение. До сих пор помню эти коды, хотя с тех пор прошло лет 25. Потом случайно нашел прогу, которая позволяла в мнемониках писать, то есть - уже можно было не помнить коды команд, а использовать мнемонику, то есть, вместо 169,0,141,32,208,141­,33,208 можно было писать:
lda #00
Sta $d020
Sta $d021
...
 6 лет назад
SeaMan75 [11.9K]
но не было меток, нельзя было вставить команды... А шкура горела так, что я в этой проге таки написал свой трех-проходной транслятор. Когда писал его, если где надо было вставить команду, писал заглушку - переход на нужный фрагмент, а потом переход обратно, по-другому было никак. И памяти было всего 64 килобайта, из них 20 килобайт было ПЗУ, но оно отрубалось. И чтоб сэкономить, стал текст всячески ужимать, ужал так, что трехбуквенная мнемоника умещалась в 5 бит. В итоге на моем ассемблере можно было полноценно и комфортно разрабатывать проги - исходник проги занимал мизер в памяти - один байт мог кодировать и первую букву метки и мнемонику и еще кучу других состояний, исходник был не текстовым, а бинарным файлом, после он транслировался в машинные коды...  6 лет назад
SeaMan75 [11.9K]
Чтоб побольше памяти было под прогу - вырубил ПЗУ... Пришлось еще самому делать альтернативу - мигающий курсор, работа с экраном, с файлами. В итоге все заработало идеально и я начал всякое разрабатывать - графические редакторы, музыкальные редакторы... Арифметику с плавающей точкой прикрутил - все сам - инета не было, скопипастить было неоткуда...
А шкура все горела, мне мало было этого, я написал на своем ассемблере нечто, на чем можно программировать комфортно, но чтобы память не забивать никакими исходниками. Все получилось - у меня была прога, которая на лету дизассемблирует и транслирует все, имеет таблицу меток, на лету корректирует команды переходов в случае вставок команд... Все было супер, но... внезапно наступила эра IBM совместимых компов...
 6 лет назад
SeaMan75 [11.9K]
Вот в те времена я и узнал, что я написал свой ассемблер, чтобы на нем же написать некий аналог Soft Ice IDA. И все это забросить и переехать на IBM, где уже все было написано!.. И зачем я свое детство тратил на все это...  6 лет назад
комментировать
Знаете ответ?
Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее..
регистрация