微机原理及应用CH5 8086/8088汇编语言程序设计
- 格式:ppt
- 大小:520.00 KB
- 文档页数:87
8086/8088微机原理课程设计1、课程设计说明“微机原理与接口技术课程设计”主要是测试学生的8086/8088系统输入输出技术应用能力、数字电路应用能力和程序设计能力。
设计题目中综合了《数字逻辑》、《微机原理与接口技术》和《程序设计基础》等课程中的相关知识点。
特别是电气工程系各专业学习了《模拟电子》、《传感器技术》、《单片机技术》等课程,给题目的扩展和实际应用提供了基础。
本课程的课程设计实际上是一个综合性应用的设计和制作。
这里只给出了部分课程设计的题目,主要和接口电路有关,每个题目的实现方式和扩展空间都很大,指导教师可根据学生的具体情况决定设计题目的内容和设计量。
纯汇编语言软件的设计未在这里列出。
欢迎学生自拟题目,经指导教师审核其难易程度和确定所用器材,优先选用。
2、课程设计计分办法课程设计的计分由课设题目(60)、课设报告(20)、考勤(20)三部分组成。
一、题目的选择设计题目分为星级制(★),根据选择题目的难易程度确定成绩,以百分制计算,按比例计入总成绩。
要根据个人情况合理选择题目,不可多组选择同一题目。
1、无星为最简题目,做完多个题目仅记分为及格(69分及以下)。
2、1星(★)为简单题目,做完1个题目记分为良(70~89分)。
3、2星(★★)为较难题目,做完1个题目记分优(90~100分)。
4、星级题目多做可提高分值。
5、课设一般为分组实施,主要设计者记原星级分值,辅助者减1星。
6.、未完成设计者视设计程度减星计分。
7、无星题目可单人完成,但不选题目者记0分。
二、报告要求课设报告应按规定格式书写,并按时上交。
报告原则上要求手工书写,如要打印必须是独立版本,遇雷同课设报告均不计入总成绩。
三、考勤考勤。
点名一次未到扣5分,5次以上记0分。
3、课程设计题目设计一、发光管间隔交替闪烁。
使QTH实验仪上的8个发光管间隔交替闪烁,要求:①8255的PA0~PA7接L1~L8;②8255的片选信号CE接地址线A15;③闪烁时间可通过PC键盘、QTH小键盘或波动开关调整;说明:①发光管可接8255的其它口,CE也可接其它地址线。
微机原理8086汇编语言微机原理和8086汇编语言是计算机科学与技术领域中的重要基础知识,对于理解计算机的运行原理和编程开发具有关键作用。
本文将全面介绍微机原理和8086汇编语言的基本概念、功能特点以及应用实践。
一、微机原理概述微机原理是指微型计算机的构成、工作原理、体系结构和外围设备等的基本原理。
微机由中央处理器(CPU)、存储器和输入输出设备等组成,其内部实现了数据的存储和处理,并能够与外部环境进行交互。
微机原理的研究与应用对于计算机硬件的设计和控制至关重要。
二、8086汇编语言介绍8086汇编语言是在微机原理基础上发展起来的一种低级程序设计语言。
它以机器指令的形式直接对CPU发出控制命令,实现数据处理和操作。
8086汇编语言具有直观、高效的特点,可以对计算机内部各种硬件资源进行精细控制,实现复杂的算法和功能。
三、8086汇编语言的基本语法8086汇编语言的基本语法包括指令、寻址方式和操作数等。
指令通常由操作码和操作数组成,用于执行特定的操作。
寻址方式指定操作数在内存中的位置,可以是直接寻址、寄存器间接寻址、立即数寻址等多种方式。
操作数表示要进行操作的数据,可以是寄存器、内存单元或立即数。
四、8086汇编语言的常用指令8086汇编语言提供了丰富的指令集,包括数据传输指令、算术运算指令、逻辑运算指令、条件转移指令、无条件转移指令等。
通过这些指令的组合和调用,可以实现各种复杂的功能和处理需求。
五、8086汇编语言的应用实践8086汇编语言广泛应用于嵌入式系统设计、驱动程序开发、操作系统编程以及性能优化等领域。
在嵌入式领域,汇编语言可以直接操作硬件资源,实现高效的数据处理和控制;在操作系统编程中,汇编语言可以直接访问操作系统内核,实现底层功能的扩展和优化。
六、8086汇编语言的优势与不足8086汇编语言具有高效、灵活的优势,可以直接操作硬件资源和内存,实现高性能的程序。
然而,汇编语言的开发和调试困难,可读性低,维护成本高,对程序员的要求较高。
微机原理及应用习题库与答案习题与练习题1第1章绪论1.计算机分那几类?各有什么特点?2.简述微处理器、微计算机及微计算机系统三个术语的内涵。
答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影响。
微计算机包括80X86微处理器有几代?各代的名称是什么?80386/80486:32位机。
4.采用一种总线标准进行微型计算机的硬件结构设计具有什么优点?5.一个总线的技术规范应包括哪些部分?6.总线的定义是什么?简述总线的发展过程。
7.微型计算机系统总线由哪三部分组成?它们各自的功能是什么?第3章微处理器结构及微计算机的组成1.8086是多少位的微处理器?为什么?2.EU与BIU各自的功能是什么?如何协同工作?3.086/8088与其前一代微处理器8085相比,内部操作有什么改进?4.8086/8088微处理器内部有那些寄存器,它们的主要作用是什么?答:执行部件有8个16位寄存器,AX、BX、CX、DX、SP、BP、DI、SI。
AX、BX、CX、确定5ch+98h后各标志位的值。
并说明结果的正确性。
5.8086对存储器的管理为什么采用分段的办法?6.在8086中,逻辑地址、偏移地址、物理地址分别指的是什么?具体说明。
7.给定一个存放数据的内存单元的偏移地址是20C0H,(DS)=0C00EH,求出该内存单元的物理地址。
8.8086/8088为什么采用地址/数据引线复用技术?9.8086与8088的主要区别是什么?10.怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同11.8086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?12.8086基本总线周期是如何组成的?各状态中完成什么基本操作?13.结合8086最小模式下总线操作时序图,说明ALE、M/IO#、DT/R#、RD#、READY信号的功能。
14.8086中断分哪两类?8086可处理多少种中断?15.8086可屏蔽中断请求输入线是什么?“可屏蔽”的涵义是什么?16.8086的中断向量表如何组成?作用是什么?17.8086如何响应一个可屏蔽中断请求?简述响应过程。
8086/8088汇编语言程序设计课程设计设计背景汇编语言是计算机科学与技术专业中非常重要的一门课程,它是高级语言之后的一个阶段。
在本课程中,学生需要掌握8086/8088汇编语言的语法和应用。
为了更好地掌握汇编语言的使用,需要进行一定的课程设计练习。
设计目的本课程设计旨在帮助学生深入了解汇编语言的编写和实践操作,从而更好地掌握该技能。
该课程设计的主要目的包括:•加深学生对汇编语言的理解。
•培养学生的编程思维和动手能力。
•通过实践操作,让学生能够在以后的工作和学习中使用汇编语言编写程序。
设计内容本课程设计的主要内容包括以下几个部分:1. 编写程序学生需要使用8086/8088汇编语言编写程序。
编写过程中,需要注意程序的逻辑和语法。
程序可以有选择的使用一些特定的指令进行优化,以达到更高的执行效率。
2. 调试程序学生需要使用调试软件对编写的程序进行调试,以保证程序的正确性。
在调试过程中,需要注意调试工具的使用方法和操作步骤。
3. 撰写实验报告学生需要撰写课程设计实验报告,该报告需要包括以下主要内容:•设计目的和内容简介•程序设计思路和步骤•调试过程和结果分析•程序运行效果展示•总结和反思设计要求为了完成本课程设计任务,需要满足以下要求:1. 完成程序编写完成程序编写的任务,保证程序的正确性和合理性。
程序逻辑要清晰,格式化整齐,运行效率要高。
程序注释要清晰,要有比较好的可读性。
2. 良好的调试过程良好的调试过程是保证程序正确性的基础。
学生需要使用调试工具对程序进行调试,确保程序的正常运行。
在调试过程中,需要注意操作的步骤和方法。
3. 撰写实验报告实验报告需要各个方面都能全面体现学生的工作。
在撰写实验报告时,请注意实验报告的格式和内容要求,注意语言的规范性和格式的整齐性。
报告需要按时上交。
结束语本课程设计是学生在汇编语言学习的过程中,进行实践的重要环节,通过这个过程,学生能够更加全面的掌握汇编语言编程的技能。
《微机原理与汇编语言程序设计》课程教学大纲课程代码;020112课程名称:微机原理与汇编语言程序设计/Basic Principles of Micro Computer and Program Design for Assemble Language学时:64 学分:4 讲课学时:54 上机/实验学时:10 考核方式:考试先修课程:电路电子技术、数字逻辑、计算机原理适用专业:计算机科学与技术专业、计算机科学与技术(计算机及应用)专业开课院系:电子电气工程学院计算机系、自动化系教材:周明德. 微型计算机系统原理及应用. 清华大学出版社. 1998主要参考书:[1]梁洪峻. 微机原理与汇编语言程序设计. 机械工业出版社. 2000[2]沈美明,温冬婵. IBMPC汇编语言程序设计. 清华大学出版社. 1991一、课程的性质和任务本课程是一门学科基础必修课,讲授8086/8088微机系统的结构、工作原理和一般应用,讲授8088汇编语言的寻址方式、指令系统、程序设计的结构化设计方法。
通过课堂讲授和实验,旨在使学生掌握微型计算机系统的一般原理,熟悉汇编语言程序设计的基本方法,为学习后继课程(如通信与接口)或进一步学习更高等级的微型计算机和其他机种的微型计算机及其系统打下良好的基础。
本课程在教学内容和方法上着重基本知识、基本理论和基本方法;在培养学生的实践能力方面,着重应用技能的基本训练。
本课程的主要任务是培养学生1、掌握微型计算机系统的结构、工作原理和一般应用方法;2、了解微型计算机系统的硬件及结构的发展状态;3、掌握汇编语言程序的设计与调试方法,掌握硬件实验的基本方法,获得实验技能的基本训练。
二、教学内容和基本要求教学内容:要求学生重点掌握8088CPU的寄存器结构、功能结构(B1U、E1)和指令执行所采用的时间重叠技术。
要求学生掌握8088的段地址概念、物理地址的计算、各种寻址方式的特征、指令的内容、指令的执行及其对标志寄存器PSW各位的影响。
微机原理实验报告实验一 8086CPU系统寻址方式和汇编语言程序设计一、实验目的1. 掌握 8086CPU 系统的逻辑地址和寻址方式;2. 掌握 8086CPU 系统中机器数的表示方式;3. 掌握指令的机器码表示方法;4. 掌握 TPC-USB 集成开发环境程序设计和调试方法;5. 掌握汇编语言实现具体算法的方式,区分汇编语言与高级语言的编程风格二、实验内容1. 写出在 TPC-USB 环境下汇编语言程序设计步骤;①点击工具栏中“新建”按钮,在编辑框输入程序代码,保存为一个以“.asm”结尾的汇编源文件。
②点击工具栏“编译+链接”按钮,若程序有错则返回修改代码,若没有错误,则编译链接成功,形成两个以“.obj”结尾的目标文件和以“.exe”结尾的可执行文件。
③点击工具栏“调试”按钮,在弹出的框中选择“Continue and don’t ask again”,执行“连续运行”或“单步运行”或“跳过”,在执行此步骤前可设置断点。
通过寄存器窗口、反汇编窗口、内存窗口查看相应内容。
2. 汇编语言程序设计和调试实验1)源程序:CODE SEGMENTASSUME CS:CODESTART:MOV AX,8086HMOV BX,6808HADD AX,BXMOV CX,AXPUSH CXPOP DXL1:JMP L1CODE ENDSEND START2)反汇编结果:3)单步执行每条指令后对应寄存器的变化值:START:MOV AX,8086H ; AX:0×00000FE6 ——>0×00008086IP: 0×00000000 ——>0×00000003MOV BX,6808H ;BX: 0×000008FEA——>0×00006808IP: 0×00000003 ——>0×00000006ADD AX,BX ; AX:0×00008086 ——>0×0000E88EIP: 0×00000006 ——>0×00000008FLAGS: 0×00007202——>0×00007286MOV CX,AX ; C X: 0×000C0000 ——>0×000CE88EIP: 0×00000008 ——>0×00000000PUSH CX ; SP:0×0000FFFE ——>0×0000FFFCIP: 0×00000000 ——>0×0000000BPOP DX ; SP:0×0000FFFC ——>0×0000FFFED X: 0×00002002 ——>0×0000E88EIP: 0×0000000B ——>0×0000000C3. 编程设计实验(一)内存中现有 X 和 Y 两个存储单元,分别存有 42 和-43,利用汇编语言编程计算这两个数之和,并将结果放入 SUM 单元;1) 程序流程图:开始X=42Y=-43将数据段DATA的首地址送到DSAL=XAL=AL+YSUM=AL结束2)源程序:DATA SEGMENTX DB42Y DB -43SUM DB ? ;?用来占位DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX;DATA的数据送到DSMOV AL,XADD AL,YMOV SUM,ALLOOP:JMP LOOPCODE ENDSEND START3)内存结果(DS)4)反汇编结果:4. 编程设计实验(二)数据段中的一个存储单元 X 中存放的数据为 10H,编程实现将该存储单元中的数据循环左移四位后存放到数据段的另一个存储单元 Y 中。
8086指令系统及汇编语言程序设计8086指令系统是指8086微处理器能够支持和执行的一系列指令。
8086微处理器是Intel公司于1978年推出的一款16位微处理器,是一个革命性的产品,为个人计算机的发展奠定了基础。
8086微处理器采用的是复杂指令集(CISC)架构,其指令系统非常丰富,共有近1000条指令,能够完成各种复杂的计算和操作。
8086指令系统主要分为数据传输指令、算术运算指令、逻辑运算指令、移位指令、控制转移指令等几类。
数据传输指令主要用于数据在寄存器和存储器之间的传输,其中包括直接传输和间接传输两种方式。
算术运算指令用于执行各种加减乘除运算,包括有符号数和无符号数的运算。
逻辑运算指令用于执行逻辑操作,如与、或、异或等。
移位指令用于对数据进行位移操作,包括左移、右移等。
控制转移指令用于改变程序的执行顺序,包括无条件跳转、条件跳转等。
在汇编语言程序设计中,我们使用汇编语言来编写针对8086微处理器的程序。
汇编语言是一种低级编程语言,与机器语言直接对应,使用助记符代表机器指令。
汇编语言程序通过汇编器进行编译,生成可执行的机器码文件。
编写汇编语言程序的过程一般包括以下几个步骤:设计程序的逻辑结构、确定程序的算法、编写汇编语言源程序、进行程序调试、优化程序性能。
汇编语言程序设计可以用于解决各种计算机软件和硬件问题。
它可以用来编写底层驱动程序、操作系统、嵌入式系统等,也可以用来进行系统调试和性能优化。
总而言之,8086指令系统及汇编语言程序设计是计算机科学领域中重要的内容。
了解8086指令系统和掌握汇编语言程序设计对于理解计算机底层原理和解决一些底层问题非常有帮助。
同时,汇编语言程序设计也是一门艺术,通过编写高效的汇编语言程序,可以提高计算机的性能和响应速度。
8086/8088微机原理与接口技术8086/8088微机原理与接口技术 (1)前言 (3)第一章实验环境介绍 (6)1.1汇编语言程序的上机过程 (6)1.1.1、源程序的编辑 (6)1.1.2、汇编 (6)1.1.3、链接 (6)1.1.4、调试 (7)1.2 8088实验仪的连机实验环境(DJ-8086k) (7)1.2.1、系统配置 (7)1.2.2、DJ-8086k软件启动和联机 (7)1.2.3、DJ-8086k软件主窗口 (8)1.2.4、源程序的编辑 (8)1.2.5、编译 (9)1.2.6、仿真调试 (9)第二章软件部分实验 (10)实验一汇编语言上机环境及基本操作 (10)实验二DEBUG调试程序的应用 (12)实验三多精度十进制加法程序设计 (17)实验四数学表达式计算 (19)实验五分支结构程序设计 (21)实验六循环结构程序设计 (22)实验七EMU8086集成开发环境 (23)第三章硬件部分实验 (25)3.1 存储器实验 (25)3.2 简单IO口实验 (28)3.3 8255A接口控制实验(一) (30)3.4 8255A接口控制实验(二) (32)附:实验报告格式 (37)前言认真做好实验,是掌握应用,提高动手能力的一个重要环节。
本课程安排了一些接口部件的实验,每个实验2学时,目的在于让同学们了解和掌握汇编语言的程序设计的基本方法和常用的接口器件的使用方法。
一个完整的实验过程,包括实验前的准备、实验操作过程和实验后的总结三部分。
做好实验前的准备,是做好实验的重要保障,希望同学们一定要做好实验前的准备工作。
一、实验前的准备1、认真阅读实验指导书,详细了解本课程实验的软硬件环境。
硬件环境:实验仪的基本组成和使用方法。
软件环境:调试软件的基本功能和使用方法。
这项工作应该在本学期开始,领到实验指导书时就进行。
2、详细了解本次实验的基本任务,充分理解实验原理为了实现本次实验的基本任务,硬件电路由哪几个部分组成,各部分电路的主要作用是什么,各部分电路之间如何连接?在此基础上读懂实验电路图。