编程将片外RAM的1000H单元开始的100个字节的数据相加,结果存放于R7R6中。
单片机里面的题,能详细解释的话再给分!
试编一段程序,将片内RAM的20H,21H,22H单元的内容依次存入片外RAM的20H,21H,22H中。
答案:3 悬赏:0 手机版
解决时间 2021-02-18 01:00
- 提问者网友:别再叽里呱啦
- 2021-02-17 17:20
最佳答案
- 五星知识达人网友:胯下狙击手
- 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
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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