home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / software / testi / corsoasm / sorgenti_darkcoder / include / readme.txt < prev   
Encoding:
Text File  |  1996-07-24  |  3.0 KB  |  65 lines

  1.       ____ ___ _____  ___  ___  ___  ___
  2.      (_,  V   ),  . \|,  ~]   |(___)|   |
  3. ..-----|o      |o  |  )o  7o  | \o  /o|  |------.    ^    ^    ^    ^   ^
  4. |  ___|___Y___|_____/|___!_____/___L____|____  |   +----------------------+
  5. | ( , !   )___)/,___)(___),  . \|,  \  \/,___) |   |Feel the DEATH inside!|
  6. `--\o    /|o  (___  \|o  |o  |  )o      )__  \-'   `----------------------'
  7. .p.\___/ |___(______)___!_____/|___!___|_____)       v    v    v    v   v
  8.  
  9.  WHQ: Extrema +39-861-413362
  10.  IHQ: DoWn ToWn +39-2-48000352
  11.  
  12.  
  13. Tutto il materiale presente in questa directory e` ***COPYDEATH*** Morbid
  14. Visions.  I Morbid Visions (o alcuno degli autori) non assumono alcuna
  15. responsabilita` circa eventuali danni, diretti o indiretti causati dall'uso
  16. del suddetto materiale, ivi compresa la cottura del monitor!
  17.  
  18. NOTE SUI SORGENTI
  19. I sorgenti sono stati scritti per l'ASM-One 1.29 dei T.F.A.  Tutti i sorgenti
  20. hanno all'inizio una INCDIR "Infamia:MV_Code/".  Per assemblare e` quindi
  21. necessario eseguire un "ASSIGN INFAMIA:" alla directory che contiene la
  22. directory MV_Code, oppure dovete modificare gli INCDIR nei sorgenti.  Tutti i
  23. sorgenti fanno uso del medesimo codice di startup, contenuto nel file
  24. MVStartup.S.  Si tratta di un codice di startup MOLTO semplice de usare solo
  25. per le prove.  Non usatelo per le vostre demo!
  26.  
  27. Nei sorgenti utilizziamo le Oscure Regole stabilite dai Testi Oscuri
  28. Del Coding Mortale, i libri in cui viene espressa la filosofia del coding
  29. dei Morbid Visions. Per favorire la lettura a chi e` abituato ai sorgenti del
  30. corso di Randy, elenchiamo alcune delle Oscure Regole che differiscono dalle
  31. convenzioni seguite nel corso:
  32.  
  33. - La dimensione degli operandi viene indicata solo quando essa e` diversa
  34. da quella di default. (Ricordiamo che per default, se non viene specificata
  35. la dimensione l'ASMOne assume che la dimensione sia WORD, tranne che per
  36. quelle istruzioni a dimensione fissa, come Scc (che ha dimensione BYTE),
  37. BTST (che ha dimensione BYTE se la destinazione e` in memoria e LONG se
  38. la destiazione e` un registro), ecc.
  39. Ad esempio:
  40.  move    d0,d1        indica        move.w    d0,d1
  41.  btst    #6,$bfe001    indica        btst.b    #6,$bfe001.
  42.  btst    #14,d0        indica        btst.l    #14,d0
  43.  lea    label,a0    indica        lea.l    label,a0).
  44.  
  45. - NON viene fatto il doppio test di attesa del blitter: per aspettare
  46. il blitter effettuiamo una semplice:
  47.  
  48. .wait
  49.     btst    #6,dmaconr(a5)        ;aspetta il blitter
  50.     bne.s    .wait
  51.  
  52. il famoso BUG di Agnus e` presente solo in pochissimi esemplari montati
  53. sui primi A1000, ed inoltre si manifesta in circostanze paricolari.
  54. Questo BUG e` diventato un luogo comune, ma in realta` nessuno l'ha
  55. mai visto. I test che abbiamo effettuato sull'A1000 di The Hobbit / MV
  56. non hanno riscontrato il BUG. TUTTE le nostre routines OCS funzionano su
  57. TUTTI gli Amiga OCS SENZA il doppio test. Quando ormai anche l'era dell'AGA
  58. volge al tramonto non ha senso portarsi appresso queste inutili BTST aggiuntive
  59. che rovinano l'estetica dei sorgenti.
  60.  
  61. - Vengono usate spesso MACRO e label locali, che rendono il codice piu`
  62. ordinato e leggibile.
  63.  
  64.  Morbid Visions
  65.