我坚持在汇编中编写一个循环来读取 5 个字符并以相反的顺序打印它们

I am stuck in writing a loop in assembly to read 5 characters and print them in reverse order


.data

.code
main proc

        mov cx,5
        user_input:
        
        mov ah,1h
        int 21h
        push dx
        
        loop user_input
        
        
        mov cx,5
        system_output:
        
        
        mov ah,2h
        int 21h
        pop dx
        
        loop system_output
    
    
    
    endp 

我想编写一个代码,从用户那里获取 5 个数字,并以相反的顺序打印所有五个 我的代码

程序得到了 5 个数字但什么也没做就死了。

我仍然无法在 Stack 中找到我的号码, 我把屏幕截图放在下面。

AH=1函数在AL寄存器中给你一个字符。您应该在第一个循环中使用 push AX! (而不是 push dx

在第二个循环中你应该使用 pop DX before doing function AH=2.

最好以以下方式结束您的程序:

mov ax, 4C00h
int 21h