Définir une fonction avec des paramètres dans MASM assembleur
Je suis en train d'écrire une fonction en langage assembleur x86 qui accepte trois paramètres. Est-il possible de définir une fonction dans MASM assembleur avec plusieurs paramètres?
//this is pseudocode: I'm trying to convert this to a valid macro in MASM
//if var1 is equal to var2, jump to the label jumpToHere
function jumpIfEqual(var1, var2, jumpToHere){
cmp var1, var2;
je jumpToHere;
}
Si je pouvais écrire une fonction valide pour ce faire, ensuite jumpIfEqual(5, 5, jumpToHere)
serait équivalent à
cmp 5, 5;
je jumpToHere;
- Paramètres, hein? Êtes-vous l'interfaçage avec un langage de haut niveau? Êtes-vous sûr de faire de même dans les HLL ne suffira pas?
- Non, je suis juste essayer de faire de mon code un peu moins détaillé (et plus facile à comprendre).
jumpIfEqual(var1, var2, jumpToHere)
est un peu plus facile à lire quecmp 5, 5; je jumpToHere;
. - De faire une macro. Vous n'avez pas besoin d'une fonction. M dans MASM stands pour les macros 🙂
- J'ai trouvé une introduction aux macros dans MASM ici: cs.smith.edu/~thiebaut/ArtOfAssembly/CH08/CH08-7.html
- Est-il possible pour une macro dans MASM d'avoir plus de 2 paramètres?
- Sûr qu'il peut. Ne pourriez-vous essayer?
Vous devez vous connecter pour publier un commentaire.
Oui, vous pouvez.
Par exemple:
....
supprimé), et a obtenu quelques erreurs du compilateur. Les erreurs de compilation sont affichés ici: ideone.com/xNtLhTjumpToHere
n'est pas définie dans le code ci-dessus. Est-ce une faute de frappe?