汇编语言计数器的实验

2019-07-16 03:25发布

计数数码管实验
刚刚做了一个实验,那个DIV指令的用处在哪里并起什么作用,上网查过意思:是说溢出标志,但我还不是很明白!

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
bu9966
1楼-- · 2019-07-16 05:29
本帖最后由 bu9966 于 2012-12-3 13:48 编辑

DIV 是除数指令,A除以B,结果商在A,余数在B
电子爱好JM
2楼-- · 2019-07-16 09:07
 精彩回答 2  元偷偷看……
电子爱好JM
3楼-- · 2019-07-16 13:05
bu9966 发表于 2012-12-3 13:45
DIV 是除数指令,A除以B,结果商在A,余数在B

我不明白这个的用法,指令意思我懂的
非法菜鸟
4楼-- · 2019-07-16 17:45
通过上面计时器的开启 ,TL寄存器里面的数一直在变大,把TL寄存器里面的数赋给a,在除以10,可以得到0~9这是个数,div ab 就是得到这TL寄存器除以10的余数,然后mov a,b 再把b寄存器中存的TL寄存器里面数的余数赋值给a累加器,a累加器在给端口P0,这样就可以显示0~9这几个数了
电子爱好JM
5楼-- · 2019-07-16 23:35
非法菜鸟 发表于 2012-12-10 18:31
通过上面计时器的开启 ,TL寄存器里面的数一直在变大,把TL寄存器里面的数赋给a,在除以10,可以得到0~9这 ...

哦,谢谢!明白,加上这个指令不是多此一举吗?
非法菜鸟
6楼-- · 2019-07-17 03:53
电子爱好JM 发表于 2012-12-10 22:07
哦,谢谢!明白,加上这个指令不是多此一举吗?

这条语句很重要,之所以用这个语句是因为你的数码管显示的方式没有延时,给你发个我写的和你要实现的功能是一样的从0~9的数码管显示汇编源码

ORG 0000H
LJMP ST0
ST0:MOV P2,#0FEH
st1:MOV R1,#10
MOV R0,#0
ST2:MOV A,R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P0,A
INC R0
LCALL DELAY
DJNZ R1,ST2

SJMP ST1
TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
DELAY:MOV R5,#20
D1: MOV R6,#200
D2: MOV R7,#124
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END

一周热门 更多>