电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>课件下载>《计算机组成原理与汇编语言程序设计》复习指南

《计算机组成原理与汇编语言程序设计》复习指南

2008-10-22 | rar | 555 | 次下载 | 免费

资料介绍

《计算机组成原理与汇编语言程序设计》复习指南俸远祯  徐洁 

为了帮助同学们复习,本文首先阐明本课程的教学目标与考核说明,这是总复习的指导思想。在重点与难点的剖析中,则首先突出需熟练掌握的部分,然后再讨论一些需掌握、理解的概念和方法,其间插入一些典型题例。由于汇编语言程序设计有其自身的体系和特点,我们将它作为专门的一节讨论。

一、 教学目标与考核要求
    本课程的教学目标是:在学完本课后能建立起整机概念,它可分为两级:
(1) CPU级,它包含三个方面:CPU基本组成、指令流程、汇编语言级程序设计方法。
(2) 系统级,它包含两个方面:如何通过系统总线与接口将CPU、主存、I/O设备(含外存)连接成整机,对输入/输出的三种基本控制机制。
    相应地,考核也将紧紧围绕这一基本教学目标。一套规范的试卷应能体现出与整机概念相关的核心内容,如:CPU如何执行程序(指令流程),如何组成一个半导体存储器,总线与接口的基本组成,中断方式的定义、特点、应用、过程,DMA方式的定义、特点、应用、过程,同步控制与异步控制,阅读、分析程序段,用常用汇编语句编写程序段(教材例题和录像教学中使用的汇编语句基本上就属于常用的)等。
    教材在每章开头的“学习目标”中,分别用几种层次表明考核要求:①熟练掌握,这是重之重、必考内容,可能占有较大比重。②掌握。③理解。属于“了解”的内容一般不直接考核,即或涉及到一些,其比重也很小。
    试题类型大致分为:①单项选择题②多项选择题③改错题(原题均有错)。在这三种试题中都给出一些似是而非的提法或结论,要求考生能正确理解有关概念,能选择或给出正确的结论。注意,对改错题的改正并不是将原来的提法简单地颠倒就行的,也不要偏离题意。④简答题,要求正面回答、阐述。有时也要求对可比性概念进行比较分析,例如同步控制与异步控制、组合逻辑控制与微程序控制、中断与DMA等。⑤分析题,如阅读一段用汇编语言书写的程序段,然后回答问题。⑥设计题,如拟定指令流程、设计半导体存储器、编写程序段等。设计题通常是重点所在,请大家务必注意,本文也将重点分析。

二、 需熟练掌握的内容
    教材在三处采用了“熟练掌握”的提法:CPU基本组成与指令流程,用存储芯片构成某一容量的存储器,中断方式与DMA方式。这些知识点涉及到建立整机概念的核心问题:CPU如何执行指令,计算机如何存储信息,如何控制输入/输出。
1.CPU基本组成
    教材3.3.1节给出了一种简化的CPU内部组成模型,它是拟定指令流程的基础,大家应该记住它。在理解它的组成时需要抓住几点:
(1) ALU部件,以及它的输入与输出方式。
(2) 用于运算的一组寄存器R0~R3及暂存器C、D、Z。
(3) 用于控制的一组寄存器:指令寄存器IR,程序计数器PC,程序状态字寄存器PSW。
(4) 与访存相关的一组寄存器:存储器地址寄存器MAR,存储器数据寄存器MDR,堆栈指针SP。
(5) 内部总线的连接方式,如何向它发送信息,它又如何输出信息。
(6) CPU如何通过系统总线与主存、I/O设备相连接。
2.拟定指令流程
    指令流程体现了计算机工作原理中一个核心内容:CPU究竟怎样执行程序指令?大家务必要熟练掌握。考核方式一般是给出一条特定的指令,以模型机CPU内部组成为背景,用寄存器传送级语句描述其读取与执行流程。关键是要熟练掌握几种基本寻址方式的实现过程,分清谁是源地址、谁是目的地址,操作码是什么。
