home *** CD-ROM | disk | FTP | other *** search
- OPENLIBRARY: EQU -408
- CLOSELIBRARY: EQU -414
- OPEN: EQU -30
- CLOSE: EQU -36
- READ: EQU -42
- WRITE: EQU -48
-
- MOVE.L $4.W,A6
- LEA.L DOSNAME(PC),A1
- JSR OPENLIBRARY(A6) ; Öppna dos.library
- MOVE.L D0,DOSBASE
- BEQ.L EXIT
- MOVE.L D0,A6
-
- MOVE.L #CONNAME,D1
- MOVE.L #$3ED,D2 ; Existerande fil
- JSR OPEN(A6) ; Öppna kanal
- MOVE.L D0,CONHANDLE ; Spar ID
- BEQ.S CLOSEDOS
-
- MOVE.L CONHANDLE(PC),D1
- MOVE.L #INPUTTXT,D2
- MOVE.L #INPUTLEN,D3
- JSR WRITE(A6) ; "Mata in sträng: "
-
- MOVE.L CONHANDLE(PC),D1
- MOVE.L #BUFFER,D2
- MOVEQ #20,D3
- JSR READ(A6) ; Läs 20 bytes sträng
-
- LEA.L BUFFER(PC),A0
- MOVEQ #19,D7
- MAKEUC: MOVE.B (A0),D0
- CMP.B #'a',D0 ; Mindre än "a"?
- BLO.S OUTOFRANGE
- CMP.B #'z',D0 ; Större än "z"?
- BHI.S OUTOFRANGE
- SUB.B #$20,D0 ; Stor bokstav
- OUTOFRANGE: MOVE.B D0,(A0)+
- DBF D7,MAKEUC
-
- MOVE.L CONHANDLE(PC),D1
- MOVE.L #OUTPUTTXT,D2
- MOVE.L #OUTPUTLEN,D3
- JSR WRITE(A6) ; "Stora bokstäver: "
-
- MOVE.L CONHANDLE(PC),D1
- MOVE.L #BUFFER,D2
- MOVE.L #21,D3
- JSR WRITE(A6) ; Skriv sträng
-
- RIGHTMOUSE: BTST #2,$DFF016 ; Höger musknapp?
- BNE.S RIGHTMOUSE
-
- MOVE.L CONHANDLE(PC),D1
- JSR CLOSE(A6) ; Stäng CON:
-
- CLOSEDOS: MOVE.L A6,A1
- MOVE.L $4.W,A6
- JSR CLOSELIBRARY(A6) ; Stäng dos.library
-
- EXIT: RTS
-
- DOSBASE: DC.L 0
- DOSNAME: DC.B 'dos.library',0
- EVEN
- CONNAME: DC.B 'CON:0/100/640/100/' ; Kanalnamn
- DC.B 'Upper Case',0 ; x, y, bredd, höjd
- EVEN
- CONHANDLE: DC.L 0
- INPUTTXT: DC.B 'Mata in sträng: ',0
- INPUTLEN: EQU *-INPUTTXT ; Stränglängd
- EVEN
- OUTPUTTXT: DC.B 'Stora bokstäver: ',0
- OUTPUTLEN: EQU *-OUTPUTTXT ; Stränglängd
- EVEN
- BUFFER: BLK.B 20,0 ; Läsbuffert
- DC.B $0A ; Linefeed