-- a comment x := 3; y := x - 45 * x; writeln (" x =", x, " y =", y); ------------------------------------------- in simple.c After : NullList Semstack is: StLstEntry <+ SemTop After : PushId Semstack is: IdEntry (x) <+ SemTop StLstEntry After : IdToAddr Semstack is: AddrEntry <+ SemTop StLstEntry After : PushInt Semstack is: IconstEntry <+ SemTop AddrEntry StLstEntry After : IconstReduce Semstack is: ExprEntry <+ SemTop AddrEntry StLstEntry After : Assign Semstack is: StmtEntry <+ SemTop StLstEntry After : MergeStmts Semstack is: StLstEntry <+ SemTop After : PushId Semstack is: IdEntry (y) <+ SemTop StLstEntry After : IdToAddr Semstack is: AddrEntry <+ SemTop StLstEntry After : PushId Semstack is: IdEntry (x) <+ SemTop AddrEntry StLstEntry After : IdToAddr Semstack is: AddrEntry <+ SemTop AddrEntry StLstEntry After : AddrToPrimary Semstack is: ExprEntry <+ SemTop AddrEntry StLstEntry After : Operator Semstack is: OperEntry <+ SemTop ExprEntry AddrEntry StLstEntry After : PushInt Semstack is: IconstEntry <+ SemTop OperEntry ExprEntry AddrEntry StLstEntry After : IconstReduce Semstack is: ExprEntry <+ SemTop OperEntry ExprEntry AddrEntry StLstEntry After : Operator Semstack is: OperEntry <+ SemTop ExprEntry OperEntry ExprEntry AddrEntry StLstEntry After : PushId Semstack is: IdEntry (x) <+ SemTop OperEntry ExprEntry OperEntry ExprEntry AddrEntry StLstEntry After : IdToAddr Semstack is: AddrEntry <+ SemTop OperEntry ExprEntry OperEntry ExprEntry AddrEntry StLstEntry After : AddrToPrimary Semstack is: ExprEntry <+ SemTop OperEntry ExprEntry OperEntry ExprEntry AddrEntry StLstEntry After : DoArithOp Semstack is: ExprEntry <+ SemTop OperEntry ExprEntry AddrEntry StLstEntry After : DoArithOp Semstack is: ExprEntry <+ SemTop AddrEntry StLstEntry After : Assign Semstack is: StmtEntry <+ SemTop StLstEntry After : MergeStmts Semstack is: StLstEntry <+ SemTop After : PushString Semstack is: StrConstEntry <+ SemTop StLstEntry After : CreateActParam Semstack is: ParmEntry <+ SemTop StLstEntry After : PushId Semstack is: IdEntry (x) <+ SemTop ParmEntry StLstEntry After : IdToAddr Semstack is: AddrEntry <+ SemTop ParmEntry StLstEntry After : AddrToPrimary Semstack is: ExprEntry <+ SemTop ParmEntry StLstEntry After : CreateActParam Semstack is: ParmEntry <+ SemTop ParmEntry StLstEntry After : MergeActParam Semstack is: ParmEntry <+ SemTop StLstEntry After : PushString Semstack is: StrConstEntry <+ SemTop ParmEntry StLstEntry After : CreateActParam Semstack is: ParmEntry <+ SemTop ParmEntry StLstEntry After : MergeActParam Semstack is: ParmEntry <+ SemTop StLstEntry After : PushId Semstack is: IdEntry (y) <+ SemTop ParmEntry StLstEntry After : IdToAddr Semstack is: AddrEntry <+ SemTop ParmEntry StLstEntry After : AddrToPrimary Semstack is: ExprEntry <+ SemTop ParmEntry StLstEntry After : CreateActParam Semstack is: ParmEntry <+ SemTop ParmEntry StLstEntry After : MergeActParam Semstack is: ParmEntry <+ SemTop StLstEntry After : Call Semstack is: StmtEntry <+ SemTop StLstEntry After : MergeStmts Semstack is: StLstEntry <+ SemTop After : Done Semstack is: EMPTY From codegen.c - DisplayRegs() marks used registers Register: 0 1 2 3 4 5 6 7 8 9 - - - - - - - - - - Used = x: x x COMPILATION COMPLETE out simple.c ------------------------------------------------------ Listing File: test2.list -- a comment x := 3; y := x - 45 * x; writeln (" x =", x, " y =", y); ------------------------------------------------------- SPIM Version 6.2 of January 11, 1999 Copyright 1990-1998 by James R. Larus (larus@cs.wisc.edu). All Rights Reserved. See the file README for a full copyright notice. Loaded: /opt/spim/bin/trap.handler x =3 y =-132 ---------------------------------------------------- s.out