设计题:拟出指令MOV-(SP),x(R0)的读取与执行流程。
PC→MAR  取指令地址
M→MDR→IR,PC+1→PC  取指令
PC→MAR
M→MDR→D,PC+1→PC  取形式地址
D+R0→Z 变址计算
Z→MAR 送有效地址
M→MDR→C 读源操作数
SP-1→Z
Z→MAR、SP 修改栈顶地址
C→MDR
MDR→M   压栈
    本题的操作码MOV是一条传送指令,意味着从源地址读取一个操作数,送入目的地。按模型机指令格式,源寻址方式助记符x(R0)表明是采用变址方式,即:从紧跟现行指令的下一个存储单元中读取形式地址,送入暂存器D;变址寄存器R0的内容(变址量)与形式地址相加,获得有效地址,暂存在Z中;再按该有效地址从主存中读取源操作数,送入暂存器C。目的地寻址方式助记符-(SP)表明采用堆栈寻址方式,将源操作数压入堆栈;先修改堆栈指针SP,使它指向新栈顶(待存的空单元)。最后,将暂存于C中的源操作数经MDR送入主存(即压入堆栈)。
    采用了两种相对复杂一些的寻址方式,常用的寻址方式还有:寄存器寻址方式R、寄存器间址方式(R),自减型寄存器间址方式-(R),自增型寄存器间址(R)+,直接寻址方式DI等,大家务必要掌握。
3.存储器设计
    CPU加上主存,习惯上称为主机。在构建某个计算机应用系统中,常需自行设计半导体存储器,即用若干存储芯片构造一定容量的存储器。所以这是必须熟练掌握的核心内容。
设计题:用1K×4/片的存储芯片构成一个4KB存储器,地址总线A15~A0(低),数据总线D7~D0(低),R/W控制读写。请画出芯片级逻辑框图,注明各信号线,写出片选逻辑式。
    教材已经完整地讲解了设计方法与设计过程,本文在这里仅强调一些需要注意的地方。若本题的题分为10分,则评分标准往往是:芯片数量及其组合1分;芯片地址是哪几位,3分;片选逻辑,4分;数据线1分;读写控制1分。在完成设计并画出逻辑图后,应当从上述几方面检查一下。存储器逻辑的核心是寻址逻辑,因此芯片地址、片选逻辑这两项在评分标准中占有主要份量。为此需要掌握存储容量与相应地址位数之间的对应关系:1K容量需要10位地址,2K容量需要11位地址……。本题的地址分配关系如下:
不用片选芯片地址 A15? A14? A13? A12
片选地址 A11? A10
芯片地址 A9  A8  A7  A6  A5  A4  A3  A2  A1  A0
片选逻辑式:CS0=A11 A10?  CS1=A11 A10
            CS2=A11 A10?  CS3=A11 A10
4.中断方式
    为了将主机与I/O设备连接成一台计算机系统,需要通过系统总线与各种接口实现连接,还要能够选择实现三种基本的I/O控制机制之一。这是由CPU级发展到系统级整机概念的关键,其中有关中断方式和DMA方式的概念最为重要,也相对复杂些,因此被列为必须熟练掌握的核心内容之一。
(1) 定义:当CPU接到某个随机的中断请求信号后,暂停执行当前的程序,转去执行相应的中断处理程序,为该随机事态服务,服务完毕后自动返回并继续执行原程序。这一过程称为中断,采用这种方式控制I/O操作或处理随机事件,称为中断方式。
(2) 特点:通过执行程序处理,具有随机性。
(3) 应用:抽象地说,中断方式主要应用于管理中低速I/O操作、处理复杂的随机事件。具体的应用实例如:故障处理、中低速I/O控制、通信、实时处理、人机对话等。
(4) 中断过程:中断请求信号的产生与传送,屏蔽与判优,CPU响应(保存断点、转向中断处理程序入口),中断处理(执行处理程序),返回。(细节见教材)
(5) 向量中断:这是现代计算机广泛采用的一种获取中断处理程序入口的方式。事先将系统各个中断处理程序的入口地址作为中断向量,组织成一个中断向量表,存放在主存的特定区域中;当CPU响应中断请求并发出批准信号后,提出该请求的中断源(如某个中断接口)向CPU送出自己的向量编码(如中断类型码),CPU将它转换成向量地址;据此访问主存中的中断向量表,从中读取相应的中断处理程序入口地址,从而转去执行处理程序。
5.DMA方式
    作为三种I/O控制机制之一,DMA方式是一种重要的数据传送方式。
