|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2048 (0x800)
Types: TextFile
Names: »STRKONV.A86«
└─⟦042fc77f4⟧ Bits:30004107/disk4.imd SW1400 CCP/M 86 Distributionsdiskette 3.1
└─⟦this⟧ »STRKONV.A86«
└─⟦255a2b22f⟧ Bits:30004229/disk4.imd SW1400 CCP/M 86 Distributionsdiskette 3.1a
└─⟦this⟧ »STRKONV.A86«
└─⟦490a8e2df⟧ Bits:30003937 SW1501 RcComal-80 v3.0 (thykier)
└─⟦this⟧ »STRKONV.A86«
└─⟦72a4952a6⟧ Bits:30004362 SW1501 RcComal-80 v3.0
└─⟦this⟧ »STRKONV.A86«
└─⟦dcb507fe6⟧ Bits:30003936 SW1501 RcComal-80 v3.0 (ils)
└─⟦this⟧ »STRKONV.A86«
CSEG
CSEG
VER DW VERSNO ;
PACKTYPE DW ASSEMBLER ;
DOC DW DSTRKONV ;
INIT DW OFFSET FINITO ;
EXIT DW 0 ;
DB 5, 'UPPER' ; procedure upper(REF mystr$);
DB PROC ;
DW OFFSET DUPPER ;
DW OFFSET XUPPER ;
DB 1 ; 1 parameter
DB 5, 'MYSTR' ;
DB REF+STRING,0 ; simple REF string
DB 5, 'LOWER' ; procedure lower(REF mystr$);
DB PROC ;
DW OFFSET DLOWER ;
DW OFFSET XLOWER ;
DB 1 ; 1 parameter
DB 5, 'MYSTR' ;
DB REF+STRING,0 ; simple REF string
DB 0 ; ikke flere proc og func
DW OFFSET RESERVER ;
DW ASSEMBLER ;
INCLUDE ASSEMBL.A86
DSTRKONV DW LENGTH DSTR ;
DSTR DB 'konverterer strenge til små eller store bogstaver'
DLOWER DW LENGTH DLSTR ;
DLSTR DB 'konverterer strengparameteren til små bogstaver'
XLOWER: MOV BP,RESERVER+6 ;
PUSH DS ;
MOV DS,4ÆBPÅ ; get_segment_for_parameter;
MOV ES,4ÆBPÅ ; get_segment_for_parameter;
MOV SI,6ÆBPÅ ; get_address_for_parameter;
INC SI ; skip_max_length_of_parameter;
INC SI ;
LODS AX ; get_length_of_parameter;
MOV CX,AX ;
L10: OR CL,CL ;
JZ L30 ;
MOV DI,SI ;
LODSB ;
CMP AL,'A' ;
JB L20 ;
CMP AL,'Å' ;
JA L20 ;
ADD AL,32 ;
STOSB ;
L20: DEC CX ;
JMPS L10 ;
L30: POP DS ;
JMP FINITO ;
DUPPER DW LENGTH DUSTR ;
DUSTR DB 'konverterer strengparameteren til store bogstaver'
XUPPER: MOV BP,RESERVER+6 ;
PUSH DS ;
MOV DS,4ÆBPÅ ; get_segment_for_parameter;
MOV ES,4ÆBPÅ ; get_segment_for_parameter;
MOV SI,6ÆBPÅ ; get_address_for_parameter;
INC SI ; skip_max_length_of_parameter;
INC SI ;
LODS AX ; get_length_of_parameter;
MOV CX,AX ;
U10: OR CL,CL ;
JZ U30 ;
MOV DI,SI ;
LODSB ;
CMP AL,'a' ;
JB U20 ;
CMP AL,'å' ;
JA U20 ;
SUB AL,32 ;
STOSB ;
U20: DEC CX ;
JMPS U10 ;
U30: POP DS ;
JMP FINITO ;
END
«eof»