gpt4 book ai didi

assembly - 使用 2 个堆栈的计算器

转载 作者:行者123 更新时间:2023-12-03 22:22:28 25 4
gpt4 key购买 nike

我有一项英特尔汇编任务。我需要编写一个使用 2 个堆栈的计算器。例如,我有一个像 23+4/2^4$ 这样的表达式。所以 $ 表示表达式的结尾。我要做的是有两个堆栈,一个用于数字,一个用于运算符,并根据运算符的优先级推送和弹出它们。

我需要的是如何同时将 2 个堆栈用于两个不同的目的。只要我知道 esp 寄存器指示堆栈中变量弹出最后一个或压入一个新变量的位置。但是,如果我只有一个 esp 寄存器,我怎么可能有两个堆栈呢?

提前致谢...

最佳答案

我认为您正在寻找的是 Dijkstra 的分流算法。

我已经在解释期间不使用堆栈解决了它,仅在执行期间如所述in my blog.

至于制作额外的堆叠,这很容易。所有堆栈实际上只是一个内存区域,带有指向顶部和底部的指针。每次按下时,都会增加顶部指针,每次弹出时都会减少顶部指针。

关于assembly - 使用 2 个堆栈的计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/365768/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com