|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 1984 (0x7c0)
Types: TextFile
Notes: Mikados_K
Names: »ARRAYP.K«
└─⟦1f7cb7eb5⟧ Bits:30009019 ARRAY0 + nulfiler
└─⟦this⟧ »ARRAYP.K«
;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
0x000…047 Line {l1=0x45, l2=»;ARRAYO--ARRAY OVERFøRSEL TIL EN COMAL NUMERICAL ARRAY 23.09.80 - PNM«, l3=0x45}
0x047…04a Line {l1=0x01, l2=»;«, l3=0x01}
0x04a…058 Line {l1=0x0c, l2=» BASHM«, l3=0x0c}
0x058…062 Line {l1=0x08, l2=»ARRAYP::«, l3=0x08}
0x062…083 Line {l1=0x1f, l2=» CALL COASM ;GEM PIL«, l3=0x1f}
0x083…0c1 Line {l1=0x3c, l2=» LXI H,NUMET ;HL==>LAGRINSSTED TIL FLYDENDE ET TAL«, l3=0x3c}
0x0c1…0e7 Line {l1=0x24, l2=» LXI D,1 ;DE=HELTAL ET«, l3=0x24}
0x0e7…127 Line {l1=0x3e, l2=» MVI A,FIXFL ;A=OPKODE KONVERTER HELTAL TIL FLYDENDE«, l3=0x3e}
0x127…145 Line {l1=0x1c, l2=» CALL DOIT ;DOIT«, l3=0x1c}
0x145…15f Line {l1=0x18, l2=» LXI H,1 ;«, l3=0x18}
0x15f…19c Line {l1=0x3b, l2=» SHLD INDEX ;SÆT OOP INTERN REPRESENTATION AF EN«, l3=0x3b}
0x19c…1c7 Line {l1=0x29, l2=» ;FLYDENDE KONSTANT«, l3=0x29}
0x1c7…1fd Line {l1=0x34, l2=» LXI D,AARRAY;DE==>ADRESSE AF VARIABLE 'A'«, l3=0x34}
0x1fd…22b Line {l1=0x2c, l2=» LXI H,NUMET ;HL==>FLYDENDE ET TAL«, l3=0x2c}
0x22b…25b Line {l1=0x2e, l2=» MVI A,PUTNM ;A=OPKODE, PUT NUMERISK«, l3=0x2e}
0x25b…288 Line {l1=0x2b, l2=» CALL DOIT ;OVERFØR ET TIL A(1)«, l3=0x2b}
0x288…2b1 Line {l1=0x27, l2=» CNZ 0F008 ;FEJL KALD DEBUG«, l3=0x27}
0x2b1…2f2 Line {l1=0x3f, l2=»;NU HAR VI OVERFØRT DET FØRSTE ELEMENT ADRESSE AF NÆSTE ELEMENT«, l3=0x3f}
0x2f2…2fe Line {l1=0x0a, l2=»;STÅR I DE«, l3=0x0a}
0x2fe…32b Line {l1=0x2b, l2=» LXI H,2 ;HL HAR NÆSTE HELTAL«, l3=0x2b}
0x32b…36c Line {l1=0x3f, l2=» XCHG ;HL==>SLUT AF NÆSTE DATA ELEMENT, DE=TAL«, l3=0x3f}
0x36c…375 Line {l1=0x07, l2=»ARRAY1:«, l3=0x07}
0x375…399 Line {l1=0x22, l2=» PUSH D ;GEM HELTAL«, l3=0x22}
0x399…3d1 Line {l1=0x36, l2=» PUSH H ;GEM SLUT AF DENNE DATA ELEMENT«, l3=0x36}
0x3d1…40f Line {l1=0x3c, l2=» LXI H,NUMET ;HL==>MODTAGE ADRESSE AF FLYDENDE TAL«, l3=0x3c}
0x40f…430 Line {l1=0x1f, l2=» PUSH H ;GEM DET«, l3=0x1f}
0x430…452 Line {l1=0x20, l2=» MVI A,FIXFL ;A=OPKODE«, l3=0x20}
0x452…48f Line {l1=0x3b, l2=» CALL DOIT ;OVERFØR HELTAL TIL ARRAY I FLYDENDE«, l3=0x3b}
0x48f…4b3 Line {l1=0x22, l2=» POP B ;BC==>NUMET«, l3=0x22}
0x4b3…4dd Line {l1=0x28, l2=» POP H ;HL==>DATAADRESSE«, l3=0x28}
0x4dd…503 Line {l1=0x24, l2=» MVI E,4 ;FLYT 4 BYTES«, l3=0x24}
0x503…50c Line {l1=0x07, l2=»ARRAY2:«, l3=0x07}
0x50c…526 Line {l1=0x18, l2=» LDAX B ;«, l3=0x18}
0x526…540 Line {l1=0x18, l2=» MOV M,A ;«, l3=0x18}
0x540…573 Line {l1=0x31, l2=» DCX H ;DATA FLYTTES NEDAD!!!!!!!«, l3=0x31}
0x573…58d Line {l1=0x18, l2=» INX B ;«, l3=0x18}
0x58d…5a7 Line {l1=0x18, l2=» DCR E ;«, l3=0x18}
0x5a7…5d2 Line {l1=0x29, l2=» JNZ ARRAY2 ;FLYT FLYDENDE TAL«, l3=0x29}
0x5d2…5f4 Line {l1=0x20, l2=» POP D ;HENT TAL«, l3=0x20}
0x5f4…61d Line {l1=0x27, l2=» INX D ;INKREMENTER TAL«, l3=0x27}
0x61d…63e Line {l1=0x1f, l2=» MVI A,#11 ;GØR DET«, l3=0x1f}
0x63e…670 Line {l1=0x30, l2=» CMP E ;9 GANGE FOR I ALT 10 TAL«, l3=0x30}
0x670…68a Line {l1=0x18, l2=» JNZ ARRAY1 ;«, l3=0x18}
0x68a…6aa Line {l1=0x1e, l2=» RET ;UDGANG«, l3=0x1e}
0x6aa…6ad Line {l1=0x01, l2=»;«, l3=0x01}
0x6ad…6d0 Line {l1=0x21, l2=»AARRAY:DB 'A',VPAR,'1',INKNS«, l3=0x21}
0x6d0…6f4 Line {l1=0x22, l2=»INDEX: DB 0,0,HPAR,DELIM «, l3=0x22}
0x6f4…732 Line {l1=0x3c, l2=»NUMET: DB 0,0,0,0 ;MODTAGER 1 I FLYDENDE REPRESENTATION«, l3=0x3c}
0x732…749 Line {l1=0x15, l2=» END ARRAYP«, l3=0x15}
0x749…760 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ ccccccccccccccccccccc┆
0x760…780 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆cccccccccccccccccccccccccccccccc┆
[…0x2…]
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