编程将片内RAM中30H到3FH单元全部清0(利用循环转移指令)

急需要,程序不要太难,我是初学者,谢谢哟,
2025-01-04 23:54:13
推荐回答(3个)
回答1:

编程将片内RAM中30H到3FH单元全部清0(利用循环转移指令),主要考察单片机原理。代码如下:

ORG   0000H

SJMP  MAIN

MAIN:  CLR  A

MOV   R0,  #30H

MOV   R2,  #16

LOOP:

MOV  @R0,  A

INC  R0

DJNZ  R2,  LOOP

SJMP $

END

扩展资料

单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言(近几年,C语言也开始广泛被应用),它是除了二进制机器码以外最低级的语言了。就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。

一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 

单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC也是承受不了的。

回答2:

程序如下:
ORG 0000H
CLR A
MOV R0, #30H
MOV R2, #16
LOOP:
MOV @R0, A
INC R0
DJNZ R2, LOOP
SJMP $
END

回答3:

用汇编实现:
ORG 0000H
SJMP MAIN
MAIN: CLR A
MOV R0, #30H
MOV R2, #16
LOOP:
MOV @R0, A
INC R0
DJNZ R2, LOOP
SJMP $
END