FSA » Пн июл 28, 2003 11:43 am
Ну вообще-то тут надо разобраться что ты подразумеваешь код ассемблером, язык программирования или компилятор языка.
Язык ассемблер привязан к определённому виду процессоров. Т.е. фирма производитель производит какой-нибудь свой процессор и с ним идёт свой же язык. Даже схожие по фнуционированию процессоры могут иметь разный вид записи инструкций. Яркий пример тому из прошлого процессоры Z80 и К580ВМ80 (если не наврал). По сути отечественный процессор - это более простой процессор в котором отсутствуют некоторые более сложные компанды Z80. Однако мнемоническая запись команд у них очень отличается. Т.е. если взять программу с К580.... и перенести в числовом виде на Z80, то она без каких либо проблем будет исполняться на Z80. Я со школы занимался ассемблером Z80 на компьютере ZX-spectrum, а потом в колледже было жудко не удобно решать задачки (при том такие дибильные..., то что надо было за 2 часа сделать делалось за 20-30 минут с оформлением нормальным...) для К580.... При этом я обычно сначала писал программу на языке Z80, а уж потом переписывал инструкции по табличке.
Бывает и обратная ситуация. Насколько я знаю сильно отличается язык Z80 и Z8000, можно сказать продолжателя....
Язык же x86 процессоров совсем отличается от вышеназванных процессоров. Да и не только язык. Сама структура процессора другая.
Компиляторы для одного типа процессоров тоже могу вести себя неодинаково. Всё зависит от разработчика. Одна и та же команда процессора может по разному записываться в разных версиях комиляторов.
Что выбрать? Классические примеры из компиляторов x86: MASM и TASM. Они очень похожи, только один производства майрософт (вроде бы), а второй борланд. TASM вроде бы как имеет немного побольше возможностей. Хотя я ими не разу не пользовался (ну разве что готовые программы компильнуть из интереса).
А вообще я бы не советовал писать программы для IBM-совместимых на ассемблере, что-нибудь путнее вряд ли получится, хотя вполне реально писать некоторые части программ именно на ассеблере.
Кстати, соврменные среды разработки приложений (к примеру, тот же Delphi и различные реализации C++)имеют возможность вставлять в программу код на ассемблере.
Про документацию могу сказать следующее:
Как-то давненько, 4-5 лет назад я купил книжку издательства <a href='http://http:/www.piter.com/' target='_blank'>Питер</a> где очень хорошо описывается ассемблер. Единственное, что там про современные процессоры нет информации.... где то 486 или Pentium'ом заканчивается. Но для знакомства и этого хватит (лично я почитам эту книжку бросил свою идею писать на ассеблере, уж слишком много нововведений после Z80). К книжке прилагается дискета на которой записан довольно хороший сравочник по ассемблеру x86. Покопайся у них на сайте, возможно содержимое этой дискеты можно найти. Если не найдёшь, скажи, я скину свою копию.
Последний раз редактировалось
FSA Пн июл 28, 2003 12:06 pm, всего редактировалось 1 раз.
"Скажи мне свой IP, и я скажу кто ты!"
Подпись: nslookup