预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

微机原理复习.内部资料,转载请注明出处,谢谢合作。Intel8086/8088中的寄存器组Intel8086/8088内部由执⾏单元EU和总线接⼝单元BIU两部分组成。执⾏单元负责指令的执⾏,⽽总线接⼝单元负责与内存储器、外部设备接⼝,执⾏所有的总线操作。应⽤时直接使⽤的是它们中的寄存器组。通⽤寄存器是CPU内部的存储器,使⽤最多,应掌握它们的使⽤⽅法。通⽤寄存器组的专门⽤途应在今后的学习中逐渐理解后掌握,切勿现在就死记硬背。标志寄存器中的6个状态标志位(CF、ZF、SF、OF、PF和AF)反映了执⾏单元执⾏算术或逻辑运算的结果,供后⾯的执⾏来判别。其中最主要的是要搞清楚溢出标志位OF和进位标志位CF的置位⽅式及它们的区别。参与运算的数不论⽆符号数还是符号数,计算机都按符号数置位溢出标志,按⽆符号数置位进位标志。运算结果超出了字或字节所能表⽰的范围时,即字运算结果超出了8000H~7FFFH,字节运算结果超出了80H~7FH时溢出,OF置1,否则OF置0。对加运算来说,如最⾼位向前产⽣了进位,则进位标志置1,否则置0;对减运算来说,最⾼位向前产⽣了借位即不够减,则进位标志置1,不产⽣借位即够减进位标志置0。存储器存储器是按字节编址的,即每⼀个字节都有⼀个确定的地址号,称为此字节的物理地址,并约定字地址是由两个字节地址中较⼩的⼀个确定。字数据在存储器中的存放⽅式是:两个连续地址单元中,较⼩地址中存放的是字的低8位,⾼8位存放在较⼤地址单元中,⼀定不能弄颠倒。双字或多字节数据的存放原则是数据的低位在低地址,数据的⾼位在⾼地址;且其中的最低地址是该数据的地址。8086/8088中的存储器容量最⼤可达1M字节,因⽽物理地址必须⽤20位⼆进制数表⽰。但CPU内部的寄存器都是16位的,因此在程序中不直接使⽤物理地址⽽使⽤逻辑地址,即段地址:偏移地址。段地址存放在4个段寄存器中,偏移地址可以存放在6个寄存器(IP、SP、BP、SI、DI、BX)中,在形成物理地址时应该使⽤哪个寄存器是总线接⼝单元根据操作的要求来确定的。堆栈堆栈由存储区和⼀个指⽰器组成。堆栈的存储区⼀端封闭、⼀端开⼝,数据的存取(进出)只能在开⼝端进⾏,存(进)取(出)原则为“先进后出”。8086/8088允许建⽴的堆栈段最⼤可达64K字节,堆栈只能作字操作⽽不能作字节操作。由于堆栈也是存储器的⼀个区域,所以不对堆栈区域的存储器进⾏栈操作就没有“先进后出”和字操作的限制。堆栈存储区的位置由堆栈段寄存器SS给定,并⾃动使⽤SP作指⽰器。堆栈指⽰器SP所指的单元称为栈顶,执⾏栈操作存取数据均在栈顶进⾏。1.写出下列⼗进制数的原码和补码,⽤⼆位或四位或⼋位⼗六进制数填⼊表中:⼗进制数原码补码1812h12h-1892h0EEH301EH1EH-309EH0E2H34715BH15BH-347815BH0FEA5H解:求补码的计算如下:18=16+2=12H-18=EEH(对12H求补)30=32-2=20H-2H=1EH-30=-1EH=E2H(对1EH求补)347=400-53=190H-35H=15BH-347=FEA5H(对15BH求补)2.⽤⼗进制数写出下列补码表⽰的机器数的真值:1BH,71H,80H,F8H,解:正数的真值,将⼗六进制数转换为⼗进制数即可。负数的真值,⾸先将该数求补,前⾯加⼀负号,再将求补后的⼗六进制数转换为⼗进制数。1BH=16+11=2771H=80H-15=128-15=11380H=-80H=-128F8H=-08H=-83.⽤补码运算完成下列算式,并指出运算结果是否产⽣了溢出:(1)33H+5AH(2)-29H-5DH(3)65H-3EH(4)4CH-68H解:(1)33H+5AH=8DHCy=0,Cs=1,OF=1,溢出;⼆进制算式如下:(2)-29H=D7H,-5DH=A3H;-29H-5DH=D7H+A3H=7AHCy=1,Cs=0,O=1,溢出⼆进制算式如下:(3)-3EH=C2H;65H-3EH=65H+C2H=27HCy=1,Cs=1,O=1,⽆溢出⼆进制算式如下:(4)-68H=98H;4CH-68H=4CH+98H=E4HCy=0,Cs=0,O=0,⽆溢出⼆进制算式如下:4.将表中的⼗进制数按表中要求转换后⽤⼗六进制数填⼊表中:⼗进制数压缩BCD数⾮压缩BCD数ASCII码3838H0308H3338H9797H0907H3937H105105H010005H313035H解:填表如下:⼗进制数压缩BCD数⾮压缩BCD数ASCII码3838H0308H3338H9797H0907H3937H105105H010005H313035H5.假设⽤户程序装⼊内存后SS=095BH、SP=40H,试问该⽤户程序的可⽤栈底部物理地址是多少