您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 指令栈 >

关于汇编语言问题入栈出栈什么用

发布时间:2019-06-24 21:57 来源:未知 编辑:admin

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  知道合伙人软件行家采纳数:14896获赞数:27127国家科技进步奖向TA提问展开全部汇编语言中堆栈的操作有专门的语句指令。

  保护数据用。就是将DS AX 里的数据先暂存在堆栈里,这就是入栈(指令为PUSH)。然后,可以对它们进行操作而不会影响原来的数据。到需要原来的数据时,再出栈(POP) 。

  栈就相当于一个细长的装弹珠的瓶子(瓶口、瓶身内部截面均只能通过一个弹珠),不同颜色的弹珠只能从瓶口装入,也只能从瓶口取出,在瓶内的弹珠的顺序是不能改变的。这些弹珠具有“先进后出、后进先出”的特性。瓶子有一定的长度,装满弹珠后就不能再装了,再装就直接滚跑了(溢出)。

  程序不都是线性的,有分支、有循环,有主程序、也有子程序。在子程序中,栈通常用来保存现场(进栈--push、pusha、pushf),在栈中定义局部变量,执行完成后要恢复现场(出栈--popf、popa、pop)。没有栈这种数据结构,很难想象现在的软件是个什么样子。

  用汇编语言(masm)编写程序段,实现从键盘输入十个一位10进制数后累加以非压缩BCD码形式存放在AH和AL中。

  请注意inputnum子程序,在开始部分执行了 push ax,就是为了保存寄存器ax的值,因为在int 21H中断子程序中要用ax进行入口参数设置。

  展开全部用于缓存数据,保护寄存器或者进行寄存器与寄存器间数据传输。而且有些寄存器的值只能通过堆栈操作完成。比如程序寄存器的值CS只能通过堆栈操作完成读取:

  POP入栈是把数据压入栈段中;PUSH出栈是把数据从栈段中拿出来;入栈与出栈是遵循先进后出的原则!入栈出栈其实是个临时存储数据作用!SS指向栈段的段地址,SP指向栈段的顶端。

http://mytkt.net/zhilingzhan/118.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有