home *** CD-ROM | disk | FTP | other *** search
/ Amiga MA Magazine 1998 #6 / amigamamagazinepolishissue1998.iso / coders / assembler-kurs / listings / listing2h.s < prev    next >
Text File  |  1977-12-31  |  2KB  |  41 lines

  1.  
  2. ; Listing2h.s
  3.  
  4. Anfang:
  5.     lea    $dff006,a0    ; VHPOSR  - gib $dff006 in a0
  6.     lea    $dff180,a1    ; COLOR00 - gib $dff180 in a1
  7.     lea    $bfe001,a2    ; CIAAPRA - gib $bfe001 in a2
  8. Waitmouse:
  9.     move.w    (a0),(a1)+    ; gib den Wert von $dff006 in COLOR0,
  10.                 ; also $dff180 (Inhalt von a1)
  11.                 ; dann inkrementiere um 2 a1, so bringst
  12.                 ; du es auf $dff182,also color 1
  13.     move.w    (a0),-(a1)    ; dekrementiere um 2 a1, so wird daraus 
  14.                 ; wieder $dff180, dann gib $dff006 in COLOR0
  15.     btst    #6,(a2)        ; linke Maustaste gedrückt?
  16.     bne.s    Waitmouse    ; wenn nicht, zurück zu waitmouse 
  17.     rts            ; Ende
  18.  
  19.     END
  20.  
  21.  
  22. Mit  dieser  Schleife erkennt man sehr gut die Unterschiede zwischen (a1)+
  23. und -(a1), denn sie sind so angelegt, daß sie sich  gegenseitig  aufheben:
  24. während  das  erste  (a0)+  a1  um ein Word inkrementiert und es somit auf
  25. $dff182 bringt, dekrementiert -(a1) diesen gleich wieder  und  stellt  den
  26. Ausgangszustand  wieder  her:  $dff180.  Danach  wird  in COLOR0 ($dff180)
  27. hineingeschrieben. Diese zwei Befehle kann man einfacher so schreiben:
  28.  
  29.     move.w    (a0),(a1)
  30.     move.w    (a0),(a1)
  31.  
  32. Verifiziert den Tausch der Adressen im Register a1 durch ein AD.  Erinnert
  33. euch  GUT DARAN, daß wenn ihr ein + NACH einer Klammer seht, dann wird der
  34. Befehl ausgeführt und DANACH das Register  hinaufgezählt,  umgekehrt,  mit
  35. einem - VOR der Klammer wird ZUERST heruntergezählt und dann die Operation
  36. durchgeführt. Bemerkung: Ihr könnt den  Zyklus  während  dem  AD  beenden,
  37. indem  ihr  die linke Maustaste gedrückt haltet, während ihr über dem btst
  38. sied. Einmal beim RTS angekommen, drückt ESC.
  39.  
  40.  
  41.