home *** CD-ROM | disk | FTP | other *** search
/ Dream 55 / Amiga_Dream_55.iso / RISCOS / MAGAZINE / NEWS / PCE021.ZIP / Pce021 / Src / cpu / s / flags < prev    next >
Text File  |  1998-02-27  |  815b  |  58 lines

  1. ;    flags.s
  2. ;    -------
  3. ;    Opcodes to alter the processor flags
  4.  
  5.  
  6.     GET    hdr.common
  7.  
  8.  
  9.     AREA    |cpu$$opcodes|, CODE, READONLY
  10.  
  11.  
  12.     IMPORT    Next_Opcode
  13.     IMPORT    Handle_Opcode
  14.  
  15.  
  16.     DEF_OPCODE clc
  17.     bic    r_p, r_p, #C_FLAG
  18.     END_OPCODE
  19.  
  20.     DEF_OPCODE sec
  21.     orr    r_p, r_p, #C_FLAG
  22.     END_OPCODE
  23.  
  24.  
  25.     DEF_OPCODE cld
  26.     bic    r_p, r_p, #D_FLAG
  27.     END_OPCODE
  28.  
  29.     DEF_OPCODE sed
  30.     orr    r_p, r_p, #D_FLAG
  31.     END_OPCODE
  32.  
  33.  
  34.     DEF_OPCODE cli
  35.     bic    r_p, r_p, #I_FLAG
  36.     orr    r_p, r_p, #0x80 << 16        ; set internal IRQ enable bit
  37.     END_OPCODE
  38.  
  39.     DEF_OPCODE sei
  40.     orr    r_p, r_p, #I_FLAG
  41.     bic    r_p, r_p, #0x80 << 16        ; clear internal IRQ enable bit
  42.     END_OPCODE
  43.  
  44.  
  45.     DEF_OPCODE clv
  46.     bic    r_p, r_p, #V_FLAG
  47.     END_OPCODE
  48.  
  49.  
  50. ;    Jumps in at Handle_Opcode so as to avoid an interrupt occurring in the
  51. ;    middle of a T flag operation
  52.     DEF_OPCODE set
  53.     orr    r_p, r_p, #T_FLAG
  54.     b    Handle_Opcode
  55.  
  56.  
  57.     END
  58.