汇编语言程序设计期末大作业。(3)

2025-08-03

;============================================================== Buildfile : push ax push cx push dx

mov ah, 3ch mov cx, 00 lea dx, FName int 21h

jc CreateFileError mov FileHandle, ax jmp CreateFileOk CreateFileError: mov ah, 09h

mov dx, offset CreateFileError int 21h CreateFileOk: pop dx pop cx pop ax ret

WriteToFile: push ax push bx push cx push dx push di push si

lea di, [si].SName mov dx, di add dx, 2

mov cl, [di+1] mov ch, 0

mov bx,FileHandle mov ah, 40h int 21h

jc WriteFileError call WriteSpace

lea di, [si].SNumber mov dx, di

add dx, 2

mov cl, [di+1] mov ch, 0

mov bx, FileHandle mov ah, 40h int 21h

jc WriteFileError call WriteSpace

lea di, [si].ChineseScore mov dx, di add dx, 2

mov cl, [di+1] mov ch, 0

mov bx, FileHandle mov ah, 40h int 21h

jc WriteFileError call WriteSpace

lea di, [si].MathScore mov dx, di add dx, 2

mov cl, [di+1] mov ch, 0

mov bx, FileHandle mov ah, 40h int 21h

jc WriteFileError call WriteSpace

lea di, [si].EnglishScore mov dx, di add dx, 2

mov cl, [di+1] mov ch, 0

mov bx, FileHandle mov ah, 40h int 21h

jc WriteFileError call WriteSpace

lea di, [si].SumScore mov dx, di

add dx, 2

mov cl, [di+1] mov ch, 0

mov bx, FileHandle mov ah, 40h int 21h

jc WriteFileError

call WriteEndLine

jmp WriteFileOk WriteFileError:

lea dx,WriteFileError mov ah, 09h int 21h WriteFileOk: pop si pop di pop dx pop cx pop bx pop ax ret

;******************************************************************** WriteSpace: mov cx, 2

lea dx, FileSpace mov bx, FileHandle mov ah, 40h int 21h ret

;******************************************************************** WriteEndLine: mov cx, 2

lea dx, OtherLine mov bx, FileHandle mov ah, 40h int 21h ret CloseFile:

mov ah, 40h

mov bx, FileHandle mov cx, 2

lea dx, EndOfFile

int 21h

mov ah, 3eh

mov bx, FileHandle int 21h ret

;============================================================== ;子程序名:GetSum

;功能:用于计算出每个学生的各科成绩的总分

;============================================================== GetSum proc near push ax push di push si push bx push cx

lea di,EnglishScore lea si,SumScore

mov cx,10 mov al,0 LoopSum:

mov ah,0 mov al,[di]

mov word ptr[si],ax inc di add si,2 loop LoopSum

lea di,ChineseScore lea si,SumScore mov cx,10 mov al,0 LoopSum1:

mov ah,0 mov al,[di]

add word ptr[si],ax inc di add si,2

loop LoopSum1 lea di,MathScore lea si,SumScore mov cx,10 mov al,0 LoopSum2:

mov ah,0 mov al,[di]

add word ptr[si],ax inc di add si,2

loop LoopSum2 pop cx pop bx pop si pop di pop ax ret

GetSum endp

;============================================================== ;子程序名:SumAverage

;功能:用于计算出平均成绩,并输出总分高于平均分的学生记录

;============================================================== SumAverage proc near push ax push bx push cx push dx push si

mov cl, NumbersOfStudent mov ch, 0 mov bx, cx mov ax, 0 mov dx, 0

mov si, offset SumScore AverageLoop:

add ax, word ptr [si] adc dx, 0 add si, 2

loop AverageLoop

div bx

mov Average, ax

;输出高于平均成绩的同学

mov dx, offset ShowBigThanAverage mov ah, 09h


汇编语言程序设计期末大作业。(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2024小升初50道经典奥数题及答案详细解析

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219