ImageVerifierCode 换一换
格式:DOC , 页数:41 ,大小:149.54KB ,
资源ID:4688145      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4688145.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(汇编人事档案管理程序设计报告样本.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

汇编人事档案管理程序设计报告样本.doc

1、 《汇编语言程序设计》课程设计 题目:人事档案文献管理 -11-26 一. 设计目 汇编语言课程设计是对所学课程内容全面、系统总结、巩固和提高一项课程实践活动。依照汇编语言特点,选取相应题目,在教师指引下,由学生独立完毕。课程设计规

2、定同窗们熟悉汇编语言编程,BIOS中断调用、系统功能调用、磁盘数据查询、存取、图形颜色显示与调节等有关知识。通过课程设计,一方面提高运用汇编语言编程解决实际问题能力,另一方面使同窗们更进一步理解计算机系统内部关于知识,为后来学习和系统开发奠定良好基本。 二.设计内容 在文档中创立一种person.txt文本文献,它包括id号、姓名、年龄、性别、电话、通信地址等六项内容,先编写一项如下图界面功能: 实现如下功能: (1) i命令,实现数据输入,在末尾添加 (2) f命令,实现数据查找,按名字进行查找 (3) d命令,实现数据删除,按名字进行查找删除。 (4) o命令,实现数据排

3、序,按名字进行排序 (5) l命令,实现数据显示, (6) q命令,实现退出,并将数据重新写入 三.程序设计原理 (1)本次实验是模块化程序设计思想,通过一种主程序,调用其她模块子程序, ①:文献打开,如果能打开文献便读取其中内容,否则话,便创立文献,接着执行后来裔码。 ②:宏定义:实验中做了一种显示字符串宏,以便后来显示各种字符串 ③:背景颜色实现:通过调用int 10h功能,实现s草绿色背景 ④:插入程序:通过查寻与否存在当前输入id,如果不存在,则继续输入,如果存在则停止输入。输入时候计算输入字节,局限性用空格补充,并将

4、输入内容保存到内存里,当关闭文献时,保存到文献里,同步设立指针指向数据段末尾。 程序框图如下: cmp al,’I’ jnz error call input Y/N 输入id 输入 输入id进行检查,调用check函数,设立flag=bp,初始值设立bp=0,如果存在bp=0,否则bp=1; Check Y 调用storid保存到stu中, BP=0? N Y 保存到数据段 Y 调用inputname 输入名字

5、 调用inputsex 输入性别 输入年龄 调用inputold 调用inputaddress 输入地址 调用inputphone,如果输入结束,通过回车键进入主页面。 输入电话 Ret 结束 ⑤:显示程序,一方面判断文献中是不是有内容,通过设立是一种全局count记录文献个数,如果记录为零,则退出,返回主菜单,否则每次从内存中取60个字节。 到另一种缓存显示,用count计数,显示一次,count--; ⑥:查找模块 :一方面提示顾客输入想要查找名字,调节指针,然后用字符串cmps

6、w比较名字,直到最后一种名字为止,若找到则显示,不存在,则提示; 程序框图: 名字查找 核心代码 :lea si,stu add si,10 ;指向记录第一种人姓名 mov bx,si nase10: lea di,_name ;存储待查人姓名地址 mov cx,5 repe cmpsw 输入要查找名字 si->数据段第一种名字 di=输入名字bp=0 名字比较

7、 Si移到下一种名字 找到名字 Y si=指向学生信息头 N 输出学生信息 Count-1 COUNT=0? N

8、 RET 结束 Y ⑦:删除程序:通过名字进行查找,如果不存在就报错,如果存在多条记录进行提示,选取删除那条记录: Bp作为一种标志: Bp<=1;无记录 3>Bp>1;有一条记录 Bp>3;有多调记录 程序框图: 名字删除 rep movsw RET 结束 sub stu1,60 sub count1,1 Si=di下一种 di=del[bp] di=del[bx] 删除第bx个记录 Bx=bx*2 BP>3? Bp>1? 查找名字相似记录

9、 N Y N Y Si endaddr si>=endaddr N Y ⑧:排序程序:若只有一条记录或者没有直接跳出,否则按照

10、Ascii码排序,排序用冒泡排序算法:程序框图: endaddr->倒数第二个名字 si->第一种名字 swapped=0 这里采用冒泡算法,从第一种数开始对相邻两个数进行比较,如果顺序不对,进行互换。从图中可以看出, 为了提高效率,设立了一种标志位,每次进入外循环,就将标志位值零,在内循环每做一次互换,就将该标志位值1,在每次内循环结束后,可测试标志位与否是0,如果是0.则结束排序,否则在进行一次外循环。这种算法效率较高某些。 di->si下一种名字 Ax=di bx=si

11、 repe cmpsb Si<=di? Y dißàsi N Swapped=1 Si=ax

12、 Si<=endaddr Swapped=0? N N Y 结束ret ⑨:退出程序:打开文献,把数据段内容读入文献,否则创立文献,同是依照count,写入最后一条记录,在末尾‘ ’,关闭文献。 四.程序分工 苏林东:模块整合与颜色调配,尚有文献建立与有关模块制作 吴威:输入模块和删除模块制作,关闭文献制作。 曹锦峰:查询模块和排序模块制作。 五.源程序及运营成果: (1)源程序: data segment HH D

13、B 0,0,':' MM DB 0,0,':' SS1 DB 0,0 mess1 db 'id:','$' mess2 db 'name:','$' mess3 db 'old:','$' mess4 db 'sex:','$' mess5 db 'address:','$' mess6 db 'phone number:','$' mess7 db 'enter error!!!',0dh,0ah,'$' mess8 db 'id',8 dup(' '),'name',5 dup(' '),'old ','sex ',' addre

14、ss ',5 dup(' '),'telphone',13,10,'$' mess9 db 'student information in the table is:',13,10,'$' mess10 db 'please enter the name:',13,10,'$' mess11 db 13,10,'OK,you are quit,welcome the next!!','$' mess13 db 'sorry,create file is not success!!',13,10,'$' mess14 db 'No Records!!!',13,10

15、'$' mess15 db 'sorry,the input is not found!!!',13,10,'$' mess16 db 'Do you want to delete this messae(y/n)?',13,10,'$' mess17 db 'please choose which one do you want to delete(1,2...):','$' mess18 db 'Delete success!!',13,10,'$' mess19 db 'sorry,the id is same ,please input again!!'

16、13,10,'$' mess20 db 'please press to paste next page',13,10,'$' mess21 db 'Very good,the sort is sucessful!!',13,10,'$' idpar label byte maxilen db 10 actilen db ? id db 10 dup(?) ;学号 namepar label byte maxnlen db 10 actnlen db ? _name db 10 dup(?) ;姓名 oldp

17、ar label byte maxolen db 3 actolen db ? old db 3 dup(?) ;年龄 sexpar label byte maxslen db 5 actslen db ? sex db 5 dup(?) ;性别 addresspar label byte maxalen db 15 actalen db ? ad db 15 dup(?) ;地址 phonepar label byte maxplen db

18、15 actplen db ? phone db 15 dup(?) ;电话号码 displ macro x ;显示宏 lea dx,x mov ah,09 int 21h endm stu db 50 dup(58 dup (' '),13,10) ;内存空间 temp db 60 dup (' '),'$' ;暂时存储空间 crlf db 13,10,'$' ;换行回车 menu db '***************** wel

19、com ***********************',13,10 db '* i-------input *',13,10 db '* f-------find *',13,10 db '* d-------delete *',13,10 db '* o-------sort

20、 *',13,10 db '* l-------list *',13,10 db '* q-------quit *',13,10 db '************************************************',13,10 db 'please input the choice:','$' stu1 dw ?;作为存储末尾指针 address db '

21、f:\person.txt',0 ;途径 count1 db 0 ;暂时记录输入个数 count db 0;记录输入个数 count2 db 0;检查学\号时候用 fcode dw ? ;文献代号 endaddr dw ?;排序时用到,及存储末尾指针 end1 db ' '; count3 db 0;显示时候用,分页 del dw 20 dup(?) swapped db 0 ;互换标志位 data ends ;-----------------代码段--------------------

22、code segment assume cs:code,ds:data,es:data main proc far mov ax,data mov ds,ax mov es,ax start: mov ax,0600h call scren lea di,stu call open cld mov stu1,di menu1: displ menu ;显示菜单 mov ah,01 int 21h

23、 mov bl,al displ crlf mov al,bl and al,5fh ;把输入选取都转化为大写 insert: cmp al,'I' jnz list call input jmp menu1 list: cmp al,'L' jnz dele call display displ crlf jmp menu1 dele: cmp al,'D' jnz

24、 find call delet displ crlf jmp menu1 find: cmp al,'F' jnz sort call search displ crlf jmp menu1 sort: cmp al,'O' jnz quit call namesort displ crlf displ mess21 jmp menu1 quit: cmp al,'Q' jz over er

25、ror: displ mess7 jmp menu1 over: call close displ mess11 mov ah,4ch int 21h ret main endp ;--------------插入模块--------------- input proc near mov di,stu1 inputloop: cld again: mov bp,0 displ mess1 call inputid ;输入学号 cmp a

26、ctilen,0 jz A10 cmp count1,50 je A10 call check ;检查学号与否重复 cmp bp,0 jnz again call storid ;保存到stu displ mess2 call inputname ;输入名字 displ mess3 call inputold ;输入年龄 displ mess4 call inputsex ;输入性别 displ mess5 call inpu

27、taddress ;输入地址 displ mess6 call inputphone ;输入电话 add di,2 jmp inputloop A10: mov ah,count1 ;记录数 mov count,ah mov stu1,di ret input endp ;------------输入学号模块----------------- inputid proc near mov ah,0ah lea dx,idpar int 21h dis

28、pl crlf mov bh,0 mov bl,actilen mov cx,10 sub cx,bx loopn: mov id[bx],20h inc bx loop loopn ret inputid endp ;----------------相似窗号检查段------------ check proc near mov bp,0 mov ah,count1 mov count2,ah mov si,stu1 sub si,60 mov endad

29、dr,si;指向最后一条记录学号 lea si,stu mov bx,si nase1: lea di,id;存储学号偏移地址 mov cx,5 repe cmpsw jcxz naseex jmp nase2 naseex: displ mess19 mov bp,1 jmp mm1 nase2: add bx,60 mov si,bx dec count2 jnz nase1 mm1: ret check endp ;----------------保存学

30、号模块-------------- storid proc near mov di,stu1 inc count1 cld lea si,id mov cx,5 rep movsw ret storid endp ;---------------输入名字------------- inputname proc near mov ah,0ah lea dx,namepar int 21h displ crlf mov bh,0 mov bl,a

31、ctnlen mov cx,10 sub cx,bx in20: mov _name[bx],20h ;剩余充填空格 inc bx loop in20 cld lea si,_name mov cx,5 rep movsw ret inputname endp ;---------------输入年龄------------------ inputold proc near mov ah,0ah lea dx,oldpar int 21h di

32、spl crlf mov bh,0 mov bl,actolen mov cx,3 mov cx,bx lo20: mov old[bx],20h inc bx loop lo20 cld lea si,old mov cx,3 rep movsb ret inputold endp ;---------------输入性别------------------ inputsex proc near mov ah,0ah

33、 lea dx,sexpar int 21h displ crlf mov bh,0 mov bl,actslen mov cx,5 sub cx,bx is20: mov sex[bx],20h inc bx loop is20 cld lea si,sex mov cx,5 rep movsb ret inputsex endp ;---------------输入地址------------------- inputaddress

34、proc near mov ah,0ah lea dx,addresspar int 21h displ crlf mov bh,0 mov bl,actalen mov cx,15 sub cx,bx ia20: mov ad[bx],20h inc bx loop ia20 cld lea si,ad mov cx,15 rep movsb ret inputaddress endp ;----------------输入电话----

35、 inputphone proc near mov ah,0ah lea dx,phonepar int 21h displ crlf mov bh,0 mov bl,actplen mov cx,15 sub cx,bx ip20: mov phone[bx],20h inc bx loop ip20 cld lea si,phone mov cx,15 rep movsb ret inputphone endp ;

36、time时间---------------------- time proc near ; push ax ;;push bx ; push cx ;push dx push ds mov ax,0 push ax mov ax,data mov ds,ax AGAIN1: mov ah,2ch ;读取系统时间 CH:CL--时:分 DH:DL--秒:百分秒 int 21h MOV BX ,OFFSET HH MOV AL,CH CALL C16_10 ;转换AL中16进制

37、为10进制,并填入相应位置 MOV BX ,OFFSET MM MOV AL,CL ;分 CALL C16_10 MOV BX ,OFFSET SS1 MOV AL,DH ;秒 CALL C16_10 MOV AH,2 ;光标定位 MOV DH,0 ;首行 MOV DL,70 ;70列 MOV BH,0 INT 10H MOV CX,8 MOV SI,OFFSET HH NN1: MOV AH,0EH ;电传方式写字符(一次1个) MOV AL,[SI] MOV BL,0 INT 10H INC SI LOOP

38、NN1 MOV AH,1 INT 16H ;JNZ DOWN ;按任一键结束 JMP AGAIN1 ;DOWN: ;pop ds ;pop dx ;pop cx ;pop bx ;pop ax ;RET ret time endp ;----------------进制转换----------------- C16_10 PROC NEAR PUSH CX ;将AL中16进制转为10进制 MOV AH,0 MOV CX,10D DIV CL ADD AX,3030H MOV [BX],AL

39、 INC BX MOV [BX],AH POP CX RET C16_10 ENDP; ;----------------关闭文献----------------- close proc near mov ah,count1 mov count,ah cmp count,0 jbe exit10 mov ah,3dh mov al,2 lea dx,address int 21h jnc y2 mov ah,3ch mov cx,00 lea dx

40、address int 21h jc exit10 y2: mov fcode,ax mov bx,fcode lea si,stu y1: lea di,temp mov cx,30 rep movsw lea dx,temp mov cx,60 mov ah,40h int 21h sub count,1 jnz y1 lea dx,end1 mov cx,2 mov ah,40h int 21h mov bx,fcode

41、 mov ah,3eh int 21h exit10: ret close endp ;----------------打开文献------------------- open proc near lea dx,address mov ah,3dh mov al,02 int 21h jc p9 ;不存在则创立文献 mov fcode,ax ;保存文献代号 p1: mov ah,3fh mov bx,fcode mov cx,60 ;读取文献记录数(一

42、条记录) lea dx,temp int 21h jc p9 mov bl,temp cmp bl,' ' jz p6 ;读取结束 ;; lea si,temp mov cx,30 rep movsw inc count1 jmp p1 p9: displ mess13 p6: mov bx,fcode mov ah,3eh int 21h ret open endp ;------------------

43、删除模块------------------------- delet proc near mov si,stu1 mov endaddr,si call search cmp bp,1 jae p3 ret p3: cmp bp,3 jae p4 mov di,del[bp] jmp l1 p4: displ mess17 call inputnum cmp bx,bp jbe p5 displ crlf

44、 displ mess7 jmp p4 p5: mov di,del[bx] l1: displ crlf displ mess16 mov ah,01h int 21h cmp al,'y' jz d1 cmp al,'Y' jz d1 cmp al,'n' jz exit7 cmp al,'N' jz exit7 displ mess7 jmp l1 d1: mov si,di add si,60 d2: mov cx,30

45、 rep movsw cmp si,endaddr jnbe p01 jmp d2 p01: sub stu1,60 sub count1,1 displ crlf displ mess18 displ crlf exit7: ret delet endp ;------------------------查找模块------------------------ search proc near mov ah,count1 mov count,ah mov bp,0

46、 cld displ mess10 call inputname1 ;输入要查找人名 call namesearch cmp bp,0 jbe s2 jmp exit6 s2: displ mess15 exit6: ret search endp ;-----------------计算要删除是哪一种----------------------------- inputnum proc near mov bx,0 it1: mov ah,1 in

47、t 21h mov dl,al sub al,30h jl exit1 ;输入为零 cmp al,9D jg exit1 cbw xchg ax,bx mov cx,10d mul cx xchg ax,bx add bx,ax jmp it1 exit1: mov ax,bx mov bl,2 mul bl mov bx,ax ret inputnum endp ;-----------------------查找姓名

48、函数模块输入----------- inputname1 proc near mov ah,0ah lea dx,namepar int 21h displ crlf mov bh,0 mov bl,actnlen mov cx,10 sub cx,bx in21: mov _name[bx],20h inc bx loop in21 ret inputname1 endp ;-------------------------姓名搜索---------

49、 namesearch proc near lea si,stu add si,10 ;指向记录第一种人姓名 mov bx,si nase10: lea di,_name ;存储待查人姓名地址 mov cx,5 repe cmpsw jcxz naseexit jmp nase20 naseexit: mov si,bx sub si,10 add bp,2 mov del[bp],si lea di,temp mov cx,30

50、 rep movsw displ temp nase20: add bx,60 mov si,bx dec count jnz nase10 ret namesearch endp ;------------------------排序模块--------------------- namesort proc near cmp count1,1 jbe exit5 mov di,stu1 sub di,110 ;调节指针 mov endaddr,di ;调节指针指向倒数第二个名字 NS1

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服