(1) 定义:DMA方式是直接依靠硬件实现主存与I/O设备之间数据直接传送的一种方式,在传送过程中不需CPU程序干预。
(2) 特点:直接依靠硬件实现数据传送(不是依靠执行程序),具有随机性。
(3) 应用:抽象地说,DMA方式适用于高速的简单数据批量传送。具体的应用实例如:读写磁盘、光盘、磁带等外存储器时的数据传送、网络通信、动态刷新等。
(4) 典型过程:一次完整的调用过程包含三个阶段:
A.DMA初始化。CPU执行初始化程序:预置DMA控制器的工作方式,并向它送出传送方向、
主存缓冲区首址、交换数据量等信息;向I/O设备接口送出读写命令、设备寻址信息,然后启动设备工作。
B.DMA传送。当需要传送时,接口向DMA控制器提出DMA请求,然后DMA控制器向CPU申请总线控制权,获得批准后由DMA控制器接管总线(送出总线地址和读写命令),接口和主存之间通过数据总线直接传送。
C.结束处理。批量传送结束后,接口向CPU提出中断请求,CPU执行中断处理程序进行结束处理。
简答题:何谓中断方式?举出两种应用实例。
简答题:比较并说明中断方式与DMA方式的主要异同。
改错题:DMA方式是直接依靠硬件实现主机与I/O设备之间的数据直传。
注意,主机包括CPU与主存,而DMA方式正是要绕过CPU。

三、 需要掌握、理解的内容(部分)
    虽然我们先突出了最重要的一些内容,但为了建立整机概念还需要全面复习教材。限于篇幅,本文只能对其中的部分重点与难点进行剖析,并给出一些题例,起到示范作用。注意,不能将本文视为考试范围,复习时一定要以考核大纲为准。
1.存储程序工作方式:事先编写程序,事先存储程序,自动连续执行程序。
2.计算机的特点。基于存储程序工作方式和数字化信息表示,计算机具有下述特点:能在
程序控制下自动连续地工作,运算速度快,运算精度高,具有很强的信息存储能力,通用性强。
3.数制转换
单选题:(195)10=(B)2
A.11001101     B.100111
C.1001101      D.110010101
4.码制转换
单选题:若X=-01100100,则X补=(D)
A.01100100     B.11100100
C.10011011     D.10011100
5.定、浮点数的表示范围、分辨率、典型值。关键是掌握它们的典型值,由此可知其表示范围和分辨率。
单选题:某定点整数16位,含1位符号位,补码表示,则所能表示的绝对值最大负数的十进制真值为(A)
A.-215?    B.-216?    C.-(215-1)    D.-(216-1)
6.I/O编址方法
    CPU访问I/O设备是通过接口中的寄存器进行的,目前广泛采用的有两种I/O编址方法:
(1) 单独编址。为I/O接口中的有关寄存器分配I/O端口地址,一般由地址总线若干低位提供I/O端口地址,从而选择某个接口寄存器进行读/写。
(2) 统一编址。将I/O接口中的有关寄存器与主存单元统一编址,一般将总线地址码中高端(地址值大)的一段区域分配给I/O端口。
7.运算部件的构成@
    运算分为算术运算与逻辑运算,算术运算以加法器为核心。多位全加器加上进位链构成并行加法器,加法器加上输入选择逻辑成为多功能的算术逻辑运算部件ALU,ALU加上移位逻辑可实现乘除运算,而浮点运算可分解为定点整数的阶码运算和定点小数的尾数运算。在简单的CPU中可能只有一个ALU和一个移位器,而复杂的CPU中可能包含多个、多种运算部件。
8.原码运算与补码运算
    简答题:指出原码运算与补码运算的主要区别。
    原码运算主要用于乘除法,取尾数(绝对值)运算,符号位单独处理;其绝对值运算又称为无符号数运算。补码运算包括加减乘除,其主要特点是符号位作为数的一部分直接参与运算,又称为带符号数运算。
