- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用文档
汇编语言程序设计期末大作业:
编写一完整的汇编语言源程序,
实现从键盘输入一个班(不少于
10 人)的学生记录 (学号:
8 位数字、姓名:不多余 10 个英文字符,语文:
0-100 的整数、数学:
0-100 的整数、英语:
0-100 的整数)后,
(1)
将输入的记录保存在
C 盘根目录下名为
stuscore.dat 的文件中 ;
(2)
按照各科成绩总分先高后低的顺序输出全部学生记录和排名顺序
;
(3)
输出总分高于班平均总分的全部学生记录。
要求:
元月 4 日前提交一份纸质报告(班长统一收齐) 。
大作业格式:
标题: 汇编语言程序设计期末大作业
作业题目: (上述)
算法分析(流程图)
实现代码(必须含注释)
实验结果(汇编、连接、运行的截图)
总结
代码实现
student struct ; 定义结构
Snumber db 11,0,11 dup(?)
Sname db 11,0,11 dup(?)
English db 4,0, 4 dup(?)
Chinese db 4,0, 4 dup(?)
Math db 4,0, 4 dup(?)
Sum db 4,0, 4 dup(?)
student ends
; 数据段
data segment
messMenu db ----------------The Homework of
Assembler-----------------$
messMenu1 db ----------Name:TU LIN
No:8000110028--------------$
messNext db
--------------------------------------------------------------------
------------$
messName db Please input the student name(11):$
messNum db Please input the student number(11):$
messEnglish db Please input the English score:$
messChinese db Please input the Chinese score:$
messMath db Please input the Math score:$
mess1 db name:$
mess2 db number:$
标准文案
实用文档
mess3 db English:$
mess4 db Chinese:$
mess5 db Math:$
messSumScore db SumScore:$
MessTab db 09,$ ;Tab 用于排列对
齐
StudAddress dw 10 dup(?) ; 存各学生的偏移地址
EnglishScore db 10 dup(?) ; 存学
生英语成绩的十进制数
ChineseScore db 10 dup(?) ; 存学
生语文成绩的十进制数
MathScore db 10 dup(?) ; 存学
生数学成绩的十进制数
Average dw ?
Buf db 6 dup(?)
SumScore dw 10 dup(?) ; 用于
记录每个学生总分
NumbersOfStudent db 0
Stu student 10 dup()
SumRank db 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
FName db C:\StuScore.dat, 0; 文件
FileHandle dw ?; 文件句柄
EndOfFile dw 0ffh
OtherLine db 0ah, 0dh, $
FileSpace db
data ends
堆栈段
stack segment
db 100h dup(?)
stack ends
代码段
code segment
assume cs:code,ds:data,ss:stack
start: mov ax,data
mov ds,ax ; 将数据段首地址传给 ds
mov ax,stack
mov ss,ax ; 将堆栈段首地址传给 ss
mov sp,0
call Endline
lea dx,messMenu
mov ah,09h
int 21h
标准文案
实用文档
call Endline
lea dx,messMenu1
mov ah,09h
int
21h
call Endline
lea
si,Stu
;
取 student 的首地址给 si
mov cx,10
InputStu:
call GetStudent
lea dx,messNext
mov a
文档评论(0)