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

默认分类 未结 1 1290
___一休___
___一休___ 2023-03-16 21:58
相关标签:
1条回答
  • 2023-03-16 22:52

    编程将片内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也是承受不了的。

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

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

    0 讨论(0)
提交回复