汇编的实验指导书.doc_第1页
汇编的实验指导书.doc_第2页
汇编的实验指导书.doc_第3页
汇编的实验指导书.doc_第4页
汇编的实验指导书.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言实验指导书授课教师 李 娜 授课对象 05计科、网络、06计科 授课时间 0708学年第一学期 授课地点 一、二、四机房 课程简介一. 实验课程的性质和目的汇编语言程序设计是计算机专业的一门专业基础课,是学好计算机底层系统构成的课程。汇编语言程序设计是一门实用性很强的课程。汇编语言程序程序设计实验教学是教学的重要环节,是理论教学的重要补充,只有通过实验,学生才能熟练掌握汇编语言程序设计的基本方法,并对其有更深刻的认识。本门实验课是单独设课。二. 实验教学的方法和手段为了提高实验教学效果,实验严把预习、实验、实验报告3个环节。实验在软件实验室机房完成,单独设组,个人完成实验,每项实验以小班为单位,实验考勤采用电子签到制度。预习:安排学生学习实验内容,了解实验的过程和操作规程,并布置思考题和预习报告,让学生有目的地去查阅与实验相关的资料。实验:实验开始前由指导教师讲解实验要点,提出注意事项。实验过程中,主题是学生,教师是辅助作用,要求学生独立完成实验。实验报告:实验结束后,强调学生及时填写实验记录表,对实验过程进行详细记录,对实验结果细致地分析、讨论,完成相关思考题作业。三. 课程学时本实验课实验总学时为32学时。四. 实验成绩的考核方法汇编语言实验成绩按百分制核定。实验过程占50,实验报告占50。五. 大纲的适用范围本大纲适用计算机科学与技术专业和计算机应用与维护专业学生。六. 主要设备与器材配备实验室分室名称实验名称主要设备、器材现有数量软件实验室熟悉汇编语言编程环境计算机250软件实验室简单程序设计计算机250软件实验室串操作计算机250软件实验室循环程序设计计算机250软件实验室分支程序设计计算机250软件实验室子程序设计计算机250软件实验室宏定义和宏调用计算机250软件实验室I/O程序设计计算机250七. 实验项目汇总表序号实验项目名称学时实验类型实验类别每组人数1熟悉汇编语言编程环境4验证必修12简单程序设计2验证必修13串操作4验证必修14循环程序设计4验证必修15分支程序设计4验证必修16子程序设计4综合必修17宏定义和宏调用4验证必修18I/O程序设计6验证必修1实验一 熟悉汇编语言编程环境一实验目的(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 HERECOMPARE STRING;*data segment string1 db move the cursor backward.String2 db move the cursor backward.Mess1 db match.,13,10,$Mess2 db no match.,13,10,$data ends prognam segmentmain proc far assume cs:prognam,ds:data,es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,ax lea si,string1 lea di,string2 cld mov cx,25 repz cmpsb jz match lea dx,mess2 jmp short dispmatch: lea dx,mess1disp: mov ah,09 int 21h retmain endpprognam endsend start六作业布置(1)完成本实验的实验报告。(2)针对下一个实验预习课本相关章节;(3)预习实验指导书相关内容,设计上机源程序。实验二 简单程序设计一实验目的掌握简单程序设计的方法二实验仪器设备计算机三实验重点、难点 进一步熟悉汇编语言编程环境;四实验题目 试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。五实验内容、步骤1调用EDIT建立ASM源文件。2用汇编程序MASM对源文件汇编产生目标文件OBJ。 (如有问题,可用DEBUG调试。)3用LINK联接程序产生执行文件EXE。4执行程序。附:源程序;PROGRAM TITLE GOES HEREDISPLAY ;*data segment mess1 db please input one character between a-z,13,10,$ data ends code segment main proc far assume cs:code,ds:data start: push ds sub ax,ax push ax mov ax,data ;datarea segment addr mov ds,ax ;into DS register mov es,ax ;set ES register to current ;MAIN PART OF PROGRAM lea dx,mess1 mov ah,09 ;call DOS int 21h begin: mov ah,1 ;receive a data from keyboard int 21h cmp al,a jb stop cmp al,z ja stop sub al,20h mov dl,al ;show the inputed character mov ah,2 int 21h jmp begin stop: ret main endp code ends end 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 HEREDISPLAY ;*data segment STUDENT_NAME DB LiJingjing STUDENT_ID DB 04121026,$ PRINT_LINE DB 50 DUP( ),$data ends prognam segmentmain proc far assume cs:prognam,ds:data,es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,axbegin: lea si,STUDENT_NAME ;move STUDENT_NAMEs content to ; the head of PRINT_LINE lea di,PRINT_LINE mov cx,10 cld rep movsb std ;move STUDENT_ID to the end ; of PRINT_LINE lea si,STUDENT_ID+7 lea di,PRINT_LINE+49 mov cx,8 rep movsb ;PRINT STRING lea dx,PRINT_LINE mov ah,09 ;show the content of print_line int 21h retmain 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 HEREDISPLAY data segment mess1 db please input your password!,13,10,$ mess2 db ok! please input your number:,13,10,$data ends prognam segmentmain proc far assume cs:prognam,ds:data,es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,axbegin: lea dx,mess1 mov ah,09 ;show the content of print_line int 21h mov bx,3132h mov ch,2 mov dx,0ABC1: mov ah,07h int 21h mov cl,8 shl dx,cl mov dl,al dec ch jnz ABC1 cmp dx,bx jnz ABC2 lea dx,mess2 mov ah,09 ;show the content of print_line int 21h ABC3: mov ah,1 int 21h cmp al, Q jz ABC2 jmp ABC3ABC2: retmain endpprognam endsend start六作业布置(1)完成本实验的实验报告。(2)针对下一个实验预习课本相关章节;(3)预习实验指导书相关内容,设计上机源程序。实验五 分支程序设计一实验目的(1) 学习用汇编语言实现ab转移的程序设计方法。(2) 学习用汇编语言实现a=b转移的程序设计方法。(3) 学习用汇编语言实现ab转移的程序设计方法。(4) 学习用汇编语言实现a=b转移的程序设计方法。二实验仪器设备计算机三实验重点、难点 对于复杂的分支边缘的界定。四实验题目(1) 用汇编语言编写实现C=A+B的实验。(2) 从键盘上输入A的值,如A的值在09的范围内,则执行第3步;否则继续执行步骤2。(3) 从键盘上输入B的值,如B的值在09的范围内,则执行第4步;否则继续执行步骤3。(4) 计算(A+B)的值,如(A+B)9,13,10,$mess5 db 13,10,$ datarea ends code segment main proc far assume cs:code,ds:datarea start: push ds sub ax,ax push ax mov ax,datarea mov ds,ax lea dx,mess1 mov ah,9 int 21hbegin: mov ah,1 int 21hsub al,0jl next1cmp al,9ja next1jle AAnext1:lea dx,mess5 mov ah,9 int 21hlea dx,mess2mov ah,09hint 21hlea dx,mess1mov ah,09hint 21hjmp beginAA:mov bl,al ;bl中存放第一次输入的数lea dx,mess5 mov ah,9 int 21h lea dx,mess1 mov ah,9 int 21h again: mov ah,1 int 21h mov cl,al lea dx,mess5 mov ah,9 int 21h mov al,cl ;al中存放第二次输入的数 sub al,0 jl next2cmp al,9ja next2jle BBnext2:lea dx,mess5 mov ah,9 int 21hlea dx,mess2mov ah,09hint 21hlea dx,mess1mov ah,09hint 21hjmp againBB: mov ah,0 add al,bl ;al中存放和 cmp al,0 je printit cmp al,9 ja exit printit: mov cl,al lea dx,mess3 mov ah,9 int 21h mov dl,cl add dl,30h mov ah,2 int 21h ret exit: lea dx,mess4 mov ah,9 int 21h mov dl,0 mov ah,2 int 21h ret main endp code ends end start 六作业布置(1)完成本实验的实验报告。(2)针对下一个实验预习课本相关章节;(3)预习实验指导书相关内容,设计上机源程序。实验六 子程序设计一实验目的(1) 理解汇编程序中段的概念;(2) 掌握子程序设计及其调用。(3) 掌握查表法程序设计方法。二实验仪器设备计算机三实验重点、难点 子程序往往程序较大,调用较多,参数传递、保护较多。四实验题目请用子程序结构编写如下程序:从键盘输入一个二位十进制的月份数(0112),然后显示出相应英文缩写名。五实验内容、步骤1调用EDIT建立ASM源文件。2用汇编程序MASM对源文件汇编产生目标文件OBJ。 (如有问题,可用DEBUG调试。)3用LINK联接程序产生执行文件EXE。4执行程序。附:源程序;PROGRAM TITLE GOES HEREDISPLAY ;*datarea segment three db 3 mess0 db jan mess1 db feb mess2 db mar mess3 db apr mess4 db may mess5 db jun mess6 db jul mess7 db aug mess8 db sep mess9 db oct mess10 db nov mess11 db dec inputmess db Please input the month(01-12),$errmess db ERROR! invalid parameter!,$ datarea ends code segment main proc far assume cs:code,ds:datarea start: push ds sub ax,ax push ax mov ax,datarea mov ds,axlea dx,inputmessmov ah,09hint 21hcall inputcmp ax,0 jb error cmp ax,12 ja error mov bx,offset mess0sub ax,1 mul three add bx,ax call output ret error:lea dx, offset errmess mov ah,09hint 21hinput proc far push bx mov bl,10 mov ah,01h int 21h sub al,0 mul bl mov bx,ax mov ah,01h int 21h sub al,0 cbw add ax,bx pop bx ret input endp output proc near mov cx,3 next: mov dl,bx mov ah,02h int 21h inc bx loop next mov dl,0dh mov ah,02h int 21h mov dl,0ah mov ah,02h int 21h ret output endp main endp code ends end start六作业布置(1)完成本实验的实验报告。(2)针对下一个实验预习课本相关章节;(3)预习实验指导书相关内容,设计上机源程序。实验七 宏汇编一实验目的(1) 掌握宏定义设计方法(2) 正确使用宏调用(3) 掌握宏展开二实验仪器设备计算机三实验重点、难点 对于正确的宏定义、宏调用写出宏展开,特别是展开层数的确定。四实验题目宏指令RAND产生一个0到LIMIT(32)之间的随机数。五实验内容、步骤1调用EDIT建立ASM源文件。2用汇编程序MASM对源文件汇编产生目标文件OBJ。 (如有问题,可用DEBUG调试。)3用LINK联接程序产生执行文件EXE。4执行程序。附:源程序rand MACRO limit,resultpush axpush cxmov ah,0int 1ahmov al,dlmov cl,limitdiv clmov al,ahmov ah,0mov result,axpop cxpop axendmdata segment mess1 db please input your password!,13,10,$ mess2 db ok! please input your number:,13,10,$data endsprognam segmentmain proc far assume cs:prognam,ds:data,es:data start: push ds sub ax,ax push ax mov ax,data mov ds,ax mov es,axbegin: lea dx,mess1 mov ah,09 ;show the content of print_line int 21h .lall rand 32,dx retmain endpprognam endsend start六作业布置(1)完成本实验的实验报告。(2)针对下一个实验预习课本相关章节;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论