forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   История Мэла (http://forum.boolean.name/showthread.php?t=16660)

Taugeshtu 18.04.2012 21:53

Ответ: История Мэла
 
А мне кажется, что импэ троллит/проводит очередное исследование/пишет диссер.
Первый вброс (соседний тред, "головоломка") отклика у булошников не нашел, а тут прям как живо поцарапал никелированное покрытие на сердце мозге кусок текста!

Как развлекательное чтиво мне рассказ про один байт, кстати, больше понравился.

Randomize 18.04.2012 22:26

Ответ: История Мэла
 
Цитата:

Сообщение от ffinder (Сообщение 225856)
вот с инета выдрал кусок кода для спека:
LABEL LD HX,A LD B,TABLADR ADD A,A LD C,A LD A,(BC) LD D,A INC BC LD A,(BC) LD E,A
PUSH DE LD B,CHANKS CALL PUTLIN POP DE LD A,HX INC A CP HGT JR NZ,MOVCH2 RET

Чёрт. Ты завалил мою запланированую работу на сегодня. Сижу изучаю

HolyDel 18.04.2012 22:46

Ответ: История Мэла
 
Мэл мужик. он не пошел на поводу у монетарной системы, и сделал как хотела его душа.

impersonalis 18.04.2012 22:54

Ответ: История Мэла
 
Вложений: 1
[самолюбование]А я.. а у меня.. а я тоже в байткодах писал:

Программа перемножения чисел
Ниже будет приведён дамп памяти программы перемножающих два положительных числа, заданных по адресам FFF и FFE. Результат будет находиться в регистре АС.

000 2FFF
001 7200
002 7020
003 3099
004 7800
005 1FFE
006 6099
007 4005
008 7001
099 0000
FFE 0003
FFF 0002

Простите за рукожопство и лень, но таблицу не реализовал средствами форума - привожу скриншот из мануала к коду (там ещё предшествующее описание, тестовые запуски и т.п.).

Вложение 16655[/самолюбование]
p.s.: АВТЭ, твой ход

ABTOMAT 18.04.2012 23:25

Ответ: История Мэла
 
Вложений: 2
Цитата:

Сообщение от impersonalis (Сообщение 225868)
p.s.: АВТЭ, твой ход

ну раз > p.s.: АВТЭ, твой ход
откопал в своём талмуде

Столбец "метка" использовался для меток. Чтобы можно было сличить с адресом.
В дальнейшем, если метка юзалась, например, в jnz, то искалась она выше и в код подставлялся её адрес.
(на данных листах нет к сожалению нигде меток, но, вроде, ясно пояснил)
Как дополнительное применение - в ту графу (т.к. места много) ставилась галочка, сигнализирующая о том, что команду внесли в память ЭВМ, т.к. из-за дребезга контактов* не всегда удавалось это сделать: кнопка ввода "нажималась" 2 раза вместо одного и "курсор" "перескакивал" на послеследующий байт в памяти. Т.к. функция "вернуться назад" была не предусмотрена, то ввод программы продолжался дальше, а рядом с невведённой командой не ставилась галка с тем, чтобы ввести её позже. Когда ввод программы был окончен, смотрели где нет галочек и записывали те байты снова по одному.
Справа - фото ЭВМ, на которой проводилась работа.

Кстати использование сей машины мне в университете очень понравилось. Сразу отпало много вопросов о работе программ в ЭВМ. Но одно дело - делать в универе, а другое - на работе.

*google it

ffinder 18.04.2012 23:40

Ответ: История Мэла
 
Цитата:

Сообщение от impersonalis (Сообщение 225855)
Кстати про подобную оптимизацию цикла слышал от одного, довольно зрелого программиста (пик карьеры - эпоха перфокарт): именно так (емнип) они экономили число команд в тяжёлом многоитерационном цикле.
ИМХО, конечно - данных [требований, условий работы, сроках] недостаточно.

короче эта оптимизация походу вечная:
на дискетах располагали данные со смещением на дорожках так, чтобы когда головка перейдет с одной дорожки на другую можно было сразу читать, а не ждать полного оборота диска.
в играх для PS2 тоже оптимизировали расположение данных на DVD так, чтобы более частые лежали ближе к центру диска.
НО! в обоих случаях это был слой системы: т.е. для остального кода работа с файловой системой была прозрачной.
а у Мэла это был просто говнокод.
т.е. если бы Мэл был нормальным таким мужиком, а не мудилой самовлюбленным, он бы написал транслятор из неоптимизированного кода в оптимальную раскладку на магнитном барабане и этим пользовались бы все программеры в конторе. но он хотел быть "единственным и неповторимым".

ffinder 18.04.2012 23:43

Ответ: История Мэла
 
Цитата:

Сообщение от ABTOMAT (Сообщение 225859)
Да вот думается мне что вряд ли это дало прирост в разы. Проценты и даже десяток процентов не стоят тех проблем.

автэ, да хоть бы даже и в разы.
правильный ход я описал в сообщении выше.
а иначе все будет как ты описал:
Цитата:

Сообщение от ABTOMAT (Сообщение 225859)
Поменяется тип носителя данных - прога по п*де пойдёт. Усовершенствуют они этот комп - ай маладца надо прогу снова переделывать!
- незначительно поменялась железка - прогу надо переделывать заново
- что-то надо незначительно поменять - прогу надо переделывать заново
- программист не хочет делать что ему скажут - прогу надо переделывать заново
- программист поменялся - прогу надо переделывать заново


impersonalis 18.04.2012 23:44

Ответ: История Мэла
 
Цитата:

он бы написал транслятор из неоптимизированного кода в оптимальную раскладку на магнитном барабане
согласен. И, с этого, в принципе, мог бы озолотится. Но он маньяк (в плане психического здоровья).

tormoz 19.04.2012 02:26

Ответ: История Мэла
 
Цитата:

Сообщение от ffinder (Сообщение 225856)
вот с инета выдрал кусок кода для спека:
LABEL LD HX,A LD B,TABLADR ADD A,A LD C,A LD A,(BC) LD D,A INC BC LD A,(BC) LD E,A
PUSH DE LD B,CHANKS CALL PUTLIN POP DE LD A,HX INC A CP HGT JR NZ,MOVCH2 RETкомментарии умышленно стер.
так вот, дорогие булочники, этот код в отрыве от контекста может делать ну почти всё что угодно. это вам не ЯВУ.

Где-то у меня валяется общая тетрадь битком набитая такой хренью. 40 листов - 3 кбайта
Писал на работе, параллельно троллил коллег и начальство (тогда компьютер был наравне с космическим кораблем - все слышали, но близко никто не видел)
Потом 20 часов без сна я ее вводил (хдд на синклере не было, выключать низзя), и недели 2 отлаживал.
А сколько радости, когда заработало ! Это вам не хеловорды на писюках...:-D
Это было игра "Го". Комп играл на крепкого середнячка.


Часовой пояс GMT +4, время: 14:56.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot