现代远程教育--《微机原理及接口技术》课程学习指导.doc_第1页
现代远程教育--《微机原理及接口技术》课程学习指导.doc_第2页
现代远程教育--《微机原理及接口技术》课程学习指导.doc_第3页
现代远程教育--《微机原理及接口技术》课程学习指导.doc_第4页
现代远程教育--《微机原理及接口技术》课程学习指导.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

现代远程教育微机原理及接口技术课程学习指导书作者:钱晓捷2008年11月 “微机原理及接口技术”课程学习指导书“微机原理及接口技术”是电子工程、自动控制、机电等电气信息类专业的必修课,是一门软硬件相互结合的重要课程。本课程以ia-32处理器和32位汇编语言为主体介绍32位个人微机系统的基本工作原理,要求学生学习处理器的指令集结构、常用指令和汇编语言编程,通过微机总线技术,理解处理器与半导体存贮器的连接、常用i/o 接口的连接方法,以及外设进行数据传送的方法;本着硬件与软件相结合的原则,讲授常用微机接口应用技术;并对各种提高处理器性能的最新技术有所了解。第1章 微型计算机系统概述(一)本章学习目标本章通过微处理器发展尤其是intel 80x86系列处理器发展引出各种基本概念,从冯诺依曼计算机结构引出微型计算机硬件组成,以16位和32位pc机为例全面理解微型机层次结构,通过熟悉windows控制台环境了解微型机软件系统。(二)本章学习重点和考试要求了解处理器(cpu)、通用处理器和专用处理器(微控制器和数字信号处理器)的含义,熟悉字长、时钟频率、集成度和摩尔定律的含义。了解x86结构系列处理器的发展,尤其是熟悉8086、pentium处理器的特点,理解处理器引脚、ia-32结构、cache、复杂指令集计算机、精简指令集计算机、指令流水线、超标量技术、多媒体指令、intel 64结构、动态执行技术、多核技术的概念。掌握冯诺伊曼计算机的基本思想,掌握组成部件(5大部件、3个子系统)、二进制编码(以及字节、字、双字和4字的二进制位数)、存储程序控制(以及字节可寻址存储单元、存储器地址、读写操作的含义)、取指译码执行周期的含义。了解微型计算机组成结构,熟悉ibm pc/at机和32位pc机主机结构,掌握总线、地址总线、数据总线和控制总线的含义。理解计算机层次结构及其特点,掌握汇编语言的特点、软硬件等价性原理、软件兼容(系列机、兼容机)的思想。(三)本章学习指导本章学习课时:8本章内容属于概述性质,需要大家了解基本概念。这些概念在后续章节将逐渐展开,那时才让大家熟悉直至掌握。(四)本章练习题说明:如下练习题均来自本课程配套教材,这里仅给出题号,请对照教材练习。1.1 简答题(1、2、8、9、10)1.2 判断题(1、3、5、7、10)1.3 填空题(2、3、4、5、6)1.5 1.7 1.8 1.10 1.14第2章 处理器结构(一)本章学习目标本章以8位cpu、16位8086、32位80386和pentium为例展开处理器功能结构,重点学习ia-32处理器通用指令执行环境中的通用整数寄存器、存储器组织和数据寻址方式,并熟悉汇编语言的语句格式、程序框架和开发方法。(二)本章学习重点和考试要求了解处理器的基本结构,理解可编程、通用、专用寄存器的概念。了解8086、80386和pentium处理器的结构,理解指令队列、指令预取的概念。掌握ia-32常用寄存器的名称和作用。理解标志的作用,掌握状态标志cf、of、zf、sf、pf的意义和判断。熟悉指令指针eip和段寄存器的作用。理解ia-32的存储器模型和工作方式,掌握基本段、逻辑地址和物理地址的概念,掌握逻辑地址转换为物理地址的方法。掌握汇编语言的两种语句格式和正确书写(标号与名字、分隔符),熟悉汇编语言的源程序格式,理解段的简化定义、程序开始执行、执行结束、结束汇编、子程序库的意义。熟悉汇编语言程序的开发过程,掌握其开发方法,理解汇编、连接、列表文件的作用。掌握立即数、寄存器、存储器的数据寻址概念,区别直接寻址、寄存器间接寻址、寄存器相对寻址、变址寻址、带比例寻址,并掌握它们的书写形式。(三)本章学习指导本章学习课时:12对汇编语言部分的掌握,需要有上机编程的实践环节。学生应按照上机任务部分(参见本指导书后面)的要求完成基本的上机编程要求,同时争取多进行编程实践;因为只有通过实际编程才能发现程序设计中的许多问题。请你不要直接拷贝源程序代码,在你将一条一条语句的录入编辑过程中,就是书写正确语句、加深语句理解的绝好机会。寻址方式学习思路操作数可以存在什么地方?操作数存在于指令代码中、处理器内部寄存器中、主存中存储器寻址时,段地址在默认的或段超越前缀指令指定的段寄存器中有多种获得偏移地址的方法,分成多种寻址方式有效地址直接给出,存在寄存器中,两部分的和(寄存器和位移量),两部分的和(基址寄存器和变址寄存器)、三部分的和(基址寄存器、变址寄存器和位移量)区别各种寻址方式时,注意各自的特点汇编语句中的其他形式,需要理解相应操作符才能做出正确判断(四)本章练习题说明:如下练习题均来自本课程配套教材,这里仅给出题号,请对照教材练习。2.1 简答题(2、5、6、7、9)2.2 判断题(3、5、6、7、9)2.3 填空题(1、3、4、5、7)2.6 2.8 2.9 2.12 2.13 2.16第3章 数据处理(一)本章学习目标本章以数据在计算机中的表示介绍数制、数值编码和字符编码、以数据在汇编语言中的表达熟悉常量定义、变量应用以及常用伪指令,以数据在处理器中的处理展开ia-32处理器数据传送和算术逻辑运算等基本指令,并通过示例程序掌握指令功能和编程应用。(二)本章学习重点和考试要求掌握二进制、十六进制及其与十进制相互转换。理解定点整数及无符号数、有符号数(补码)的概念和表达,掌握求补运算。熟悉bcd(压缩bcd和非压缩bcd)、ascii码及其编码规律。掌握汇编语言各种常量表达方法,理解字符、字符串的实质。掌握变量定义(byte、word、dword和qword)的方法(包括?和dup操作符),理解字节、字、双字和4字类型,以及变量存储形式(包括多字节数据的小端、大端存储方式),熟悉变量的地址和类型属性,掌握常用地址(、$、offset)和类型操作符(ptr、lengthof、sizeof)的使用。掌握基本指令的功能及其应用:mov,xchg,push,pop,加法指令,减法指令,逻辑运算指令,移位指令。熟悉常见指令的功能:xlat,lea,mul,imul,div,idiv,movzx,movsx。理解常见语法错误、空操作指令nop、堆栈操作、加减和逻辑运算指令对状态标志的影响、零位扩展和符号扩展的意义。(三)本章学习指导本章学习课时:16本章是汇编语言部分的重点,因为常量表达、变量表达、处理器指令构成了汇编语言的基本语句。虽然指令很多,但注意重点掌握基本指令。这些指令是处理器指令系统的核心指令,也是后续章节主要使用的指令。指令的学习过程中,大家应该如下4个方面: 指令的功能该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式。 指令支持的寻址方式该指令中的操作数可以采用何种寻址方式。 指令对标志的影响该指令执行后是否对各个标志位有影响,以及如何影响。 其他方面该指令其他需要特别注意的地方,如指令执行时的约定设置、必须预置的参数、隐含使用的寄存器等。(四)本章练习题说明:如下练习题均来自本课程配套教材,这里仅给出题号,请对照教材练习。3.1 简答题(1、2、3、8、9)3.2 判断题(2、4、6、8、9)3.3 填空题(2、3、5、6、8)3.7 3.10 3.12 3.14 3.15 3.20 3.23 3.30第4章 汇编语言程序设计(一)本章学习目标本章以程序结构为主线,先掌握基本的控制转移指令,然后引出分支程序结构、循环程序结构和子程序结构,同时结合数码转换、字符串处理、键盘输入和显示输出等大量示例程序,掌握汇编语言程序设计方法。(二)本章学习重点和考试要求理解目标地址的转移范围(短转移short、段内近转移near和段间远转移far)和寻址方式(相对寻址、直接寻址、间接寻址),掌握无条件转移指令jmp。掌握条件转移指令jcc的功能和正确应用,理解条件和状态标志的关系,明确无符号和有符号数据大小的比较问题。理解汇编语言的单分支、双分支结构,掌握其编程。掌握循环指令loop、jecxz的功能和应用,理解计数控制循环和条件控制循环结构,掌握其编程。掌握子程序指令call、ret的功能和应用,理解利用堆栈实现返回的方法,掌握过程调用伪指令proc/endp及子程序编程。熟悉子程序设计过程中,寄存器保护、堆栈平衡、参数传递等常见问题,掌握寄存器传递参数的编程,熟悉共享变量和堆栈传递参数的方法。了解子程序模块(public、private)、子程序库、库文件包含(includelib)、宏汇编(macro/endm)、源文件包含(include)的作用。熟悉常见编程问题:数组运算,大小写转换,奇偶校验;字符或数据个数统计,求最小值、最大值;二进制、十六进制数据相互转换,二进制、十六进制数据的键盘输入和显示输出(利用字符串输入和显示功能编程实现)。(三)本章学习指导本章学习课时:14提醒大家注意通过阅读、记忆常见编程问题的汇编语言程序片断,复习前一章的核心内容,并掌握汇编语言的程序设计。利用汇编语言进行程序设计的方法,与采用高级语言类似,如下是程序设计的一般步骤: 分析题意,确定算法; 根据算法,画出程序流程图; 参照流程图,编写源程序; 编辑源程序文件,汇编连接生成可执行程序; 运行程序。(四)本章练习题说明:如下练习题均来自本课程配套教材,这里仅给出题号,请对照教材练习。4.1 简答题(1、2、3、4、7)4.2 判断题(2、3、4、6、8)4.3 填空题(2、3、5、7、9)4.6 4.8 4.11 4.12 4.13 4.22 4.25 4.29第5章 微机总线(一)本章学习目标本章展开微型机总线结构,介绍总线类型、数据传输、信号时序等总线基本技术,以16位8086和32位pentium为例学习处理器引脚信号和操作时序,以16位isa、32位pci和usb总线为例,学习系统总线和外设总线。(二)本章学习重点和考试要求理解单向和双向总线、并行和串行总线、芯片总线、内总线(系统总线)、外总线的概念。理解总线特点,以及总线操作、总线仲裁、同步方式、传输类型、总线性能概念。掌握总线带宽的计算方法。从信号功能、信号流向、有效方式、三态能力等方面,掌握8086的地址数据引脚和读写控制引脚,了解中断请求和响应、总线请求和响应、复位信号的作用,理解信号的分时复用、4种基本总线操作。掌握指令周期、总线周期、时钟周期、t状态的概念。熟悉8086的写总线周期和读总线周期时序,掌握各个t状态的操作特点,理解就绪引脚和等待状态的作用。熟悉pentium处理器的数据、地址和读写控制信号以及基本总线周期和猝发读总线周期。了解pc机总线发展,isa总线、pci总线和usb总线的特点。(三)本章学习指导本章学习课时:8本章概念较多,应在理解的基础上逐渐熟悉和掌握。(四)本章练习题说明:如下练习题均来自本课程配套教材,这里仅给出题号,请对照教材练习。5.1 简答题(1、3、4、5、7)5.2 判断题(2、3、4、6、7)5.3 填空题(2、3、4、5、10)5.4 5.5 5.6 5.8 5.10 5.11第6章 存储系统(一)本章学习目标本章以存储层次结构中的主存储器为主体,学习各种半导体存储器的类型、特点、地址译码,介绍cache的工作原理、存储管理的分段和分页机制。(二)本章学习重点和考试要求理解存储系统的层次结构,掌握存储容量、存取速度和局部性原理。熟悉读写存储器芯片的主要类型和各自特点,掌握sram的存储结构和引脚,理解dram的引脚特点和刷新方法。熟悉只读存储器芯片的主要类型和各自特点。理解地址译码、门电路译码和138译码器,掌握地址译码和地址范围之间的关系,熟悉全译码和部分译码的特点。了解8086和pentium存储结构,掌握地址对齐的概念和作用。(三)本章学习指导本章学习课时:8(四)本章练习题说明:如下练习题均来自本课程配套教材,这里仅给出题号,请对照教材练习。6.1 简答题(1、2、6、7、8)6.2 判断题(1、2、5、6、8)6.3 填空题(3、4、5、6、7)6.5 6.6 6.8 6.9第7章 输入输出接口(一)本章学习目标本章在熟悉i/o接口的特点、编址和指令基础上,结合i/o接口电路展开微型机与外设进行无条件传送、查询传送、中断传送和dma传送的原理,并详细介绍了处理器的中断机制和编程方法。(二)本章学习重点和考试要求从内部结构的3类寄存器、外部特性的两侧信号、基本功能的数据缓冲和信号变换、可编程性方面,理解i/o接口典型结构特点。掌握i/o端口的两种编址方式及特点。掌握ia-32处理器的输入输出指令功能及应用,理解i/o保护(i/o敏感指令)的意义。理解dos平台的汇编语言编程特点。熟悉无条件传送方式,掌握开关输入、led输出的电路和编程,理解i/o地址的读写特点。掌握查询传送方式的特点和编程。熟悉中断传送的工作过程,理解中断类型、中断请求和响应、关中断和开中断、断点保护、现场保护和恢复、中断服务、中断源识别(中断向量、查询识别)、中断优先权排队、中断嵌套等概念。熟悉ia-32处理器主要中断类型(除法错异常、溢出异常、非屏蔽中断、可屏蔽中断及其响应控制),理解ia-32处理器的中断响应过程、中断向量表(中断描述符表)的作用和结构。理解dma传送方式的特点和过程。(三)本章学习指导本章学习课时:14本章和下一章是本课程的有一个重点章节,引出输入输出接口的诸多原理。由于概念较多,再次提醒大家应在理解的基础上逐渐熟悉和掌握。(四)本章练习题说明:如下练习题均来自本课程配套教材,这里仅给出题号,请对照教材练习。7.1 简答题(1、2、3、8、10)7.2 判断题(4、5、6、7、8)7.3 填空题(2、3、6、7、9)7.7 7.8 7.9 7.12 7.14 7.18“微机原理及接口技术”上机任务“微机原理及接口技术”是一门实践性很强的课程。实践内容主要包含两方面:汇编语言程序设计的软件上机和i/o接口应用的硬件实验。本上机任务以普通32位pc机为唯一硬件条件,以汇编语言贯穿始终,即使是有关i/o接口也安排有通过pc机编程实验的实践内容。教材从构建开发环境开始就可以安排上机实践的任务,随着课堂教学的展开,逐渐进行开发环境的熟悉、masm开发方法的练习、开发过程的熟练掌握、库文件开发以及小型项目的组织,并随着微机接口软件编程或硬件实验进行应用,直到最后结束。上机任务所述的习题和例题均来自本课程配套教材,习题例题的详细内容请参看教材。上机任务1 数据寻址 熟悉进入和退出32位控制台和16位dos环境的方法。 创建masm目录、复制开发软件,生成进入开发环境的快捷方式。 熟悉汇编语言的开发过程,实现教材例题2-1程序。 掌握数据寻址方式,上机实现教材中的例题2-2程序。上机任务2 数据表达熟悉汇编语言中的数据表达、变量定义和属性,验证教材例题3-1、例题3-3、例题3-5程序,实现习题3.14程序。上机任务3 数据处理 掌握常用传送和运算指令,验证例题3-9和例题3-12程序。 首先判断习题3.20每条指令执行后eax的数值和相关标志状态,写出结果。然后将其编辑成为一个完整的汇编语言源程序,汇编连接、生成可执行文件。可以利用本书配套的i/o子程序库,在每条指令之后,调用其中的disprf(先调用)和disphd,显示6个状态标志位和eax内容,并核对事先判断的结果。上机任务4 位操作 掌握位操作类指令的应用,验证例题3-14程序,实现习题3.28程序。 理解串操作指令,验证例题3-16程序。上机任务5 分支程序设计 掌握转移指令和分支程序结构。验证例题4-3程序,实现习题4.5程序。 验证例题4-7程序,实现习题4.11程序。上机任务6 循环程序设计 掌握循环指令和循环程序结构。验证例题4-12程序,实现习题4.13程序。 验证例题4-10程序。实现如下程序:进行自然数相加(123n);如果(无符号整数的)累加和用一个32位寄存器存储,求出有效累加和的最大值及n的界限。上机任务7 子程序设计 掌握子程序指令和子程序结构。验证例题4-15程序,实现习题4.29程序。 熟悉子程序的参数传递和子程序库方法。验证例题4-18程序,然后分别使用子程序模块、子程序库和子程序库包含方法生成最终可执行文件。上机任务8 dos应用程序掌握16位dos应用程序的编写。验证例题7-1和例题7-2程序,实现习题7.22程序。考试模拟题一、单项选择题(10分)1. 微机系统中各个功能部件通过_相互连接。a 处理器b 存储器c 系统总线d i/o接口2. 堆栈的操作原则是_。a 循环b 先进先出c 后进后出d 后进先出3. 微机中每个存储单元具有一个地址,其中存放一个_量。a 比特(1位) b 字节(8位) c 字(16位) d 双字(32位)4. masm中,下列符号作为标识符中_是不合语法的。a wangb movc f8d ab35. 8253计数器引脚out的作用是_。a 指示计数过程结束b 启动计数过程c 控制计数过程d 输入时钟信号二、对错判断题(10分)1. 总线具有共用的特点,某一时刻可由多个总线主控设备来控制总线。( )2. 读取sram某个存储单元的内容后,该存储单元的内容就为空。( )3. dram必须定时刷新,否则所存信息就会丢失。( )4. 处理器并不直接连接外设,而是通过i/o接口电路与外设连接。( )5. dma传送时,交换的数据要进入dma控制器。( )三、填空题(10分)1. dma的意思是_,主要用于高速外设和主存间的数据传送。2. 存储结构为8k8位的eprom芯片2764,共有_个地址引脚。用它组成64kb的rom存储区共需_片芯片。3. ia-32处理器执行指令in是将数据从_传输到_。四、问答题(30分)1. 写出ia-32处理器8个32位通用寄存器的名称、8086处理器支持的8个16位通用寄存器名称、以及其中4个寄存器又可分成的8个8位通用寄存器的名称。2. 说明标志zf的含义,何时为0,何时为1?3. 处理器有哪4种最基本的总线操作(周期)?处理器8086有3个基本读写引脚:m/io*、wr*和rd*(其中*号表示低电平有效),说明它们在进行这4种基本总线操作时的高低电平状态。4. 解释中断概念:中断识别、中断优先权、中断嵌套。5. 简述高性能存储系统的层次结构及各层存储部件的特点。五、程序阅读题(20分)1. 下段程序执行后,eax_,ebx_ mov eax,1357ahadd eax,10hsub ebx,ebx2. 如下程序段将eax和ebx中有符号数的较大值存放在dmax变量中,请补充完整:cmp eax,ebx_ next_next:mov dmax,eax六、程序设计题(20分)1. 以下5个小题,请分别用一条语句完成其要求。 将45h,0f000h,89h存放在32位变量xyz的存储单元中。 将寄存器edx内容与4578h相加,和存入edx。 为buffer变量预留100个字节存储单元。 将寄存器esi最低位清0,其他位不变。 将堆栈顶部数据弹出,传送给edi寄存器。2. 数据段保存有如下字符串:stringbyte do not give up!,0;以0结尾的字符串请在代码段,编写统计字符串中字符个数的程序片断(不包括结尾标志0)。“微机原理及接口技术”练习题参考解答第1章 微型计算机系统概述1.1 简答题(1、2、8、9、10) 处理器每个单位时间可以处理的二进制数据位数称计算机字长。 总线信号分成三组,分别是数据总线、地址总线和控制总线。 masm是微软开发的宏汇编程序。 指令的处理过程。处理器的“取指译码执行周期” 是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 机器语言层,即指令集结构。1.2 判断题(1、3、5、7、10) 错 对 对 错 错1.3 填空题(2、3、4、5、6) 1mb,4gb 216,64kb exe,com instruction set architecture 目录1.5通用微处理器:适合较广的应用领域的微处理器,例如装在pc机、笔记本电脑、工作站、服务器上的微处理器。单片机:是指通常用于控制领域的微处理器芯片,其内部除cpu外还集成了计算机的其他一些主要部件,只需配上少量的外部电路和设备,就可以构成具体的应用系统。dsp芯片:称数字信号处理器,也是一种微控制器,其更适合处理高速的数字信号,内部集成有高速乘法器,能够进行快速乘法和加法运算。嵌入式系统:利用微控制器、数字信号处理器或通用微处理器,结合具体应用构成的控制系统。1.7助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作码,该符号称为指令助记符。汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。汇编程序:汇编语言源程序要翻译成机器语言程序才可以由处理器执行。这个翻译的过程称为“汇编”,完成汇编工作的程序就是汇编程序(assembler)。1.8路径:操作系统以目录形式管理磁盘上的文件,文件所在的分区和目录就是该文件的路径。绝对路径:从根目录到文件所在目录的完整路径称为“绝对路径”。是保证文件唯一性的标示方法。相对路径:从系统当前目录到文件所在目录的路径称为相对路径。当前目录:用户当前所在的目录就是当前目录。指明的路径不正确,或者执行了另外一个同名的文件。1.10采用二进制形式表示数据和指令。指令由操作码和地址码组成。将程序和数据存放在存储器中,计算机在工作时从存储器取出指令加以执行,自动完成计算任务。这就是“存储程序”和“程序控制”(简称存储程序控制)的概念。指令的执行是顺序的,即一般按照指令在存储器中存放的顺序执行,程序分支由转移指令实现。计算机由存储器、运算器、控制器、输入设备和输出设备五大基本部件组成,并规定了5部分的基本功能。1.14高级语言与具体的计算机硬件无关,其表达方式接近于所描述的问题,易为人们接受和掌握,用高级语言编写程序要比低级语言容易得多,并大大简化了程序的编制和调试,使编程效率得到大幅度的提高。而汇编语言是为了便于理解与记忆,将机器指令用助记符代替而形成的一种语言。汇编语言的语句通常与机器指令对应,因此,汇编语言与具体的计算机有关,属于低级语言。它比机器语言直观,容易理解和记忆,用汇编语言编写的程序也比机器语言易阅读、易排错。机器语言的每一条机器指令都是二进制形式的指令代码,计算机硬件可以直接识别。高级语言程序通常也需要翻译成汇编语言程序,再进一步翻译成机器语言代码。第2章 处理器结构2.1 简答题(2、5、6、7、9) 取指是指从主存取出指令代码通过总线传输到处理器内部指令寄存器的过程。8086分成总线接口单元和指令执行单元,可以独立操作。在执行单元执行一条指令的同时,总线接口单元可以读取下一条指令,等到执行时不需要进行取指了,所以称为预取。 标志寄存器主要保存反映指令执行结果和控制指令执行形式的有关状态。 执行了一条加法指令后,发现zf1,表明运算结果为0。 没有。 不会。2.2 判断题(3、5、6、7、9) 对 错 对 对 对2.3 填空题(1、3、4、5、7) 32,dx,dh 段地址,偏移地址,eip,ip 00100110,0 73c00h,73800h 实地址,64kb2.6标志:用于反映指令执行结果或控制指令执行形式的一个或多个二进制数位。例如,有些指令执行后会影响有关标志位;有些指令的执行要利用相关标志。状态标志:用来记录程序运行结果的状态信息。控制标志:df标志,控制字符串操作的地址方向。系统标志:用于控制处理器执行指令的方式。状态标志在标志寄存器eflags中的位置和含义如下: 3111109876543210ofsfzfafpfcf2.8物理地址:在处理器地址总线上输出的地址称为物理地址。每个存储单元有一个唯一的物理地址。逻辑地址:在处理器内部、程序员编程时采用逻辑地址,采用“段地址:偏移地址“形式。某个存储单元可以有多个逻辑地址,即处于不同起点的逻辑段中,但其物理地址是唯一的。逻辑地址转换成物理地址:逻辑地址由处理器在输出之前转换为物理地址。将逻辑地址中的段地址左移二进制4位(对应16进制是一位,即乘以16),加上偏移地址就得到20位物理地址。 ffffh:0ffff0h 40h:17h00417h 2000h:4500h24500h b821h:4567hbc777h2.9ia-32处理器有代码段、数据段、堆栈段三类基本段。代码段:存放程序的指令代码。程序的指令代码必须安排在代码段,否则将无法正常执行。数据段:存放当前运行程序所用的数据。程序中的数据默认是存放在数据段,也可以存放在其他逻辑段中。堆栈段:主存中堆栈所在的区域。程序使用的堆栈一定在堆栈段。2.12汇编语句有两种:执行性语句(处理器指令)、说明性语句(伪指令)。每个语句有:标号、指令助记符、操作数或参数、注释4个部分组成。2.13汇编语言程序的开发有4个步骤:编辑:用文本编辑器形成一个以asm为扩展名的源程序文件。汇编:用汇编程序将asm文件转换为obj模块文件。连接:用连接程序将一个或多个目标文件链接成一个exe或com可执行文件。调试:用调试程序排除错误,生成正确的可执行文件。2.16 立即数 直接 寄存器 寄存器间接 寄存器相对 寄存器相对 基址变址 相对基址变址 相对基址变址 带比例寻址第3章 数据处理3.1 简答题(1、2、3、8、9) 没有。使用二进制8位表达无符号整数,257没有对应的编码。 字符“f”的ascii码就是数值46h,所以没有区别。 汇编程序在汇编过程中对数值表达式计算,得到一个确定的数值,故称数值表达式为常量。 大小写字母转换利用它们的ascii码相差20h。 加减法不区别无符号数和有符号数,但根据运算结果分别设置标志寄存器的cf和of标志,可利用cf和of进行区别。3.2 判断题(2、4、6、8、9) 对 错 对 错 对3.3 填空题(2、3、5、6、8) 97,61,小写字母a 0dh(13),0ah(10) dword,4,word ptr xyz 3 0,0,03.7 00000000 01111111 10000001 110001113.10my1bbyte personal computermy2bbyte 20my3bbyte 14hmy4bbyte 00010100bmy5wword 20 dup(?)my6c= 100my7cequ 3.1241 42 43 0a 10 45 46 ff 00 04 04 04 ff 00 04 04 04 ff 00 04 04 0410 00 fb ff 00 00 00 00 00 003.14include io32.inc.datatablebyte |0 1 2 3 4 5 6 7 8 9 a b c d e f,13,10byte -+-,13,10byte 20 |,20h,20h,21h,20h,22h,20h,23h,20h,24h,20h,25h,20h,26h,20h,27h, 20h,28h,20h,29h,20h,2ah,20h,2bh,20h,2ch,20h,2dh,20h,2eh,20h,2fh,20h,13,10byte 30 |,30h,20h,31h,20h,32h,20h,33h,20h,34h,20h,35h,20h,36h,20h,37h, 20h,38h,20h,39h,20h,3ah,20h,3bh,20h,3ch,20h,3dh,20h,3eh,20h,3fh,20h,13,10byte 40 |,40h,20h,41h,20h,42h,20h,43h,20h,44h,20h,45h,20h,46h,20h,47h, 20h,48h,20h,49h,20h,4ah,20h,4bh,20h,4ch,20h,4dh,20h,4eh,20h,4fh,20h,13,10byte 50 |,50h,20h,51h,20h,52h,20h,53h,20h,54h,20h,55h,20h,56h,20h,57h, 20h,58h,20h,59h,20h,5ah,20h,5bh,20h,5ch,20h,5dh,20h,5eh,20h,5fh,20h,13,10byte 60 |,60h,20h,61h,20h,62h,20h,63h,20h,64h,20h,65h,20h,66h,20h,67h, 20h,68h,20h,69h,20h,6ah,20h,6bh,20h,6ch,20h,6dh,20h,6eh,20h,6fh,20h,13,10byte 70 |,70h,20h,71h,20h,72h,20h,73h,20h,74h,20h,75h,20h,76h,20h, 77h,20h,78h,20h,79h,20h,7ah,20h,7bh,20h,7ch,20h,7dh,20h,7eh,20h,7fh,20h,13,10byte 0.codestart:mov eax,offset tablecall dispmsgexit 0end start3.15小端方式采用“低对低、高对高”,即低字节数据存放在低地址存储单元、高字节数据存放在高地址存储单元。以字节为单位按地址从低到高的顺序,var变量的内容:78h、56h、34h、12h。; eax12345678h; bx5678h; cx1234h; dl78h; dh12h3.20(1); eax80h; eax83h,cf0,sf0; eax103h,cf0,of0; eax106h,cf0,zf0(2); eax100; eax300,cf0(3); eax100; eax44,cf1(包含256的进位含义:25644300)(4); al7fh; al77h,cf0,sf0; alf7h,cf1,of1; alf3h,cf0,zf03.23(1); esi9ch; esi80h; esiffh; esi01h(2); eax1010b(可以有前导0,下同); eax0010b,cf1; eax0100b,cf0; eax0000b,cf0(3); eax1011b(可以有前导0,下同); eax101100b,cf0; eax10110b,cf0; eax10111b,cf0(4); eax0,cf0,of0; zf1,sf0,pf13.30显示结果:welldoneebx寄存器相对寻址:mov al,msgebxmov msgebx,al第4章 汇编语言程序设计4.1 简答题(1、2、3、4、7) 当同一个程序被操作系统安排到不同的存储区域执行时,指令间的位移没有改变,目标地址采用相对寻址可方便操作系统的灵活调度。 数据通信时,数据的某一位用做传输数据的奇偶校验位,数据中包括校验位在内的“1”的个数恒为奇数,就是奇校验;恒为偶数,就是偶校验。 无符号数和有符号数的操作影响两组不同的标志状态位,故判断两个无符号数和有符号数的大小关系要利用不同的标志位组合,所以有对应的两组指令。 双分支结构中两个分支体之间的jmp指令,用于实现结束前一个分支回到共同的出口作用。 “传值”是传递参数的一个拷贝,被调用程序改变这个参数不影响调用程序;“传址”时,被调用程序可能修改通过地址引用的变量内容。4.2 判断题(2、3、4、6、8) 错 错 错 对 错4.3 填空题(2、3、5、7、9) 1256h,3280h 3721h,1 循环初始,循环控制 test endp,endm public,extern4.6cf1 zf0 sf1 of0 pf1可以使得条件成立、发生转移的指令有:jc js jp jnz jno4.8; 数据段rdatabyte 57h;保存接收的数据errorbyte error !,0; 代码段mov al,rdataand al,0ffh;标志pf反映“1”的个数jp done;个数为偶数,正确继续mov eax,offset error;个数为奇数,显示出错call dispmsgdone:4.11; 数据段inmsgbyte input number(09): ,0ermsgbyte 0dh,0ah,error! input again: ,0; 代码段mov eax,offset inmsg; 提示输入数字call dispmsgagain:call readc; 等待按键cmp al,0; 数字 9?ja erdispcall dispcrlfcall dispcjmp doneerdisp:mov eax,offset ermsgcall dispmsgjmp againdone:4.12求这20个双字的和,保存在total变量,不关进心进位和溢出。4.13; 数据段stringbyte do you have fun with assembly ?,0;以0结尾的字符串spacedword ?; 代码段mov esi,offset stringxor ebx,ebx;ebx用于记录空格数again:mov al,esicmp al,0jz donecmp al,20h;空格的ascii码是20hjne next;不相等、不是空格,转移inc ebx;相等、是空格,空格个数加1next:inc esijmp again;继续循环done:mov space,ebx;保存结果4.22; 代码段,主程序mov eax,8f98ff00hcall dispbd; 调用子程序; 代码段,子程序dispbdproc; 32位二进制数的输出push ecxpush edxmov ecx,32; 要输出的字符个数dbd:rol eax,1; al循环左移一位push eaxand al,01h; 取al最低位add al,30h; 转化成相应的ascll码值call dispc; 以二进制的形式显示pop eaxloop dbdpop edxpop ecxretdispbdendp4.25; 计算字节校验和的通用过程; 入口参数:ds:ebx数组的段地址:偏移地址,ecx=元素个数; 出口参数:al校验和; 说明:除eax/ebx/ecx外,不影响其他寄存器checksumprocxor al,al; 累加器清0sum:add al,ebx; 求和inc ebx; 指向下一个字节loop sumretchecksumendp4.29include io32.inc.datavarbyte this is a test!.codestart:; 主程序mov eax,offset varmov ecx,sizeof varcall dispmemexit 0; 子程序dispmemprocpush ebxmov ebx,eaxdispm1:mov al,ebxcall disphbmov al, call dispcinc ebxloop dispm1pop ebxretdispmemendpend start第5章 微机总线5.1 简答题(1、3、4、5、7) 数据总线承担着处理器与存储器、外设之间的数据交换,既可以输入也可以输出,故其是双向的。 具有三态能力的引脚当输出呈现高阻状态时,相当于连接了一个阻抗很高的外部器件,信号无法正常输出;即放弃对该引脚的控制,与其他部件断开连接。 处理器的运行速度远远快于存储器和i/o端口。处理器检测到存储器或i/o端口不能按基本的总线周期进行数据交换时,插入一个等待状态tw。等待状态实际上是一个保持总线信号状态不变的时钟周期。 猝发传送是处理器只提供首地址、但可以从后续连续的存储单元中读写多个数据。 异步时序是由总线握手(handshake)联络(应答)信号控制,不是由总线时钟控制。故总线时钟信号可有可无。5.2 判断题(2、3、4、6、7) 对 错 对 错 对5.3 填空题(2、3、4、5、10) 读,写 存储器读,存储器读,存储器写 4,2,10ns 低有效,0010 ,i/o ch rdy5.4存储器读、存储器写,i/o读、i/o写。5.5reset:复位输入信号,高电平有效。该引脚有效时,将迫使处理器回到其初始状态;转为无效时,cpu重新开始工作。hold:总线请求,是一个高电平有效的输入信号。该引脚有效时,表示其他总线主控设备向处理器申请使用原来由处理器控制的总线。nmi:不可屏蔽中断请求,是一个利用上升沿有效的输入信号。该引脚信号有效时,表示外界向cpu申请不可屏蔽中断。intr:可屏蔽中断请求,是一个高电平有效的输入信号。该引脚信号有效时,表示中断请求设备向处理器申请可屏蔽中断。5.6指令周期:一条指令从取指、译码到最终执行完成的过程。总线周期(机器周期):有数据交换的总线操作。时钟周期:处理器的基本工作节拍,由时钟信号产生,一个高电平和一个低电平为一个周期。题5.8图 具有一个tw的存储器读总线周期时序twt3t2t1输入数据a15a0clkad15ad0ale/s7, a19/s6a16/s3a19a06s7s0ready高阻t4高阻t状态:完成特定操作的一个时钟周期。由于时间上一个t状态等于一个时钟周期,所以常常将两者混为一谈。5.8clk:时钟输入。a19/s6a16/s3:地址/状态分时复用引脚。ad15ad0:地址/数据分时复用引脚。ale:地址锁存允许。:访问存储器或者i/o。:读控制。:写控制。5.10同步时序:总线操作的各个过程由共用的总线时钟信号控制。半同步时序:总线操作仍由共用的总线时钟信号控制,但慢速模块可以通过等待信号让快速模块等待。异步时序:总线操作需要握手(handshake)联络(应答)信号控制,总线时钟信号可有可无。5.11(328)(28)16mbps第6章 存储器系统6.1 简答题(1、2、6、7、8) 因为各种存储器件在容量、速度和价格方面存在矛盾。速度快,则单位价格高;容量大,单位价格低,但存取速度慢。故存储系统不能采用一种存储器件。 cache中复制着主存的部分内容。当处理器试图读取主存的某个字时,cache控制器首先检查cache中是否已包含有这个字。若有,则处理器直接读取cache,这种情况称为高速命中;若无,则称为高速缺失。 存取时间是指从

温馨提示

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

评论

0/150

提交评论