ce que je veux savoir est évidemment dit sur le sujet. J'ai un problème à déplacer un registre de 8 bits vers un registre de 16 bits. ce que j'essaie de faire est de diviser un nombre de 10 en permanence jusqu'à ce qu'il soit inférieur à 10, et, dans chaque temps de division, j'essaie de sortir la partie restante de la division de ah registre, ajouter 48 pour cela, alors je pourrais avoir son code Ascii, alors j'essaie de montrer le chiffre que j'ai, à l'écran. voici le code:Assemblage, Déplacer un registre 8 bits vers un registre 16 bits, comment?
Num1 DW 255
DIVISION :
CMP NUM1,10
Jl DIVEND
MOV AX,10
DIV NUM1
MOV NUM1,AL ;*
ADD AH,48
MOV DL,AH;
MOV AH,02H
INT 21H
JMP DIVISION
mais, quand je suis en essayant de le monter, il est dit, les types Opérande ne correspondent pas à la ligne indiquée par *. im utilisant turbo assembleur V4.1 ... que dois-je faire?
Vous ne vous souvenez pas beaucoup de Turbo Assembler, mais avez-vous essayé 'MOV BYTE NUM1, AL'? –
Je ne comprends pas ce que vous faites MOV NUM1, AL déplace le contenu de AL en NUM1? cela ne peut pas arriver, peut-il? –
@PreetSangha À droite, j'ai raté cela en regardant simplement la syntaxe :) –