汇编语言程序设计课程论文-汇编语言实现命令菜单设计.docx
《汇编语言程序设计课程论文-汇编语言实现命令菜单设计.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计课程论文-汇编语言实现命令菜单设计.docx(35页珍藏版)》请在三一文库上搜索。
1、汇编语言程序设计论文 张志刚华南师范大学增城学院课 程 论 文 题目:汇编语言实现命令菜单设计课 程 名 称 汇编语言程序设计 考 查 学 期 2011/2012 学年 第 一 学期 考 查 方 式 课程论文 姓 名 学 号 专 业 10级计算机系软件工程 成 绩 指 导 教 师 汇编语言是很多相关课程(如数据结构、操作系统、微机原理等)的重要基础。由于我们的工作平台、研究对象都是机器,汇编语言是人和计算机沟通的最直接的关系方式,所以汇编语言的基础是必不可缺的。 通过汇编语言程序设计来学习关键指令,从而深入理解机器工作的基本原理,培养底层编程意识和思想。 本次程序设计的要求为:使用彩色字符显示
2、模式设计命令菜单,菜单选项至少3个,实现程序运行时,选择不同的菜单可以运行不同的子程序,实现不同的功能,命令菜单位置屏幕居中显示。 根据要求分析,可将程序设计分为3个步骤进行。第一步就是对显示命令菜单进行编写,第二步就是对3个子程序分别的进行编写,第三步就是把显示命令菜单与3个子程序进行连接并进行调试。 显示命令菜单的程序如下所示:assume cs:codecode segmentstart: ;-主菜单-menu db Main Menu ,0menu1 db 1) sentence ,0menu2 db 2) amend letter ,0menu3 db 3) clock ,0menu
3、4 db ,0menu5 db Please press 1 3 ,0menu6 db ,0menu_address dw menu,menu1,menu2,menu3,menu4,menu5,menu6 ;菜单地址colour db 0 ;显示颜色; -显示主菜单- m: call cls push cs pop ds mov bx,0 mov dh,8 mov dl,25 mov cx,7 mov colour,2 m1: mov si,menu_addressbx call show inc dh add bx,2 loop m1 mov ah,2 mov bh,0 mov dh,14
4、mov dl,54 int 10h ;置光标mov ax,4c00h int 21h; -功能: 清屏-cls: push bx push cx push es mov bx,0b800h mov es,bx mov bx,0 mov cx,2000cls1:mov byte ptr es:bx, add bx,2 loop cls1 pop es pop cx pop bx ret;-功能: 显示字符串-;参数: ds:si 指向字符串首地址,字符串以0结尾, (dh)=行号, (dl)=列号,colour存放字符颜色show : push ax push bx push cx push d
5、x push di push si push es mov bx,0b800h mov es,bx mov al,160 mul dh mov di,ax add dl,dl mov dh,0 add di,dx mov ah,colourshow1: mov ch,0 mov cl,si jcxz show_end mov al,cl mov es:di,ax inc si add di,2 jmp show1show_end: pop es pop si pop di pop dx pop cx pop bx pop ax retcode endsend start子程序1指定字符串的输出
6、显示在屏幕上程序如下所示:assume cs:codedata segmentdb welcome to masm!,0data endscode segmentstart: mov ax, 0 mov es, ax mov di, 200H mov ax, cs mov ds, ax mov si, offset r_beg mov cx, offset r_end - offset r_beg cld rep movsb mov ax, 0 mov ds, ax mov word ptr ds:7cH*4, 200h mov word ptr ds:7cH*4 + 2, 0 mov dh,
7、10 mov dl,10 mov cl,2 mov ax,data mov ds,ax mov si,0 int 7ch mov ax, 4c00H int 21H r_beg: push cx push si mov ax, 0b800H mov es, ax mov al, 160 mul dh mov dh, 0 add ax, dx ;设置di=160*dh+dl*2 add ax, dx mov di, ax lp: cmp byte ptr ds:si, 0 je ok mov ch, ds:si inc si mov es:di, ch mov es:di+1, cl add d
8、i, 2jmp short lpok: pop si pop cx iretr_end: nopcode endsend start 子程序2输入一单词,并将单词所有字母改为大写显示程序如下所示:assume cs:codedata segment db conversation,0data endsstack segment dw 80 dup (0)stack endscode segmentstart: mov ax,data mov ds,ax mov ax,stack mov ss,ax mov sp,0a0h mov si,0 call letter mov dh,21 ;行号 m
9、ov dl,1 ;列号 call show mov ax,4c00h int 21hletter: mov ch,0 mov cl,ds:si jcxz ok mov al,ds:si cmp al,61H jnb p1 inc si jmp short letter p1: cmp al,7aH jna t0 inc si jmp short letter t0:sub al,20H mov ds:si,al inc si jmp short letter ok: ret show: mov ax,0a0h ;算出行 mul dh mov bx,ax mov ax,2h ;算出列 mul d
10、l mov di,ax mov si,0 mov ax,0b800h mov es,ax change:mov cl,ds:si mov ch,0 jcxz ok1 ;判断0结束字符 push ds:si ;把字符串放入栈中 pop es:bx.di ;从栈中取出字符放入显示区的偶地址中 mov ax,2 ;绿色属性 mov es:bx.di.1,ax ;颜色字符放入奇地址中 add di,2 inc si jmp short change ok1: ret code endsend start 子程序3显示系统日期程序如下所示:assume cs:code,ds:datadata segme
11、nt db yy/mm/dd hh:mm:ss db 9,8,7,4,2,0 ;CMOS中时间信息的单元号data endsstack segment dw 8 dup(0)stack endscode segmentstart: mov bx,data mov ds,bxmov bx,stackmov ss,bxmov sp,16d mov si,0 ;si指向yy/mm/dd hh:mm:ss的首地址mov di,17d ;di指向9,8,7,4,2,0的首地址mov cx,6 ;循环次数 s:push cxmov al,ds:di ;从CMOS中读出年份的BCD码out 70h,al i
12、n al,71hmov ah,al ;al中位读出的数据mov cl,4 shr ah,cl ;ah中为年份的十位数and al,00001111b ;al中为年份的个位数add ah,30h ;把数值转换为对应的ASCII码add al,30h ;同上mov byte ptr ds:si,ah ;把读出的时间写入ds段mov byte ptr ds:si+1,al add si,3inc di pop cx loop s ;把读出的内容按yy/mm/dd hh:mm:ss的格式写显存mov bx,0b800hmov es,bxmov ch,ds:0mov byte ptr es:160*16
13、+26*2,chmov cl,ds:1mov byte ptr es:160*16+26*2+2,clmov cl,ds:2mov byte ptr es:160*16+26*2+4,clmov ch,ds:3mov byte ptr es:160*16+26*2+6,chmov cl,ds:4mov byte ptr es:160*16+26*2+8,clmov cl,ds:5mov byte ptr es:160*16+26*2+10,clmov ch,ds:6ov byte ptr es:160*16+26*2+12,chmov cl,ds:7mov byte ptr es:160*16
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 语言程序设计 课程 论文 汇编语言 实现 命令 菜单 设计
链接地址:https://www.31doc.com/p-3954689.html