汇编语言实验指导书授课教师李娜授课对象 05计科、网络、06计科授课时间 07-08学年第一学期授课地点一、二、四机房课程简介一.实验课程的性质和目的汇编语言程序设计是计算机专业的一门专业基础课,是学好计算机底层系统构成的课程。
汇编语言程序设计是一门实用性很强的课程。
汇编语言程序程序设计实验教案是教案的重要环节,是理论教案的重要补充,只有通过实验,学生才能熟练掌握汇编语言程序设计的基本方法,并对其有更深刻的认识。
本门实验课是单独设课。
二.实验教案的方法和手段为了提高实验教案效果,实验严把预习、实验、实验报告3个环节。
实验在软件实验室机房完成,单独设组,个人完成实验,每项实验以小班为单位,实验考勤采用电子签到制度。
预习:安排学生学习实验内容,了解实验的过程和操作规程,并布置思考题和预习报告,让学生有目的地去查阅与实验相关的资料。
实验:实验开始前由指导教师讲解实验要点,提出注意事项。
实验过程中,主题是学生,教师是辅助作用,要求学生独立完成实验。
实验报告:实验结束后,强调学生及时填写实验记录表,对实验过程进行详细记录,对实验结果细致地分析、讨论,完成相关思考题作业。
三.课程学时本实验课实验总学时为32学时。
四.实验成绩的考核方法汇编语言实验成绩按百分制核定。
实验过程占50%,实验报告占50%。
五.大纲的适用范围本大纲适用计算机科学与技术专业和计算机应用与维护专业学生。
六.主要设备与器材配备七.实验项目汇总表实验一熟悉汇编语言编程环境一.实验目的<1)熟悉汇编语言编程环境;<2)掌握基本汇编程序。
二.实验仪器设备计算机三.实验重点、难点熟悉汇编语言编程环境;DEBUG常用命令的正确使用。
-T/-U/-Q/-G四.实验题目比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘metch’,否则,显示’no match’。
五.实验内容、步骤1.调用EDIT建立ASM源文件。
2.用汇编程序MASM对源文件汇编产生目标文件OBJ。
<如有问题,可用DEBUG调试。
)3.用LINK联接程序产生执行文件EXE。
4.执行程序。
附:源程序;PROGRAM TITLE GOES HERE—COMPARE STRING;********************************************************data segmentstring1 db 'move the cursor backward.'String2 db 'move the cursor backward.'Mess1 db 'match.',13,10,'$'Mess2 db 'no match.',13,10,'$'data endsprognam segmentmain proc farassume cs:prognam,ds:data,es:datastart:push dssub ax,axpush axmov ax,datamov ds,axmov es,axlea si,string1lea di,string2cldmov cx,25repz cmpsbjz matchlea dx,mess2jmp short dispmatch:lea dx,mess1disp:mov ah,09int 21hretmain endpprognam endsend start六.作业布置<1)完成本实验的实验报告。
<2)针对下一个实验预习课本相关章节;<3)预习实验指导书相关内容,设计上机源程序。
实验二简单程序设计一.实验目的掌握简单程序设计的方法二.实验仪器设备计算机三.实验重点、难点进一步熟悉汇编语言编程环境;四.实验题目试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。
五.实验内容、步骤1.调用EDIT建立ASM源文件。
2.用汇编程序MASM对源文件汇编产生目标文件OBJ。
<如有问题,可用DEBUG调试。
)3.用LINK联接程序产生执行文件EXE。
4.执行程序。
附:源程序;PROGRAM TITLE GOES HERE—DISPLAY;********************************************************data segmentmess1 db 'please input one character between a-z',13,10,'$'data endscode segmentmain proc farassume cs:code,ds:datastart:push dssub ax,axpush axmov ax,data 。
datarea segment addrmov ds,ax 。
into DS registermov es,ax 。
set ES register to current。
MAIN PART OF PROGRAMlea dx,mess1mov ah,09 。
call DOSint 21hbegin:mov ah,1 。
receive a data from keyboardint 21hcmp al,'a'jb stopcmp al,'z'ja stopsub al,20hmov dl,al 。
show the inputed charactermov ah,2int 21hjmp beginstop:retmain endpcode endsend start六.作业布置<1)完成本实验的实验报告。
<2)针对下一个实验预习课本相关章节;<3)预习实验指导书相关内容,设计上机源程序。
实验三串操作一.实验目的(1)进一步巩固课本中关于串操作指令学习。
(2)掌握用汇编程序设计中字符串的操作方法。
二.实验仪器设备计算机三.实验重点、难点串操作的隐含操作数的变化。
四.实验题目根据自己的情况建立数据段:student_name db ‘ ‘Student_id db ‘ ‘Print_line db 50 dup(?>把student_name移到print_line的前20个字节中,把student_id移到print_line的后10个字节中,并输出字符串print_line.五.实验内容、步骤1.调用EDIT建立ASM源文件。
2.用汇编程序MASM对源文件汇编产生目标文件OBJ。
<如有问题,可用DEBUG调试。
)3.用LINK联接程序产生执行文件EXE。
4.执行程序。
附:源程序;PROGRAM TITLE GOES HERE—DISPLAY;********************************************************data segmentSTUDENT_NAME DB 'LiJingjing'STUDENT_ID DB '04121026','$'PRINT_LINE DB 50 DUP(' '>,'$'data endsprognam segmentmain proc farassume cs:prognam,ds:data,es:datastart:push dssub ax,axpush axmov ax,datamov ds,axmov es,axbegin:lea si,STUDENT_NAME 。
move STUDENT_NAME's content to。
the head of PRINT_LINElea di,PRINT_LINEmov cx,10cldrep movsbstd 。
move STUDENT_ID to the end。
of PRINT_LINElea si,STUDENT_ID+7lea di,PRINT_LINE+49mov cx,8rep movsb。
PRINT STRINGlea dx,PRINT_LINEmov ah,09 。
show the content of print_lineint 21hretmain endpprognam endsend start六.作业布置<1)完成本实验的实验报告。
<2)针对下一个实验预习课本相关章节;<3)预习实验指导书相关内容,设计上机源程序。
实验四循环程序设计一.实验目的(1)学习循环次数确定的循环程序设计方法。
(2)学习循环次数不确定的循环程序设计方法。
二.实验仪器设备计算机三.实验重点、难点多重循环结构的程序设计。
四.实验题目(1)用汇编语言编程实现密码的验证任务,设密码为“3132”H,放在BX中。
(2)验证密码后,要求从键盘输入任意一串字符,碰到‘Q’则结束。
五.实验内容、步骤1.调用EDIT建立ASM源文件。
2.用汇编程序MASM对源文件汇编产生目标文件OBJ。
<如有问题,可用DEBUG调试。
)3.用LINK联接程序产生执行文件EXE。
4.执行程序。
附:源程序;PROGRAM TITLE GOES HERE—DISPLAYdata segmentmess1 db 'please input your password!',13,10,'$' mess2 db 'ok! please input your number:',13,10,'$' data endsprognam segmentmain proc farassume cs:prognam,ds:data,es:datastart:push dssub ax,axpush axmov ax,datamov ds,axmov es,axbegin:lea dx,mess1mov ah,09 。
show the content of print_lineint 21hmov bx,3132hmov ch,2mov dx,0ABC1:mov ah,07hint 21hmov cl,8shl dx,clmov dl,aldec chjnz ABC1cmp dx,bxjnz ABC2lea dx,mess2mov ah,09 。
show the content of print_lineint 21hABC3:mov ah,1int 21hcmp al, 'Q'jz ABC2jmp ABC3ABC2:retmain endpprognam endsend start六.作业布置<1)完成本实验的实验报告。