永发信息网

试编一段程序,将片内RAM的20H,21H,22H单元的内容依次存入片外RAM的20H,21H,22H中。

答案:3  悬赏:0  手机版
解决时间 2021-02-18 01:00
  • 提问者网友:别再叽里呱啦
  • 2021-02-17 17:20
编程将片外RAM的1000H单元开始的100个字节的数据相加,结果存放于R7R6中。
单片机里面的题,能详细解释的话再给分!
最佳答案
  • 五星知识达人网友:胯下狙击手
  • 2021-02-17 17:30
将片内RAM的20H,21H,22H单元的内容依次存入片外RAM的20H,21H,22H中:
MOV R0,#20H
MOV R1,#03H;用于控制循环次数
MOV DPTR,#20H
LOOP:
MOV A, @R0
MOVX @DPTR , A
INC R0;片内RAM地址加一
INC DPTR;外部RAM地址加一
DJNZ R1,LOOP;未循环完3次,跳回继续移数值
SJMP $;停止
END
编程将片外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为一的话,跳转到ADD2,使R7加一(即低8位有进位的话,高8位要加一)
INC DPTR
DJNZ R1, LOOP
SJMP $
ADD2:
INC R7;R7存储高8位
RET
END
全部回答
  • 1楼网友:思契十里
  • 2021-02-17 20:24
你先取出20h和21h中的内容,进行相乘,低字节数据放于22h,高字节数据放于 23h,汇编语言我不会用
  • 2楼网友:第四晚心情
  • 2021-02-17 18:53
试编一段程序,将片内RAM的20H,21H,22H单元的内容依次存入片外RAM的20H,21H,22H中. MOV DPTR, #20H MOV A, 20H MOVX @DPTR, A INC DPTR MOV A, 21H MOVX @DPTR, A INC DPTR MOV A, 22H MOVX @DPTR, A SJMP $ 编程将片外RAM的1000H单元开始的100个字节的数据相加,结果存放于R7R6中. MOV R6, #0 MOV R7, #0 MOV DPTR, #1000H MOV R2, #100 LOOP: MOVX A, @DPTR ADD A, R6 MOV R6, A ADDC A, R7 MOV R7, A INC DPTR DJNZ R1, LOOP SJMP $ END
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