--- /dev/null
+\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