我需要编写一个 LMC 程序来解决 a+bx+x 2。进一步,如果结果大于999,则需要输出999;如果小于 999,则输出结果。
我已经完成了 a+bx+x 2部分,但不知道溢出时如何输出 999。
这是我的代码:
IN
STO a
IN
STO b
IN
STO x
LDA x
STO x2
bx LDA x
BRZ end
SUB one
STO x
LDA ans
ADD b
STO ans
BR bx
end LDA ans
LDA x2
STO y
xx LDA y
BRZ END
SUB ONE
STO y
LDA ANS
ADD x2
STO ANS
BR xx
END LDA ANS
ADD a
STO ANS
LDA ANS
ADD ans
SUB z
BRP postive
LDA ANS
OUT
HLT
postive LDA z
OUT
HLT
a DAT 000
b DAT 000
x DAT 000
x2 DAT 000
y DAT 000
z DAT 999
one DAT 001
ONE DAT 001
ans DAT 000
ANS DAT 000