Je ne vois pas ce que je fais mal. J'ai besoin de calculatrice binaire quel format d'entrée est quelque chose comme "00000001b + 00000010b ... la sortie doit être en binaire aussi ... l'opérateur peut être +, -, *,/assemblage lecture nombre binaire en décimal 8086 (MSNA)
Je veux lire le premier numéro et le convertir en décimal ... mon code est quelque chose comme ça
%include "asm_io.inc"
segment .text
global _asm_main
_asm_main:
enter 0,0
pusha
call read_int
cmp al,'b'
je vypis
vypis:
call print_int
koniec:
popa ; terminate program
mov EAX, 0
leave
ret
le programme fonctionne très bien lorsque l'entrée commence par le numéro un par exemple (10101010b), mais lorsque l'entrée commence par zéro, il DonT fonctionne correctement ...
ma question qu'est-ce que je fais mal ou comment puis-je le faire mieux?
print_int et read_int sont des fonctions qui nous déjà donné, ils travaillent à 100% ... autres fonctions que je peux utiliser sont read_char, print_char et print_string ...
read_int:
enter 4,0
pusha
pushf
lea eax, [ebp-4]
push eax
push dword int_format
call _scanf
pop ecx
pop ecx
popf
popa
mov eax, [ebp-4]
leave
ret
print_int:
enter 0,0
pusha
pushf
push eax
push dword int_format
call _printf
pop ecx
pop ecx
popf
popa
leave
ret
vous a aidé beaucoup ... merci beaucoup: P –