Создание компилятора на ассемблере

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

  1. ED_

    ED_ New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2005
    Сообщения:
    3
    Адрес:
    Russia
    Народ, ..! Если кто знает где можно нарыть какие-нибудь доки? ....особенно перевод из символьной формы в машинный код..создание объектного файла(не ЕХЕ-ника, хотя между ними разница должна быть не большая).
     
  2. n0p

    n0p 10010000b

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



    Вопрос задан как-то странно. Напиши, какие имеешь знания в теме, что уже нашел, какие конкретно вопросы есть по найденному материалу. Т.к. мы тут не все телепаты высшего уровня, то нам сложно понять чем помочь.
     
  3. ProgramMan

    ProgramMan New Member

    Публикаций:
    0
    Регистрация:
    13 янв 2004
    Сообщения:
    263
    http://flatassembler.net/ идёт с исходниками, там можно накопать всё что нужно.
     
  4. iklin

    iklin New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    5
    Адрес:
    Russia
  5. ED_

    ED_ New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2005
    Сообщения:
    3
    Адрес:
    Russia
    Да правильно было подмеченно n0p-ом : " Вопрос задан как-то странно". Просто в теме надо было вместо "на" написать "для"....да ладно бог с ней. Я просто хотел узнать конкретно, где можно найти документацию по переводу листинга программы в машиный код. Как формируется объектный файл, как влияет адресация, директивы, команды, используемые сегменты и т.д. А также как осуществляется перещаемость программ в памяти при их загрузке.
     
  6. ED_

    ED_ New Member

    Публикаций:
    0
    Регистрация:
    6 мар 2005
    Сообщения:
    3
    Адрес:
    Russia
    А именно я хотел узнать как появляется вот этот самы код 00000000: 4D 5A 90 00-17 00 01 00-08 00 93 02-FF FF C6 02

    00000010: 00 02 00 00-00 02 9E 02-54 00 00 00-32 11 50 4B

    00000020: 4C 49 54 45-20 43 6F 70-72 2E 20 31-39 39 30 2D

    00000030: 31 39 39 35-20 50 4B 57-41 52 45 20-49 6E 63 2E

    00000040: 20 41 6C 6C-20 52 69 67-68 74 73 20-52 65 73 65

    00000050: 72 76 65 64-08 00 00 00-93 01 22 00-52 00 20 00

    00000060: A1 00 FF FF-3A 04 00 08-4C ED 29 00-71 01 1E 00

    00000070: 00 00 01 00-00 00 00 00-00 00 00 00-00 00 00 00

    00000080: 50 B8 55 05-BA A0 02 05-00 00 3B 06-02 00 72 2A

    00000090: B4 09 BA 1C-01 CD 21 B8-01 4C CD 21-4E 6F 74 20

    000000A0: 65 6E 6F 75-67 68 20 6D-65 6D 6F 72-79 24 20 20

    000000B0: 20 20 20 20-20 20 20 20-20 20 59 2D-20 00 8E D0

    000000C0: 51 2D 19 00-8E C0 50 B9-C5 00 33 FF-57 BE 54 01

    000000D0: FC F3 A5 CB-FD 8C DB 53-83 C3 2E 90-03 DA 8C CD

    000000E0: 8B C2 80 E4-0F B1 04 8B-F2 D3 E6 8B-CE D1 E9 4E

    000000F0: 4E 8B FE 2B-E8 2B D8 8E-C5 8E DB F3-A5 FC 8E DD

    00000100: 07 06 BF 00-01 33 F6 AD-95 BA 10 00-EB 2B AD 95

    00000110: B2 10 EB 35-AD 95 B2 10-EB 36 AD 95-B2 10 EB 3B

    00000120: AD 95 B2 10-EB 5D AD 95-B2 10 EB 5E-AD 95 B2 10

    00000130: EB 5F AD 95-B2 10 72 08-A4 D1 ED 4A-74 F4 73 F8

    00000140: 33 C9 33 DB-D1 ED 4A 74-C5 D1 D3 D1-ED 4A 74 C4

    00000150: D1 D3 85 DB-74 17 D1 ED-4A 74 BF D1-D3 80 FB 06

    00000160: 72 0B D1 ED-4A 75 04 AD-95 B2 10 D1-D3 2E 8A 8F

    .............

    ....
     
  7. Max

    Max Member

    Публикаций:
    0
    Регистрация:
    22 май 2003
    Сообщения:
    192
    ED_

    это хедер PE-файла.

    кое какая инфа была здесь в разделе документы



    А также как осуществляется перещаемость программ в памяти при их загрузке



    туда же.
     
  8. iklin

    iklin New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2005
    Сообщения:
    5
    Адрес:
    Russia
    Assemblers & Loaders - http://www.wasm.ru/docs/2/asl.zip

    Linkers & Loaders - http://www.wasm.ru/docs/2/L&L.zip



    ...если я правильно понял?



    JBurg: a Bottom-Up Rewrite Machine Generator for Java - http://jburg.sourceforge.net/ - и его разновидности...



    http://compilers.da.ru/ - в раздел "библиотека". сайт мёртв, но материалы доступны.



    http://kit.kulichki.net/tools/backend.html - генерация кода.



    и т.д. в любом поисковике можно сделать запрос, токо грамотно! :)
     
  9. The Svin

    The Svin New Member

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


    Сайт wasm. Раздел "Образовательные программы". Сгрузить всё что касается опкода (документы и обучалки\тестилки).

    Читать, пробывать создавать код в обучалках, тестировать себя. Это поможет сделать первые шажки в понимании строения опкода и связи между машинным кодом и мнемониками

    (они не всегда изоморфны). После того как после прочитанного и игры с обучалками станет всё прояснятся - конец второго тома Intel. Если поймёшь формат x86 - любые другие форматы покажутся детскими задачками.