MOV src dest (или) MOV dest src?
MOV, вероятно, первая инструкция, которую каждый узнает во время обучения ASM.
только что я столкнулся с книгой Программирование ассемблерного языка в GNU / Linux для архитектур IA32 от Rajat Moona он говорит:
alt текст http://i.imagehost.org/0897/mov.gif
но я узнал, что это MOV dest, src
. Это как " Load dest
С src
". Даже Wiki говорит то же самое.
Я не говорю, что автор ошибается. Я знаю, что он прав. Но что я упускаю?
кстати.. он использует gcc as
собрать эти инструкции. Но это не должно изменить синтаксис инструкции правильно?
3 ответов
mov dest, src
называется синтаксис Intel.
mov src, dest
называется синтаксис AT&T.
Unix и монтажники включая GNU ассемблер использует в синтаксис&t, все другие x86 ассемблеры я знаю использует синтаксис Intel. Вы можете прочитать о различиях Википедии.
да, as / gas использует синтаксис AT&T, который использует порядок src, dest. MASM, что ТАСМ, НАСМ и т. д. все используют заказ 'dest, src". Как это происходит, синтаксис AT&T не очень хорошо сочетается с процессорами Intel, и (по крайней мере, IMO) - почти нечитаемый беспорядок. Е. Г. movzx
получается особенно плохо.
существует два разных типа синтаксиса языка ассемблера - Intel и AT & T. Вы можете найти сравнение на страница ассемблера Википедии.
скорее всего, ваша книга использует синтаксис AT&T, где исходный операнд предшествует назначению.