gpt4 book ai didi

assembly - 将小于 %ecx 的 1 压入堆栈

转载 作者:行者123 更新时间:2023-12-04 05:23:23 24 4
gpt4 key购买 nike

我正在尝试将一个比 %ecx 小 1 的值压入堆栈。

所以我为此尝试了这条指令:

pushl $(%ecx - 1)

但是我从 as 得到了以下错误。

fact.s: Assembler messages:
fact.s:49: Error: register value used as expression

作为解决方法,我执行了以下操作:

movl %ecx, %edx
subl $1, %edx
pushl %edx

但是有没有一种方法可以不使用额外的寄存器(在本例中为 %edx)呢?在一条指令中?

最佳答案

两条指令:

pushl %ecx
subl $1, (%esp) # or decl (%esp)

关于assembly - 将小于 %ecx 的 1 压入堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33705738/

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