home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src6.dms / in.adf / DMZ.LZH / PRG8.3 < prev    next >
Encoding:
Text File  |  1999-10-02  |  1.6 KB  |  79 lines

  1. OPENLIBRARY:    EQU    -408
  2. CLOSELIBRARY:    EQU    -414
  3. OPEN:        EQU    -30
  4. CLOSE:        EQU    -36
  5. READ:        EQU    -42
  6. WRITE:        EQU    -48
  7.  
  8.         MOVE.L    $4.W,A6
  9.         LEA.L    DOSNAME(PC),A1
  10.         JSR    OPENLIBRARY(A6)        ; Öppna dos.library
  11.         MOVE.L    D0,DOSBASE
  12.         BEQ.L    EXIT
  13.         MOVE.L    D0,A6
  14.  
  15.         MOVE.L    #CONNAME,D1
  16.         MOVE.L    #$3ED,D2        ; Existerande fil
  17.         JSR    OPEN(A6)        ; Öppna kanal
  18.         MOVE.L    D0,CONHANDLE        ; Spar ID
  19.         BEQ.S    CLOSEDOS
  20.  
  21.         MOVE.L    CONHANDLE(PC),D1
  22.         MOVE.L    #INPUTTXT,D2
  23.         MOVE.L    #INPUTLEN,D3
  24.         JSR    WRITE(A6)        ; "Mata in sträng: "
  25.  
  26.         MOVE.L    CONHANDLE(PC),D1
  27.         MOVE.L    #BUFFER,D2
  28.         MOVEQ    #20,D3
  29.         JSR    READ(A6)        ; Läs 20 bytes sträng
  30.  
  31.         LEA.L    BUFFER(PC),A0
  32.         MOVEQ    #19,D7
  33. MAKEUC:        MOVE.B    (A0),D0
  34.         CMP.B    #'a',D0            ; Mindre än "a"?
  35.         BLO.S    OUTOFRANGE
  36.         CMP.B    #'z',D0            ; Större än "z"?
  37.         BHI.S    OUTOFRANGE
  38.         SUB.B    #$20,D0            ; Stor bokstav
  39. OUTOFRANGE:    MOVE.B    D0,(A0)+
  40.         DBF    D7,MAKEUC
  41.  
  42.         MOVE.L    CONHANDLE(PC),D1
  43.         MOVE.L    #OUTPUTTXT,D2
  44.         MOVE.L    #OUTPUTLEN,D3
  45.         JSR    WRITE(A6)        ; "Stora bokstäver: "
  46.  
  47.         MOVE.L    CONHANDLE(PC),D1
  48.         MOVE.L    #BUFFER,D2
  49.         MOVE.L    #21,D3
  50.         JSR    WRITE(A6)        ; Skriv sträng
  51.  
  52. RIGHTMOUSE:    BTST    #2,$DFF016        ; Höger musknapp?
  53.         BNE.S    RIGHTMOUSE
  54.  
  55.         MOVE.L    CONHANDLE(PC),D1
  56.         JSR    CLOSE(A6)        ; Stäng CON:
  57.  
  58. CLOSEDOS:    MOVE.L    A6,A1
  59.         MOVE.L    $4.W,A6
  60.         JSR    CLOSELIBRARY(A6)    ; Stäng dos.library
  61.  
  62. EXIT:        RTS
  63.  
  64. DOSBASE:    DC.L    0
  65. DOSNAME:    DC.B    'dos.library',0
  66. EVEN
  67. CONNAME:    DC.B    'CON:0/100/640/100/'    ; Kanalnamn
  68.         DC.B    'Upper Case',0        ; x, y, bredd, höjd
  69. EVEN
  70. CONHANDLE:    DC.L    0
  71. INPUTTXT:    DC.B    'Mata in sträng: ',0
  72. INPUTLEN:    EQU    *-INPUTTXT        ; Stränglängd
  73. EVEN
  74. OUTPUTTXT:    DC.B    'Stora bokstäver: ',0
  75. OUTPUTLEN:    EQU    *-OUTPUTTXT        ; Stränglängd
  76. EVEN
  77. BUFFER:        BLK.B    20,0            ; Läsbuffert
  78.         DC.B    $0A            ; Linefeed
  79.