《大工20秋《汇编语言程序设计》大作业题目及要求.pdf》由会员分享,可在线阅读,更多相关《大工20秋《汇编语言程序设计》大作业题目及要求.pdf(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大连理工大学远程与继续教育学院汇编语言程序设计课程设计学习中心:学习中心:专专业:业:年年级:级:年春/秋 季学学号:号:学学生:生:题题目目:1.1.谈谈你对本课程学习过程中的心得体会与建议?谈谈你对本课程学习过程中的心得体会与建议?2.2.汇编语言程序设计汇编语言程序设计 课程设计课程设计,从以下从以下 5 5 个题目中任选其一作答。个题目中任选其一作答。汇编语言程序设计课程设计汇编语言程序设计课程设计注意:从以下注意:从以下 5 5 个题目中任选其一作答。个题目中任选其一作答。总总则则:只能使用汇编语言进行编制,不能选用:只能使用汇编语言进行编制,不能选用 C/C+C/C+等高级语言等高
2、级语言作业提交:作业提交:大作业上交时文件名写法为:姓名 奥鹏卡号学习中心(如:戴卫东101410013979 浙江台州奥鹏学习中心1VIP)以附件word 文档形式上交离线作业(附件的大小限制在 10M 以内),选择已完成的作业(注意命名),点提交即可。如下图所示。大连理工大学远程与继续教育学院汇编语言程序设计课程设计注意事项:独立完成作业,独立完成作业,不准抄袭其他人或者请人代做,不准抄袭其他人或者请人代做,如有雷同作业,如有雷同作业,成绩成绩以零分计!以零分计!题目一:十进制转换十六进制程序设计题目一:十进制转换十六进制程序设计要要求求:(1)撰写一份word 文档,里面包括(算法思路、
3、算法程序框图、主要函数代码、使用指令具体含义)章节。(2)算法思路:设计十进制转化十六进制的算法,简单介绍该算法的基本思想,100 字左右即可。(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。(4)主要函数代码:列出算法的具体代码。(5)列出算法中使用指令的含义,比如解释MOV 指令的含义,ADD 指令的含义,至少撰写十个指令。总总则则:只能使用汇编语言进行编制,不能选用:只能使用汇编语言进行编制,不能选用 C/C+C/C+等高级语言!等高级语言!题目二:折半查找算法题目二:折半查找算法要要求求:(1)撰写一份word 文档,里面包括(算法思路、算法程序框图、主要函数代码
4、、使用指令具体含义)章节。(2)算法思路:简单介绍折半查找算法的基本思想,至少100 字。(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。大连理工大学远程与继续教育学院汇编语言程序设计课程设计(4)主要函数代码:列出算法的具体代码,如讲一个首地址为 A 的 N 字数组,编制程序将该数组中的数据按照从大到小排序。(5)列出算法中使用指令的含义,比如解释MOV 指令的含义,CMP 指令的含义,至少撰写十个指令。总总则则:只能使用汇编语言进行编制,不能选用:只能使用汇编语言进行编制,不能选用 C/C+C/C+等高级语言!等高级语言!题目三:设立标志位算法题目三:设立标志位算法要
5、要求求:(1)撰写一份word 文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。(2)算法思路:试编制一个程序,从键盘中输入一行字符,要求第一个字符必须是空格,如果不是,则退出程序。如果是,开始 接受键 入的 字符 并顺序 存放 在首 地址为BUFFER 的缓冲区中(空格符不存入),直到接收到第二个空格符时退出程序。简单介绍该算法的基本思想,至少100 字。(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。(4)主要函数代码:列出算法的具体代码。(5)列出算法中使用指令的含义,比如解释MOV 指令的含义,CMP 指令的含义,至少撰写十个指令。总
6、总则则:只能使用汇编语言进行编制,不能选用:只能使用汇编语言进行编制,不能选用 C/C+C/C+等高级语言!等高级语言!大连理工大学远程与继续教育学院汇编语言程序设计课程设计题目四:子程序调用题目四:子程序调用要要求求:(1)撰写一份word 文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。(2)算法思路:试编制一个程序,主程序 MAIN 和过程PROADD 在同一个源文件中,要求用过程 PROADD 累加数组中的所有元素,并把和(不考虑溢出)送到指定的存储单元中。简单介绍该调用的基本思想,至少100 字。(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束
7、的程序框图。(4)主要函数代码:列出算法的具体代码。(5)列出算法中使用指令的含义,比如解释 PUSH 指令的含义,ADD 指令的含义,至少撰写十个指令。总总则则:只能使用汇编语言进行编制,不能选用:只能使用汇编语言进行编制,不能选用 C/C+C/C+等高级语言!等高级语言!题目五:信息检索系统题目五:信息检索系统要要求求:(1)撰写一份word 文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。(2)算法思路:在数据区里,有 10 个不同的信息,编号0-9,每个信息包含30 个字符。要求程序,从键盘中接收0-9 之间的一个编号,然后再屏幕上显示出相应编号的信息内容
8、。介绍该算法的基本思想,至少100 字。(3)算法程序框图:绘制流程图或原理图,从算法的开始大连理工大学远程与继续教育学院汇编语言程序设计课程设计到结束的程序框图。(4)主要函数代码:列出算法的具体代码。(5)列出算法中使用指令的含义,比如解释detarea segment的设置情况,PUSH 指令的含义,至少撰写十个指令。总总则则:只能使用汇编语言进行编制,不能选用:只能使用汇编语言进行编制,不能选用 C/C+C/C+等高级语言!等高级语言!1.1.谈谈你对本课程学习过程中的心得体会与建议?谈谈你对本课程学习过程中的心得体会与建议?汇编语言程序设计 是我院计算机专科的一门专业课。本课程是面向
9、机器的一门编程语言课。在对汇编语言的学习过程中,可以对计算机组成原理有更深入的了解,同时掌握汇编语言对于某些硬件编程比如单片机开发和嵌入式系统的开发应用也是必不可少的。汇编语言相比于其他高级语言明显的优点就是运行速度快,而缺点就是需要兼顾机器本身的硬件结构特点进行编程,因此学习本课程要多实践多思考。通过本课程的学习可以对汇编语言有一个整体的把握和认识。2.2.汇编语言程序设计汇编语言程序设计 课程设计课程设计,从以下从以下 5 5 个题目中任选其一作答。个题目中任选其一作答。汇编语言程序设计课程设计汇编语言程序设计课程设计题目四:子程序调用题目四:子程序调用要要求求:(1)撰写一份word 文
10、档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。(2)算法思路:试编制一个程序,主程序 MAIN 和过程大连理工大学远程与继续教育学院汇编语言程序设计课程设计PROADD 在同一个源文件中,要求用过程 PROADD 累加数组中的所有元素,并把和(不考虑溢出)送到指定的存储单元中。简单介绍该调用的基本思想,至少100 字。(3)算法程序框图:绘制流程图或原理图,从算法的开始到结束的程序框图。(4)主要函数代码:列出算法的具体代码。(5)列出算法中使用指令的含义,比如解释 PUSH 指令的含义,ADD 指令的含义,至少撰写十个指令。总总则则:只能使用汇编语言进行编制,不
11、能选用:只能使用汇编语言进行编制,不能选用 C/C+C/C+等高级语言!等高级语言!题目四:子程序调用题目四:子程序调用子程序的调用和返回子程序的调用和返回1 1、子程序的调用与返回、子程序的调用与返回1)子程序子程序:子程序结构相当于高级语言中的过程,为便于模块化程序设计,往往把程序中某些具有独立功能的部分编写成独立的程序模块,称为子程序2)调用和返回程序:CALL DST(段内直接近调用)执行的操作如下:PUSH(IP)(字操作)(IP)(IP)+16D PUSH(EIP)(EIP)(EIP)+32D (双字操作)CALL DST (段内间接近调用)执行的操作如下:PUSH(IP)(字操作
12、)(IP)(EA)PUSH(EIP)(双字操作)(EIP)(EA)CALL DST (段间直接远调用)执行的操作如下:PUSH(CS)(字操作)PUSH(IP)(IP)DST (CS)DST PUSH(CS)(双字操作)PUSH(EIP)(EIP)DST大连理工大学远程与继续教育学院汇编语言程序设计课程设计 (CS)DST CALL DST(段间间接远调用)执行的操作如下:PUSH(CS)(字操作)PUSH(IP)(IP)(EA)(CS)(EA+2)PUSH(CS)(双字操作)PUSH(EIP)(EIP)(EA)(CS)(EA+4)3)返回指令返回指令:RET 指令放在子程序末尾,它使子程序在
13、功能完成后返回调用程序继续执行,而返回地址是调用程序调用子程序时存放在堆栈中的,因此RET 指令的操作是返回地址出栈送 IP 或 EIP 寄存器和 CS 段寄存器。RET段内近返回执行的操作如下:(IP)POP()(字操作)(EIP)POP()(双字操作)RET EXP段内带立即数返回执行的操作如下:(IP)POP()(仅举例字操作)(SP)(SP)+16D说明:RET EXP 的 EXP 是一个表达式,根据它的值(代表一个位移量)指令除完成 IP 出栈操作外,还要修改堆栈指针的值。RET段间远返回执行的操作如下:(IP)POP()(仅举例字操作)(CS)POP()RET EXP段间带立即数远
14、返回执行的操作如下:完成段间远返回的操作后,还需要修改堆栈指针值(SP)(SP)+16D说明:EXP 说明与段内带立即数返回指令一致;CALL 指令和 RET 指令都不影响条件码。2 2、中断子程序、中断子程序 1)中断子程序概念中断子程序概念:当系统运行或者程序运行期间在遇到某些特殊情况时,需要计算机自动执行一组例行的程序来处理,这种情况称为中断,所执行的这组程序称为中断例行程序或中断子程序。2)中断的分类:分为内中断和外中断 3)中断向量:中断程序的入口地址称为中断向量。实模式下,存储器的最低地址区的 1024 个字节为中断向量区,存放这 256 中类型的中断程序的入口地址。每个中断向量占
15、 4 个字节单元。4)中断类型号:80 x86 的 256(0-255)种类型中断程序用唯一的类型号相对应,知道了中断类型号就可以计算中断向量从而知道中断程序的入口地址,比如中断类型号为 9 的中断程序入口地址存放在 0024h-0027h 四个存储单元中。除非特殊说明,类型号都是移十六进制形式表示的。5)中断指令INTINT中断中断 INTO溢出中断大连理工大学远程与继续教育学院汇编语言程序设计课程设计 IRET从中断返回3 3、处理机控制与杂项操作指令、处理机控制与杂项操作指令1)标志处理指令:CLC进位位置 0 STC进位位置 1 CMC进位位求反 CLD方向标志位置 0 STD方向标志位置 1 CLI中断标志置 0 STI中断标志置 12)其他处理机控制与杂项操作指令:NOP NOP无操作无操作 ESC换码 HLT停机 WAIT等待 LOCK封锁 BOUND界限