Народ, ..! Если кто знает где можно нарыть какие-нибудь доки? ....особенно перевод из символьной формы в машинный код..создание объектного файла(не ЕХЕ-ника, хотя между ними разница должна быть не большая).
В интернете, имхо. Вопрос задан как-то странно. Напиши, какие имеешь знания в теме, что уже нашел, какие конкретно вопросы есть по найденному материалу. Т.к. мы тут не все телепаты высшего уровня, то нам сложно понять чем помочь.
http://www.compilers.narod.ru/proj.html Называется Flat C. Написан на Fasm-е. Это, в общем, перекорёженные исходники Фасма. А вообще, можно посмотреть на http://yallie.narod.ru/ http://exmortis.narod.ru/ и далее по линкам.
Да правильно было подмеченно n0p-ом : " Вопрос задан как-то странно". Просто в теме надо было вместо "на" написать "для"....да ладно бог с ней. Я просто хотел узнать конкретно, где можно найти документацию по переводу листинга программы в машиный код. Как формируется объектный файл, как влияет адресация, директивы, команды, используемые сегменты и т.д. А также как осуществляется перещаемость программ в памяти при их загрузке.
А именно я хотел узнать как появляется вот этот самы код 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 ............. ....
ED_ это хедер PE-файла. кое какая инфа была здесь в разделе документы А также как осуществляется перещаемость программ в памяти при их загрузке туда же.
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 - генерация кода. и т.д. в любом поисковике можно сделать запрос, токо грамотно!
Сайт wasm. Раздел "Образовательные программы". Сгрузить всё что касается опкода (документы и обучалки\тестилки). Читать, пробывать создавать код в обучалках, тестировать себя. Это поможет сделать первые шажки в понимании строения опкода и связи между машинным кодом и мнемониками (они не всегда изоморфны). После того как после прочитанного и игры с обучалками станет всё прояснятся - конец второго тома Intel. Если поймёшь формат x86 - любые другие форматы покажутся детскими задачками.