Question

Je viens de commencer en bas de l'Assemblée de la route, et l'un des premiers "Hello, World!" tutoriels que j'ai trouvé http://asm.sourceforge.net/intro/hello.html, donne une belle façon de psudo-dynamicly obtenir la longueur de la chaîne pour entrer dans le système d'appel.

section .data
msg db 'Hello, World!",0xa
len equ $ - msg

Cela fonctionne très bien dans les msna, et tout s'assemble, des liens, et fonctionne avec la question.

Le problème c'est quand j'essaie de trouver un moyen de faire la même chose dans le gaz.

Je comprends que l' $ dans ce cas est un jeton qui donne l'actuelle position de montage http://www.csie.ntu.edu.tw/~comp03/msna/nasmdoc3.html#section-3.5

Cette expression ($msg) être exprimé sous forme de gaz, ou est-ce msna exclusif sucre syntaxique?

Était-ce utile?

La solution

Pour les architectures x86, vous pouvez utiliser "."de la même manière.par exemple

    .data

msg:
    .ascii "Hello, World!"
    .byte 0xa
    .equ len, . - msg

(Remarque:ce n'est pas nécessairement vrai pour d'autres plates-formes. gas prend en charge de nombreuses plates-formes, et les différents aspects de la syntaxe varient entre eux!)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top