If statement “我怎么能忽视?”;如果;第三部分,如果;否则";部分满意吗?

If statement “我怎么能忽视?”;如果;第三部分,如果;否则";部分满意吗?,if-statement,assembly,If Statement,Assembly,作为初学者,我正在尝试解决这个组装练习 编写一个程序进行减法(X-Y)并将结果存储在Z寄存器中,然后: 检查Z=0时,将50添加到X注册表中。 否则减量Y寄存器。让PC=100。 我不确定是否是这样做的,但根据我的教科书和讲座,我已经得到了这个结果,如果另一部分满意,则忽略“如果”部分 100 SUB Z, X, Y 101 JZ 104 102 DEC Y 103 JMP 105 104 ADD X, 50 105 END 但我担心的是,如果问题不是要求忽略“如果”部分,即使另一部分满意,也

作为初学者,我正在尝试解决这个组装练习

编写一个程序进行减法(X-Y)并将结果存储在Z寄存器中,然后: 检查Z=0时,将50添加到X注册表中。 否则减量Y寄存器。让PC=100。

我不确定是否是这样做的,但根据我的教科书和讲座,我已经得到了这个结果,如果另一部分满意,则忽略“如果”部分

100 SUB Z, X, Y
101 JZ 104
102 DEC Y
103 JMP 105
104 ADD X, 50
105 END
但我担心的是,如果问题不是要求忽略“如果”部分,即使另一部分满意,也会导致类似的结果

100 SUB Z, X, Y
101 JZ 103
102 DEC Y
103 ADD X, 50
104 END
我不知道哪一个是那个问题的正确答案。
任何帮助都将不胜感激。

您的实际asm块看起来正确,可以实现您希望它们实现的逻辑,因此这里唯一真正的问题是如何解释原始句子

英语句子的结构类似于编程语言(如C)中的if/else语句,而不是正确的英语句子

如果上下文不是计算机编程,那么是的,“向X注册表添加50”是否是无条件的存在一些问题。但既然是这样,我肯定他们的意思是“检查z=50:如果是,那么加上……否则,12月……”

或者用另一种方式表达,“如果z=50,那么加上……否则,dec……”

使用“check”一词来引入if/else子句会使句子结构出现错误(因为if/else语句不是check,而是基于检查的决定)。这导致我们无法100%清楚你是否应该一直做加法在我看来,它仍然有99.5%的清晰度,所以你应该使用你的第一个区块k。如果你仍然不相信,给你的导师发电子邮件确认他们的措辞是什么意思

如果他们真的是指你的第二个解释,那么你不太可能选择这样写。还有更为清晰的方法,例如“在X上加50,如果Z不是0,则减小Y”。除非你的作业通常是以故意不清楚的技巧性问题来写的,否则你几乎可以排除这种解释


无论哪种方式,“else”都是“else”;它没有自己的条件。“如果”部件有第一次机会匹配条件。说“如果else部分满足了”是没有意义的,因为else部分仅在原始条件不满足时作为替代存在。它本身没有任何条件。只有当您在asm中实现并可能反转条件以进入if体或跳转到else体时,才会得到这样的逻辑反转。但是您仍然只是在实现一些逻辑,这些逻辑对if部分有条件。

您实际的asm块看起来正确,可以实现您希望它们实现的逻辑,因此这里唯一真正的问题是如何解释原始语句

英语句子的结构类似于编程语言(如C)中的if/else语句,而不是正确的英语句子

如果上下文不是计算机编程,那么是的,“向X注册表添加50”是否是无条件的存在一些问题。但既然是这样,我肯定他们的意思是“检查z=50:如果是,那么加上……否则,12月……”

或者用另一种方式表达,“如果z=50,那么加上……否则,dec……”

使用“check”一词来引入if/else子句会使句子结构出现错误(因为if/else语句不是check,而是基于检查的决定)。这导致我们无法100%清楚你是否应该一直做加法在我看来,它仍然有99.5%的清晰度,所以你应该使用你的第一个区块k。如果你仍然不相信,给你的导师发电子邮件确认他们的措辞是什么意思

如果他们真的是指你的第二个解释,那么你不太可能选择这样写。还有更为清晰的方法,例如“在X上加50,如果Z不是0,则减小Y”。除非你的作业通常是以故意不清楚的技巧性问题来写的,否则你几乎可以排除这种解释


无论哪种方式,“else”都是“else”;它没有自己的条件。“如果”部件有第一次机会匹配条件。说“如果else部分满足了”是没有意义的,因为else部分仅在原始条件不满足时作为替代存在。它本身没有任何条件。只有当您在asm中实现并可能反转条件以进入if体或跳转到else体时,才会得到这样的逻辑反转。但是您仍然只是实现了一些逻辑,这些逻辑对if部分有一个条件。

您的第一个代码示例看起来是正确的。对于将来的问题,请发布您为之编程的体系结构和(如果适用)操作系统。您的第一个代码示例看起来是正确的。对于将来的问题,请发布您正在为之编程的体系结构和(如果适用)操作系统。