作者poboroy (阿扬扬)
看板ASM
标题[问题] 8051组合语言有些小问题
时间Mon Jun 2 15:20:47 2014
我想让他从99一直减到1
我的程式部分:
DOWN1:
DEC SEC_ONE
MOV A,SEC_ONE
ANL A,#0FH (保留最高四位元存於A暂存器)
CJNE A,#0FH,DOWN_ONE (判断A是否为0F(00001111)←这行不懂用意)
MOV A,SEC_ONE (将SEC_ONE内容存於A暂存器)
ANL A,#0FH (保留最高四位元存於A暂存器)
ADD A,#09H
MOV SEC_ONE,A
SWAP A (将A暂存器较高四位元与较低四位元交换(十位数
换个位数))
DOWN_ONE:
MOV A,SEC_ONE
SWAP A
不太懂的地方是否为什麽要判断A是否为0F?
还有就是他较高四位元与较低四位元交换是怎麽执行的?
例如我现在是50,我十位数扣1变成40,然後个位数+9变成49
那他高位元跟低位元是怎麽交换的,不是很懂交换是换哪边?
第一次再PTT发文,如果表达不是很清楚请见谅
以上程式是在课本内看到的
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.169.38.59
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/ASM/M.1401693649.A.672.html
1F:推 WolfLord:高位元是 0F0H 06/03 00:10
2F:→ poboroy:程式的问题我懂了,另外想问一下 06/03 00:44
3F:→ poboroy:他最後传给七段的数字是反的,这是为什麽? 06/03 00:44
4F:→ poboroy:因为是使用7448静态控制吗?还是8051本身要传给七段就是要 06/03 00:45
5F:→ poboroy:相反的数字? 06/03 00:45
6F:推 WolfLord:共阳 06/03 14:08