正负数、0,个数的统计
2016-01-25 11:30
363 查看
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
;==========================================
设有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
;==========================================
相关文章推荐
- 汇编程序:用减奇数法开平方(16位)
- 用扫描法读出4×4矩阵键盘,在数码管显示按键值
- python set集合
- 51单片机串行通信奇偶校验的设置方法
- 延时程序耗费时间的精确算法
- 部署SharePoint 2013
- 单片机实现灯左右移动和闪烁的程序
- 编写51单片机程序,输出方波,at89s52的单片机
- 数据库索引的实现原理
- js的创建多维数组的方法
- BusyBox - The Swiss Army Knife of Embedded Linux
- AngularJS中的$http深入分析
- Javascript 正确用法 二
- 一些取整方法
- 实现每隔1秒计一个数,显示00到99
- 利用8031的定时/计数器T1对外部事件进行计数
- Socket 短连接、长连接
- 在7000H--700FH中查出“00”的个数
- 关于8279的实例
- 利用单片机的定时器中断,周期性输出矩形波