微机原理与接口技术大作业,编写汇编语言源程序,要求从键盘输入全班学生信息
可以发到我的邮箱44391633@qq.com谢谢了~编写汇编语言源程序,要求从键盘输入全班学生信息,包括:学号10位数字、姓名不超过10个字符,以及一门课程成绩0-10...
可以发到我的邮箱 44391633@qq.com 谢谢了~编写汇编语言源程序,要求从键盘输入全班学生信息,包括:学号10位数字、姓名不超过10个字符,以及一门课程成绩0-100整数。对成绩进行降序排列并输出全部信息。
展开
1个回答
展开全部
这个程序很复杂,这个问题学会了,汇编语言也就基本过关了。
下面给出输入和原始顺序分数输出,重点说明结构数据的使用,供参考:
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 广告
2024-06-11 广告
好不好,谁更好这个问题是见仁见智的。这个需要顾客根据自身的情况,去选择合适自己的公司。更多详情建议可以咨询一下广州奇峰机电设备有限公司!广州奇峰机电设备有限公司主要为客户提供专业的可编程控制器产品,公司拥有专业的团队以及丰富的经验,更多详情...
点击进入详情页
本回答由奇峰提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询