MOV src dest (oder) MOV dest, src?
MOV ist wohl der erste Befehl jeder lernt beim lernen von ASM.
Gerade jetzt stieß ich auf ein Buch Assembler-Programmierung unter GNU/Linux für IA32-Architekturen, die Von Rajat Moona, die sagt:
alt-text http://i.imagehost.org/0897/mov.gif
Aber ich habe gelernt, dass es MOV dest, src
. Es ist wie "Last dest
mit src
". Auch Wiki sagt das gleiche.
Ich sage nicht, dass der Autor falsch ist. Ich weiß, dass er Recht hat. Aber was vermisse ich hier?
btw.. er ist mit GCC as
montieren Sie diese Anweisungen. Aber das sollte nicht ändern Sie die Anweisung, syntax richtig?
- Ich sollte Lesen Sie das Vorwort und das 1. Absatz des 1. Kapitels. Ich übersprang Sie. 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
mov dest, src
heißt Intel-syntax.mov src, dest
heißt AT&T-syntax.UNIX-Assemblern einschließlich der GNU-assembler verwendet die AT&T-syntax, alle anderen x86-Assembler, die ich kenne, verwendet Intel-syntax. Sie können Lesen, auf die Unterschiede auf wikipedia.
.intel_syntax noprefix
Richtlinie.as
binäre akzeptiert auf UNIX-Systemen."Ja, wie/gas verwenden Sie AT&T-syntax, die verwendet die Reihenfolge, src,dest. MASM, TASM, NASM, etc. alle nutzen das, um 'dest, src". Wie es geschieht, AT&T-syntax passt nicht sehr gut mit Intel-Prozessoren, und (zumindest IMO) ist eine nahezu unleserlich Durcheinander. E. g.
movzx
kommt besonders schlecht.Gibt es zwei verschiedene Arten von Assembler-syntax - Intel-und AT&T-syntax.
Finden Sie einen Vergleich der beiden auf Wikipedia-Assembler-Seite.
Chancen sind, Ihr Buch verwendet die AT&T syntax, wobei der source-operand kommt vor dem Ziel.