我想就如何制作一个将8个数据位存储在内存中的程序,然后将其中一个最重要的部分和另一个中最不重要的部分作为结果保存,并作为结果保存。 。
实施例: 数据1:19 数据2:3A 结果:1A
目前我已经做到了。
-Step 1.寄存器A和B用于存储8位数据。
-Step 2.我们使用指令ANDA和寄存器中的第一个8位值 甲
-Step 3.我们使用ANDB指令和寄存器B中的第二个8位值。
但我不知道如何使用OR来连接A或B.
提前致谢!!
答案 0 :(得分:1)
如果在步骤2中,您和A使用掩码提取MSB,并且在步骤3中您和B使用掩码进行LSB,则可以使用“ABA”指令“或”A和B.
虽然ABA在技术上是ADD,当你将任何位“AD”加到0位时,你得到X.由于A和B中的相应位被归零,所以ABA有效地作为OR。
或者,您可以将B寄存器存储到页面零单元格中,并将该单元格存储到A寄存器中。笨拙但很清楚。如果您不了解代码空间或时间,可以选择此解决方案以保持清晰;除非你考虑它,否则ABA解决方案并不明显。 (大多数为机器架构进行严格编码的人实际上都知道这些技巧,所以它可能并不重要。)