Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 在从变量加载值之前清除累加器_Assembly_Subtraction_Mano Machine - Fatal编程技术网

Assembly 在从变量加载值之前清除累加器

Assembly 在从变量加载值之前清除累加器,assembly,subtraction,mano-machine,Assembly,Subtraction,Mano Machine,我一直在写一个程序来实现这一点: Suppose we have the following program: DF1 = A - B SUM = DF1 + C DF1 = 1 SUM = SUM + DF1 + C Write a (Mano) assembly program that does what the pseudo-code program does. Assume that each variable is translated to a labelled

我一直在写一个程序来实现这一点:

Suppose we have the following program:
  DF1 = A - B
  SUM = DF1 + C
  DF1 = 1
  SUM = SUM + DF1 + C
Write a (Mano) assembly program that does what the pseudo-code program does.  
Assume that each variable is translated to a labelled memory address.
我相信这在很大程度上是正确的,但不幸的是,没有一个非常可靠的mano汇编编译器来测试我的代码。不管怎样,我唯一关心的是第17行的CLA指令在哪里。我这样做是为了将DF1设置为零,因为我们想在其中加载一个新的值1。这是正确的做法吗

如果有人对我可能遗漏的错误或改进提出任何其他批评或建议,请提供您的意见

非常感谢所有帮助/意见。谢谢

ORG 100   /Program loaded into address 100 (hex)
CLA       /Clear accumulator....DF1 = 0
STA DF1   /Save DF1
LDA DF1   /Load current DF1
LDA B       /Load B to accumulator
CMA       /Create 2's complement
INC
ADD A       /Subtract B from A  
STA DF1   /Save DFI

LDA SUM   /Load current SUM
ADD DF1   /Add DF1 to SUM
ADD C       /Add C to SUM
STA SUM   /Save SUM

CLA       /Clear accumulator....DF1 = 0 
LDA DF1   /Load current DF1
ADD 1       /Add 1 to DF1
STA DF1   /Save DF1

ADD SUM   /Add SUM to DF1
ADD C       /Add C to DF1
STA SUM   /Save SUM 

DF1 -
SUM -
A   -
B   -
C   -

请不要在你的问题中使用链接…我只是在帖子中添加了代码,而不是在链接中。其中一个链接不是两个。。。