编写一个程序,把片外RAM从2000H开始存放的10个数传送到片内RAM 30H开始单元。
编写一个程序,把片外RAM从2000H开始存放的10个数传送到片内RAM 30H开始单元。
参考答案和解析
编程如下: DMOV: MOV DPTR,#2000H ;置源数据区首址 MOV R2,#00H ;置数据长度(256个) DLOP: MOVX A,@DPTR ;读数据 MOV DPH,#30H ;置目的数据区高8位地址 MOVX @DPTR,A ;存数据 MOV DPH,#20H ;置源数据区高8位地址 INC DPTR ;修改源数据区地址 DJNZ R2,DLOP ;判循环结束否? RET ;
相关考题:
要完成以下的数据传送,应如何用MCS-51指令实现? ⑴ R1的内容传送到R0; ⑵ 片外RAM 20H单元的内容送R0; ⑶ 片外RAM 20H单元的内容送片内RAM 20H单元; ⑷ 片外RAM 1000H单元的内容送片内RAM 20H单元; ⑸ ROM 2000H 单元的内容送R0; ⑹ ROM 2000H 单元的内容送片内RAM 20H单元; ⑺ ROM 2000H 单元的内容送片外RAM 20H单元。
如89C51的寄存器SP的内容是07H,执行PUSH A指令后,()。A、 片内RAM 07H单元内容与累加器A的内容一样B、 片外RAM 07H单元内容与累加器A的内容一样C、 片外RAM 08H单元内容与累加器A的内容一样D、 片内RAM 08H单元内容与累加器A的内容一样
问答题在以3000H为首地址的外部RAM中,存放了14个以ASCII码表示的0~9的数,试编写程序将它们转换成BCD码,并以压缩BCD形式存放在以2000H为首地址的外部RAM中。