;移动3000h--->>4000h,256字节
mov r0,#30h ;给r0,r1,r2,r3,r7赋值
mov r1,#00h
mov r2,#40h
mov r3,#00h
mov r7,#0
Loop:
mov dph,r0
mov dpl,r1
movx a,@dptr
mov dph,r2
mov dpl,r3
movx @dptr,a
cjne r1,#0ffh,Goon1
inc r0
Goon1:
inc r1
cjne r3,#0ffh,Goon2
inc r2
Goon2:
inc r3
djnz r7,Loop
ljmp $
end
解释程序
1,mov dph,r0
mov dpl,r1
DPTR数据指针,是16位的,分为两个字节,DPH,DPL
这组指令把DPTR的数据提出来,处理后放回去,下面一般会用于对处理后的外部数据地址进行操作
2,mov dph,r0
mov dpl,r1
movx a,@dptr
mov dph,r2
mov dpl,r3
movx @dptr,a
<!--EndFragment-->
把3000h的内容赋给a累加器
再把a值赋给4000h中。
3,cjne r1,#0ffh,Goon1
cjne r1,#0ffh,Goon1
inc r0
Goon1:
inc r1
cjne r3,#0ffh,Goon2
inc r2
Goon2:
inc r3
这部分写的相当精髓。实现的功能是,把r1,r3逐渐加一,当遇到进位时,r0,r2加1
4,djnz r7,Loop
循环256次
知识点:
1,累加器和寄存器区别
累加器是通用寄存器之一,但累加器和其它通用寄存器相比又有其独特之处。累加器除了可用做通用寄存器存放数据外,对某些操作,一般操作前累加器用于存放一个操作数,操作后,累加器用于存放结果
<!--EndFragment-->
2.djnz
DJNZ指令有两种格式:DJNZ Rn,rel和DJNZ direct,rel,前者为双字节指令,其中第二个字节存储rel的相对地址,范围是-128~+127,所以转移范围很窄,所以转移的位置为指令的当前PC值加上rel;第二条指令的第三个字节也是存储rel的,和第一条指令的转移方式相同,都是PC+rel
DJNZ RN,REL 是一条件转移指令,先将工作寄存器Rn中的数减“1”,判断结果是否为“0”,不为“0”程序就跳转到行标为REL的地方执行,否则,为“0”就不转移,继续执行下一条指令。
<!--EndFragment-->
分享到:
相关推荐
LAB_4_KEYPAD.asm
《深入解析Spring ASM库:org.springframework.asm-3.0.5.RELEASE.jar》 Spring框架是Java开发领域中不可或缺的一部分,而org.springframework.asm-3.0.5.RELEASE.jar是Spring框架中的一个关键组件,主要涉及到字节...
asm字节码jar包,仅需要一个就可以。具体使用,可以参考http://blog.csdn.net/gaoshan12345678910/article/details/78131784
org.springframework.asm-sources-3.0.5.release.jar
E158255MatrixKey.asm.asm.asm
程序2.asm
IO.ASM就是用来编写这些低级别I/O操作的程序。 IO.ASM的编写通常包括以下部分: 1. **初始化**:在程序开始时,可能需要设置某些寄存器或者端口,以便后续的I/O操作。例如,设置中断向量或配置设备的工作模式。 2...
严重: Exception sending context initialized event to listener instance ... nested exception is java.lang.NoClassDefFoundError: org/objectweb/asm/Type ssh 框架的java web项目部署到tomcat报上面错误 添加此包
rg.springframework.asm-3.0.1.RELEASE-A.jar
jar包,官方版本,自测可用
汇编\示例\Sample.asm汇编\示例\Sample.asm汇编\示例\Sample.asm汇编\示例\Sample.asm
标题中的“lcd.asm.rar_lcd.asm”表明这是一个与液晶显示屏(LCD)编程相关的资源,其中包含一个名为“lcd.asm”的汇编语言源代码文件。汇编语言是计算机编程的基础语言之一,它将机器指令以人类可读的形式表示出来...
5.5.5菜单程序设计.asm
实验七程序讲解.asm
《深入理解DSP源码:以SINX.ASM为例》 在数字信号处理(DSP,Digital Signal Processing)领域,源代码是实现算法的核心。这里提到的"DSP_examples.rar"压缩包,内含"DSP_examples"文件夹,以及一个名为"SINX.ASM...
jar包,官方版本,自测可用
在提供的文件名"Mader.C.ASM"中,我们可以推测这可能是一个使用Mader.C.ASM编码器编写的汇编程序源文件。打开这个文件,我们可以看到一系列的汇编指令,以及可能的宏定义和数据结构,这些都是为了实现特定的功能。...
标题中的"written_mult.asm.rar_Mult.asm_space"表明这是一个关于汇编语言编程的资源,特别是与多重(Mult)操作和空间控制(space control)相关的。这个压缩包可能包含一个名为"Mult.asm"的源代码文件,该文件是用...
lxt.ASM.asm
9.ASM.asm