|
|
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
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