home *** CD-ROM | disk | FTP | other *** search
/ Enigma Amiga Life 109 / EnigmaAmiga109CD.iso / software / testi / corsoasm / sorgenti4 / lezione8p3.s < prev    next >
Text File  |  1995-09-29  |  1KB  |  55 lines

  1.  
  2. ; Lezione8p3.s    Funzionamento dei Condition Codes con l'istruzione TST
  3.  
  4.     SECTION    CondC,CODE
  5.  
  6. Inizio:
  7.     tst.w    dato
  8. stop:
  9.     rts
  10.  
  11.  
  12. dato:
  13.     dc.w    $ff02
  14.  
  15.     end
  16.  
  17. ;     \  /
  18. ;      oO
  19. ;     \__/
  20.  
  21. L'istruzione tst in pratica confronta l'operando con zero.
  22. Abbiamo visto che l'istruzione MOVE modifica i CC dandoci informazioni sul
  23. dato che viene copiato. Se vogliamo ottenere quelle informazioni SENZA copiare
  24. il dato, possiamo usare l'istruzione TST.
  25. Si ratta di un'istruzione ad un solo operando, che legge un valore e modifica
  26. tutti i CC in base ad esso.
  27. I CC vengono modificati allo stesso modo dell'istruzione MOVE:
  28.  
  29. I flag V e C vengono azzerati
  30. Il flag X non viene modificato
  31. Il flag Z assume il valore 1 se il dato testato e` 0
  32. Il flag N assume il valore 1 se il dato testato e` negativo.
  33.  
  34. Assemblate il programma e eseguite l'istruzione TST:
  35.  
  36. D0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
  37. A0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 07CBD594
  38. SSP=07CBE6C7 USP=07CBD594 SR=8008 T1 -- PL=0 -N--- PC=07CC0F52
  39. PC=07CC0F52 4E75         RTS
  40. >
  41.  
  42. Il flag N ha assunto il valore 1 perche` la WORD all'indirizzo di
  43. memoria "dato" vale $ff03 che e` un numero negativo perche` il suo bit piu`
  44. significativo vale 1.
  45.  
  46. Potete variare il valore contenuto all'indirizzo "dato" e osservare come 
  47. si comporta il TST.
  48. Notate che non e` possibile usare il TST con registri indirizzi, cioe`
  49. se tentate di assemblare
  50.  
  51.     TST.W    A0
  52.  
  53. L'ASMONE vi dara` un messaggio di errore.
  54.  
  55.