SOB R1, D1
SOB R1, D1
Вложение 77527
В этой строке в статье пара ошибок сразу, пока не понятно, это такая задумка автора, или просто ошибка ))
На мой взгляд - явная ошибка
Да, но у нас в "технаре" был преподаватель по физике, он примерно такие же шутки выдавал как автор статьи, и ошибки он оставлял специально, что бы мы как бы головой работали... И естественно, по эти ошибкам четко палились те кто пытаются разобраться и те кто просто зубрит... Вот я и предположил, что и этот автор статьи тоже ну примерно такой же "приколист". )) Хотя тут уровень немного другой, процесс обучения в форме лекции с практическим занятием это одно, а документация или "букварь" это другое. На лекции можно обратиться к преподу с вопросом, а тут к автору обратиться наверное не возможно...
Доброго времени !
Возник еще такой вопрос, а можно ли каким то образом перенаправить вывод программы DISASM в файл, ведь без этого программа бесполезна... Наверняка есть способ ?
Те программы DISASM, которые я знаю, только в файл и умеют выводить. Так что уточнение - что за программа имеется ввиду?
В бинарнике нашел DISASM V02.00 - похоже это версия. Я вполне могу предположить, что для того чтобы вывести в файл то что я получаю на экран - нада еще какие то атрибуты указать. Еще о файле? size - 8, block 448, 7:766 последний адресс в OCT редакторе.
Называется, соответственно DISASM.SAV
Если не сложно, просто пришлите версию этой программы, отправляющюю в файл листинг программы.
- - - Добавлено - - -
Вообще, поражаюсь с простоты, гибкости и изящества PDP-11 ассемблера. Разнообразие адресации, а еще такие простые конструкции, типа например MOV (R1)+, (R2)+ - завораживают. На 8080 это прямо таки несколько (как минимум три) строчек кода, а тут одна )))
Думаю, что если на базе этого ассемблера разработать синтаксис для 64 разрядного процессора - это будет просто пушка. Понятно, что сейчас все да языками высокого уровня, но процессор с красивым, продуманным ассемблером вполне может переломить ситуацию в мире )))
- - - Добавлено - - -
Причем этот восторг меня посещает в самом начале изучения, могy себе представить, какой этот восторг будет когда я чуть по ближе узнаю PDP-11....
run disasm demo.lst=demo.sav
Вполне возможно, что расширения можно не вводить - я взял пример из своего командника
Если помнить коды команд, можно вводить программы с пульта сразу в восьмеричном виде. Немного затрудняют относительные адресации (где надо смещение считать), но по мне, так восьмеричная арифметика проще шестнадцатиричной.
Был 32-ух разрядный с похожим подходом - VAX - от самой DEC. И было несколько (например, Motorola выпускала) процов на этой же идее набора команд и ортонональности. Не скажу наверняка, но вроде как у чужих процов всё же не было изящества PDP-11,а VAX использовал шестнадцатиричную запись - и тут мне сложней оценить.
Чего не хватает PDP-11 для идеала - разрядности. 16 бит всё таки мало.
И да, когда разработывали систему команд и кода PDP-11 - приследовалась цель легкости программирования на языка ассемблера. После тогоа, как я наткнулся на пакет макросов DSMAC (структурные операторы, пример я приводил выше) - я (когда активно программировал по работе на ака PDP-11 машинах) вообще перестал использовать ЯВУ (до этого писал на ФОРТРАНе, Паскале). Основное, что доставало до этого в MACRO-11 - необходимость в обилии меток. А с DSMAC и количество меток снизилось - даже не на порядок, и скорость написания увеличилась минимум на порядок.
- - - Добавлено - - -
А, да, где ещё ЖУТКО помогает DSMAC - при анализе программы после дизасма :) Куча меток исчезает, а за счёт структуированных операторов становится видна логика. Просто видна :)
В каком же это месте VAX похож? В нём же всё наоборот! Побайтовое кодирование опкода с опкодами переменной длины, как у x86!
Собственно, тупиковая архитектура. По сути, она попала в серию только по причине внитрифирменного переворота в DEC и захвата власти эффективными менеджерами, увы. Вся эта история прекрасно документирована её участниками.
В первую очередь -- преследовалась цель наиболе компактного и эффективного представления типовых программ, а так же упрощение компиляторов ЯВУ. Для чего был написан конфигурируемый эмулятор машины и пакет компиляторов, на которых и отлаживали систему команд. Пдочёркиваю отлаживали менно систему команд, машины ещё не было физически!
Это всё опять же документировано.