User Tag List

Страница 7 из 28 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 276

Тема: Практическое программирование в среде RT-11 на ассемблере.

  1. #61

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    На сегодняшний день всё самое вкусное из Фортрана реализовано в любом языке программирования
    И где так же правильно нативно реализован тип COMPLEX ? Сразу скажу, переопределение всей арифметики в приплюснутом Си не в счет, это костыли!
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  2. #61
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #62

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    нативно реализован тип COMPLEX
    А также полноценные неограниченные аргументы которые можно пропускать
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  4. #63

    Регистрация
    28.11.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    9
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    Я попытку ответа сделаю основываясь на опыте ПАСКАЛЬ + МАКРО11 и сторонние obj библиотеки,
    такая команда вызывает глобальную процедуру (функцию) SUB и передаёт ей входящий параметр = 1.
    Я ж не просто так привёл анекдот про Холмса: строка CALL SUB(1) на самом деле не делает ничего. То есть вообще НИ-ЧЕ-ГО. Если кто-либо что-либо и делает, то:
    1. Процессор под управлением транслятора, генерируя объектный код.
    2. Процессор под управлением оттранслированной и скомпонованной программы, исполняя её код. Естественно, система команд этого кода должна совпадать с системой команд процессора. Ещё более естественно, что от строки исходного текста в исполняемом коде не остаётся ничего, даже если исходник был на языке ассемблера, не говоря уже о ЯВУ.

    Что же до фортрана, то в RT-11 (и её родителях) при передаче параметров он передаёт такой мощный блок этих параметров, что паскали и прочие ассемблеры нервно курят в сторонке. Начнём с того, что в разбираемом случае он передаёт подпрограмме две единицы. Кстати, именно из-за структуры этого блока длина имени подпрограммы фортрана ограничена 6-ю символами. И если мне не изменяет память (паскалеводы меня в случае чего поправят), то паскаль в RT11 требовал процессоров с плавающей арифметикой. Фортран же не только не требовал, но на процессоре 1801ВМ2 даже выполнял эти вычисления вчетверо быстрее паскаля. Правда, знающие люди сказали, что на оригинальном процессоре LSI-11 этих тормозов не было, но мой опыт работы ограничен только советскими ЧПУхами, а в них были только 1801ВМ1 да 1801ВМ2, да полная плата М2 от Электроники-60.
    в чём вы видите неряшливость кода?
    После ASCIZ ни разу нет выравнивания на границу слова. В первом разе это прокатило, поскольку получилась последовательность чётной длины. Во втором разе длина последовательности получилась нечётной, но поскольку это было в конце программы, то можно условно считать, что тоже прокатило. В любом случае транслятор поправил бы эту ошибку, от чего я и сказал не "ошибка", а именно "неряшливость". В 16-разрядной системе байтовая адресация - атавизм (вон, у 64-разрядного Крея и символьные, и целые, и плавающие, и комплексные данные имели разрядность 64 бита!), поэтому с ней надо быть поаккуратнее. Точно так же неряшливо товарищ задал и свой "сложный" вопрос, сложность которого заключается именно в неопределённости, расплывчатости, недосказанности его формулировки.
    Всего доброго.
    Евгений.

  5. #64

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    373
    Поблагодарили
    310 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eats Посмотреть сообщение
    Точно так же неряшливо товарищ задал и свой "сложный" вопрос, сложность которого заключается именно в неопределённости, расплывчатости, недосказанности его формулировки.
    вопрос был именно о Фортране и особенности передачи аргументов библиотечным процедурам и функциям.
    Обычный абстрактный вопрос как дополнение к билету на экзамене )))

    - - - Добавлено - - -

    Цитата Сообщение от Oleg N. Cher Посмотреть сообщение
    Возьми книгу С.Свердлова
    Приветствую, Олег! Редкий ты гость в нашем разделе )
    Книгу обязательно для общего образования поизучаю - поскольку мне сама тематика интересна. Остальные разборки по Фортрану тут в общем то и связаны с ОС и оборудованием не совсем современным ) Там есть ключевой комментарий от form'а, в чем именно
    уникальность реализации Фортрана для PDP ) Хотя - некоторые вещи не стареют и со сцены не спешат уходить )
    Последний раз редактировалось hobot; 07.12.2016 в 03:32.
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  6. #65

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Eats Посмотреть сообщение
    именно из-за структуры этого блока длина имени подпрограммы фортрана ограничена 6-ю символами
    А у ассемблера MACRO-11 каким блоком это ограничение вводится?
    Может все-таки дело в формате символьных таблиц стандартного OBJ файла для PDP-11?
    В этом блоке ровно n+1 (где n - количество аргументов как указанных так и пропущенных) слов. Первое слово слово - количество аргументов, следующие - адреса (или -1 если аргумент пропущен). Все. К именам никакого отношения. К слову, такой способ передачи параметров ипользуется почти во всех реализациях фортрана, не только в RT-11. Почти - потому, что есть g77 в котором параметры передаются по сишному или около того, но его и фортраном-то назвать нельзя ибо он не умеет самое главное в фортране - отрабатывать фортрановский (!) символ форматирования
    И, к слову, к чему поминать фортран для RT-11? Точно также все выглядит и в фортране для RSX. Можно скомпилировать в одной системе, перетащить результат в другую, и уже там собрать.

    Цитата Сообщение от Eats Посмотреть сообщение
    то паскаль в RT11 требовал процессоров с плавающей арифметикой
    Это параметр генерации паскаля. Другое дело, что в союзе наверное никто никогда не видел дистрибутива паскаля для RT-11 (у меня его до сих пор нет - только для RSX).

    UPD. Проверил тот паскаль, что у меня есть в RT-11 - без FPP все работает. Тест правда совсем простой - несколько действий с плавающей точкой.

    Цитата Сообщение от Eats Посмотреть сообщение
    После ASCIZ ни разу нет выравнивания на границу слова.
    После ASCIZ нету, но в данном конкретном случае есть - это обусловлено размером строки. XXX в коментарии для того и написано, что это "криво, но работает". Разумеется в живой программе если там была бы строка текста, после нее бы стоял .EVEN. Ставить же его после любой строки ну совершенно необязательно (например если она часть структур данных фиксированной длины). Именно так подобные вещи коментируют и в наше время (см исходники любой операционки и софта под нее).

    Цитата Сообщение от Eats Посмотреть сообщение
    сложность которого заключается именно
    Сложность видимо заключается в желании позанудствовать. Вопрос (а точнее - тоже позанудствую - упоминание вопроса) выглядел понятным для всех, кроме Вас
    Последний раз редактировалось form; 07.12.2016 в 08:16.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  7. #66

    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    373
    Поблагодарили
    310 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я понимаю, что 77 Фортран на PDP наверное самый прогрессивный, но ведь
    есть ещё более ранняя (или просто другая) реализация с римским номеров в названии iV как у него
    там с системными вызовами (имеется в виду системная библиотека)? И в целом, надо бы кратко хотя
    бы охарактеризовать обе реализации и совместимость (синтаксис) программ? Кстати в сети полно
    по разному обоснованных рекомендаций Фортрана как "первого алгоритмического языка" вместо Бейсика или
    Паскаля.

    - - - Добавлено - - -

    Глядя на объём всего F77 на диске RT-11 5.7 - для чисто флопов очень как-то громозко всё выглядит, с ЖД ничего не страшно (это я про УК-НЦ!).

    - - - Добавлено - - -

    F-IV компактнее, но видимо совсем совсем не актуальный???

    - - - Добавлено - - -

    В инете упоминается 77 и 90 синтаксис: 90 - это уже за пределами PDP видимо?
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  8. #67

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    названии iV как у него
    там с системными вызовами (имеется в виду системная библиотека)?
    Библиотеке пофигу к какому фортрану ее подключить. Формат вызова одинаковый.

    Цитата Сообщение от hobot Посмотреть сообщение
    объём всего F77 на диске RT-11 5.7
    Да, F77 здоровенный и по большому счету в SJ/SB/FB фактически непригоден для компиляции больших программ - просто памяти не хватит.

    Цитата Сообщение от hobot Посмотреть сообщение
    90 - это уже за пределами PDP видимо?
    У DEC F77 последняя реализация.

    Цитата Сообщение от hobot Посмотреть сообщение
    F-IV компактнее, но видимо совсем совсем не актуальный???
    Честно говоря, ни разу не видел фортрановской программы, выходящей за рамки FIV
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  9. #68

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А у ассемблера MACRO-11 каким блоком это ограничение вводится?
    Может все-таки дело в формате символьных таблиц стандартного OBJ файла для PDP-11?
    А тут еще неизвестно, кто виноват. Запросто может быть так, что, проектируя формат объектного модуля, инженеры DEC прикинули, что стандартному Фортрану 6-символьных внешних имен хватает, ну и нам хватит! Мы же, мол, не Систему-360 проектируем...

    - - - Добавлено - - -

    Цитата Сообщение от Eats Посмотреть сообщение
    Правда, знающие люди сказали, что на оригинальном процессоре LSI-11 этих тормозов не было, но мой опыт работы ограничен только советскими ЧПУхами, а в них были только 1801ВМ1 да 1801ВМ2, да полная плата М2 от Электроники-60.
    Если что, М2 - это цельнотянутая LSI-11/03, отличие лишь в корзиночном разъеме - в оригинале он дюймовый, у нас его сделали метрическим, с шагом ног 3.00 мм.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  10. #69

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    DEC прикинули, что стандартному Фортрану 6-символьных внешних имен хватает
    Фортран тут абсолютно непричем. Это ограничение формата OBJ. Пофигу фортран это, MACRO-11 или еще кто
    Формат записи о символе в OBJ файле: два слова имени в RADIX-50, байт 0, байт 2 и еще одно слово просто так.
    И никаких различий между маленькими и большими буковками. Если такое различие нужно - его нужно реализовывать обходными путями.
    Последний раз редактировалось form; 07.12.2016 в 11:39.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  11. #70

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Фортран тут абсолютно непричем. Это ограничение формата OBJ.
    Естественно. Но, когда сочиняли этот формат OBJ, по фигу было, сколько слов в RAD50 отвести под это имя - 2, 3 или вообще плюнуть на этот RAD50 и забабахать строку ASCII произвольной длины до 255 символов. Однако выбрали 2 слова RAD50 и нельзя исключить влияние Фортрана, что мол Фортрану 6-символьных идентификаторов хватает, ну и нам хватит.

    Более того, похоже, это началось еще раньше. Первый-то ассемблер был абсолютным, результат выдавал в виде LDA-файла. И фактическая длина меток (любых) в 6 символов как бы тоже не с Фортрана была позаимствована - из тех же соображений: Фортрану хватает, и нам хватит!..
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

Страница 7 из 28 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Арифметические процедуры на ассемблере
    от spensor в разделе Программирование
    Ответов: 27
    Последнее: 13.05.2017, 20:56
  2. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  3. try-catch на ассемблере z80
    от siril в разделе Программирование
    Ответов: 22
    Последнее: 30.10.2012, 21:17
  4. Продам книгу- AMIGA: программирование на ассемблере
    от Doctor Max в разделе Барахолка (архив)
    Ответов: 11
    Последнее: 01.03.2012, 00:35
  5. Подпрограмма на ассемблере в памяти?
    от jimled в разделе Программирование
    Ответов: 1
    Последнее: 29.11.2009, 06:46

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •