DataMuseum.dk

Presents historical artifacts from the history of:

CR80 Hard and Floppy Disks

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CR80 Hard and Floppy Disks

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦91961bc76⟧ TextFile

    Length: 3188 (0xc74)
    Types: TextFile
    Names: »CONVERTID«

Derivation

└─⟦80dc9b589⟧ Bits:30005096 8" CR80 Floppy CR80FD_0053 ( HMDIR 6 VOL: BACKUP MD: CPM.D From: HMDIR*CPM.D )
    └─⟦08785f861⟧ 
        └─ ⟦this⟧ »CPM.D!CONVERTID« 

TextFile

;-----------------------------------------------------------------------
; SUBROUTINE "COMVERT_MSGID"(CONVERTID).
;
; NARRATIVE:
; CONVERID PERFORMES THE CONVERSION OF MSGID'S FROM/TO FIKS REPRESEN-
; TATION(ASCII) TO/FROM INTERNAL SCC REPRESENTATION(BINARY).
; THE MSGID TO BE CONVERTED IS DESIGNATED BY 'R7',AND PROVIDES BOTH
; THE SOURCE AND OBJECT.
; IF THE CONVERTION CAN'T BE ACCOMPLISHED,THEN THE SEQNO IS SET TO
; ZERO.
;
; REGISTER USE:       ENTRY              EXIT
;                     R0,R1?             DESTROYED
;                     R5=LINK            DESTROYED
;                     R7=REF.ID          KEPT
;
; RETURNS:     LINK+0:DONE
;-----------------------------------------------------------------------
CASCII:                              ;BEGIN CASCII
         MOV          R5  RLA100     ;   SAVE LINK
         MOVC  0                 R5  ;   CLEAR ACCUMULATOR
         MOVC  3                 R1  ;   NO.OF ASCCI IN SEQNO
         SLL          R7  1          ;   ID BYTE ADDRESS
A110:                                ;   BEGIN CONVERT
         MOV          R5         R0  ;
         SLL          R5  3          ;     A:=10*A
         ADD          R0         R5  ;
         ADD          R0         R5  ;
         MOVB  3.     X7         R0  ;     READ
         SLO          R0  <:0:>      ;     AND CONVERT
         SLOP         R0  <:9:>      ;     BYTE
         MOVC  0                 R5  ;
         JMP              A120       ;
         ADDC  -<:0:>            R0  ;
         ADD          R0         R5  ;     A:=A+N
         ADDC  1                 R7  ;
         SOB          R1  A110       ;
A120:                                ;   END CONVERT
         MOD          R1             ;
         ADDC  -3                R7  ;   RESET R7
         SRL          R7  1          ;
         MOV          R5  2.     X7  ;   LOAD BINARY MSGID
         JMPI             RLA100     ;   RETURN LINK+0
                                     ;
CBINARY:                             ;BEGIN CBINARY
         MOV   2.     X7         R1  ;
         XTR          R1  10         ;   GET BINARY SEQNO
         SLL          R7  1          ;   ID BYTE ADDRESS
         MOVC  -1                R0  ;   BEGIN CONVERT
A210:    ADDC  1                 R0  ;
         IHSP         R1  100        ;
         ADDC  -100              R1  ;
         JMP              A210       ;
         IHSP         R0  10         ;     CHECK MOST SIGNIFICANT
         MOVC  0                 R0  ;     DIGIT
         MOVC  0                 R1  ;
         ADDC  <:0:>             R0  ;
         MOVB         R0  3.     X7  ;
         MOVC  -1                R0  ;
A220:    ADDC  1                 R0  ;
         IHSP         R1  10         ;
         ADDC  -10               R1  ;
         JMP              A220       ;
         ADDC  <:0:>             R0  ;
         MOVB         R0  4.     X7  ;
         ADDC  <:0:>             R1  ;
         MOVB         R1  5.     X7  ;
         SRL          R7  1          ;   RESET R7
         JMP              0.     X5  ;   RETURN LINK
                                     ;END CONVERTID
;----------------------------------------------------------------------- ▶1a◀