80x86汇编语言:分类统计

来源:互联网 发布:南京新大陆软件怎么样 编辑:程序博客网 时间:2024/06/05 15:05


汇编语言的程序设计题!急~~!


有100个学生成绩,存放在以DATA为首址的字节存储单元中。

试统计其中90(含90)以上的人数,60—90(含60)之间的人数,60以下的人数,

分别存入MAX,MIDDLE, MIN三个变量中。


题目链接:http://zhidao.baidu.com/question/623494504013952684.html


15 分钟前 做而论道    | 十七级 最快回答


ASSUME   DS:QQ, CS:CC


QQ   SEGMENT


    DATA  DW   76, 69, 84, 90, 73, 88, 99, 63, 100, 80 ;这里可写100个成绩

          DW   78, 78 ,74, 79, 72, 78, 77, 76, 76, 75


NNN  EQU  ($ - DATA) / 2


    S6   DW   0

    S7   DW   0

    S8   DW   0

    S9   DW   0

    S10  DW   0


    MESSAGE1  DB  '60-69  NUMBER:', '$'

LLL EQU $ - MESSAGE1

    MESSAGE2  DB  '70-79  NUMBER:', '$'

    MESSAGE3  DB  '80-89  NUMBER:', '$'

    MESSAGE4  DB  '90-99  NUMBER:', '$'

    MESSAGE5  DB  '100    NUMBER:', '$'


QQ   ENDS

    

CC   SEGMENT


START:

    MOV   AX, QQ

    MOV   DS, AX


    CALL  COUNT

    CALL  DISPLAY


    MOV   AX, 4C00H

    INT   21H

;------------------------

COUNT   PROC   NEAR

    MOV   CX, NNN

    MOV   SI, 0

NEXT:

    MOV   AX, DATA[SI]

    MOV   BL, 10

    DIV   BL

    MOV   AH, 0

    MOV   BX, AX

    SUB   BX, 6

    SHL   BX, 1

    INC   S6[BX]

    ADD   SI, 2

    LOOP  NEXT

    RET

COUNT   ENDP

;------------------------

DISPLAY   PROC   NEAR

    MOV   CX, 5

    MOV   SI, 0

    MOV   DI, 0

ROTATE:

    MOV   AH, 9

    LEA   DX,  MESSAGE1

    ADD   DX, DI

    INT   21H

    MOV   AX, S6[SI]

    MOV   BL, 10

    DIV   BL

    MOV   BX, AX

    MOV   AH, 2H

    MOV   DL, BL

    CMP   BL, 0

    JZ    NEXW

    ADD   DL, 30H

    INT   21H

NEXW:

    MOV   DL, BH

    ADD   DL, 30H

    INT   21H

    ADD   SI, 2

    ADD   DI, LLL

    CALL  CRLF

    LOOP  ROTATE

    RET

DISPLAY   ENDP

;------------------------    

CRLF   PROC   NEAR

    MOV   AH, 2H

    MOV   DL, 0DH

    INT   21H

    MOV   DL, 0AH

    INT   21H

    RET

CRLF   ENDP

;------------------------

CC   ENDS

    END   START


;=====================================


程序执行结果如下:


C:\MASM>WW


60-69  NUMBER:2

70-79  NUMBER:12

80-89  NUMBER:3

90-99  NUMBER:2

100    NUMBER:1


;=====================================


提问者评价:谢谢你,很及时~



0 0