J'ai un programme très simple où j'ai stocké un nombre dans une variable dw
appelée asciiCode
. Je veux ensuite utiliser la print
macro déclarée masm32rt.inc
pour imprimer le caractère ASCII représenté par cette valeur, A
, mais en essayant de le faire provoque le plantage du programme:Imprimer une valeur DWORD en tant que caractère ASCII
.386
option casemap:none
include \masm32\include\masm32rt.inc
.data
asciiCode dw 65
.code
start:
print asciiCode
exit
end start
Le programme se bloque toujours lorsque asciiCode
est déclaré comme db
ou dd
.
Existe-t-il une autre fonction que je dois utiliser en premier pour convertir ce dw
en un caractère ASCII imprimable?
Vous pouvez simplement regarder ce que cette macro assemble réellement, avec un désassembleur ou mieux en effectuant un pas à pas dans un débogueur. La plupart des erreurs dans les programmes asm les font planter, c'est pourquoi vous avez besoin d'un débogueur. –
@PeterCordes Quel débogueur convivial pour les débutants recommanderiez-vous pour Windows? –
IDK, j'utilise gdb sur Linux. IIRC à partir du moment où j'ai fait le développement de Windows, Visual Studio peut déboguer asm, donc c'est une option si vous l'utilisez déjà. –