Trailing-Edge
-
PDP-10 Archives
-
BB-H348C-RM_1982
-
swskit-v21/listings/rsx11s/cvrtm.list
There are no other files named cvrtm.list in the archive.
CVRTM MACRO M1110 22-AUG-79 07:05 PAGE 3
1 .TITLE CVRTM
2 .IDENT /02/
3
4 ;
5 ; COPYRIGHT (C) 1974, 1976
6 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
7 ;
8 ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
9 ; OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
10 ;
11 ; VERSION 02
12 ;
13 ; D. N. CUTLER 12-AUG-73
14 ;
15 ; PREVIOUSLY MODIFIED BY:
16 ;
17 ; D. N. CUTLER
18 ;
19 ; MODIFIED BY:
20 ;
21 ;+
22 ; **-$CVRTM-CONVERT TIME
23 ;
24 ; THIS ROUTINE IS CALLED TO CONVERT A TIME INTERVAL-TIME UNITS PAIR
25 ; TO A CLOCK TICKS COUNT.
26 ;
27 ; INPUTS:
28 ;
29 ; R3=ADDRESS OF TIME INTERVAL-TIME UNITS PAIR.
30 ;
31 ; OUTPUTS:
32 ;
33 ; IF AN ILLEGAL TIME INTERVAL (GREATER THAN 15 BITS) OR
34 ; ILLEGAL TIME UNITS (ZERO OR GREATER THAN 4) IS SPECIFIED,
35 ; THEN A DIRECTIVE STATUS OF 'D.RS93' IS RETURNED. ELSE THE
36 ; TICKS COUNT IS RETURNED WITH THE HIGH ORDER PART IN R0 AND
37 ; THE LOW ORDER PART IN R1. R3 IS ADVANCED BY 4 THUS POINTING
38 ; PAST THE TIME INTERVAL-TIME UNITS PAIR.
39 ;-
40
41 000000 012301 $CVRTM::MOV (R3)+,R1 ;GET TIME INTERVAL
42 000002 100444 BMI 70$ ;IF MI ILLEGAL TIME INTERVAL
43 000004 012300 MOV (R3)+,R0 ;GET TIME UNITS
44 000006 005300 DEC R0 ;BACK OFF BY ONE
45 000010 020027 000003 CMP R0,#3 ;LEGAL UNITS?
46 000014 101037 BHI 70$ ;IF HI NO
47 000016 006300 ASL R0 ;CONVERT TO DISPATCH INDEX
48 000020 060007 ADD R0,PC ;DISPATCH
49 000022 000427 10$: BR 50$ ;1=TICKS
50 000024 000422 BR 30$ ;2=SECONDS
51 000026 000406 BR 20$ ;3=MINUTES
52 000030 012700 000074 MOV #60.,R0 ;4=HOURS
53 000034 CALL $MUL ;CALCULATE NUMBER OF MINUTES
54 000040 005700 TST R0 ;OVERFLOW 16 BITS?
55 000042 001024 BNE 70$ ;IF NE YES
56 000044 020127 002640 20$: CMP R1,#1440. ;MORE THAN ONE DAY OF MINUTES?
57 000050 101021 BHI 70$ ;IF HI YES
CVRTM MACRO M1110 22-AUG-79 07:05 PAGE 3-1
58 000052 012700 000036 MOV #30.,R0 ;MULTIPLY BY 60. SECONDS/2
59 000056 CALL $MUL ;PRODUCT CANNOT OVERFLOW 16 BITS.
60 000062 016700 000000G MOV $TKPS,R0 ;GET TICKS PER SECOND
61 000066 006300 ASL R0 ;MULTIPLY BY 2
62 000070 000402 BR 40$ ;
63 000072 016700 000000G 30$: MOV $TKPS,R0 ;GET TICKS PER SECOND
64 000076 40$: CALL $MUL ;CALCULATE TICKS COUNT
65 000102 010002 50$: MOV R0,R2 ;TICKS COUNT ZERO?
66 000104 050102 BIS R1,R2 ;
67 000106 001001 BNE 60$ ;IF NE NO
68 000110 005201 INC R1 ;MAKE TICKS COUNT 1
69 000112 60$: RETURN ;
70 000114 70$: DRSTS D.RS93 ;SET DIRECTIVE STATUS
71
72 000001 .END
CVRTM MACRO M1110 22-AUG-79 07:05 PAGE 3-2
SYMBOL TABLE
A$$CHK= 000000 H$$RTZ= 000074 L$$ASG= 000000 P$$RTY= 000000 S$$YSZ= 001740
A$$CPS= 000000 I$$RDN= 000000 L$$DRV= 000000 P$$TPT= 000000 V$$CTR= 001200
A$$TRP= 000000 K$$CNT= 177546 M$$CRB= 000124 R$$DER= 000000 V$$RSN= 000031
C$$ORE= 002000 K$$CSR= 177546 M$$MGE= 000000 R$$EXV= 000000 X$$DBT= 000000
D.RS93= ****** GX K$$IEN= 000115 M$$NET= 000000 R$$SND= 000000 $CVRTM 000000RG
G$$TPP= 000000 K$$LDC= 000001 M$$NT2= 000000 R$$11M= 000000 $MUL = ****** GX
G$$TTK= 000000 K$$TPS= 000074 N$$LDV= 000001 R$$11S= 000000 $TKPS = ****** GX
. ABS. 000000 000
000116 001
ERRORS DETECTED: 0
VIRTUAL MEMORY USED: 1211 WORDS ( 5 PAGES)
DYNAMIC MEMORY: 2980 WORDS ( 11 PAGES)
ELAPSED TIME: 00:00:10
[11,24]CVRTM,SY0:[11,34]CVRTM/-SP=[1,1]EXEMC/ML,[11,10]RSXMC/PA:1,CVRTM