微机原理2-1:8088CPU内部结构、寄存器组、存储器组织.ppt
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 如何分配各个逻辑段 程序的指令序列必须安排在代码段; 程序使用的堆栈一定在堆栈段; 程序中的数据默认是安排在数据段,也经常安排在附加段,尤其是串操作的目的区必须是附加段。 数据的存放比较灵活,实际上可以存放在任何一种逻辑段中。 * 段跨越前缀指令 没有指明时,一般的数据访问在DS段; 若使用BP访问存储器,则在SS段。 默认的情况允许改变,需要使用段跨越前缀指令,8088指令系统中共有4个: CS: ——代码段超越,使用代码段的数据 SS: ——堆栈段超越,使用堆栈段的数据 DS: ——数据段超越,使用数据段的数据 ES: ——附加段超越,使用附加段的数据 * 段超越的例子 没有段超越的指令实例: MOV AX, [2000H] ;AX←DS:[2000H], ;从默认的DS数据段取出数据 采用段超越前缀的指令实例: MOV AX, ES:[2000H] ;AX←ES:[2000H], ;从指定的ES附加段取出数据 * 段寄存器的使用规定(表2.1) 存储器访问方式 默认段寄存器 段超越 偏移地址 取指令 CS 无 IP 堆栈操作 SS 无 SP 一般数据访问 DS CS/ES/SS 有效地址EA 下列特殊情况除外 串操作的源操作数 DS CS/ES/SS SI 串操作的目的操作数 ES 无 DI BP基址的寻址方式 SS CS/DS/ES 有效地址EA * IP(Instruction Pointer)中存放即将要执行的指令的有效地址,IP具有自增量功能。在每取出一条指令后,IP自增一,指令指针指向下一条指令。 4、指令指针寄存器(IP ) * 总结一下: 通用寄存器 8 AX/BX/CX/DX BP/SP DI/SI 指令指针寄存器 1 IP 标志寄存器 1 PSW 段寄存器 4 CS/SS/DS/ES 掌握通用寄存器的作用 熟悉PSW中各个标志的含义 切实理解存储器组织和存储空间分段的概念 * 8088的寄存器组 * 堆栈的概念 堆栈(Stack)是主存中一个特殊的区域。 它采用先进后出FILO(First In Last Out)或后进先出LIFO(Last In First Out)的原则进行存取操作,而不是随机存取操作方式。 堆栈指针——它指示栈顶位置,在8086/8086中,栈顶由SS和SP共同指示,即SS:SP。 堆栈操作 处理器自动维持(子程序调用时的断点处理) 用户操作(PUSH/POP指令) * 三、 8088/8086的存储器结构 存储器是计算机存储信息的地方。掌握数据存储格式,以及存储器的分段管理对以后的汇编程序设计非常重要 你能区别寄存器、存储器(主存)、外存(包括硬盘、光盘、磁带等存储介质)吗? * 寄存器、存储器和外存的区别 寄存器是微处理器(CPU)内部暂存数据的存储单元,以名称表示,例如:AX,BX..….等 存储器也就是平时所说的主存,也叫内存,可直接与CPU进行数据交换。主存利用地址区别 外存主要指用来长久保存数据的外部存储介质,常见的有硬盘、光盘、磁带、U盘等。外存的数据只能通过主存间接地与CPU交换数据 程序及其数据可以长久存放在外存,在运行需要时才进入主存 * 2.5 8086/8088的存储器结构 数据的存储格式 计算机中表示信息的单位有: 位(bit)、字节(byte)、 字(word)、双字(double word)等 在存储器中,信息的存储单位是:字节;即每个存储单元的内容是一个字节。 * 信息的表示单位 最低有效位LSB(Least Significant Bit):指数据的最低位,即D0位; 最高有效位MSB(Most Significant Bit):指数据的最高位,对应字节、字、双字分别指D7、D15、D31位。 * 图2.3 8088的存储格式 00000H 00001H 00002H 00003H 00004H 00005H 34H 12H 56H 78H 00006H D7 D0 低地址 双字 D0 D31 字 D0 D15 字节 D0 D7 LSB MSB * 存储单元及其存储内容 每个存储单元都有一个编号——存储器地址 例如:图2.3(下页)中,0002H单元存放有一个数据34H,表示为 [0002H]=34H 如何存储一个字或双字呢? 小端方式 * 多字节数据在存储器中占据多个连续的存储单元: 存放时,低字节存于低地址,高字节存于高地址;
显示全部