DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

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

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦6b3087f47⟧ TextFile

    Length: 1984 (0x7c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »ARRAYP.K«

Derivation

└─⟦1f7cb7eb5⟧ Bits:30009019 ARRAY0 + nulfiler
    └─⟦this⟧ »ARRAYP.K« 

Mikados K File

;ARRAYO--ARRAY OVERFøRSEL TIL EN COMAL NUMERICAL ARRAY 23.09.80 - PNM
;
       BASHM
ARRAYP::
       CALL    COASM   ;GEM PIL
       LXI     H,NUMET ;HL==>LAGRINSSTED TIL FLYDENDE ET TAL
       LXI     D,1     ;DE=HELTAL ET
       MVI     A,FIXFL ;A=OPKODE KONVERTER HELTAL TIL FLYDENDE
       CALL    DOIT    ;DOIT
       LXI     H,1     ;
       SHLD    INDEX   ;SÆT OOP INTERN REPRESENTATION AF EN
                       ;FLYDENDE KONSTANT
       LXI     D,AARRAY;DE==>ADRESSE AF VARIABLE 'A'
       LXI     H,NUMET ;HL==>FLYDENDE ET TAL
       MVI     A,PUTNM ;A=OPKODE, PUT NUMERISK
       CALL    DOIT    ;OVERFØR ET TIL A(1)
       CNZ     0F008   ;FEJL KALD DEBUG
;NU HAR VI OVERFØRT DET FØRSTE ELEMENT ADRESSE AF NÆSTE ELEMENT
;STÅR I DE
       LXI     H,2     ;HL HAR NÆSTE HELTAL
       XCHG            ;HL==>SLUT AF NÆSTE DATA ELEMENT, DE=TAL
ARRAY1:
       PUSH    D       ;GEM HELTAL
       PUSH    H       ;GEM SLUT AF DENNE DATA ELEMENT
       LXI     H,NUMET ;HL==>MODTAGE ADRESSE AF FLYDENDE TAL
       PUSH    H       ;GEM DET
       MVI     A,FIXFL ;A=OPKODE
       CALL    DOIT    ;OVERFØR HELTAL TIL ARRAY I FLYDENDE
       POP     B       ;BC==>NUMET
       POP     H       ;HL==>DATAADRESSE
       MVI     E,4     ;FLYT 4 BYTES
ARRAY2:
       LDAX    B       ;
       MOV     M,A     ;
       DCX     H       ;DATA FLYTTES NEDAD!!!!!!!
       INX     B       ;
       DCR     E       ;
       JNZ     ARRAY2  ;FLYT FLYDENDE TAL
       POP     D       ;HENT TAL
       INX     D       ;INKREMENTER TAL
       MVI     A,#11   ;GØR DET
       CMP     E       ;9 GANGE FOR I ALT 10 TAL
       JNZ     ARRAY1  ;
       RET             ;UDGANG
;
AARRAY:DB      'A',VPAR,'1',INKNS
INDEX: DB      0,0,HPAR,DELIM     
NUMET: DB      0,0,0,0 ;MODTAGER 1 I FLYDENDE REPRESENTATION
       END     ARRAYP

TextFile

E;ARRAYO--ARRAY OVERFøRSEL TIL EN COMAL NUMERICAL ARRAY 23.09.80 - PNME▶01◀;▶01◀\f

       BASHM\f

▶08◀ARRAYP::▶08◀▶1f◀       CALL    COASM   ;GEM PIL▶1f◀<       LXI     H,NUMET ;HL==>LAGRINSSTED TIL FLYDENDE ET TAL<$       LXI     D,1     ;DE=HELTAL ET$>       MVI     A,FIXFL ;A=OPKODE KONVERTER HELTAL TIL FLYDENDE>▶1c◀       CALL    DOIT    ;DOIT▶1c◀▶18◀       LXI     H,1     ;▶18◀;       SHLD    INDEX   ;SÆT OOP INTERN REPRESENTATION AF EN;)                       ;FLYDENDE KONSTANT)4       LXI     D,AARRAY;DE==>ADRESSE AF VARIABLE 'A'4,       LXI     H,NUMET ;HL==>FLYDENDE ET TAL,.       MVI     A,PUTNM ;A=OPKODE, PUT NUMERISK.+       CALL    DOIT    ;OVERFØR ET TIL A(1)+'       CNZ     0F008   ;FEJL KALD DEBUG'?;NU HAR VI OVERFØRT DET FØRSTE ELEMENT ADRESSE AF NÆSTE ELEMENT?
;STÅR I DE
+       LXI     H,2     ;HL HAR NÆSTE HELTAL+?       XCHG            ;HL==>SLUT AF NÆSTE DATA ELEMENT, DE=TAL?▶07◀ARRAY1:▶07◀"       PUSH    D       ;GEM HELTAL"6       PUSH    H       ;GEM SLUT AF DENNE DATA ELEMENT6<       LXI     H,NUMET ;HL==>MODTAGE ADRESSE AF FLYDENDE TAL<▶1f◀       PUSH    H       ;GEM DET▶1f◀        MVI     A,FIXFL ;A=OPKODE ;       CALL    DOIT    ;OVERFØR HELTAL TIL ARRAY I FLYDENDE;"       POP     B       ;BC==>NUMET"(       POP     H       ;HL==>DATAADRESSE($       MVI     E,4     ;FLYT 4 BYTES$▶07◀ARRAY2:▶07◀▶18◀       LDAX    B       ;▶18◀▶18◀       MOV     M,A     ;▶18◀1       DCX     H       ;DATA FLYTTES NEDAD!!!!!!!1▶18◀       INX     B       ;▶18◀▶18◀       DCR     E       ;▶18◀)       JNZ     ARRAY2  ;FLYT FLYDENDE TAL)        POP     D       ;HENT TAL '       INX     D       ;INKREMENTER TAL'▶1f◀       MVI     A,#11   ;GØR DET▶1f◀0       CMP     E       ;9 GANGE FOR I ALT 10 TAL0▶18◀       JNZ     ARRAY1  ;▶18◀▶1e◀       RET             ;UDGANG▶1e◀▶01◀;▶01◀!AARRAY:DB      'A',VPAR,'1',INKNS!"INDEX: DB      0,0,HPAR,DELIM     "<NUMET: DB      0,0,0,0 ;MODTAGER 1 I FLYDENDE REPRESENTATION<▶15◀       END     ARRAYP▶15◀▶00◀▶00◀ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

Full view