单片机第四次作业
入口:R0=被加数低位地址指针
R1=加数低位地址指针
出口:R0=和数高位地址指针
1、先fileànew
CLR C
LOOP1:MOV A,@R0
LOOP2:DEC R0
END
为了调试时看数据,预先赋值,所以程序前加:
MOV 30H,#78H
MOV 31H,#56H
MOV 32H,#34H
MOV 33H,#12H
MOV 40H,#0F0H
MOV 41H,#0DEH
MOV 42H,#0BCH
MOV 43H,#9AH
MOV R0,#30H
MOV R1,#40H
MOV R2,#4
2、建新工程,Projectànew
3、可见程序:


4、编译通过后,点debug下的start/stop开始调试,
点view

接着执行:可见R0,R1,R2值的改变:

继续执行:

下一步:

下一步:

可见:30H内容变为68H.
下一步:

R0,R1值都加一,继续:

可见R2值减1,但不为0,所以跳转到LOOP1.继续:经过几次循环之后,直到R2变为0,此时不再循环,可看到:

30H,31H,32,,3H值都已改变。继续执行:

此时CY不为0,所以跳转到LOOP2。

可看到r0减1,变为33H,即为和数高位地址指针,指向33h处。
评论