首页 >>  正文

push是入栈还是出栈

来源:baiyundou.net   日期:2024-07-05

井单行5192汇编里的PUSH功能是压栈但为什么要压栈的呢? -
邱纯刷17756343529 ______ 计算机程序用来放数据的地方有两种,一个是堆,一个是栈.栈一般用来放一些函数的临时变量,还有中断和调用函数时的返回地址.因为这些地址都是临时的,所以在栈的出栈和进栈的时候可以动态的进入和删除.调用函数和中断的时候,临时变量和返回地址就暂存在栈中.函数调用完了,临时变量和返回地址就从栈删除了.所以栈一般来说是临时变量,调用函数会自动回收内存.这就是PUSH 和 POP 的功能了.相当于一个暂时保存数据的地方.而堆的话一般用来动态分配内存,分配的内存一般不会自动释放.

井单行5192汇编里的PUSH压栈使用他是为了进行什么步骤而使用的呢? -
邱纯刷17756343529 ______ 不丢失数据进行压入(PUSH)栈保护,出栈(POP)恢复原数据.例如共用累加器A,进栈前压入保护,累加器可在进行运算,出栈恢复原累加器中的数值.结果不会影响原数值.

井单行5192PUSH指令是在存储器还是内存操作的? -
邱纯刷17756343529 ______ 8086中堆栈的指针指向ss:sp(ss*16+sp)所在的物理地址,push al就是将al的内容复制到ss:sp 指向的内存;pop al 就是把ss:sp的内容复制给al寄存器;单片机有片内存储器,也可进行栈操作

井单行5192单片机这题push可以忽略吗?对结果没影响啊 -
邱纯刷17756343529 ______ 这个程序就是考PUSH和POP指令,你却要忽略,这是通过堆栈实现A与B交换数据的.堆栈操作的顺序是先进后出,后进先出.而这题却不是,故意不按这个顺序操作. PUSH ACC PUSH B POP ACC;B是后进栈的,应先出,才送还给B,但却是先弹出给ACC,相当于把B的数据通过堆栈转一下,传到了ACC内. POP B;先进栈的ACC,都后弹出给B,等于把ACC的数据送给B了. 这题的目的就ACC和B数据互相交换.最后才有A=0EEH B=60H

井单行5192在汇编语言 程序中大小写字母转换采用了什么算法? -
邱纯刷17756343529 ______ 针对某个字母,“与”上1101 1111,可变换成大写;针对某个字母,“或”上0010 0000,可变换成小写;针对某个字母,“异或”上0010 0000,可进行大小写互换.

井单行5192汇编进栈出栈 怎么理解? -
邱纯刷17756343529 ______ 栈的存储读取方式是后进先出~类似于往一个柱形圆筒里放东西~后进来的放在上面~我目前也是新手~用到的汇编进栈出栈仅仅是保护数据而已~ 比如 mov ax,1 call aa(子程序) mov dx,ax ... aa proc push ax(ax值入栈) add ax,1(现在ax值为2) ... pop ax(取出ax值,现在ax的值又是1了) 栈的作用是保护的主程序中的ax不受子程序的影响~ 虽然子程序中用到了ax寄存器,但是主程序中的dx的值仍为1~ 我说的也很混乱~不知道你看不看的懂= =...

井单行5192汇编程序中如何使用堆栈 -
邱纯刷17756343529 ______ 首先在程序头部定义程序堆栈的大小 比如.stack 64 那么堆栈的大小就是64个字节,而每个堆栈单元默认是两个字节(也就是一个字WORD),那么64/sizeof(WORD) = 64/2 = 32也就是有32个单元. 根据计算机体系的不同,有的栈是从低位往高...

井单行5192数字1,2,3依次入栈,经过push,push,pop,pop,push,pop后的出栈顺序为_ - _ - _ - -
邱纯刷17756343529 ______[答案] 2 1 3

井单行5192数据结构题 一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是 A 54321 B -
邱纯刷17756343529 ______ 你可以先放1,然后把1拿出来,或者放1234,把4拿出来之后,再放56,那顺序就是465321了

井单行5192c51 入栈和出栈的语句应该怎么写 -
邱纯刷17756343529 ______ push 变量1 push 变量2 pop 变量2 pop 变量1 这样是对的,先入后出 但汇编指令里是:PUSH direct

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024