home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src5.dms / in.adf / inlasning.S < prev    next >
Encoding:
Text File  |  1990-05-07  |  2.6 KB  |  65 lines

  1. ; Laser in filen "Testfil" (1000) bytes i reserverat omrade
  2.  
  3. ; Konstanter
  4.  
  5. execbase:      equ         4
  6. openlib:       equ         -408
  7. open:          equ         -30
  8. close:         equ         -36
  9. read:          equ         -42
  10. allocmem:      equ         -190
  11.  
  12. ; Program
  13.                move.l      execbase,a6       ; Hamta adress pa exec
  14.                move.l      #1000,d0          ; Reservera 1000 bytes i
  15.                                              ; nedersta
  16. ; Nedersta
  17.                moveq       #2,d1             ; 512 K via allocmem
  18.                jsr         allocmem(a6)
  19.                move.l      d0,d6             ; Gom adress i d6
  20.                beq.s       return            ; Retur vid misslyckad
  21.                                              ; reservering
  22. ; Reserv
  23.                moveq       #0,d0             ; Oppna dos oavsett version
  24.                lea         dosname(pc),a1   ; via openlib
  25.                jsr         openlib(a6)
  26.                move.l      d0,a6             ; Flytta dos-adr till a6
  27.                beq.s       return            ; Retur vid misslyckad oppning
  28. ; Oppning
  29.                lea         filename(pc),a0   ; Oppna filen via open
  30.                move.l      a0,d1
  31.                move.l      #1005,d2
  32.                jsr         open(a6)
  33.                move.l      d0,d7             ; Flytta filvarde till d7 for
  34.                                              ; senare bruk
  35. ; Senare
  36.                beq.s       return            ; Retur vid misslyckad oppning
  37. ; Oppning
  38.                move.l      d7,d1             ; Flytta filvarde till d1
  39.                move.l      d6,d2             ; Flytta adress pa reservminne
  40.                                              ; till d2
  41. ; D2
  42.                move.l      #1000,d3          ; Las in filens 1000 bytes
  43.                jsr         read(a6)          ; via read
  44.                tst.l       d0                ; Retur vid misslyckad lasning
  45. ; Lasning
  46.                bmi.s       return            ; (dvs d0=-1)
  47.  
  48.                move.l      d7,d1             ; Flytta filvarde till d1
  49.                jsr         close(a6)         ; Stang filen med close
  50.  
  51. return:        moveq       #0,d0             ; Signalera "Inga fel"
  52.                rts                           ; Retur
  53.  
  54. ; Namn
  55.  
  56. dosname:       dc.b        'dos.library',0   ; Namn pa dos + nollbyte
  57.                even                          ; Order till assembler om att
  58.                                              ; se till att
  59.                                              ; efter foljande adress ar jamn
  60.  
  61. filename:      dc.b        'Testfil',0       ; Namn pa fil + nollbyte
  62.                even                          ; order till assembler
  63.  
  64.                end
  65.