8085程序查找累加器中置位位


在这里我们将学习如何查找累加器数据中置位位的位置。

问题陈述

编写8085汇编语言程序来查找位为1的位置。在累加器中,所有位都为0,只有一个位为1。我们必须获得值为1的位的位置。位置将以十进制形式显示,从1到8。

讨论

我们取一个类似(0010 0000)的数字。位值为6。因此,我们通过进位将数字向右旋转。如果进位位为1,则我们中断循环并在内存位置F051处获得结果。

输入

地址
数据
F050
20

 

地址
数据
F050
80

 

流程图

 

程序

地址
十六进制代码
标签
指令
注释
F000
3A, 50 F0
 
LDA F050
将内存中的数字加载到累加器中
F003
0E, 00
 
MVI C,00H
清零C标志
F005
1F
LOOP:
RAR
带进位的右移累加器
F006
0C
 
INR C
C加1
F007
D2, 05, F0
 
JNC LOOP
如果C不为1,跳转到LOOP
F00A
79
 
MOV A,C
将C的值移到A
F00B
32, 51, 50
 
STA F051
将结果存储到内存中
F00E
76
 
HLT
终止程序

 

输出

地址
数据
F051
06

 

地址
数据
F150
08

 

 

 

 

 

更新于:2019年7月30日

366 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告