指令格式根据CPU的组织分为不同的类型。根据内部存储,CPU组织又分为三类:堆栈计算机,累加器计算机,通用组织或通用寄存器。在本文中,我们将学习计算机组织中的堆栈机。
堆码机:
在堆栈计算机中,默认情况下,数据位于堆栈顶部。堆栈用作源和目标,推入和弹出指令用于访问堆栈中的指令和数据。由于默认地址位于堆栈的顶部,因此无需传递源地址和目标地址。在堆栈计算机中,无需在指令中传递显式地址。因此,指令格式仅由OPCODE(操作码)字段组成。该指令格式称为零地址指令。
堆栈的两个操作是堆栈中项目的插入(推入)和删除(弹出)。但是,什么也不会在计算机堆栈中被压入或弹出。
例子:
执行以下旨在在堆栈计算机上执行的指令集:
PUSH B,
PUSH X,
ADD,
POP C,
PUSH C,
PUSH Y,
SUB,
POP Z
首先在堆栈中按B和X,然后按顺序添加第一个POP X,然后添加B,ADD(B + X),POP C = B + X(无名称为C的数据,因此存在的数据存储在变量C中),然后按POP C。
同样,要执行SUB(YC),首先执行POP操作POP作为Z。请参见下图,以更好地理解: