您的位置 首页 发布

单片机第六次作业

作业:第29题,已知R0中值为n,计算1^2+2^2+3^2+……+n^2并放入30h(n较小不考虑求和的溢出)1、先fileagrave;new建asm文件29asmMO

作业:第29题,已知R0中值为n,核算1^2+2^2+3^2+……+n^2并放入30h.(n较小不考虑求和的溢出)
1、先fileànew建asm文件29.asm
MOV R1,#00H
LOOP:MOV A,R0
MOV B,R0
MUL AB
ADD A,R1
MOV R1,A
DJNZ R0,LOOP
MOV 30H,R1
END
为了调试时看数据,预先在r0中赋值为3,所以程序前加:
MOV R0,#3
所以程序变为:
MOV R0,#3
MOV R1,#00H
LOOP:MOV A,R0
MOV B,R0
MUL AB
ADD A,R1
MOV R1,A
DJNZ R0,LOOP
MOV 30H,R1
END
2、建新工程,Projectànewproject,选AtemlàAT89C51,导入文件29.asm。
留意,对初学者,一个工程里只能有本程序29.asm,无关的程序要删去,新实验一个程序最好从头建工程,以确保一个工程里只要你要实验的那一个程序。

3、可见程序

4、编译通往后,点debug下的start/stop开端调试,step和stepover都是单步调试,step是遇到子程序或中止也要进入进行单步调试,stepover是遇到子程序或中止当一句一次履行完。本程序物子程序,二者是相同的。咱们履行一句得到:

持续履行:


可见A,B值都已改动,下一步:

可见A,B值改动。下一步,

R1此刻为0,所以A值不变。下一步:

可见R1值改动,接着履行循环句子:


声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/259488.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部