.TITLE CNVTIM ; ; PURPOSE: TO CONVERT THE 3 TIMECODE WORDS TO 5 BINARY NUMBERS: ; I.E. NUMBER OF MSEC,SEC,MIN,HOURS AND THE ID. ; ; >>>>>>>>>> REMEMBER: '1' = NOT PRESENT, '0' = PRESENT <<<<<<<<<< ; ; INPUT: ; BITNR: 15--------------------------------0 ; 8 4 2 1 8 4 2 1 8 4 2 1 8 4 2 1 ; WORD 1: SC*1 MS*100 MS*10 MS*1 ; WORD 2: HR*1 MN*10 MN*1 SC*10 ; WORD 3: ID*100 ID*10 ID*1 HR*10 ; ; CALLING SEQUENCE: CALL CNVTIM(IN,OUT) ; WITH: IN(1) = 1ST WORD ; IN(2) = 2ND WORD ; IN(3) = 3RD WORD ; OUT(1)= NUMBER OF MSEC ; OUT(2)= NUMBER OF SEC ; OUT(3)= NUMBER OF MIN ; OUT(4)= NUMBER OF HOURS ; OUT(5)= IDENTIFICATION ; ; .GLOBL CNVTIM ; ; CNVTIM: MOV R0,-(SP) MOV R1,-(SP) MOV R2,-(SP) MOV R3,-(SP) MOV R4,-(SP) ; ; MOV 2(R5),R2 MOV 4(R5),R5 ; MOV (R2)+,R3 ;WORD 1 -- MS*1 CLR R0 JSR PC,BCDTBN MOV R4,(R5) ASH #-4,R3 ;WORD 1 -- MS*10 JSR PC,BCDTBN ADD R4,(R5) ASH #-4,R3 ;WORD 1 -- MS*100 JSR PC,BCDTBN ADD R4,(R5)+ ASH #-4,R3 ;WORD 1 -- SC*1 CLR R0 JSR PC,BCDTBN MOV R4,(R5) MOV (R2)+,R3 ;WORD 2 -- SC*10 JSR PC,BCDTBN ADD R4,(R5)+ ASH #-4,R3 ;WORD 2 -- MN*1 CLR R0 JSR PC,BCDTBN MOV R4,(R5) ASH #-4,R3 ;WORD 2 -- MN*10 JSR PC,BCDTBN ADD R4,(R5)+ ASH #-4,R3 ;WORD 2 -- HR*1 CLR R0 JSR PC,BCDTBN MOV R4,(R5) MOV (R2),R3 ;WORD 3 -- HR*10 JSR PC,BCDTBN ADD R4,(R5)+ ASH #-4,R3 ;WORD 3 -- ID*1 CLR R0 JSR PC,BCDTBN MOV R4,(R5) ASH #-4,R3 ;WORD 3 -- ID*10 JSR PC,BCDTBN ADD R4,(R5) ASH #-4,R3 ;WORD 3 -- ID*100 JSR PC,BCDTBN ADD R4,(R5) ; ; ; MOV (SP)+,R4 MOV (SP)+,R3 MOV (SP)+,R2 MOV (SP)+,R1 MOV (SP)+,R0 RTS PC ; ; BCDTBN: CLR R4 MOV #1,R1 1$: BIT R1,R3 BNE 2$ ADD TAB(R0),R4 2$: ASL R1 INC R0 INC R0 BIT #20,R1 BEQ 1$ RTS PC ; ; TAB: .WORD 1,2,4,8. .WORD 10.,20.,40.,80. .WORD 100.,200.,400.,800. ; ; .END