📜  8085程序显示8位数字的较低和较高半字节的屏蔽

📅  最后修改于: 2021-06-28 14:46:26             🧑  作者: Mango

问题–在8085微处理器中编写汇编语言程序,以显示对8位数字的较低和较高半字节的屏蔽。

例子 –

假设– 8位数字存储在存储单元2050中。在对半字节进行屏蔽之后,低阶半字节存储在存储单元3050中,高阶半字节存储在存储单元3051中。

算法 –

  1. 将存储单元2050中的内容加载到累加器A中。
  2. 将A的内容移到寄存器B中。
  3. 用0F执行A的AND运算,并将结果存储在内存位置3050中。
  4. 将B的内容移到A中。
  5. 用0F执行A的AND运算,并使用RLC指令4次反转结果。
  6. 将结果存储在内存位置3051中。

程序 –

MEMORY ADDRESS MNEMONICS COMMENT
2000 LDA 2050 A <- M[2050]
2003 MOV B, A B <- A
2004 ANI 0F A <- A (AND) 0F
2006 STA 3050 M[3050] <- A
2009 MOV A, B A <- B
200A ANI 0F A <- A (AND) 0F
200C RLC rotate content of A left by 1 bit without carry
200D RLC rotate content of A left by 1 bit without carry
200E RLC rotate content of A left by 1 bit without carry
200F RLC rotate content of A left by 1 bit without carry
2010 STA 3051 M[3051] <- A
2013 HLT END

说明–使用了寄存器A,B:

  1. LDA 2050:将存储位置2050的内容加载到累加器A中。
  2. MOV B,A:将A的内容移至B。
  3. ANI 0F:用0F执行A的AND运算,并将结果存储回A。
  4. STA 3050:将A的内容存储在存储器位置3050中。
  5. MOV A,B:在A中移动B的内容。
  6. ANI 0F:用0F执行A的AND运算,并将结果存储回A。
  7. RLC:将A的内容左移一位而不进位。使用此指令4次以反转A的内容。
  8. STA 3051:将A的内容存储在存储单元3051中。
  9. HLT:停止执行程序,并停止任何进一步的执行。