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, где исходный операнд предшествует назначению.