750 likes | 969 Views
微型计算机原理及应用. 第 1 章 概述. §1.1 80x86 系列结构的概要历史 §1.2 计算机基础 §1.3 计算机的硬件和软件 §1.4 微型计算机的结构 §1.5 多媒体计算机. §1.1 80x86 系列结构的概要历史.
E N D
第1章 概述 §1.1 80x86系列结构的概要历史 §1.2 计算机基础 §1.3 计算机的硬件和软件 §1.4 微型计算机的结构 §1.5 多媒体计算机
§1.1 80x86系列结构的概要历史 1.1.1 80861.1.2 803861.1.3 804861.1.4 奔腾(Pentium)1.1.5 P6系列处理器1.1.6 奔腾II1.1.7 奔腾III1.1.8 Intel Pentium4处理器1.1.9 Intel 超线程处理器1.1.10 Intel 双核技术处理器
1971年:Intel 4004 70年代中期:Intel 8080、8085 80年代初:Intel 8086、8088 从8086(8088)到80286、80386、80486、奔腾(也称为80586)、奔腾MMX、奔腾PRO(也称为80686)、奔腾Ⅱ、奔腾Ⅲ,直至最新的奔腾4,形成了IA(Intel Architecture)-32结构。
80x86系列结构的最新版本的发展能追溯到Intel 8086。在80x86系列结构系统引进32位处理器之前,是16位的处理器,包括8086处理器和随后很快开发的80186与80286。从历史的观点来看,80x86系列结构同时包括了16位处理器和32位处理器。在现在,32位80x86系列结构对于许多操作系统和十分广泛的应用程序来说是最流行的计算机结构。 80x86系列结构的最重要的成就之一是,从1978开始的那些处理器上建立的目标程序仍能在80x86系列结构系列的最新的处理器上执行。 8086有16位寄存器和16位外部数据总线,具有20位地址总线,可寻址1M字节地址空间。 1.1.1 8086
Intel 386处理器是80x86系列结构系列中的第一个32位处理器。它在结构中引入了32寄存器,用于容纳操作数和地址。每个32位寄存器的后一半保留两个早期处理器版本(8086和80286)的16位寄存器的特性,以提供完全的向后兼容。Intel 386还提供了一种新的虚拟8086方式,以在新的32位处理器上最有效地执行为8086处理器建立的程序。 Intel 386处理器有32位地址总线,能支持多至4G字节的物理存储器。32位结构为每个软件进程提供逻辑地址空间。32位结构同时支持分段的存储模式和“平面(flat)”存储模式。在“平面”存储模式中,段寄存器指向相同地址,且每个段中的所有4 G字节可寻址空间对于软件程序员是可访问的。 1.1.2 80386
原始的16位指令用新的32位操作数和新的寻址方式得到增强,并提供了一些新的指令,包括那些位操作指令。原始的16位指令用新的32位操作数和新的寻址方式得到增强,并提供了一些新的指令,包括那些位操作指令。 Intel 386处理器把分页引进了80x86系列结构,用4K字节固定尺寸的页提供一种虚拟存储管理方法,它比分段更为优越。分页对于操作系统更为有效,且对应用程序完全透明,对执行速度没有明显影响。4 G字节虚拟地址空间的支持能力、存储保护与分页支持一起,使80x86系列结构成为高级操作系统和广泛的应用程序的最流行的选择。
Intel486处理器把Intel386处理器的指令译码和执行单元扩展为五个流水线段,增加了更多的并行执行能力,其中每个段(当需要时)与其它的并行操作最多可在不同段上同时执行五条指令。每个段以能在一个时钟周期内执行一条指令的方式工作,所以,Intel486处理器能在每个时钟周期执行一条指令。Intel486处理器把Intel386处理器的指令译码和执行单元扩展为五个流水线段,增加了更多的并行执行能力,其中每个段(当需要时)与其它的并行操作最多可在不同段上同时执行五条指令。每个段以能在一个时钟周期内执行一条指令的方式工作,所以,Intel486处理器能在每个时钟周期执行一条指令。 80486的一个重大改进是在80x86系列处理器的芯片中引入了缓存。在芯片上增加了一8K字节的一级缓存(cache),大大增加了每个时钟周期执行一条指令的百分比,包括操作数在一级cache中的存储器访问指令。 1.1.3 80486
Intel486处理器也是第一次把80x87 FPU(浮点处理单元)集成到处理器上并增加了新的引脚、位和指令,以支持更复杂和更强有力的系统(二级cache支持和多处理器支持)。 直至Intel486处理器这一代,Intel把设计以支持电源保存和别的系统功能加入至X86系列主流结构和Intel486 SL增强的处理器中。这些特性是在Intel386 SL和Intel486 SL处理器中开发的,是特别为快速增长的用电池操作的笔记本PC市场提供的。这些特性包括新的用专用的中断脚触发的系统管理模式,允许复杂的系统管理特性(例如在PC内的各种子系统的电源管理),透明地加至主操作系统和所有的应用程序中。停止时钟(Stop Clock)和自动暂停电源下降(Auto Halt Powerdown)特性允许处理器在减慢的时钟速率下执行,以节省电源或关闭(保留状态),以进一步节省电源。
Intel奔腾(Pentium)处理器增加了第二个执行流水线以达到超标量性能,能实现每个时钟执行两条指令。Intel奔腾(Pentium)处理器增加了第二个执行流水线以达到超标量性能,能实现每个时钟执行两条指令。 芯片上的一级cache也加倍了,8K字节用于代码,另8K字节用于数据。数据cache使用MESI协议,以支持更有效的回写方式,以及由Intel486处理器使用的写通方式。加入的分支预测和芯片上的分支表增加了循环结构中的性能。 加入了扩展以使虚拟8086方式更有效,并像允许4K字节页一样允许4M字节页。主要的寄存器仍是32位,但内部数据通路是128和256位以加速内部数据传送,且猝发的外部数据总线已经增加至64位。增加了高级的可编程中断控制器(Advanced Programmable Interrupt Controller(APIC))以支持多奔腾处理器系统,新的引脚和特殊的方式(双处理)设计以支持无连接的两个处理器系统。 1.1.4 奔腾(Pentium)
奔腾系列的最后一个处理器(具有MMX技术的奔腾处理器)把Intel MMX技术引入IA-32结构。Intel MMX技术用单指令多数据(SIMD)执行方式在包含64位MMX寄存器中的包装的整型数据上执行并行计算。此技术在高级媒体、影像处理和数据压缩应用程序上极大地增强了IA-32处理器的性能。
在1995年,Intel引入了P6系列处理器。此处理器系列是基于新的超标量微结构上的,它建立了新的性能标准。P6系列微结构设计的主要目的之一是在仍使用相同的0.6微米、四层金属BICMOS制造过程的情况下使处理器的性能明显地超过奔腾处理器,用与奔腾处理器同样的制造过程要提高性能只能在微结构上有实质上的改进。在1995年,Intel引入了P6系列处理器。此处理器系列是基于新的超标量微结构上的,它建立了新的性能标准。P6系列微结构设计的主要目的之一是在仍使用相同的0.6微米、四层金属BICMOS制造过程的情况下使处理器的性能明显地超过奔腾处理器,用与奔腾处理器同样的制造过程要提高性能只能在微结构上有实质上的改进。 Intel Pentium Pro处理器是基于P6微结构的第一个处理器。P6处理器系统随后的成员是Intel Pentium II、Intel Pentium II Xeon(至强)、Intel Celeron(赛扬)、Intel Pentium III和Intel Pentium III Xeon(至强)处理器。 1.1.5 P6系列处理器
Intel Pentium II处理器把MMX技术加至P6系列处理器,并具有新的包装和若干硬件增强。处理器核心包装在了SECC上,这使其更具有了灵活的母板结构。第一级数据和指令caches每个扩展至16 K字节,支持二级cache的尺寸为256 K字节、512 K字节和1 M字节。 Pentium II Xeon(至强)处理器组合Intel处理器前一代的若干额外特性,例如4way、8way(最高)可伸缩性和运行在“全时钟速度”后沿总线上的2M字节二级cache,以满足中等和高性能服务器与工作站的要求。 1.1.6 奔腾II
Pentium III处理器引进流SIMD扩展(SSE)至X86系列结构。SSE扩展把由Intel MMX引进的SIMD执行模式扩展为新的128位寄存器和能在包装的单精度浮点数上执行SIMD操作。 Pentium III Xeon处理器用Intel的0.18µm处理技术的全速高级传送缓存(Advanced Transfer Cache)扩展了IA-32处理器的性能级。 1.1.7 奔腾III
Intel Pentium 4处理器是2000年推出的ia-32处理器,并是第一个基于Intel NetBurst微结构的处理器。Intel NetBurst微结构是新的32bit微结构,它允许处理器能在比以前的IA-32处理器更高的时钟速度和性能等级上进行操作。Intel Pentium 4处理器有以下高级特性: (1)Intel NetBurst微结构的第一个实现。 快速的执行引擎; Hyper流水线技术; 高级的动态执行; 创新的新cache子系统。 1.1.8 Intel Pentium4处理器
(2)流SIMD扩展2(SSE2): 用144条新指令扩展Intel MMX技术和SSE扩展,它包括支持:128位SIMD整数算术操作;128位SIMD双精度浮点操作;Cache和存储管理操作。 进一步增强和加速了视频、语音、加密、影像和照片处理。 (3)400 MHz Intel NetBurst微结构系统总线。 提供每秒3.2 G字节的吞吐率(比Pentium III处理器快三倍)。 四倍100MHz可伸缩总线时钟,以达到400MHz有效速度。 分开的交易,深度流水线。 128字节线具有64字节访问。 (4)与在Intel X86系列结构处理器上所写和运行的已存在的应用程序和操作系统兼容。
Intel公司于2002年推出了具有超线程技术的IA-32列处理器。超线程(Hyper-Threading HT)技术允许单个物理处理器用共享的执行资源并发地执行两个或多个分别的代码流(线程)。以提高X86系列处理器执行多线程操作系统与应用程序代码的性能。 从体系结构上说,支持HT技术的IA-32处理器,在一个物理处理器核中由两个或多个逻辑处理器构成,每个逻辑处理器有它自己拥有的IA-32体系结构状态。每个逻辑处理器由全部的IA-32数据寄存器、段寄存器、控制寄存器与大部分的MSR构成。 图1-1显示支持HT技术(用两个逻辑处理器实现的)的IA-32处理器与传统的双处理器系统的比较。 1.1.9 Intel 超线程处理器
不像用两个或多个分别的IA-32物理处理器的传统的MP系统配置,在支持HT技术的IA-32处理器中的逻辑处理器共享物理处理器的核心资源。这包括执行引擎和系统总线接口。在上电和初始化以后,每个逻辑处理器能独立地直接执行规定的线程、中断或暂停。不像用两个或多个分别的IA-32物理处理器的传统的MP系统配置,在支持HT技术的IA-32处理器中的逻辑处理器共享物理处理器的核心资源。这包括执行引擎和系统总线接口。在上电和初始化以后,每个逻辑处理器能独立地直接执行规定的线程、中断或暂停。 HT技术由在单个芯片上提供两个或多个逻辑处理器支持在现代操作系统和高性能应用程序中找到的进程与线程级并行。以在每个时钟周期期间最大地使用执行单元。而提高了处理器的性能。
双核技术是在IA-32处理器系列中硬件多线程能力的另一种形式。双核技术由用在单个物理包中有两个分别的执行核心提供硬件多线程能力。因此,Intel Pentium处理器极品版在一个物理包中提供四个逻辑处理器(每个处理器核有两个逻辑处理器)。 Intel Pentium D处理器也以双核技术为特色。此处理器用双核技术提供硬件多线程支持,但它不提供超线程技术。因此,Intel Pentium D处理器在一个物理包中提供两个逻辑处理器,每个逻辑处理器拥有处理器核的执行资源,如图1-2所示。 1.1.10 Intel 双核技术处理器
Intel奔腾处理器极品版中引入了Intel扩展的存储器技术(Intel EM64T)对于软件增加线性地址空间至64位与支持物理地址空间至40位。此技术也引进了称为IA-32e模式的新的操作模式。 AMD公司是x86系列处理器的另一重要供应商。它于1969年成立。于1991年推出了AM386系列,1993年推出了AM486,1997年推出了AMD-K6(相当于具有MMX技术的奔腾处理器),2001年推出了AMD Athlon(速龙) MP 双处理器,2003年推出 AMD 速龙™ 64 FX处理器,具有64位的x86-64内核。直至最近推出了双核的64位处理器。
§1.2 计算机基础 1.2.1 计算机的基本结构1.2.2 常用的名词术语和二进制编码1.2.3 指令、程序和指令系统1.2.4 初级计算机1.2.5 简单程序举例1.1.6 寻址方式1.1.7 分支
上述的CPU、主板、内存条、硬盘、软盘、显示卡、显示器、键盘、鼠标等。这些都是计算机的部件,虽然这些部件的功能与性能都有了巨大的发展,但是计算机的基本结构未变,如图1-7所示。上述的CPU、主板、内存条、硬盘、软盘、显示卡、显示器、键盘、鼠标等。这些都是计算机的部件,虽然这些部件的功能与性能都有了巨大的发展,但是计算机的基本结构未变,如图1-7所示。 1.2.1 计算机的基本结构
计算机最早是作为运算工具出现的。显然,它首先要有能进行运算的部件,称为运算器;其次要有能记忆原始题目、原始数据和中间结果以及为了使机器能自动进行运算而编制的各种命令的器件,这种器件就称为存储器;再次,要有能代替人的控制作用的控制器,它能根据事先给定的命令发出各种控制信息,使整个计算过程能一步步地自动进行。计算机最早是作为运算工具出现的。显然,它首先要有能进行运算的部件,称为运算器;其次要有能记忆原始题目、原始数据和中间结果以及为了使机器能自动进行运算而编制的各种命令的器件,这种器件就称为存储器;再次,要有能代替人的控制作用的控制器,它能根据事先给定的命令发出各种控制信息,使整个计算过程能一步步地自动进行。 但是光有运算器、控制器和存储器还不够,原始的数据与命令要输入,所以需要有输入设备;而计算的结果(或中间过程)需要输出,就要有输出设备。这样就构成了一个基本的计算机系统。 在计算机中,基本上有两种信息在流动。一种信息为数据,即各种原始数据、中间结果、程序等。这些数据要由输入设备输入,存于存储器中。在运算处理过程中,数据从存储器读入运算器进行运算,运算的中间结果要存入存储器中,或最后由运算器经输出设备输出。
人们给计算机的各种命令(即程序),也以数据的形式由输入设备存至存储器中。在运行时从存储器中取出送入控制器,由控制器经过译码后变为各种控制信号。这就是计算机中的另一种信息流即控制命令,由控制器控制输入装置的启动或停止。控制运算器按规定一步步地进行各种运算和处理,控制存储器的读和写,控制输出设备输出结果等等。人们给计算机的各种命令(即程序),也以数据的形式由输入设备存至存储器中。在运行时从存储器中取出送入控制器,由控制器经过译码后变为各种控制信号。这就是计算机中的另一种信息流即控制命令,由控制器控制输入装置的启动或停止。控制运算器按规定一步步地进行各种运算和处理,控制存储器的读和写,控制输出设备输出结果等等。 图1-7中的各个部分构成了计算机的硬件(Hardware)。在上述的计算机硬件中,往往把运算器、控制器和存储器合在一起称为计算机的主机;而把各种输入输出设备统称为计算机的外围设备或外部设备(Peripheral)。 在主机部分中,又把运算器和控制器合在一起称为中央处理单元CPU(Central Processing Unit)。随着半导体集成电路技术的发展,可以把整个CPU集成在一个集成电路芯片上,就把它称为微处理器(Microprocessor)。
人们把以微处理器为核心构成的计算机,称为微型计算机,最典型的就是上述的PC机。若内存的容量较小,输入输出设备少,整个计算机可以只安装在一块印刷电路板上,这样的计算机就称为单板计算机。若能把整个计算机集成在一个芯片上,就称为单片机。人们把以微处理器为核心构成的计算机,称为微型计算机,最典型的就是上述的PC机。若内存的容量较小,输入输出设备少,整个计算机可以只安装在一块印刷电路板上,这样的计算机就称为单板计算机。若能把整个计算机集成在一个芯片上,就称为单片机。 但不论计算机的规模大小,CPU只是计算机的一个部件。必须同时具有CPU、存储器和输入输出设备,才能构成一台计算机。
1.位、字节、字及字长 (1) 位(Bit) “位”是指一个二进制位。它是计算机中信息存储的最小单位,一般用b表示。 (2) 字节(Byte) “字节”是指相邻的8个二进制位。 (3) 字(Word)和字长 “字”是计算机内部进行数据传递、处理的基本单位。通常它与计算机内部的寄存器、运算装置、总线宽度相一致。 一个字所包含的二进制位数称为字长。常见的微型计算机的字长有8位、16位、32位和64位。 1.2.2 常用的名词术语和二进制编码
2.数字编码 计算机中的数用二进制表示。计算机中的十进制数的每一位用若干位二进制表示,这就是二进制编码。即十进制数的二进制编码,简称二-十进制编码(BCD)。 3.字符编码 同样,字母、数字、符号等各种字符也必须按照特定的规则用二进制编码才能在计算机中表示。字符编码的方式很多,世界上最普遍采用的一种字符编码是ASCII码(美国信息交换标准码)。 ASCII码用7位二进制编码,它有128种组合,可以表示128种字符。包括0~9,十个阿拉伯数字字符,大、小写英文字母(72个),常用标点符号和各种控制字符。 在计算机中用一个字节表示一个ASCII码字符,即在7位ASCII前最高位置为0。详见ASCII字符表。
4.汉字编码 用计算机处理汉字,每个汉字必须用代码表示。键盘输入汉字是输入汉字的外部码。外 部码必须转换为内部码才能在计算机内进行存储和处理。为了将汉字以点阵的形式输出,还要将内部码转换为字形码。不同的汉字处理系统之间交换信息采用交换码。 (1) 外部码 汉字主要是从键盘输入,每个汉字对应一个外部码,外部码是计算机输入汉字的代码,是代表某一个汉字的一组键盘符号。外部码也叫输入码。汉字的输入方法不同,同一个汉字的外部码可能不一样。
(2) 内部码 汉字内部码也称汉字内码或汉字机内码。在不同的汉字输入方案中,同一汉字的外部码不同,但同一汉字的内部码是惟一的。内部码通常是用其在汉字字库中的物理位置表示,可以用汉字在汉字字库中的序号或者用汉字在汉字字库中的存储位置表示。汉字在计算机中至少要用两个字节表示(有用三字节、四字节表示的),在微型计算机中常用的是两字节汉字内码。 (3) 交换码 计算机之间或计算机与终端之间交换信息时,要求其间传送的汉字代码信息要完全一致。为此,国家根据汉字的常用程度定出了一级和二级汉字字符集,并规定了编码,这就是国标GB 2312-80《信息交换用汉字编码字符集基本集》,GB 231280中汉字的编码即国标码。该标准编码字符集共收录汉字和图形符号7445个。
(4) 输出码 汉字输出码又称汉字字形码或汉字发生器的编码。众所周知,汉字无论字形有多少变化,也无论笔划有多有少,都可以写在一个方块中;一个方块可以看作m行n列的矩阵,称为点阵。一个m行n列的点阵共有m×n个点。例如16×16点阵的汉字,共有256个点。每个点可以是黑点或者非黑点,凡是笔划经过的点用黑点,于是利用点阵描绘出了汉字字形,汉字的点阵字形在计算机中称为字模。如图1-8表示汉字“中”的16×16点阵字模。
计算机的几个主要部件构成了计算机的硬件的基础。但是,光有硬件,还只是具有了计算的可能。计算机要真正能够进行计算还必须要有软件的配合,首先是各种程序(Program)。 计算机所以能脱离人的直接干预,自动地进行计算,这是由于人把实现计算的一步步操作用命令的形式——即一条条指令(Instruction)预先输入到存储器中,在执行时,机器把这些指令一条条地取出来,加以翻译和执行。 计算机的运算是通过取数、送数、相加、存数等操作实现的。把要求计算机执行的各种操作用命令的形式写下来,这就是指令。通常一条指令对应着一种基本操作。一台计算机能执行什么样的操作,能做多少种操作,是由设计计算机时所规定的指令系统决定的。一条指令,对应着一种基本操作;计算机所能执行的全部指令,就是计算机的指令系统(Instruction Set),这是计算机所固有的。 1.2.3 指令、程序和指令系统
在使用计算机时,必须把要解决的问题编成一条条指令,这些指令的集合就称为程序。用户为解决自己的问题所编制的程序,称为源程序(Source Program)。 指令通常分成操作码(Opcode即operation code)和操作数(Operand)两大部分。操作码表示计算机执行什么操作;操作数指明参加操作的数的本身或操作数所在的地址。 因为计算机只认得二进制数码,所以计算机的指令系统中的所有指令,都必须以二进制编码的形式来表示。 计算机发展初期,就是用指令的机器码直接来编制用户的源程序,这就是机器语言阶段。但是机器码是由一连串的0和1组成的,没有明显的特征,不好记忆,不易理解,易出错。所以,编写程序成为一种十分困难而且十分繁琐的工作。因而,逐渐进入了汇编语言阶段。用户用汇编语言(操作码用助记符代替,操作数也用一些符号来表示)编写源程序。
为简化,先用模型机分析计算机内部结构 。 图1-9是微型计算机的结构图,它是由微处理器(CPU)、存储器、接口电路组成,通过三条总线(BUS)——地址总线(Address Bus),控制总线(Control Bus)和双向数据总线(Data Bus )来连接。 1.2.4 初级计算机
1.CPU的结构 模型机的CPU结构,如图1-10所示。 算术逻辑单元ALU(Arithmetic Logic Unit)是执行算术和逻辑运算的装置,它以累加器 AL(Accumulator)的内容作为一个操作数;另一个操作数由内部数据总线供给,可以是寄存器(Register)BL中的内容,也可以是由数据寄存器DR(Data Register)供给的由内存读出的内容等;操作的结果通常放在累加器AL中。
F(Flag)是标志寄存器,由一些标志位组成 。 PC程序计数器,提供要执行的指令的地址。 AR(Address Register)是地址寄存器,由它把要寻址的单元的地址(可以是指令——则地址由PC提供;也可以是数据——则地址要由指令中的操作数部分给定)通过地址总线,送至存储器。 从存储器中取出的指令,由数据寄存器送至指令寄存器IR(Instruction Register),经过指令译码器ID(Instruction Decoder)译码,通过控制电路,发出执行一条指令所需要的各种控制信息。
2.存储器 存储器的结构如图1-11所示。它由256个存储单元组成,为了能区分不同的存储单元,对这些存储单元分别编了号,用两位十六进制数表示,这就是它们的地址如00H、01H、02H、…、FFH等;而每一个存储单元可以存放8位二进制信息(通常也用两位十六进制数表示),就是它们的内容。
存储器中的不同存储单元,是由地址总线上送来的地址(8位二进制数),经过存储器中的地址译码器来寻找的(每给定一个地址号,可从256个存储单元中找到相应于这个地址号的某一存储单元),然后就可以对这个存储单元的内容进行读或写的操作。存储器中的不同存储单元,是由地址总线上送来的地址(8位二进制数),经过存储器中的地址译码器来寻找的(每给定一个地址号,可从256个存储单元中找到相应于这个地址号的某一存储单元),然后就可以对这个存储单元的内容进行读或写的操作。 (1) 读操作 若已知在04号存储单元中,存的内容为10000100即84H,若要把它读出至数据总线上,则要求CPU的地址寄存器先给出地址号04,然后通过地址总线送至存储器,存储器中的地址译码器对它进行译码,找到04号存储单元;再要求CPU发出读的控制命令,于是04号存储单元的内容84H就出现在数据总线上,由它送至数据寄存器DR,如图1-12所示。
(2) 写操作 若要把数据寄存器中的内容26H写入到10号存储单元,则要求CPU的AR地址寄存器先给出地址10,通过地址总线(AB)送至存储器,经译码后找到10号存储单元;然后把DR数据寄存器中的内容26H经数据总线(DB)送给存储器;且CPU发出写的控制命令,于是数据总线上的信息26H就可以写入到10号存储单元中,如图1-13所示。 信息写入后,在没有新的信息写入以前,该信息是一直保留的,而且我们的存储器的读出是非破坏性的,即信息读出后存储单元的内容不变。
3.执行过程 若程序已经存放在内存中,大部分8位机执行过程就是取指(取出指令)和执行(执行指令)这两个阶段的循环。 机器从停机状态进入运行状态,要把第一条指令所在的地址赋给PC,然后就进入取指阶段。在取指阶段从内存中读出的内容必为指令,所以DR把它送至IR,然后由指令译码器译码,就知道此指令要执行什么操作,在取指阶段结束后就进入执行阶段。当一条指令执行完以后,就进入到了下一条指令的取指阶段,这样的循环一直进行到程序结束(遇到停机指令)。
1.立即寻址(Immediate Addressing) 上例中的操作数就包含在指令中,这种规定操作数的方式,称为立即寻址。指令中的操作数称为立即数。 2.寄存器寻址(Register Addressing) 若操作数在某一寄存器中,这种寻址方式就称为寄存器寻址。 3.直接寻址(Direct Addressing) 在这种寻址方式中,指令的操作数字段不是操作数本身,而是操作数所在的地址,它是把地址所指的存储单元的内容送至累加器AL,如图1-19所示。 由于在这种寻址方式中,指令中包含操作数的直接地址,故称为直接寻址。