汇编课程设计报告
汇编语言课程设计报告
汇编语言课程设计报告( 2013 -- 2014 年度第1 学期)课题名称:磁盘文件管理系统专业计算机科学与技术(网络技术)学生姓名班级学号指导教师完成日期目录1 设计目的 (1)2 概要设计 (1)2.1系统总体分析 (1)2.2主模块框图及说明 (1)3 详细设计 (3)3.1主模块及子模块说明 (3)3.2各模块详细设计 (5)3.2.1 主界面模块 (5)4 程序调试 (5)4.1运行界面分析 (5)4.2调试过程及分析 (7)5 心得体会 (9)5.1设计体会 (9)5.2系统改进 (10)参考文献 (11)附录 (12)附录1源程序清单 (12)附录1.1 磁盘文件管理系统模块源程序 (12)1 设计目的本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。
学会查阅和汇编语言相关的规范,手册等技术资料。
能正确绘制和使用流程图。
掌握汇编语言程序设计和程序调试的基本技能,能进行基本的软件设计。
“汇编语言”课程设计是计算机应用开发人员必须接受的最重要的专业训练之一,是计算机软、硬件的基础,利用汇编语言编写程序可以是我们更清楚地了解计算机是怎样完成复杂工作的,理解计算机对系统中各种设备的调度,从而从根本上认识计算机的工作原理,对课程所学理论知识的深化和提高。
因此,课程设计要求同学们熟悉汇编语言的编程,BIOS中断调用、dos系统功能调用、磁盘数据的查询、存取等相关知识。
通过课程设计,可以提高运用汇编语言编程解决实际问题的能力,为以后的学习和系统开发奠定良好的基础。
2 概要设计2.1 系统总体分析实现对磁盘文件的管理。
创建文件,向磁盘文件中写入信息,从磁盘文件中读出信息并显示,退出程序。
如果向磁盘中写入信息或者从磁盘中读取信息失败屏幕会显示打开文件错误的提示。
根据提示输入字符,如果输错可以返回并且从新输入。
汇编课程设计报告
汇编课程设计报告学号:课程设计题目打印水仙花数学院计算机科学与技术专业计算机科学与技术班级姓名指导教师武汉理工大学《汇编语言程序设计》课程设计2012 年 6 月28 日课程设计任务书学生姓名:专业班级:指导教师:工作单位:计算机科学与技术学院题目: 打印水仙花数初始条件:理论:完成了《汇编语言程序设计》课程,对微机系统结构和80系列指令系统有了较深入的理解,已掌握了汇编语言程序设计的基本方法和技巧。
实践:完成了《汇编语言程序设计》的4个实验,熟悉了汇编语言程序的设计环境并掌握了汇编语言程序的调试方法。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)进一步理解和掌握较复杂程序的设计方法,掌握子程序结构的设计和友好用户界2.1简要分析2.1.1原理说明可以用标签来接收三位数,标签的好处在于可以限制输入的位数,并且通过实际输入位数可以直接进行一部分的异常处理。
将数存到标签后,因为是以ASCII码的形式存的,所以需要进行转换,将其变成十六进制数,转换后将数字存到申请的内存字中。
在转换成十六进制数的过程中,可以对输入的数进行异常处理,判断是否输入有误。
在输出水仙花数时,设置一个计数器,从100开始循环判断,直到等于用户输入的数为止,依次判断是否为水仙花数,决定是否输出该数。
在输出时,分别取出水仙花数的个、十、百位数,转换成ASCII码再输出。
系统提示是否继续后,程序对用户输入的信息进行判断,若为y或Y则系统回到初始状态,若为n或N则退出系统,若为其他则提示输入错误并重新输入。
2.1.2程序流程图是否继续2.2 数据段设计data segmentmess1 db 0dh,0ah,'Please input a nubmer(100<=number<=999):','$'mess2 db 0dh,0ah,'Do you want to continue(y/n)? ','$' mess3 db 0dh,0ah,'shuixianhuashu:',0ah,'$'error db 0dh,0ah,'Input error,please input again!','$' numpar label bytemax db 4act db ?numfld db 4 dup(?);存放输入的字符串,设定了最大长度,避免错误。
汇编程序设计课程设计报告
汇编程序设计课程设计报告题目:实时钟显示与定时控制设计班级:计算机科学与技术姓名:韩云飞指导老师:段新娥日期:2010.12《汇编语言程序设计》课程设计前言随着计算机的不断更新发展,计算机在各个领域的应用越来越多,更多的软件开发人员和相关技术人员在程序设计的过程中应用汇编程序或编制汇编语言。
而汇编语言做为计算机专业大学生必修之课,每个做为本专业的学生对汇编的理解和学习就显的尤为重要。
汇编语言是计算机能够提供给用户使用的最快而又最好最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。
因而,对程序的空间和时间要求很高的场合,汇编语言的应用就显的必不可少了,一些直接控制硬件的应用场合,则更是非用汇编语言不可了。
汇编语言是理解整个计算机系统的最佳起点和最有效途径,人们经常认为汇编语言的应用范围很小,而忽视它的重要性。
其实汇编语言对每一个希望学习计算机科学与技术的人来说都是非常重要的,是不能不学习的语言。
所有可编程计算机都向人们提供机器指令,通过机器指令人们能够使用机器的逻辑功能。
所有程序,不论用何种语言编制,都必须转成机器指令,运用机器的逻辑功能,其功能才能得以实现。
机器的逻辑功能,软件系统功能构筑其上,硬件系统功能运行于下。
汇编语言直接描述机器指令,比机器指令容易记忆和理解。
通过学习和使用汇编语言,能够感知、体会、理解机器的逻辑功能,向上为理解各种软件系统的原理,打下技术理论基础;向下为掌握硬件系统的原理,打下实践应用基础。
学习汇编语言,向上可以理解软件,向下能够感知硬件,是我们理解整个计算机系统的最佳起点。
这次课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。
通过具体的问题分析、设计、调试、运行程序,在实际问题中锻炼提高自己,增加对本门课程内容的理解,锻炼我们的动手能力。
目录一.课程设计目的 (1)二.课程设计要求 (1)三.课程设计内容 (1)四.设计步骤 (2)五.设计程序流程图 (3)六.心得体会 (7)七.参考文献 (8)八.程序源代码 (9)一.课程设计目的“汇编语言”课程设计是在教学及实验基础上,对课程所学理论知识的深化和提高。
51汇编电子琴课程设计
51汇编电子琴课程设计一、课程目标知识目标:1. 学生能理解51汇编语言的基本原理,掌握与电子琴相关的硬件控制方法。
2. 学生能掌握电子琴音阶、音调和音符的基础知识,并能运用51汇编语言实现音符的播放。
3. 学生了解电子琴的电路原理,能分析并描述51汇编在电子琴中的应用。
技能目标:1. 学生能运用51汇编语言编写程序,实现电子琴的基本功能,如播放音符、和弦等。
2. 学生能够通过编程解决实际问题,如调试程序、优化代码等。
3. 学生培养团队协作能力,通过小组合作完成一个具有实际功能的电子琴项目。
情感态度价值观目标:1. 学生培养对编程和电子制作的兴趣,激发创新精神。
2. 学生在课程学习中,培养耐心、细心和专注的品质,提高解决问题的能力。
3. 学生通过课程学习,认识到编程与实际生活的联系,增强学以致用的意识。
本课程针对高年级学生,结合学科特点和教学要求,将知识目标、技能目标和情感态度价值观目标进行分解,旨在使学生在掌握汇编语言基础知识的同时,提高实际动手能力和团队合作能力,培养对编程和电子制作的兴趣,为后续学习奠定基础。
二、教学内容本课程教学内容以《51单片机原理与应用》教材为基础,结合课程目标,组织以下内容:1. 51单片机基础知识:介绍51单片机的内部结构、工作原理及编程环境。
2. 汇编语言基础:讲解汇编指令、寄存器、伪指令等基本概念。
3. 电子琴硬件原理:分析电子琴的电路原理,介绍相关元件及其功能。
4. 音符与音阶编程:教授如何用51汇编语言实现音符、音阶的编程控制。
5. 电子琴程序设计:指导学生编写程序,实现电子琴的基本功能。
6. 项目实践:分组进行项目实践,完成一个具有实际功能的电子琴制作。
教学内容安排和进度如下:第一周:51单片机基础知识学习,了解汇编语言环境。
第二周:汇编语言基础,学习汇编指令和寄存器。
第三周:电子琴硬件原理,学习相关元件及其功能。
第四周:音符与音阶编程,编写相关程序。
第五周:电子琴程序设计,完善程序功能。
课程设计报告--汇编程序设计(进制转换)
课程设计报告--汇编程序设计(进制转换)汇编语言课程设计报告:代码与数制之间的转换内容提要:本课程设计的主要内容是代码与数制之间的转换~程序的主要功能如下:1. 将十六进制数转换成其对应的ASCII码2. 将ASCII码转换成其对应的十六进制数3. 实现二进制数与十六进制数之间相互转换4. 实现十进制数与二进制数之间相互转换5. 实现十六进制数与十进制数之间相互转换数制转换是计算机科学技术中最为基础的运算~在日常生活中~人们习惯性地使用十进制数进行计算。
而在计算机内部~所有的信息,数、字符、汉字、计算机的指令、状态,都是用二进制数来表示的。
在计算机中~二进制数的运算、处理比十进制数的更容易实现。
有时为了缩短书写~在计算机中还采用十六进制数。
所以~我们需要把数从二进制数形式转换成其他进制的形式~甚至在不同的进位制之间进行转换。
- 1 -汇编语言课程设计报告:代码与数制之间的转换目录一、前言〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.1 程设计的目的〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.2 代码与数制之间的转换程序的意义〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 1.3 数制之间的转换程序的主要功能〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3正文〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 二、2.1 代码与数制之间相互转换程序的设计大纲〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃3 2.2 代码与数制之间相互转换程序的结构图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃4 2.3 友好交互界面结构图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃5 2.4 程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.1 主程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.2 键盘输入子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃62.4.3 ASC码转16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃72.4.4 16进制转ASC进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃82.4.5 2,16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃82.4.6 2?16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃92.4.7 16?2进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃92.4.8 2~10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃102.4.9 2?10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃102.4.10 10?2进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃112.4.11 10~16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃112.4.12 10?16进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃122.4.13 16?10进制子程序流程图〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃12三、源程序及其注释〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃13四、课程设计体会〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃29五、参考文献〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃〃29- 2 -汇编语言课程设计报告:代码与数制之间的转换课程设计题目:代码与数制之间的转换一、前言1.1 课程设计的目的, 加深对汇编语言课程理论方面的理解, 通过编写一定规模和难度的程序,进行一次较全面的汇编编程训练,提高分析问题和解决问题的能力, 提高调试程序的能力1.2 代码与数制之间的转换程序的意义数制转换是计算机科学技术中最为基础的运算,在日常生活中,人们习惯性地使用十进制数进行计算。
王爽《汇编语言》课程设计一
课程设计(一)一、有除法溢出的dtoc子程序为:dtoc: push cxs:mov cx,10call divdw ;进行16位除法,被除数低16位存放在ax中,高16位存放在dx中,除数为10,存放在cx中,并调用不会产生溢出的除法运算的子程序divdwadd cx,30h ;将余数加上30h,就得到十进制数码字符对应的ASCII 码mov [si],cx ;将十进制数码字符对应的ASCII码存放在数据段中inc sipush ax ;保存此时的axadd ax,dx ;商是由ax和dx中的数据组合而成,为了判断商是否为0 mov cx,ax ;将商的高16位和低16位加起来,送给cxpop ax ;恢复axjcxz ok ;若商为0,则结束子程序jmp short sok: mov byte ptr [si],0 ;在字符串的结尾添个0call back ;调用把字符串反过来的子程序backpop cxretdivdw:mov bx,axmov ax,dxmov dx,0div cxpush axmov ax,bxdiv cxmov cx,dxpop dxretback:push dipush cxmov cx,simov di,0s1:mov al,[di]mov ah,0push axinc diloop s1mov di,0mov cx,sis2:pop axmov [di],alinc diloop s2pop cx二、课程设计首先,定义数据的时候,定义了一个栈段,在data段的开始定义了一个有10字节的空间,用来把数据转换成十进制形式的字符串,后面的总收入、雇员数、人均收入均为dword数据,方便后面统一来进行循环处理。
其次,刚开始的时候,用一个循环来计算人均收入,并把得到的数据放在data段中(在data段中定义了21个为0的dword数据用来存放人均收入)。
再次,在总体思路上,就是先定义一个32*21个字节的table段,把分别用子程序dtoc 把每个用二进制存放的数据转换成对应的十进制字符串,把字符串存放到table段中相应的位置,通过四个循环能把所有数据对应的字符串存放到table段中,这时的table 段中的存储模式与要求显示在屏幕上的模式一样,所以可以用一个双重循环将table 中的内容一个字节一个字节地复制到显示缓冲区的偶地址上,奇地址存放字符的颜色属性白色07h。
汇编课程设计报告
- 3 -编密码概述汇编语言:是用英文缩写形式的助记符书写指令。
汇编语言是一种面向CPU指令系统的程序语言,它采用指令系统的助记符来表示操作码和操作数,用符号地址表示操作数地址。
用汇编语言编写程序在输入计算机后,需要将其翻译成目标程序,计算机才能执行相应指令,这个翻译过程成为汇编,完成汇编任务的程序称为汇编程序。
所以我在MASM汇编程序中进行汇编,通过相应的代码来调用相应的指令实现编密码一、设计要求(小标题一律用宋体小四加粗) 要求:按照以下规律编密码:1.字母A 变为E,a 变为e即是字母变成其后面的第4 个字母。
2.但Ww变Aa,Xx 变Bb,Yy 变Cc,Zz 变为Dd.3.非字母不变如1234567890,!@$4.并可以循环转换5.例如“123CHINA@”变为“123GLMRE@二、设计思想首先,先定义两个缓存区,一个用来存放输入的密码(BUF2),一个用来存放变换后的密码(BUF3)。
先输入一个十位数内的密码,然后一一对一个个字符进行判断。
先判断ascall 是否小于41H,如果是则不是字母那就不变换直接转到read1,存入BUF3。
如果大于41H 在判断是否大于61H即判断是不是小写的,如果小于的话在判断大于5bH吗?如果大于则不是字母那就不变换直接转到read1,存入BUF3。
如果小于的话,在判断是不是大于w的ascall,如果大于就转到read3,减22在,存入buf3.否则转到read4,加4在存入BUF3。
如果大于等于61H的话,同样的道理,判断是否大于W,如果大于在判断大于7AH吗。
判断是不是字母,如果不是那就不变换直接转到read1,存入BUF3。
否则转到read3减22,在存入BUF3。
如果没有大于77H,直接转到read4,加4在存入BUF3。
最后将变换后的密码输出来。
输出后并将其转到qing,既将BUF2和BUF3缓存区的数据清空,在回到start1,重新输入一个字符串并对它进行编密码转换。
汇编语言课程设计2
汇编语言 课程设计2一、课程目标知识目标:1. 让学生掌握汇编语言的基本概念,包括寄存器、指令、寻址方式等;2. 培养学生运用汇编语言进行程序设计的能力,能够编写简单的汇编程序;3. 使学生了解汇编语言与硬件的关系,理解计算机的工作原理。
技能目标:1. 培养学生运用汇编语言进行问题分析、程序设计和调试的能力;2. 培养学生熟练使用汇编语言开发工具,如汇编器、链接器等;3. 培养学生具备一定的计算机硬件操作能力,能够进行基本的汇编指令执行过程分析。
情感态度价值观目标:1. 培养学生对计算机科学的兴趣,激发学习汇编语言的积极性;2. 培养学生具备良好的编程习惯,注重程序的可读性和效率;3. 培养学生具备团队协作意识,能够在小组合作中发挥各自优势,共同解决问题。
课程性质分析:本课程为计算机科学与技术专业核心课程,旨在培养学生的计算机底层编程能力,加深对计算机硬件和软件的深入理解。
学生特点分析:学生具备一定的计算机基础和编程能力,但可能对汇编语言较为陌生,需要从基本概念入手,逐步引导学生掌握汇编语言编程技巧。
教学要求:1. 结合实际案例,注重理论与实践相结合,提高学生的实际操作能力;2. 采用任务驱动法,引导学生主动探究,培养学生的自主学习能力;3. 强化实践环节,注重个体差异,提供针对性的辅导和指导。
二、教学内容1. 汇编语言基础知识:- 寄存器概念与分类- 指令系统与指令格式- 常用汇编指令及其功能- 数据表示与寻址方式2. 汇编语言程序设计:- 程序结构及伪指令- 汇编程序编写与调试方法- 简单程序设计实例分析- 子程序设计与调用3. 汇编语言与硬件的关系:- 计算机硬件工作原理概述- 指令执行过程分析- 中断与异常处理- 存储器组织与管理4. 实践环节:- 使用汇编语言开发工具进行程序编写与调试- 常见汇编程序案例分析- 小组项目:设计并实现一个简单的汇编程序教学内容安排与进度:第一周:汇编语言基础知识(1-2章)第二周:汇编语言程序设计(3-4章)第三周:汇编语言与硬件的关系(5-6章)第四周:实践环节(7章)教材章节关联:1. 汇编语言基础知识:对应教材第1-2章内容2. 汇编语言程序设计:对应教材第3-4章内容3. 汇编语言与硬件的关系:对应教材第5-6章内容4. 实践环节:对应教材第7章内容教学内容确保科学性和系统性,结合实际案例,使学生能够循序渐进地掌握汇编语言知识,提高编程能力。
汇编语言》课程设计报告--判断闰年程序
《汇编语言》课程设计报告题目:判断闰年程序院(系):计算机与信息工程学院班级:姓名:学号:指导教师:1设计主要任务通过完成闰年判别程序设计掌握字符输入及、调试过程。
1.1设计任务与目标软件所实现的任务与目标主要包括:(1)由键盘输入任意年份,判断输入年份是否在限制区间2000-9999内;(2)若程序判别输入年份为闰年,显示☺,不是闰年显示△;(3)根据要求确定解决问题的编程方法;(4)画出程序框图、设计源程序;(5)在计算机上汇编、链接所设计的程序;(6)按照要求调试程序,记录程序运行结果;(7)写出设计总结报告。
2 设计方案判断某年是否为闰年具体算法为如果该年份的数值正整数若能被400整除,或者不能被100整除,却能被4整除,则该数值代表的年份为闰年。
判断结果的显示符号可用ASCII值来实现。
流程图如下:4 子程序设计4.1 输入判断子程序该模块是对输入的年份的范围的判断,若是输入不在2000-9999之内,则显示错误Error,若是输入在范围内,则进行下面的操作。
4.2数字转换子程序将数字字符串转换成数字,以便进行下面的程序操作。
4.3 判断闰年子程序判断输入的年份是否为闰年,若是则输出☺,若不是则输出△,然后退出。
5 调试程序调试主要使用宏汇编程序MASM.EXE、连接程序LINK.EXE、系统操作界面当输出年份时显示结果当输入为闰年时显示笑脸并返回操作界面:6 设计总结通过这几天的汇编课程设计,基本掌握闰年判别程序设计,首先是根据题目要求确定思路,然后根据思路按照题目要求编写相应汇编程序,最后用软件调试结果是否正确。
在此次课程设计中,虽然课本上也讲过年份的判别,但是比较分散,所以刚开始设计时思路不是太清,通过查阅相关资料,清楚了程序设计的基本框架,进而能编写出相应程序,设计中又一个难题是最后屏幕显示的问题,通过查阅相应ASCII值,使最后显示出结果。
一周的课程设计让我收获颇多,虽然调试中遇到不少问题,但通过调试明白程序中存在的问题并改正。
cop8000汇编课程设计
cop8000汇编课程设计一、课程目标知识目标:1. 理解并掌握COB8000汇编语言的基本概念和指令系统;2. 学会使用汇编语言进行程序设计和调试;3. 掌握汇编语言中的寄存器、内存寻址方式及其应用;4. 了解汇编语言与硬件的密切关系,理解程序执行的底层原理。
技能目标:1. 能够运用汇编语言编写简单的程序,实现基础的计算和控制功能;2. 能够进行汇编程序的调试和优化,提高程序执行效率;3. 能够分析并解决汇编程序中常见的问题,提升编程技能。
情感态度价值观目标:1. 培养学生对计算机底层原理的兴趣,激发学习积极性;2. 培养学生的团队合作意识,学会在编程过程中相互交流、协作;3. 培养学生严谨、细心的编程习惯,提高对程序质量的追求。
课程性质:本课程为计算机科学与技术专业选修课程,侧重于汇编语言的实践应用和底层原理探究。
学生特点:学生已具备一定的计算机基础和编程能力,对底层原理有一定了解,但汇编语言学习经验不足。
教学要求:结合课程性质和学生特点,注重理论与实践相结合,以实例教学为主,引导学生掌握汇编语言的核心知识,提高编程实践能力。
在教学过程中,关注学生的学习反馈,适时调整教学策略,确保课程目标的达成。
通过本课程的学习,使学生能够独立完成简单的汇编程序设计,为后续相关课程打下坚实基础。
二、教学内容1. 汇编语言概述:介绍汇编语言的发展历程、特点及应用场景,引导学生了解汇编语言的重要性。
- 教材章节:第一章 汇编语言概述2. COB8000汇编指令系统:讲解汇编指令的分类、格式及功能,重点掌握常用指令的使用方法。
- 教材章节:第二章 COB8000汇编指令系统3. 寄存器与内存寻址:介绍寄存器的分类、用途,讲解内存寻址方式,为程序设计打下基础。
- 教材章节:第三章 寄存器与内存寻址4. 汇编语言程序设计:通过实例讲解汇编程序的结构、编写方法和调试技巧,提高学生的编程实践能力。
- 教材章节:第四章 汇编语言程序设计5. 汇编程序调试与优化:分析汇编程序中常见的问题,介绍调试方法和优化策略,提升程序质量。
汇编求平均值课程设计
汇编求平均值课程设计一、课程目标知识目标:1. 让学生掌握汇编语言中平均值计算的基本算法。
2. 使学生理解汇编语言中的寄存器使用、运算指令和数据存储等知识。
3. 引导学生运用汇编语言解决实际问题,如求一组数据的平均值。
技能目标:1. 培养学生运用汇编语言进行数据处理和分析的能力。
2. 提高学生编写、调试汇编程序的能力。
3. 培养学生的逻辑思维能力和问题解决能力。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发学习热情。
2. 培养学生的团队协作精神,学会分享、交流编程经验。
3. 引导学生认识到编程在生活中的实际应用,增强实践意识。
课程性质:本课程为计算机科学与技术学科的相关课程,旨在让学生掌握汇编语言的基本知识,培养编程能力和实际应用能力。
学生特点:学生处于高年级阶段,已具备一定的计算机编程基础,具有较强的学习能力和探究精神。
教学要求:结合学生特点,注重理论与实践相结合,提高学生的编程能力和问题解决能力。
通过本课程的学习,使学生能够独立完成汇编语言程序的设计与实现。
二、教学内容1. 汇编语言基础知识回顾:寄存器、指令系统、数据表示和存储。
2. 汇编语言程序结构:段定义、数据段、代码段、堆栈段。
3. 平均值计算算法原理:介绍算术平均值的概念,分析算法步骤。
4. 汇编语言实现平均值计算:- 数据定义:如何定义数据段,声明需要计算的平均值数据。
- 算法实现:使用汇编指令进行累加、除法运算等。
- 结果存储:将计算结果存储到寄存器或内存单元。
5. 程序调试与优化:分析汇编程序执行流程,调试常见错误,优化程序性能。
6. 实际应用案例分析:分析实际场景中的平均值计算问题,并进行编程实现。
教材章节关联:- 《汇编语言程序设计》第四章:汇编语言基本指令和寄存器使用。
- 《汇编语言程序设计》第五章:汇编语言程序结构和程序设计方法。
- 《汇编语言程序设计》附录:调试工具和调试技巧。
教学内容安排和进度:- 课时1:汇编语言基础知识回顾。
汇编课程设计报告正文
目录第1章需求分析 (1)1.1 设计题目 (1)1.2 设计目的 (1)1.3 程序运行环境及开发工具 (1)1.3.1 运行环境 (1)1.3.2 开发工具 (1)1.4 课程设计任务及要求 (1)1.4.1 设计任务 (1)1.4.2 设计要求 (1)第2章概要设计 (2)2.1 设计思想和原理 (2)2.1.1 设计思想 (2)2.1.2 设计原理 (2)2.2 系统流程图 (2)第3章详细设计 (5)3.1 数据段的设计 (5)3.1.1 数据段定义(DATA SEGMENT) (5)3.2 主程序的设计与实现 (5)3.3 子程序的设计与实现 (5)3.3.1 键盘输入成绩模块 (5)3.3.2 冒泡排序模块 (5)3.3.3,数据输出模块 (6)第4章系统调试与操作说明 (7)第5章设计中存在的问题及解决方法 (9)第6章总结与体会 (10)参考文献: (10)附录:源程序 (12)第1章需求分析1.1 设计题目成绩分段统计(2)1.2 设计目的在此课程设计中,通过对成绩统计分段程序的设计,来实现键盘输入,排序,输出功能,熟悉常用系统功能调用和常用算法的实现。
如01H功能调用,02H 功能调用以及BIOS功能调用的09H调用;掌握常用排序算法的汇编实现,如本设计中的冒泡排序算法实现降序排列。
汇编语言程序设计课程设计是计算机教学实践基础上的一次重要的大型实验,也是对汇编语言程序设计课程所学理论知识的深化和提高。
因此,要求学生能综合应用所学知识,设计与调试出具有实际功能的应用程序,并且在实验的基本技能方面上进行一次全面的训练。
培养学生综合运用所学知识独立完成汇编程序课题的能力,使学生能够比较全面巩固和应用课堂中所学的基本理论和程序设计方法,能够比较熟练完成汇编程序的设计和调试。
提高学生对工作认真负责,一丝不苟,和在遇到难题时的协同合作的素质,培养学生从资料文献,科学实验中获得知识的能力,初步培养工程意识和创新能力,培养学生勇于探索,严谨推理,实事求是的素质。
汇编语言课程设计_2
成绩评定
一、设计内容及目的 (一)设计内容 成绩评定。编制一个程序,要求完成以下功能: 1.以十进制形式从键盘随机输入成绩(不多于 50 个)。 2.显示成绩评定的等级(90-100 为优,80-90 为良,70-80 为中,60-70 为 及格,60 分以下为不及格)。 (二)设计目的 根据课题要求,运用自己在课堂上所学的知识,设计出一个程序,在输入学 生的成绩后,显示出该学生成绩的等级。通过此次课程设计,提高自己的实践能 力,加深对课堂上所学的知识的理解,加强自己的团队合作意识。 本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习 完《汇编语言》课程后进行的一次全面的综合练习。本课程设计的目的和任务: 巩固和加深学生对汇编语言课程的基本知识的理解和掌握; (1)掌握汇编语言编程和程序调试的基本技能; (2)利用汇编语言进行简单软件设计的基本思路和方法; (3)提高运用汇编语言解决实际问题的能力; (4)掌握书写程序设计说明文档的能力;
评分项目及分值要素
项目
最高分
评分要素
上机出勤及端正的学习态度、
1.学习态度
20 认真刻苦程度,工作量饱满程
度等
采用的算法、设计方案,设计
2.软件设计质量 30 结果,界面友好等方面进行综
合评定
成 内容按要求步骤书写,条理清
绩 3.设计报告书写 20 晰,表述清楚、措词得当 评
定
熟练使用开发工具,能够迅速
jl read3
cmp al, 39h
ja read3
sub al, 30h
; 是 0~9 之间的的字符,则转换为二进制数
mov ah, 0
xchg ax, bx
;交换 ax 和 bx 里的值
课程设计报告(通用6篇)
课程设计报告课程设计报告(通用6篇)在学习、工作生活中,需要使用报告的情况越来越多,要注意报告在写作时具有一定的格式。
相信很多朋友都对写报告感到非常苦恼吧,以下是小编为大家整理的课程设计报告,欢迎阅读与收藏。
课程设计报告篇1一、设计目的经过一系列硬件课程的学习及相关实验后,做一个综合的系统性的设计,对计算机硬件设计有一个整体的认识,可以进一步提高实践动手能力。
二、所用设备TDN—CM++实验教学系统一台,PC微机一台,排线若干三、设计思想1、确定搭建一台8位模型机,指令系统系统有10条,涉及输入,输出,加,减,自增,自减,与,传送,跳转,停机等指令。
2、根据所要设计的指令,确定各种信息的传送路径,以及实现这些传送所需的微指令。
3、根据数据通路,确定指令系统中每条指令的执行流程。
4、根据执行流程,确定好机器指令之后,确定相对应的微指令地址,需要多条微指令来完成的机器指令,要准确无误的确定每条微指令的后续地址。
5、设计好指令后,将指令加载,检测该指令是否可以达到预计功能。
四、设计总结经过了三天的实践学习,在老师的悉心指导和搭档的默契配合下终于完成了硬件课程实验,从中受益匪浅。
实验首先要做的事情就是接线,对于已经做过微机实验的我们,器件箱并不陌生,但也熟知连线的重要性,连每根线都必须十分细心,因为每根都影响着整个设备的运行。
于是,我跟我的搭档分工合作,她读图我连线,为了避免连错,我每根线都以红线为起始位,保持规律性,这样也方便出错后检查。
在我俩默契的配合下,我们很快就完成了连线操作,后来测试时却发现数据显示一直不变,经过检查才发现原来数据线少插了一根。
还好就这么一根问题,因为很多同学在连线这块就花费了大量的时间了,大大降低了效率,所以说小问题也不能忽视。
连线正确后,接下来就是编写微指令了,由于对指令的格式不是很熟悉,所以在了解指令格式和工作流程上花费了些时间。
编写的指令有两种,一个是操作码,一个是微指令。
汇编语言程序设计基于arm体系结构课程设计
汇编语言程序设计基于arm体系结构课程设计介绍汇编语言是一种底层的计算机语言,它直接与计算机硬件进行交互,可以对计算机进行更精细、更高效的控制。
在ARM体系结构中,汇编语言也起着至关重要的作用。
因此,学习ARM汇编语言编程是每个计算机科学专业学生必备的技能之一。
本课程设计旨在帮助学生掌握汇编语言在ARM体系结构中的应用,同时提高学生对计算机底层原理的理解与掌握。
在本课程设计中,我们将使用现代汇编语言,设计并实现一些实用的程序,包括算法、文件操作、输入输出等。
课程设计要求1. 基本要求本课程设计的基本要求是学生利用ARM汇编语言编写一个完整的程序,包括以下要求:•确定程序的主题和目标,设计算法并实现。
•实现程序的控制流程,包括输入输出、文件操作等。
•使用ARM汇编语言编写程序,并测试程序的正确性。
2. 提高要求为了挑战学生的编程能力,本课程设计还有一些额外的提高要求:•对程序进行性能优化,提高程序的效率。
•实现程序的图形化界面。
•尝试使用ARM汇编语言编写操作系统或驱动程序。
课程设计内容本课程设计包括以下几个部分:1. 算法设计与实现在此部分中,学生需要根据自己所选的主题,设计算法并实现。
选择一个好的算法可以帮助你更好地掌握汇编语言的编程技巧和思维方式。
2. 程序控制流程在此部分中,学生需要实现程序的控制流程,包括输入输出、文件操作、流程控制等。
这是程序实现的关键步骤之一,学生需要掌握汇编语言的底层控制逻辑。
3. 程序性能优化在此部分中,学生需要对程序进行性能优化,提高程序的效率。
学生需要了解ARM体系结构中的CPU指令集,并通过对程序的优化来提高程序的性能。
4. 程序图形化界面在此部分中,学生可以尝试使用其他语言或者库来实现程序的图形化界面。
这有助于学生了解汇编语言的局限性,以及不同编程语言之间的差异。
5. 操作系统或驱动程序实现在此部分中,学生可以尝试使用ARM汇编语言实现操作系统或驱动程序。
汇编语言课程设计报告
汇编语言课程设计报告汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。
下面是xx为大家整理的关于汇编语言课程的设计报告,欢迎大家的阅读。
汇编语言程序设计是一门实践性很强的课程。
编写程序、上机调试、运行程序是进一步学习和掌握汇编语言程序设计的必要手段。
1、掌控实验运转汇编语言所用的计算机机型2、熟识常用编辑程序3、掌握汇编程序asm、宏汇编程序以上。
4、link连接程序5、debug调试程序编辑源文件根据取值的任务,可以编写程序。
如果经过检查指出所编程序非为时,就可以在计算机上通过编辑程序创建源程序文件了。
通常在编辑过程中总会存有错误产生,因此还要展开人工检查、修正以致再次编辑,直至所编辑的源程序有误年才,然后以一个源程序文件计算机上安装。
将包含qe文件的工作磁盘插入驱动器a:。
进入qea>qe进入全屏幕后可以开始编程。
文件名取为myprog。
asm;ddisplystring(09h)codesegmentpublicassumecs:code,ds:codeorg100hstart:jmpbeginmsgdb‘hi!thisiaadollarsignterminatedstring.’,’$’begin:movax,cs;setuptodisp laymessagemovds,axmovdx,offset,sg;setuptodisplaymessagemovah,09h;displaystringfunctionrequestint 21h;calldosmovah,4ch;terminatepropramfunctrequestint21h;calldoscodeends;endofcodesegmentendstart;stratistheentrypoint输出完后,按alt---x,计算机上安装回到dos3、编订源程序文件由编辑程序所建立的asm文件只是个文本文件,计算机无法执行。
汇编语言课程设计报告——实现加减乘除四则运算的计算器
汇编语言课程设计报告( 2011 -- 2012 年度第 2 学期)实现加减乘除四则运算的计算器专业 计算机科学与技术 学生姓名班级学号指导教师完成日期目录目录错误!未定义书签。
1 概述错误!未定义书签。
设计目的错误!未定义书签。
设计内容错误!未定义书签。
2 系统需求分析错误!未定义书签。
系统目标错误!未定义书签。
主体功能错误!未定义书签。
开发环境错误!未定义书签。
3 系统概要设计错误!未定义书签。
系统的功能模块划分错误!未定义书签。
系统流程图错误!未定义书签。
4系统详细设计错误!未定义书签。
5 测试错误!未定义书签。
测试方案错误!未定义书签。
测试结果错误!未定义书签。
6 小结错误!未定义书签。
参考文献错误!未定义书签。
附录错误!未定义书签。
附录源程序清单错误!未定义书签。
实现加减乘除四则运算的计算器1 概述设计目的本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上,旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。
设计内容能实现加、减、乘、除的计算;该程序接受的是16进制数;执行时,需要在文件名后直接跟上计算表达式,如在命令提示符下执行结果如下:c:\tasm>js 3+252 系统需求分析系统目标本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。
比如,十进制数的加减乘除四则运算。
我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。
此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川大学计算机学院学生实验报告实验名称:汇编课程设计报告指导教师:唐宁九姓名:廖偲学号:0943111209班级:软件09级一班日期:20101114实验报告班级______________姓名_______________学号_________一、实验一:DEBUG基本命令与数据传输指令二、实验的目的和要求:• 1.熟练掌握DEBUG的基本调试命令,能够使用DEBUG编写、调试汇编语言程序片段。
• 2.在理解数据传输指令的基础上按照实验内容中指定的程序片段对程序进行调试和记录;三、实验的环境:1.硬件环境:cpu2.26gHZ、内存2G、显存1G、64位总线笔记本电脑2.软件环境:win7 32位操作系统、8086/8088指令集系统(在windows系统中)、masm的汇编工具。
四、源程序清单:•MOV AL, 01H•MOV SI, 0002H•LEA SI, [SI]•MOV BYTE PTR [SI], 80H•LAHF•XCHG AL, AH•SAHF•XCHG AH, [SI]•SAHF五、操作内容:1.从cmd在debug下进入用A命令进行汇编格式: A [地址]功能:从键盘输入汇编程序, 并逐条地把汇编指令翻译成机器代码指令存入对应内存单元。
如果不指定汇编地址, 则以CS:IP为地址2. 反汇编命令U使用格式: U [地址]/[地址范围]功能: 将指定地址范围内的机器代码翻译成汇编源程序指令显示出来, 并同时显示地址及代码。
注意: 反汇编时一定确认指令的起始地址, 否则得不到正确的结果。
3.寄存器查看/编辑命令r或r寄存器名称功能: 显示当前所有寄存器内容, 状态标志及将要执行的下一条指令的地址、代码和汇编指令形式。
4. 跟踪运行命令T格式: T [=起始地址] [指令条数]功能: 逐条跟踪程序的运行, 同时显示出各寄存器的内容、状态标志和下一条要执行的指令, 当执行够指定的指令数后就暂停程序的运行。
说明: 如果不指定起始地址, 则从CS:IP处开始执行。
不指定指令条数时, 认为只执行一条指令。
六、运行结果:1.debug中a命令使用2.u命令3.r命令4.t命令七、实验运行情况分析。
1.使用t单步调试时每条指令(DS=1422H)MOV AL, 01H ;AX寄存器低8位至为01H,标志寄存器无变化MOV SI, 0002H ;SI寄存器置为0002H,标志寄存器无变化LEA SI, [SI] ;LEA将16位源操作数有效地址给目的地址,SI不变还是0002H;标寄存器无变化MOV BYTE PTR [SI], 80H ;将一个字节80H存入内存DS:[SI]中(1422H:0002H =80H)LAHF ;将Flag寄存器低8位存入AH中,AX=0201HXCHG AL, AH ;将AL和AH中的数据互换AX=0102HSAHF ; 将AH存入Flag寄存器低8位中为01H,CF标志位变为1XCHG AH, [SI] ; AH和内存中DS:[SI]中数据互换AH=80H,1442H:0002H=01HSAHF ; 将AH存入Flag寄存器低8位中为80H,CF=0,TF=1这个程序片段展示了LEA、LAHF、SAHF、XCHG这几个命令使用,标志寄存器的一些标志位实验报告一、实验二:DEBUG基本命令与算术运算指令二、实验的目的和要求:•熟练掌握DEBUG的基本调试命令,能够使用DEBUG编写、调试汇编语言程序片段。
•在理解算术运算指令的基础上按照实验内容中指定的程序片段对程序进行调试和记录;三、实验的环境:1.硬件环境:cpu2.26gHZ、内存2G、显存1G、64位总线笔记本电脑2.软件环境:win7 32位操作系统、8086/8088指令集系统(在windows系统中)、masm的汇编工具。
四、源程序清单:•MOV WORD PTR [0100H], 5564H•MOV WORD PTR [0102H], 0C279H•MOV AX, [0100H]•PUSH AX•ADD AL, [0102H];说明标志位是如何确定的•ADC AH, [0103H];说明指令执行原理,包括标志位•MOV [0104H], AX•POP AX•SUB AL, [0102H] ;说明标志位是如何确定的•SBB AH, [0103H];说明指令执行原理,包括标志位•MOV [0106H], AX五、操作内容:1. 断点调试命令G格式:g 或g [起始地址][断点地址]功能:从当前CS、IP指示的位置开始连续执行程序,执行到指定断点处(不包括断点地址指示的指令)暂停执行,在屏幕上显示CPU现场。
2. 内存单元查看命令D格式:D (默认)或D [地址]功能:查看指定地址开始的内存区域中各内存单元的内容。
3.内存单元修改命令E格式:E [地址]功能:修改指定地址内存单元的内容。
六、运行结果:1.g命令的使用2.D命令的使用3.E命令的使用七、实验运行情况分析。
MOV WORD PTR [0100H], 5564H ;一个字的内容5564H放到内存中DS:[0100H] MOV WORD PTR [0102H], 0C279H ;同理0c279H放到内存[0102H]中MOV AX, [0100H] ;5564H传入AXPUSH AX ;AX数据送入堆栈段sp指向位置sp自减保存AXADD AL, [0102H] ;64H+79H=DDH源操作数与目的操作数相加结果存入目的操作数;SF=1与最高位保持一致(不为补码时无意义);PF=1二进制中有偶数个一;OF=1判断:最高位和次高位进位异或值;CF=0最高位无进位、借位;其他位无变化;操作数解释为补码时溢出,无符号数不溢出ADC AH, [0103H];DEST+SRC+CF=>DEST,55H+C2H+0=1 17H;CF=1最高位有进位;OF=0 判断:最高位和次高位进位异或值;PF=1有偶数个1;程序员把操作数解释为无符号数溢出,补码不溢出MOV [0104H], AX ;结果存入内存POP AX ;出栈恢复AXSUB AL, [0102H] ;DEST-SRC=>DEST, 64H-79H=0EBH;SF=1 最高位为一;CF=1 最高位有借位;AF=1 第四位有借位;PF=1 1为偶数个;无符号数出现溢出,有符号数无溢出SBB AH, [0103H];DEST-SRC-CF=>DEST, 55H-C2H-1=92H;CF=1最高位有借位;SF=1 最高位为一;OF=1最高位和次高位进位异或值为1;不论为有符号或无符号数都溢出MOV [0106H], AX ;结果存入内存这个小程序演示了ADD、ADC和SUB、SBB连用展示超过8位时两次加减来表示16位加减以及其中对标志位的影响。
实验报告一、实验三:编制完整的汇编语言源程序二、实验的目的和要求:•掌握编写完整汇编语言源程序的方法,掌握汇编、连接等将源程序转换为可执行代码的必要步骤。
•在理解逻辑运算指令原理的基础上,按照实验要求的功能编写完整程序,生成可执行文件后,使用DEBUG对程序进行调试。
三、实验的环境:1.硬件环境:cpu2.26gHZ、内存2G、显存1G、64位总线笔记本电脑2.软件环境:win7 32位操作系统、8086/8088指令集系统(在windows系统中)、masm的汇编工具、emu8086(8086模拟器)。
四、源程序清单:DATA segmentVAR1 db 35hVAR2 dd 0E2597455HRES1 db 0RES2 db 0DATA endscode segmentASSUME DS:data,cs:codestart:mov ax,datamov ds,axMOV CL,4MOV AH,VAR1MOV AL,VAR1AND AL,0FHMOV RES2,ALAND AH,0F0HSHR AH,CLMOV RES1,AHMOV CX,2LOOP1: SHL VAR2,1RCL VAR2+2,1LOOP LOOP1MOV AH,4CHINT 21Hcode endsend start五、操作内容:•编写一个完整源程序完成如下功能:1)设定字节型变量VAR1的内容为35H,编写程序将VAR1的高4位与低4位分离,分别作为低4位保存在RES1和RES2中,这两个变量高4位置0。
2)设定32位(二进制)数据0E2597455H(注:最高位为E)保存在变量VAR2中,将该变量中的内容算术左移2位,所得结果仍然保存在VAR2中。
六、运行结果:运行前运行后七、实验运行情况分析。
1)在VAR1处理过程中使用AND、SHR指令:AND指令分别用0FH、0F0H提取VAR1低和高四位放入AL、AH,在用SHR让AH右移四位最高位依次补0。
分别存入RES1、RES2中。
AND AL,0FH ;AL=05H PF=1AND AH,0F0H;AH=30H PF=1SHR AH,CL;标志位无变化AH03H2)在VAR2处理过程中使用SHL、RCL对32位VAR2实现左移。
(分析第一次循环)LOOP1: SHL VAR2,1 ;左移一位最低位补0 VAR2 = CC;SF=1 OF=1 CF=0 PF=1RCL VAR2+2,1 ;加上CF左移最高位移入CF,CF移入最低位;CF=1 SF=1 PF=1 OF=0LOOP LOOP13)如果VAR2解释为有符号数乘以4为负数结果为负数未出现溢出(SF=1)解释为无符号数乘以4结果溢出实验报告一、实验四:分支与循环结构程序设计二、实验的目的和要求:•掌握分支、循环结构程序设计方法,重点掌握结合程序流程图设计分支、循环结构入、出口的方法。
•掌握使用DEBUG调试分支、循环结构的方法。
三、实验的环境:1.硬件环境:cpu2.26gHZ、内存2G、显存1G、64位总线笔记本电脑2.软件环境:win7 32位操作系统、8086/8088指令集系统(在windows系统中)、masm的汇编工具,emu8086。
四、源程序清单:编写的统计数组中奇数和偶数的个数,统计结果分别保存在ODDNUM和EVENNUM单元中。
DATA segmentVAR DB 14,-25,66,-17,78,-33,46DB -96,71,80ODDNUM DB 0EVENNUM DB 0DATA endscode segmentASSUME DS:data,cs:codestart:MOV AX,DATAMOV DS,AXMOV BX,0MOV CX,0AHLEA SI,VARLO: MOV AL,[SI]CMP AL,0JG L1NEG ALL1: TEST AL,01HJZ L2INC BLJMP L3L2: INC BHL3: INC SILOOP LOMOV ODDNUM,BLMOV EVENNUM,BHMOV AH,4CHINT 21Hcode endsend start五、操作内容:1)1.无条件跳转指令段内直接转移:JMP 标号或JMP NEAR 标号指令功能:(IP)+(DISP)=>IP指令将程序流程转向目标地址,CPU下一条指令变成目标指令,DISP(-128~127)段内间接转移:JMP 16位通用寄存器或字类型的内存单元指令功能:(16位寄存器)=>IP或(字类型的内存单元)=> IP 将16位的寄存器或内存单元的内容解释为目标地址,送入IP转入目标地址。