9.组合逻辑控制器
    它通过组合逻辑电路产生微命令,产生微命令的输入信号有:指令代码(操作码、寻址方式码等),时序信号(工作周期、时钟周期、工作脉冲),程序状态(PSW中的标志位),外部请求等。输出为微命令(电位型、脉冲型)。优点:速度快。缺点:设计较凌乱,不易修改扩充。应用于快速CPU中。
10.微程序控制器
    简答题:简述微程序控制方式的基本思想
(1) 产生微命令的方法:将所需的微命令以代码形式编成若干条微指令,在制造CPU时将它们存入CPU内的一个控制存储器(ROM型)。CPU执行指令时,从控制存储器中读出微指令,即可获得所需的微命令。
(2) 微程序与工作程序之间的对应关系:一条微指令包含的微命令控制实现一步(一个时钟周期)机器操作;若干条微指令组成一小段微程序,解释实现一条机器指令;控制存储器中的微程序能解释实现全部指令系统。
简答题:简述微程序控制方式的优缺点
优点:设计比较规整,易于修改扩充。
缺点:速度较组合逻辑控制器稍慢。
应用于对速度要求不是特别高的CPU中,例如Intel的80×86系列。
11.同步控制方式
    同步控制方式是这样一种时序控制方式:各项操作都由统一的时序信号同步定时,它的主要特征是有固定的时钟周期划分。这意味着什么时间执行什么操作是事先安排好的,一项基本操作占用一个时钟周期(节拍),某个操作发生的时刻由相应的脉冲边沿定时。
    在CPU内部及各设备内部一般都采用同步控制方式;在传送距离较短、各设备速度差异不很大、传送时间可大致预估的系统中,其系统总线也广泛应用同步控制方式,称为同步总线。
12.异步控制方式
    在异步控制方式中,数据传送及各项操作之间的衔接采用应答方式实现;所需时间视实际需要而定,能短则短,需长则长;其主要特征是没有固定的时钟周期划分,由一组应答信号定时。在传送距离较长、系统内各设备差异较大、传送时间不易预先估计的系统中,其系统总线常采用异步控制方式,称为异步总线。
13.总线及其分类
    总线是一组可由多个部件分时共享的传送信息的公共线路。它可连接多个部件(共享),某一时刻只能有一个部件可通过总线发送数据(分时),但可将该数据传送至一个或同时传送至多个部件。
    按数据传送格式,总线可分为串行总线与并行总线。按时序控制方式,总线可分为同步总线与异步总线,或再细分出一种同步扩展总线。按所处的位置和功能,可分为CPU内部总线、系统总线以及各种部件内部总线。按传送信息类型,可分为地址总线、数据总线、控制总线。
14.系统总线的信号组成
    典型的系统总线大致包括下述类型的信号:电源与地,地址,数据,同步定时信号或异步应答信号,数据传送控制信号,中断请求与批准信号,总线请求与批准,系统复位等。
15.I/O接口的定义与分类
    I/O接口是位于系统总线与I/O设备之间的逻辑部件,它提供了主机与I/O设备之间进行信息传送的界面和控制逻辑。
    按数据传送格式,接口可分为串行接口与并行接口。注意,接口的一侧面向系统总线,另一侧面向I/O设备。对于并行接口,它与系统总线以及与I/O设备之间都是并行。而对于串行接口,它与系统总线之间仍为并行,与设备之间则是串行。因此在串行接口中需进行串-并转换,比并行接口复杂。
    按时序控制方式分类,接口可分为同步接口与异步接口。
    按I/O控制机制分类,接口可分为直接程序控制方式接口、中断接口、DMA接口。
