编写一程序如何实现将1000H单元开始的100个单元的数据转移到2000H开始的单元中? 利用变址寄存器,编一个程序,把自1000H单元开始的100个...

作者&投稿:呼怨 (若有异议请与网页底部的电邮联系)

编程代码如下:

ORG 0000H

MOV DPTR,#1000H ;给源数据块地址指针DPTR赋初值

MOV P2, #20H ;给目的数据块地址指针P2和R0赋初值

MOV RO,#00H

LOOP: MOVX A, @DPTR .

MOVX @RO, A .

INC DPTR

INC RO

CJNE RO,#64H, LOOP

SJMP $

扩展资料

MCS-51单片机主要由下列部件组成:1个8位CPU;1个片内振荡器及时钟电路;4KB ROM程序存储器,256BRAM;21个特殊功能寄存器。

2个1 6位定时/计数器;4个8位并行I/O口及1个可编程全双工串行接口;可寻址64KB的外部程序存储器空间;可寻址64KB的外部数据存储器空间;5个中断源、两个优先级中断嵌套中断结构。

MCS-51单片机内部有两个16位可编程的定时/计数器,简称定时器0 (T0) 和定时器1 (T1) 。它们分别由方式寄存器TMOD、控制寄存器TCON和数据寄存器TH0、TLO, TH1、TL1组成。

低优先级中断源可被高优先级中断源所中断,而高优先级中断源不能被任何中断源所中断;一种中断源(不管是高优先级还是低优先级) 一旦得到响应,与它同级的中断源不能再中断它。当同时收到几个同一优先级的中断时,响应哪一个中断源取决于内部查询顺序。



不必这么复杂……
ORG 0000H
SJMP MAIN
ORG 0030H
MAIN: MOV DPTR, #1000H ;定义单元的首地址
MOV R1, #2000H ;定义被转移单元的首地址
MOV R2,#64H ;100个单元的数据,用16进制表示
LOOP: MOVX A,@DPTR
MOVX @R1,A
INC DPTR
INC R1
DJNZ R2,LOOP
SJMP $

我用51的汇编语言编了,这是个很简单的问题啊!
ORG 0000H
SJMP MAIN
ORG 0100H
MAIN: MOV R0, #1000H ;定义单元的首地址
MOV R1, #2000H ;定义被转移单元的首地址
MOV R3,#64H ;100个单元的数据,用16进制表示
LOOP: MOV DPTR,R0
MOVX A,@DPTR
MOV DPTR,R1
MOVX @DPTR,A
INC R0
INC R1
DJNZ R3,LOOP
SJMP $

单片机,汇编,编写一程序实现将1000H单元开始的100个单元的数据转移到2000H开始的单元中。~

;
MOV DPL, #00H
MOV R2, #100
LOOP:
MOV DPH, #10H
MOVX A, @DPTR
MOV DPH, #20H
MOVX @DPTR, A
INC DPL
DJNZ R2, LOOP

SJMP $

END

我写的是80C51单片机的汇编,不知道你要的是不是这个
MOV A,#1000H
MOV R1,#1070H
K1:MOV R0,100
MOV @R1,A
INC A
INC R1
DJNE R0,#0,K1
SJMP $

...将内部数据存储器30H,31H单元内容传送到外部数据存储器1000H...
答:MOV A,30H :30H单元的内容给寄存器A;MOV 30H,31H :31H单元的内容给30H单元;MOV 31H,A :把暂时放在寄存器A里面的30H单元的内容给31H;完成30H,31H单元内容互换。

...H单元开始存放,10个数,将其传送到外部RAM以1000H开始的区域_百度知 ...
答:内部RAM50H单元开始存放,10个数,将其传送到外部RAM以1000H开始的区域 MOV DPTR,#1000H MOV R2,#10 MOV R0,#50H L1:MOV A,@R0 MOVX @DPTR,A INC DPTR INC R0 DJNZ R2,L1 END 设计延时1s的程序 若为6MHz的晶振程序为 MOV R0,#10 L3:MOV R1,#100 L2:MOV R2,#7DH L1:NOP...

编程:将100个数从1000H搬到2000H并将字符串中第一个与AL中字符相同的...
答:org 2000h buf2 db 100 dup(?);data ends code segment assume cs:code start:mov dx,1000h mov ds,dx ;数据段从1000h地址开始 lea si,buf1 lea di,buf2 mov cx,100 next1: mov [di],[si] ;将1000h开始的数据搬运到2000h开始的单元中 inc si inc di loop next1 ;搬运1...

试编一段程序,将片内RAM的20H,21H,22H单元的内容依次存入片外RAM的20H...
答:编程将片外RAM的1000H单元开始的100个字节的数据相加,结果存放于R7R6中:MOV R6, #0 MOV R7, #0 CLR C;必须先将CY(进位标志)清零 MOV DPTR, #1000H MOV R2, #100 LOOP:MOVX A, @DPTR ADD A, R6 MOV R6, A;存储低8位 JC ADD2;CY为一的话,...

急:以1000H为首址的外存中存放16个字节的数据,编程将该数据块送到以30H...
答:此外,由于汇编语言不允许将数据再没有使用DMA的情况下直接在存储器内部进行交换,因此需要使用通用寄存器作为中转。综上可以确认程序大致框架。程序框架 程序汇编语言实现 程序分析:该代码可以循环16次,将16个数据构成的代码块移动到目标数据区。

...内容送到外部数据存储器1000H开始的单元的程序 急
答:DATACOPY:MOVR0,#20H MOVDPTR,#1000H DATACOPY1:MOVA,@R0 MOVX@DPTR,A INCR0 INCDPTR CJNER0,#10,DATACOPY1 RET

编写程序完成将片外数据存储器地址为1000h-1030h的数据块全部搬迁到片...
答:MOV R1,#30 MOV R0,#30H MOV DPTR,#1000H LOOP:MOV A,@DPTR MOVX @R0,A INC R0 INC DPTR DJNZ R1,LOOP END

使用汇编语言编写一个程序:把内存偏移地址为1000H,起始的10个数据,拷...
答:使用汇编语言编写一个程序:把内存偏移地址为1000H,起始的10个数据,拷贝到内存?啦,认同

如何用寄存器相对寻址方式把ds:1000h字节存贮单元的内容送到ds:2020h...
答:Mov bx,0 Mov al,1000h[bx]mov 2020h[bx],al

...开始的16个字节单元内容依次送到片外RAM中1000H开始的16个字节单元...
答:MOV R0, #40H MOV DPTR, #1000H MOV R2, #16 LP:MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R2, LP END