📜  8085程序查找两个8位数字中的较大者

📅  最后修改于: 2021-06-28 15:41:19             🧑  作者: Mango

问题–在8085微处理器中编写程序,以找出两个8位数字中的较大数字,其中数字存储在内存地址2050和2051中,并将结果存储到内存地址3050中。

例子 –

算法 –

  1. 从存储器2050和2051加载两个数字到寄存器L和H。
  2. 将一个数字(H)移动到累加器A,然后从中减去另一个数字(L)。
  3. 如果结果为正,则将数字(H)移至A并将A的值存储在内存地址3050并停止,否则将数字(L)移至A并将A的值存储在内存地址3050并停止。

程序 –

MEMORY ADDRESS MNEMONICS COMMENT
2000 LHLD 2050 H<-(data at 2051)&L<-(data at 2050)
2003 MOV A, H A<-H
2004 SUB L A<-A-L
2005 JP 200D JUMP TO 200D IF NO. IS POSITIVE
2008 MOV A, L A<-L
2009 STA 3050 A->(in memory 3050)
200C HLT STOP
200D MOV A, H A<-H
200E STA 3050 A->(in memory 3050)
2011 HLT STOP

解释 –

  1. LHLD 2050:将数据从存储器2050和2051加载到寄存器L和H。
  2. MOV A,H:将寄存器H的内容传输到A。
  3. SUB L:从A中减去寄存器L的内容,并将其存储到A中。
  4. JP 200D:如果结果为肯定,则跳转到地址200D。
  5. MOV A,L:将寄存器L的内容传输到A。
  6. STA 3050:将A的数据存储到内存地址3050。
  7. HLT ::结束。
  8. MOV A,H:将寄存器H的内容传输到A。
  9. STA 3050:将A的数据存储到内存地址3050。
  10. HLT:结束。