Forth и Ассемблер

Тема в разделе "WASM.BEGINNERS", создана пользователем TerraIncognita, 30 апр 2008.

  1. TerraIncognita

    TerraIncognita New Member

    Публикаций:
    0
    Регистрация:
    30 апр 2008
    Сообщения:
    22
    Есть ли связь между Фортом и Ассемблером?
    Где-то читал, что форт был создан под влиянием Ассемблера.
     
  2. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Судя по моим воспоминаниям он появился на PDP вместе и вместо Си. Экспериментаторам нужен был язык для работы с аппаратурой и для выполнения простых вычислений. И Ассемблер и Си им не подходили. По крайней мере на СМ-3 и СМ-4 я видел его именно у наших экпериментаторов.
     
  3. eight

    eight New Member

    Публикаций:
    0
    Регистрация:
    14 авг 2007
    Сообщения:
    27
    Конечно же связь есть. На макроопределениях ассемблерных можно добавлять новые слова в словарь форта. Форт ведь в каком-то понимании тоже "пишется", и пишется зачастую на асме
     
  4. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Ассемблер и Форт изобрела фирма IBM - в 1950 и в 1958 году соответственно(см. wiki).
    Что касается макросов, то в wiki упоминается про Forth assembler - видимо это позднее изобретение.
    Но ясно, что в 1958 все полезное из ассемблера было включено в Форт :)
     
  5. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Вообще-то Форт появился слегка позднее ;) Не стоит путать его с Фортраном, с которым он не имеет ничего общего.
     
  6. Asterix

    Asterix New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2003
    Сообщения:
    3.576
    http://www.reng.ru/board/viewtopic.php?t=2558
     
  7. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    SII
    Откуда это известно? Я почитал немного про Форт и вспомнил на чем работали экпериментаторы.
    Похоже они называли Форт-ом систему макрокоманд специализированную. Там был интерпетатор и операторы были похожи на обычный ЯВУ, а вовсе не на натуральный Форт. Я думаю славу ему создали именно библиотеки макросов, а не сам оригинальный язык. Фактически это был расширяемый интерпретатор.
     
  8. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    Помню из книг, читанных ещё лет 15-20 назад. Форт создал какой-то кадр, который делал программу для управления телескопом с помощью имевшегося у него под рукой компутера (дело было вроде бы в 1970-х). Какого именно -- не помню, но сомневаюсь, что PDP-11, по той причине, что название FORTH возникло от FOURTH ("четвёртый"), а одну букву выкинули из-за того, что она не лезла в принятую на машине систему кодирования знаков. Однако на PDP-11 приняты две системы, и в обе влазит шесть, а не пять знаков: это либо обычный код ASCII, тогда для хранения шестисимвольного имени надо три слова (шесть байтов), либо код RADIX-50, в котором три символа пакуются в одно слово. Хотя утверждать за давностью времени не буду: возможно, он использовал какую-то особо извращённую ось.

    В конце 1950-х появился Фортран -- первый ЯВУ вообще, однако никакого отношения к Форту не имеющий. Был ли создан он в недрах IBM, я не знаю, но что на её машинах его трансляторы появились в числе первых, это точно.

    Ну а что касается Википедии, то к ней надо относиться достаточно осторожно: там ведь нет редакторов, корректоров и т.д. и т.п., поэтому написать могут любую чушь -- хоть злонамеренно, хоть по незнанию.
     
  9. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    IMHO Первым ассемблером и одновременно первым интерпретатором стал псевдокод и набор инструкций Short Code, разработанный в июле 1949 года американцами Пресом Экертом и Джоном Мошли для ЭВМ BINAC. Решение любой задачи вначале записывалось математическими уравнениями. Те в свою очередь, посимвольно транслировались в коды: из «a=b+c» в «S0 03 S1 07 S2». На заключительном этапе коды приобретали двоичный вид, а каждая строка после ввода автоматически выполнялась. Первая практическая задача, которую решил ассемблер, — расчет таблиц артиллерийской стрельбы для американских баллистиков. Ассемблеры на мнемонических кодах («MOV», «ADD» и т.д.) появились только в середине 50-х. Авторы языка ассемблер более известны изобретением самых первых вычислительных машин (на вакуумных трубках): ENIC (1946 г.), BINAC (1949 г.) и прямого предка современных компьютеров UNIVAC I
     
  10. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Mikl__
    Немного неточно. Фактически ЭВМ были изобретены до Второй Мировой и действительно применялись для наведения на быстрые цели. Разработка была засекречена. После войны поняли, что эти машины могут решать другие задачи, т.е. они универсальны.
     
  11. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    valterg
    изобретены и применялись немного (совсем чуть-чуть) разные понятия
    Конрад Цузе в 1940 получил поддержку Исследовательского института аэродинамики (нем. Aerodynamische Versuchsanstalt), который использовал его работу для создания управляемых ракет. Благодаря ей Цузе построил доработанную версию вычислителя — «Z2» на основе телефонных реле. В отличие от «Z1», новая машина считывала инструкции перфорированной 35-миллиметровой киноплёнки. Она тоже была демонстрационной моделью и не использовалась для практических целей.
    в 1941 году Цузе создаёт уже более совершенную модель — «Z3», которую сегодня многие считают первым реально действовавшим программируемым компьютером. Впрочем, программируемость этого двоичного вычислителя, собранного, как и предыдущая модель, на основе телефонных реле, также была ограниченной. Несмотря на то, что порядок вычислений теперь можно было определять заранее, условные переходы и циклы отсутствовали. Тем не менее, «Z3» первым среди вычислительных машин Цузе получил практическое применение и использовался для проектирования крыла самолёта. Все три машины, «Z1», «Z2» и «Z3», были уничтожены в ходе бомбёжек Берлина в 1944 году. А в следующем, 1945 году, и сама созданная Цузе компания прекратила своё существование.
     
  12. Stiver

    Stiver Партизан дзена

    Публикаций:
    0
    Регистрация:
    18 дек 2004
    Сообщения:
    812
    Адрес:
    Germany
    Mikl__
    Мнемонический ассемблер вводится в книге "The Preparation of Programs for an Electronic Digital Computer", автор David Wheeler. Это 1951 год, книгу я в свое время выкладывал на cracklab'e. То есть появился ассемблер в конце 40х годов, когда Wheeler начал работать с EDSAC'ом.
     
  13. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Stiver
    И я примерно об этом, изобретение и практическое использованиие ЭВМ началось после второй мировой войны а изобретение ассемблера как языка программирования нельзя приписывать только одной фирме IBM
    PS valterg ничего личного:) не обижайся
     
  14. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    SII
    FORTH сократили, т.к. имена файлов были не более 5 букв(это тоже из wiki). Т.ч. явно это не 70-е, а гораздо раньше. Возможно реализация была настолько проста или он был удобен, что его заново создавали на новых ЭВМ и поэтому столько вариаций. Кстати в БИОС-ах серверов сначала не было меню, а был .... правильно - ФОРТ. На SUN, например.
     
  15. SII

    SII Воин против дзена

    Публикаций:
    0
    Регистрация:
    31 окт 2007
    Сообщения:
    1.483
    Адрес:
    Подмосковье
    valterg

    Форт, как и многие другие языки, существует на многих машинах -- в том числе на PDP-11 и IBM System/360. Ну а ограничение в 5 символов -- это какая-то достаточно экзотическая машина или ось. Не следует забывать, что в 1960-1970-х их были десятки, если не сотни.

    Что же касается БИОСа серверов, то Ваша формулировка не совсем корректна. Серверы существуют в разных архитектурах, и везде свои заморочки. В конце концов, мэйнфреймы IBM можно ж рассматривать как серверы (недаром нынешние мэйнфреймы называются zServer) -- но там БИОСа не было вообще, всё программно доступное адресное пространство составляла оперативная память (ну или отсутствие всякой памяти). Что в было в ранних Сановских серверах, я не знаю -- вполне возможно, что Форт.