assembly 如何使用汇编代码实现逻辑门?

bejyjqdl  于 2023-05-07  发布在  其他
关注(0)|答案(2)|浏览(144)

我正在准备数字系统考试,我有一个过去的论文问题如下:使用汇编代码实现与门和与非门。这篇论文没有评分表,所以我查不出怎么做。如果有人能解释这一点,将不胜感激。

我研究了它说要使用的四个命令,我知道ANL执行AND操作,CPL执行NOT操作。然而,我不确定如何使用其他命令来实现这些,并且由于这个问题值得10分,每个门5分,我认为仅仅编写这样的单个命令是不够的:
a)ANL P1^0, P1^1
B)ANL P1^0, P1^1
CPL P1^0
我的想法是,也许MOV命令应该用于将端口引脚的值存储在命令中使用的变量中,然后再次用于在门的输出端输出到P1^2,但我不是100%确定这一点,它也没有解释SJMP命令的位置。

bfnvny8b

bfnvny8b1#

对于那些感兴趣的人,我现在已经找到了完整的解决方案。C用于保存临时值,引脚可用于命令。
对于与门:

loop: MOV C, P1^0     ; Assign value on pin 1.0 to C
      ANL C, P1^1     ; Perform AND and store result in C
      MOV P1^2, C     ; Assign new value of C to output pin
      SJMP loop       ; Jump to top of statement and run again

对于OR门,使用ORL而不是ANL。对于NOR或NAND,在复制到输出引脚之前,使用CPL命令反转C。

roqulrg3

roqulrg32#

与门和与非门是相似的,因为它们不仅在计算上具有重要的特性,而且在复制粘贴方面也具有其他的优点。

相关问题