16.中断接口的基本组成及功能
(1) 端口地址译码电路与读写控制。它决定是否访问本接口,选择接口的哪个寄存器,读出还是写入。
(2) 命令字及状态字寄存器。CPU采用输出指令通过数据总线向接口写入命令字,其代码将产生某些具体的操作命令。CPU采用输入指令通过数据总线从接口读取状态字,以判别接口及设备的工作状态。
(3) 数据缓冲寄存器/存储器。它转发输入、输出数据,实现缓冲使主机与I/O设备之间达到速度匹配,及可能需要的串并格式转换。
(4) 与设备特性及中断机制有关的控制逻辑。通常将其中的公共部分(各接口公用)集中在中断控制器中,它包含:暂存中断请求信号、屏蔽、判优、中断类型码、向CPU提出请求及接受批准信号等。而某个设备的中断信号产生电路,以及与该设备操作相关的控制逻辑,则位于该I/O接口中。
简答题:简述I/O接口的基本功能
(1) 地址译码,选取接口寄存器。
(2) 接收控制命令,提供工作状态信息。
(3) 数据缓冲(速度匹配),格式转换。
(4) 控制逻辑,如中断、DMA控制逻辑,设备操作等。
17.三级存储体系
    常见的三级存储体系(从CPU往外)是:Cache、主存、外存。
    主存储器用来存放需CPU运行的程序和数据。用半导体RAM构成,常包含少部分ROM。可由CPU直接编程访问,采取随机存取方式,即:可按某个随机地址直接访问任一单元(不需顺序寻找),存取时间与地址无关。存储容量较大,常用字节数表示,有时也用单元数×位数表示。速度较快,以存取周期表示。
    Cache位于CPU与主存之间(有些Cache集在CPU芯片之中),用来存放当前运行的程序和数据,它的内容是主存某些局部区域(页)的复制品。它用快速的半导体RAM构成,采取随机存取方式。存储容量较小而速度最快。
    外存储器用来存放暂不运行但需联机存放的程序和数据。用磁盘、光盘、磁带等构成,磁盘用于需频繁访问场合,光盘目前多用于提供系统软件,而磁带多用于较大系统的备份。CPU不能直接编址访问外存,而是将它当作外围设备调用。磁带采取顺序存取方式。磁盘与光盘采取直接存取(半顺序)方式,先直接定位到某个局部区域,再在其中顺序存取。外存容量可以很大,以字节数表示。由于外存的存取时间与数据所在位置有关,所以不能用统一的存取周期指标来表示。例如磁盘的速度指标可按其工作过程分成三个阶段描述:①平均寻道时间②平均旋转延迟(等待)时间③数据传输率。
18.静态RAM
    静态RAM依靠双稳态电路(内部交叉反馈)存储信息,即一个双稳态电路单元存放一位二进制信息,一种稳态为0,另一种稳态为1。只要电源正常就能长期保存信息,不需动态刷新,所以称为静态存储器。一旦断电则信息将会丢失,属于易失性(挥发性)存储器。与动态RAM相比,静态RAM的速度更快,功耗较大,集成度较低,常用于容量较小的存储器中。
改错题:静态RAM的“静态”二字含意是:在工作中它的内容静止不变。
19.动态RAM
    动态RAM依靠电容暂存电荷来存储信息,电容充电至高电平为1,放电至低电平为0。由于暂存电荷会逐渐泄漏,需要定期补充电荷来维持为1的存储内容,这种方法称为动态刷新。由于需要动态刷新,所以称为动态存储器。在电源正常并采取动态刷新的条件下,可以长期保存信息。一旦断电则信息丢失,也属于易失性存储器。与静态RAM相比,动态RAM功耗较小,集成度较高,但速度稍慢一些。常用来构成容量较大的存储器。
20.动态刷新
    在动态存储器中,定期对原存信息为1的电容补充电荷,称为动态刷新。动态刷新的方法是:存储器中各存储芯片同时按行地读出重写。全部刷新一遍所允许的最大时间间隔称为最大刷新周期,一般为2ms。动态刷新的安排方式有三种:集中刷新、分散刷新、异步刷新,目前广泛采用后一种,或是利用DMA方式实现,或是设置专门的刷新逻辑,或是将刷新逻辑集成在存储芯片内部。
