【问题标题】:Understanding the Skip Condition in Assembly Language理解汇编语言中的跳过条件
【发布时间】:2011-11-28 15:05:36
【问题描述】:

首先这是玛丽汇编语言。

到目前为止我所拥有的:我可以轻松地接受来自用户等的输入......

现在我想做的是每次用户输入一个字符时假设一个整数我想将它与“0”进行比较,然后每次用户输入一个零时将 counterzero 加一

这是一段简单的代码,我试图理解这个想法。

我认为我的问题是了解跳过条件是如何工作的,我想一旦我知道我就会知道如何与我的初始化变量进行比较

感谢所有花时间阅读本文的人。

  start,    load prom
    output prom
    input
    store num1

    subt ex
    skipcond 400

    jump counterzero




counterzero, Skipcond 400 if AC = 0,
             store county + one
             jump done




done,   load county
            output
            halt



plus,   dec 43
eq,     dec 61
prom,   dec 62
num1,   dec 0
num2,   dec 0
county, dec 0

zero, dec 0
one,  dec 1
sum,    dec 0
nul,    dec 0
h30,    dec 48
ex, dec 33

编辑:我的测试是我输入零'0'并且计数器应该增加而不是它给了我一些奇怪的方框:S

【问题讨论】:

    标签: assembly marie


    【解决方案1】:

    skipcond 在满足条件时跳过一条指令。所以,你有

    skipcond 400
    jump counterzero
    

    这意味着,如果 AC 等于 0,则跳到跳转后的指令。如果没有,执行跳转。

    现在,由于跳转后的指令位于地址counterzero,在你的代码中并没有多大作用。

    我不确定它是否符合您的意图,但在 jump counterzero(您可以省略)之前,我会添加一个 jump done。然后仅当 AC 0 时才跳转到地址 counterzero。

    如果不行,请说明你的意图,我可以详细说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-07
      • 1970-01-01
      • 2021-09-09
      • 1970-01-01
      • 2013-02-01
      相关资源
      最近更新 更多