Je fichier suivant l'assemblage mov.sUtilisation de ifdef en langage assembleur de gaz
.text
.macro test_3
and $3,%eax
.endm
movz:
movzb %al,%ax
movzb (%eax),%ax
movzb %al,%eax
movzb (%eax),%eax
.ifdef test_3
movzb33 %al,%rax
movzb (%rax),%rax
.endif
commande as -o dump.o movz
Dans ce code, je veux tester ifdef
en langage assembleur, donc je l'ai défini test_3 macro. D'après ce que je crois comprendre, il faut imprimer le message Error: no such instruction: 'movzb33 %al,%rax'
lorsque j'utilise l'assembleur mais il ne va pas à l'intérieur ifdef
alors quel est le problème?
Lisez la documentation de votre assembleur particulier (est-il [nasm] (http://www.nasm.us/) ou [gaz] (https://sourceware.org/binutils/docs-2.28/as/index .html)?). '.ifdef' est une directive, pas une instruction. Regardez dans le fichier objet généré (par exemple avec '' readelf' ou objdump' sous Linux) –
Je sais que ce – Akshay
chose Bu vous ai lu attentivement la documentation (peut-être plusieurs fois)? –