MILC logo

IndexVorigeVolgendeLeeg

Mathpack routines
MCCM/WR/JvdM, 00-00-00


    
;Deze routine is een voorbeeld van het gebruik van de DOS-funktie #0A,
;genaamd "BUFFERED INPUT" voor ingeven van een numerieke waarde. Daarna
;wordt het resultaat aangepast tot 1 lengtebyte gevolgd door de string en
;afgesloten met 1 eindnul. Dit is een z.g. ascii-Z string. De lengtebyte is
;nodig om de string te kontroleren, zie files "MATH_LEN.GEN" en "MATH_CHK.GEN"
;Elke anders geprogrammeerde routine kan gebruikt worden, mits de 1e byte de
;stringlengte is, gevolgd door de ascii-string + een nulbyte.
;----------------------
;INPUTSTRING INTYPEN
;Input: HL Adrespointer
;----------------------
INPUT_$ PUSH HL         ;Save adrespointer
        INC  HL         ;Adres +1
        LD   (HL),#1D   ;Set max. lengte inputstring
        POP  DE         ;Herstel adrespointer naar buffer 32 bytes lang
        PUSH DE         ;Save
        LD   C,#0A      ;Dosfunktie: bufferd input
        CALL #0005      ;(String intypen)
        POP  HL         ;Herstel adrespointer
        LD   B,#00
        LD   C,(HL)     ;BC = lengte ingetypte string
        INC  HL         ;Adres +1 = doeladres
        LD   D,H
        LD   E,L        ;naar DE
        INC  HL         ;Adres +2 = beginadres string
        LDIR            ;Plaats string achter lengtebyte
        XOR  A          ;'A' = #00
        LD   (DE),A     ;Plaats eindnul (maak er een ascii-Z string van)
        RET
;---------------------------------------------------------------

    

Index

Vorige

Volgende