下载此文档

实验六-堆栈.ppt


文档分类:IT计算机 | 页数:约18页 举报非法文档有奖
1/18
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/18 下载此文档
文档列表 文档介绍
*堆栈的工作原理堆栈是一种用来存储数据的逻辑数据结构,它按照先进后出的方式工作。在8086 系统中,堆栈是用内存中的某一段连续的地址空间实现的。在8086 系统中,堆栈是在内存中倒挂生长的。 0:0 FFFF : FFFF 堆栈的图示 SS SP 0000H (栈顶) 存储器高地址堆栈段在8086 系统中,堆栈是在内存中倒挂生长的。堆栈 40080H 堆栈空间的位置和大小由栈段寄存器 SS 和堆栈指针寄存器 SP 确定。 SS 指向栈段的起始地址, SP 指出栈顶与栈底的距离。 SS= 4008 H SP= 0020 H 4008 0 H + 0020 H 400A0 H 400A0H 栈底 PUSH POP 接口技术堆栈所处理的基本数据单位是字,不能进行字节或是双字操作。堆栈中的数据按低字节放偶地址,高字节放奇地址存放 4堆栈的操作?堆栈只有两种基本操作:进栈和出栈, 对应两条指令 PUSH 和 POP PUSH ;进栈指令先使堆栈指针 SP减2,然后把一个字操作数存入堆栈顶部 POP ;出栈指令把栈顶的一个字传送至指定的目的操作数, 然后堆栈指针 SP加2 5入栈指令 PUSH 格式: PUSH REG16 ;16位寄存器内容压入堆栈 PUSH MEM16 ;16位地址单元内容压入堆栈 PUSH SEGREG ;段寄存器内容压入堆栈说明: ?8086 ?80286 总将 16位数据压栈。?任何段寄存器内容都可压入堆栈。?当压入 16位数据时,操作顺序为: SP-1 , 高位字节→(SP-1 ), 低位字节→(SP-2 ), 执行指令后 SP = SP-2 。演示演示 PUSH 指令的功能 7出栈指令 POP 格式: POP REG16 ;栈顶内容弹出至 16位寄存器 POP MEM16 ;栈顶内容弹出至 16位寻址方式存储单元 POP SEGREG ;栈顶内容弹出至 CS以外的任何段寄存器说明: ?立即数不能作 POP 指令的操作数。?段寄存器 CS不能作 POP 指令的操作数?POP 指令执行后,栈顶指针 SP加2 演示演示 POP 指令的功能 9堆栈的特点?堆栈操作的单位是字,进栈和出栈只对字量?字量数据从栈顶压入和弹出时,都是低地址字节送低字节,高地址字节送高字节?堆栈操作遵循先进后出原则,但可用存储器寻址方式随机存取堆栈中的数据?堆栈常用来–临时存放数据–传递参数–保存和恢复寄存器现场保护恢复 delay proc push ax ;进入子程序后 push bx push ds ... pop ds ;返回主程序前 pop bx pop ax delay endp

实验六-堆栈 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数18
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yinjinsen
  • 文件大小0 KB
  • 时间2016-04-01