个人档案管理课程设计
- 格式:doc
- 大小:61.50 KB
- 文档页数:12
华 北 科 技 学 院
课程设计说明书
课程名称: 汇编语言
班级: 计算机B08-1 姓名: 胡诗招
学号: 200807014102
设计题目: 个人档案管理文件
设计时间: 2010年6月23号 _至 2010年7月2号 _
指导教师:______ 李冬艳_ ___________
评 语:_________________________________
_________________________________________
_________________________________________
_________________________________________
_________________________________________
评阅成绩:__ __评阅教师:__ ___
一、课程设计目的
进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。
二、课程设计要求
1.要求编写并调试通过一个小型软件,实现对软件或硬件的操作。
2.遵循模块化、结构化的程序设计方法。
3.要求程序必须正确。
4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。
5.要求程序结构合理,语句使用得当。
6.适当追求编程技巧和程序运行效率。
三、课程设计题目:
个人档案管理文件
四、课题分析
程序开始时,先建立判断是否存在文件,如果不存在,就创立文件。然后随便输入i,l,q中任意一个字母,然后跳到相应的子程序,输入i诗,跳到输入的子程序,输入相应的数据,保存到文件里。当输入l时,保存在文件里的数据就会显示,每个学生的信息显示一行。当输入q时,直接关闭文件,程序结束
五、流程图:
开始
先建立一个文件
输入i,l,q中的
一个字母
输入i 输入l
输入学生的名字,年龄
性别,身高,体重,并把 打开文件
数据依次存到文件
显示学生名字,年领
,性别,身高,体重
输入q
关闭文件
结束
六、程序源代码:
vardata segment
filename db 'ffff.txt',00 ;定义文件
vardata ends
condata segment
names db 10 dup(?) ;名字定义
age db ?,? ;年龄定义
sex db 2 dup(?) ;性别定义
height db 3 dup(?) ;身高定义
weight db 3 dup(?) ;体重定义
mess_n db 0dh,0ah,' name:$'
mess_a db 0dh,0ah,' age:$'
mess_s db 0dh,0ah,' sex:$'
mess_h db 0dh,0ah,' height:$'
mess_w db 0dh,0ah,' weight:$'
s4 db 0dh,0ah
db
'***************************************',0dh,0ah
db '* -1: print list [L]-
*',0dh,0ah
db '* -2: insert new ele [I]-
*',0dh,0ah
db '* -3: quit [q]-
*',0dh,0ah
db
'***************************************',0dh,0ah
db 0dh,0ah
db '$'
s1 db ' name age sex height
weight',13,10,'$'
s2 db ' $'
s3 db ' $'
condata ends
code segment
assume cs:code,ds:vardata,es:condata
start:
mov ax, condata
mov es, ax
mov ax, vardata
mov ds, ax
push ds
;--------------print command hint-------------------
mov ax, es mov ds, ax
mov dx, offset s4
mov ah, 9h
int 21h
pop ds
;----------------intepret command------------------
cmp_l: mov ah, 01h
int 21h
cmp al, 'l'
jnz cmp_i
call list_all
jmp start
cmp_i:
cmp al, 'i'
jnz cmp_q
call insert
jmp start
cmp_q:
cmp al, 'q'
jnz closef
exit:
mov ax, 4c00h
int 21h
;-------------打开和创建文件
list_all proc near
call open_create ;open or create file
push ds
mov ax, es ;es里放的是文件
mov ds, ax
lea dx, s1
mov ah, 9
int 21h
mov dl, 0ah
mov ah,2
int 21h
loop_rd:
mov ah, 3fh ;read record from file to memory 读取文件
mov dx, offset names
mov cx, 20
mov bx, si int 21h
cmp ax, 0
je read_finish ;read to the end,then finish相等是结束
;--------------------名字
lea dx, s3
mov ah, 9
int 21h
mov bx, 0
go_on:
mov dl, names[bx]
mov ah, 2h
int 21h
inc bx
cmp bx, 10
jl go_on
;---------------------年龄
lea dx,s2
mov ah,9
int 21h
mov dl, age[0]
mov ah, 2