东北大学汇编语言第03章微型计算机的结构.ppt

上传人:max****ui 文档编号:11820859 上传时间:2020-05-03 格式:PPT 页数:42 大小:378.50KB
返回 下载 相关 举报
东北大学汇编语言第03章微型计算机的结构.ppt_第1页
第1页 / 共42页
东北大学汇编语言第03章微型计算机的结构.ppt_第2页
第2页 / 共42页
东北大学汇编语言第03章微型计算机的结构.ppt_第3页
第3页 / 共42页
点击查看更多>>
资源描述
第三章微型计算机的结构,3.1微处理器的结构(8086/8088)3.2存储器(组织)3.3寻址方式3.4指令系统(概括),3.1微处理器的结构,3.1.18086/8088CPU的结构3.1.28086/8088的寄存器,3.1.18086/8088CPU的结构,地址形成与总线控制,8086/8088总线,ALU总线,暂存寄存器,暂存寄存器,暂存寄存器,EU控制逻辑,指令队列,总线接口单元(BIU),执行单元(EU),CPU执行程序的过程,从内存取指令,执行指令,从内存取指令,执行指令,从内存取指令,执行指令,传统CPU执行指令的过程,现代CPU执行指令的过程,3.1.28086/8088CPU的寄存器,8086/8088的寄存器分为4种类型:(1)通用寄存器(2)指针和变址寄存器(3)段寄存器(4)标志寄存器,(1)通用寄存器,(2)指针与变址寄存器,(3)段寄存器,(4)标志寄存器,标志寄存器长度为16位,其中9个位有定义。,CF,CarryFlag,进位标志,两数相加,最高位向前的进位;或两数相减最高位向前的借位,举例:,AF,AuxiliaryCarryFlag,辅助进位标志,两数相加,第3位向前的进位;或两数相减第3位向前的借位,举例:,000010010001100000010001,+,000000000000000111111111,PF,ParityFlag,奇偶标志,两数操作(算术或逻辑),结果的低8位中含有1的位数是偶还是奇.举例:,100001011010110010011101100101111000010110000100,AND,结果:PF=1,ZF,ZeroFlag,零标志,操作结果的为0则ZF为1.举例:,111111110000000100000000,+,进位1,操作结果为0,ZF=1,SF,SignFlag,符号标志,操作结果的符号位(即最高位的状态).举例:,100001011010110010011101100101111000010110000100,AND,结果:SF=1,OF,OverflowFlag,溢出标志,算术操作,结果超过目标所能容纳的范围.举例:,01111110(+126)00000011(+3)10000001(-127),+,还有三个标志位:IF,DF,TF暂时不讲,等用到时再讲.标志位在汇编语言程序设计中非常重要,必须掌握好.,3.2存储器组织,3.2.1存储器的分段结构3.2.2实际地址的产生,3.2.1存储器的分段结构,00000H,FFFFFH,SS(16位),堆栈段:,0000B,DS(16位),数据段:,0000B,ES(16位),附加段:,0000B,CS(16位),代码段:,0000B,3.2.2实际地址的产生,举例:,CS=9482,IP=2350,实际地址为:1001010010000010001000110101000010010110101101110000,一个实际地址可以对应多个逻辑地址.,3.3寻址方式,3.3.1操作数的种类3.3.2寻址方式3.3.3段跨越与段更换3.3.4有效地址的计算时间,3.3.1操作数的种类,(1)立即操作数:指令要操作的数据在指令代码中,MOVAL,10H;指令码B010.(2)存储器操作数:指令要操作的数据在存储器(内存)中,MOVAL,1234H;指令码A03412.(3)寄存器操作数:指令要操作的数据在CPU的寄存器中,MOVAL,BL;指令码88D8.(4)I/O端口操作数,INAL,20H;指令码E420.,3.3.2寻址方式,1.固定寻址2.立即寻址3.寄存器直接寻址4.存储器寻址(存储器直接寻址,寄存器间接寻址,基址寻址,变址寻址,基变址寻址)5.数据串寻址(暂不讲),1.固定寻址,指令要操作的数据在指令中并没有明确给出,但隐含在指令中.例:MULBL;AL*BL=AX在该指令中,AL和AX并未给出.,2.立即寻址,指令要操作的数据包含在指令码中.例:MOVAX,1234H其指令码为B83412.,3.寄存器直接寻址,在指令(码)给出的寄存器的名字(编号),要操作的数据在该寄存中.INCCX;指令码41INCDX;指令码42INCBX;指令码43INCSP;指令码44INCBP;指令码45,4.存储器寻址,在存储器寻址方式中,要寻址的数据位于存储器(内存)中,在指令中是直接或间接的给出的存储器操作数的地址.存储器寻址包括:存储器直接寻址寄存器间接寻址基址寻址变址寻址基变址寻址,存储器直接寻址(1),在存储器直接寻址中,指令直接给出的是操作数在内存中存放的地址.例如:MOVAL,1000H;指令码:A00010MOVBX,1000H;指令码:8B1E0010执行结果?,在存储器直接寻址中,指令直接给出的是操作数在内存中存放的地址.例如:MOVAL,1000H;指令码:A00010MOVBX,1000H;指令码:8B1E0010执行结果?AL=34HBX=1234H,存储器直接寻址(2),寄存器间接寻址(1),在寄存器间接寻址中,操作数位于位于内存中,操作数的地址位于某个寄存器中,在指令(码)中给出的是该寄存器的名字(编号).举例:MOVAL,BX;指令码:8A07MOVAX,SI;指令码:8B04假定BX=1001H,SI=1000H则:结果,AL=12H,AX=1234H,寄存器间接寻址(2),可以用于寄存器间接寻址的寄存器有:BXBXSISIDIDI,在基址寻址中,操作数位于位于内存中,操作数的地址由基址寄存器BX或BP与一个位移量相加给出,在指令(码)中给出的是该基址寄存器的名字(编号)及位移量.举例:MOVAL,BX+1234H;指令码:8A873412假定BX=1000H则:结果,AL=78H,基址寻址(1),基址寻址(2),基址寻址的格式:BX+位移量BP+位移量位移量的范围:补码表示的16位(-32768+32767),在变址寻址中,操作数位于位于内存中,操作数的地址由变址寄存器SI或DI与一个位移量相加给出,在指令(码)中给出的是该变址寄存器的名字(编号)及位移量.举例:MOVAL,SI+1234H;指令码:8A843412假定SI=1000H则:结果,AL=78H,变址寻址(1),变址寻址(2),变址寻址的格式:SI+位移量DI+位移量位移量的范围:补码表示的16位(-32768+32767),基变址寻址(1),在基变址寻址中,操作数位于位于内存中,操作数的地址由基址寄存器BX或BP与变址寄存器SI或DI及一个位移量相加给出,在指令(码)中给出的是寄存器的名字(编号)及位移量.举例:MOVAL,BX+SI+1234H;指令码:8A803412假定:BX=1000H,SI=2000H则:结果,AL=78H,基变址寻址(2),基变址寻址的格式:BX+SI+位移量BX+DI+位移量BP+SI+位移量BP+DI+位移量BX+SIBX+DIBP+SIBP+DI错误的写法:BX+BPSI+DI位移量的范围:补码表示的16位(-32768+32767),存储器寻址方式中的段地址,在存储器寻址方式中只给出了偏移地址,其段地址是隐含的,一般情况下,是DS,只有特殊情况下是SS.特殊情况:在基址寻址和基变址寻址方式下,基址寄存器是BP.请看下面的例子:,假定DS=1000H,SS=2000H,BP=0100H,BX=0100H,如下指令在执行完后的结果分别是什么?,MOVAX,BX+100HMOVAX,BP+100H,3.3.3段更换与段跨越(1),当要操作的数据不在隐含段中时,就需要段更换或段跨越.要寻址的数据在2000H段的0100H单元,而目前没有一个段寄存的值是2000H,就需要将2000H装入某个段寄存器,如DS,这就是段更换.MOVAX,2000HMOVDS,AXMOVBX,0100HMOVAL,BX,当要操作的数据不在隐含段中时,就需要段更换或段跨越.要寻址的数据在2000H段的0100H单元,而目前CS段寄存的值是2000H,可在寻址操作数加一段跨越前缀,如CS:,这就是段跨越.MOVBX,0100HMOVAL,CS:BX,3.3.3段更换与段跨越(2),3.3.4有效地址的计算时间,3.4指令系统,共分为14类92种指令.(1)数据传送(8)循环控制(2)算术运算(9)调用与返回(3)逻辑运算(10)BCD调整(4)移位(11)输入输出(5)标志位操作(12)中断处理(6)转移(13)外同步(7)数据串操作(14)空操作,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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