单片机汇编语言编程100个无符号数,放在外部RAM1000开始的区域,编程统计其中的正数

单片机汇编语言编程100个无符号数,放在外部RAM1000开始的区域,编程统计其中的正数,第1张

题目,让人看不懂。

既然是“无符号数”,怎么还要统计“正数”?

统计结果,放到何处,也不明不白的。

MOV DPTR,#1000

MOV R2, #0

MOV R3, #0

MOV R4, #100

LOOP:

MOVX A, @DPTR

INC DPTR

JBACC.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中。

org 0

mov r0,#100 共100个数

mov a,#0 累加结果先清0

mov r1,#1 第1个数为1

loop:

add a,r1 把数累加起来

inc r1 下一个数

djnz r0,loop共100个数,未完转 LOOP循环

sjmp $ 完成

end

ORG 0000H

AJMP START

ORG 0100H

START:

MOV 42H, #88H 先设NA<NB

MOV A, 40H

CJNE A, 50H, LOOP1 NAH-NBH

SJMP NEXT 相等则再去比较低八位

LOOP1:

JCLOOP 不够减,就可以结束了

AJMP LOOP3 转

NEXT:

MOV A, 41H

CJNE A, 51H, LOOP2 NAL-NBL

LOOP2:

JCLOOP 不够减,就可以结束了

LOOP3:

MOV 42H, #0FFH 否则就是NA>=NB

LOOP:

AJMP LOOP

END


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11223978.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存