《微机原理复习文档资料》由会员分享,可在线阅读,更多相关《微机原理复习文档资料(35页珍藏版)》请在金锄头文库上搜索。
1、微机原理复习一.数制转换带符号数的表示:原码、反码及补码十进制-二进制整数部分除2(基)取余法例:19D=?B 高高 低低 余数余数 19D = 所以,我们可以得到:所以,我们可以得到:10011B192 =9 1 92 = 4 142 = 2 0 22 = 1 0 12 = 0 1小数部分乘2(基)取整法例:0.625D=?B0.6252 = 1.25 1 0.25 2 = 0.5 00.5 2 = 1.0 1 低低 高高 整数整数 0.625D = 所以我们可以得到:所以我们可以得到:0.101B二进制转换为十六进制数二进制转换为十六进制数例:1110110101100.10101B=?H
2、 1110110101100.10101 0001110110101100.10101000 1 D A C . A 81110110101100.10101B = 1DAC.A8H四位一化,两头补0十六进制转换为二进制数十六进制转换为二进制数例:39F.E1AH=?B 3 9 F . E 1 A001110011111 . 111000011010= 11 1001 1111.1110 0001 101B39F.E1AH = 0011 1001 1111.1110 0001 1010B任意进制转换为十进制按权展开求和。如:10101.101B=124+122+120+12-1+12-3=16
3、+4+1+0.5+0.125=21.625D19B.ABH=1162+9161+11160+1016-1+1116-2=256+144+11+0.625+0.04296875=411.66796875D带符号数用0表示正数,用1表示负数,这种表示数的方法,称为带符号数的表示方法,所表示的数称为带符号数。可以有原码、反码和补码。带符号数的表示形式(以下为原码)22221 0 0 1 0 1 1 00 0 0 1 0 1 1 0符符号号位位数值部分数值部分符符号号位位数值部分数值部分(2)反码定义:正数的反码就等于它的原码;负数的反码在其正数原码的基础上按位求反对正数X=+X6X5X4X3X2X1
4、X0(Xi=0或1)反码X反码=0X6X5X4X3X2X1X0对负数对负数 X=X6X5X4X3X2X1X0 (Xi = 0 或或 1) 反码反码 X反码反码=(3)补码定义:正数的补码就等于它的原码;负数的补码在其正数原码的基础上求反1对正数X=+X6X5X4X3X2X1X0(Xi=0或1)补码X补=0X6X5X4X3X2X1X0对负数对负数 X=X6X5X4X3X2X1X0 (Xi = 0 或或 1) 补码补码 X补补= X反反+1 =1例:X1=1001001X2=1001001则:X1原原 = 0100 1001 X1反反 = 0100 1001X1补补= 0100 1001 X2原原
5、 = 1100 1001 X2反反 = 1011 0110 X2补补 = X反反+1 = 1011 0111求补的方法二:从右边开始首先碰到的0和第一个1不变,其余按位求反。真值与补码之间的转换例X补=10101101,求真值X。解:因为补码的首位是1,则其真值X即为负数X反=X补1=101011011=10101100X原=01010011所以,X=1010011二.标志寄存器(PSW或FR)标志寄存器是一个16位寄存器,其中9位作为标志位:其中6个状态标志由EU(执行部件)设置,反映ALU算术或逻辑运算结果的某些特征;其他3个是控制标志位,用来控制微处理器的某些操作,可以由指令设置。6个状
6、态标志位CF进位标志,加法时的最高位(D7或D15)产生进位或减法时最高位出现借位,则CF=1,否则CF=0;AF辅助进位标志,供BCD码使用。当D3位出现进位或借位时AF=1,否则AF=0;OF溢出标志,带符号数进行算术运算时,其结果超出了8位或16位的表示范围,产生溢出,则OF=1,否则OF=0;6个状态标志位ZF零标志,运算结果各位都为零,则ZF=1,否则ZF=0;SF符号标志,运算结果为负数时,即运算结果的最高位为1,则SF=1,否则SF=0;PF奇偶标志,反映操作结果中“1”的个数的情况,若有偶数个“1”,则PF=1,否则PF=0。3个控制标志位DF方向标志,用来控制数据串操作指令的
7、步进方向;当设置DF=1时,将以递减顺序对数据串中的数据进行处理。当设置DF=0时,递增。IF中断允许标志,当设置IF=1,开中断,CPU可响应可屏蔽中断请求;当设置IF=0时,关中断,CPU不响应可屏蔽中断请求。TF陷阱标志,为程序调试而设的。当设置TF=1,CPU处于单步执行指令的方式;当设置TF=0时,CPU正常执行程序。例题设DS=1000H,SS=2000H,AX=1A2BH,BX=1200H,CX=339AH,BP=1200H,SP=1352H,SI=1354H,(11350H)=0A5H,(11351H)3CH,(11352H)=0FFH,(11353H)=26H,(11354H
8、)=52H,(11355H)=0E7H,(126A4H)=9DH,(126A5H)=16H,(21350H)=88H,(21351H)=51H,求以下各指令执行后的值。(1)ADDSI,CX(11354H)=?(11355H)=?SF=?ZF=?CF=?OF=?答:EA=SI=1354H;DS=1000H内存单元的字地址内存单元的字地址=100010H+1354H=11354H该内存单元的字该内存单元的字=0E752H而,而,CX=339AH;答:该内存单元的字该内存单元的字= E 7 5 2 HCX= 3 3 9 A H+)+)1 A E C HCF=1所以执行指令后,所以执行指令后,(11
9、355H)=1AH,(11354H)=0ECH同时,因为执行加法指令后最高位同时,因为执行加法指令后最高位 = 0,所以,所以,SF=0,ZF=0,又因为这是两个不同符号的数相加,又因为这是两个不同符号的数相加, 故,故,OF=0判溢出的简单规则:判溢出的简单规则: 当两个相同符号数相加(含两个不同符号数相减)当两个相同符号数相加(含两个不同符号数相减)而运算结果的符号与原数据符号相反时,才产生溢出。而运算结果的符号与原数据符号相反时,才产生溢出。设原AL=79H,BH=0B3H,求执行指令ADDAL,BH后,AL=?BH=?各个标志位的值?解:79H= 0111 1001B+) B3H= 1
10、011 0011B0010 1100B1所以,所以,AL=0010 1100B=2CH,BH=0B3HSF=0, ZF=0,AF=0,PF=0,CF=1,OF=0。立即寻址只用于指令的源操作数MOVAL,26H寄存器寻址操作数包含在寄存器中MOVAL,26H存储器操作数寻址直接寻址MOVAX,1234H说明:根据指令EA=1234H,段地址即取当前数据段DS,设DS=2000H,则20位物理地址=DS10H+1234H=21234H,该指令的功能就是将内存单元(21234H)的字内容传送到寄存器AX中,也可表示为:(2000H:1234H)=66A1H,也就是将66A1H送AX,因此,当执行完
11、该指令后,AX=66A1H21234H20000H当前数据段A1H21235H66HFFH内存单元地址内存单元地址 内存单元内容内存单元内容寄存器间接寻址有效地址EA的内容由寄存器内容给出,称为内存寻址中的寄存器间接寻址。*寄存器应带有方括号。如MOVAL,BX;EA=BXMOVAX,SI;EA=SIMOVAX,DI;EA=DI*求物理地址的方法与内存寻址中的直接寻址方法一样。寄存器相对寻址EA由指令中给出的基址/变址寄存器和位移量组成。如:MOVAL,BX+0120H ;EA=BX+0120H通式(其中D为位移量):EA=+DBPDISIBX基址变址寻址有效地址EA由基址寄存器基址寄存器和变
12、址寄存器变址寄存器组成。如:MOVAL,BX+SI;EA=BX+SI或MOVAL,BXSI ;EA=BX+SI通式:EA=DISI+BPBX 相对基址变址寻址EA由基址寄存器、变址寄存器和位移量组成。如:MOVAL,BP+DI+20H;EA=BP+DI+20H或MOVAL,20HBPDI;EA=BP+DI+20H通式:EA=DISIDBPBX+ 例题指出各指令中源操作数和目的操作数的寻址方式,并说明操作数的类型(字节或字数据)。MOVBX+0100H,CX答:源操作数是源操作数是寄存器寻址寄存器寻址;目的操作数是内存寻址中的目的操作数是内存寻址中的寄存器相对寻址寄存器相对寻址,EA=BX+01
13、00H;传送的是传送的是字数据字数据。Y Y = A BO& &ABAY Y = AO1Y Y = A + B1ABABY Y = A B& &BY Y = A + BO1AB某8086单板机部分存储器与CPU连接示意如图1所示:(1)写出存储器芯片容量,(2)写出芯片的地址范围,并指明其译码方式,说明原因。若有地址重叠,同时写出所有重叠的地址范围。Y4Y6(1)由图可知,4个芯片的存储容量一样。由D0D7知芯片的数据引脚为8个,每个存储单元8位。由地址引脚A0A12知芯片的地址引脚为13个,有2138K个存储单元。所以每个芯片的容量为8KB或8K8位。(2)部分译码。当A190时,两片ROM
14、的基本地址为10000H13FFFH,其中的偶地址是(1)片的基地址范围,奇地址是(2)片的基地址范围。两片RAM基本地址范围为18000H1BFFFH,其中的偶地址是(1)片的基本地址范围,奇地址是(2)片的基本地址范围。重叠地址,当A191时,两片ROM的基本地址为90000H93FFFH,其中的偶地址是(1)片的基地址范围,奇地址是(2)片的基地址范围。两片RAM基本地址范围为98000H9BFFFH,其中的偶地址是(1)片的基本地址范围,奇地址是(2)片的基本地址范围。已知电路图,要求:(1)指出8255A的PA、PB、PC口地址和控制口地址。(2)编程序,当开关接至位置PB0PB6导
15、通时,数码管显示相应的数字17。当开关接至PB7导通时,退出程序。(1)8255A地址:(2)DATASEGMENTTABLEDB06H,5BH,4FH,66H,6DH,7DH,07HDATAENDS;代码段MOVAX,DATAMOVDS,AXMOVAL,82HMOVDX,8FHOUTDX,ALAGAIN:MOVDX,8BHINAL,DXTESTAL,80HJNZEXITMOVCX,7MOVBX,0NEXT:SHRAL,1JCBRIGHTINCBXLOOPNEXTJMPAGAINEXIT:MOVAH,4CHINT21HBRIGHT:MOVAL,TABLEBXMOVDX,89HOUTDX,ALJ
16、MPAGAIN已知电路图,要求:(1)某CPU使用地址总线A9A0,其和8253芯片的连接如图所示,请计算8253的4个端口地址。(2)设8253的0#计数器作为十进制计数器用,其输入计数脉冲频率为100KHz,要求0#计数器输出频率为1kHz的方波,试写出设置8253工作方式及计数初值的有关指令(初始化)。8253的4个端口地址:200H201H202H203H计数初值100方式控制字:0通道读写16位数据方式3十进制00110111B=37H(1) 8253的4个端口地址:200H201H202H203H(2)初始化程序:MOVAL,37HMOVDX,203HOUTDX,AL;送方式控制字
17、到控制口MOVAL,00HMOVDX,200HOUTDX,ALMOVAL,01HOUTDX,AL;送计数初值到通道0所以27128地址范围:0010000000000000000000100011111111111111即20000H23FFFH如图是某一如图是某一8088系统的存储器连接图,试确定其中各芯片的系统的存储器连接图,试确定其中各芯片的地址空间。地址空间。解解: (1)27128是是ROM ,没有没有WR,Y0 0选中该片;选中该片;该片该片14条地址线,其基本地址条地址线,其基本地址00 0000 0000 0000 11 1111 1111 1111;高高6位:位:A19A18
18、 00;A17 1;A16A15 A14000;0011000000000000000000110001111111111111即30000H31FFFH解:解: (2)6264是是SRAM,13条地址线,用条地址线,用2片,片, 基本地址基本地址0 0000 0000 00001 1111 1111 1111;16264的高的高7位:位: A130 且且Y40有效选中此片,有效选中此片,则则A16A15 A14100;A19A18 0;A17 1;16264地址范围:地址范围:26264地址范围:0011001000000000000000110011111111111111即32000H33FFFH解:解: (2)6264是是SRAM,13条地址线,用条地址线,用2片,片, 基本地址基本地址0 0000 0000 00001 1111 1111 1111;A131 且且Y40有效选中此片,有效选中此片,2 6264的高的高7位:位:则则A16A15 A14100; A19A18 00; A17 1;