汇编如何在一行中一一输入几个数字

问题描述 投票:0回答:0

组装任务。 i8086。 根据计划,它应该显示“Enter elements:”行,然后用户输入第一个元素,按 Enter,下一个元素在同一行中输入。 (输入元素:10 200 300)- 就像这样。 但事实证明,在我们输入之后,下一个元素并不是在行尾输入的,而是在最开头输入的。 First number entered Second number entered

                MOV ah, 9
                int 21h
                mov si, offset mas
                mov celnum,0
                input_element_loop:
                        ;Enter elements
                        MOV dx, offset inmes
                        MOV ah, 10
                        int 21h
                    
                        MOV DL,' '
                        MOV AH,02H
                        INT 21H
                        mov celnum,0
                        mov TMP,si
                        mov TMP_cx,cx
                        call string_to_number
                        mov bx,celnum
                        mov si,TMP
                        mov cx,TMP_cx
                        mov mas[si], bx ;
                        inc si
                        loop input_element_loop 

附言(celnum 是存储输入数字的变量;inmess - 缓冲区)我试图在每次迭代中将偏移量 celnum 添加到 offset inmess,但它不是

t work. P.S.S.: the task is to make an array of numbers, I know that I can enter each number from new line, but unfortunately, that
教授所接受的。

arrays assembly tasm emu8086
© www.soinside.com 2019 - 2024. All rights reserved.