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

Discussion in 'WASM.RESEARCH' started by ED_, Mar 12, 2005.

  1. ED_

    ED_ New Member

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

    n0p 10010000b

    Blog Posts:
    0
    Joined:
    May 7, 2003
    Messages:
    256
    Location:
    Новосиbeerск
    В интернете, имхо.



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

    ProgramMan New Member

    Blog Posts:
    0
    Joined:
    Jan 13, 2004
    Messages:
    263
    http://flatassembler.net/ идёт с исходниками, там можно накопать всё что нужно.
     
  4. iklin

    iklin New Member

    Blog Posts:
    0
    Joined:
    Feb 5, 2005
    Messages:
    5
    Location:
    Russia
  5. ED_

    ED_ New Member

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

    ED_ New Member

    Blog Posts:
    0
    Joined:
    Mar 6, 2005
    Messages:
    3
    Location:
    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

    Blog Posts:
    0
    Joined:
    May 22, 2003
    Messages:
    192
    ED_

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

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



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



    туда же.
     
  8. iklin

    iklin New Member

    Blog Posts:
    0
    Joined:
    Feb 5, 2005
    Messages:
    5
    Location:
    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

    Blog Posts:
    0
    Joined:
    Jul 6, 2003
    Messages:
    665
    Location:
    Russia


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

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

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