Sub runProg() pause runProgram (1) pause End Sub Sub runProgram(whereToStart As Integer) Cells(2, 6).Value = whereToStart While True thePC = Cells(2, 6).Value theInstruction = Cells(thePC, 1).Value pause thePC = thePC + 1 Cells(2, 6).Value = thePC pause If (theInstruction = "00001101") Then Exit Sub End If executeInstruction (theInstruction) Wend End Sub Sub executeInstruction(theOperation As String) MsgBox ("Executing " & theOperation) End Sub Sub pause() theTime = Timer + 1 While Timer < theTime DoEvents Wend End Sub Sub FillFour() For i = 1 To 5 Cells(12, i).Value = i ^ 2 pause Next i End Sub Function convertToNewBase(decimalNumber As Integer, newBase As Integer) As String newNumber = "" newNumber = Str(decimalNumber Mod newBase) & newNumber decimalNumber = decimalNumber \ newBase While (decimalNumber > 0) newNumber = Str(decimalNumber Mod newBase) & newNumber decimalNumber = decimalNumber \ newBase Wend convertToNewBase = newNumber End Function Function opCodeByteBits(n As Integer) As String theByteBits = "" For p = 0 To 7 digit = n \ 2 ^ p Mod 2 theByteBits = digit & theByteBits Next p opCodeByteBits = theByteBits End Function