]> pd.if.org Git - mmurtl/commitdiff
autocommit for file dated 1995-02-09 11:16:56
authorRichard Burgess <>
Thu, 9 Feb 1995 11:16:56 +0000 (11:16 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Mon, 17 Oct 2016 14:03:48 +0000 (14:03 +0000)
ossource/monitor.asm [new file with mode: 0644]

diff --git a/ossource/monitor.asm b/ossource/monitor.asm
new file mode 100644 (file)
index 0000000..bfb5c88
--- /dev/null
@@ -0,0 +1,2181 @@
+\r
+.DATA\r
+EXTRN _AllocExch FWORD\r
+EXTRN _DeAllocExch FWORD\r
+EXTRN _GetTSSExch FWORD\r
+EXTRN _SetPriority FWORD\r
+EXTRN _NewTask FWORD\r
+EXTRN _SpawnTask FWORD\r
+EXTRN _SendMsg FWORD\r
+EXTRN _ISendMsg FWORD\r
+EXTRN _WaitMsg FWORD\r
+EXTRN _CheckMsg FWORD\r
+EXTRN _Request FWORD\r
+EXTRN _MoveRequest FWORD\r
+EXTRN _Respond FWORD\r
+EXTRN _AllocPage FWORD\r
+EXTRN _AllocOSPage FWORD\r
+EXTRN _AllocDMAPage FWORD\r
+EXTRN _DeAllocPage FWORD\r
+EXTRN _QueryPages FWORD\r
+EXTRN _GetPhyAdd FWORD\r
+EXTRN _AliasMem FWORD\r
+EXTRN _DeAliasMem FWORD\r
+EXTRN _CopyData FWORD\r
+EXTRN _FillData FWORD\r
+EXTRN _CompareNCS FWORD\r
+EXTRN _Compare FWORD\r
+EXTRN _OutByte FWORD\r
+EXTRN _OutWord FWORD\r
+EXTRN _InByte FWORD\r
+EXTRN _InWord FWORD\r
+EXTRN _ReadCMOS FWORD\r
+EXTRN _Alarm FWORD\r
+EXTRN _KillAlarm FWORD\r
+EXTRN _Sleep FWORD\r
+EXTRN _MicroDelay FWORD\r
+EXTRN _GetCMOSTime FWORD\r
+EXTRN _GetCMOSDate FWORD\r
+EXTRN _GetTimerTick FWORD\r
+EXTRN _Tone FWORD\r
+EXTRN _Beep FWORD\r
+EXTRN _SetVidOwner FWORD\r
+EXTRN _SetNormVid FWORD\r
+EXTRN _GetNormVid FWORD\r
+EXTRN _ClrScr FWORD\r
+EXTRN _GetVidChar FWORD\r
+EXTRN _SetXY FWORD\r
+EXTRN _PutVidAttrs FWORD\r
+EXTRN _PutVidChars FWORD\r
+EXTRN _GetVidOwner FWORD\r
+EXTRN _GetXY FWORD\r
+EXTRN _ScrollVid FWORD\r
+EXTRN _TTYOut FWORD\r
+EXTRN _EditLine FWORD\r
+EXTRN _ReadKbd FWORD\r
+EXTRN _GetpJCB FWORD\r
+EXTRN _GetJobNum FWORD\r
+EXTRN _LoadNewJob FWORD\r
+EXTRN _Chain FWORD\r
+EXTRN _ExitJob FWORD\r
+EXTRN _KillJob FWORD\r
+EXTRN _SetUserName FWORD\r
+EXTRN _GetUserName FWORD\r
+EXTRN _SetCmdLine FWORD\r
+EXTRN _GetCmdLine FWORD\r
+EXTRN _SetPath FWORD\r
+EXTRN _GetPath FWORD\r
+EXTRN _SetExitJob FWORD\r
+EXTRN _GetExitJob FWORD\r
+EXTRN _SetSysIn FWORD\r
+EXTRN _GetSysIn FWORD\r
+EXTRN _SetSysOut FWORD\r
+EXTRN _GetSysOut FWORD\r
+EXTRN _SetJobName FWORD\r
+EXTRN _RegisterSvc FWORD\r
+EXTRN _UnRegisterSvc FWORD\r
+EXTRN _GetSystemDisk FWORD\r
+EXTRN _CreateFile FWORD\r
+EXTRN _CreateDir FWORD\r
+EXTRN _DeleteDir FWORD\r
+EXTRN _OpenFile FWORD\r
+EXTRN _RenameFile FWORD\r
+EXTRN _GetFileSize FWORD\r
+EXTRN _SetFileSize FWORD\r
+EXTRN _ReadBlock FWORD\r
+EXTRN _WriteBlock FWORD\r
+EXTRN _ReadBytes FWORD\r
+EXTRN _WriteBytes FWORD\r
+EXTRN _GetFileLFA FWORD\r
+EXTRN _SetFileLFA FWORD\r
+EXTRN _CloseFile FWORD\r
+EXTRN _DeleteFile FWORD\r
+EXTRN _GetDirSector FWORD\r
+EXTRN _InitDevDr FWORD\r
+EXTRN _DeviceOp FWORD\r
+EXTRN _DeviceStat FWORD\r
+EXTRN _DeviceInit FWORD\r
+EXTRN _UnMaskIRQ FWORD\r
+EXTRN _MaskIRQ FWORD\r
+EXTRN _SetIRQVector FWORD\r
+EXTRN _EndOfIRQ FWORD\r
+_rgStatLine DB 109,109,47,100,100,47,121,121,32,32,48\r
+ DB 48,58,48,48,58,48,48,32,32,32,32\r
+ DB 32,32,32,32,32,32,32,32,32,32,77\r
+ DB 77,85,82,84,76,32,77,111,110,105,116\r
+ DB 111,114,32,32,32,32,32,32,32,32,32\r
+ DB 32,32,32,32,32,32,32,32,32,32,84\r
+ DB 105,99,107,58,48,32,32,32,32,32,32\r
+ DB 32,32,32,0\r
+_rgMonMenu1 DB 76,100,67,76,73,-77,74,111,98,115,32\r
+ DB 32,-77,83,116,97,116,115,32,-77,32,32\r
+ DB 32,32,32,32,0\r
+_rgMonMenu2 DB 32,32,32,32,32,-77,32,32,32,32,32\r
+ DB 32,-77,32,32,32,32,32,32,-77,82,101\r
+ DB 98,111,111,116,0\r
+_rgMonMenu3 DB 32,32,32,32,32,-77,68,101,98,117,103\r
+ DB 32,-77,32,32,32,32,32,32,-77,32,32\r
+ DB 32,32,32,0\r
+_rgCPR1 DB 77,77,85,82,84,76,32,40,116,109,41\r
+ DB 32,45,32,77,101,115,115,97,103,101,32\r
+ DB 98,97,115,101,100,44,32,77,85,108,116\r
+ DB 105,116,97,115,107,105,110,103,44,32,82\r
+ DB 101,97,108,45,84,105,109,101,32,107,101\r
+ DB 114,110,101,76,0\r
+_rgCPR2 DB 67,111,112,121,114,105,103,104,116,32,40\r
+ DB 99,41,32,82,46,65,46,32,66,117,114\r
+ DB 103,101,115,115,44,32,49,57,57,48,45\r
+ DB 49,57,57,51,44,32,65,108,108,32,82\r
+ DB 105,103,104,116,115,32,82,101,115,101,114\r
+ DB 118,101,100,0\r
+_CRLF DD OFFSET L_lit+0\r
+_Color DD 7\r
+EXTRN _oMemMax DD\r
+EXTRN _nSwitches DD\r
+EXTRN _nSlices DD\r
+EXTRN _nHalts DD\r
+EXTRN _nReady DD\r
+EXTRN _nRQBLeft DD\r
+EXTRN _nJCBLeft DD\r
+EXTRN _nTSSLeft DD\r
+EXTRN _nLBLeft DD\r
+EXTRN _nEXCHLeft DD\r
+EXTRN _BootDrive DD\r
+L_lit DB 13,10,13,10,0,37,100,0,37,100,0,37,100,0,74,111\r
+ DB 98,32,110,117,109,98,101,114,32,37,100,32,116,101,114,109\r
+ DB 105,110,97,116,101,100,46,32,69,114,114,111,114,58,32,37\r
+ DB 100,13,10,0,75,69,89,66,79,65,82,68,0,75,69,89\r
+ DB 66,79,65,82,68,0,75,69,89,66,79,65,82,68,0,75\r
+ DB 69,89,66,79,65,82,68,0,58,92,77,77,83,89,83,92\r
+ DB 73,78,73,84,73,65,76,46,74,79,66,0,0,99,108,105\r
+ DB 46,114,117,110,0,76,111,97,100,105,110,103,58,32,37,115\r
+ DB 46,46,46,13,10,0,83,117,99,99,101,115,115,102,117,108\r
+ DB 108,121,32,108,111,97,100,101,100,32,97,115,32,106,111,98\r
+ DB 32,37,100,13,10,0,69,82,82,79,82,32,37,100,32,76\r
+ DB 111,97,100,105,110,103,32,106,111,98,13,10,0,75,69,89\r
+ DB 66,79,65,82,68,0,73,78,73,84,73,65,76,46,74,79\r
+ DB 66,32,102,105,108,101,32,110,111,116,32,102,111,117,110,100\r
+ DB 32,105,110,32,115,121,115,116,101,109,32,100,105,114,101,99\r
+ DB 116,111,114,121,46,13,10,0,58,92,77,77,83,89,83,92\r
+ DB 67,76,73,46,82,85,78,0,0,76,111,97,100,105,110,103\r
+ DB 58,32,37,115,46,46,46,0,78,101,119,32,67,76,73,32\r
+ DB 74,111,98,32,78,117,109,98,101,114,32,105,115,58,32,37\r
+ DB 100,13,10,0,75,69,89,66,79,65,82,68,0,65,108,108\r
+ DB 111,99,69,120,99,104,32,40,77,110,103,114,32,69,120,99\r
+ DB 104,41,32,69,114,114,111,114,58,32,37,100,13,10,0,83\r
+ DB 112,97,119,110,84,97,115,107,32,40,83,116,97,116,84,97\r
+ DB 115,107,41,32,69,114,114,111,114,58,32,37,100,13,10,0\r
+ DB 65,108,108,111,99,69,120,99,104,32,40,75,105,108,108,32\r
+ DB 69,120,99,104,41,32,69,114,114,111,114,58,32,37,100,13\r
+ DB 10,0,77,77,85,82,84,76,32,40,116,109,41,32,45,32\r
+ DB 77,101,115,115,97,103,101,32,98,97,115,101,100,44,32,77\r
+ DB 85,108,116,105,116,97,115,107,105,110,103,44,32,82,101,97\r
+ DB 108,45,84,105,109,101,32,107,101,114,110,101,76,13,10,0\r
+ DB 67,111,112,121,114,105,103,104,116,32,40,99,41,32,82,46\r
+ DB 65,46,66,117,114,103,101,115,115,44,32,49,57,57,49,45\r
+ DB 49,57,57,53,32,32,65,76,76,32,82,73,71,72,84,83\r
+ DB 32,82,69,83,69,82,86,69,68,13,10,13,10,0,66,111\r
+ DB 111,116,68,114,105,118,101,58,32,37,99,13,10,0,84,111\r
+ DB 116,97,108,32,109,101,109,111,114,121,32,40,75,98,41,58\r
+ DB 32,37,100,13,10,0,70,114,101,101,32,109,101,109,111,114\r
+ DB 121,32,32,40,75,98,41,58,32,37,100,13,10,0,73,110\r
+ DB 105,116,32,75,66,68,32,83,101,114,118,105,99,101,32,69\r
+ DB 114,114,111,114,58,32,37,100,13,10,0,73,110,105,116,32\r
+ DB 83,101,114,105,97,108,32,67,111,109,109,115,32,68,101,118\r
+ DB 105,99,101,32,68,114,105,118,101,114,32,69,114,114,111,114\r
+ DB 58,32,37,100,13,10,0,73,110,105,116,32,80,97,114,97\r
+ DB 108,108,101,108,32,76,80,84,32,68,101,118,105,99,101,32\r
+ DB 68,114,105,118,101,114,32,69,114,114,111,114,58,32,37,100\r
+ DB 13,10,0,65,108,108,111,99,69,120,99,104,32,69,114,114\r
+ DB 111,114,58,32,37,100,13,10,0,65,108,108,111,99,69,120\r
+ DB 99,104,32,71,80,49,32,69,114,114,111,114,58,32,37,100\r
+ DB 13,10,0,73,110,105,116,32,102,108,111,112,112,121,32,100\r
+ DB 101,118,105,99,101,32,100,114,105,118,101,114,46,46,46,32\r
+ DB 69,114,114,111,114,58,32,0,37,100,13,10,0,73,110,105\r
+ DB 116,32,104,97,114,100,32,100,105,115,107,32,100,101,118,105\r
+ DB 99,101,32,100,114,105,118,101,114,46,46,46,32,69,114,114\r
+ DB 111,114,58,32,0,37,100,13,10,0,73,110,105,116,105,97\r
+ DB 108,105,122,105,110,103,32,102,105,108,101,32,115,121,115,116\r
+ DB 101,109,46,46,46,13,10,0,70,105,108,101,32,83,121,115\r
+ DB 116,101,109,46,46,46,32,69,114,114,111,114,58,32,37,100\r
+ DB 13,10,0,75,69,89,66,79,65,82,68,0,75,98,100,32\r
+ DB 83,118,99,32,82,101,113,117,101,115,116,32,75,69,82,78\r
+ DB 69,76,32,69,82,82,79,82,58,32,37,100,13,10,0,75\r
+ DB 69,82,78,69,76,32,69,114,114,111,114,32,102,114,111,109\r
+ DB 32,87,97,105,116,32,109,115,103,58,32,32,37,100,13,10\r
+ DB 0,69,114,114,111,114,32,102,114,111,109,32,76,111,97,100\r
+ DB 67,76,73,58,32,32,37,100,13,10,0,74,111,98,58,32\r
+ DB 37,100,13,10,0,78,97,109,101,58,32,37,115,13,10,0\r
+ DB 65,110,121,32,107,101,121,32,116,111,32,100,105,115,109,105\r
+ DB 115,115,32,115,116,97,116,117,115,46,46,46,32,13,10,0\r
+ DB 70,114,101,101,32,52,75,32,109,101,109,111,114,121,32,112\r
+ DB 97,103,101,115,58,32,32,32,32,32,32,37,100,13,10,0\r
+ DB 84,97,115,107,32,115,119,105,116,99,104,101,115,32,116,111\r
+ DB 116,97,108,58,32,32,32,32,32,32,32,37,100,13,10,0\r
+ DB 80,114,101,101,109,112,116,105,118,101,32,116,97,115,107,32\r
+ DB 115,119,105,116,99,104,101,115,58,32,32,37,100,13,10,0\r
+ DB 67,80,85,32,105,100,108,101,32,116,105,99,107,115,32,40\r
+ DB 110,111,32,119,111,114,107,41,58,32,32,37,100,13,10,0\r
+ DB 84,97,115,107,115,32,82,101,97,100,121,32,116,111,32,82\r
+ DB 117,110,58,32,32,32,32,32,32,32,32,37,100,13,10,0\r
+ DB 70,114,101,101,32,84,97,115,107,32,83,116,97,116,101,32\r
+ DB 83,101,103,109,101,110,116,115,58,32,32,37,100,13,10,0\r
+ DB 70,114,101,101,32,74,111,98,32,67,111,110,116,114,111,108\r
+ DB 32,66,108,111,99,107,115,58,32,32,32,37,100,13,10,0\r
+ DB 70,114,101,101,32,82,101,113,117,101,115,116,32,66,108,111\r
+ DB 99,107,115,58,32,32,32,32,32,32,32,37,100,13,10,0\r
+ DB 70,114,101,101,32,76,105,110,107,32,66,108,111,99,107,115\r
+ DB 58,32,32,32,32,32,32,32,32,32,32,37,100,13,10,0\r
+ DB 70,114,101,101,32,69,120,99,104,97,110,103,101,115,58,32\r
+ DB 32,32,32,32,32,32,32,32,32,32,32,37,100,13,10,0\r
+ DB 124,0,47,0,45,0,92,0,124,0,47,0,45,0,92,0\r
+ DB 32,0,13,10,0,13,10,70,56,32,97,103,97,105,110,32\r
+ DB 116,111,32,114,101,98,111,111,116,44,32,97,110,121,32,111\r
+ DB 116,104,101,114,32,107,101,121,32,116,111,32,99,97,110,99\r
+ DB 101,108,0,46,46,46,67,97,110,99,101,108,108,101,100,13\r
+ DB 10,0\r
+_time DD 0h\r
+_date DD 0h\r
+_tick DD 0h\r
+PUBLIC _KillExch DD 0h\r
+_KillMsg DD 2 DUP(0)\r
+_KillError DD 0h\r
+_KillJobNum DD 0h\r
+_fKilled DB 0h\r
+_MngrExch DD 0h\r
+_MngrMsg DD 2 DUP(0)\r
+_MngrHndl DD 0h\r
+_gcode DD 0h\r
+_GPExch DD 0h\r
+_GPMsg DD 2 DUP(0)\r
+_GPHndl DD 0h\r
+_GP1Exch DD 0h\r
+_GP1Msg DD 2 DUP(0)\r
+_GP1Hndl DD 0h\r
+_DiskStatus DB 64 DUP(0)\r
+_pJCB DD 0h\r
+_StatStack DD 256 DUP(0)\r
+_MngrStack DD 256 DUP(0)\r
+_Buffer DB 512 DUP(0)\r
+_nMemPages DD 0h\r
+\r
+\r
+.CODE\r
+EXTRN _InitKBDService: NEAR\r
+EXTRN _fdisk_setup: NEAR\r
+EXTRN _hdisk_setup: NEAR\r
+EXTRN _coms_setup: NEAR\r
+EXTRN _lpt_setup: NEAR\r
+EXTRN _InitFS: NEAR\r
+EXTRN _GetExchOwner: NEAR\r
+EXTRN _DeAllocJCB: NEAR\r
+_isdigit:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       MOV EAX,[EBP+8]\r
+       CMP AL, 30h             ;0\r
+       JL isdigit0             ;No\r
+       CMP AL, 39h             ;\r
+       JLE isdigit1    ;Yes\r
+isdigit0:\r
+       XOR EAX,EAX             ;No\r
+       JMP SHORT isdigit2\r
+isdigit1:\r
+       MOV EAX, -1\r
+isdigit2:\r
+\r
+       POP EBP\r
+       RETN 4\r
+_strlen:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       XOR EAX, EAX\r
+       MOV ESI,[EBP+8]\r
+_strlen0:\r
+       CMP BYTE PTR [ESI],0\r
+       JE _strlen1\r
+       INC ESI\r
+       INC EAX\r
+       JMP SHORT _strlen0\r
+_strlen1:\r
+       POP EBP\r
+       RETN 4\r
+__ffmt:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,57\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-57], EAX\r
+L_1:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       INC DWORD PTR [EBP+12]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV BYTE PTR [EBP-41], AL\r
+       AND EAX,EAX\r
+       JZ L_2\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       CMP EAX,37\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_3\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       INC DWORD PTR [EBP+12]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV BYTE PTR [EBP-41], AL\r
+       MOV EAX,32\r
+       LEA ESI,BYTE PTR [EBP-33]\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       MOV DWORD PTR [EBP-37], EAX\r
+       MOV ESI,DWORD PTR [EBP-37]\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-40], AL\r
+       MOV BYTE PTR [EBP-38], AL\r
+       MOV BYTE PTR [ESI], AL\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-53], EAX\r
+       MOV DWORD PTR [EBP-49], EAX\r
+       MOV DWORD PTR [EBP-45], EAX\r
+       MOV EAX,32\r
+       MOV BYTE PTR [EBP-39], AL\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       CMP EAX,45\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_4\r
+       DEC BYTE PTR [EBP-38]\r
+       MOVSX EAX,BYTE PTR [EBP-38]\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       INC DWORD PTR [EBP+12]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV BYTE PTR [EBP-41], AL\r
+L_4:\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       CMP EAX,48\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_5\r
+       MOV EAX,48\r
+       MOV BYTE PTR [EBP-39], AL\r
+L_5:\r
+L_6:\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       PUSH EAX\r
+       CALL _isdigit\r
+       AND EAX,EAX\r
+       JZ L_7\r
+       MOV EAX,DWORD PTR [EBP-45]\r
+       MOV ECX,10\r
+       MUL ECX\r
+       MOV EBX,EAX\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       MOV ECX,48\r
+       SUB EAX,ECX\r
+       ADD EAX,EBX\r
+       MOV DWORD PTR [EBP-45], EAX\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       INC DWORD PTR [EBP+12]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV BYTE PTR [EBP-41], AL\r
+       JMP L_6\r
+L_7:\r
+       SUB DWORD PTR [EBP+8],4\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       MOV DWORD PTR [EBP-49], EAX\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       JMP L_9\r
+L_10:\r
+       MOV EAX,DWORD PTR [EBP-49]\r
+       AND EAX,-2147483648\r
+       JZ L_11\r
+       NEG DWORD PTR [EBP-49]\r
+       MOV EAX,DWORD PTR [EBP-49]\r
+       INC BYTE PTR [EBP-40]\r
+       MOVSX EAX,BYTE PTR [EBP-40]\r
+L_11:\r
+L_12:\r
+       MOV EAX,10\r
+       MOV DWORD PTR [EBP-53], EAX\r
+       JMP L_8\r
+L_13:\r
+L_14:\r
+       MOV EAX,16\r
+       MOV DWORD PTR [EBP-53], EAX\r
+       JMP L_8\r
+L_15:\r
+       MOV EAX,8\r
+       MOV DWORD PTR [EBP-53], EAX\r
+       JMP L_8\r
+L_16:\r
+       MOV EAX,2\r
+       MOV DWORD PTR [EBP-53], EAX\r
+       JMP L_8\r
+L_17:\r
+       DEC DWORD PTR [EBP-37]\r
+       MOV ESI,DWORD PTR [EBP-37]\r
+       MOV EAX,DWORD PTR [EBP-49]\r
+       MOV BYTE PTR [ESI], AL\r
+       JMP L_8\r
+L_18:\r
+       MOV EAX,DWORD PTR [EBP-49]\r
+       MOV DWORD PTR [EBP-37], EAX\r
+       JMP L_8\r
+L_19:\r
+       DEC DWORD PTR [EBP-37]\r
+       MOV ESI,DWORD PTR [EBP-37]\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       MOV BYTE PTR [ESI], AL\r
+       ADD DWORD PTR [EBP+8],4\r
+       MOV EAX,DWORD PTR [EBP+8]\r
+       JMP L_8\r
+L_9:\r
+       CMP EAX,115\r
+       JE L_18\r
+       CMP EAX,99\r
+       JE L_17\r
+       CMP EAX,98\r
+       JE L_16\r
+       CMP EAX,111\r
+       JE L_15\r
+       CMP EAX,88\r
+       JE L_14\r
+       CMP EAX,120\r
+       JE L_13\r
+       CMP EAX,117\r
+       JE L_12\r
+       CMP EAX,100\r
+       JE L_10\r
+       JMP L_19\r
+L_8:\r
+       MOV EAX,DWORD PTR [EBP-53]\r
+       AND EAX,EAX\r
+       JZ L_20\r
+L_21:\r
+       MOV EAX,DWORD PTR [EBP-49]\r
+       MOV ECX,DWORD PTR [EBP-53]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV EAX,EDX\r
+       ADD EAX,48\r
+       MOV BYTE PTR [EBP-41], AL\r
+       CMP EAX,57\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_24\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       MOV ECX,7\r
+       ADD EAX,ECX\r
+       MOV BYTE PTR [EBP-41], AL\r
+L_24:\r
+       DEC DWORD PTR [EBP-37]\r
+       MOV ESI,DWORD PTR [EBP-37]\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       MOV BYTE PTR [ESI], AL\r
+L_22:\r
+       MOV EAX,DWORD PTR [EBP-49]\r
+       MOV ECX,DWORD PTR [EBP-53]\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-49], EAX\r
+       AND EAX,EAX\r
+       JNZ L_21\r
+L_23:\r
+L_20:\r
+       MOVSX EAX,BYTE PTR [EBP-40]\r
+       AND EAX,EAX\r
+       JZ L_25\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       INC DWORD PTR [EBP+16]\r
+       MOV EAX,45\r
+       MOV BYTE PTR [ESI], AL\r
+       INC DWORD PTR [EBP-57]\r
+       MOV EAX,DWORD PTR [EBP-45]\r
+       AND EAX,EAX\r
+       JZ L_26\r
+       DEC DWORD PTR [EBP-45]\r
+       MOV EAX,DWORD PTR [EBP-45]\r
+L_26:\r
+L_25:\r
+       MOV EAX,DWORD PTR [EBP-45]\r
+       AND EAX,EAX\r
+       JZ L_27\r
+       MOVSX EAX,BYTE PTR [EBP-38]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_27:\r
+       JZ L_28\r
+       PUSH DWORD PTR [EBP-37]\r
+       CALL _strlen\r
+       MOV DWORD PTR [EBP-53], EAX\r
+L_29:\r
+       MOV EAX,DWORD PTR [EBP-53]\r
+       CMP EAX,DWORD PTR [EBP-45]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_30\r
+       JMP SHORT L_31\r
+L_32:\r
+       INC DWORD PTR [EBP-53]\r
+       MOV EAX,DWORD PTR [EBP-53]\r
+       JMP SHORT L_29\r
+L_31:\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       INC DWORD PTR [EBP+16]\r
+       MOVSX EAX,BYTE PTR [EBP-39]\r
+       MOV BYTE PTR [ESI], AL\r
+       JMP L_32\r
+L_30:\r
+       INC DWORD PTR [EBP-57]\r
+       MOV EAX,DWORD PTR [EBP-57]\r
+L_28:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-53], EAX\r
+       MOV EAX,DWORD PTR [EBP-45]\r
+       SUB EAX,1\r
+       MOV DWORD PTR [EBP-49], EAX\r
+L_33:\r
+       MOV ESI,DWORD PTR [EBP-37]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       AND EAX,EAX\r
+       JZ L_35\r
+       MOV EAX,DWORD PTR [EBP-53]\r
+       CMP EAX,DWORD PTR [EBP-49]\r
+       SETBE AL\r
+       AND AL,AL\r
+L_35:\r
+       JZ L_34\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       INC DWORD PTR [EBP+16]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-37]\r
+       INC DWORD PTR [EBP-37]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV BYTE PTR [EBX], AL\r
+       INC DWORD PTR [EBP-57]\r
+       MOV EAX,DWORD PTR [EBP-57]\r
+       INC DWORD PTR [EBP-53]\r
+       MOV EAX,DWORD PTR [EBP-53]\r
+       JMP L_33\r
+L_34:\r
+       MOV EAX,DWORD PTR [EBP-45]\r
+       AND EAX,EAX\r
+       JZ L_36\r
+       MOVSX EAX,BYTE PTR [EBP-38]\r
+L_36:\r
+       AND EAX,EAX\r
+       JZ L_37\r
+L_38:\r
+       MOV EAX,DWORD PTR [EBP-53]\r
+       CMP EAX,DWORD PTR [EBP-45]\r
+       SETB AL\r
+       AND AL,AL\r
+       JZ L_39\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       INC DWORD PTR [EBP+16]\r
+       MOVSX EAX,BYTE PTR [EBP-39]\r
+       MOV BYTE PTR [ESI], AL\r
+       INC DWORD PTR [EBP-57]\r
+       MOV EAX,DWORD PTR [EBP-57]\r
+       INC DWORD PTR [EBP-53]\r
+       MOV EAX,DWORD PTR [EBP-53]\r
+       JMP L_38\r
+L_39:\r
+L_37:\r
+       JMP L_40\r
+L_3:\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       INC DWORD PTR [EBP+16]\r
+       MOVSX EAX,BYTE PTR [EBP-41]\r
+       MOV BYTE PTR [ESI], AL\r
+       INC DWORD PTR [EBP-57]\r
+       MOV EAX,DWORD PTR [EBP-57]\r
+L_40:\r
+       JMP L_1\r
+L_2:\r
+       MOV ESI,DWORD PTR [EBP+16]\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,DWORD PTR [EBP-57]\r
+L_41:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 12\r
+PUBLIC _xprintf:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,108\r
+       LEA EAX,DWORD PTR [EBP+EDI+8]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       LEA EAX,DWORD PTR [EBP-108]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+EDI+8]\r
+       PUSH DWORD PTR [EBP-4]\r
+       CALL __ffmt\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       LEA EAX,DWORD PTR [EBP-108]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-108]\r
+       PUSH EAX\r
+       CALL _strlen\r
+       PUSH EAX\r
+       PUSH _Color\r
+       CALL FWORD PTR _TTYOut\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+PUBLIC _xsprintf:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       LEA EAX,DWORD PTR [EBP+EDI+8]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH DWORD PTR [EBP+EDI+12]\r
+       PUSH DWORD PTR [EBP+EDI+8]\r
+       PUSH DWORD PTR [EBP-4]\r
+       CALL __ffmt\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+PUBLIC _CheckScreen:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       LEA EAX,DWORD PTR [EBP-4]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetXY\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,23\r
+       SETGE AL\r
+       AND AL,AL\r
+       JZ L_44\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH 80\r
+       PUSH 23\r
+       PUSH 1\r
+       CALL FWORD PTR _ScrollVid\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 22\r
+       CALL FWORD PTR _SetXY\r
+L_44:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+_InitScreen:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       CALL FWORD PTR _ClrScr\r
+       MOV EAX,70\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH OFFSET L_lit+5\r
+       PUSH _tick\r
+       MOV EDI, 4\r
+       CALL _xsprintf\r
+       ADD ESP,12\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH OFFSET _rgStatLine\r
+       PUSH 80\r
+       PUSH 23\r
+       CALL FWORD PTR _PutVidChars\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 24\r
+       PUSH OFFSET _rgMonMenu1\r
+       PUSH 26\r
+       PUSH 113\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 27\r
+       PUSH 24\r
+       PUSH OFFSET _rgMonMenu2\r
+       PUSH 26\r
+       PUSH 113\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 54\r
+       PUSH 24\r
+       PUSH OFFSET _rgMonMenu3\r
+       PUSH 25\r
+       PUSH 113\r
+       CALL FWORD PTR _PutVidChars\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       CALL FWORD PTR _SetXY\r
+       POP EBP\r
+       RETN\r
+_StatTask:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,28\r
+L_46:\r
+       PUSH OFFSET _time\r
+       CALL FWORD PTR _GetCMOSTime\r
+       MOV EAX,10\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_time\r
+       MOV ECX,20\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,11\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_time\r
+       MOV ECX,16\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,13\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_time\r
+       MOV ECX,12\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,14\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_time\r
+       MOV ECX,8\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,16\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_time\r
+       MOV ECX,4\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,17\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_time\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       PUSH OFFSET _date\r
+       CALL FWORD PTR _GetCMOSDate\r
+       MOV ESI,OFFSET _rgStatLine\r
+       MOV EAX,_date\r
+       MOV ECX,20\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,1\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_date\r
+       MOV ECX,16\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,3\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_date\r
+       MOV ECX,12\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,4\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_date\r
+       MOV ECX,8\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,6\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_date\r
+       MOV ECX,28\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,7\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       MOV EAX,_date\r
+       MOV ECX,24\r
+       SHR EAX,CL\r
+       AND EAX,15\r
+       ADD EAX,48\r
+       MOV BYTE PTR [ESI], AL\r
+       PUSH OFFSET _tick\r
+       CALL FWORD PTR _GetTimerTick\r
+       MOV EAX,70\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH OFFSET L_lit+8\r
+       PUSH _tick\r
+       MOV EDI, 4\r
+       CALL _xsprintf\r
+       ADD ESP,12\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH OFFSET _rgStatLine\r
+       PUSH 80\r
+       PUSH 23\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 50\r
+       CALL FWORD PTR _Sleep\r
+       PUSH OFFSET _tick\r
+       CALL FWORD PTR _GetTimerTick\r
+       MOV EAX,70\r
+       MOV ESI,OFFSET _rgStatLine\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH OFFSET L_lit+11\r
+       PUSH _tick\r
+       MOV EDI, 4\r
+       CALL _xsprintf\r
+       ADD ESP,12\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH OFFSET _rgStatLine\r
+       PUSH 80\r
+       PUSH 23\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 50\r
+       CALL FWORD PTR _Sleep\r
+       PUSH _KillExch\r
+       PUSH OFFSET _KillMsg\r
+       CALL FWORD PTR _CheckMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_48\r
+       MOV ESI,OFFSET _KillMsg\r
+       MOV EAX,DWORD PTR [ESI]\r
+       MOV _KillError, EAX\r
+       MOV EAX,4\r
+       MOV ESI,OFFSET _KillMsg\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI]\r
+       PUSH OFFSET _pJCB\r
+       CALL _GetExchOwner\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_49\r
+       MOV ESI,_pJCB\r
+       MOV EAX,DWORD PTR [ESI]\r
+       MOV _KillJobNum, EAX\r
+       PUSH 440\r
+       PUSH 50\r
+       CALL FWORD PTR _Tone\r
+       PUSH OFFSET L_lit+14\r
+       PUSH _KillJobNum\r
+       PUSH _KillError\r
+       MOV EDI, 8\r
+       CALL _xprintf\r
+       ADD ESP,12\r
+       CALL _CheckScreen\r
+       MOV ESI,_pJCB\r
+       MOV EAX,DWORD PTR [ESI+18]\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       MOV ESI,_pJCB\r
+       MOV EAX,DWORD PTR [ESI+414]\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetVidOwner\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,_KillJobNum\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_50\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetTSSExch\r
+       PUSH 1\r
+       CALL FWORD PTR _SetVidOwner\r
+       PUSH OFFSET L_lit+52\r
+       PUSH 4\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_50:\r
+       MOV EAX,4\r
+       MOV ESI,OFFSET _KillMsg\r
+       ADD ESI,EAX\r
+       PUSH DWORD PTR [ESI]\r
+       CALL FWORD PTR _DeAllocExch\r
+       PUSH _pJCB\r
+       CALL _DeAllocJCB\r
+       PUSH DWORD PTR [EBP-24]\r
+       PUSH 2\r
+       CALL FWORD PTR _DeAllocPage\r
+       PUSH DWORD PTR [EBP-28]\r
+       PUSH 1\r
+       CALL FWORD PTR _DeAllocPage\r
+       MOV EAX,1\r
+       MOV _fKilled, AL\r
+L_49:\r
+L_48:\r
+       JMP L_46\r
+L_47:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+_MngrTask:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       PUSH OFFSET L_lit+61\r
+       PUSH 2\r
+       PUSH _MngrExch\r
+       PUSH OFFSET _MngrHndl\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH OFFSET _gcode\r
+       PUSH 4\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_51:\r
+       PUSH _MngrExch\r
+       PUSH OFFSET _MngrMsg\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_53\r
+       MOV EAX,_gcode\r
+       AND EAX,255\r
+       CMP EAX,12\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_54\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetVidOwner\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_55:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       AND EAX,EAX\r
+       JNZ L_56\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_57\r
+       MOV EAX,3\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       JMP L_58\r
+L_57:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,34\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_59\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_59:\r
+L_58:\r
+       PUSH DWORD PTR [EBP-8]\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JNZ L_60\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,DWORD PTR [EBP-12]\r
+       SETE AL\r
+       AND AL,AL\r
+L_60:\r
+       JZ L_61\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_61:\r
+       JMP L_55\r
+L_56:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,DWORD PTR [EBP-12]\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_62\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _SetVidOwner\r
+       PUSH OFFSET L_lit+70\r
+       PUSH 4\r
+       PUSH _MngrExch\r
+       PUSH OFFSET _MngrHndl\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-8]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH _MngrExch\r
+       PUSH OFFSET _MngrMsg\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_62:\r
+       JMP L_63\r
+L_54:\r
+       MOV EAX,_gcode\r
+       AND EAX,255\r
+       CMP EAX,127\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_64\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetVidOwner\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL FWORD PTR _KillJob\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_64:\r
+L_63:\r
+       PUSH OFFSET L_lit+79\r
+       PUSH 2\r
+       PUSH _MngrExch\r
+       PUSH OFFSET _MngrHndl\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH OFFSET _gcode\r
+       PUSH 4\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_53:\r
+       JMP L_51\r
+L_52:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+_GoDebug:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       INT 03\r
+       POP EBP\r
+       RETN\r
+_Reboot:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+               CLI                     ;first we clear interrupts\r
+               MOV ECX, 0FFFFh         ;check port up to 64K times\r
+Reboot0:\r
+               IN AL,64h                       ;Read Status Byte into AL\r
+               TEST AL,02h                             ;Test The Input Buffer Full Bit\r
+               LOOPNZ Reboot0\r
+               MOV AL,0FEh                             ;Strobe bit 0 of keyboard crtlr output\r
+               OUT 64h,AL\r
+               STI\r
+       POP EBP\r
+       RETN\r
+PUBLIC _LoadJobFile:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,161\r
+       LEA EAX,BYTE PTR [EBP-29]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetSystemDisk\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-29]\r
+       MOV ECX,127\r
+       AND EAX,ECX\r
+       MOV BYTE PTR [EBP-29], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-29]\r
+       MOV ECX,65\r
+       ADD EAX,ECX\r
+       MOV BYTE PTR [EBP-29], AL\r
+       LEA ESI,BYTE PTR [EBP-79]\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-29]\r
+       MOV BYTE PTR [ESI], AL\r
+       PUSH OFFSET L_lit+88\r
+       MOV EAX,1\r
+       LEA ESI,BYTE PTR [EBP-79]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 20\r
+       CALL FWORD PTR _CopyData\r
+       LEA EAX,DWORD PTR [EBP-79]\r
+       PUSH EAX\r
+       CALL _strlen\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       LEA EAX,DWORD PTR [EBP-79]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _OpenFile\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_67\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-160], AL\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-161], AL\r
+L_68:\r
+       MOVSX EAX,BYTE PTR [EBP-160]\r
+       AND EAX,EAX\r
+       JNZ L_69\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-20], EAX\r
+L_70:\r
+       PUSH DWORD PTR [EBP-8]\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       INC DWORD PTR [EBP-20]\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 1\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_71:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_73\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       SUB EAX,1\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,10\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_74\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,80\r
+       SETL AL\r
+       AND AL,AL\r
+L_74:\r
+L_73:\r
+       JNZ L_70\r
+L_72:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_75\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       CMP EAX,1\r
+       SETG AL\r
+       AND AL,AL\r
+L_75:\r
+       JZ L_76\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,59\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_77\r
+       JMP L_68\r
+L_77:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_78:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,10\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_80\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,13\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_81\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,32\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_82\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       CMP EAX,9\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_83\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+L_83:\r
+L_82:\r
+L_81:\r
+L_80:\r
+       AND EAX,EAX\r
+       JZ L_79\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+       JMP L_78\r
+L_79:\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,2\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_84\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI], AL\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       CMP EAX,8\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_85\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       SUB EAX,7\r
+       LEA ESI,BYTE PTR [EBP-159]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH OFFSET L_lit+109\r
+       PUSH 7\r
+       CALL FWORD PTR _CompareNCS\r
+       CMP EAX,-1\r
+       SETE AL\r
+       AND AL,AL\r
+L_85:\r
+       JZ L_86\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-161], AL\r
+       JMP L_87\r
+L_86:\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-161], AL\r
+L_87:\r
+       PUSH OFFSET L_lit+117\r
+       LEA EAX,DWORD PTR [EBP-159]\r
+       PUSH EAX\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       CALL _CheckScreen\r
+       LEA EAX,DWORD PTR [EBP-159]\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-16]\r
+       LEA EAX,DWORD PTR [EBP-28]\r
+       PUSH EAX\r
+       CALL FWORD PTR _LoadNewJob\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_88\r
+       PUSH OFFSET L_lit+134\r
+       PUSH DWORD PTR [EBP-28]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       CALL _CheckScreen\r
+       PUSH 50\r
+       CALL FWORD PTR _Sleep\r
+       JMP L_89\r
+L_88:\r
+       PUSH OFFSET L_lit+166\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       CALL _CheckScreen\r
+       PUSH 50\r
+       CALL FWORD PTR _Sleep\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_89:\r
+L_84:\r
+       JMP L_90\r
+L_76:\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-160], AL\r
+L_90:\r
+       JMP L_68\r
+L_69:\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CloseFile\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       CMP EAX,2\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_91\r
+       MOVSX EAX,BYTE PTR [EBP-161]\r
+L_91:\r
+       AND EAX,EAX\r
+       JZ L_92\r
+       PUSH DWORD PTR [EBP-28]\r
+       CALL FWORD PTR _SetVidOwner\r
+       PUSH OFFSET L_lit+189\r
+       PUSH 4\r
+       PUSH _GP1Exch\r
+       PUSH OFFSET _GP1Hndl\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-28]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_93\r
+       PUSH _GP1Exch\r
+       PUSH OFFSET _GP1Msg\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_93:\r
+L_92:\r
+       JMP L_94\r
+L_67:\r
+       PUSH OFFSET L_lit+198\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       CALL _CheckScreen\r
+L_94:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+_LoadCLI:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,49\r
+       LEA EAX,BYTE PTR [EBP-9]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetSystemDisk\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-9]\r
+       MOV ECX,127\r
+       AND EAX,ECX\r
+       MOV BYTE PTR [EBP-9], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-9]\r
+       MOV ECX,65\r
+       ADD EAX,ECX\r
+       MOV BYTE PTR [EBP-9], AL\r
+       LEA ESI,BYTE PTR [EBP-49]\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-9]\r
+       MOV BYTE PTR [ESI], AL\r
+       PUSH OFFSET L_lit+248\r
+       MOV EAX,1\r
+       LEA ESI,BYTE PTR [EBP-49]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 16\r
+       CALL FWORD PTR _CopyData\r
+       PUSH OFFSET L_lit+265\r
+       LEA EAX,DWORD PTR [EBP-49]\r
+       PUSH EAX\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       LEA EAX,DWORD PTR [EBP-49]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-49]\r
+       PUSH EAX\r
+       CALL _strlen\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _LoadNewJob\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_95\r
+       PUSH OFFSET L_lit+280\r
+       PUSH DWORD PTR [EBP-8]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       CALL _CheckScreen\r
+       PUSH 50\r
+       CALL FWORD PTR _Sleep\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _SetVidOwner\r
+       PUSH OFFSET L_lit+308\r
+       PUSH 4\r
+       PUSH _GP1Exch\r
+       PUSH OFFSET _GP1Hndl\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-8]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_96\r
+       PUSH _GP1Exch\r
+       PUSH OFFSET _GP1Msg\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_96:\r
+L_95:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r
+PUBLIC _Monitor:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,103\r
+       CALL _InitScreen\r
+       PUSH 250\r
+       PUSH 15\r
+       CALL FWORD PTR _Tone\r
+       PUSH 1000\r
+       PUSH 33\r
+       CALL FWORD PTR _Tone\r
+       PUSH OFFSET _MngrExch\r
+       CALL FWORD PTR _AllocExch\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_98\r
+       PUSH OFFSET L_lit+317\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_98:\r
+       PUSH OFFSET _StatTask\r
+       PUSH 24\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       MOV EAX,1020\r
+       MOV ESI,OFFSET _StatStack\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 1\r
+       CALL FWORD PTR _SpawnTask\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_99\r
+       PUSH OFFSET L_lit+351\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_99:\r
+       PUSH OFFSET _KillExch\r
+       CALL FWORD PTR _AllocExch\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_100\r
+       PUSH OFFSET L_lit+384\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_100:\r
+       MOV EAX,14\r
+       MOV _Color, EAX\r
+       PUSH OFFSET L_lit+418\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       PUSH OFFSET L_lit+480\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       MOV EAX,7\r
+       MOV _Color, EAX\r
+       MOV EAX,_BootDrive\r
+       AND EAX,127\r
+       ADD EAX,65\r
+       MOV BYTE PTR [EBP-33], AL\r
+       PUSH OFFSET L_lit+542\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-33]\r
+       PUSH EAX\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       MOV EAX,_oMemMax\r
+       ADD EAX,1\r
+       MOV ECX,1024\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       PUSH OFFSET L_lit+558\r
+       PUSH DWORD PTR [EBP-8]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET _nMemPages\r
+       CALL FWORD PTR _QueryPages\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_nMemPages\r
+       MOV ECX,4096\r
+       MUL ECX\r
+       MOV ECX,1024\r
+       XOR EDX,EDX\r
+       DIV ECX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       PUSH OFFSET L_lit+582\r
+       PUSH DWORD PTR [EBP-8]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       CALL _InitKBDService\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH OFFSET L_lit+606\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       CALL _coms_setup\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH OFFSET L_lit+635\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       CALL _lpt_setup\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH OFFSET L_lit+679\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET _GPExch\r
+       CALL FWORD PTR _AllocExch\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_101\r
+       PUSH OFFSET L_lit+723\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_101:\r
+       PUSH OFFSET _GP1Exch\r
+       CALL FWORD PTR _AllocExch\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_102\r
+       PUSH OFFSET L_lit+745\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_102:\r
+       PUSH OFFSET L_lit+771\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       CALL _fdisk_setup\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH OFFSET L_lit+808\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+813\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       CALL _hdisk_setup\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH OFFSET L_lit+853\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+858\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       CALL _InitFS\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH OFFSET L_lit+888\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET _MngrTask\r
+       PUSH 10\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       MOV EAX,1020\r
+       MOV ESI,OFFSET _MngrStack\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 1\r
+       CALL FWORD PTR _SpawnTask\r
+       CALL _LoadJobFile\r
+L_103:\r
+       PUSH OFFSET L_lit+915\r
+       PUSH 1\r
+       PUSH _GPExch\r
+       PUSH OFFSET _GPHndl\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-28]\r
+       PUSH EAX\r
+       PUSH 4\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _Request\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_105\r
+       PUSH OFFSET L_lit+924\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_105:\r
+       PUSH _GPExch\r
+       PUSH OFFSET _GPMsg\r
+       CALL FWORD PTR _WaitMsg\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_106\r
+       PUSH OFFSET L_lit+959\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_106:\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       AND EAX,255\r
+       MOV BYTE PTR [EBP-33], AL\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-33]\r
+       JMP L_108\r
+L_109:\r
+       CALL _LoadCLI\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_110\r
+       PUSH OFFSET L_lit+993\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_110:\r
+       JMP L_107\r
+L_111:\r
+       CALL _InitScreen\r
+       MOV EAX,2\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-16], EAX\r
+       MOV EAX,1\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_112:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,34\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_113\r
+       JMP SHORT L_114\r
+L_115:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP SHORT L_112\r
+L_114:\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       CMP EAX,20\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_116\r
+       MOV EAX,40\r
+       MOV DWORD PTR [EBP-16], EAX\r
+L_116:\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH OFFSET _pJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_117\r
+       PUSH DWORD PTR [EBP-16]\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL FWORD PTR _SetXY\r
+       PUSH OFFSET L_lit+1019\r
+       MOV ESI,_pJCB\r
+       PUSH DWORD PTR [ESI]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       ADD EAX,10\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL FWORD PTR _SetXY\r
+       MOV ESI,_pJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,4\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-103]\r
+       PUSH EAX\r
+       PUSH 13\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pJCB\r
+       MOVSX EAX,BYTE PTR [ESI+4]\r
+       LEA ESI,BYTE PTR [EBP-103]\r
+       ADD ESI,EAX\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI], AL\r
+       PUSH OFFSET L_lit+1029\r
+       LEA EAX,DWORD PTR [EBP-103]\r
+       PUSH EAX\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+L_117:\r
+       JMP L_115\r
+L_113:\r
+       JMP L_107\r
+L_118:\r
+       CALL _InitScreen\r
+L_119:\r
+       LEA EAX,DWORD PTR [EBP-32]\r
+       PUSH EAX\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadKbd\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       AND EAX,EAX\r
+       JZ L_120\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       CALL FWORD PTR _SetXY\r
+       PUSH OFFSET _nMemPages\r
+       CALL FWORD PTR _QueryPages\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       PUSH OFFSET L_lit+1040\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       PUSH OFFSET L_lit+1072\r
+       PUSH _nMemPages\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1104\r
+       PUSH _nSwitches\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1136\r
+       PUSH _nSlices\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1168\r
+       PUSH _nHalts\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1200\r
+       PUSH _nReady\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1232\r
+       PUSH _nTSSLeft\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1264\r
+       PUSH _nJCBLeft\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1296\r
+       PUSH _nRQBLeft\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1328\r
+       PUSH _nLBLeft\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       PUSH OFFSET L_lit+1360\r
+       PUSH _nEXCHLeft\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       CALL FWORD PTR _SetXY\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1392\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 9\r
+       CALL FWORD PTR _Sleep\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1394\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 9\r
+       CALL FWORD PTR _Sleep\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1396\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 12\r
+       CALL FWORD PTR _Sleep\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1398\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 9\r
+       CALL FWORD PTR _Sleep\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1400\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 9\r
+       CALL FWORD PTR _Sleep\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1402\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 9\r
+       CALL FWORD PTR _Sleep\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1404\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 12\r
+       CALL FWORD PTR _Sleep\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1406\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       PUSH 9\r
+       CALL FWORD PTR _Sleep\r
+       PUSH 29\r
+       PUSH 1\r
+       PUSH OFFSET L_lit+1408\r
+       PUSH 1\r
+       PUSH 2\r
+       CALL FWORD PTR _PutVidChars\r
+       JMP L_119\r
+L_120:\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 12\r
+       CALL FWORD PTR _SetXY\r
+       PUSH OFFSET L_lit+1410\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       JMP L_107\r
+L_121:\r
+       PUSH OFFSET L_lit+1413\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       LEA EAX,DWORD PTR [EBP-32]\r
+       PUSH EAX\r
+       PUSH 1\r
+       CALL FWORD PTR _ReadKbd\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       AND EAX,255\r
+       CMP EAX,22\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_122\r
+       CALL _Reboot\r
+L_122:\r
+       PUSH OFFSET L_lit+1459\r
+       MOV EDI, 0\r
+       CALL _xprintf\r
+       ADD ESP,4\r
+       JMP L_107\r
+L_123:\r
+       CALL _GoDebug\r
+       JMP L_107\r
+L_124:\r
+       PUSH 3\r
+       CALL FWORD PTR _Sleep\r
+       JMP L_107\r
+L_125:\r
+L_126:\r
+L_127:\r
+L_128:\r
+L_129:\r
+L_130:\r
+L_131:\r
+       JMP L_107\r
+L_132:\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-33]\r
+       CMP EAX,31\r
+       SETA AL\r
+       AND AL,AL\r
+       JZ L_133\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-33]\r
+       CMP EAX,128\r
+       SETB AL\r
+       AND AL,AL\r
+L_133:\r
+       JNZ L_134\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-33]\r
+       CMP EAX,13\r
+       SETE AL\r
+       AND AL,AL\r
+       JNZ L_135\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-33]\r
+       CMP EAX,8\r
+       SETE AL\r
+       AND AL,AL\r
+L_135:\r
+L_134:\r
+       JZ L_136\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [EBP-33]\r
+       CMP EAX,13\r
+       SETE AL\r
+       AND AL,AL\r
+       JZ L_137\r
+       PUSH _CRLF\r
+       PUSH 2\r
+       PUSH 7\r
+       CALL FWORD PTR _TTYOut\r
+       JMP L_138\r
+L_137:\r
+       LEA EAX,BYTE PTR [EBP-33]\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH 7\r
+       CALL FWORD PTR _TTYOut\r
+L_138:\r
+L_136:\r
+       JMP L_107\r
+L_108:\r
+       CMP EAX,26\r
+       JE L_131\r
+       CMP EAX,25\r
+       JE L_130\r
+       CMP EAX,23\r
+       JE L_129\r
+       CMP EAX,21\r
+       JE L_128\r
+       CMP EAX,20\r
+       JE L_127\r
+       CMP EAX,19\r
+       JE L_126\r
+       CMP EAX,18\r
+       JE L_125\r
+       CMP EAX,0\r
+       JE L_124\r
+       CMP EAX,24\r
+       JE L_123\r
+       CMP EAX,22\r
+       JE L_121\r
+       CMP EAX,17\r
+       JE L_118\r
+       CMP EAX,16\r
+       JE L_111\r
+       CMP EAX,15\r
+       JE L_109\r
+       JMP L_132\r
+L_107:\r
+       LEA EAX,DWORD PTR [EBP-20]\r
+       PUSH EAX\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetXY\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       CMP EAX,23\r
+       SETGE AL\r
+       AND AL,AL\r
+       JZ L_139\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       PUSH 80\r
+       PUSH 23\r
+       PUSH 1\r
+       CALL FWORD PTR _ScrollVid\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 22\r
+       CALL FWORD PTR _SetXY\r
+L_139:\r
+       JMP L_103\r
+L_104:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN\r