简答题

在外部RAM中BLOCK开始的单元中有一数据块,数据长度为LEN,试编程统计其中的正数、负数和零的个数分别存入内部RAM的Pcount、Mcoun和Zcount单元。

正确答案

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。试编程求其中最大的数并存入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四个字节,该向量对应的中断号是()。

    单选题查看答案