21.磁盘存储器
    对磁盘存储器,要求大家掌握的内容是:磁盘中的信息组织方法、在访问磁盘时应给出的寻址信息、能结合磁盘调用阐述DMA方式(如二、5所述)。
    在软件组织这一层次,信息是以文件的形式进行组织并存放于磁盘之中,用户只需按文件名进行存取。在物理层次中,一个文件分成若干个数据块,一个数据块包含若干字节,常见的作法是每个数据块的字节数固定(例如512B),称为定长数据块。相应地,磁盘中的信息分布也分为几个层次,以硬盘为例:一个硬盘驱动器中有一个盘组,包含若干盘片/记录面;每个记录面上分为若干磁道,呈同心圆状;每个磁道按一定磁道格式划分为若干扇区,每个扇区可存放一个数据块;在扇区内,数据按位串行记录。
    相应地,从物理操作层次看,在调用磁盘时驱动程序需向适配卡送出如下一些寻址信息:台号(驱动器号),圆柱号(磁道号),记录面号(磁头号),扇区号(数据块号)。如果一个文件中的各数据块是顺序存放,则寻址信息中还给出一项:交换量。如果文件中的各数据块不是顺序存放而是随机存放,则每次都应给出其扇区号。
    因此磁盘驱动器的工作过程分为几个阶段:①寻道。盘片等速旋转,磁头沿径向移动以寻找(定位)信息存取位置所在磁道。②寻找扇区。寻道完成后,磁头不动,盘片旋转,等待扇区头部经过磁头。③连续读/写。当扇区头到经过磁头时开始连续读出或写入,此时盘片连续旋转而磁头不动,直到需转入另一圆柱面的磁道时才重新移动磁头。
22.键盘
    键盘上的键被连接成行列矩阵,每个键位于某行与某列的交点位置,即该键的一端连接到某根行线(i),而另一端连接到某根列线(j)。因此识别按键的基本方法是依序扫描,查找按键所处行列位置(i,j),称为扫描码,再查表将行列位置转换为该按键的键码(一般是ASCII码)。广泛使用的是软件扫描,其中比较简单、易于理解而又具有实用价值的是软件逐行扫描法。
简答题:简述键盘的软件逐行扫描法
答:如图(本文略)所示,①当有键按下时,键盘产生中断请求,CPU执行键盘扫描子程序。②CPU通过数据线输出代码至各行线,从第0行开始,逐行为0,其余各行为1。将列线输出送CPU进行判断,判别其中是否有一位为0,哪一位为0。③假定扫描至第i行为0时发现第j列输出为0,则按键位置为(i,j)。④查表,将行列码(i,j)转换为ASCII键码。
23.CRT显示器
    为了掌握显示器的基本原理,关键是理解屏幕显示与显示缓存之间的一组对应关系(存储容量、信息转换、地址组织、同步控制)。从存储器角度看,在主存中开辟有显示输出缓冲区,在显卡(适配器)上有相应的显示缓存(VRAM)。利用屏幕回扫消隐时间,驱动程序将待显示的信息(字符码或位象代码)从主存输出到显卡上的缓存。在屏幕正程扫描显示期间,显示缓存中的信息(或经信息转换)送往屏幕显示。从屏幕显示角度,分为字符显示、图像显示两大类。对于字符显示方式,从显示缓存中读出的是字符编码,需经过字符发生器转换为字符点阵代码,按点阵成象原理在屏幕上形成字符图形。如果是图形方式,从显示缓存中读出的是位象编码,例如按光栅扫描顺序,每8位像点代码为一个字节。
简答题:若字符显示规格为80列×25行,则显示缓存的基本容量应不小于多少?
答:80×25=2000字节。
注意,为了获得丰富的显示效果,显示信息中除字符编码外还有彩色/灰度、显示属性等,因此实际的缓存容量要远大于上述最小值。
简答题:若图形显示规格为800×600,则显示缓存的基本容量应不少于多少?
答:(800×600)÷8=60000字节。
简答题:字符显示规格为80列×25行,若要在第1行第3列显示一个A,该字符编码应存放在基本缓存第几个单元?
答:(1×80)+3=83@
注意,行号与列号都是从0开始。地址组织与扫描顺序相应,扫描顺序自左向右、自上而下,地址码自0开始增加。

四、 汇编语言程序设计
    学习汇编语言程序设计的目的,一是能读懂程序,二是编写程序段。相应地考核题型也就是这两种,前者称为分析题,后者纳入设计题。按照学时比例,这部分约占总分的五分之一左右。第四章内容虽不是直接考核对象,但它们是完成程序设计题的基础,大家应当按教材的学习目标进行复习。
    由于程序设计部分内容的特点,我们无法像前面那样复述主要的概念与结论,只能逐个说明各部分的考核内容与要求,在最后给出示范考题供参考。
