Service Manuals, User Guides, Schematic Diagrams or docs for : xerox mesa 3.0_1977 listing TimeConvert.mesa_Mar78

<< Back | Home

Most service manuals and schematics are PDF files, so You will need Adobre Acrobat Reader to view : Acrobat Download Some of the files are DjVu format. Readers and resources available here : DjVu Resources
For the compressed files, most common are zip and rar. Please, extract files with Your favorite compression software ( WinZip, WinRAR ... ) before viewing. If a document has multiple parts, You should download all, before extracting.
Good luck. Repair on Your own risk. Make sure You know what You are doing.




Image preview - the first page of the document
TimeConvert.mesa_Mar78


>> Download TimeConvert.mesa_Mar78 documenatation <<

Text preview - extract from the document
TimeConvert.mesa              30-MAR-78 14:47:33                                        Page 1


-- TimeConvert.Mesa   Edited by Johnsson on March 21, 1978   8:38 AM
DIRECTORY
   InlineDefs: FROM "inlinedefs",
  StringDefs: FROM "stringdefs",
  TimeDefs: FROM "timedefs";
DEFINITIONS FROM TimeDefs;
TimeConvert: PROGRAM IMPORTS StringDefs EXPORTS TimeDefs SHARES TimeDefs
BEGIN
--This should be a constant in TimeDefs, but ...
DefaultTime: PackedTime = PackedTime[O,O];
UP: TYPE = POINTER TO UnpackedTime;


DivideTime: PROCEDURE [num: PackedTime, den: CARDINAL]
  RETURNS [quotient: PackedTime, remainder: CARDINAL] =
  BEGIN OPEN InlineDefs;
  t: CARDINAL;
  [quotient.highbits, t] ~ LDIVMOD[num.highbits,O,den];
  [quotient.lowbits, remainder] ~ LDIVMOD[num.lowbits,t,den];
  RETURN
  END;
MultiplyTime: PROCEDURE [multiplicand: PackedTime, multiplier: CARDINAL]
 RETURNS [result: PackedTime] =
 BEGIN OPEN InlineDefs;
 t: CARDINAL;
 result.highbits ~ multiplicand.highbits * multiplier;
 [result.lowbits, t] ~ LongMult[multiplicand.lowbits, multiplier].product;
 result.highbits ~ result.highbits + t;
 RETURN
 END;
AddTime: PROCEDURE [a: PackedTime, b: INTEGER] RETURNS [PackedTime]
  BEGIN
  t: CARDINAL = a.lowbits;
  a.lowbits ~ a.lowbits + b;
  IF b > 0 THEN
    BEGIN IF a.lowbits < t THEN a.highbits ~ a.highbits+1 END
  ELSE IF a.lowbits > t THEN a.highbits ~ a.highbits-1;
  RETURN[a]
  END;
CurrentDayTime: PUBLIC PROCEDURE RETURNS [PackedTime] =
  BEGIN
  t: HardwareTime ~ currentTime~;
  IF currentParameters.beginDST = 0 THEN -- compatibility
    RETURN[AddTime[[highbits: t.high, lowbits: t.low],8*60*60]]
  ELSE RETURN[[highbits: t.high, lowbits: t.low]]
  END;
TimeParameters: PROCEDURE
  RETURNS [beginDST, endDST: CARDINAL, zone, zoneminutes: INTEGER] =
  BEGIN
  direction: WestEast;
  [beginDST: beginDST, endDST: endDST, zone: zone, zoneminutes: zoneminutes, direction: direction]   ~   cu
*



◦ Jabse Service Manual Search 2024 ◦ Jabse PravopisonTap.bg ◦ Other service manual resources online : FixyaeServiceinfo