微机原理与接口技术大作业,编写汇编语言源程序,要求从键盘输入全班学生信息

可以发到我的邮箱44391633@qq.com谢谢了~编写汇编语言源程序,要求从键盘输入全班学生信息,包括:学号10位数字、姓名不超过10个字符,以及一门课程成绩0-10... 可以发到我的邮箱 44391633@qq.com 谢谢了~编写汇编语言源程序,要求从键盘输入全班学生信息,包括:学号10位数字、姓名不超过10个字符,以及一门课程成绩0-100整数。对成绩进行降序排列并输出全部信息。 展开
 我来答
永恒pascal
2018-06-02 · TA获得超过4356个赞
知道大有可为答主
回答量:3902
采纳率:93%
帮助的人:646万
展开全部
这个程序很复杂,这个问题学会了,汇编语言也就基本过关了。
下面给出输入和原始顺序分数输出,重点说明结构数据的使用,供参考:
 
        STUD  STRUC
          NO  DB        10,?,10 DUP(?)
          XM  DB        20,?,20 DUP(?)
          CJ  DB        6,?,6 DUP(?)
       SCORE  DW        ?
    STUD_LEN  EQU       $-NO
        STUD  ENDS
 
        DATA  SEGMENT
       STUDS  STUD 100 dup(<>)
         NUM  DW        0
       NOMSG  DB        13,10,13,10,'please input the number of student: $'
       XMMSG  DB        13,10,'please input the name of student: $'
       CJMSG  DB        13,10,'please input the score of student: $'
     CONTMSG  DB        13,10,13,10,'Are you want to continue(y/n)? $'
        DATA  ENDS
 
        CODE  SEGMENT
              ASSUME    CS:CODE,DS:DATA,ES:DATA
      START:  MOV       AX,SEG DATA
              MOV       DS,AX
              MOV       ES,AX
              LEA       DI,STUDS
         @0:
              LEA       DX,NOMSG
              MOV       AH,9
              INT       21H
              LEA       DX,[DI].NO
              MOV       AH,0AH
              INT       21H
              LEA       DX,XMMSG
              MOV       AH,9
              INT       21H
              LEA       DX,[DI].XM
              MOV       AH,10
              INT       21H
              LEA       DX,CJMSG
              MOV       AH,9
              INT       21H
              LEA       DX,[DI].CJ
              MOV       AH,10
              INT       21H
              ; 以下计算score 
              MOV       WORD PTR [DI].SCORE,0
              LEA       SI,[DI].CJ
              MOV       CL,[SI+1]
              MOV       CH,0
       @@CJ:
              MOV       AX,[DI].SCORE
              MOV       BX,10
              MUL       BX
              MOV       DX,AX
              MOV       AL,[SI+2]
              SUB       AL,30H
              MOV       AH,0
              ADD       AX,DX
              MOV       [DI].SCORE,AX
              INC       SI
              LOOP      @@CJ
            
              INC       WORD PTR NUM
              ADD       DI,STUD_LEN
              LEA       DX,CONTMSG
              MOV       AH,9
              INT       21H
              MOV       AH,1
              INT       21H
              CMP       AL,'n'
              JE        @2
              JMP       @0
               
         @2:
              MOV       AH,2
              MOV       DL,13
              INT       21H
              MOV       DL,10
              INT       21H
              MOV       CX,NUM
              LEA       DI,STUDS
      @@OUT:
              MOV       AX,[DI].SCORE
              CALL      DISPAX
              ADD       DI,STUD_LEN
              LOOP      @@OUT
               
      @EXIT:
              MOV       AH,4CH
              INT       21H
;==============================================
      DISPAX  PROC      NEAR
              PUSH      BX
              PUSH      CX
              PUSH      DX
              PUSH      SI
              PUSH      DS
              PUSH      AX
              MOV       AH,2
              MOV       DL,' '
              INT       21H
              POP       AX
              PUSH      CS
              POP       DS
              MOV       BYTE PTR NZ,0
              PUSH      AX
              LEA       SI,DIVARR
              MOV       CX,5
        @@1:
              POP       AX
              MOV       DX,0
              MOV       BX,[SI]
              DIV       BX
              PUSH      DX
              CMP       AL,0
              JNE       @@2
              CMP       BYTE PTR NZ,1
              JE        @@2
              CMP       CX,1
              JE        @@2
              MOV       DL,20H
              JMP       @@3
        @@2:
              ADD       AL,30H
              MOV       DL,AL
              MOV       BYTE PTR NZ,1
        @@3:
              MOV       AH,2
              INT       21H
              INC       SI
              INC       SI
              LOOP      @@1
              POP       DX
              POP       DS
              POP       SI
              POP       DX
              POP       CX
              POP       BX
              RET
      DIVARR  DW        10000,1000,100,10,1
          NZ  DB        0
      DISPAX  ENDP
;===============================================                    
        CODE  ENDS
              END       START
              
建议编制这些子程序:串结构数组排序子程序、串结构数据交换子程序
追问
能不能帮我拍下序,我看的有点脑壳疼😂
奇峰
2024-06-11 广告
好不好,谁更好这个问题是见仁见智的。这个需要顾客根据自身的情况,去选择合适自己的公司。更多详情建议可以咨询一下广州奇峰机电设备有限公司!广州奇峰机电设备有限公司主要为客户提供专业的可编程控制器产品,公司拥有专业的团队以及丰富的经验,更多详情... 点击进入详情页
本回答由奇峰提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式