M.CS51
> 1 ORG 0H
2 LEN EQU #10 ; 数据块长度
3 PCOUNT EQU #30H
4 MCOUNT EQU #31H
5 ZCOUNT EQU #32H
6 BLOCK EQU #40H
0000 7840 7 MOV R0,BLOCK ; BLOCK首地址
0002 790A 8 MOV R1,LEN
0004 E6 9 LOOP: MOV A,@R0
0005 C3 10 CLR C
0006 B40004 11 CJNE A,#0H,SULT1
0009 0532 12 INC 32H
000B 8009 13 SJMP SULT2
000D 33 14 SULT1: RLC A; 移出符号位以判断正负!
000E 4004 15 JC NEG
0010 0530 16 INC 30H
0012 8002 17 SJMP SULT2
0014 0531 18 NEG:// INC 31H
0016 08 19 SULT2: INC R0
0017 D9EB 20 DJNZ R1,LOOP
(简答题)
在外部RAM中BLOCK开始的单元中有一数据块,数据长度为LEN,试编程统计其中的正数、负数和零的个数分别存入内部RAM的Pcount、Mcoun和Zcount单元。
正确答案
答案解析
略
相似试题
(简答题)
在内部RAM的BLOCK开始的单元中有一无符号数据块,数据长度为LEN。试编程求其中最大的数并存入MAX中。
(简答题)
在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1。
(简答题)
程序设计:自BLOCK开始的内存缓存区中,有100个8位无符号数,求出其中最小值,存入MIN单元。
(简答题)
程序设计:自BLOCK开始的内存缓存区中,有100个8位无符号数,求出其中最大值,存入MAX单元。
(简答题)
试编写一程序,将外部数据区DATA1单元开始的50个单节数逐一依次移动到内部RAM中DATA2单元开始的数据区中。
(简答题)
编写程序,将以BLOCK单元开始的100个存储单元清0。要有段说明和必要的伪指令
(简答题)
已知内部RAM30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。
(简答题)
试编写程序,将内部RAM单元中DATA1开始的20个单字节数依次与DATA2单元为起始地址的20个单字节数据进行交换。
(单选题)
8086微机系统的RAM存储单元中,从0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是()。