1.8086/8088的寄存器、存储器和堆栈
    重点是:①理解标志寄存器各状态标志位的含意。②掌握堆栈压入指令PUSH和弹出指令POP的功能,特别是对堆栈指针SP的操作。
2寻址方式
    要求掌握六种常用的寻址方式:寄存器寻址方式、立即数寻址方式、直接寻址方式、寄存器间址方式、变址寻址和基址寻址方式、基址变址寻址方式。主要是通过阅读程序和编写程序来掌握这些寻址方式的应用,对存储器中的操作数可使用不同的寻址方式进行存取,编程时应根据需要选择合适的寻址方式。例如连续访问一维数组中的各元素,可用寄存器间址或变址(基址)寻址方式。
3.8086/8088指令
    由于指令条数较多,不易记忆,造成复习困难。为了使同学们能掌握最常用的指令,为读懂程序和编写简单程序段打下基础,本文列出一些需熟练掌握的指令(注意,并不是其它指令就不重要了,它们在实际的程序中也要用到)。
(1) 传送类:数据传送指令MOV、交换指令XCHG、装入有效地址指令。注意,这三条指令对状态标志位无影响。
(2) 算术运算类:加法指令ADD、带进位加法指令ADC、加1指令INC;减法指令SUB、带借位减法指令SBB、减1指令DEC、求负数指令NEG、比较指令CMP;无符号数乘法指令MUL、无符号数除法指令DIV。
注意,要掌握加减运算指令对状态标志位的影响。
(3) 位操作类:逻辑与指令AND、逻辑或指令OR、逻辑异或指令XOR、逻辑非指令NOT、测试指令TEST;算术左移SAL、算术右移SAR、逻辑左移SHL、逻辑右移SHR、循环左移ROL、循环右移ROR、带进位循环左移RCL、带进位循环右移RCR等。
注意,要掌握逻辑运算指令和测试指令对状态标志位的影响。
(4) 标志位操作指令:清除进位标志CLC、进位标志置位STC。
对于上面这些最常用的指令,要掌握它们的格式、功能、以及在程序中的使用。
4.汇编语言中的常用运算符
(1) 算术运算符:+、-、〔  〕(下标运算)
(2) 数值返回运算符:SEG、OFFSET、TYPE、SIZE、LENGTH。
(3) 属性运算符:PTR
5.常用伪指令
(1)  符号定义伪指令:等值伪指令EQU、等号伪指令“=”。
(2) 数据定义伪指令:DB、DW、DD
注意掌握如何使用数据定义伪指令来定义变量,以及为变量赋初值的表达式的几种形式:数值表达式、?表达式、字符串表达式、带DUP表达式。
(3) LABEL伪指令@
注意LABEL伪指令与指令或数据定义伪指令连用时的使用方法。
(4) 段结构伪指令
要求掌握:段定义伪指令SEGMENT/ENDS、段寻址伪指令ASSUME、END伪指令在程序中的使用;汇编语言源程序的分段结构和段寄存器的装入。
(5) 过程定义伪指令PROC/ENDP
可结合子程序设计,掌握在同一代码段中使用过程定义伪指令去定义子程序。
(6) 定位伪指令ORG:在数据段中的使用。
6.顺序程序设计@
    要求能编制顺序程序段完成四则运算多项式的计算及指定功能。
7.分支程序设计
    要求能使用转移指令编制具有2~3个分支结构的程序段。
(1) 无条件转移指令JMP:掌握段内直接寻址转移。
(2) 条件转移指令
掌握:简单条件转移指令JC、JNC、JE、JNE、JS、JNS,无符号数条件转移指令JA、JAE、JB、JBE,带符号数条件转移指令JG、JGE、JL、JLE。
注意区分无符号数条件转移指令与带符号数条件转移指令的使用场合。
8.循环程序设计
    要求能使用循环控制指令或转移指令编制简单的单重循环程序段,重点是LOOP循环控制指令的功能和使用。
9.子程序设计
    掌握子程序调用指令CALL、子程序返回指令RET的功能与使用,使用寄存器传递主、子程序参数的方法,能编制程序段实现段内的子程序调用与返回。
