如何在x16 Assembly中以相反的顺序显示堆栈中的字符?

How to display characters from the stack in reverse order in x16 Assembly?

提问人:Elemér Úram Kalapós 提问时间:11/9/2023 更新时间:11/9/2023 访问量:30

问:

我正在尝试显示一个字符串,方法是将字符推送到堆栈上,然后以相反的顺序编写它们,因此它与我输入的文本相同。我不确定该怎么做。

装配 堆栈 MASM

评论

1赞 Peter Cordes 11/9/2023
pop是 的反面。这应该只适用于一个计数器。如果没有一个最小的可重复示例,我们无法判断您做错了什么。(当然,将字符串按正向顺序存储在缓冲区中,每个字符只有 1 个字节,而不是每个字符 2 个字节,这样会更有效。然后,您还可以使用打印字符串 BIOS 函数或 DOS 调用。除了 DOS 的标准打印字符串用作终止符之外,因此它不适用于用户可能键入了 .但是您可以使用需要一定长度的调用。pushpush$$
0赞 Elemér Úram Kalapós 11/9/2023
我正在将输入中的字符推送到堆栈上,但是如果我弹出它们并将它们写入屏幕,文本将相反。这就是我想以某种方式解决的问题。
0赞 Peter Cordes 11/9/2023
如果你不想让它们被颠倒,就不要这样做。例如,将它们按正向顺序存储到缓冲区中。或者,如果您坚持在读取它们时使用它们,则从第一次按下开始,直到指针到达 SP,向下循环该堆栈空间。push

答: 暂无答案