服务热线

13103866733
网站导航
主营产品:
产品展示
当前位置: 首页 > 案例展示

汇编言语——进栈出栈指令

产品时间: 2025-12-15 05:50:10 |   作者: 乐鱼官网客户端

详细介绍

  

汇编言语——进栈出栈指令

  (3)操作数d进栈是以减2今后的SP的值作为偏移地址, 但程序中不允许呈现[SP]的写法。不要与基地址寄存器或变 址寄存器用作偏地址时的写法相混杂,也就是说,把PUSH 指令了解成下面两条指令的组合是不正确的:

  【功用】从SS为段地址、SP为偏移地址对应的内存中取 出一个字型数据,送到操作数d指定的方位,然后把SP的值 加2。对操作数d的寻址方法要求与PUSH指令相同。

  仓库一般用于暂时保存数据。一般做法是先用PUSH指 令把需求保存的数据入栈,然后完结必定的指令序列,再用 POP指令把原先保存的数据出栈。用仓库保存数据的特点是 不用界说变量,不用关怀被保存的数据到底在栈的什么方位, 只需保证出栈和进栈的对应联系即可。当CPU中的寄存器不 够运用时经常用仓库暂时保存数据。

  (4)PUSH指令会导致栈顶指针的移动,假如用PUSH指 令把许多数据进栈,使SP不断减2,就十分有或许超出栈的有用 规模。在一些高档语言中这种现象会导致仓库溢出过错,但 8088对此并不做任何检测和正告。因而要求编程人员自己注 意操控仓库的巨细,估量或许进栈的数据量,避免因为栈溢 出导致一些不行猜测的结果。

  栈顶所指方位以上的部分是仓库的闲暇区,以下部分是 已入栈的数据寄存区(见图6.1),例6.1用来阐明PUSH指令和 POP指令对仓库的影响。

  【例6.1】设AX=4F8AH,BX=307CH,SP=1000H,分 别逐条履行下列指令,用内存图的方法画出仓库的改变状况, 并剖析程序段履行完后AX和BX寄存器的值。

  【解】仓库改变见图6.2,程序段履行完后AX=307CH, BX=4F8AH。

  栈操作指令以它特有的方法存取数据,归于数据传递类 指令,但又与MOV等指令有很大的差异。

  【功用】先把SP的值减去2,然后把操作数d指明的字型 数据放入以SS为段地址、SP为偏移地址所对应的内存单元中。

  (1)这是单操作数指令,操作数d可所以包含段寄存器在 内的任何字型寄存器,或许内存型寻址方法,但不能是当即 寻址,当运用内存型寻址方法时可以正常的运用段跨过。

 


关注我们