单片机汇编语言编程100个无符号数,放在外部RAM1000开始的区域,编程统计其中的正数
答案:2 悬赏:10 手机版
解决时间 2021-02-12 16:22
- 提问者网友:树红树绿
- 2021-02-11 16:48
帮帮忙,救急,在快,谢谢了
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-02-11 17:28
;题目,让人看不懂。
;既然是“无符号数”,怎么还要统计“正数”?
;统计结果,放到何处,也不明不白的。
MOV DPTR, #1000
MOV R2, #0
MOV R3, #0
MOV R4, #100
LOOP:
MOVX A, @DPTR
INC DPTR
JB ACC.7, FU ;符号为1转移,即负数转移
MOV A, R2
ADD A, #1
MOV R2, A
MOV A, R3
ADDC A, #0
MOV R3, A
FU:
DJNZ R4, LOOP
RET
;正数的个数在R3R2中。
;完
;既然是“无符号数”,怎么还要统计“正数”?
;统计结果,放到何处,也不明不白的。
MOV DPTR, #1000
MOV R2, #0
MOV R3, #0
MOV R4, #100
LOOP:
MOVX A, @DPTR
INC DPTR
JB ACC.7, FU ;符号为1转移,即负数转移
MOV A, R2
ADD A, #1
MOV R2, A
MOV A, R3
ADDC A, #0
MOV R3, A
FU:
DJNZ R4, LOOP
RET
;正数的个数在R3R2中。
;完
全部回答
- 1楼网友:我住北渡口
- 2021-02-11 17:57
unsigned int *addr_i;
unsigned char i;
char x;
unsigned char *dx;
add_i=0x1000;
for(i=0;i<100;i++)
{
x=*(add_i+i);
if(x>0)
{
dx=0x20;
*dx=x;
}
else
{
if(x==0)
{
dx=0x22;
*dx=x;
}
else
{
dx=0x21;
*dx=x;
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