汇编课程设计个人档案管理文件.docx
- 文档编号:11226756
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:16
- 大小:26.20KB
汇编课程设计个人档案管理文件.docx
《汇编课程设计个人档案管理文件.docx》由会员分享,可在线阅读,更多相关《汇编课程设计个人档案管理文件.docx(16页珍藏版)》请在冰豆网上搜索。
汇编课程设计个人档案管理文件
华北科技学院
课程设计说明书
课程名称:
汇编语言
班级:
计算机B08-1
姓名:
胡诗招
学号:
200807014102
设计题目:
个人档案管理文件
设计时间:
2010年6月23号至
2010
年7月2号
指导教师:
李冬艳
评语:
、课程设计目的
进行程序设计方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,达到能独立阅读、编制和调试一定规模的汇编语言程序的水平。
二、课程设计要求
1•要求编写并调试通过一个小型软件,实现对软件或硬件的操作。
2•遵循模块化、结构化的程序设计方法。
3.要求程序必须正确。
4.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。
5.要求程序结构合理,语句使用得当。
6.适当追求编程技巧和程序运行效率。
三、课程设计题目:
个人档案管理文件
四、课题分析
程序开始时,先建立判断是否存在文件,如果不存在,就创立文件。
然后随便输入i,l,q中任意一个字母,然后跳到相
应的子程序,输入i诗,跳到输入的子程序,输入相应的数据,保存到文件里。
当输入l时,保存在文件里的数据就会显示,每个学生的信息显示一行。
当输入q时,直接关闭文件,程序结束
五、流程图:
结束
六、程序源代码:
filename
db
'ffff.txt',00
;定义文件
vardataends
condatasegment
names
db
10dup(?
)
;名字定义
age
db
?
?
■J・
;年龄定义
sex
db
2dup(?
)
;性别定义
height<
db
3dup(?
)
;身高定义
weight
db
3dup⑺
;体重定义
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:
printlist[L]-
*',0dh,0ah
db
'*-2:
insertnewele[I]-
*',0dh,0ah
db
'*-3:
quit[q]-
*',0dh,0ah
vardatasegment
db
'***************************************'
weight',13,10:
$'
s2db'$'
condataendscodesegment
assumecs:
code,ds:
vardata,es:
condata
start
movax,condata
moves,ax
mov
ax,
vardata
mov
ds,
ax
push
ds
——printcommandhint
mov
ax,
es
mov
ds,
ax
mov
dx,
offsets4
mov
ah,
9h
int21h
popds
J
intepretcommand
cmp_l:
mov
ah,
Olh
int
21h
cmp
al,
T
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_allprocnear
;openorcreatefile
;es里放的是文件
callopen_create
pushds
movax,es
movds,ax
leadx,si
movah,9
int21h
movdl,Oah
movah,2
int21h
loop_rd:
mov
ah,
3fh
mov
dx,
offset
mov
cx,
20
mov
bx,
si
int
21h
cmp
ax,
0
je
read_
_finish
;readrecordfromfiletomemory读取文件names
;readtotheend,thenfinis!
相目等是结束
名字
J
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
jlgo_on
年龄
leadx,s2movah,9
int21h
mov
dl,
age[0]
mov
ah,
2
int
21h
mov
dl,
age[1]
mov
ah,
2
int21h
性别
leadx,s2
movah,9
int21h
mov
bx,
0
11:
mov
dl,
sex[bx]
mov
ah,
2h
int
21h
inc
bx
cmp
bx,
2
jl
l1
J
身高
lea
dx,s2
mov
ah,9
int
21h
mov
bx,
0
12:
mov
dl,
height[bx]
mov
ah,
2h
int
21h
inc
bx
cmpjl
lea
movintmov13:
mov
movintinc
cmpjlmovmovintmovmovintjmpread_finish:
call
popret
bx,3
12
体重
dx,s2
ah,9
21h
bx,0
dl,weight[bx]
ah,2h
21h
bx
bx,3
l3
dl,0dh
ah,2
21h
dl,0ah
ah,2
21h
loop_rd;arecordfinished,thentoreadthenex接着显示
closef
ds
list_allendp
;输入子程序
insert
proc
near
call
open_
_create
push
ds
mov
ax,
es
mov
ds,
ax
J
----名字输入
mov
dx,
offset
mov
ah,
9h
int
21h
mov
bx,
0
init:
mov
names[bx],0
inc
bx
cmp
bx,
20
jl
init
mov
bx,
0
lp:
mov
ah,
1
mess_n
;openofcreatefile
;memoryinitialize初始化
;从键盘接受数据
int
21h
cmp
al,
Odh
jz
inext
cmp
al,
Oah
jz
inext
mov
name:
s[bx],al
inc
bx
cmp
bx,
10
jlIp
年龄的输入
inext:
lea
dx,s2
movah,9
int21h
mov
dx,
offset
mov
ah,
9h
int
21h
mov
bx,
0
Ip2:
mov
ah,
1h
int
21h
cmp
al,
0dh
jz
inext1
cmp
al,
0ah
jz
inext1
mov
age[bx],al
inc
bx
cmp
bx,
1
jleIp2
mess_a
性别输入
inext1:
lea
dx,s2
mov
ah,9
int
21h
mov
dx,
offset
mov
ah,
9h
int
21h
mov
bx,
0
lp3:
mov
ah,
1h
int
21h
cmp
al,
0dh
jz
inext2
cmp
al,
0ah
jz
inext2
mess_s
movinccmpjle
sex[bx],albx
bx,2
lp3
J
-身高输入
inext2:
lea
dx,s2
mov
ah,9
int
21h
mov
dx,
offset
mov
ah,
9h
int
21h
mov
bx,
0
lp4:
mov
ah,
1h
int
21h
cmp
al,
0dh
jz
inext3
cmp
al,
0ah
jz
inext3
mov
height[bx],al
inc
bx
cmp
bx,3
jle
lp4
J
体重输入
inext3:
lea
dx,s2
mov
ah,9
int
21h
mov
dx,
offset
mov
ah,
9h
int
21h
mov
bx,
0
lp5:
mov
ah,
1h
int
21h
cmp
al,
0dh
jz
iexit
cmp
al,
0ah
jz
iexit
mov
weight[bx],al
inc
bx
cmp
bx,3
jle
lp5
iexit:
mov
ah,
42h
mess_h
mess_w
;movethefilepointertotheendoffile
;移动文件
back:
moval,2
movbx,si
movcx,0
movdx,0
int21h
mov
ah,
40h
;writetherecordtofile写入文件
mov
bx,
si
mov
cx,
20
mov
dx,
offset
names
int
21h
call
closef
pop
ds
ret
insertendp
open_createproc
near
push
ds
mov
ax,
mov
ds,
mov
ah,
mov
dx,
mov
al,
int
21h
jnc
ok
mov
ah,
mov
dx,
mov
cx,
int
21h
segfilename
ax
3dh
offsetfilename
2h
;filename文件d的段地址值送给ax
;openthefile
;显示文件
;大于等于时跳转
3ch;如果不存在文件,就创建文件
offsetfilename
00
mov
si,
ax
pop
ds
ret
open_create
endp
closef
proc
near
mov
bx,
si
mov
ah,
3eh
int
21h
ret
closef
endp
code
ends
end
start
ok:
;关闭文件
七、结果显示
*-1:
pi'intlisttLJ-*
*-2:
Inser七neuele[IJ—*
*-3:
quitIqJ-*
name
a^e
sex
heigfht
ueigh七
hushiehao
20
na
170
lisi
1?
na
172
zhan^san
21
nv
169
xiaoxiao
nv
21
169
*-1:
ppintlist【!
(]—*
*-2sinsertnewele[IJ—*
*-3:
quit(q1'*
Pf已swanytocontinue
八、感想、收获及体会
课程设计从开始找资料到课设结束,在这短时间里,课设给
我的收获很大,虽然我的题目不是很难,比其他同学的简单,程序也简单,程序的代码都是简单的指令,但我学到的却很多。
以
前学程序时思维都很乱,但写这个程序是,我的思路确是非常清晰的,本来想加上一些代码,让显示时带有颜色,但试了几次都不太理想,就去掉了。
这个程序不是我单独完成的,有些东西是在网上找的。
虽然是别人的,但我把它转换为自己的东西。
在写程序时,思路是最终要的,如果思路错了,你就很难写出正确的程序,但要是思路非常的清晰,就算程序有写错误,你也会很快的找出并把它改对。
所以我认为在写一个程序时,必须把思路弄得非常的清楚,然后再开始写。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 课程设计 个人档案 管理 文件