第1章基础知识(精品).ppt
《第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的位置。第
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基础知识 精品
限制150内