О том на чем написан MASM.

Тема в разделе "WASM.RESEARCH", создана пользователем NoName, 19 фев 2005.

Статус темы:
Закрыта.
  1. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Microsoft Visual C++ 6.0 - 5.0



    Только я непонимаю как так. Если на си написан масм, то на чем написан си?



    И кто тогда написал самый первый ассемблер в hex для PC?

    Вроде бы в 1960-х что-то было(не для PC:), но быть может кто то знает информацию поправдивее?
     
  2. The Svin

    The Svin New Member

    Публикаций:
    0
    Регистрация:
    6 июл 2003
    Сообщения:
    665
    Адрес:
    Russia
    Ты наверно имел ввиду не hex а машинные коды?

    Это вообще не одно и тоже.

    А на борде уже этот вопрос разбирали - ищи.
     
  3. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    Си написан на асме.

    это вопрос вроде яйца и курицы =)
     
  4. n0p

    n0p 10010000b

    Публикаций:
    0
    Регистрация:
    7 май 2003
    Сообщения:
    256
    Адрес:
    Новосиbeerск
    Хмм.. Фасм, как известно, написан на фасме. Но тогда как удалось собрать самую первую версию? :)
     
  5. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    n0p

    То ли в интервью, то ли на форуме FASM'a г-н Привалов говорил об этом…
     
  6. v0icE

    v0icE New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    6
    Адрес:
    Новосибирск
    Хех, это становится интересно...
     
  7. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Машинные коды, это ясно.

    Но кто же тогда писал руками первый нормальный компилятор асма на PC?
     
  8. Rohan

    Rohan New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2004
    Сообщения:
    133
    Я подобным вопросом тоже задавался, и чем больше я думал тем больше запутался. Действительно если masm написан на С , тогда на чем же написан С. И вообще как писали первый язык? Я понимаю что машинными кодами, но как они затавили железо адекватно реагировать на эти коды?
     
  9. alpet

    alpet Александр

    Публикаций:
    0
    Регистрация:
    21 сен 2004
    Сообщения:
    1.221
    Адрес:
    Russia
    Что значит адекватно реагировать на коды. Разве процессор на них может реагировать как-то иначе?

    Насколько мне известно первые версии edlin писали на машинных кодах. Верно тяжелая задача, тогда ведь еще не было отладчиков.
     
  10. FastSoft

    FastSoft New Member

    Публикаций:
    0
    Регистрация:
    19 фев 2005
    Сообщения:
    54
    Адрес:
    Russia
    Дело было так - сначала один чувак (ну может три чувака) хорошо так, плотно попарились, составляя программу на в машинных кодах, потом, когда она заработала они поняли, что их процессор работает. ПОтом они написали простую программерскую игрушку, потом они написали что-то еще.. В общем их сильно вставляло писать в машинных кодах, это ведь значило, что процессор работает. И ТОЛЬКО ПОТОМ, когда они уже намострячились кодить в машинных кодах (ну просто знали мужики все команды своего маленького процессора наизусть и все тут..) и навеселе бухнулись на мягкий кожанный диван, держась за руки, отдышавшись подумали немного и придумали написать что-то такое наконец, чтобы программы можно было составлять и вводить ГОРАЗДО ЛЕГЧЕ. Ну вот тут-то они и написали на своем привычном машинном языке первый ассемблер. Представляете - этот ассемблер наверное казался им высокоуровневым :) Вот примерно так все и было.. Как же еще? Это мы тут сидим и не знаем, мы же там не были. А вот сейчас я вам поведал естественный путь.

    Ну вот знаете, когда программу пишете, которая файл обрабатывает.. Например файл такого вида:

    root:*:0000:asdad:sadasd:asdad.....

    kaka:pass1:1213123:21312....

    Где в строках - записи, а через ":" стоят поля этих записей.. Так вот когда программу свою испытываешь - ведь всякого дерьма в записи навтыкаешь, да и еще вручную.. И только когда ты увидишь, что твоя программа разбирает записи, видит ошибки и в общем работает - только тогда ты напишешь программу, которая эту базу данных заполняет.. Так и у мужиков тех было.
     
  11. Rohan

    Rohan New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2004
    Сообщения:
    133
    [c]Разве процессор на них может реагировать как-то иначе?[/c]

    Я не могу поять как процессор - нечто выросшее на из кремния может принимать команды и обрабатывать их?
     
  12. Rohan

    Rohan New Member

    Публикаций:
    0
    Регистрация:
    9 авг 2004
    Сообщения:
    133
    Будет ли написаная в машинном коде программа быстрее программы написанной на ассемблере. Просто теоретический вопрос, без учеты сложности программирования таким способом.
     
  13. oeo

    oeo New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2005
    Сообщения:
    4


    Cнаружи у процессора есть проводочки-шина данных для приема команд. А для обработки внутри процессора есть разные логические схемки из кремния и не только - дешифратор, счетчики, регистры и т.д.
     
  14. oeo

    oeo New Member

    Публикаций:
    0
    Регистрация:
    16 фев 2005
    Сообщения:
    4
    Как Stallman написал EMACS, когда у него не было EMACSа?

    Далее я умничаю:

    С был написан на C, поэтому для переноса на PC было достаточно переписать генерацию кода.

    Имеем:

    рабочий компилятор С для некоторой машины (например, для PDP-11).

    1.Переписываем генератор кода в компиляторе, что бы он генерил код 8086, а не PDP.

    2. Компилируем измененный компилятор.

    3. Имеем работающий на PDP-11 компилятор, выдающий коды для PC. Назовем его CPdp2PC.

    4. Компилируем измененный компилятор, но уже с помощью CPdp2PC. Получаем компилятор С, который работает на PC, и выдает код для PC.

    Все.

    Теперь мы можем писать программы для PC и на нем же компилировать.
     
  15. S_T_A_S_

    S_T_A_S_ New Member

    Публикаций:
    0
    Регистрация:
    27 окт 2003
    Сообщения:
    1.754
    FASM первоночально написан на другом ассемблере. Это 2й ассемблер, который написал Privalov (первый был написан на tasm).



    А по поводу машкодов - например, у PDP очень простая структура команд, на нём нет ничего сверхсложного кодить восьмеричными цифирками.



    К тому же современные макроассемблеры (fasm, rosasm) или компиляторы ассемблера (masm, hla) более высокоуровневые, чем первые ассемблеры. А ещё были такие штуки, назывались monitor, современный аналог - debug.
     
  16. n0p

    n0p 10010000b

    Публикаций:
    0
    Регистрация:
    7 май 2003
    Сообщения:
    256
    Адрес:
    Новосиbeerск
    S_T_A_S_

    Ну, в принципе, вопрос мой был чисто философский. Хотя модно было ставить под сомнени, был ли это другой ассемблер или же писал он на машкодах. Второй вариант кажется мне приемлемым, но все-таки первый как-то естественнее.. :)
     
  17. johnfound

    johnfound New Member

    Публикаций:
    0
    Регистрация:
    12 фев 2003
    Сообщения:
    74
    Адрес:
    Bulgaria
    А мне приходилось так програмировать - в 1986-ом. Компютер Apple II (вернее болгарский аналог Правец 8). BASIC был а вот ассемблер нет. Был "монитор" - dump + dissasembler+HEX редактор.



    Кстати дело не очень сложное:

    1. Пишеш програму на листок бумаги.

    2. Береш таблицу с инструкциями и асемблируеш, только на место где адрес стоит оставляеш пустое место.

    3. Вычисляеш адреса

    4. Набиваеш все ето в мониторе. Записываеш на кассету.



    Мой персональной рекорд 2кбайта. ;)



    Кстати первой BASIC интерпретер для Apple I (так.наз. Integer BASIC) был написан Возняком именно так. BIOS тоже. (но тогда BIOS-ом он не назывался).



    Потом, кто-то принес в школе ассемблер - "Мерлин" назывался. Вернее ето было IDE 3in1 редактор+ассемблер+файл менажер (в те времена конзольные приложения не были так популярные)

    В етот день все как-бы родились снова. :lol:
     
  18. LevaGil

    LevaGil New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2003
    Сообщения:
    18
    куда смотрит Volodya? :).
     
  19. NoName

    NoName New Member

    Публикаций:
    0
    Регистрация:
    1 авг 2004
    Сообщения:
    1.229
    Имеем множество интересных мыслей. Очевидно, необходимо обобщить их для ясности.



    Есть интересная книга. Надеюсь я не совершаю ошибки печатая адрес. Вроде не варез ;) Только не бейте.

    http://frwt.stim.ru/download/ Называется книга hackers-heroes.pdf

    В ней описаны х. в настоящем своем виде. Первоначально книга писалась (нет не на ассемблере) на английском, перевод на русский сделан довольно классно.



    Там прекрасно рассказывается об ассемблерщиках на pdp и прочих многотонных машинках. Конечно этим содержание не исчерпывается.

    Я думаю каждый, кто еще не читал ее, должен это сделать. Там есть половина ответов на мои и ваши вопросы по данной теме. [Только про масм нету :dntknw:] - error.



    LevaGil

    ПМ для таких вещей давно пора сделать.
     
  20. yureckor

    yureckor New Member

    Публикаций:
    0
    Регистрация:
    25 фев 2004
    Сообщения:
    494
    Адрес:
    Russia
    Сперва ассемблер был написан в машкоде, но он не ставил метки сам, т.е. просто подменял слова на код (РК 86).

    Потом к нему прикрутили ставку меток.

    Далее по истории.



    На Спеке я и Avalonec использовали ассемблер от Zeus, потом у него память меток стала заканчиваться, перенесли ее в экранную область; т.к. у него текст генерился с номерами строк (2 байта на строку), написали нормальный текстовый редактор, прикрутили к нему асм от Zeus'а и добавили поддержку всех опкодов->перевод на свой ассемблер-> отладка, сделали монитор, дизасм и т.д.

    И вышел уже свой ассемблер.
     
Статус темы:
Закрыта.