home *** CD-ROM | disk | FTP | other *** search
- ; Laser in filen "Testfil" (1000) bytes i reserverat omrade
-
- ; Konstanter
-
- execbase: equ 4
- openlib: equ -408
- open: equ -30
- close: equ -36
- read: equ -42
- allocmem: equ -190
-
- ; Program
- move.l execbase,a6 ; Hamta adress pa exec
- move.l #1000,d0 ; Reservera 1000 bytes i
- ; nedersta
- ; Nedersta
- moveq #2,d1 ; 512 K via allocmem
- jsr allocmem(a6)
- move.l d0,d6 ; Gom adress i d6
- beq.s return ; Retur vid misslyckad
- ; reservering
- ; Reserv
- moveq #0,d0 ; Oppna dos oavsett version
- lea dosname(pc),a1 ; via openlib
- jsr openlib(a6)
- move.l d0,a6 ; Flytta dos-adr till a6
- beq.s return ; Retur vid misslyckad oppning
- ; Oppning
- lea filename(pc),a0 ; Oppna filen via open
- move.l a0,d1
- move.l #1005,d2
- jsr open(a6)
- move.l d0,d7 ; Flytta filvarde till d7 for
- ; senare bruk
- ; Senare
- beq.s return ; Retur vid misslyckad oppning
- ; Oppning
- move.l d7,d1 ; Flytta filvarde till d1
- move.l d6,d2 ; Flytta adress pa reservminne
- ; till d2
- ; D2
- move.l #1000,d3 ; Las in filens 1000 bytes
- jsr read(a6) ; via read
- tst.l d0 ; Retur vid misslyckad lasning
- ; Lasning
- bmi.s return ; (dvs d0=-1)
-
- move.l d7,d1 ; Flytta filvarde till d1
- jsr close(a6) ; Stang filen med close
-
- return: moveq #0,d0 ; Signalera "Inga fel"
- rts ; Retur
-
- ; Namn
-
- dosname: dc.b 'dos.library',0 ; Namn pa dos + nollbyte
- even ; Order till assembler om att
- ; se till att
- ; efter foljande adress ar jamn
-
- filename: dc.b 'Testfil',0 ; Namn pa fil + nollbyte
- even ; order till assembler
-
- end
-