作者icetofux (豆腐)
看板Programming
标题Re: [请益] 8051利用DJNZ回圈写程式
时间Thu May 3 16:09:21 2007
※ 引述《wenher (Coke)》之铭言:
: 请问利用DJNZ这个指令写成1+2+3+4+....+49+50
: 再将总和储存至暂存器R5,R6 我这样写的是对的吗??
:
: MOV R5,#50H
: CLR R6
: LOOP: ADD R6, R5
: DA R6
: DJNZ R5,LOOP
: END: SJMP END
: PS:总是感觉有点怪怪 =="
: 麻烦大大解惑
MOV R5,#50 ;先让R5的值为50
CLR A ;清除累加器(使内值=0)
LOOP: ADD A,R5 ;把R5内的值+累加器内的值丢入累加器
DJNZ R5,LOOP ;R5-1如果不是0就跳至LOOP
ADD A,R5 ;R5-1如果=0(当R5=1时)把R5内的值+累加器内的值丢入累加器
MOV R6,A ;把累加器A内的值丢入R6
END
很久没写组语了
不过我想这样应该就可以做到你想要的功能
R6=1+2+3+4+...+49+50
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.181.135