8051单片机汇编程序请教。悬赏分:30
设有40个有符号数,连续存放在400H为首地址的存储单元,试编程统计其中零,正数和负数的个数分别保存在R2,R3,R4中。
;==========================================
最佳答案:
程序如下:
ORG 0H
MOV A, #00H
MOV R2, A
MOV R3, A
MOV R4, A
MOV R6, A
MOV R5, #40
MOV DPTR, #TABLE
LOOP:
CLR A
MOVC A, @A+DPTR
JNZ CONT_P
INC R2
SJMP NEXT
CONT_P:
JB ACC.7, CONT_N
INC R3
SJMP NEXT
CONT_N:
INC R4
NEXT:
INC DPTR
DJNZ R5, LOOP
MOV P0, R4
SJMP $
ORG 400H
TABLE:
DB 01H, 15H, 22H,0FFH, 00H, 02H, 09H,0F9H, 00H, 00H
DB 01H, 15H, 22H,0FFH, 00H, 02H, 09H,0F9H, 00H, 00H
DB 01H, 15H, 22H,0FFH, 00H, 02H, 09H,0F9H, 00H, 00H
DB 02H, 05H, 00H,0FFH, 26H, 34H, 00H, 00H, 00H, 00H
END
;==========================================
;数据个数与程序执行结果
; 实际个数 保存单元 统计个数
;零个数 14 R2 0EH
;正数个数 19 R3 13H
;负数个数: 7 R4 07H
;==========================================
回答者: 做而论道 回答时间:2009-12-06 20:26
提问者对于答案的评价:非常感谢
原题网址:http://zhidao.baidu.com/question/128531909.html
;==========================================