版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京交通大学远程与继续教育学院——远程学习自学指导书PAGEPAGE82现代远程教育学习指导书微机原理及应用北京交通大学远程与继续教育学院目录TOC\o"1-2"\h\z\u第一部分说明 -3-I.如何使用学习指导书 -3-Ⅱ.如何利用各种学习资源 -4-一、课程介绍与性质 -6-二、本课程的地位和作用 -6-三、学习目的与要求 -7-四、本课程的学习方法 -7-第二部分课程学习指导 -8-第1章微型计算机基础知识 -9-第2章8086/8088微型计算机系统结构 -13-第3章指令系统 -17-第4章汇编语言程序设计 -22-第5章8086微处理器结构 -31-第6章半导体存储器 -36-第7章中断 -40-第8章微型计算机的I/O接口技术 -45-第9章串行信接口及应用 -52-第10章总线 -58-第11章系统扩展接口设计 -62-第12章数/模、模/数转换器的接口设计 -67-第三部分建议自学进度表 -72-
第一部分说明I.如何使用学习指导书亲爱的同学,很高兴你选择学习指导书作为你的学习伙伴。对于“学习指导书”这个名称你或许感到很陌生,没关系,让我们一起来了解她可以给你带来哪些帮助。在网络学习的过程中,你一定有很多疑惑:没有了传统的课堂、没有了黑板、没有了教师的督促,学习有了很大的自由度,一时不知如何自学,不知如何复习;虽然知道“学习”很重要,但忙碌的工作、繁重的家务占据了大部分时间;有时惰性也干扰了学习……所有这些,相信是每个远程学习者都会遇到的困难。工作、家人、学习一样都不能少,但是学习没有捷径,如何高效地学习呢?别着急,学习指导书会给你提供帮助。我们的任课老师,根据自己多年的教学经验,编写了这本“学习指导书”,他们用通俗易懂的语言,提炼课程知识,告诉你哪些是重点、哪些是难点,并通过多样的学习活动,帮助你轻松掌握课程内容。这本书就像是辅导教师的化身,她能够指导你高效地学习,让你发现学习其实是一件很容易的事。学院提供的学习资料已经非常丰富了,很多资料还没有看过,现又多了一本书,是不是又增加了负担?有了学习指导书是不是就可以不用看其他的学习资料了?不是的,学习指导书不但没有增加你的负担,还会教你如何将其他学习资料有机地利用起来,帮助你提高学习效率,有效地利用时间。切记:仅有一本学习指导书并不能解决所有的学习问题,你需要跟随书中所讲的去做,利用周围的学习资源,这样才能事半功倍。为了更好地使用学习指导书,请你仔细阅读这本书的主要内容。1.1如何利用各种学习资源这里,老师向你介绍了各类学习资料及其使用方法:如何学习教材和课程;如何查找学科专业资源;如何安排自己的学习时间等等。1.2欢迎学习本课程这部分主要介绍课程性质与地位、课程的主要要求、学习计划与时间的安排等。明确提出“学习目标和要求”,让你对自己的学习有一个清楚的、层次性的把握。有利于你在学习前树立目标,学习后自行检查学习效果。1.3课程内容学习指导这部分内容是学习指导书的精髓。辅导教师在认真钻研课程内容的基础上,结合自己的教学经验,对课程内容进行了提炼,通过【知识框架】、【学习目标】、【学习要求】、【案例分析】、【自测题】以及一些简单可行的学习活动,帮助你快速领会和掌握重要知识点。对照【知识框架】你可以快速领会本章的知识结构与各结构间的相互关系。【学习目标】明确告诉你每章需要掌握的重要知识及掌握的程度。【学习要求】是对一章重要知识点的要求与具体分析,有助于你对内容的理解。教师还布置一些简单学习任务,你一定不能忽视这些任务,按照书中的要求去做,在完成任务的同时,你已经掌握了这些知识——学习其实就这么简单。【案例分析】紧扣教材,对教材中的案例给予案例的讲解,帮助你理解和检验自己的分析是否正确。【自测题】是根据课程内容精心设计的练习题,帮助你巩固所学的知识。如果你不看书就能轻松完成,就奖励一下自己。如果有的题目答不出来,也不要紧,查查书,写出正确答案。1.4如何准备考试学习效果是通过考试来检验的,如何把自己所学的知识在考场上发挥得淋漓尽致,顺利通过考试,是每个学生都关心的。这部分内容将重点指导你如何进行考试复习。其他参考资源在“其他参考资源”中,老师还为你提供相关的参考书目、网络资源信息、相关学科的权威学者介绍等,以拓展大家的课程知识。赶快开始阅读吧,让你的学习更加轻松,更加高效!Ⅱ.如何利用各种学习资源为了给你的远程学习带来更大的方便,帮助你了解更多学科知识,学院提供了各种形式的学习材料和学习服务。在有限的学习时问里,你可能不会用到所有的资源,但是绝不能忽视它们的存在,并且认真了解每一类学习资料能够给你带来的帮助,以及如何获得这些帮助。所以你必须仔细阅读下面的内容,牢记在心,在需要的时候迅速找到它们。2.1可以随身携带的——纸介教材在远程学习中,纸介教材仍然起着很重要的作用。它可以随身携带,可以在地铁里、公交车上拿出来阅读,还可以在需要的地方做笔记。可以说纸介教材是最方便的学习材料,这也是我们编写纸介学习指导书的一个主要目的。学院提供的纸介教材和学习指导书与下面讲到的网络课程是紧密结合、相辅相成的。对于提供学习指导书的课程,你可以在学习指导书的指引下学习教材和网络课程,这样可以为你节省很多时间;没有提供学习指导书的课程,你可以以网络课程为主,以教材为辅来进行自学。通过以下途径可以获得纸介教材:在每次网上选课时订购教材;如果错过选课时间,可以和学院的学习支持联系咨询购买事宜;有些已毕业的学生会以低价转让教材,这是一个省钱的渠道,你可以多留意学院论坛上的帖子。2.2虚拟的课堂——网络课程远程学习虽然没有师生共处的教室,但集学习栏目和交互功能为一体的网络课程是属于你一个人的虚拟课堂。和传统学习一样,网络课程学习也是课程学习的重要环节。网络课程的学习时间在整门课程的学习时间里要占到60%~70%。在网络课程中,你可以聆听著名高校优秀教师的讲授,可以通过自测栏目检验自己的学习效果,可以在【课程论坛】里进行师生交流。基于对成本的考虑,网络课程的主要学习栏目被刻录成了光盘。你可以在选课之后,到当地教学服务中心领取学院为你提供的免费课程光盘,这样,在不上网的条件下,也可以进行课程学习。关于网络课程及光盘的使用方法,可以查看《学生手册》。在本书中提到的“课件”、“课程光盘”含义同“网络课程”。2.3在线学习服务——辅导教师在传统教学中,每门课程会有一位教师为你进行讲授。而你现在所进行的网络课程学习过程中,除了你在网络课程中看到的主讲教师进行课程讲授外,还有一位教师在幕后为你提供在线学习服务,这位幕后教师就是辅导教师。辅导教师主要通过网络进行学习指导,答疑解惑。他们凭借扎实的专业知识、丰富的教学经验,以及对远程教学的深刻理解,耐心地引导你如何更好地进行课程学习,如何顺利完成学业。通过以下的说明,你可以基本理解学习平台的基本状况:本课程学习主要形式:以学生自学教材、课件为主,辅以导学辅导讲授,配合网上课程讨论、疑难答疑进行。1、导学:【课程开始会发布〈课程总导学〉,每阶段均会发布1个〈阶段导学〉和4个〈周导学〉,希望大家仔细阅读】课程开始时,阅读〈课程总导学〉大致浏览教学课件【光盘或“课程学习”(平台)】和教材,整体了解课程学习内容和安排;每一阶段开始时,按照〈阶段导学〉整体了解本阶段学习安排、学习重点难点等;每一周开始时,按照〈周导学〉详细要求,观看课件和教材进行本周的学习,并完成指定作业和实验;2、学习材料:课件【光盘课件或者“课程学习”(平台)】、教材;3、问题解答:学习过程中遇到的问题,请发布到“课程答疑”(平台),教师将尽快解答;4、问题讨论:学习过程中遇到的问题需要和同学进行讨论,请发布到“课程论坛”(平台);5、作业提交:作业请在“离线作业”和“在线作业”(平台)中查看和提交;6、课程通知:课程的有关通知请及时进入“课程通知”(平台)中查看;2.4身边的服务一服务中心面授辅导既然选择了网络学习,这种学习方式就要求你必须具有较强的自学能力,因此学院原则上不举办面授,一般会在学期末,组织一次网上课程的实时串讲,你可以在线对老师进行提问。如果你错过了串讲的时间,还可以进行点播重新观看。你可以根据自己的实际情况决定是否参加。如果你有此要求,要关注平台的串讲通知,或者咨询学院的学习支持,以免错过机会。2.5随时随地的支持服务除了上面提到的这些学习资源和服务,你还可以通过以下方式获得帮助:校园——学院网站学院的网站就是你的校园,你每周至少要登录学院主页/,采用统一分配的用户名与密码登陆网站学习。伙伴——热心同学你的同学遍布全国各地,有上万人与你共同进行网络的学习。课程学习平台、网院课程论坛是学院人气最旺的BBS,既有学习资料的共享,也有学习经验的交流。参加到同学们当中去,既可以帮助你解决学习上的问题,也能克服你在学习上的孤独感。短信服务短信是学院为同学们提供的工具,借助它,你可以知道学院各方面的最新信息,及时参加学院的各项活动。如果你的手机号码有变更,一定要记得上网更新你的联络方式,以免错过重要通知。热线电话51686776当你在学习过程中遇到困难或不知所措时,别忘了拨51686776,和蔼可亲的学习支持老师们会为你提供帮助。一、课程介绍与性质《微机原理及应用》是铁道通信信号专业的一门专业基础课程。本课程的教学任务是主要讲述微型计算机原理、汇编语言和接口技术,包括微型计算机基础知识、8086/8088微型计算机系统结构、指令系统、汇编语言程序设计、8086微处理器结构、半导体存储器、中断、微型计算机的I/O接口技术、串行通信接口及应用、总线、系统扩展接口设计、数/模与模/数转换的接口设计及微型计算机应用系统设计等内容,把微型计算机的硬件和软件结合在一起,使学生能够通过学习原理、汇编语言和接口,特别是精选实例,掌握软件控制硬件的过程,提高学生微机开发应用的能力,让学生在二十一世纪高速发展的信息时代面前,有较强的适应和开拓能力,为工作过程中应用微型计算机打下坚实的基础。二、本课程的地位和作用计算机技术在铁路信号的各个领域的广泛应用,促进了铁路信号技术的大发展,信号技术和产品正经历由传统的继电逻辑、模拟电路、分散孤立的控制模式向数字化、网络化、智能化和综合化发展的升级换代的历史转变。可以毫不夸张地说,计算机技术正在重塑信息时代的铁路信号。没有计算机技术和信号控制技术的融合,就没有中国铁路信号的现代化。调度监督与调度集中方面、运输调度指挥管理系统、驼峰自动化与编组站综合自动化方面、车站联锁方面、自动闭塞与超速防护系统方面、信号微机监测方面以及计轴、25周轨道电路、道口信号设备等方面无一例外地都应用了计算机技术。计算机在铁路信号中的应用将会伴随着科学技术的进步更加普及,这必将带动我国铁路信号整体技术水平的提高,促进铁路信号在提速、重载、安全、扩能、提效中发挥更大的作用。《微机原理及应用》作为铁道通信信号专业的一门专业基础课程,具有举足轻重的作用。它是学生学习部分专业课程、完成毕业设计的重要技术基础课程。本课程的前修课程有《电工基础》、《模拟电子技术》、《数字电子技术》、《计算机应用基础》等,后续课程有《铁路信号基础》、《区间信号自动控制》、《车站信号自动控制》、《铁道信号运营基础》等专业课程。三、学习目的与要求微机原理与接口技术是一门应用性、实践性很强的的专业基础课。开设本课程的目的在于使学生掌握计算机硬、软件技术的基本知识和基本方法,培养学生的计算机理论与实践相结合的能力,培养学生利用计算机硬、软件技术解决实际问题的基本思路和技巧。通过本课程的学习,使学生能以微处理器、总线、接口、通道和管理程序为主线索,正确建立微型计算机系统的整体概念,理解硬软件间的辩证关系,并了解微机系统及接口技术的最新发展。具体需要掌握:CPU和基本接口的结构和工作原理;存贮器和接口芯片的正确、合理选用,基本的接口电路设计,基本指令和汇编语言程序设计,并根据不同要求确定和分析系统尤其是实时系统的硬软件结构、初步了解如何设计监控(管理)程序来统一管理系统硬软件资源。四、本课程的学习方法《微机原理及应用》是一门与硬件设备关系密切的课程。学习本课程,既要学习计算机硬件的工作原理,又要掌握汇编语言的软件编程技术,而汇编语言程序设计与高级语言程序设计在思维上有一定的差别,学习起来具有一定的难度,对于一个初学者来说是一个倍感棘手的问题。为了学好本课程,要具有正确的学习目的和积极认真的学习态度,按照本指导书的要求,循序渐进、由浅入深地按计划学习每个章节,培养自学能力;在自学时要运用已有的知识来自学新的内容,从中发现教材中的疑点、难点;要抓住基本概念、基本理论,要熟悉和掌握微型计算机系统的功能、特点和应用,以及构成系统的硬件设备的相关知识。教材中的典型案例程序,应反复演练、对比,吃透、搞懂,逐步提高应用能力。最后要做好布置的作业。通过相应的思考题可以巩固和加深对所学内容的理解,并培养分析能力和综合应用能力,所以应按要求完成布置的作业题。解题前,要对所学内容基本掌握;解题时,要看懂题意,结合实际情况进行分析。除学习规定教材外,应参阅相关的参考书,努力培养自己刻苦专研、严谨求实的学习态度。
第二部分课程学习指导初学《微机原理及应用》时,你可能感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,你会发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。本课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。学习过程中,你会发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念。在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我个人理解,汇编语言可以直接操纵计算机底层的硬件,如CPU、存储器、各类端口等,而在某些时候,这种方法是最有效,最可靠的。然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。汇编语言对学习其他计算机编程语言起到一个比较、对照、参考的促进作用。学习汇编语言实际上是培养了学习计算机语言的能力和素养。本课程内容繁多,除了以上内容,还要学习可编程的计数/定时器8253,可编程的外围接口芯片8255A,可编程中断控制器8259A等。学的这些都是芯片逻辑器件,“可编程”说明其核心作用不可低估。还有就是,在学习中要考虑到“学以致用”,不能过分强调课程的系统性和基本理论的完整性,而应该侧重于基本方法和应用实例。从微机应用系统的应用环境和特点来看,微机系统如何与千变万化的外部设备、外部世界相连,如何与它们交换信息,是微机系统应用中的关键所在,培养一定的微机应用系统的分析能力和初步设计能力才是最终目的。第1章微型计算机基础知识(一)自学内容1.微型计算机的发展概况2.微型计算机数制及其转换3.微型计算机中数的表示方法(二)学习时间安排1.自学(3小时):教材中第1章的内容(1.5小时),课件的第1章内容(1.5小时)2.作业(1.5小时):完成自测习题和复习思考题(详见课件第1章学习指导)。(三)本章重点1.微型计算机数制及其转换2.机器数及其真值3.微型计算机中数的表示方法(四)本章难点1.补码的概念及求补方法2.补码的运算规则及溢出判断(五)本章考点1.微型计算机的发展2.数制及其转换3.数的表示方法(六)学习指导本章从计算机的产生和发展开始,对微型计算机的基本知识、硬件结构、系统组成、数制及其转换、数值数据的表示、常用编码等各类知识做了相应概述。计算机经历了四个发展历程:第一代电子管计算机、第二代晶体管计算机、第三代中小型规模集成电路计算机、第四代超大规模集成电路计算机。微型计算机是指以大规模、超大规模集成电路的微处理器为核心,配以存储器、输入输出接口电路及系统总线所构造出的计算机系统。计算机从应用的角度分为以下几类:服务器、工作站、台式机、笔记本、手持设备等。计算机主要应用领域:科学计算、事务处理、过程控制、辅助工程、人工智能、网络应用。计算机系统由硬件和软件组成。软件可分为系统软件和应用软件两部分。软件编程语言有机器语言、汇编语言和高级语言三种。计算机中的数据可采用二、十、十六进制数等表示,各类数制间能相互转换并有一定的规律,在机器内部分无符号数和带符号数的表示、定点数和浮点数的表示,此外还有二进制编码等。熟悉各类数制之间的转换规律,理解无符号数和带符号数的表示方法,掌握ASCII码、DCD码以及奇偶校验码等的应用。通过本章学习,可为后续内容的学习打下良好基础。(七)案例解析详见本章文字教材中的举例。(八)自测习题与作业1.第1章各节知识点习题:详见各讲习题测试及本章思考题2.自测习题一、选择题1.1946年2月,在美国诞生了世界上第一台计算机,它的名字叫()。A.EDVACB.EDSACC.ENIACD.UNIVAC-I【答案】C2.微机的性能主要取决于()。 A.CPUB.主存储器C.硬盘D.显示器【答案】A3.计算机中带符号数的表示通常采用()。 A.原码B.反码C.补码D.BCD码【答案】C4.采用补码表示的8位二进制数真值范围是()。 A.-127~+127B.-127~+128C.-128~+127D.-128~+128【答案】C5.大写字母“B”的ASCII码是()。 A.41HB.42HC.61HD.62H【答案】B6.某数在计算机中用压缩BCD码表示为10010011,其真值为()。 A.10010011BB.93HC.93D.147【答案】C7.通常所说的32位机,是指这种计算机的CPU()。A.由32个运算器组成的B.能够同时处理32位二进制数C.包含32个寄存器D.一共有32个运算器和控制器【答案】B二、填空题1.计算机中的数据可分为()两类,前者的作用是();后者的作用是()。【答案】数值型和非数值型;表示数值大小,进行算术运算等处理操作;表示字符编码,在计算机中描述某种特定的信息2.机器数是指符号()了的()数。【答案】数值(码)化;二进制三、判断题(正确为“T”,错误为“F”)1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。 ()【答案】T2.计算机中数据的表示范围不受计算机字长的限制。 ()【答案】F3.第五代计算机的体积进一步缩小,性能进一步提高,发展了并行技术和多机系统,出现了精简指令集计算机RISC。()【答案】F4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。 ()【答案】F5.在计算机内部可直接运行二进制数、十进制数、十六进制数。()【答案】F四、简答题1.计算机的发展经历了哪些阶段?【答案】计算机的发展经历了5个重要阶段,即大型机阶段、小型机阶段、微型机阶段、客户机/服务器阶段、互联网阶段。这5个阶段不是串接式的取代关系,而是并行式的共存关系。2.简述微处理器的发展概况,从集成度、性能等方面比较各代处理器的特点。【答案】微型计算机的发展从1971年Intel公司首先研制成功的4位Intel4004微处理器算起,已经走过了30多年的历史,经历了如下几个阶段的演变:第一代处理器为4位或低档8位,采用PMOS工艺,集成度低,运算功能较差,速度较慢,语言主要以机器语言或简单的汇编语言为主。第二代处理器为中高档8位,采用NMOS工艺,集成度比第一代提高4倍左右,运算速度提高10~15倍,采用机器语言,汇编语言或高级语言,后期配有操作系统。第三代处理器为16位,采用HMOS工艺,集成度比第二代提高一个数量级,运算速度比第二代提高一个数量级,采用汇编语言、高级语言并配有软件系统。第四代处理器为高性能的16位机和32位机,采用HMOS或CMOS工艺,集成度在100万晶体管/片以上,运算速度再次提高,部分软件硬化。3.计算机软件分为几个层次?【答案】计算机系统是由硬件和软件组成。软件由程序和相关文档组成。软件是用户与计算机硬件系统之间的桥梁.它使用户能使用井充分发挥计算机的性能。软件可分为系统软件和应用软伴两部分,系统软件是为解决用户使用计算机而编写的程序,如操作系统、编译程序、汇编程序、监控程序、诊断程序等。应用软件是为解决特定问题而编制的程序,如程序包、数据库、窗口软件等。在所有的软件中操作系统是紧梭着硬件的第一层软件,是对硬件功能的首次扩充,其它软件则是建立在操作系统之上的。硬件功能通过操作系统得到扩充,井在操作系统的统一曾理和支持下运行各种软件。五、数制转换题1.将下列十进制数分别转换为二进制数、十六进制数和压缩BCD码。(1)25.82【答案】11001.1101B;19.DH;(00100101.10000010)BCD(2)412.15【答案】110011100.0010B;19C.2H;(040000010010.00010101)BCD(3)513.46【答案】1000000001.0111B;201.7H;(010100010011.01000110)BCD(4)69.136【答案】01000101.0010B;45.2H;(01011001.000100110110)BCD2.将下列二进制数分别转换为十进制数和十六进制数。(1)111001.101【答案】57.625D;39.AH(2)110010.1101【答案】50.8125D;32.DH(3)1011.11011【答案】11.84375D;B.D8H(4)101101.0111【答案】45.4375D;2D.7H3.写出下列十进制数的原码、反码、补码表示(采用8位二进制数)。(1)96【答案】[96]原=01100000;[96]反=01100000;[96]补=01100000(2)31【答案】[31]原=00011111;[31]反=00011111;[31]补=00011111(3)-42【答案】[-42]原=10101010;[-42]反=11010101;[-42]补=11010110(4)-115【答案】[-115]原=11110011;[-115]反=10001100;[-115]补=100011014.已知下列补码,求其原值的十进制表示。(1)92H【答案】-110D(2)8DH【答案】-115D(3)B2H【答案】-78D(4)4C26H【答案】+19494D5.已知x=-0.01111,y=+0.11001,求[x]补,[-x]补,[y]补,[-y]补,x+y=?,x–y=?【答案】[x]原=1.01111[x]补=1.10001所以:[-x]补=0.01111[y]原=0.11001[y]补=0.11001所以:[-y]补=1.00111[x]补11.10001[x]补11.10001+[y]补00.11001+[-y]补11.00111[x+y]补00.01010[x–y]补10.11000所以:x+y=+0.01010因为符号位相异,结果发生溢出6.已知:x=0.1011,y=-0.0101求:[x]补,[x]补,[-x]补,[y]补,[y]补,[-y]补。【答案】[x]补=0.1011,[y]补=1.1011[x]补=0.01011,[x]补=1.11011[x]补=0.001011,[x]补=1.111011[-x]补=1.0101,[-x]补=0.0101第2章8086/8088微型计算机系统结构(一)自学内容1.微型计算机系统组成原理2.8086的编程结构3.存储器的使用及堆栈(二)学习时间安排1.自学(3小时):教材中第2章的内容(1.5小时),课件的第2章内容(1.5小时)2.作业(1.5小时):完成自测习题和复习思考题(详见课件第2章学习指导)。(三)本章重点1.微型计算机的基本工作原理2.8086CPU内部机构3.存储器的使用4.堆栈的用途及使用(四)本章难点1.8086寄存器结构、标志寄存器2.存储器的分段、段寄存器的使用3.堆栈的使用(五)本章考点1.微型计算机的基本工作原理2.8086CPU内部机构3.存储器的使用4.堆栈的用途及使用(六)学习指导本章主要内容包括:微型计算机系统组成原理、8086的编程结构、存储器的使用以及堆栈等内容。冯•依曼型计算机的基本工作原理可分为程序存储和程序控制。在物理结构上,计算机由运算器、控制器、存储器以及输入设备和输出设备组成。运算器和控制器通常做在1块电路芯片上,称为中央处理器,简称CPU。微型计算机是在微处理器的控制下自动进行工作的,而微处理器发出控制的依据则是用户的程序指令。程序执行实质上是CPU不断地取指令和执行指令的过程。自动执行的关键是依赖程序计数器PC。CPU按功能可分为两部分:总线接口单元BIU、执行单元EU。CPU内部寄存器分为通用寄存器、段寄存器和控制寄存器三类。通用寄存器用途比较广泛,一般用在算术和逻辑运算指令中,用来存放算术运算的源/目的操作数,通用寄存器共8个,包括数据寄存器4个,指针寄存器2个和变址寄存器2个。段寄存器有4个,是专用寄存器,用在存储器访问时存放段的基址。控制寄存器有指令指针寄存器和标志寄存器。存储器采用分段的方法管理,存储单元的逻辑地址可用“段寄存器名:偏移量”来表示。堆栈是内存的一个逻辑段,当这个段被指定为堆栈后,可用堆栈操作指令对它进行特殊规则的访问。通过本章学习,可为后续内容的学习打下良好基础。(七)案例解析详见本章文字教材中的举例。(八)自测习题与作业1.第2章各节知识点习题:详见各讲习题测试及本章思考题2.自测习题一、选择题1.计算机硬件中最核心的部件是()。 A.运算器B.主存储器C.CPUD.输入/输出设备【答案】C2.在EU中起数据加工与处理作用的功能部件是()。 A.ALUB.数据暂存器C.数据寄存器D.EU控制电路【答案】A3.以下不属于BIU中的功能部件是()。 A.地址加法器B.地址寄存器C.段寄存器D.指令队列缓冲器【答案】B4.堆栈操作中用于指示栈顶地址的寄存器是()。 A.SSB.SPC.BPD.CS【答案】B5.指令指针寄存器(IP)中存放的内容是()。 A.指令B.指令地址C.操作数D.操作数地址【答案】B6.8086系统可访问的内存空间范围是()。 A.0000H~FFFFHB.00000H~FFFFFHC.0~216D.0~220【答案】B二、填空题1.8086的内部结构由()和()组成,前者功能是(),后者功能是()操作_。【答案】EU;BIU;执行指令;总线2.8086取指令时,会选取()作为段基值,再加上由()提供的偏移地址形成20位物理地址。【答案】CS;IP3.8086的标志寄存器共有()个标志位,分为()个()标志位和()个()标志位。【答案】9;6;状态;3;控制4.8086为访问1MB内存空间,将存储器进行()管理;其()地址是唯一的;偏移地址是指();逻辑地址常用于()中。【答案】分段;物理;相对段基地址的偏移量;程序5.逻辑地址为1000H:0230H时,其物理地址是(),段地址是(),偏移量是()。【答案】10230H;1000H;0230H三、判断题(正确为“T”,错误为“F”)1.IP中存放的是正在执行的指令偏移地址。 ()【答案】F2.从内存单元偶地址开始存放的数据称为规则字。 ()【答案】T3.EU执行算术和逻辑运算后的结果特征可由控制标志位反映出来。 ()【答案】F四、简答题1.8086微处理器中的指令队列起什么作用?其长度是多少字节(6个字节)?【答案】BIU将指令机器码取到指令队列缓冲器中,而与此同时EU可以从指令队列缓冲器中取出已有指令进行执行,这样使得取指令和执行指令可以同时进行。这种并行处理技术极大提高了8086的程序执行速度。指令队列长度是6个字节。2.8086微机系统中存储器为什么要分段?各逻辑段之间的关系如何?【答案】8086系统内的地址寄存器均是16位,只能寻址64KB;将1MB存储器分成逻辑段,每段不超过64KB空间,以便CPU操作,各逻辑段之间的关系可重叠、交叉、紧密连接和分离。五、分析题1.有一个由10个字组成的数据区,其起始地址为1200H:0120H。试写出该数据区的首末存储单元的实际地址【答案】首地址:12000H+0120H=12120H末地址:12120H+10*2-1=12133H2.若一个程序段开始执行之前,(CS)=33A0H,(IP)=0130H,试问该程序段启动执行指令的实际地址是什么?【答案】33A00H+0130H=33B30H3.有两个16位的字31DAH和5E7FH,它们在8086系统存储器中的地址分别为00130H和00134H,试画出它们的存储示意图。【答案】地址存储空间00130H0DAH00131H31H00134H7FH00135H5EH第3章指令系统(一)自学内容1.寻址方式2.数据传送指令3.算术运算指令4.逻辑运算和移位指令5.转移指令6.字符串操作指令7.处理器控制、输入输出和中断指令(二)学习时间安排1.自学(10小时):教材中第3章的内容(5小时),课件的第3章内容(5小时)2.作业(2小时):完成自测习题和复习思考题(详见课件第3章学习指导)。(三)本章重点1.寻址方式2.指令系统(四)本章难点1.存储器操作数的寻址方式2.条件转移指令、字符串操作指令、输入输出指令(五)本章考点1.7种寻址方式2.数据传送指令3.算术运算指令4.逻辑运算和移位指令5.转移指令6.字符串操作指令7.处理器控制、输入输出和中断指令(六)学习指导指令系统是表征一台计算机性能的重要因素,它决定了计算机的基本功能。指令系统的格式和功能不仅直接影响到机器的硬件结构,而且也直接影响到系统软件和机器的适用范围。因此,学习指令系统不仅是学习汇编语言的重要内容而且也是理解机器基本功能以及进行接口程序设计的重要基础。本章针对8086/8088寻址方式和指令系统分别介绍了基本概念和各类指令的使用。微处理器指令按照操作数的设置可分为隐含操作数指令、单操作数指令和双操作数指令3种;按操作数的存放位置有立即数、寄存器操作数、存储器操作数和输入/输出端口操作数4种类型。指令通常并不直接给出操作数,而是给出操作数的存放地址。寻找操作数地址的方式称为寻址方式。8086有立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址和相对基址变址7种基本寻址方式,要明确各种寻址方式的区别和特点,重点掌握存储器寻址方式中的有效地址和物理地址的计算方法。指令系统是程序设计的基础,按功能分为数据传送指令、算术运算指令、逻辑运算指令、移位指令、转移指令、字符串操作指令、处理器控制指令、输入输出指令以及中断指令等。在学习这些指令时,应当从指令的功能、操作数的个数、源操作数与目的操作数可以采用的寻址方式及是否影响标志位等几方面加以理解,为汇编语言的学习提供基础。(七)案例解析详见本章文字教材中的举例。(八)自测习题与作业1.第3章各节知识点习题:详见各讲习题测试及本章思考题2.自测习题一、选择题1.寄存器间接寻址方式中,要寻找的操作数位于()中。 A.通用寄存器B.内存单元C.段寄存器D.堆栈【答案】B2.下列指令中正确的是()。 A.MOVAL,BXB.MOVCS,AXC.MOVAL,CLD.MOV[BX],[SI]【答案】C3.下列指令中错误的是()。 A.MOVAX,1234HB.INCBXC.SRLAX,2D.PUSHDX【答案】C4.设(SP)=1010H,执行POPAX后,SP中的内容为()。 A.1011HB.1012HC.1OOEHD.100FH【答案】B5.给定(AL)=80H,(CL)=02H,指令SHRAL,CL执行后的结果是()。 A.(AL)=40HB.(AL)=20HC.(AL)=C0HD.(AL)=E0H【答案】B6.将AX清零并使CF位清零,下面指令错误的是()。 A.SUBAX,BXB.XORAX,AXC.MOVAX,0(不影响FR)D.ANDAX,0OOOH【答案】A二、填空题1.计算机指令通常由()和()两部分组成;指令对数据操作时,按照数据的存放位置可分为()。【答案】操作码字段;操作数字段;立即数、寄存器操作数、存储器操作数2.寻址的含义是指();8086指令系统的寻址方式中寻址速度最快的是()。【答案】寻找操作数的过程;立即数寻址3.指令MOVAX,ES:[BX+O1OOH]中,源操作数位于();读取的是()段的存储单元内容。【答案】物理地址为ES*10H+BX+0100H的存储单元;附加数据ES4.堆栈是一个特殊的(),其操作是以()为单位按照()原则来处理;采用()指向栈顶地址,入栈时地址变化为()。【答案】存储器区域;2字节单元;先进后出;SP;SP<=(SP)-2三、问答题1.8086系统中,当对SS和SP寄存器的值进行修改时,有什么特殊规定?这样做的原因是什么?【答案】凡是遇到给SS寄存器赋值的传送指令时,系统会自动禁止外部中断,等到本条指令和下条指令执行之后,又自动恢复对SS寄存器赋值前的中断开放情况。这样做是为了允许程序员连续用两条指令分别对SS和SP寄存器赋值,同时又防止堆栈空间变动过程中出现中断。2.用乘法指令时,特别要注意先判断用有符号数乘法指令还是用无符号数乘法指令,这是为什么?【答案】用乘法指令时,特别要注意先判断用有符号数乘法指令还是用无符号数乘法指令,是因为在执行乘法运算时,要想使无符号数相乘得到正确的结果,有符号数相乘时,就得不到正确的结果;要想使有符号数相乘得到正确的结果,无符号数相乘时,就得不到正确的结果。四、分析计算题1.指出如下指令中源操作数和目的操作数的寻址方式:(1)MOVAX,100H(2)MOVCX,AX(3)ADD[SI],1000(4)SUBBX,[SI+100](5)MOV[BX+300],AX(6)ANDBP,[DI]【答案】源操作数目的操作数(1)MOVAX,100H立即数寄存器(2)MOVCX,AX寄存器寄存器(3)ADD[SI],1000立即数寄存器间接(4)SUBBX,[SI+100]变址寄存器(5)MOV[BX+300],AX寄存器变址(6)ANDBP,[DI]寄存器间接寄存器2.分析如下指令的正误,对错误指令说明出错误原因并加以收正:(1)MOV[1200],23H(2)MOV1020H,CX(3)MOV[1000H],[2000H](4)MOVIP,O00H(5)PUSHAL(6)OUTCX,AL(7)INAL,[80H](8)MOVCL,3300H【答案】(1)MOV[1200],23H;未指明数据类型MOVBYTEPTR[1200],23H(2)MOV1020H,CX;立即数不能作为目标操作数MOV[1020H],CX(3)MOV[1000H],[2000H];两操作数不能均是内存单元MOVBYTEPTR[1000H],2000H(4)MOVIP,000H;IP不能在MOV指令中出现JMP000H(5)PUSHAL;操作数必须是16位PUSHAX(6)OUTCX,AL;CX不能作为端口地址的间接访问寄存器OUTDX,AL(7)INAL,[80H];直接端口地址写法错误INAL,80H(8)MOVCL,3300H;两操作数的数据类型不一致MOVCX,3300H3.给定(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(2010lH)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H。试分析如下指令执行后,AX寄存器中的内容:(1)MOVAX,12O0H(2)MOVAX,BX(3)MOVAX,[1200H](4)MOVAX,[BX](5)MOVAX,1100H[BX](6)MOVAX,[BX+SI](7)MOVAX,[11OOH+BX+SI]【答案】(1)(AX)=1200H(2)(AX)=0100H(3)(AX)=4C2AH(4)(AX)=3412H(5)(AX)=4C2AH(6)(AX)=7856H(7)(AX)=65B7H4.已知(AX)=75A4H,CF=1,分别写出如下指令执行后的结果:(1)ADDAX,08FFH(2)INCAX(3)SUBAX,4455H(4)ANDAX,OFFFH(5)ORAX,0101H(6)SARAX,1(7)RORAX,1(8)ADCAX,5【答案】(1)(AX)=7EA3HCF=0(2)(AX)=75A5HCF=1(3)(AX)=314FHCF=0(4)(AX)=05A4H(5)(AX)=75A5HCF=0(6)(AX)=3AD2HCF=0(7)(AX)=3AD2HCF=0(8)(AX)=75AAHCF=05.给定(SS)=8000H,(SP)=2000H,(AX)=7A6CH,(DX)=3158H。执行如下程序段,画出每条指令执行后寄存器的内容和堆栈存储内容的变化情况:PUSHAXPUSHDXPOPBXPOPCX【答案】PUSHAX;(AX)=7A6CH,(SP)=1FFEH,(81FFEH)=7A6CHPUSHDX;(DX)=3158H,(SP)=1FFCH,(81FFCH)=3158HPOPBX;(BX)=3158H,(SP)=1FFEHPOPCX;(CX)=7A6CH,(SP)=2000H6.试分析如下程序段执行完后,BX的内容。MOVBX,1030HMOVCL,3SHLBX,CLDECBX【答案】程序段执行完后,BX的内容:817FHMOVBX,1030H;(BX)=1030HMOVCL,3;(CL)=3SHLBX,CL;(BX)=8180HDECBX;(BX)=817FH第4章汇编语言程序设计(一)自学内容1.汇编语言程序设计概述2.汇编语言语句3.伪指令系统4.汇编语言程序结构及顺序程序设计5.分支程序设计6.循环程序设计7.子程序设计及DOS/BIOS功能调用(二)学习时间安排1.自学(10小时):教材中第4章的内容(5小时),课件的第4章内容(5小时)2.作业(5小时):完成自测习题和复习思考题(详见课件第4章学习指导)。(三)本章重点1.机器语言和汇编语言、汇编与连接的概念2.汇编语言的语句格式、指令语句中的运算符和操作符3.伪指令系统4.汇编语言程序的结构5.基本结构程序设计6.DOS/BIOS功能调用(四)本章难点1.汇编与连接的概念2.指令语句中的运算符和操作符3.数据定义伪指令、段定义伪指令、过程定义伪指令4.分支程序设计、循环程序设计、子程序设计(五)本章考点1.机器语言和汇编语言、汇编与连接的概念2.汇编语言的语句格式、指令语句中的运算符和操作符3.伪指令使用4.汇编语言程序的结构5.基本结构程序设计6.DOS/BIOS功能调用(六)学习指导在汇编语言的学习中,程序设计对于一个初学者来说是一个倍感棘手的问题。当学习了相关的原理知识及指令系统后,就希望能运用学到的知识解决实际的问题。这就需要通过程序设计来完成。学习程序设计应从基本知识和基本方法入手,逐步深入。本章主要讲述:汇编语言基本概念、汇编语言语句、伪指令系统、汇编语言程序的结构、基本结构程序设计、DOS/BIOS功能调用等内容,使大家能掌握程序设计的方法,提高对汇编语言的运用能力,并掌握相关的一些重要算法,为将来灵活地运用汇编语言解决更实用、更复杂的问题做好必要的准备。汇编语言是面向机器的程序设计语言,它使用指令助记符、符号地址及标号编制程序,要熟悉汇编语言源程序的基本格式,正确运用语句格式来书写程序段,掌握伪指令的功能和应用,并通过上机操作,熟悉编辑程序、汇编程序、连接程序和调试程序等软件工具的使用,掌握源程序的建立、汇编、连接、运行、调试等技能。汇编语言程序设计有3种基本的程序结构。顺序结构按照语句实现的先后次序执行一系列操作,是最简单的一种结构;分支结构是程序设计中常用的结构之一,有双分支和多分支两种形式;循环结构用来实现需要重复执行的操作,通常由循环初始化、循环体部分、参数修改部分和循环控制部分共四部分组成。子程序设计是把多处用到的同一个程序段或者具有一定功能的程序段单独存放在某一存储区域中,需要执行的时候,使用调用指令转到这段程序来执行,执行完再返回原来的程序。这样做提高了程序段的利用率,也有利于模块化的程序设计和开发。熟悉各种程序的结构和编程技巧对汇编语言程序设计有着积极的促进作用。(七)案例解析详见本章文字教材中的举例。(八)自测习题与作业1.第4章各节知识点习题:详见各讲习题测试及本章思考题2.自测习题一、选择题1.汇编语言程序中可执行的指令位于()中。 A.数据段B.堆栈段C.代码段D.附加数据段【答案】C2.以下内容不是标号和变量属性的是()。 A.段属性B.地址属性C.偏移属性D.类型属性【答案】B3.DOS功能调用中采用屏幕显示单个字符,其值保存在()寄存器。 A.ALB.AHC.DLD.DH【答案】C4.DOS功能调用中,从键盘读取一个字符并回显的是()。 A.01HB.02HC.09HD.0AH【答案】A5.循环程序设计中,要考虑的核心问题是()。 A.循环的控制B.选择循环结构C.设置循环参数初始值D.修改循环控制参数【答案】D6.对于宏指令和子程序,下列说法不正确的是()。 A.宏指令不能简化目标程序B.子程序可以简化目标程序,但执行时间长C.子程序在执行过程中由CPU处理D.宏指令在执行时要保护和恢复现场【答案】D二、填空题1.汇编语言是一种面向()的程序设计语言,采用()表示操作码和操作数,用()表示操作数地址。【答案】CPU指令系统;指令助记符;符号地址2.机器指令是指发送给()的命令,在运行时由()执行;伪指令是发送给()的命令,在汇编过程中由()进行处理;宏指令是代表()。【答案】CPU;CPU;汇编程序;汇编程序;一段源程序3.子程序的基本结构包括子程序说明、()、()和()等几个部分;子程序的参数传递有()等方法。【答案】现场保护及恢复;子程序体;子程序返回;寄存器、堆栈、存储器三、判断题(正确为“T”,错误为“F”)1.伪指令是在汇编中用于管理和控制计算机相关功能的指令。 ()【答案】F2.程序中的“$”可指向下一个所能分配存储单元的偏移地址。 ()【答案】T3.宏指令的引入是为了增加汇编程序的功能。 ()【答案】T4.多重循环的内循环要完整地包含在外循环中,可嵌套和并列。 ()【答案】T5.子程序结构缩短了程序的长度,节省了程序的存储空间。 ()【答案】T四、简答题1.完整的汇编源程序应该由哪些逻辑段组成?各逻辑段的主要作用是什么?【答案】完整的汇编源程序由数据段、堆栈段、代码段等逻辑段组成。数据段用来存放数据变量及其预置初值;堆栈段用来保存中断和子程序的断点和参数传递;代码段用来存放程序执行的代码。2.简述在机器上建立、编辑、汇编、连接、运行、调试汇编语言源程序的过程和步骤。【答案】为源程序起一个有意义的文件名字,并创建成文本文件;在文本编辑软件EDIT.EXE环境下,输入和编辑源程序;通过汇编程序ASM.EXE或MASN.EXE,将源程序会变成机器语言目标程序.OBJ;运用连接程序LINK.EXE,将目标程序.OBJ连接生成执行程序.EXE;在DOS状态下,直接运行执行程序;运用调试程序DEBUG.EXE将执行程序跳入调试界面状态,并进行断点设置调试运行或单步调试运行操作。3.什么是伪指令?程序中经常使用的伪指令有哪些?简述其主要功能?【答案】伪指令是发送给汇编程序的命令。程序中经常使用的伪指令有数据定义、符号定义、段定义、过程定义、结构定义、模块定义与连接、程序计数器$和起点定义ORG。数据定义为变量及其类型分配存储单元,并赋予初值;符合定义给一个符号重新命名;段定义指定逻辑段的名称、范围、断的定位类型、组合类型和类别;过程定义为程序段定义成过程,并赋予过程名字,以便用CALL指令调用;结构定义用于相互关联的数据定义;模块定义与连接用NAME为源程序汇编后的目标程序指定模块名,以便连接该目标模块,并生成执行程序文件;$在汇编过程中,用于存储单元分配计数器,该计数器可在指令操作数表达式中引用;ORG为数据变量和程序段指定起始位置。4.子程序与宏指令在程序的使用中有何共性及不同特点?【答案】宏和子程序都可用来简化程序,并可使程序多次对它们调用。宏操作可直接传递和接收参数,不通过堆栈或其他媒介;子程序不能直接带参数,需有传递参数时,必须通过堆栈寄存器和存储器进行。宏调用只能简化源程序的书写,并没有缩短目标代码长度;子程序调用能缩短目标程序长度。应用好操作并不会在执行目标代码时增加额外的时间开销;子程序调用由于需要保护和恢复现场和断点,因而延长目标程序的执行时间。五、设计题1.编程实现求S=(X2+Y2)/Z的值,并将结果放人RESULT单元。【答案】DATASEGMENT;定义数据段XDW15YDW-32ZDW280RESULTDW2DUP(?);定义结果保存单元DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;初始化DSMOVDS,AXMOVAX,X;取出被乘数X存入AX中IMULX;执行X2操作MOVCX,AX;乘积的低位字转存至CXMOVBX,DX;乘积的高位字转存至BXMOVAX,Y;取出被乘数X存入AX中IMULY;执行Y2操作ADDAX,CX;X2+Y2的低位字与Z的低位字相加ADCDX,BX;X2+Y2的高位字相加IDIVZ;(X2+Y2)/ZMOVRESULT,AX;商存入RESULT单元MOVRESULT+2,DX;余数存入RESULT+2单元MOVAH,4CHINT21H;返回DOSCODEENDS;代码段结束ENDSTART;汇编结束2.编程序完成计算S=(A+B)/2-2(AANDB)。【答案】DATASEGMENT;定义数据段ADW15BDW-32SDW?RESULTDW2DUP(?);定义结果保存单元DATAENDS;数据段结束CODESEGMENT;定义代码段ASSUMECS:CODE,DS:DATASTART:MOVAX,DATA;初始化DSMOVDS,AXMOVAX,A;取出被乘数A存入AX中ADDAX,B;A+BSARAX,1;(A+B)/2MOVBX,AX;存入BX中MOVAX,A;取出被乘数A存入AX中ANDAX,B;AANDBSALAX,1;(AANDB)*2SUBBX,AX;(A+B)/2-2(AANDB)MOVS,BX ;存入S单元MOVAH,4CHINT21H;返回DOSCODEENDS;代码段结束ENDSTART;汇编结束3.试编程实现将内存中的若干个无符号字数据中的最大值和最小值找出来,并开辟独立的存储区域保存结果。【答案】DATASEGMENTARRDW123,456,67,0,34,90,89,67,0,256CNEQU($-ARR)/2ZDDW0;最大(数组中任何数均大于AX内容)ZXDW0FFFFH;最小(数组中任何数均小于BX内容)DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AX;初始化DSMOVSI,OFFSETARR;数组首地址送SIMOVCX,CN;数组元素个数送CXCALLQZDZXS;调用近过程QZDZXS(求最大最小数)MOVAH,4CHINT21H;返回DOS;求最大最小数子程序名:QZDZXS;子程序功能:求一组字数据中的最大最小数;入口参数:数组首地址在SI中,数组个数在CX中;出口参数:最大数在ZD中,最小数在ZX中;使用寄存器:CX、DX、SI及PSWQZDZXSPROCNEARPUSHSIPUSHDXPUSHCX;保护现场ZDZX0:MOVDX,[SI];取一个数组元素送DXCMPZD,DX;AX中内容和DX中内容比较JNBZDZX1;(ZD)>(DX),转ZDZX1MOVZD,DX;较大数存入ZDZDZX1:CMPZX,DX;AX中内容和DX中内容比较JNAZDZX2;(ZX)<(DX),转ZDZX1MOVZX,DX;较小数存入ZXZDZX2:ADDSI,2;数组指针加2调整LOOPZDZX0;循环控制POPCXPOPDXPOPSI;恢复现场RET;返回主程序QZDZXSENDP;子程序定义结束CODEENDS;代码段结束ENDSTART;汇编结束4.编写程序,计算如下函数的值:【答案】DATASEGMENTXDB15SDB?DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVAL,XTESTAL,80HJZLL0SALAL,1;2XJMPLL10LL0:CMPAL,10JGLL1MOVBL,ALSALAL,1;3XADDAL,BLJMPLL10LL1:SALAL,1;4XSALAL,1LL10:MOVS,ALMOVAH,4CHINT21H;返回DOSCODEENDSENDSTART;汇编结束5.从键盘输入一系列字符,以回车符结束,编写程序统计其中非数字字符的个数?【答案】DATASEGMENTNUMDB0;统计变量DATAENDSSTACKSEGMENTSTACK;定义堆栈段DB100DUP(?);开辟100个存储单元STACKENDS;堆栈段结束CODESEGMENT;定义代码段ASSUMECS:CODE,SS:STACK,DS:DATASTART:MOVAX,DATAMOVDS,AXLLL:MOVAH,01H;1号调用,从键盘输入一字符存入ALINT21HCMPAL,13;与“回车符”的ASCII码比较JZL2;是“回车符”,转L2(退出)CMPAL,30H;与“0”JBL1;低于“0”的非数字字符ASCII码,CMPAL,39H;与“9”JAL1;高于“9”的非数字字符ASCII码,JMPLLLL1:INCNUM;非数字字符,统计;计数增1。JMPLLL;转LLL(继续)L2:MOVDL,0AH;设置换行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度物业公司保安员夜间值班与休息合同
- 二零二五年度电梯井施工与电梯设备保养合同
- 2025年度幼儿园招生加盟与品牌转让合作协议
- 二零二五年度情感关系建立合同
- 二零二五年度2025年门面房租赁与社区配套服务合同
- 二零二五年度精装修公寓房购买与户外休闲设施使用合同3篇
- 二零二五版奶粉生产废弃物资源化利用服务合同范本页22篇
- 2025年度影视基地场地租赁合同及影视制作服务协议3篇
- 二零二五版电子商务SET协议安全风险评估与风险控制合同3篇
- 二零二五版淋浴房市场推广与广告投放合同3篇
- 2024山西广播电视台招聘专业技术岗位编制人员20人历年高频500题难、易错点模拟试题附带答案详解
- 新材料行业系列深度报告一:新材料行业研究框架
- 人教版小学英语各册单词表(带英标)
- 广东省潮州市潮安区2023-2024学年六年级上学期期末考试数学试题
- 乡村治理中正式制度与非正式制度的关系解析
- 智能护理:人工智能助力的医疗创新
- 国家中小学智慧教育平台培训专题讲座
- 5G+教育5G技术在智慧校园教育专网系统的应用
- VI设计辅助图形设计
- 浅谈小学劳动教育的开展与探究 论文
- 2023年全国4月高等教育自学考试管理学原理00054试题及答案新编
评论
0/150
提交评论