Assembly x86 NASM - Vermeiden Sie das Lesen der Eingabetaste

Ich habe gerade angefangen, Assembler zu lernen und finde keine nützlichen Inhalte, die helfen.

Ich erstelle ein einfaches Programm, das Benutzereingaben liest:

section .bss
    opA: resw 1
    opB: resw 1

section .text
    global _start

    inputA:
    mov EAX, 3
    mov EBX, 0
    mov ECX, opA
    mov EDX, 1
    int 80h

    inputB:
    mov EAX, 3
    mov EBX, 0
    mov ECX, opB
    mov EDX, 1
    int 80h

    /*terminate*/

Das Problem ist, dass, nachdem ich den ersten Wert eingegeben und die Eingabetaste gedrückt habe, das zweite sys_read übersprungen wird (ich glaube, es liest das Zeichen '\ n').

Also habe ich versucht zu vergleichen, ob opB '\ n' gespeichert hat und im positiven Fall springe ich zurück zu 'inputB:', so:

cpm word[opA], '\n'
je inputB

Aber es funktioniert nicht! Wie kann ich das lösen?

Einfacher,So entfernen Sie einen Zeilenumbruch aus einer Variablen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage