TourPut("Press $$GREEN$$<ENTER>$$FG$$.");
"Ed(\"HI:Debugging\");";
InGetStr("\n");

TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
InUntilChar(CH_ESC, CH_SHIFT_ESC);

TourPut(	"We will now use $$RED$$$$TX+L+PU+UL,\"Uf\",A=\"MN:Uf\"$$$$FG$$() to "
			"unassemble a function.  It takes the function name as a string arg.\n\n"
			"Press $$GREEN$$<ENTER>$$FG$$.\n");

"WinBorder; WinMax; \nUf(\"CAlloc\");";
InGetStr("\n");

TourPut("Press $$GREEN$$<CURSOR-UP>$$FG$$ eight times..");
I64 i;
for (i = 0; i < 8; i++)
	InKeyGet(SC_CURSOR_UP);

TourPut("Press $$GREEN$$<SPACE>$$FG$$.\n");
InGetStr(" ");

TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ when finished.\n");
InUntilChar(CH_ESC, CH_SHIFT_ESC);

//Puts the cursor at the bottom.
Message(MESSAGE_KEY_DOWN, 0, SC_CURSOR_DOWN | SCF_CTRL);

TourPut(	"We can unassemble a numeric address with "
			"$$RED$$$$TX+L+PU+UL,\"U\",A=\"MN:U\"$$$$FG$$().\n\n"
			"Press $$GREEN$$<ENTER>$$FG$$.\n");

"U(&CAlloc);";
InGetStr("\n");

TourPut("The opcodes are slightly nonstandard.\n", TRUE);
"Ed(\"::/Compiler/OpCodes.DD\");\n";

Message(MESSAGE_KEY_DOWN,CH_CTRLF, 0x42100000421);
"MOV";
Message(MESSAGE_KEY_DOWN,CH_ESC, 0x100000001);

TourPut("Press $$GREEN$$<SHIFT-ESC>$$FG$$ to abort.\n");
InUntilChar(CH_ESC, CH_SHIFT_ESC);
