• [汇编]统计成绩分布


     1 data segment
     2     ; add your data here!  
     3     goals   dw  76,69,84,90,73,88,99,63,100,80 ;字存储成绩
     4     S6      dw  30h;ascil的'0'便于输出
     5     S7      dw  30h
     6     S8      dw  30h
     7     S9      dw  30h
     8     S10     dw  30h
     9 ends
    10 
    11 code    segment  
    12 main    proc    far
    13         assume  cs:data,ds:code
    14 start:  
    15     ; set segment registers:  
    16     push    ds
    17     sub     ax,ax
    18     push    ax
    19     mov     ax,data
    20     mov     ds,ax
    21 begin:    
    22     mov     cx,10;loop循环次数
    23     call    cout 
    24     mov     cx,5
    25     call    print
    26     ret
    27 main    endp
    28 ;-----------------------------------
    29 cout    proc    near   ;统计成绩的子程序
    30     mov     si,0
    31 next:    
    32     mov     ax,goals[si];把分数给ax
    33     mov     bx,10;被除数
    34     div     bl   ;无符号除[(AL)=(AX)/SRC,(AH)=(AX)%SRC]被除数为8位
    35                  ;[这里获得分数的十位数]
    36     mov     bl,al;把分数的十位数字放在bl中
    37     sub     bx,6 ;把十位数字减6[因为S6为第一个箱子表示60-70分数,bx-6可做偏移量]
    38     sal     bx,1
    39     add     S6[bx],1;对应的箱子加一
    40     add     si,2    ;因为是DW型要加2才会取出goals的下一个
    41     loop    next    ;loop终止条件cx=0 ,所以上面cx先赋值10,每次循环自减
    42     ret
    43 cout    endp
    44 ;----------------------------------   
    45 print   proc    near    ;输出子程序
    46     mov     si,0
    47 continue:      
    48     push    ax
    49     mov     ax,S6[si] ;用ax转成字,注意保护ax
    50     mov     dl,al     ;02中断,dl为输出字符
    51     mov     ah, 02h
    52     int     21h
    53     add     si,2 
    54     pop     ax
    55     mov     dl,02h     ;输出一个笑脸
    56     mov     ah, 02h
    57     int     21h
    58     loop    continue
    59 print   endp
    60 ;---------------------------------
    61 code    ends
    62 end     start
  • 相关阅读:
    Java怎样对一个属性设置set或get方法的快捷键
    小程序怎样控制rich-text中的<img>标签自适应
    Java中Arrys数组常用的方法
    Java 怎样实现调用其他方法
    Java保留两位小数
    解决ajax请求跨域
    rand(7) 到rand(10)
    c++生成随机数
    批量该文件名
    正则表达式(=)
  • 原文地址:https://www.cnblogs.com/zjutlitao/p/3713357.html
Copyright © 2020-2023  润新知