第1章、微型计算机基础知识§1.1 微机的一般概念和基本组成(一)冯. 诺依曼结构计算机从第一代电子计算机开始到现代计算机,其制造技术发生了极大的变化,但我们目前使用的各类计算机大都沿用了冯. 诺依曼结构。
概括起来冯. 诺依曼结构有如下要点:1、采用二进制形式表示数据和指令;2、将程序(包括数据和指令序列)事先存储到主计算机内,即:程序顺序存储方式;论文:程序控制、存储程序3、计算机系统由运算器、控制器、存储器、输入和输出装置等组成。
(二)微型机的基本组成微型计算机系统由计算机硬件系统和软件系统组成。
(微机系统、微机、CPU)P3微型计算机系统的硬件由微型计算机(主机)和外围(输入、输出)设备组成。
主机由:CPU(中央处理器:算术、逻辑运算部件;累加器、寄存器;控制部件;内部总线);主存储器(ROM、RAM);输入、输出接口;系统总线组成。
微型计算机系统的软件由系统软件、工具软件和应用软件组成。
CPU是计算机的心脏。
是一片超大规模集成电路芯片,它的功能直接决定了计算机的性能好坏。
CPU的主要功能:●可进行算术、逻辑运算;●临时保存数据;●能对指令进行译码,并执行规定的动作;●能与内存或外设交换数据;●能提供整个系统需要的定时和控制;●可以响应其它设备的中断请求CPU的主要参数有:(1)主频(2)一次能处理的数据位数。
它由CPU的数据线条数决定。
(3)能带多少存储器和I/O口。
它由CPU的地址线条数决定。
如:Pentium 80586 CPU为32位CPU,主频可为60MHZ,可带4GB存储器。
Pentium pⅡCPU为32位CPU,主频可为130MHZ。
PC/XT机,CPU是Inter 8086,16位,主频8MHZ,可1MB存储器。
存储器用来存储程序和数据。
存储器分内存和外存。
(1)内存CPU用地址线直接访问的存储器称内存,内存又分RAM和ROM。
ROM是只读存储器,其中存放的程序和数据是计算机生产厂用特殊方式写入的,计算机不加电时也不丢失。
RAM叫可读可写存储器,RAM中一般存放用户开发的程序和数据,只要一掉电,RAM中的数据全部丢失。
人们常说的计算机容量,就是指内存。
(2)外存外存是CPU用输入输出方式存取的存储器。
一般指软盘和硬盘。
它的特点是容量大,速度慢,价格低。
目前软盘的容量一般为1.4MB(兆字节),硬盘一般达到10GB(10千MB)。
总线是连接多个装置或功能部件的一组公共信息通道。
微机中一般有三种总线:地址总线其条数,决定了系统能配带多少存储器;每一个存储单元都有一个确定的地址,该地址就是通过地址线描述的。
数据总线其条数,决定了机器的字长;控制总线如:8086CPU有20条地址线,16条数据线。
直接寻址1M字节存储器,一次能处理16位二进制数据。
§1.2 计算机中的数和码(一)计算机中常用的编码1、BCD码BCD码是一种用二进制表示的十进制数。
从四位二进制数表示的数:0000--1111中选出0000--1001分别表示十进制中的0--9这十个数码,它们就是BCD码。
2、ASCII码计算机中的一些符号,如:大小写英文字母,各种专用符号:+、-、*、/、(、)、[、],汉字,图形符号等等都叫非数值数据。
在计算机中非数值数据也要用二进制表示。
如人们敲键盘输入计算机中的信息就是二进制数。
所有外不设备输入计算机的都是用二进制数。
为了使不同生产厂商生产的外部设备如键盘、显示器等能通用,同时人们输入的程序和数据能共享,大家都能看懂,对输入计算机的非数值信息必须采用大家都共识,共同规定的方案去编码。
ASCII码现在用得最广泛的西文编码方案是ASCII码,即美国标准信息交换码。
在这种编码方案中,用八位二进制数来表示一个ASCII码,其中最高位为0,余下的七位代表128个不同的字符,其中95个(编码值大于31的)编码代表键盘能敲入并且能显示的,打印机也能打印的95个字符。
如大小写各26个字母,0—9这十个数字符,通用的运算符和标点符号+,-,*。
/,>,<,(,),[,],:,;,?等等。
余下的33个(编码值为0---31和127)作为控制码。
3、汉字编码汉字在计算机中也用二进制数表示。
不过汉字的编码不能与ASCII码相同,为此汉字在计算机内,目前用两个八位二进制数表示,且每个二进制数的最高位必须是1,余下的七位对应的十进制数值必须大于32。
这种编码可以经过国标码(我国于1980年制定的信息用汉字编码字符集.基本集:GB2312—80)得到或从区位码得到。
(二)计算机中数的表示1.计算机中的进位计数制(1)进位计数制的表示法日常生活中用十进制计数,除了符号位用+、-号外,只用0、1、2、------9这十个符号。
要表示大于十的数,还必须规定数字排列规则,如345中的3处于百位,它代表3百,可用3*102来表示,其中102代表百位数的位权。
4处于十位,它代表4个十,可用4*101来表示,其中101代表十位数的位权,5处于个位,可用5*100,其中100代表个位数的位权。
于是345可写成:(345)10=3*102+4*101+5*100=∑a*R ii其中:ai为0或1,R为基数,对十进制数R=10对于任意数制,一般情况下有:对于二进制数,它只有两个符号:0和1。
当某一位的值增加到2时,向高一位进1,本位变0。
即,运算法则是:逢二进一。
各位位权是:1、2、4、8、16、32、64、128---等。
二进制数由排列起来的0和1组成。
如二进制数:(1010)2=1*23+0*22+1*21+0*22=(10)10对八进制数,有八个符号:0--7;运算法则是:逢八进一;位权分别是:1、8、64、512等。
如八进制数:(1625)8=1*83+6*82+2*81+5*80=(907)10对十六进制数,有16个符号:0--9、A、B、C、D、E和F;运算法则是:逢16进一;位权分别是:1、16、256、4096等。
如十六进制数:(1A2F)16=1*163+10*162+2*161+15=(6703)10(2)进位计数制的转换十进制转换成R进制法则:整数部分:除R取余小数部分:乘R取整二进制转换成十进制法则:若要将二进制数转换成十进制数,只要将那些不为0的数位的位权相加即可。
例(10110011)2=27+25+24+21+20=128+32+16+2+1=(179)10由此可知:若要将R进制数转换成十进制数,只要将那些不为0的数位a i乘其该位位权a i,再累加求和即可。
例:2a8H=2*256+10*16+8=512+160+8=680D二进制转换成八进制法则:从小数点开始,三位变一位二进制转换成十六进制法则:从小数点开始,四位变一位八进制转换成二进制法则:一位变三位十六进制转换成二进制法则:一位变四位例:(10110011.0010101)2=263.124O =B3.2AH(3)二进制运算法则二进制的运算法则是:逢二进一0+0=0 1+0=1 0+1=1 1+1=100*0=0 1*0=0 0*1=0 1*1=1例:01010101+00111011=1001000001010101+0011101110010000练习:加、减、乘、除2.带符号数的表示(1)机器数数,除了有多少外,还有+、-符号。
因此,在计算机中要表示一个完整的数,其符号也得用二进制数来表示,机器中这样的数叫机器数。
一般机器数的最高位用来表示数的符号:1表示负数,0表示正数。
机器数中余下的二进制位叫数值位。
如: 01010001符号位数值位机器数所代表的有符号数的大小,就是该机器数的真值。
用机器数来表示一个数,可采用不同的码制(即:“数值位”表示1、2、3……等等的编码方式叫码制),一个数(一个真值)若用不同码制来表示,其机器数是不相同的。
反过来说:一个机器数,可能代表多个真值。
常用的码制有:原码、反码、补码等。
(2)原码若数值位直接以无符号二进制数的方式编码,这样的机器数的表示法叫原码。
(3)反码规定:正数的反码与其原码相同,负数的反码是其对应的原码按位取反所得。
如:(00000101)原对应的反码也是(00000101)反(10000101)原对应的反码是(11111010)反(00000101)原和(00000101)反对应的真值都是+5(10000101)原对应的真值是-5(11111010)反对应的真值也是-5而(10000101)反对应的真值是-234可见:一个数(如:-5)用原码和反码表示时,其机器数是不同的。
因此,问:机器数:10000101的真值是多少?是不确切的。
(4)补码(补码为其反码加1。
)(正数的补码与其原码相同,负数的补码为其反码加1。
)如:(0)补=00000000B;(127)补=01111111B;(-1)补=11111111B;(-127)补=10000001;(-128)补=10000000(5)移码将补码的符号取反就是移码。
带符号数的表示及意义(位数固定如4位,8位):(1)表示方法(2)进位与溢出(3)如何判断进位与溢出3. 定点数和浮点数(1)定点数机器数中若将小数点的位置固定在数值位的最左边或最右边,而采用默认的方式,小数点不占数位,即机器数中不出现小数点,这就是定点数。
小数点放在数值位的最左边叫纯小数或定点小数;小数点放在数值位的最右边叫纯整数或定点整数。
(2)浮点数:P f P S f S阶符阶码尾符尾数第2章 Intel8086微处理器§2.1 8086的编程结构(一). 8086编程结构8086CPU从编程功能上看可以分成两部分:总线接口BIU和执行单元EU。
两部分功能(二)总线接口部件功能:负责与CPU外部传送数据(ROM,RAM,IO)4个段寄存器:CS(代码)、DS(数据)、ES(扩展)、SS(堆栈)指令指针寄存器IP20位加法器指令队列缓冲器8086CPU外部有20条地址线,但内部只有16条线,所有寄存器均是16位的,它无法直接处理20位的地址的。
因此,8086的设计者是这样来设计的:按64K字节为一段,将1M内存分成很多段。
若CPU要对访问一个存储器,将一个存储器的物理地址(20位二进制数地址)分成两部分:16位二进制位的段地址和16位二进制位的段内偏移地址。
一般将段地址放入段寄存器,段内偏移地址放入BP、BX、SI或DI之中。
且有:物理地址=段地址*16+段内偏移地址例:P1 2.3(三)执行部件4个通用寄存器:AX、BX、CX、DX4个专用寄存器:堆栈指针寄存器SP、基数指针寄存器BP、源变址寄存器SI、目标变址寄存器DI 标志寄存器PSW(F)所有寄存器均是16位的。