C51汇编

1

试编程将内部RAM40H~60H单元中的内容传送到外部RAM以2000H为首地址的存储区中。

ORG  0600H    

MOV  R0,#40H 

MOV  DPTR,#2000H    

MOV  R7,#21H 

LOOP: MOV  A,@R0    

MOVX @DPTR,A    

INC  R0    

INC  DPTR 

DJNZ R7,LOOP 

END

2

在外部RAM首地址为DATA的存储器中,有10个字节的数据。试编程将每个字节的最高位无条件地置1。

ORG  0700H 

MOV  DPTR,#DATA    

MOV  R7,#10 

LOOP: MOVX A,@DPTR    

ORL  A,#80H    

MOVX @DPTR,A    

INC  DPTR 

 DJNZ R7,LOOP 

 END

3

编写程序将外部RAM3000H开始的13个单元中的数据隔一个传送到内部RAM30H开始的区域。

ORG  0800H 

MOV  DPTR,#3000H    

MOV  R0,#30H    

MOV  R7,#7

LOOP: MOVX A,@DPTR    

MOV  @R0,A    

INC  DPTR    

INC  DPTR    

INC  R0 

DJNZ R7,LOOP 

 END

4

编程将外部RAM地址为1000H~1030H的数据块,全部搬迁到内部RAM30H~60H中,并将原数据区全部清零。

ORG  0900H 

MOV  DPTR,#1000H    

MOV  R1,#30H    

MOV  R7,#31H 

LOOP: MOVX A,@DPTR

MOV  @R1,A    

CLR  A 

MOVX @DPTR,A    

INC  DPTR    

INC  R1 

DJNZ R7,LOOP 

END

5

设在外部RAM2000H~2004H单元中,存放有5个压缩BCD码,试编程将它们转换成ASCII码,存放到以外部RAM2005H单元为首地址的存储区中。

ORG  1200H 

MOV  DPTR,#2000H    

MOV  R0,#30H    

MOV  R7,#5

LOP1: MOVX A,@DPTR    

ANL  A,#0FH    

ADD  A,#30H    

MOV  @R0,A    

INC  R0

MOVX A,@DPTR    

ANL  A,#0F0H    

SWAP A 

ADD  A,#30H    

MOV  @R0,A

INC  R0    

INC  DPTR 

DJNZ R7,LOP1 

MOV  DPTR,#2005H    

MOV  R0,#30H    

MOV  R7,#10

LOP2:  MOV  A,@R0    

MOVX @DPTR,A    

INC  R0    

INC  DPTR 

DJNZ R7,LOP2 

END

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值