计算机体系结构中的栈机原理与实现
1. 栈机程序设计概述
栈机是计算机体系结构中的一种重要模型,其程序设计有着独特的方式。在栈机中,一元或二元指令不编码地址,编程时需采用后缀表示法。后缀表示法无需括号,每个符号会被翻译成一个 S - op。对于一元操作,从栈中弹出操作数,执行操作后将结果压回栈;对于二元操作,依次从栈中弹出两个操作数,执行操作后再将结果压回栈。
下面我们来详细介绍一个名为 Lgo 的程序,它模拟了操作系统的功能,同时也是栈机设计的一个示例。该程序的主要设计如下:
; Author: John Y. Hsu
; Date: Nov. 12, 1998
; Program design:
Program Lgo;
Declare global variables and local procedures;
Proc Load;
Proc Go;
Proc Svc;
Proc Ope;
Function StackOF;
Function StackUF;
Initialize RA;
Call Load;
{Load and initialize PC, FL, SF, SP.}
Initialize SR;
Call Go;
; End.
这个程序的主要功能是加载可执行文件到内存中,进行解释和执行。所有寄存器都被声明为内存中的全局变量。程序包含四个过程子程序(Load、Go、Svc、Ope)和两个函数子程序(StackOF、StackUF)。其中,StackOF 函数用于检查栈溢出,StackUF 函数用于检查栈下溢,每个函数返回一个布尔值(TRUE 或 FAL
超级会员免费看
订阅专栏 解锁全文
1549

被折叠的 条评论
为什么被折叠?



