--- /dev/null
+\r
+.DATA\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 _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
+L_lit DB 66,117,115,121,76,111,111,112,0,37,100,32,13,10,0\r
+PUBLIC _tick DD 0h\r
+\r
+\r
+.CODE\r
+EXTRN _fopen: NEAR\r
+EXTRN _fclose: NEAR\r
+EXTRN _remove: NEAR\r
+EXTRN _rename: NEAR\r
+EXTRN _fgetc: NEAR\r
+EXTRN _fgets: NEAR\r
+EXTRN _fputs: NEAR\r
+EXTRN _fputc: NEAR\r
+EXTRN _printf: NEAR\r
+EXTRN _sprintf: NEAR\r
+EXTRN _fprintf: NEAR\r
+EXTRN _ftell: NEAR\r
+EXTRN _rewind: NEAR\r
+EXTRN _fseek: NEAR\r
+EXTRN _fread: NEAR\r
+EXTRN _fwrite: NEAR\r
+PUBLIC _main:\r
+ PUSH EBP\r
+ MOV EBP,ESP\r
+ SUB ESP,4\r
+ PUSH OFFSET L_lit+0\r
+ PUSH 8\r
+ CALL FWORD PTR _SetJobName\r
+ PUSH 100\r
+ CALL FWORD PTR _Sleep\r
+L_1:\r
+ MOV EAX,1\r
+ AND EAX,EAX\r
+ JZ L_2\r
+ PUSH OFFSET _tick\r
+ CALL FWORD PTR _GetTimerTick\r
+ PUSH OFFSET L_lit+9\r
+ PUSH _tick\r
+ MOV EDI, 4\r
+ CALL _printf\r
+ ADD ESP,8\r
+ MOV EAX,DWORD PTR [EBP-4]\r
+ INC DWORD PTR [EBP-4]\r
+ JMP L_1\r
+L_2:\r
+ MOV ESP,EBP\r
+ POP EBP\r
+ RETN\r