资源描述:
《汇编语言程序设计课程论文-汇编语言实现命令菜单设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、汇编语言程序设计论文张志刚华南师范大学增城学院课程论文题目:汇编语言实现命令菜单设计课程名称汇编语言程序设计考查学期2011/2012学年第一学期考查方式课程论文姓名学号专业10级计算机系软件工程成绩指导教师34汇编语言程序设计论文张志刚汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。由于我们的工作平台、研究对象都是机器,汇编语言是人和计算机沟通的最直接的关系方式,所以汇编语言的基础是必不可缺的。通过汇编语言程序设计来学习关键指令,从而深入理解机器工作的基本原理,培养底层编程意识和思想。本次程序设
2、计的要求为:使用彩色字符显示模式设计命令菜单,菜单选项至少3个,实现程序运行时,选择不同的菜单可以运行不同的子程序,实现不同的功能,命令菜单位置屏幕居中显示。根据要求分析,可将程序设计分为3个步骤进行。第一步就是对显示命令菜单进行编写,第二步就是对3个子程序分别的进行编写,第三步就是把显示命令菜单与3个子程序进行连接并进行调试。显示命令菜单的程序如下所示:assumecs:codecodesegmentstart:;-------------主菜单-------------------------menudb'Main
3、Menu',0menu1db'1)sentence',0menu2db'2)amendletter',0menu3db'3)clock',0menu4db'',0menu5db'Pleasepress1~3',034汇编语言程序设计论文张志刚menu6db'',0menu_addressdwmenu,menu1,menu2,menu3,menu4,menu5,menu6;菜单地址colourdb0;显示颜色;----------------------显示主菜单-------------------------m:ca
4、llclspushcspopdsmovbx,0movdh,8movdl,25movcx,7movcolour,2m1:movsi,menu_address[bx]callshowincdhaddbx,2loopm1movah,2movbh,0movdh,1434汇编语言程序设计论文张志刚movdl,54int10h;置光标movax,4c00hint21h;-----------------------功能:清屏---------------------cls:pushbxpushcxpushesmovbx,0b800
5、hmoves,bxmovbx,0movcx,2000cls1:movbyteptres:[bx],''addbx,2loopcls1popespopcxpopbxret34汇编语言程序设计论文张志刚;-------------------------功能:显示字符串---------------------;参数:ds:si指向字符串首地址,字符串以0结尾,(dh)=行号,(dl)=列号,colour存放字符颜色show:pushaxpushbxpushcxpushdxpushdipushsipushesmovbx,0
6、b800hmoves,bxmoval,160muldhmovdi,axadddl,dlmovdh,0adddi,dxmovah,colourshow1:movch,0movcl,[si]34汇编语言程序设计论文张志刚jcxzshow_endmoval,clmoves:[di],axincsiadddi,2jmpshow1show_end:popespopsipopdipopdxpopcxpopbxpopaxretcodeendsendstart34汇编语言程序设计论文张志刚子程序1——指定字符串的输出显示在屏幕上程序如
7、下所示:assumecs:codedatasegmentdb"welcometomasm!",0dataendscodesegmentstart:movax,0moves,axmovdi,200Hmovax,cs34汇编语言程序设计论文张志刚movds,axmovsi,offsetr_begmovcx,offsetr_end-offsetr_begcldrepmovsbmovax,0movds,axmovwordptrds:[7cH*4],200hmovwordptrds:[7cH*4+2],0movdh,10movd
8、l,10movcl,2movax,datamovds,axmovsi,0int7chmovax,4c00Hint21H34汇编语言程序设计论文张志刚r_beg:pushcxpushsimovax,0b800Hmoves,axmoval,160muldhmovdh,0addax,dx;设置di=160*dh+dl*2addax,dx