【发布时间】:2016-12-07 15:35:29
【问题描述】:
你能帮我写一个 lmc 程序来乘以 2 个负数吗
(-x)*(-y) = xy? 例如,如果你输入 -5 和 -6,它应该给你 30。
我已经为x*y=xy完成了
INP
STA FIRST
INP
STA SECOND
LOOP LDA COUNT
ADD ONE
STA COUNT
LDA TOTAL
ADD FIRST
STA TOTAL
LDA SECOND
SUB COUNT
BRZ ENDLOOP
BRA LOOP
ENDLOOP LDA TOTAL
OUT
HLT
ONE DAT 001
COUNT DAT
TOTAL DAT
FIRST DAT
SECOND DAT
【问题讨论】:
-
欢迎堆栈溢出!您尝试修改现有代码以使其适用于负数?负数现在会发生什么?如果您需要他人的帮助,重要的是要表明您已投入时间自己先了解它。
-
你到底卡在哪里了?这里有一个提示:如果值为负数,则在函数开头取反。现在你只是将两个正值相乘。这是有效的,因为负数乘以负数始终是正数,就像正数乘以正数一样。
标签: assembly little-man-computer