Assembly 理解汇编语言中的跳过条件
首先,这是玛丽汇编语言 到目前为止,我所拥有的是:我可以很容易地接受用户的输入等等 现在我想做的是,每次用户输入一个字符,假设一个整数,我想将它与“0”进行比较,然后每次用户输入一个0时,将counterzero递增一 这里有一段简单的代码,我正试图抓住这个想法 我认为我的问题是理解skip条件是如何工作的,我想一旦我知道我将知道如何与我的初始化变量进行比较 感谢所有花时间阅读本文的人Assembly 理解汇编语言中的跳过条件,assembly,marie,Assembly,Marie,首先,这是玛丽汇编语言 到目前为止,我所拥有的是:我可以很容易地接受用户的输入等等 现在我想做的是,每次用户输入一个字符,假设一个整数,我想将它与“0”进行比较,然后每次用户输入一个0时,将counterzero递增一 这里有一段简单的代码,我正试图抓住这个想法 我认为我的问题是理解skip条件是如何工作的,我想一旦我知道我将知道如何与我的初始化变量进行比较 感谢所有花时间阅读本文的人 start, load prom output prom input sto
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跳过一条指令。所以,你有
skipcond 400
jump counterzero
这意味着,如果AC等于零,则跳到跳转后的指令。如果没有,则执行跳转
现在,由于跳转后的指令位于地址计数器零
,因此在代码中没有太多功能,因此没有区别
我不确定它是否符合您的意图,但在跳转计数器归零
(您可以省略)之前,我会添加一个跳转完成
。然后,只有当AC为0时,它才会跳到地址计数器0
如果它不起作用,请澄清您的意图,我可以详细说明。
skipcond
如果满足条件,则跳过一条指令。所以,你有
skipcond 400
jump counterzero
这意味着,如果AC等于零,则跳到跳转后的指令。如果没有,则执行跳转
现在,由于跳转后的指令位于地址计数器零
,因此在代码中没有太多功能,因此没有区别
我不确定它是否符合您的意图,但在跳转计数器归零
(您可以省略)之前,我会添加一个跳转完成
。然后,只有当AC为0时,它才会跳到地址计数器0
如果它不起作用,请澄清你的意图,我可以详细说明