10.DOS功能子程序调用
    要求掌握四种DOS功能调用:带显示的键盘输入(1号功能)、字符串输入(OAH号功能)、单字符显示(2号功能)、字符串显示(9号功能)。
11.分析题举例(阅读程序段后给出答案,每小题5分)
(1) MOV  AL,0FH
    MOV  BL,10H
    CALL  SUB1
    INC  AL
DEC  BL
SUB1  PROC
    ADD  AL,BL
    XCHG  AL,BL
    RET
SUB1  ENDP
上述程序段运行后,(AL)=11H,(BL)=1EH。
(2) 设(DX)=1234H
    MOV  CL,8
    ROR  DX,CL
    AND  DX,0FFH
    CMP  DX,12H
上述程序段运行后,(Dx)=12H,ZF=1
12.设计题举例(每小题5分)
(1) 编写一程序段,计算x2+y-5多项式的值。
说明:多项式存于AX中,x、y是无符号数。
? 数据说明:x  DB  0CH
             y  DB  06H
参考答案:
MOV  AL,x
MUL  x
ADD  AL,y
ADC  AH,0
SUB  AX,5
(2) 编写一程序段,统计数据区BUF中0的个数,并存入RES单元。数据段为:
DATA  SEGMENT
BUF  DB  0,5,0,3,2
RES  DB  ?
DATA  ENDS
参考答案:MOV  CX,5
MOV  SI,OFFSET  BUF
MOV  BL,0
LOP:MOV  AL,〔SI〕
CMP  AL,0
JNE  NEXT
INC  BL
NEXT:INC  SI
LOOP  LOP
MOV  RES,BL

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1东芝BiCD集成电路硅单片TB67S109AFNAG数据手册
  2. 1.93 MB   |  5次下载  |  免费
  3. 2SP3060A/30120A/30160A/30320A/30520A系列数字合成扫频仪使用说明书
  4. 4.16 MB   |  3次下载  |  1 积分
  5. 3具有双通道 DC-DC转换器、由串行接口控制的9通道电机驱动器TPIC2010数据表
  6. 1.15MB   |  2次下载  |  免费
  7. 4USB Type-C PD快充协议智能触发芯片FS312B数据手册
  8. 0.75 MB   |  1次下载  |  免费
  9. 5USB Type_C PD快充协议智能触发芯片FS8025B数据手册
  10. 1.29 MB   |  1次下载  |  免费
  11. 6触摸按键PCB 设计要点V01
  12. 1.42 MB  |  1次下载  |  免费
  13. 7DC-DC电路(Buck)的设计与仿真
  14. 0.60 MB   |  1次下载  |  2 积分
  15. 85V升压充电两串锂电池充电管理IC FS4058数据手册
  16. 2.98 MB   |  次下载  |  免费

本月

  1. 1DCDC原理详解
  2. 0.98 MB   |  65次下载  |  免费
  3. 2allegro快速入门教程
  4. 1.98 MB   |  36次下载  |  免费
  5. 3FU-7(807)胆机原理图
  6. 11.93 MB   |  25次下载  |  1 积分
  7. 4用于汽车应用的高压电源管理IC TPS65311-Q1数据表
  8. 1.05MB   |  22次下载  |  免费
  9. 5电子元件基础知识介绍
  10. 8.76 MB   |  15次下载  |  2 积分
  11. 6华为海思Ascend 310芯片的资料说明
  12. 0.12 MB   |  10次下载  |  10 积分
  13. 7GD32F10x系列MCU用户手册
  14. 11.5MB   |  9次下载  |  免费
  15. 86A 输出电流同步降压稳压器TPS65286数据表
  16. 2.05MB   |  6次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935083次下载  |  免费
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420045次下载  |  免费
  5. 3Altium DXP2002下载入口
  6. 未知  |  233067次下载  |  免费
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191308次下载  |  免费
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183308次下载  |  免费
  11. 6labview8.5下载
  12. 未知  |  81567次下载  |  免费
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73785次下载  |  免费
  15. 8NI LabVIEW中实现3D视觉的工具和技术
  16. 未知  |  70088次下载  |  免费