第1章基础知识(精品).ppt

上传人:hwp****526 文档编号:84704870 上传时间:2023-04-07 格式:PPT 页数:64 大小:407KB
返回 下载 相关 举报
第1章基础知识(精品).ppt_第1页
第1页 / 共64页
第1章基础知识(精品).ppt_第2页
第2页 / 共64页
点击查看更多>>
资源描述

《第1章基础知识(精品).ppt》由会员分享,可在线阅读,更多相关《第1章基础知识(精品).ppt(64页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第第1 1章章 基础知识基础知识 第第1章章 基础知识基础知识 1.1 数与数制数与数制 1.2 内存储器的管理方式内存储器的管理方式 1.3 寄存器寄存器 1.4 微型计算机的硬件结构微型计算机的硬件结构 第第1 1章章 基础知识基础知识 1.1 数数 与与 数数 制制微型计算机亦称为微电脑,它仅能识别由0和1组成的机器语言和二进制数。由于十六进制表示的数更简短直观,与二进制数转换也很方便,所以,十六进制在计算机中也被广泛使用。第第1 1章章 基础知识基础知识 1.1.1 位与字节微型计算机中使用二进制数表示和存储信息,位(bit)是微型计算机存储信息的最小单位。一个位有两种状态,分别为0状

2、态与1状态,可以表示二进制数的0和1。8位二进制数称为一个字节(byte,缩写为B),微型计算机中表示字母、符号的二进制编码的长度就是一个字节。例如,字母“A”与星号“*”的二进制编码,分别为01000001与00101010。第第1 1章章 基础知识基础知识 计算机怎么知道01000001代表字母“A”呢?它是以这样的原理设计和工作的:当你从键盘上键入“A”时,系统会从键盘上收到一个二进制数,将这一二进制数设定成01000001,存放于存储器的一个存储单元内。通过程序中的指令你可以在存储器中随意地移动此二进制数,而当程序中的指令把它送往屏幕或从打印机输出时,应为字母“A”。计算机就是以这样的

3、约定来工作并以此来编制程序的。第第1 1章章 基础知识基础知识 为了便于说明和使用,字节中的各位自右向左从0开始编号到7,比如字母“A”的各位分别如下:字节的位编号:76543210字节的位内容:01000001或b 7b 6b 5b 4b3b2b 1b 001000001第第1 1章章 基础知识基础知识 210等于1024,表示1K。例如,含有512KB的存储器,是指计算机的存储容量为51210248位或5121024个字节。由于PC机以及其兼容机型所用的微处理器是16位的CPU,因此它能在存储器单元和寄存器中存取一个16位的二进制数。16个位(2个字节)称为一个字(word)。字中的各位自

4、右向左从0开始编号至15,第第1 1章章 基础知识基础知识 如下面是表示字母“PC”的字:字的位编号:1514131211109876543210字的位内容:0101000001000011b15b14b13b12b11b10b9b801010000b7b6b5b4b3b2b1b001000011第第1 1章章 基础知识基础知识 1.1.2 ASCII码为了标准化,微型计算机采用ASCII(AmericanStandardCodeforInformationInterchange)码。使用标准码可以简化不同微型计算机之间的数据传输问题。IBMPC所使用的8位延伸ASCII码可以提供256个字符

5、。ASCII码的特点如下:(1)数字的ASCII码按照09顺序逐渐增大;(2)数字的ASCII码小于字母的ASCII码;第第1 1章章 基础知识基础知识 (3)字母的ASCII码按26个字母顺序逐渐增大;(4)大写字母的ASCII码小于小写字母的ASCII码。第8章会告诉你如何在屏幕上显示所有的256个ASCII码字符。附录A是ASCII码表。第第1 1章章 基础知识基础知识 1.1.3 二进制数及运算由于微型计算机只能区分0与1,所以微型计算机使用二进制数。位(bit)就是二进制数(BinaryDigit)的缩写。一个十进制数241=2102+4101+1100,10称为基数,102、101

6、、100称为各位的“位权”。同理,一个二进制数1101=123+122+021+120,2称为基数,23、22、21、20亦称为各位的“位权”。以8位二进制数为例,当每一位均为1时,各位的“位权”为:第第1 1章章 基础知识基础知识 字节位的位置值(位权):1286432168421字节位的值:111111118位二进制数的“位权”从右至左依次为1,2,4,128,所有“位权”的和为1+2+4+128=255或(28-1)。前 面 的 0100001可 以 表 示 字 母“A”,但 是,0100001也可以表示数值65(十进制),所以在选用数据时必须确认0100001究竟是表示数值65还是字母

7、“A”,区分方法如下:第第1 1章章 基础知识基础知识 (1)如果程序中所定义的数据项是作为算术运算用的,则01000001表示的是二进制数值,等于十进制的65。(2)如果程序中所定义的数据项是作为说明字符使用的,则01000001表示的是字母“A”。当你开始写程序时,由于你必须定义每一个数据项的用途,所以将会发现此种区别是十分明显和重要的。二进制数并不只限用于8位。由于个人微型计算机的微处理器8086是16位的CPU,所以它可以处理16位的二进制数,16位二进制数的范围是065535(即216-1)。而32位的CPU允许使用32位,其范围是04294967295(即232-)。第第1 1章章

8、 基础知识基础知识 1.二进制的算术运算微型计算机只能执行二进制数的算术运算。因此,一个汇编语言程序设计员必须熟悉二进制数的格式与二进制数的运算规则。二进制加法:0+0=01+0=11+1=10(有进位)1+1+1=11(有进位)第第1 1章章 基础知识基础知识 例如,练习做01000001与00101010的加法,此处它们分别代表十进制数65与42。二进制01000001+0010101001101011十进制65+42107第第1 1章章 基础知识基础知识 将二进制和为的权相加,核对此二进制数的和确实是等于107。下面再练习另外一个例子。二进制00111100+00110101011100

9、01十进制60+53113第第1 1章章 基础知识基础知识 2.负数在微型计算机中数的正负号是用0和1表示的,0表示正号,1表示负号,并用最左边(最高)的位表示数的正负号。前面所提到的二进制数,其最左边(最高)的位都是零,所以均为正值。而负的二进制数,其最左边(最高)的位必须为1,且负数是以2的补码来表示的。二进制负数补码的求法是:将二进制负数的绝对值,各位取反(0变1,1变0)再加1。例如,下面以-65为例。第第1 1章章 基础知识基础知识 -65的绝对值+65:01000001各位取反:10111110加1:10111111(等于-65的补码)若直接将10111111的各位上1的“位权”值

10、加起来,将发现其结果并不是-65。事实上,在计算机内如果一个二进制数其最左边的位是1,则我们可以判定它为负数,并且是用补码表示。若要得到一个负二进制数的绝对值(称为真值),只要重复上述方法,即各位取反,再加1就可得到真值。第第1 1章章 基础知识基础知识 例如:二进制值:10111111(-65的补码)各位取反:01000000加1:01000001(+65的补码)微型计算机中的数都是用补码表示和运算的。采用补码的好处是加法和减法都可以统一为加运算。例如,将+65的补码与-65的补码相加,其结果将等于零。第第1 1章章 基础知识基础知识 01000001(+65的补码)+10111111(-6

11、5的补码)(1)000000008个位均为0,而最左边的进位1将自动丢弃。若有进位进入正负号位(最左面),且此正负号位又有进位产生的话,即双高位都有进位,则结果是正确的。微型计算机中二进制数的减法,是用加法实现的。方法是:将减数(补码)再求2的补码,即各位取反再加上1,然后将此结果与被减数相加。例如:65-42=65+(-42),-42的绝对值二进制数表示为00101010,所以,(-42)2的补码表示为11010110。第第1 1章章 基础知识基础知识 65+(-42)2301000001+11010110(1)00010111其结果等于23是正确的。此次仍然有进位进入正负号位,而且也有最高

12、位的进位产生。第第1 1章章 基础知识基础知识 若你对2的补码表示还不十分清楚,试考虑下面的问题。对于二进制数00000001,试加上何值才能使它等于00000000。就十进制而言,答案是-1。在二进制中,我们可以试用11111111:00000001+11111111(1)00000000第第1 1章章 基础知识基础知识 丢失进位1,结果为0正确,即可得知二进制数11111111是-1的2的补码,另有:0-(+1)-100000000-000000011111111100000000+1111111111111111第第1 1章章 基础知识基础知识 下面是二进制数补码按递减顺序排列的情况。+

13、300000011+2 00000010+1 00000001000000000-111111111-211111110-311111101第第1 1章章 基础知识基础知识 1.1.4 十六进制数及运算假设现在你想要观察存储器中某些存储单元的内容,想知道由相邻四个字节(也即两个字)所组成的二进制数值。由于四个字节是32个位的二进制数,如果用二进制数表示,显然位数太多,出现了难读、难写、难记的问题,现在分析如下:二进制:01011001001101011011100111001110十进制:59351191214第第1 1章章 基础知识基础知识 由于有些数需要用到两个数字,如11,12,14,所

14、以我们扩展数字系统,使得10=A,11=B,12=C,13=D,14=E,15=F。利用此种缩写方法,上述四个字节的内容就可以简洁地表示为:5935B9CE这种数字系统使用了“数字”0到9、A到F,由于共有16个数字,所以我们称它为十六进制表示法。表1-1列出了从0到15的二进制、十进制以及十六进制的表示法。第第1 1章章 基础知识基础知识 表1-1 二进制、十进制和十六进制表示法二进制十进制十六进制二进制十进制十六进制000000100088000111100199001022101010A001133101111B010044110012C010155110113D011066111014

15、E011177111115F第第1 1章章 基础知识基础知识 汇编语言使用了十六进制的格式。经过汇编的目标程序也是以十六进制表示所有的地址、机器指令码以及常数。在使用DOSDEBUG帮助调试程序时,同样也是使用十六进制格式表示所有地址和存储单元内容的。下面是一些十六进制算术运算例子。在十六进制中,是逢十六进位的。65 F F10FF+4+8+1+F+10+1AD 10 1E20 100第第1 1章章 基础知识基础知识 (1)十六进制的20等于十进制的32,十六进制的100等于十进制的256,而十六进制的1000则等于十进制的4096。(2)本书有关数的表示,通常是采用十六进制,例如,4BH,其

16、中,H表示十六进制,或加前缀说明写成Hex4B;在二进制中写成Binary01001011或01001011B;十进制中则写成75。以十进制表示时,通常前面不加前缀说明,后面也不加后缀说明。注意:在DEBUG状态下数、地址都默认为是十六进制,而不允许加后缀说明。第第1 1章章 基础知识基础知识 1.2 内存储器的管理方式内存储器的管理方式8086/8088汇编语言对内存储器的管理是按段进行的,段(Segment)是存储器中的一块区域,它的最大长度为64KB(1KB等于10248)。段的起始位置可以出现在存储器中的任一节边界位置(ParagraphBoundary)上,节边界位置是实际地址能被1

17、6整除的位置,例如,20000H,445F0H等,最后一位总是0H。第第1 1章章 基础知识基础知识 一般的程序均含有下列三个主要段。1.指令段(Code Segment)指令段内含有将要被执行的机器指令。一般来说,第一条可执行的指令通常位于指令段的起始位置。指令段寄存器(CS)则指示出指令段的起始位置。2.数据段(Data Segment)数据段内含有已定义的数据栏、常数、以及程序中所需要的工作区(即存放中间结果和结果的区域)。数据段寄存器(DS)指示出数据段的起始位置。第第1 1章章 基础知识基础知识 3.堆栈段(Stack Segment)在堆栈段内含有两种返回位置(即返回地址),一种是

18、程序返回系统的位置(地址),另一种则为被调用的子程序返回其主程序所需要的位置(地址)。堆栈段寄存器(SS)指示出堆栈段的起始位置。另外,还有一个段寄存器,称为附加段寄存器(ES),它具有特殊的用途。图1-1是SS、DS与CS寄存器的示意图,段与寄存器一般是以此顺序,但不一定非要按此顺序。第第1 1章章 基础知识基础知识 图1-1段与寄存器第第1 1章章 基础知识基础知识 图1-1中的三个寄存器分别含有每一个段的起始位置(地址),且各段都以节边界位置开始,即实际地址的最低位是Hex0。在一个程序中,存储器的所有存储单元的位置(地址)都是以相对于段的起始位置(地址)的差距来确定的。此种相对于段起始

19、位置的差距称为偏移量或偏移地址,本教材以后均采用偏移地址来描述这个差距值。差距的长度为两个字节(16个位),偏移地址所表示的范围可从Hex0000到HexFFFF,亦即十进制的0到65535。第第1 1章章 基础知识基础知识 所以在程序中出现的任何存储单元的位置(地址),都是以段寄存器的值(段起始地址)与偏移地址二者共同确定的。例如,位于指令段的第一个字的偏移地址为0000H,第二个字的偏移地址为0002H,依次类推,最大的偏移地址为FFFFH(即65535)。下面是一个计算存储器实际位置(物理地址)的例子,假设数据段寄存器的内容为045FH,且有一指令寻址到数据段中差距为0032H的位置。第

20、第1 1章章 基础知识基础知识 实际寻址到的位置(物理地址)如下所示:DS值:045F0H差距值:+0032H(偏移地址)物理地址:04622H说明:实际位置即实际地址,又称为物理地址,而差距值即偏移地址,又称为逻辑地址,今后指令中对存储器的访问都采用逻辑地址,简称地址或位址。第第1 1章章 基础知识基础知识 8086/8088CPU是如何产生1MB的存储单元地址呢?一个寄存器仅有16位,由于一个段的位置总是在节边界位置上,所以右边的四个位都是0。设计者将那些为0的位充分利用并把0省略掉。所以段寄存器虽然用nnnn来表示,但实际上微型计算机在寻址时把它右边再加上四个0而变成nnnn0。例如,十

21、六进制FFFF0就可产生1048576个字节的地址。可以将十六进制的F化成二进制1111,然后再将所有位置的1值按权加起来就可得出结果。由于80286微处理机使用的是24位的地址,所以它可寻址的范围是224,也即16MB存储单元。第第1 1章章 基础知识基础知识 1.3 寄寄 存存 器器8086/8088CPU总共有14个寄存器,用来控制指令的执行、帮助存储单元寻址以及提供算术运算的环境。每一个寄存器具有一个字(16位)的长度,并以寄存器名来访问。在系统中寄存器的位是由右向左顺序排列的,如:b15b14b13b12b11b10b9b8b7b6b5b4b3b2b1b0在80286与80386微处

22、理器系统中,有些寄存器位数超过16位,在此我们并不讨论它。第第1 1章章 基础知识基础知识 1.段寄存器:CS,DS,SS与ES段寄存器可提供64K存储单元的寻址,称为“当前的段”(CurrentSegment)。如前所述,段的起始位置是与内存节边界的地址对齐的,而且段寄存器所含的段起始位置(地址)省略了右边的四个0。所以在计算实际地址时,段寄存器的值最低位后要补四个0,然后与差距值(偏移地址)相加。第第1 1章章 基础知识基础知识 CS寄存器:指令段寄存器(CodeSegmentRegister),含有指令段的起始位置的地址。此段地址值低位补四个0,加上指令指针寄存器IP(Instructi

23、onPointer)的值,即差距值(偏移地址),就是将要被取出来执行的机器指令码在存储器中的物理地址。DS寄存器:数据段寄存器(DataSegmentRegister),含有数据段的起始位置的地址。此段地址值低位补四个0,加上指令中提供的差距值(偏移地址),可得到数据段中的某一个特指存储单元的物理地址。第第1 1章章 基础知识基础知识 SS寄存器:堆栈段寄存器(StackSegmentRegister),含有堆栈段的起始位置的地址。ES寄存器:某些字符串的运算需使用附加段寄存器(ExtraSegmentRegister)寻址存储单元,含义与功用和DS相同。ES寄存器是与DI寄存器配合使用,来寻

24、址内存的存储单元的。若需要用ES时,汇编语言程序必须先设定其初值。第第1 1章章 基础知识基础知识 2.通用寄存器:AX,BX,CX与DX按汇编语言程序编程的规则,通用寄存器是8086/8088CPU的工作主力。它们既可当成完整的字使用,亦可分成两个字节而单独使用,左边的字节为高字节(High),而右边的字节则为低字节(Low),可以使用三种名称中的任何一种来指明所使用的寄存器。例如:MOVCX,0000;0000送CX寄存器MOVCH,00;00送CX寄存器的高字节CHMOVCL,00;00送CX寄存器的低字节CL第第1 1章章 基础知识基础知识 AX寄存器:又称为累加器(PrimaryAc

25、cumulator),用于输入/输出操作、一些有关字符串的操作以及算术运算。例如,乘法、除法和移位指令均使用AX寄存器。除此之外,有些指令若使用AX寄存器的话,速度则会更快。AX:|AH|AL|BX寄存器:又称为基址寄存器(BaseRegister),因为它是唯一用于“寻址索引(Index)”的通用寄存器,以扩展寻址的方式进行。除此之外,它也供计算用。BX:|BH|BL|第第1 1章章 基础知识基础知识 CX寄存器:亦称为计数寄存器(CounterRegister),常用来控制循环重复的次数以及向左或向右移位的位数。CX也可以供计算用。CX:|CH|CL|DX寄存器:又称为数据寄存器(Data

26、Register)。某些输入/输出操作需要使用它。除此之外,在乘法、除法的运算中,当涉及较大数值时则将DX与AX配对使用。第第1 1章章 基础知识基础知识 3.指针寄存器:SP与BPSP与BP指针寄存器专门用来访问堆栈段内的数据,即专门提供堆栈段的差距值(偏移地址)。虽然它们也用来进行加法与减法运算,但很少这样使用。SP寄存器:堆栈指针(StackPointer)提供堆栈段的差距值(偏移地址)。SP是与SS配合使用来对堆栈段做寻址的。BP寄存器:基址指针(BasePointer)提供堆栈段的差距值(偏移地址),使得堆栈段的数据查找更为方便。第第1 1章章 基础知识基础知识 4.变址寄存器:SI

27、与DI变址寄存器(IndexRegister)可以用来延伸寻址范围和方式,还可以进行加法和减法运算。SI寄存器:又称为源变址(SourceIndex)寄存器,在进行某些字符串操作时需要使用它。此时,SI寄存器是与DS寄存器配合使用的。DI寄存器:又称为目的变址(DestinationSource)寄存器,与SI寄存器一样,也为某些字符串操作所必需,DI寄存器一般和ES寄存器配合使用。第第1 1章章 基础知识基础知识 5.指令指针寄存器:IP指令指针(InstructionPointer)寄存器含有将要执行的指令在指令段的差距值(偏移地址)。在正常情况下,用户一般不会使用它。但在使用DOSDEB

28、UG来调试应用程序时,可以改变它的值。IP寄存器也称为程序计数器。6.标志寄存器:PSW标志寄存器(FlagRegister),也称为状态寄存器(StatusRegister)或程序状态字(ProgramStatusWord)。许多有关比较与算术运算的指令会改变标志位的状态。表1-2是标志位的简介。第第1 1章章 基础知识基础知识 表1-2 标志位符号及说明标志位符号说明OF(Overflow)溢出表示在有符号算术运算时是否发生溢出DF(Direction)方向在比较或搬移字符串数据时,指示其地址操作方向为增值或减值IF(Interrupt)中断指示中断是否被允许或禁止TF(Trap)陷阱允许

29、CPU以单步(Single Step)的模式执行。例如,DOSDEBUG能一次执行一条指令。借此你可以很容易地检查每一条指令对寄存器或存储单元内容的影响第第1 1章章 基础知识基础知识 SF(Sign)符号为算术运算结果的正负号(1=负号,0=正号)ZF(Zero)零指示出算术或比较运算的结果(1=结果为0,0=结果不为0)AF(Auxiliary Carry)辅助进位从位3(b3)所产生的进位(1=有进位,0=无进位)PF(Parity)奇/偶校验指示运算结果中低8位的1奇/偶数校验(1=偶数,0=奇数)CF(Carry)进位在算术运算后最高位(最左)所产生的进位(1=有进位,0=无进位),

30、以及移位或循环移位运算时所移出的位的状态第第1 1章章 基础知识基础知识 1.4 微型计算机的硬件结构微型计算机的硬件结构 PC机硬件的主要部件有主机、键盘、显示器、磁盘机、打印机,以及通讯和游戏控制器配件等。系统主机包含主机板、电源以及扩充槽。主机板的组成如下所示:(1)微处理器(CPU)。(2)只读存储器ROM(Read-OnlyMemory)。(3)随机存取存储器RAM(RandomAccessMemory)。第第1 1章章 基础知识基础知识 扩充槽用来连接显示器卡、磁盘驱动卡、通讯通道、扩充存储器以及游戏卡等设施。键盘拥有自己的微处理器。当电源启动时,它会执行自我测试、键盘扫描。第第1

31、 1章章 基础知识基础知识 1.4.1 8086/8088微处理器(CPU)PC机的大脑是能执行所有指令与数据处理的Intel8086/8088微处理器。8086/8088微处理器使用的是16位寄存器。所以,它一次可以执行两个字节。基本上,8088和8086是类似的,但有一点不一样,8088微处理器仅提供8位数据线(Bus)作为微处理器、存储器与外部装置之间的数据传输。此种限制增加了数据传送的时间,但其设计方式较为简单。80286与80386是8086的高版本微处理器。第第1 1章章 基础知识基础知识 微处理器可分成执行单元EU(ExecutionUnit)和总线接口单元BIU(BusInte

32、rfaceUnit),如图1-2所示。EU所扮演的角色是执行指令,而BIU的角色则是提供指令和数据给EU。EU内含一个算术、逻辑运算单元ALU(Arithmetic and Logic Unit)、一 个 控 制 单 元CU(ControlUnit)和十个寄存器,这些是用来提供帮助指令执行算术运算以及逻辑(大于、小于和等于的比较)运算所需的部件。第第1 1章章 基础知识基础知识 图1-28088执行单元与总线接口单元第第1 1章章 基础知识基础知识 BIU是由总线控制接口单元(BusControlUnit)、指令预取队列以及段寄存器所组成的。此三种单元分别控制三个重要功能,第一是控制传送数据给

33、EU、存储器以及外部输入/输出部件的总线;第二是四个段寄存器控制寻址的工作,可提供高达1MB的存储单元寻址空间;第三个功能是控制指令存取,由于所有程序指令均存放在存储器中,BIU必须从存储器中取得指令并将之存入指令预取队列内。因为指令预取队列有4个字节,所以BIU可以预先提取指令,使得指令预取队列永远处于等待执行状态。第第1 1章章 基础知识基础知识 EU与BIU是以并行方式工作的,而BIU保持领先一个步骤。当EU需要从存储器或I/O设备存取数据时,它会通知BIU。EU也向BIU指令队列请求提供机器指令。当前可执行的指令则放在指令队列的顶端。当EU执行指令时,BIU同时也从存储器中取出另一条指

34、令,此种取指令与执行指令重叠操作的方式可提高处理器的处理速度。第第1 1章章 基础知识基础知识 1.4.2 内存储器典型的微机系统均含有两种内部存储器,第一种是只读存储器ROM(Read-OnlyMemory)。ROM是一种特殊芯片,它仅能进行读操作。因为数据是永久性地“烧制在存储器芯片”上的,所以无法改变。ROM的主要目的是处理开机程序,当接通主机电源后,ROM就执行各种核对事项(即自检),并从系统磁盘将系统程序读入内存储器(RAM)中。为了达到系统程序规范的目的,ROM还提供另一项重要功能系统基本输入/输出BIOS(BasicInput/OutputSystem)。第第1 1章章 基础知识

35、基础知识 另一种存储器是与程序设计员有密切关系的随机存取存储器(RAM),它用来存储正在执行的程序和数据。因此,用户可以将它视为一块工作区。一般所说的内存即RAM,也称为读/写存储器。RAM是一种断电后信息立即丢失的存储器,即当主机电源关闭后,存放在RAM中的信息会完全消失。所以,为了保存程序与数据,必须借助于外部存储设备,例如磁盘或磁带。假设你希望以硬盘上的DOS系统管理微机,当把主机电源打开时,此时ROM中的系统引导程序会将主要的DOS程序装入RAM内,接着再回答DOS所提示的日期,第第1 1章章 基础知识基础知识 接下来你就能进行DOS操作了,即使用DOS命令做你想做的事情。例如,要求D

36、OS从磁盘上输入一个程序到RAM中(因为DOS程序只占用RAM的一部分,所以尚有空间存放其他程序)。你的程序在RAM中执行,并把输出送往屏幕、打印机或磁盘。当程序结束后,你可以再要求DOS输入另一程序至RAM中执行,尽管此操作覆盖掉RAM中原先的程序,不过没关系,因为原先的程序已被预存在磁盘上。第第1 1章章 基础知识基础知识 1.4.3 存储器的配置由于段长度可达64K,而且8088微处理器有四种功能的段寄存器,所以可供使用的RAM容量为464K或256K。但实际上,段的数目可以是任意多个,只要更改段寄存器内的内容,就可以寻址到其他段。RAM存储器覆盖整个存储器容量的前3/4,而ROM则包含

37、在后1/4。例如,图1-3是PC机存储器分布图,前256K是位于主机板上的RAM存储器。第第1 1章章 基础知识基础知识 因为RAM中的一部分是保留给ROM作屏幕显示用,所以你只有640K的可用空间。从768K位置以上,系统保留给ROM,它管理系统输入/输出设置,如硬盘控制器等。而从960K开始则为控制微型计算机的基本功能,如电源测试、图形以及磁盘输入/输出功能等。以后对于RAM的叙述将以一般术语“存储器”或“内存”来代替。第第1 1章章 基础知识基础知识 图1-3存储器实际地址空间分配第第1 1章章 基础知识基础知识 1.4.4 微处理器对字的定址存储单元的位置(也称地址)是从0开始编号的,

38、也就是距段起始处的差距值。微处理器以字节、字的方式来存取存储器中的数据,称为访问内存。对于小于或等于一个字节的数据(0255、十六进制00FF),微处理器的定址没有疑问,一个地址对应一个字节。但对于大于一个字节的数据,如十进制数1025,其十六进制表示为0401,需要使用两个存储单元即一个字,其中包含高字节部分的04和低字节部分的01。第第1 1章章 基础知识基础知识 应注意,系统是以反向顺序将这两个字节存储在存储器的一个字单元中,低字节01存放在低地址的存储单元中,而高字节04存放在高地址的存储单元中。假设微处理器从寄存器中把十六进制的数据0401存储在存储器的1012与1013的位置上,其结果为:XX0104XX第第1 1章章 基础知识基础知识 位置(差距值、偏移地址):1011101210131014微处理器也是假设存储器的数据以反向字节的方式排列,且以此种方式来处理数据。尽管此性能是自动的,但当你在编写程序和对程序调试时,应将这个事实谨记在心。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com