资源描述:
《补充汇编语言程序设计基础课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三节8086/8088处理器一.8086的编程结构微处理器8086,8088结构类似。从程序员和使用角度来看的结构即编程结构从功能上分为两部分:总线接口部分,执行部分。AHALBHBLCLCHDHDLSPBPDISI通用寄存器CSDSSSESIP内部暂存器总线控制逻辑1234AXBXCXDX数据总线运运算寄存器ALU标志寄存器外部总线80888位808616位指令对列8086为6字节16位执行控制电路执行单元总线接口单元地址加法器20位16位段寄存器指令指针(EU)(BIU)二、8086/8088的寄存器8个通用寄存器:AX,BX,CX,DX,SP,BP,S
2、I,DI4个段寄存器:DS,CS,SS,ES1个指令指针寄存器:IP1个标志寄存器材:FR1.4个16位通用寄存器AX,BX,CX,DX8个8位通用寄存器AHALBHBLCHCLDHDLAX:累加器,I/O指令,字符串指令INAL,20HOUT20H,AXBX:基址寄存器存放存储器地址(DS)MOVBX,1000HMOVAL,[BX]CX:计算寄存器字符串、循环指令DX:数据寄存器I/O指令提供端口地址movdx,1000hinal,dx2.指针和变址寄存器指针寄存器:SP,BP用于访问堆栈段中的数据SP:堆栈栈顶指针,当前堆栈栈顶地址的偏移地址(SS)BP:
3、基址指针堆栈段的一个SP数据区的基址偏移地址堆栈定义:是一个特殊的存储区域,先进后BP出,后进先出原则高注:以字为单位操作栈底11223344556677SI源操作地址偏移地址(在串指令中)DI目的操作地址偏移地址(在串指令中)3.段寄存器:4个16位CS,DS,SS,ESCS:代码段段寄存器CS:IP例:CS=11DAH,IP=0100H将要取指令的存储器地址为11DA0H+0100H11EA0HDS:数据段段寄存器BX,SI,DI,2000H作为地址一般用[BX][SI][DI][2000H]SS:堆栈段段寄存器SP,BP(PUSH,POP,CALL,RE
4、T,INT)ES:附加段段寄存器串指令中DI段寄存器:存放各段段基址,即段起始地址高16位地址。4.指令指针IP和标志寄存器FR:IP总是指向下一条将要执行指令的地址CS:IPIPCFPFAFZFSFTFIFDFOF0123456789101112131415较验进位辅助进位零标志符号标志跟踪标志中断标志方向标志溢出标志第四节8086/8088的存储器组织字节和字的地址。字传送:高字节数高地址低字节数低地址(反之同样)字的地址:以字的低字节地址为字的地址一、用段来组织逻辑空间1、每段最长可达64K字节2、各段起始地址能被16整除。(低4位为0)3、各段之间可分
5、开、部分或完全重叠、可首尾相接。4、根据各段的用途将其定义为CS、DS、ES、SS段。并用偏移地址(距段起址的字节距离)表示被访问单元。常在CS中用IP表示偏移量,SS中用SP、BP,DS中用BX、SI、DI、数值。00000H00001H01001H01002H1234H5678H34H12H78H56H….二、实际地址的形成实际地址:20位物理地址逻辑地址:段基址(段寄存器的内容)16位偏移地址(字节距离)16位一个实际地址可用多个逻辑地址表示。实际地址的形成(BIU完成)段基址:偏移地址段基址16位偏移地址16位实际地址20位0000+002B0H002
6、C0H002C3H13H3H三、存储器结构8086CPU有20根地址线,它的直接寻址空间为220=1M字节,这1M字节空间按照00000H-FFFFFH来编址。物理地址=段基址×10H+偏移地址物理地址的形成如图2.9所示。第三章微型机指令系统第一节寻址方式第二节8086/8088指令系统数据传送指令、算术运算指令、逻辑运算和移位指令、串操作指令、控制转移指令、处理器控制指令概述指令系统是一台计算机所能识别和执行的全部指令的集合。指令一般包括两个部分:操作码域和地址域。操作码域存放指令的操作码,即指明该指令应由计算机完成何种操作。地址域确定操作数的值或地址、操
7、作结果的地址,有的指令的地址域还指出下一条指令的地址。第一节寻址方式根据指令内容确定操作数地址的过程,称为寻址。根据寻址方式计算所得到的地址叫做有效地址EA,也就是段内偏移地址。有效地址还需要与相应的段基地址组合才是20位的物理地址PA,该工作由CPU完成。寻址方式在两种方式下被涉及:操作数的寻址方式和指令的寻址方式。第一节寻址方式一、操作数寻址方式(一)立即数寻址MOVAX,1090H(若CS=1000H,IP=100H)10000H10100H10101H10102HOP90H10H100H。。。。。。90HAHAL10HAX代码段代码段起址(二)寄存器寻
8、址MOVAX,BX若AX=1234H,